@dxos/shell 0.3.11-main.8a2cfe6 → 0.3.11-main.8be6c8a
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 +36416 -0
- package/dist/bundle/shell.mjs.map +1 -0
- package/dist/bundle/shell.umd.js +210 -0
- package/dist/bundle/shell.umd.js.map +1 -0
- package/dist/bundle/style.css +1 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/react.mjs +317 -266
- package/dist/lib/browser/react.mjs.map +4 -4
- package/dist/types/src/components/IdentityList/DeviceList.d.ts.map +1 -1
- package/dist/types/src/components/IdentityList/DeviceList.js +5 -3
- package/dist/types/src/components/IdentityList/DeviceList.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +10 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts +6 -0
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js +26 -3
- package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts +7 -6
- package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/identityMachine.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/identityMachine.js +2 -1
- package/dist/types/src/panels/IdentityPanel/identityMachine.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.d.ts +10 -0
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.d.ts.map +1 -0
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.js +23 -0
- package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.js.map +1 -0
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js +4 -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 +2 -3
- package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/index.d.ts +1 -0
- package/dist/types/src/panels/IdentityPanel/steps/index.d.ts.map +1 -1
- package/dist/types/src/panels/IdentityPanel/steps/index.js +1 -0
- package/dist/types/src/panels/IdentityPanel/steps/index.js.map +1 -1
- package/dist/types/src/translations/locales/en-US.d.ts +1 -0
- package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
- package/dist/types/src/translations/locales/en-US.js +2 -1
- package/dist/types/src/translations/locales/en-US.js.map +1 -1
- package/package.json +17 -17
- package/src/components/IdentityList/DeviceList.tsx +7 -5
- package/src/panels/IdentityPanel/IdentityPanel.stories.tsx +44 -2
- package/src/panels/IdentityPanel/IdentityPanel.tsx +14 -3
- package/src/panels/IdentityPanel/IdentityPanelProps.ts +7 -6
- package/src/panels/IdentityPanel/identityMachine.ts +2 -1
- package/src/panels/IdentityPanel/steps/DeviceManager.tsx +41 -0
- package/src/panels/IdentityPanel/steps/IdentityActionChooser.tsx +6 -1
- package/src/panels/IdentityPanel/steps/ProfileForm.tsx +1 -1
- package/src/panels/IdentityPanel/steps/index.ts +1 -0
- package/src/translations/locales/en-US.ts +2 -1
|
@@ -182,9 +182,9 @@ var DeviceList = ({ devices, onSelect }) => {
|
|
|
182
182
|
}, devices.map((device) => {
|
|
183
183
|
const identity = {
|
|
184
184
|
identityKey: device.deviceKey,
|
|
185
|
-
profile: {
|
|
185
|
+
profile: device.profile ? {
|
|
186
186
|
displayName: `${device.profile?.platform} (${device.profile?.platformVersion}) on ${device.profile?.os} (${device.profile?.osVersion}) ${device.profile?.architecture ?? "Unknown"}-bit`
|
|
187
|
-
}
|
|
187
|
+
} : void 0
|
|
188
188
|
};
|
|
189
189
|
return /* @__PURE__ */ React5.createElement(IdentityListItem, {
|
|
190
190
|
key: device.deviceKey.toHex(),
|
|
@@ -813,17 +813,17 @@ var SpaceListItem = /* @__PURE__ */ forwardRef7(({ space, onClick }, ref) => {
|
|
|
813
813
|
});
|
|
814
814
|
|
|
815
815
|
// packages/sdk/shell/src/composites/IdentityDialog/IdentityDialog.tsx
|
|
816
|
-
import
|
|
816
|
+
import React38 from "react";
|
|
817
817
|
import { Dialog, useId as useId9 } from "@dxos/react-ui";
|
|
818
818
|
|
|
819
819
|
// packages/sdk/shell/src/panels/IdentityPanel/IdentityPanel.tsx
|
|
820
|
-
import
|
|
820
|
+
import React25, { useEffect as useEffect2, useMemo as useMemo3 } from "react";
|
|
821
821
|
import { generateName as generateName2 } from "@dxos/display-name";
|
|
822
822
|
import { log as log3 } from "@dxos/log";
|
|
823
823
|
import { useClient as useClient3 } from "@dxos/react-client";
|
|
824
|
-
import { useIdentity } from "@dxos/react-client/halo";
|
|
824
|
+
import { useIdentity, useDevices } from "@dxos/react-client/halo";
|
|
825
825
|
import { useInvitationStatus as useInvitationStatus2 } from "@dxos/react-client/invitations";
|
|
826
|
-
import { Avatar as Avatar4, DensityProvider as DensityProvider2, useId as useId5, useJdenticonHref as useJdenticonHref3, useTranslation as
|
|
826
|
+
import { Avatar as Avatar4, DensityProvider as DensityProvider2, useId as useId5, useJdenticonHref as useJdenticonHref3, useTranslation as useTranslation11 } from "@dxos/react-ui";
|
|
827
827
|
|
|
828
828
|
// packages/sdk/shell/src/panels/IdentityPanel/identityMachine.ts
|
|
829
829
|
import { useMachine } from "@xstate/react";
|
|
@@ -844,6 +844,7 @@ var identityMachine = createMachine({
|
|
|
844
844
|
states: {
|
|
845
845
|
choosingAction: {},
|
|
846
846
|
managingDeviceInvitation: {},
|
|
847
|
+
managingDevices: {},
|
|
847
848
|
managingProfile: {
|
|
848
849
|
initial: "idle",
|
|
849
850
|
states: {
|
|
@@ -873,13 +874,6 @@ var identityMachine = createMachine({
|
|
|
873
874
|
"log"
|
|
874
875
|
]
|
|
875
876
|
},
|
|
876
|
-
chooseDevices: {
|
|
877
|
-
target: ".managingDeviceInvitation",
|
|
878
|
-
actions: [
|
|
879
|
-
"unsetInvitation",
|
|
880
|
-
"log"
|
|
881
|
-
]
|
|
882
|
-
},
|
|
883
877
|
deselectInvitation: {
|
|
884
878
|
target: ".choosingAction",
|
|
885
879
|
actions: [
|
|
@@ -894,6 +888,10 @@ var identityMachine = createMachine({
|
|
|
894
888
|
"log"
|
|
895
889
|
]
|
|
896
890
|
},
|
|
891
|
+
chooseDevices: {
|
|
892
|
+
target: ".managingDevices",
|
|
893
|
+
actions: "log"
|
|
894
|
+
},
|
|
897
895
|
chooseProfile: {
|
|
898
896
|
target: ".managingProfile",
|
|
899
897
|
actions: "log"
|
|
@@ -916,7 +914,7 @@ var identityMachine = createMachine({
|
|
|
916
914
|
context
|
|
917
915
|
}, {
|
|
918
916
|
F: __dxlog_file,
|
|
919
|
-
L:
|
|
917
|
+
L: 96,
|
|
920
918
|
S: void 0,
|
|
921
919
|
C: (f, a) => f(...a)
|
|
922
920
|
});
|
|
@@ -937,13 +935,34 @@ var useIdentityMachine = (client, options) => {
|
|
|
937
935
|
});
|
|
938
936
|
};
|
|
939
937
|
|
|
938
|
+
// packages/sdk/shell/src/panels/IdentityPanel/steps/DeviceManager.tsx
|
|
939
|
+
import React21 from "react";
|
|
940
|
+
import { useTranslation as useTranslation7 } from "@dxos/react-ui";
|
|
941
|
+
var DeviceManager = ({ devices, active, send }) => {
|
|
942
|
+
const { t } = useTranslation7("os");
|
|
943
|
+
const disabled = !active;
|
|
944
|
+
return /* @__PURE__ */ React21.createElement(React21.Fragment, null, /* @__PURE__ */ React21.createElement("div", {
|
|
945
|
+
role: "none",
|
|
946
|
+
className: "grow"
|
|
947
|
+
}, /* @__PURE__ */ React21.createElement(DeviceList, {
|
|
948
|
+
devices
|
|
949
|
+
})), /* @__PURE__ */ React21.createElement(Actions, null, /* @__PURE__ */ React21.createElement(Action, {
|
|
950
|
+
variant: "ghost",
|
|
951
|
+
disabled,
|
|
952
|
+
onClick: () => send?.({
|
|
953
|
+
type: "unchooseAction"
|
|
954
|
+
}),
|
|
955
|
+
"data-testid": "manage-devices-back"
|
|
956
|
+
}, t("back label"))));
|
|
957
|
+
};
|
|
958
|
+
|
|
940
959
|
// packages/sdk/shell/src/panels/IdentityPanel/steps/IdentityActionChooser.tsx
|
|
941
|
-
import { CaretRight, Plus, Power, UserGear } from "@phosphor-icons/react";
|
|
942
|
-
import
|
|
960
|
+
import { CaretRight, Devices, Plus, Power, UserGear } from "@phosphor-icons/react";
|
|
961
|
+
import React22, { useCallback as useCallback4 } from "react";
|
|
943
962
|
import { useClient as useClient2 } from "@dxos/react-client";
|
|
944
963
|
import { useHaloInvitations } from "@dxos/react-client/halo";
|
|
945
964
|
import { Invitation as Invitation3, InvitationEncoder } from "@dxos/react-client/invitations";
|
|
946
|
-
import { DensityProvider, useTranslation as
|
|
965
|
+
import { DensityProvider, useTranslation as useTranslation8 } from "@dxos/react-ui";
|
|
947
966
|
import { getSize as getSize6 } from "@dxos/react-ui-theme";
|
|
948
967
|
var IdentityActionChooser = (props) => {
|
|
949
968
|
const { send } = props;
|
|
@@ -973,69 +992,82 @@ var IdentityActionChooser = (props) => {
|
|
|
973
992
|
invitation
|
|
974
993
|
});
|
|
975
994
|
};
|
|
976
|
-
return /* @__PURE__ */
|
|
995
|
+
return /* @__PURE__ */ React22.createElement(IdentityActionChooserImpl, {
|
|
977
996
|
...props,
|
|
978
997
|
onCreateInvitationClick: (e) => createInvitation(e)
|
|
979
998
|
});
|
|
980
999
|
};
|
|
981
1000
|
var IdentityActionChooserImpl = ({ onCreateInvitationClick, active, send, onDone, doneActionParent }) => {
|
|
982
|
-
const { t } =
|
|
983
|
-
return /* @__PURE__ */
|
|
1001
|
+
const { t } = useTranslation8("os");
|
|
1002
|
+
return /* @__PURE__ */ React22.createElement("div", {
|
|
984
1003
|
role: "none",
|
|
985
1004
|
className: "grow flex flex-col gap-1"
|
|
986
|
-
}, /* @__PURE__ */
|
|
1005
|
+
}, /* @__PURE__ */ React22.createElement(DensityProvider, {
|
|
987
1006
|
density: "coarse"
|
|
988
|
-
}, /* @__PURE__ */
|
|
1007
|
+
}, /* @__PURE__ */ React22.createElement("div", {
|
|
989
1008
|
className: "grow justify-center flex flex-col gap-1"
|
|
990
|
-
}, /* @__PURE__ */
|
|
1009
|
+
}, /* @__PURE__ */ React22.createElement(Action, {
|
|
991
1010
|
disabled: !active,
|
|
992
1011
|
"data-testid": "devices-panel.create-invitation",
|
|
993
1012
|
onClick: onCreateInvitationClick,
|
|
994
1013
|
classNames: "plb-4"
|
|
995
|
-
}, /* @__PURE__ */
|
|
1014
|
+
}, /* @__PURE__ */ React22.createElement(Plus, {
|
|
1015
|
+
className: getSize6(6)
|
|
1016
|
+
}), /* @__PURE__ */ React22.createElement("span", {
|
|
1017
|
+
className: "grow mli-3"
|
|
1018
|
+
}, t("choose add device label")), /* @__PURE__ */ React22.createElement(CaretRight, {
|
|
1019
|
+
weight: "bold",
|
|
1020
|
+
className: getSize6(4)
|
|
1021
|
+
})), /* @__PURE__ */ React22.createElement(Action, {
|
|
1022
|
+
"data-testid": "manage-devices",
|
|
1023
|
+
onClick: () => send?.({
|
|
1024
|
+
type: "chooseDevices"
|
|
1025
|
+
}),
|
|
1026
|
+
classNames: "plb-4"
|
|
1027
|
+
}, /* @__PURE__ */ React22.createElement(Devices, {
|
|
996
1028
|
className: getSize6(6)
|
|
997
|
-
}), /* @__PURE__ */
|
|
1029
|
+
}), /* @__PURE__ */ React22.createElement("span", {
|
|
998
1030
|
className: "grow mli-3"
|
|
999
|
-
}, t("choose devices label")), /* @__PURE__ */
|
|
1031
|
+
}, t("choose devices label")), /* @__PURE__ */ React22.createElement(CaretRight, {
|
|
1000
1032
|
weight: "bold",
|
|
1001
1033
|
className: getSize6(4)
|
|
1002
|
-
})), /* @__PURE__ */
|
|
1034
|
+
})), /* @__PURE__ */ React22.createElement(Action, {
|
|
1003
1035
|
"data-testid": "manage-profile",
|
|
1004
1036
|
onClick: () => send?.({
|
|
1005
1037
|
type: "chooseProfile"
|
|
1006
1038
|
}),
|
|
1007
1039
|
classNames: "plb-4"
|
|
1008
|
-
}, /* @__PURE__ */
|
|
1040
|
+
}, /* @__PURE__ */ React22.createElement(UserGear, {
|
|
1009
1041
|
className: getSize6(6)
|
|
1010
|
-
}), /* @__PURE__ */
|
|
1042
|
+
}), /* @__PURE__ */ React22.createElement("span", {
|
|
1011
1043
|
className: "grow mli-3"
|
|
1012
|
-
}, t("choose profile label")), /* @__PURE__ */
|
|
1044
|
+
}, t("choose profile label")), /* @__PURE__ */ React22.createElement(CaretRight, {
|
|
1013
1045
|
weight: "bold",
|
|
1014
1046
|
className: getSize6(4)
|
|
1015
|
-
})), /* @__PURE__ */
|
|
1047
|
+
})), /* @__PURE__ */ React22.createElement(Action, {
|
|
1016
1048
|
disabled: true,
|
|
1017
1049
|
"data-testid": "sign-out",
|
|
1018
1050
|
onClick: () => {
|
|
1019
1051
|
},
|
|
1020
1052
|
classNames: "plb-4"
|
|
1021
|
-
}, /* @__PURE__ */
|
|
1053
|
+
}, /* @__PURE__ */ React22.createElement(Power, {
|
|
1022
1054
|
className: getSize6(6)
|
|
1023
|
-
}), /* @__PURE__ */
|
|
1055
|
+
}), /* @__PURE__ */ React22.createElement("span", {
|
|
1024
1056
|
className: "grow mli-3"
|
|
1025
|
-
}, t("choose sign out label")), /* @__PURE__ */
|
|
1057
|
+
}, t("choose sign out label")), /* @__PURE__ */ React22.createElement(CaretRight, {
|
|
1026
1058
|
weight: "bold",
|
|
1027
1059
|
className: getSize6(4)
|
|
1028
1060
|
})))));
|
|
1029
1061
|
};
|
|
1030
1062
|
|
|
1031
1063
|
// packages/sdk/shell/src/panels/IdentityPanel/steps/ProfileForm.tsx
|
|
1032
|
-
import
|
|
1064
|
+
import React23, { useState as useState3 } from "react";
|
|
1033
1065
|
import { log as log2 } from "@dxos/log";
|
|
1034
|
-
import { useTranslation as
|
|
1066
|
+
import { useTranslation as useTranslation9 } from "@dxos/react-ui";
|
|
1035
1067
|
var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/IdentityPanel/steps/ProfileForm.tsx";
|
|
1036
1068
|
var ProfileForm = (props) => {
|
|
1037
1069
|
const { onUpdateProfile } = props;
|
|
1038
|
-
const { t } =
|
|
1070
|
+
const { t } = useTranslation9("os");
|
|
1039
1071
|
const [validationMessage, setValidationMessage] = useState3("");
|
|
1040
1072
|
const handleUpdateProfile = async (profile) => {
|
|
1041
1073
|
await onUpdateProfile?.(profile).catch((error) => {
|
|
@@ -1048,7 +1080,7 @@ var ProfileForm = (props) => {
|
|
|
1048
1080
|
setValidationMessage(t("failed to update profile message"));
|
|
1049
1081
|
});
|
|
1050
1082
|
};
|
|
1051
|
-
return /* @__PURE__ */
|
|
1083
|
+
return /* @__PURE__ */ React23.createElement(ProfileFormImpl, {
|
|
1052
1084
|
...props,
|
|
1053
1085
|
onUpdateProfile: handleUpdateProfile,
|
|
1054
1086
|
validationMessage
|
|
@@ -1057,14 +1089,14 @@ var ProfileForm = (props) => {
|
|
|
1057
1089
|
var ProfileFormImpl = (props) => {
|
|
1058
1090
|
const { active, profile, send, onUpdateProfile, validationMessage } = props;
|
|
1059
1091
|
const disabled = !active;
|
|
1060
|
-
const { t } =
|
|
1092
|
+
const { t } = useTranslation9("os");
|
|
1061
1093
|
const [inputValue, setInputValue] = useState3(profile?.displayName ?? "");
|
|
1062
|
-
return /* @__PURE__ */
|
|
1094
|
+
return /* @__PURE__ */ React23.createElement(React23.Fragment, null, /* @__PURE__ */ React23.createElement("div", {
|
|
1063
1095
|
role: "none",
|
|
1064
1096
|
className: "grow flex flex-col justify-center"
|
|
1065
|
-
}, /* @__PURE__ */
|
|
1097
|
+
}, /* @__PURE__ */ React23.createElement(Input, {
|
|
1066
1098
|
validationMessage,
|
|
1067
|
-
label: /* @__PURE__ */
|
|
1099
|
+
label: /* @__PURE__ */ React23.createElement(StepHeading, null, t("display name input label")),
|
|
1068
1100
|
disabled,
|
|
1069
1101
|
"data-testid": "display-name-input",
|
|
1070
1102
|
placeholder: t("display name input placeholder"),
|
|
@@ -1073,14 +1105,14 @@ var ProfileFormImpl = (props) => {
|
|
|
1073
1105
|
onKeyDown: ({ key }) => key === "Enter" && onUpdateProfile?.({
|
|
1074
1106
|
displayName: inputValue
|
|
1075
1107
|
})
|
|
1076
|
-
})), /* @__PURE__ */
|
|
1108
|
+
})), /* @__PURE__ */ React23.createElement(Actions, null, /* @__PURE__ */ React23.createElement(Action, {
|
|
1077
1109
|
variant: "ghost",
|
|
1078
1110
|
disabled,
|
|
1079
1111
|
onClick: () => send?.({
|
|
1080
1112
|
type: "unchooseAction"
|
|
1081
1113
|
}),
|
|
1082
1114
|
"data-testid": "update-profile-form-back"
|
|
1083
|
-
}, t("back label")), /* @__PURE__ */
|
|
1115
|
+
}, t("back label")), /* @__PURE__ */ React23.createElement(Action, {
|
|
1084
1116
|
variant: "primary",
|
|
1085
1117
|
disabled,
|
|
1086
1118
|
onClick: () => onUpdateProfile?.({
|
|
@@ -1092,19 +1124,19 @@ var ProfileFormImpl = (props) => {
|
|
|
1092
1124
|
|
|
1093
1125
|
// packages/sdk/shell/src/steps/InvitationManager.tsx
|
|
1094
1126
|
import { Check as Check3, X as X3 } from "@phosphor-icons/react";
|
|
1095
|
-
import
|
|
1127
|
+
import React24, { useMemo as useMemo2 } from "react";
|
|
1096
1128
|
import { QR } from "react-qr-rounded";
|
|
1097
1129
|
import { Invitation as Invitation4 } from "@dxos/react-client/invitations";
|
|
1098
|
-
import { useId as useId4, useTranslation as
|
|
1130
|
+
import { useId as useId4, useTranslation as useTranslation10 } from "@dxos/react-ui";
|
|
1099
1131
|
import { descriptionText as descriptionText7, getSize as getSize7, mx as mx18 } from "@dxos/react-ui-theme";
|
|
1100
1132
|
var InvitationManagerView = ({ children, ...props }) => {
|
|
1101
|
-
return /* @__PURE__ */
|
|
1133
|
+
return /* @__PURE__ */ React24.createElement(Viewport.View, {
|
|
1102
1134
|
...props,
|
|
1103
1135
|
classNames: "grow flex flex-col justify-around items-center"
|
|
1104
1136
|
}, children);
|
|
1105
1137
|
};
|
|
1106
1138
|
var InvitationManager = ({ invitationUrl, active, send, status, type, authCode, id }) => {
|
|
1107
|
-
const { t } =
|
|
1139
|
+
const { t } = useTranslation10("os");
|
|
1108
1140
|
const qrLabel = useId4("invitation-manager__qr-code");
|
|
1109
1141
|
const statusValue = type === Invitation4.Type.MULTIUSE ? 0 : invitationStatusValue.get(status) ?? 0;
|
|
1110
1142
|
const showAuthCode = statusValue === 3;
|
|
@@ -1122,18 +1154,18 @@ var InvitationManager = ({ invitationUrl, active, send, status, type, authCode,
|
|
|
1122
1154
|
}, [
|
|
1123
1155
|
statusValue
|
|
1124
1156
|
]);
|
|
1125
|
-
return /* @__PURE__ */
|
|
1157
|
+
return /* @__PURE__ */ React24.createElement(React24.Fragment, null, /* @__PURE__ */ React24.createElement(Viewport.Root, {
|
|
1126
1158
|
activeView,
|
|
1127
1159
|
classNames: "grow plb-1"
|
|
1128
|
-
}, /* @__PURE__ */
|
|
1160
|
+
}, /* @__PURE__ */ React24.createElement(Viewport.Views, null, /* @__PURE__ */ React24.createElement(InvitationManagerView, {
|
|
1129
1161
|
id: "showing qr",
|
|
1130
1162
|
emoji: emoji2
|
|
1131
|
-
}, /* @__PURE__ */
|
|
1163
|
+
}, /* @__PURE__ */ React24.createElement("p", {
|
|
1132
1164
|
className: "text-sm mlb-1 font-normal text-center"
|
|
1133
|
-
}, t(type === Invitation4.Type.MULTIUSE ? "invite many qr label" : "invite one qr label")), /* @__PURE__ */
|
|
1165
|
+
}, t(type === Invitation4.Type.MULTIUSE ? "invite many qr label" : "invite one qr label")), /* @__PURE__ */ React24.createElement("div", {
|
|
1134
1166
|
role: "none",
|
|
1135
1167
|
className: mx18(descriptionText7, "is-full max-is-[14rem] relative")
|
|
1136
|
-
}, /* @__PURE__ */
|
|
1168
|
+
}, /* @__PURE__ */ React24.createElement(QR, {
|
|
1137
1169
|
rounding: 100,
|
|
1138
1170
|
backgroundColor: "transparent",
|
|
1139
1171
|
color: "currentColor",
|
|
@@ -1141,31 +1173,31 @@ var InvitationManager = ({ invitationUrl, active, send, status, type, authCode,
|
|
|
1141
1173
|
"aria-labelledby": qrLabel,
|
|
1142
1174
|
errorCorrectionLevel: "Q",
|
|
1143
1175
|
cutout: true
|
|
1144
|
-
}, invitationUrl ?? "never"), /* @__PURE__ */
|
|
1176
|
+
}, invitationUrl ?? "never"), /* @__PURE__ */ React24.createElement(Centered, null, /* @__PURE__ */ React24.createElement(Emoji, {
|
|
1145
1177
|
text: emoji2
|
|
1146
|
-
}))), /* @__PURE__ */
|
|
1178
|
+
}))), /* @__PURE__ */ React24.createElement("span", {
|
|
1147
1179
|
id: qrLabel,
|
|
1148
1180
|
className: "sr-only"
|
|
1149
|
-
}, t("qr label")), /* @__PURE__ */
|
|
1181
|
+
}, t("qr label")), /* @__PURE__ */ React24.createElement(CopyButton, {
|
|
1150
1182
|
variant: "ghost",
|
|
1151
1183
|
value: invitationUrl ?? "never"
|
|
1152
|
-
})), /* @__PURE__ */
|
|
1184
|
+
})), /* @__PURE__ */ React24.createElement(InvitationManagerView, {
|
|
1153
1185
|
id: "showing auth code"
|
|
1154
|
-
}, /* @__PURE__ */
|
|
1186
|
+
}, /* @__PURE__ */ React24.createElement(Label, null, t("auth code message")), /* @__PURE__ */ React24.createElement(AuthCode, {
|
|
1155
1187
|
code: authCode,
|
|
1156
1188
|
large: true,
|
|
1157
1189
|
classNames: "text-black dark:text-white"
|
|
1158
|
-
}), /* @__PURE__ */
|
|
1190
|
+
}), /* @__PURE__ */ React24.createElement(Label, null, "Be sure the other device is showing this symbol:"), emoji2 && /* @__PURE__ */ React24.createElement(Emoji, {
|
|
1159
1191
|
text: emoji2
|
|
1160
|
-
})), /* @__PURE__ */
|
|
1192
|
+
})), /* @__PURE__ */ React24.createElement(InvitationManagerView, {
|
|
1161
1193
|
id: "showing final"
|
|
1162
|
-
}, statusValue > 0 ? /* @__PURE__ */
|
|
1194
|
+
}, statusValue > 0 ? /* @__PURE__ */ React24.createElement(Check3, {
|
|
1163
1195
|
className: mx18("m-1.5", getSize7(6))
|
|
1164
|
-
}) : /* @__PURE__ */
|
|
1196
|
+
}) : /* @__PURE__ */ React24.createElement(X3, {
|
|
1165
1197
|
className: mx18("m-1.5", getSize7(6))
|
|
1166
|
-
})))), /* @__PURE__ */
|
|
1198
|
+
})))), /* @__PURE__ */ React24.createElement(Actions, {
|
|
1167
1199
|
classNames: "mbs-4"
|
|
1168
|
-
}, /* @__PURE__ */
|
|
1200
|
+
}, /* @__PURE__ */ React24.createElement(Action, {
|
|
1169
1201
|
disabled: !active,
|
|
1170
1202
|
onClick: () => send?.({
|
|
1171
1203
|
type: "deselectInvitation"
|
|
@@ -1178,32 +1210,33 @@ var __dxlog_file3 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/I
|
|
|
1178
1210
|
var viewStyles = "pbs-1 pbe-3 pli-3";
|
|
1179
1211
|
var IdentityHeading = ({ titleId, title, identity, onDone }) => {
|
|
1180
1212
|
const fallbackHref = useJdenticonHref3(identity.identityKey.toHex(), 12);
|
|
1181
|
-
return /* @__PURE__ */
|
|
1213
|
+
return /* @__PURE__ */ React25.createElement(Heading, {
|
|
1182
1214
|
titleId,
|
|
1183
1215
|
title,
|
|
1184
|
-
corner: /* @__PURE__ */
|
|
1216
|
+
corner: /* @__PURE__ */ React25.createElement(CloseButton, {
|
|
1185
1217
|
onDone
|
|
1186
1218
|
})
|
|
1187
|
-
}, /* @__PURE__ */
|
|
1219
|
+
}, /* @__PURE__ */ React25.createElement(Avatar4.Root, {
|
|
1188
1220
|
size: 12,
|
|
1189
1221
|
variant: "circle",
|
|
1190
1222
|
status: "active"
|
|
1191
|
-
}, /* @__PURE__ */
|
|
1223
|
+
}, /* @__PURE__ */ React25.createElement(Avatar4.Frame, {
|
|
1192
1224
|
classNames: "block mbs-4 mbe-2 mli-auto chromatic-ignore"
|
|
1193
|
-
}, /* @__PURE__ */
|
|
1225
|
+
}, /* @__PURE__ */ React25.createElement(Avatar4.Fallback, {
|
|
1194
1226
|
href: fallbackHref
|
|
1195
|
-
})), /* @__PURE__ */
|
|
1227
|
+
})), /* @__PURE__ */ React25.createElement(Avatar4.Label, {
|
|
1196
1228
|
classNames: "block text-center font-light text-xl"
|
|
1197
1229
|
}, identity.profile?.displayName ?? generateName2(identity.identityKey.toHex()))));
|
|
1198
1230
|
};
|
|
1199
1231
|
var IdentityPanelImpl = (props) => {
|
|
1200
1232
|
const { identity, titleId, activeView, onUpdateProfile, IdentityActionChooser: IdentityActionChooserComponent = IdentityActionChooser, InvitationManager: InvitationManagerComponent = InvitationManager, onDone, ...rest } = props;
|
|
1201
|
-
const { t } =
|
|
1233
|
+
const { t } = useTranslation11("os");
|
|
1202
1234
|
const title = useMemo3(() => {
|
|
1203
1235
|
switch (activeView) {
|
|
1204
1236
|
case "device manager":
|
|
1205
|
-
case "device invitation manager":
|
|
1206
1237
|
return t("choose devices label");
|
|
1238
|
+
case "device invitation manager":
|
|
1239
|
+
return t("choose add device label");
|
|
1207
1240
|
default:
|
|
1208
1241
|
return t("identity heading");
|
|
1209
1242
|
}
|
|
@@ -1211,32 +1244,41 @@ var IdentityPanelImpl = (props) => {
|
|
|
1211
1244
|
activeView,
|
|
1212
1245
|
t
|
|
1213
1246
|
]);
|
|
1214
|
-
|
|
1247
|
+
console.log("[IdentityPanelImpl]", {
|
|
1248
|
+
activeView
|
|
1249
|
+
});
|
|
1250
|
+
return /* @__PURE__ */ React25.createElement(DensityProvider2, {
|
|
1215
1251
|
density: "fine"
|
|
1216
|
-
}, /* @__PURE__ */
|
|
1252
|
+
}, /* @__PURE__ */ React25.createElement(IdentityHeading, {
|
|
1217
1253
|
identity,
|
|
1218
1254
|
titleId,
|
|
1219
1255
|
title,
|
|
1220
1256
|
onDone
|
|
1221
|
-
}), /* @__PURE__ */
|
|
1257
|
+
}), /* @__PURE__ */ React25.createElement(Viewport.Root, {
|
|
1222
1258
|
activeView
|
|
1223
|
-
}, /* @__PURE__ */
|
|
1259
|
+
}, /* @__PURE__ */ React25.createElement(Viewport.Views, null, /* @__PURE__ */ React25.createElement(Viewport.View, {
|
|
1224
1260
|
id: "identity action chooser",
|
|
1225
1261
|
classNames: viewStyles
|
|
1226
|
-
}, /* @__PURE__ */
|
|
1262
|
+
}, /* @__PURE__ */ React25.createElement(IdentityActionChooserComponent, {
|
|
1227
1263
|
active: activeView === "identity action chooser",
|
|
1228
1264
|
...rest
|
|
1229
|
-
})), /* @__PURE__ */
|
|
1265
|
+
})), /* @__PURE__ */ React25.createElement(Viewport.View, {
|
|
1230
1266
|
id: "device invitation manager",
|
|
1231
1267
|
classNames: viewStyles
|
|
1232
|
-
}, /* @__PURE__ */
|
|
1268
|
+
}, /* @__PURE__ */ React25.createElement(InvitationManagerComponent, {
|
|
1233
1269
|
active: activeView === "device invitation manager",
|
|
1234
1270
|
...rest,
|
|
1235
1271
|
invitationUrl: rest.createInvitationUrl(rest.invitationCode)
|
|
1236
|
-
})), /* @__PURE__ */
|
|
1272
|
+
})), /* @__PURE__ */ React25.createElement(Viewport.View, {
|
|
1273
|
+
id: "device manager",
|
|
1274
|
+
classNames: viewStyles
|
|
1275
|
+
}, /* @__PURE__ */ React25.createElement(DeviceManager, {
|
|
1276
|
+
active: activeView === "device manager",
|
|
1277
|
+
...rest
|
|
1278
|
+
})), /* @__PURE__ */ React25.createElement(Viewport.View, {
|
|
1237
1279
|
classNames: viewStyles,
|
|
1238
1280
|
id: "update profile form"
|
|
1239
|
-
}, /* @__PURE__ */
|
|
1281
|
+
}, /* @__PURE__ */ React25.createElement(ProfileForm, {
|
|
1240
1282
|
send: rest.send,
|
|
1241
1283
|
active: activeView === "update profile form",
|
|
1242
1284
|
profile: identity.profile,
|
|
@@ -1245,7 +1287,7 @@ var IdentityPanelImpl = (props) => {
|
|
|
1245
1287
|
};
|
|
1246
1288
|
var IdentityPanelWithInvitationImpl = ({ invitation, ...props }) => {
|
|
1247
1289
|
const invitationStatus = useInvitationStatus2(invitation);
|
|
1248
|
-
return /* @__PURE__ */
|
|
1290
|
+
return /* @__PURE__ */ React25.createElement(IdentityPanelImpl, {
|
|
1249
1291
|
...props,
|
|
1250
1292
|
...invitationStatus
|
|
1251
1293
|
});
|
|
@@ -1253,6 +1295,7 @@ var IdentityPanelWithInvitationImpl = ({ invitation, ...props }) => {
|
|
|
1253
1295
|
var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code, ...props }) => {
|
|
1254
1296
|
const titleId = useId5("identityPanel__heading", propsTitleId);
|
|
1255
1297
|
const client = useClient3();
|
|
1298
|
+
const devices = useDevices();
|
|
1256
1299
|
const identity = useIdentity();
|
|
1257
1300
|
if (!identity) {
|
|
1258
1301
|
console.error("IdentityPanel rendered with no active identity.");
|
|
@@ -1263,7 +1306,7 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
|
|
|
1263
1306
|
const subscription = identityService.subscribe((state) => {
|
|
1264
1307
|
log3("[state]", state, {
|
|
1265
1308
|
F: __dxlog_file3,
|
|
1266
|
-
L:
|
|
1309
|
+
L: 123,
|
|
1267
1310
|
S: void 0,
|
|
1268
1311
|
C: (f, a) => f(...a)
|
|
1269
1312
|
});
|
|
@@ -1278,6 +1321,8 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
|
|
|
1278
1321
|
return "identity action chooser";
|
|
1279
1322
|
case identityState.matches("managingDeviceInvitation"):
|
|
1280
1323
|
return "device invitation manager";
|
|
1324
|
+
case identityState.matches("managingDevices"):
|
|
1325
|
+
return "device manager";
|
|
1281
1326
|
case [
|
|
1282
1327
|
{
|
|
1283
1328
|
managingProfile: "idle"
|
|
@@ -1293,6 +1338,10 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
|
|
|
1293
1338
|
}, [
|
|
1294
1339
|
identityState
|
|
1295
1340
|
]);
|
|
1341
|
+
console.log({
|
|
1342
|
+
activeView,
|
|
1343
|
+
identityState
|
|
1344
|
+
});
|
|
1296
1345
|
const onUpdateProfile = async (profile) => {
|
|
1297
1346
|
identitySend({
|
|
1298
1347
|
type: "updateProfile"
|
|
@@ -1302,20 +1351,21 @@ var IdentityPanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => co
|
|
|
1302
1351
|
const implProps = {
|
|
1303
1352
|
...props,
|
|
1304
1353
|
identity,
|
|
1354
|
+
devices,
|
|
1305
1355
|
activeView,
|
|
1306
1356
|
send: identitySend,
|
|
1307
1357
|
titleId,
|
|
1308
1358
|
createInvitationUrl,
|
|
1309
1359
|
onUpdateProfile
|
|
1310
1360
|
};
|
|
1311
|
-
return identityState.context.invitation ? /* @__PURE__ */
|
|
1361
|
+
return identityState.context.invitation ? /* @__PURE__ */ React25.createElement(IdentityPanelWithInvitationImpl, {
|
|
1312
1362
|
...implProps,
|
|
1313
1363
|
invitation: identityState.context.invitation
|
|
1314
|
-
}) : /* @__PURE__ */
|
|
1364
|
+
}) : /* @__PURE__ */ React25.createElement(IdentityPanelImpl, implProps);
|
|
1315
1365
|
};
|
|
1316
1366
|
|
|
1317
1367
|
// packages/sdk/shell/src/panels/JoinPanel/JoinPanel.tsx
|
|
1318
|
-
import
|
|
1368
|
+
import React35, { useCallback as useCallback6, useEffect as useEffect4, useMemo as useMemo4 } from "react";
|
|
1319
1369
|
import { log as log8 } from "@dxos/log";
|
|
1320
1370
|
import { useClient as useClient6, useMulticastObservable } from "@dxos/react-client";
|
|
1321
1371
|
import { useIdentity as useIdentity2 } from "@dxos/react-client/halo";
|
|
@@ -1323,25 +1373,25 @@ import { DensityProvider as DensityProvider3, useId as useId7, useThemeContext a
|
|
|
1323
1373
|
|
|
1324
1374
|
// packages/sdk/shell/src/panels/JoinPanel/JoinHeading.tsx
|
|
1325
1375
|
import { X as X4 } from "@phosphor-icons/react";
|
|
1326
|
-
import
|
|
1327
|
-
import { Button as Button5, useTranslation as
|
|
1376
|
+
import React26, { cloneElement, forwardRef as forwardRef8 } from "react";
|
|
1377
|
+
import { Button as Button5, useTranslation as useTranslation12 } from "@dxos/react-ui";
|
|
1328
1378
|
import { descriptionText as descriptionText8, getSize as getSize8, mx as mx19 } from "@dxos/react-ui-theme";
|
|
1329
1379
|
var JoinHeading = /* @__PURE__ */ forwardRef8(({ mode, titleId, onExit, exitActionParent }, forwardedRef) => {
|
|
1330
|
-
const { t } =
|
|
1331
|
-
const exitButton = /* @__PURE__ */
|
|
1380
|
+
const { t } = useTranslation12("os");
|
|
1381
|
+
const exitButton = /* @__PURE__ */ React26.createElement(Button5, {
|
|
1332
1382
|
variant: "ghost",
|
|
1333
1383
|
...onExit && {
|
|
1334
1384
|
onClick: onExit
|
|
1335
1385
|
},
|
|
1336
1386
|
classNames: mx19(descriptionText8, "plb-0 pli-2 absolute block-start-0 inline-end-0 z-[1]"),
|
|
1337
1387
|
"data-testid": "join-exit"
|
|
1338
|
-
}, /* @__PURE__ */
|
|
1388
|
+
}, /* @__PURE__ */ React26.createElement(X4, {
|
|
1339
1389
|
weight: "bold",
|
|
1340
1390
|
className: getSize8(4)
|
|
1341
|
-
}), /* @__PURE__ */
|
|
1391
|
+
}), /* @__PURE__ */ React26.createElement("span", {
|
|
1342
1392
|
className: "sr-only"
|
|
1343
1393
|
}, t("exit label")));
|
|
1344
|
-
return /* @__PURE__ */
|
|
1394
|
+
return /* @__PURE__ */ React26.createElement(Heading, {
|
|
1345
1395
|
ref: forwardedRef,
|
|
1346
1396
|
titleId,
|
|
1347
1397
|
title: t(mode === "halo-only" ? "selecting identity heading" : "joining space heading"),
|
|
@@ -1933,16 +1983,16 @@ var useJoinMachine = (client, options) => {
|
|
|
1933
1983
|
|
|
1934
1984
|
// packages/sdk/shell/src/panels/JoinPanel/steps/AdditionMethodChooser.tsx
|
|
1935
1985
|
import { CaretRight as CaretRight2, Plus as Plus2, QrCode, Textbox } from "@phosphor-icons/react";
|
|
1936
|
-
import
|
|
1937
|
-
import { useTranslation as
|
|
1986
|
+
import React27 from "react";
|
|
1987
|
+
import { useTranslation as useTranslation13 } from "@dxos/react-ui";
|
|
1938
1988
|
import { getSize as getSize9 } from "@dxos/react-ui-theme";
|
|
1939
1989
|
var AdditionMethodChooser = (viewStateProps) => {
|
|
1940
1990
|
const disabled = !viewStateProps.active;
|
|
1941
1991
|
const { send } = viewStateProps;
|
|
1942
|
-
const { t } =
|
|
1992
|
+
const { t } = useTranslation13("os");
|
|
1943
1993
|
const sharedButtonProps = {
|
|
1944
1994
|
disabled,
|
|
1945
|
-
after: /* @__PURE__ */
|
|
1995
|
+
after: /* @__PURE__ */ React27.createElement(CaretRight2, {
|
|
1946
1996
|
className: getSize9(4),
|
|
1947
1997
|
weight: "bold"
|
|
1948
1998
|
}),
|
|
@@ -1952,13 +2002,13 @@ var AdditionMethodChooser = (viewStateProps) => {
|
|
|
1952
2002
|
}
|
|
1953
2003
|
}
|
|
1954
2004
|
};
|
|
1955
|
-
return /* @__PURE__ */
|
|
2005
|
+
return /* @__PURE__ */ React27.createElement(React27.Fragment, null, /* @__PURE__ */ React27.createElement(StepHeading, null, t("addition method chooser title")), /* @__PURE__ */ React27.createElement("div", {
|
|
1956
2006
|
role: "none",
|
|
1957
2007
|
className: "flex flex-col gap-1 grow"
|
|
1958
|
-
}, /* @__PURE__ */
|
|
2008
|
+
}, /* @__PURE__ */ React27.createElement(CompoundButton, {
|
|
1959
2009
|
...sharedButtonProps,
|
|
1960
2010
|
description: t("create identity description"),
|
|
1961
|
-
before: /* @__PURE__ */
|
|
2011
|
+
before: /* @__PURE__ */ React27.createElement(Plus2, {
|
|
1962
2012
|
className: getSize9(6)
|
|
1963
2013
|
}),
|
|
1964
2014
|
onClick: () => send({
|
|
@@ -1966,22 +2016,22 @@ var AdditionMethodChooser = (viewStateProps) => {
|
|
|
1966
2016
|
}),
|
|
1967
2017
|
"data-autofocus": "choosingAuthMethod",
|
|
1968
2018
|
"data-testid": "create-identity"
|
|
1969
|
-
}, t("create identity label")), /* @__PURE__ */
|
|
2019
|
+
}, t("create identity label")), /* @__PURE__ */ React27.createElement(CompoundButton, {
|
|
1970
2020
|
...sharedButtonProps,
|
|
1971
2021
|
description: t("join identity description"),
|
|
1972
|
-
before: /* @__PURE__ */
|
|
2022
|
+
before: /* @__PURE__ */ React27.createElement(QrCode, {
|
|
1973
2023
|
className: getSize9(6)
|
|
1974
2024
|
}),
|
|
1975
2025
|
onClick: () => send({
|
|
1976
2026
|
type: "acceptHaloInvitation"
|
|
1977
2027
|
}),
|
|
1978
2028
|
"data-testid": "join-identity"
|
|
1979
|
-
}, t("join identity label")), /* @__PURE__ */
|
|
2029
|
+
}, t("join identity label")), /* @__PURE__ */ React27.createElement(CompoundButton, {
|
|
1980
2030
|
...sharedButtonProps,
|
|
1981
2031
|
// TODO(mykola): Implement recover.
|
|
1982
2032
|
disabled: true,
|
|
1983
2033
|
description: t("recover identity description"),
|
|
1984
|
-
before: /* @__PURE__ */
|
|
2034
|
+
before: /* @__PURE__ */ React27.createElement(Textbox, {
|
|
1985
2035
|
className: getSize9(6)
|
|
1986
2036
|
}),
|
|
1987
2037
|
onClick: () => send({
|
|
@@ -1992,37 +2042,37 @@ var AdditionMethodChooser = (viewStateProps) => {
|
|
|
1992
2042
|
};
|
|
1993
2043
|
|
|
1994
2044
|
// packages/sdk/shell/src/panels/JoinPanel/steps/IdentityAdded.tsx
|
|
1995
|
-
import
|
|
2045
|
+
import React28, { cloneElement as cloneElement2 } from "react";
|
|
1996
2046
|
import { generateName as generateName3 } from "@dxos/display-name";
|
|
1997
|
-
import { Avatar as Avatar5, useId as useId6, useJdenticonHref as useJdenticonHref4, useTranslation as
|
|
2047
|
+
import { Avatar as Avatar5, useId as useId6, useJdenticonHref as useJdenticonHref4, useTranslation as useTranslation14 } from "@dxos/react-ui";
|
|
1998
2048
|
import { mx as mx20 } from "@dxos/react-ui-theme";
|
|
1999
2049
|
var IdentityAdded = (props) => {
|
|
2000
2050
|
const { mode, addedIdentity, active, send, onDone, doneActionParent } = props;
|
|
2001
2051
|
const disabled = !active;
|
|
2002
|
-
const { t } =
|
|
2052
|
+
const { t } = useTranslation14("os");
|
|
2003
2053
|
const fallbackValue = addedIdentity?.identityKey.toHex();
|
|
2004
2054
|
const labelId = useId6("identityListItem__label");
|
|
2005
2055
|
const jdenticon = useJdenticonHref4(fallbackValue ?? "", 12);
|
|
2006
2056
|
const displayName = addedIdentity?.profile?.displayName ?? (addedIdentity && generateName3(addedIdentity?.identityKey.toHex()));
|
|
2007
|
-
const doneAction = /* @__PURE__ */
|
|
2057
|
+
const doneAction = /* @__PURE__ */ React28.createElement(Action, {
|
|
2008
2058
|
...onDone && {
|
|
2009
2059
|
onClick: () => onDone(null)
|
|
2010
2060
|
},
|
|
2011
2061
|
disabled,
|
|
2012
2062
|
"data-autofocus": "confirmingAddedIdentity",
|
|
2013
2063
|
"data-testid": "identity-added-done"
|
|
2014
|
-
}, /* @__PURE__ */
|
|
2015
|
-
return /* @__PURE__ */
|
|
2064
|
+
}, /* @__PURE__ */ React28.createElement("span", null, t("done label")));
|
|
2065
|
+
return /* @__PURE__ */ React28.createElement(React28.Fragment, null, /* @__PURE__ */ React28.createElement(StepHeading, null, t("identity added label")), /* @__PURE__ */ React28.createElement("div", {
|
|
2016
2066
|
role: "none",
|
|
2017
2067
|
className: "grow flex flex-col items-center justify-center text-center gap-2"
|
|
2018
|
-
}, /* @__PURE__ */
|
|
2068
|
+
}, /* @__PURE__ */ React28.createElement(Avatar5.Root, {
|
|
2019
2069
|
status: "active",
|
|
2020
2070
|
labelId
|
|
2021
|
-
}, /* @__PURE__ */
|
|
2071
|
+
}, /* @__PURE__ */ React28.createElement(Avatar5.Frame, null, /* @__PURE__ */ React28.createElement(Avatar5.Fallback, {
|
|
2022
2072
|
href: jdenticon
|
|
2023
|
-
})), /* @__PURE__ */
|
|
2073
|
+
})), /* @__PURE__ */ React28.createElement(Avatar5.Label, {
|
|
2024
2074
|
classNames: mx20("text-lg truncate", !addedIdentity?.profile?.displayName && "font-mono")
|
|
2025
|
-
}, displayName))), /* @__PURE__ */
|
|
2075
|
+
}, displayName))), /* @__PURE__ */ React28.createElement(Actions, null, mode === "halo-only" ? doneActionParent ? /* @__PURE__ */ cloneElement2(doneActionParent, {}, doneAction) : doneAction : /* @__PURE__ */ React28.createElement(Action, {
|
|
2026
2076
|
variant: "primary",
|
|
2027
2077
|
disabled: disabled || !addedIdentity,
|
|
2028
2078
|
onClick: () => addedIdentity && send({
|
|
@@ -2034,16 +2084,16 @@ var IdentityAdded = (props) => {
|
|
|
2034
2084
|
};
|
|
2035
2085
|
|
|
2036
2086
|
// packages/sdk/shell/src/panels/JoinPanel/steps/IdentityInput.tsx
|
|
2037
|
-
import
|
|
2087
|
+
import React29, { useState as useState4 } from "react";
|
|
2038
2088
|
import { log as log5 } from "@dxos/log";
|
|
2039
2089
|
import { useClient as useClient4 } from "@dxos/react-client";
|
|
2040
|
-
import { useTranslation as
|
|
2090
|
+
import { useTranslation as useTranslation15 } from "@dxos/react-ui";
|
|
2041
2091
|
var __dxlog_file5 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/JoinPanel/steps/IdentityInput.tsx";
|
|
2042
2092
|
var IdentityInput = (props) => {
|
|
2043
2093
|
const { send, method } = props;
|
|
2044
2094
|
const isRecover = method === "recover identity";
|
|
2045
2095
|
const client = useClient4();
|
|
2046
|
-
const { t } =
|
|
2096
|
+
const { t } = useTranslation15("os");
|
|
2047
2097
|
const [validationMessage, setValidationMessage] = useState4("");
|
|
2048
2098
|
const createIdentity = (displayName) => {
|
|
2049
2099
|
void client.halo.createIdentity({
|
|
@@ -2063,7 +2113,7 @@ var IdentityInput = (props) => {
|
|
|
2063
2113
|
setValidationMessage(t(isRecover ? "failed to recover identity message" : "failed to create identity message"));
|
|
2064
2114
|
});
|
|
2065
2115
|
};
|
|
2066
|
-
return /* @__PURE__ */
|
|
2116
|
+
return /* @__PURE__ */ React29.createElement(IdentityInputImpl, {
|
|
2067
2117
|
...props,
|
|
2068
2118
|
onDisplayNameConfirm: createIdentity,
|
|
2069
2119
|
validationMessage
|
|
@@ -2072,27 +2122,27 @@ var IdentityInput = (props) => {
|
|
|
2072
2122
|
var IdentityInputImpl = (props) => {
|
|
2073
2123
|
const { method, send, active, onDisplayNameConfirm, validationMessage } = props;
|
|
2074
2124
|
const disabled = !active;
|
|
2075
|
-
const { t } =
|
|
2125
|
+
const { t } = useTranslation15("os");
|
|
2076
2126
|
const [inputValue, setInputValue] = useState4("");
|
|
2077
2127
|
const isRecover = method === "recover identity";
|
|
2078
|
-
return /* @__PURE__ */
|
|
2128
|
+
return /* @__PURE__ */ React29.createElement(React29.Fragment, null, /* @__PURE__ */ React29.createElement("div", {
|
|
2079
2129
|
role: "none",
|
|
2080
2130
|
className: "grow flex flex-col justify-center"
|
|
2081
|
-
}, /* @__PURE__ */
|
|
2131
|
+
}, /* @__PURE__ */ React29.createElement(Input, {
|
|
2082
2132
|
validationMessage,
|
|
2083
|
-
label: /* @__PURE__ */
|
|
2133
|
+
label: /* @__PURE__ */ React29.createElement(StepHeading, null, t(isRecover ? "recover identity input label" : "new identity input label")),
|
|
2084
2134
|
disabled,
|
|
2085
2135
|
"data-testid": "identity-input",
|
|
2086
2136
|
placeholder: isRecover ? "Type your recovery phrase" : "Type a display name",
|
|
2087
2137
|
onChange: ({ target: { value } }) => setInputValue(value)
|
|
2088
|
-
})), /* @__PURE__ */
|
|
2138
|
+
})), /* @__PURE__ */ React29.createElement(Actions, null, /* @__PURE__ */ React29.createElement(Action, {
|
|
2089
2139
|
variant: "ghost",
|
|
2090
2140
|
disabled,
|
|
2091
2141
|
onClick: () => send?.({
|
|
2092
2142
|
type: "deselectAuthMethod"
|
|
2093
2143
|
}),
|
|
2094
2144
|
"data-testid": `${method === "recover identity" ? "recover" : "create"}-identity-input-back`
|
|
2095
|
-
}, t("back label")), /* @__PURE__ */
|
|
2145
|
+
}, t("back label")), /* @__PURE__ */ React29.createElement(Action, {
|
|
2096
2146
|
variant: "primary",
|
|
2097
2147
|
disabled,
|
|
2098
2148
|
onClick: () => onDisplayNameConfirm?.(inputValue),
|
|
@@ -2101,31 +2151,31 @@ var IdentityInputImpl = (props) => {
|
|
|
2101
2151
|
};
|
|
2102
2152
|
|
|
2103
2153
|
// packages/sdk/shell/src/panels/JoinPanel/steps/InvitationAccepted.tsx
|
|
2104
|
-
import
|
|
2105
|
-
import { useTranslation as
|
|
2154
|
+
import React30, { cloneElement as cloneElement3 } from "react";
|
|
2155
|
+
import { useTranslation as useTranslation16 } from "@dxos/react-ui";
|
|
2106
2156
|
var InvitationAccepted = (props) => {
|
|
2107
2157
|
const { active, Kind, doneActionParent, onDone } = props;
|
|
2108
2158
|
const disabled = !active;
|
|
2109
|
-
const { t } =
|
|
2110
|
-
const doneAction = /* @__PURE__ */
|
|
2159
|
+
const { t } = useTranslation16("os");
|
|
2160
|
+
const doneAction = /* @__PURE__ */ React30.createElement(Action, {
|
|
2111
2161
|
variant: "primary",
|
|
2112
2162
|
onClick: onDone,
|
|
2113
2163
|
disabled,
|
|
2114
2164
|
"data-autofocus": `success${Kind}Invitation finishingJoining${Kind}`,
|
|
2115
2165
|
"data-testid": `${Kind.toLowerCase()}-invitation-accepted-done`
|
|
2116
2166
|
}, t("done label"));
|
|
2117
|
-
return /* @__PURE__ */
|
|
2167
|
+
return /* @__PURE__ */ React30.createElement(React30.Fragment, null, /* @__PURE__ */ React30.createElement("div", {
|
|
2118
2168
|
role: "none",
|
|
2119
2169
|
className: "grow flex flex-col justify-center"
|
|
2120
|
-
}, /* @__PURE__ */
|
|
2170
|
+
}, /* @__PURE__ */ React30.createElement("p", {
|
|
2121
2171
|
className: "text-center text-sm font-normal"
|
|
2122
|
-
}, t("welcome message"))), /* @__PURE__ */
|
|
2172
|
+
}, t("welcome message"))), /* @__PURE__ */ React30.createElement(Actions, null, doneActionParent ? /* @__PURE__ */ cloneElement3(doneActionParent, {}, doneAction) : doneAction));
|
|
2123
2173
|
};
|
|
2124
2174
|
|
|
2125
2175
|
// packages/sdk/shell/src/panels/JoinPanel/steps/InvitationInput.tsx
|
|
2126
|
-
import
|
|
2176
|
+
import React31, { useState as useState5, useEffect as useEffect3, cloneElement as cloneElement4 } from "react";
|
|
2127
2177
|
import { log as log6 } from "@dxos/log";
|
|
2128
|
-
import { useTranslation as
|
|
2178
|
+
import { useTranslation as useTranslation17 } from "@dxos/react-ui";
|
|
2129
2179
|
var __dxlog_file6 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/JoinPanel/steps/InvitationInput.tsx";
|
|
2130
2180
|
var invitationCodeFromUrl = (text) => {
|
|
2131
2181
|
try {
|
|
@@ -2145,7 +2195,7 @@ var invitationCodeFromUrl = (text) => {
|
|
|
2145
2195
|
var InvitationInput = (props) => {
|
|
2146
2196
|
const { Kind, active, send, unredeemedCode, onExit, exitActionParent, onDone, doneActionParent, succeededKeys } = props;
|
|
2147
2197
|
const disabled = !active;
|
|
2148
|
-
const { t } =
|
|
2198
|
+
const { t } = useTranslation17("os");
|
|
2149
2199
|
const [inputValue, setInputValue] = useState5(unredeemedCode ?? "");
|
|
2150
2200
|
useEffect3(() => {
|
|
2151
2201
|
unredeemedCode && setInputValue(unredeemedCode ?? "");
|
|
@@ -2159,7 +2209,7 @@ var InvitationInput = (props) => {
|
|
|
2159
2209
|
succeededKeys
|
|
2160
2210
|
}
|
|
2161
2211
|
});
|
|
2162
|
-
const exitAction = /* @__PURE__ */
|
|
2212
|
+
const exitAction = /* @__PURE__ */ React31.createElement(Action, {
|
|
2163
2213
|
variant: "ghost",
|
|
2164
2214
|
disabled,
|
|
2165
2215
|
...onExit ? {
|
|
@@ -2169,11 +2219,11 @@ var InvitationInput = (props) => {
|
|
|
2169
2219
|
},
|
|
2170
2220
|
"data-testid": "join-exit"
|
|
2171
2221
|
}, t("cancel label"));
|
|
2172
|
-
return /* @__PURE__ */
|
|
2222
|
+
return /* @__PURE__ */ React31.createElement(React31.Fragment, null, /* @__PURE__ */ React31.createElement("div", {
|
|
2173
2223
|
role: "none",
|
|
2174
2224
|
className: "grow flex flex-col justify-center"
|
|
2175
|
-
}, /* @__PURE__ */
|
|
2176
|
-
label: /* @__PURE__ */
|
|
2225
|
+
}, /* @__PURE__ */ React31.createElement(Input, {
|
|
2226
|
+
label: /* @__PURE__ */ React31.createElement(StepHeading, null, t("invitation input label")),
|
|
2177
2227
|
placeholder: "Type an invitation code",
|
|
2178
2228
|
disabled,
|
|
2179
2229
|
value: inputValue,
|
|
@@ -2181,14 +2231,14 @@ var InvitationInput = (props) => {
|
|
|
2181
2231
|
"data-autofocus": `inputting${Kind}InvitationCode`,
|
|
2182
2232
|
"data-testid": `${Kind.toLowerCase()}-invitation-input`,
|
|
2183
2233
|
onKeyUp: ({ key }) => key === "Enter" && handleNext()
|
|
2184
|
-
})), /* @__PURE__ */
|
|
2234
|
+
})), /* @__PURE__ */ React31.createElement(Actions, null, Kind === "Halo" ? /* @__PURE__ */ React31.createElement(Action, {
|
|
2185
2235
|
variant: "ghost",
|
|
2186
2236
|
disabled,
|
|
2187
2237
|
onClick: () => send({
|
|
2188
2238
|
type: "deselectAuthMethod"
|
|
2189
2239
|
}),
|
|
2190
2240
|
"data-testid": `${Kind.toLowerCase()}-invitation-input-back`
|
|
2191
|
-
}, t("back label")) : exitActionParent ? /* @__PURE__ */ cloneElement4(exitActionParent, {}, exitAction) : doneActionParent ? /* @__PURE__ */ cloneElement4(doneActionParent, {}, exitAction) : exitAction, /* @__PURE__ */
|
|
2241
|
+
}, t("back label")) : exitActionParent ? /* @__PURE__ */ cloneElement4(exitActionParent, {}, exitAction) : doneActionParent ? /* @__PURE__ */ cloneElement4(doneActionParent, {}, exitAction) : exitAction, /* @__PURE__ */ React31.createElement(Action, {
|
|
2192
2242
|
variant: "primary",
|
|
2193
2243
|
disabled,
|
|
2194
2244
|
onClick: handleNext,
|
|
@@ -2197,8 +2247,8 @@ var InvitationInput = (props) => {
|
|
|
2197
2247
|
};
|
|
2198
2248
|
|
|
2199
2249
|
// packages/sdk/shell/src/panels/JoinPanel/steps/InvitationRescuer.tsx
|
|
2200
|
-
import
|
|
2201
|
-
import { useTranslation as
|
|
2250
|
+
import React32 from "react";
|
|
2251
|
+
import { useTranslation as useTranslation18 } from "@dxos/react-ui";
|
|
2202
2252
|
import { descriptionText as descriptionText9 } from "@dxos/react-ui-theme";
|
|
2203
2253
|
var InvitationActions = ({
|
|
2204
2254
|
// `invitationState` does report correct state, but here we evaluate whether `failReason` is a better source of truth
|
|
@@ -2210,14 +2260,14 @@ var InvitationActions = ({
|
|
|
2210
2260
|
Kind,
|
|
2211
2261
|
failReason
|
|
2212
2262
|
}) => {
|
|
2213
|
-
const { t } =
|
|
2263
|
+
const { t } = useTranslation18("os");
|
|
2214
2264
|
if (failReason) {
|
|
2215
|
-
return /* @__PURE__ */
|
|
2265
|
+
return /* @__PURE__ */ React32.createElement(React32.Fragment, null, /* @__PURE__ */ React32.createElement(StepHeading, {
|
|
2216
2266
|
className: descriptionText9
|
|
2217
|
-
}, t(failReason === "timeout" ? "timeout status label" : failReason === "cancelled" ? "cancelled status label" : "error status label")), /* @__PURE__ */
|
|
2267
|
+
}, t(failReason === "timeout" ? "timeout status label" : failReason === "cancelled" ? "cancelled status label" : "error status label")), /* @__PURE__ */ React32.createElement("div", {
|
|
2218
2268
|
role: "none",
|
|
2219
2269
|
className: "grow"
|
|
2220
|
-
}), /* @__PURE__ */
|
|
2270
|
+
}), /* @__PURE__ */ React32.createElement(Actions, null, /* @__PURE__ */ React32.createElement(Action, {
|
|
2221
2271
|
disabled: !active,
|
|
2222
2272
|
onClick: () => send({
|
|
2223
2273
|
type: `reset${Kind}Invitation`
|
|
@@ -2225,16 +2275,16 @@ var InvitationActions = ({
|
|
|
2225
2275
|
"data-testid": "invitation-rescuer-reset"
|
|
2226
2276
|
}, t("reset label"))));
|
|
2227
2277
|
} else {
|
|
2228
|
-
return /* @__PURE__ */
|
|
2278
|
+
return /* @__PURE__ */ React32.createElement(React32.Fragment, null, /* @__PURE__ */ React32.createElement(StepHeading, {
|
|
2229
2279
|
className: descriptionText9
|
|
2230
|
-
}, t("connecting status label")), /* @__PURE__ */
|
|
2280
|
+
}, t("connecting status label")), /* @__PURE__ */ React32.createElement("div", {
|
|
2231
2281
|
role: "none",
|
|
2232
2282
|
className: "grow"
|
|
2233
|
-
}), /* @__PURE__ */
|
|
2283
|
+
}), /* @__PURE__ */ React32.createElement(Actions, null, /* @__PURE__ */ React32.createElement(Action, {
|
|
2234
2284
|
disabled: true,
|
|
2235
2285
|
classNames: "order-2",
|
|
2236
2286
|
"data-testid": "next"
|
|
2237
|
-
}, t("next label")), /* @__PURE__ */
|
|
2287
|
+
}, t("next label")), /* @__PURE__ */ React32.createElement(Action, {
|
|
2238
2288
|
disabled: !active,
|
|
2239
2289
|
onClick: onInvitationCancel,
|
|
2240
2290
|
"data-testid": "invitation-rescuer-cancel"
|
|
@@ -2243,28 +2293,28 @@ var InvitationActions = ({
|
|
|
2243
2293
|
};
|
|
2244
2294
|
var InvitationRescuer = (props) => {
|
|
2245
2295
|
const { Kind, invitationState, active, send } = props;
|
|
2246
|
-
const { t } =
|
|
2247
|
-
return /* @__PURE__ */
|
|
2296
|
+
const { t } = useTranslation18("os");
|
|
2297
|
+
return /* @__PURE__ */ React32.createElement(React32.Fragment, null, typeof invitationState === "undefined" ? /* @__PURE__ */ React32.createElement(React32.Fragment, null, /* @__PURE__ */ React32.createElement("div", {
|
|
2248
2298
|
role: "none",
|
|
2249
2299
|
className: "grow flex flex-col justify-center"
|
|
2250
|
-
}, /* @__PURE__ */
|
|
2300
|
+
}, /* @__PURE__ */ React32.createElement(StepHeading, {
|
|
2251
2301
|
className: descriptionText9
|
|
2252
|
-
}, "There was a problem joining the space")), /* @__PURE__ */
|
|
2302
|
+
}, "There was a problem joining the space")), /* @__PURE__ */ React32.createElement(Actions, null, /* @__PURE__ */ React32.createElement(Action, {
|
|
2253
2303
|
disabled: !active,
|
|
2254
2304
|
"data-testid": "invitation-rescuer-blank-reset",
|
|
2255
2305
|
onClick: () => send({
|
|
2256
2306
|
type: `reset${Kind}Invitation`
|
|
2257
2307
|
})
|
|
2258
|
-
}, t("reset label")))) : /* @__PURE__ */
|
|
2308
|
+
}, t("reset label")))) : /* @__PURE__ */ React32.createElement(InvitationActions, props));
|
|
2259
2309
|
};
|
|
2260
2310
|
|
|
2261
2311
|
// packages/sdk/shell/src/panels/JoinPanel/steps/InvitationAuthenticator.tsx
|
|
2262
|
-
import
|
|
2263
|
-
import { Input as Input2, useTranslation as
|
|
2312
|
+
import React33, { useState as useState6 } from "react";
|
|
2313
|
+
import { Input as Input2, useTranslation as useTranslation19 } from "@dxos/react-ui";
|
|
2264
2314
|
var pinLength = 6;
|
|
2265
2315
|
var InvitationAuthenticator = ({ failed, Kind, active, pending, invitationId, onInvitationAuthenticate, onInvitationCancel }) => {
|
|
2266
2316
|
const disabled = !active || pending;
|
|
2267
|
-
const { t } =
|
|
2317
|
+
const { t } = useTranslation19("os");
|
|
2268
2318
|
const invitationType = Kind.toLowerCase();
|
|
2269
2319
|
const [authCode, setAuthCode] = useState6("");
|
|
2270
2320
|
const onChange = ({ target: { value } }) => {
|
|
@@ -2273,16 +2323,16 @@ var InvitationAuthenticator = ({ failed, Kind, active, pending, invitationId, on
|
|
|
2273
2323
|
document.querySelector(`[data-autofocus-pinlength="${invitationType}"]`)?.focus();
|
|
2274
2324
|
}
|
|
2275
2325
|
};
|
|
2276
|
-
return /* @__PURE__ */
|
|
2326
|
+
return /* @__PURE__ */ React33.createElement(React33.Fragment, null, /* @__PURE__ */ React33.createElement("div", {
|
|
2277
2327
|
role: "none",
|
|
2278
2328
|
className: "grow flex flex-col justify-center"
|
|
2279
|
-
}, invitationId && /* @__PURE__ */
|
|
2329
|
+
}, invitationId && /* @__PURE__ */ React33.createElement(Emoji, {
|
|
2280
2330
|
text: toEmoji(invitationId)
|
|
2281
|
-
}), /* @__PURE__ */
|
|
2331
|
+
}), /* @__PURE__ */ React33.createElement(Input2.Root, failed && {
|
|
2282
2332
|
validationValence: "error"
|
|
2283
|
-
}, /* @__PURE__ */
|
|
2333
|
+
}, /* @__PURE__ */ React33.createElement(Input2.Label, {
|
|
2284
2334
|
asChild: true
|
|
2285
|
-
}, /* @__PURE__ */
|
|
2335
|
+
}, /* @__PURE__ */ React33.createElement(StepHeading, null, t("auth code input label"))), /* @__PURE__ */ React33.createElement(Input2.PinInput, {
|
|
2286
2336
|
disabled,
|
|
2287
2337
|
length: pinLength,
|
|
2288
2338
|
onChange,
|
|
@@ -2293,14 +2343,14 @@ var InvitationAuthenticator = ({ failed, Kind, active, pending, invitationId, on
|
|
|
2293
2343
|
"data-prevent-ios-autofocus": true,
|
|
2294
2344
|
"data-testid": `${invitationType}-auth-code-input`,
|
|
2295
2345
|
"data-1p-ignore": true
|
|
2296
|
-
}), failed && /* @__PURE__ */
|
|
2346
|
+
}), failed && /* @__PURE__ */ React33.createElement(Input2.DescriptionAndValidation, {
|
|
2297
2347
|
classNames: "text-center"
|
|
2298
|
-
}, /* @__PURE__ */
|
|
2348
|
+
}, /* @__PURE__ */ React33.createElement(Input2.Validation, null, t("failed to authenticate message"))))), /* @__PURE__ */ React33.createElement(Actions, null, /* @__PURE__ */ React33.createElement(Action, {
|
|
2299
2349
|
variant: "ghost",
|
|
2300
2350
|
disabled,
|
|
2301
2351
|
onClick: () => onInvitationCancel?.(),
|
|
2302
2352
|
"data-testid": `${invitationType}-invitation-authenticator-cancel`
|
|
2303
|
-
}, t("cancel label")), /* @__PURE__ */
|
|
2353
|
+
}, t("cancel label")), /* @__PURE__ */ React33.createElement(Action, {
|
|
2304
2354
|
variant: "primary",
|
|
2305
2355
|
disabled,
|
|
2306
2356
|
onClick: () => onInvitationAuthenticate?.(authCode),
|
|
@@ -2310,14 +2360,14 @@ var InvitationAuthenticator = ({ failed, Kind, active, pending, invitationId, on
|
|
|
2310
2360
|
};
|
|
2311
2361
|
|
|
2312
2362
|
// packages/sdk/shell/src/panels/JoinPanel/steps/ResetIdentity.tsx
|
|
2313
|
-
import
|
|
2363
|
+
import React34, { useState as useState7 } from "react";
|
|
2314
2364
|
import { log as log7 } from "@dxos/log";
|
|
2315
2365
|
import { useClient as useClient5 } from "@dxos/react-client";
|
|
2316
|
-
import { useTranslation as
|
|
2366
|
+
import { useTranslation as useTranslation20 } from "@dxos/react-ui";
|
|
2317
2367
|
var __dxlog_file7 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/JoinPanel/steps/ResetIdentity.tsx";
|
|
2318
2368
|
var ResetIdentity = ({ send, active }) => {
|
|
2319
2369
|
const client = useClient5();
|
|
2320
|
-
const { t } =
|
|
2370
|
+
const { t } = useTranslation20("os");
|
|
2321
2371
|
const [validationMessage, setValidationMessage] = useState7("");
|
|
2322
2372
|
const resetIdentity = () => {
|
|
2323
2373
|
void client.reset().then(() => send?.({
|
|
@@ -2332,29 +2382,29 @@ var ResetIdentity = ({ send, active }) => {
|
|
|
2332
2382
|
setValidationMessage(t("failed to reset identity message"));
|
|
2333
2383
|
});
|
|
2334
2384
|
};
|
|
2335
|
-
return /* @__PURE__ */
|
|
2385
|
+
return /* @__PURE__ */ React34.createElement(ResetIdentityImpl, {
|
|
2336
2386
|
disabled: !active,
|
|
2337
2387
|
validationMessage,
|
|
2338
2388
|
onConfirm: () => resetIdentity()
|
|
2339
2389
|
});
|
|
2340
2390
|
};
|
|
2341
2391
|
var ResetIdentityImpl = ({ disabled, validationMessage, onConfirm }) => {
|
|
2342
|
-
const { t } =
|
|
2392
|
+
const { t } = useTranslation20("os");
|
|
2343
2393
|
const confirmationValue = t("confirmation value");
|
|
2344
2394
|
const [inputValue, setInputValue] = useState7("");
|
|
2345
|
-
return /* @__PURE__ */
|
|
2395
|
+
return /* @__PURE__ */ React34.createElement(React34.Fragment, null, /* @__PURE__ */ React34.createElement("div", {
|
|
2346
2396
|
role: "none",
|
|
2347
2397
|
className: "grow flex flex-col justify-center"
|
|
2348
|
-
}, /* @__PURE__ */
|
|
2398
|
+
}, /* @__PURE__ */ React34.createElement(Input, {
|
|
2349
2399
|
validationMessage,
|
|
2350
|
-
label: /* @__PURE__ */
|
|
2400
|
+
label: /* @__PURE__ */ React34.createElement(StepHeading, null, t("reset identity input label", {
|
|
2351
2401
|
confirmationValue
|
|
2352
2402
|
})),
|
|
2353
2403
|
disabled,
|
|
2354
2404
|
"data-testid": "identity-input",
|
|
2355
2405
|
placeholder: confirmationValue,
|
|
2356
2406
|
onChange: ({ target: { value } }) => setInputValue(value)
|
|
2357
|
-
})), /* @__PURE__ */
|
|
2407
|
+
})), /* @__PURE__ */ React34.createElement(Actions, null, /* @__PURE__ */ React34.createElement(Action, {
|
|
2358
2408
|
// TODO(wittjosiah): Probably make this red?
|
|
2359
2409
|
variant: "primary",
|
|
2360
2410
|
disabled: disabled || inputValue !== confirmationValue,
|
|
@@ -2391,47 +2441,47 @@ var resolvedTextColor = (status) => status === Invitation6.State.ERROR ? errorTe
|
|
|
2391
2441
|
var __dxlog_file8 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/JoinPanel/JoinPanel.tsx";
|
|
2392
2442
|
var JoinPanelImpl = (props) => {
|
|
2393
2443
|
const { titleId, send, activeView, failed, mode, unredeemedCodes, invitationStates, succeededKeys, failReasons, onExit, onHaloDone, onSpaceDone, exitActionParent, doneActionParent, onHaloInvitationCancel, onSpaceInvitationCancel, onHaloInvitationAuthenticate, onSpaceInvitationAuthenticate, IdentityInput: IdentityInputComponent = IdentityInput, ResetIdentity: ResetIdentityComponent = ResetIdentity } = props;
|
|
2394
|
-
return /* @__PURE__ */
|
|
2444
|
+
return /* @__PURE__ */ React35.createElement(DensityProvider3, {
|
|
2395
2445
|
density: "fine"
|
|
2396
|
-
}, mode !== "halo-only" && /* @__PURE__ */
|
|
2446
|
+
}, mode !== "halo-only" && /* @__PURE__ */ React35.createElement(JoinHeading, {
|
|
2397
2447
|
titleId,
|
|
2398
2448
|
mode,
|
|
2399
2449
|
onExit,
|
|
2400
2450
|
exitActionParent
|
|
2401
|
-
}), /* @__PURE__ */
|
|
2451
|
+
}), /* @__PURE__ */ React35.createElement(Viewport.Root, {
|
|
2402
2452
|
focusManaged: true,
|
|
2403
2453
|
activeView
|
|
2404
|
-
}, /* @__PURE__ */
|
|
2454
|
+
}, /* @__PURE__ */ React35.createElement(Viewport.Views, null, /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2405
2455
|
classNames: stepStyles,
|
|
2406
2456
|
id: "addition method chooser"
|
|
2407
|
-
}, /* @__PURE__ */
|
|
2457
|
+
}, /* @__PURE__ */ React35.createElement(AdditionMethodChooser, {
|
|
2408
2458
|
send,
|
|
2409
2459
|
active: activeView === "addition method chooser"
|
|
2410
|
-
})), /* @__PURE__ */
|
|
2460
|
+
})), /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2411
2461
|
classNames: stepStyles,
|
|
2412
2462
|
id: "reset identity confirmation"
|
|
2413
|
-
}, /* @__PURE__ */
|
|
2463
|
+
}, /* @__PURE__ */ React35.createElement(ResetIdentityComponent, {
|
|
2414
2464
|
send,
|
|
2415
2465
|
method: "reset identity",
|
|
2416
2466
|
active: activeView === "reset identity confirmation"
|
|
2417
|
-
})), /* @__PURE__ */
|
|
2467
|
+
})), /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2418
2468
|
classNames: stepStyles,
|
|
2419
2469
|
id: "create identity input"
|
|
2420
|
-
}, /* @__PURE__ */
|
|
2470
|
+
}, /* @__PURE__ */ React35.createElement(IdentityInputComponent, {
|
|
2421
2471
|
send,
|
|
2422
2472
|
method: "create identity",
|
|
2423
2473
|
active: activeView === "create identity input"
|
|
2424
|
-
})), /* @__PURE__ */
|
|
2474
|
+
})), /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2425
2475
|
classNames: stepStyles,
|
|
2426
2476
|
id: "recover identity input"
|
|
2427
|
-
}, /* @__PURE__ */
|
|
2477
|
+
}, /* @__PURE__ */ React35.createElement(IdentityInputComponent, {
|
|
2428
2478
|
send,
|
|
2429
2479
|
method: "recover identity",
|
|
2430
2480
|
active: activeView === "recover identity input"
|
|
2431
|
-
})), /* @__PURE__ */
|
|
2481
|
+
})), /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2432
2482
|
classNames: stepStyles,
|
|
2433
2483
|
id: "halo invitation input"
|
|
2434
|
-
}, /* @__PURE__ */
|
|
2484
|
+
}, /* @__PURE__ */ React35.createElement(InvitationInput, {
|
|
2435
2485
|
send,
|
|
2436
2486
|
Kind: "Halo",
|
|
2437
2487
|
active: activeView === "halo invitation input",
|
|
@@ -2441,20 +2491,20 @@ var JoinPanelImpl = (props) => {
|
|
|
2441
2491
|
...succeededKeys?.Halo && {
|
|
2442
2492
|
succeededKeys: succeededKeys.Halo
|
|
2443
2493
|
}
|
|
2444
|
-
})), /* @__PURE__ */
|
|
2494
|
+
})), /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2445
2495
|
classNames: stepStyles,
|
|
2446
2496
|
id: "halo invitation rescuer"
|
|
2447
|
-
}, /* @__PURE__ */
|
|
2497
|
+
}, /* @__PURE__ */ React35.createElement(InvitationRescuer, {
|
|
2448
2498
|
send,
|
|
2449
2499
|
Kind: "Halo",
|
|
2450
2500
|
active: activeView === "halo invitation rescuer",
|
|
2451
2501
|
invitationState: invitationStates?.Halo,
|
|
2452
2502
|
onInvitationCancel: onHaloInvitationCancel,
|
|
2453
2503
|
failReason: failReasons?.Halo
|
|
2454
|
-
})), /* @__PURE__ */
|
|
2504
|
+
})), /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2455
2505
|
classNames: stepStyles,
|
|
2456
2506
|
id: "halo invitation authenticator"
|
|
2457
|
-
}, /* @__PURE__ */
|
|
2507
|
+
}, /* @__PURE__ */ React35.createElement(InvitationAuthenticator, {
|
|
2458
2508
|
send,
|
|
2459
2509
|
Kind: "Halo",
|
|
2460
2510
|
active: activeView === "halo invitation authenticator",
|
|
@@ -2463,28 +2513,28 @@ var JoinPanelImpl = (props) => {
|
|
|
2463
2513
|
...failed.has("Halo") && {
|
|
2464
2514
|
failed: true
|
|
2465
2515
|
}
|
|
2466
|
-
})), /* @__PURE__ */
|
|
2516
|
+
})), /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2467
2517
|
classNames: stepStyles,
|
|
2468
2518
|
id: "halo invitation accepted"
|
|
2469
|
-
}, /* @__PURE__ */
|
|
2519
|
+
}, /* @__PURE__ */ React35.createElement(InvitationAccepted, {
|
|
2470
2520
|
send,
|
|
2471
2521
|
Kind: "Halo",
|
|
2472
2522
|
active: activeView === "halo invitation accepted",
|
|
2473
2523
|
doneActionParent,
|
|
2474
2524
|
onDone: onHaloDone
|
|
2475
|
-
})), /* @__PURE__ */
|
|
2525
|
+
})), /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2476
2526
|
classNames: stepStyles,
|
|
2477
2527
|
id: "identity added"
|
|
2478
|
-
}, /* @__PURE__ */
|
|
2528
|
+
}, /* @__PURE__ */ React35.createElement(IdentityAdded, {
|
|
2479
2529
|
send,
|
|
2480
2530
|
mode,
|
|
2481
2531
|
active: activeView === "identity added",
|
|
2482
2532
|
doneActionParent,
|
|
2483
2533
|
onDone: onHaloDone
|
|
2484
|
-
})), /* @__PURE__ */
|
|
2534
|
+
})), /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2485
2535
|
classNames: stepStyles,
|
|
2486
2536
|
id: "space invitation input"
|
|
2487
|
-
}, /* @__PURE__ */
|
|
2537
|
+
}, /* @__PURE__ */ React35.createElement(InvitationInput, {
|
|
2488
2538
|
send,
|
|
2489
2539
|
Kind: "Space",
|
|
2490
2540
|
active: activeView === "space invitation input",
|
|
@@ -2496,20 +2546,20 @@ var JoinPanelImpl = (props) => {
|
|
|
2496
2546
|
},
|
|
2497
2547
|
onExit,
|
|
2498
2548
|
exitActionParent
|
|
2499
|
-
})), /* @__PURE__ */
|
|
2549
|
+
})), /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2500
2550
|
classNames: stepStyles,
|
|
2501
2551
|
id: "space invitation rescuer"
|
|
2502
|
-
}, /* @__PURE__ */
|
|
2552
|
+
}, /* @__PURE__ */ React35.createElement(InvitationRescuer, {
|
|
2503
2553
|
send,
|
|
2504
2554
|
Kind: "Space",
|
|
2505
2555
|
active: activeView === "space invitation rescuer",
|
|
2506
2556
|
invitationState: invitationStates?.Space,
|
|
2507
2557
|
onInvitationCancel: onSpaceInvitationCancel,
|
|
2508
2558
|
failReason: failReasons?.Space
|
|
2509
|
-
})), /* @__PURE__ */
|
|
2559
|
+
})), /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2510
2560
|
classNames: stepStyles,
|
|
2511
2561
|
id: "space invitation authenticator"
|
|
2512
|
-
}, /* @__PURE__ */
|
|
2562
|
+
}, /* @__PURE__ */ React35.createElement(InvitationAuthenticator, {
|
|
2513
2563
|
send,
|
|
2514
2564
|
Kind: "Space",
|
|
2515
2565
|
active: activeView === "space invitation authenticator",
|
|
@@ -2518,10 +2568,10 @@ var JoinPanelImpl = (props) => {
|
|
|
2518
2568
|
...failed.has("Space") && {
|
|
2519
2569
|
failed: true
|
|
2520
2570
|
}
|
|
2521
|
-
})), /* @__PURE__ */
|
|
2571
|
+
})), /* @__PURE__ */ React35.createElement(Viewport.View, {
|
|
2522
2572
|
classNames: stepStyles,
|
|
2523
2573
|
id: "space invitation accepted"
|
|
2524
|
-
}, /* @__PURE__ */
|
|
2574
|
+
}, /* @__PURE__ */ React35.createElement(InvitationAccepted, {
|
|
2525
2575
|
send,
|
|
2526
2576
|
Kind: "Space",
|
|
2527
2577
|
active: activeView === "space invitation accepted",
|
|
@@ -2760,7 +2810,7 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialInvitationCod
|
|
|
2760
2810
|
joinState,
|
|
2761
2811
|
propsOnDone
|
|
2762
2812
|
]);
|
|
2763
|
-
return /* @__PURE__ */
|
|
2813
|
+
return /* @__PURE__ */ React35.createElement(JoinPanelImpl, {
|
|
2764
2814
|
titleId,
|
|
2765
2815
|
mode,
|
|
2766
2816
|
send: joinSend,
|
|
@@ -2799,10 +2849,10 @@ var JoinPanel = ({ titleId: propsTitleId, mode = "default", initialInvitationCod
|
|
|
2799
2849
|
|
|
2800
2850
|
// packages/sdk/shell/src/panels/SpacePanel/SpacePanel.tsx
|
|
2801
2851
|
import { Planet } from "@phosphor-icons/react";
|
|
2802
|
-
import
|
|
2852
|
+
import React37, { useEffect as useEffect5, useMemo as useMemo5 } from "react";
|
|
2803
2853
|
import { log as log10 } from "@dxos/log";
|
|
2804
2854
|
import { useInvitationStatus as useInvitationStatus3 } from "@dxos/react-client/invitations";
|
|
2805
|
-
import { DensityProvider as DensityProvider4, useId as useId8, useTranslation as
|
|
2855
|
+
import { DensityProvider as DensityProvider4, useId as useId8, useTranslation as useTranslation22 } from "@dxos/react-ui";
|
|
2806
2856
|
|
|
2807
2857
|
// packages/sdk/shell/src/panels/SpacePanel/spaceMachine.ts
|
|
2808
2858
|
import { useMachine as useMachine3 } from "@xstate/react";
|
|
@@ -2868,16 +2918,16 @@ var useSpaceMachine = (options) => {
|
|
|
2868
2918
|
|
|
2869
2919
|
// packages/sdk/shell/src/panels/SpacePanel/steps/SpaceManager.tsx
|
|
2870
2920
|
import { Placeholder as Placeholder2, UserPlus, UsersThree } from "@phosphor-icons/react";
|
|
2871
|
-
import
|
|
2921
|
+
import React36, { useCallback as useCallback7, useState as useState8 } from "react";
|
|
2872
2922
|
import { useConfig } from "@dxos/react-client";
|
|
2873
2923
|
import { useSpaceInvitations as useSpaceInvitations2 } from "@dxos/react-client/echo";
|
|
2874
2924
|
import { Invitation as Invitation7, InvitationEncoder as InvitationEncoder3 } from "@dxos/react-client/invitations";
|
|
2875
|
-
import { ScrollArea, useTranslation as
|
|
2925
|
+
import { ScrollArea, useTranslation as useTranslation21 } from "@dxos/react-ui";
|
|
2876
2926
|
import { descriptionText as descriptionText10, mx as mx21 } from "@dxos/react-ui-theme";
|
|
2877
2927
|
var activeActionKey = "dxos:react-shell/space-manager/active-action";
|
|
2878
2928
|
var SpaceManager = (props) => {
|
|
2879
2929
|
const { space } = props;
|
|
2880
|
-
const { t } =
|
|
2930
|
+
const { t } = useTranslation21("os");
|
|
2881
2931
|
const config = useConfig();
|
|
2882
2932
|
const invitations = useSpaceInvitations2(space?.key);
|
|
2883
2933
|
const onInvitationEvent = useCallback7((invitation) => {
|
|
@@ -2923,7 +2973,7 @@ var SpaceManager = (props) => {
|
|
|
2923
2973
|
])
|
|
2924
2974
|
}
|
|
2925
2975
|
};
|
|
2926
|
-
return /* @__PURE__ */
|
|
2976
|
+
return /* @__PURE__ */ React36.createElement(SpaceManagerImpl, {
|
|
2927
2977
|
...props,
|
|
2928
2978
|
invitations,
|
|
2929
2979
|
inviteActions
|
|
@@ -2932,7 +2982,7 @@ var SpaceManager = (props) => {
|
|
|
2932
2982
|
var headingFragment = "pis-3 pie-1 plb-1 mbe-1 font-medium";
|
|
2933
2983
|
var SpaceManagerImpl = (props) => {
|
|
2934
2984
|
const { active, space, createInvitationUrl, send, inviteActions: propsInviteActions, invitations, showInactiveInvitations, SpaceMemberList: SpaceMemberListComponent = SpaceMemberList, InvitationList: InvitationListComponent = InvitationList } = props;
|
|
2935
|
-
const { t } =
|
|
2985
|
+
const { t } = useTranslation21("os");
|
|
2936
2986
|
const inviteActions = propsInviteActions ?? {
|
|
2937
2987
|
noopInvite: {
|
|
2938
2988
|
label: t("create space invitation label"),
|
|
@@ -2950,26 +3000,26 @@ var SpaceManagerImpl = (props) => {
|
|
|
2950
3000
|
const visibleInvitations = showInactiveInvitations ? invitations : invitations?.filter((invitation) => ![
|
|
2951
3001
|
Invitation7.State.CANCELLED
|
|
2952
3002
|
].includes(invitation.get().state));
|
|
2953
|
-
return /* @__PURE__ */
|
|
3003
|
+
return /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement(ScrollArea.Root, {
|
|
2954
3004
|
classNames: "grow shrink basis-28 -mli-2"
|
|
2955
|
-
}, /* @__PURE__ */
|
|
3005
|
+
}, /* @__PURE__ */ React36.createElement(ScrollArea.Viewport, {
|
|
2956
3006
|
classNames: "is-full pie-2"
|
|
2957
|
-
}, !!visibleInvitations?.length && /* @__PURE__ */
|
|
3007
|
+
}, !!visibleInvitations?.length && /* @__PURE__ */ React36.createElement(React36.Fragment, null, /* @__PURE__ */ React36.createElement("h3", {
|
|
2958
3008
|
className: mx21(headingFragment, descriptionText10)
|
|
2959
|
-
}, t("invitation list heading")), /* @__PURE__ */
|
|
3009
|
+
}, t("invitation list heading")), /* @__PURE__ */ React36.createElement(InvitationListComponent, {
|
|
2960
3010
|
className: "mb-2",
|
|
2961
3011
|
send,
|
|
2962
3012
|
invitations: visibleInvitations ?? [],
|
|
2963
3013
|
onClickRemove: (invitation) => invitation.cancel(),
|
|
2964
3014
|
createInvitationUrl
|
|
2965
|
-
}), /* @__PURE__ */
|
|
3015
|
+
}), /* @__PURE__ */ React36.createElement("h3", {
|
|
2966
3016
|
className: mx21(headingFragment, descriptionText10, "mbs-2")
|
|
2967
|
-
}, t("space member list heading"))), /* @__PURE__ */
|
|
3017
|
+
}, t("space member list heading"))), /* @__PURE__ */ React36.createElement(SpaceMemberListComponent, {
|
|
2968
3018
|
spaceKey: space.key,
|
|
2969
3019
|
includeSelf: true
|
|
2970
|
-
})), /* @__PURE__ */
|
|
3020
|
+
})), /* @__PURE__ */ React36.createElement(ScrollArea.Scrollbar, {
|
|
2971
3021
|
orientation: "vertical"
|
|
2972
|
-
}, /* @__PURE__ */
|
|
3022
|
+
}, /* @__PURE__ */ React36.createElement(ScrollArea.Thumb, null))), /* @__PURE__ */ React36.createElement(Actions, null, /* @__PURE__ */ React36.createElement(BifurcatedAction, {
|
|
2973
3023
|
disabled: !active,
|
|
2974
3024
|
actions: inviteActions,
|
|
2975
3025
|
activeAction,
|
|
@@ -2981,45 +3031,45 @@ var SpaceManagerImpl = (props) => {
|
|
|
2981
3031
|
// packages/sdk/shell/src/panels/SpacePanel/SpacePanel.tsx
|
|
2982
3032
|
var __dxlog_file10 = "/home/runner/work/dxos/dxos/packages/sdk/shell/src/panels/SpacePanel/SpacePanel.tsx";
|
|
2983
3033
|
var SpacePanelHeading = ({ titleId, space, onDone }) => {
|
|
2984
|
-
const { t } =
|
|
3034
|
+
const { t } = useTranslation22("os");
|
|
2985
3035
|
const name = space.properties.name;
|
|
2986
|
-
return /* @__PURE__ */
|
|
3036
|
+
return /* @__PURE__ */ React37.createElement(Heading, {
|
|
2987
3037
|
titleId,
|
|
2988
3038
|
title: t("space panel heading"),
|
|
2989
|
-
corner: /* @__PURE__ */
|
|
3039
|
+
corner: /* @__PURE__ */ React37.createElement(CloseButton, {
|
|
2990
3040
|
"data-testid": "identity-panel-done",
|
|
2991
3041
|
onDone
|
|
2992
3042
|
})
|
|
2993
|
-
}, /* @__PURE__ */
|
|
3043
|
+
}, /* @__PURE__ */ React37.createElement("div", {
|
|
2994
3044
|
role: "none",
|
|
2995
3045
|
className: "flex gap-4 items-center justify-center mlb-4"
|
|
2996
|
-
}, /* @__PURE__ */
|
|
3046
|
+
}, /* @__PURE__ */ React37.createElement(Planet, {
|
|
2997
3047
|
size: 32
|
|
2998
|
-
}), /* @__PURE__ */
|
|
3048
|
+
}), /* @__PURE__ */ React37.createElement("div", {
|
|
2999
3049
|
className: "block text-start font-light text-xl"
|
|
3000
3050
|
}, name ?? space.key.truncate())));
|
|
3001
3051
|
};
|
|
3002
3052
|
var SpacePanelImpl = (props) => {
|
|
3003
3053
|
const { titleId, activeView, space, SpaceManager: SpaceManagerComponent = SpaceManager, InvitationManager: InvitationManagerComponent = InvitationManager, ...rest } = props;
|
|
3004
|
-
return /* @__PURE__ */
|
|
3054
|
+
return /* @__PURE__ */ React37.createElement(DensityProvider4, {
|
|
3005
3055
|
density: "fine"
|
|
3006
|
-
}, /* @__PURE__ */
|
|
3056
|
+
}, /* @__PURE__ */ React37.createElement(SpacePanelHeading, {
|
|
3007
3057
|
...rest,
|
|
3008
3058
|
titleId,
|
|
3009
3059
|
space
|
|
3010
|
-
}), /* @__PURE__ */
|
|
3060
|
+
}), /* @__PURE__ */ React37.createElement(Viewport.Root, {
|
|
3011
3061
|
activeView
|
|
3012
|
-
}, /* @__PURE__ */
|
|
3062
|
+
}, /* @__PURE__ */ React37.createElement(Viewport.Views, null, /* @__PURE__ */ React37.createElement(Viewport.View, {
|
|
3013
3063
|
id: "space manager",
|
|
3014
3064
|
classNames: stepStyles
|
|
3015
|
-
}, /* @__PURE__ */
|
|
3065
|
+
}, /* @__PURE__ */ React37.createElement(SpaceManagerComponent, {
|
|
3016
3066
|
active: activeView === "space manager",
|
|
3017
3067
|
space,
|
|
3018
3068
|
...rest
|
|
3019
|
-
})), /* @__PURE__ */
|
|
3069
|
+
})), /* @__PURE__ */ React37.createElement(Viewport.View, {
|
|
3020
3070
|
id: "space invitation manager",
|
|
3021
3071
|
classNames: stepStyles
|
|
3022
|
-
}, /* @__PURE__ */
|
|
3072
|
+
}, /* @__PURE__ */ React37.createElement(InvitationManagerComponent, {
|
|
3023
3073
|
active: activeView === "space invitation manager",
|
|
3024
3074
|
...rest,
|
|
3025
3075
|
invitationUrl: props.invitationUrl
|
|
@@ -3027,7 +3077,7 @@ var SpacePanelImpl = (props) => {
|
|
|
3027
3077
|
};
|
|
3028
3078
|
var SpacePanelWithInvitationImpl = ({ invitation, ...props }) => {
|
|
3029
3079
|
const invitationStatus = useInvitationStatus3(invitation);
|
|
3030
|
-
return /* @__PURE__ */
|
|
3080
|
+
return /* @__PURE__ */ React37.createElement(SpacePanelImpl, {
|
|
3031
3081
|
...props,
|
|
3032
3082
|
...invitationStatus,
|
|
3033
3083
|
invitationUrl: props.createInvitationUrl(invitationStatus.invitationCode)
|
|
@@ -3072,62 +3122,62 @@ var SpacePanel = ({ titleId: propsTitleId, createInvitationUrl = (code) => code,
|
|
|
3072
3122
|
titleId,
|
|
3073
3123
|
createInvitationUrl
|
|
3074
3124
|
};
|
|
3075
|
-
return spaceState.context.invitation ? /* @__PURE__ */
|
|
3125
|
+
return spaceState.context.invitation ? /* @__PURE__ */ React37.createElement(SpacePanelWithInvitationImpl, {
|
|
3076
3126
|
...implProps,
|
|
3077
3127
|
invitation: spaceState.context.invitation
|
|
3078
|
-
}) : /* @__PURE__ */
|
|
3128
|
+
}) : /* @__PURE__ */ React37.createElement(SpacePanelImpl, implProps);
|
|
3079
3129
|
};
|
|
3080
3130
|
|
|
3081
3131
|
// packages/sdk/shell/src/composites/IdentityDialog/IdentityDialog.tsx
|
|
3082
3132
|
var IdentityDialog = (props) => {
|
|
3083
3133
|
const titleId = useId9("spaceDialog__title");
|
|
3084
|
-
return /* @__PURE__ */
|
|
3134
|
+
return /* @__PURE__ */ React38.createElement(Dialog.Root, {
|
|
3085
3135
|
defaultOpen: true,
|
|
3086
3136
|
onOpenChange: (open) => open || props.onDone?.()
|
|
3087
|
-
}, /* @__PURE__ */
|
|
3137
|
+
}, /* @__PURE__ */ React38.createElement(Dialog.Portal, null, /* @__PURE__ */ React38.createElement(Dialog.Overlay, null, /* @__PURE__ */ React38.createElement(Dialog.Content, {
|
|
3088
3138
|
"aria-labelledby": titleId,
|
|
3089
3139
|
onOpenAutoFocus: (e) => e.preventDefault()
|
|
3090
|
-
}, /* @__PURE__ */
|
|
3140
|
+
}, /* @__PURE__ */ React38.createElement(ClipboardProvider, null, /* @__PURE__ */ React38.createElement(IdentityPanel, {
|
|
3091
3141
|
...props,
|
|
3092
3142
|
titleId,
|
|
3093
|
-
doneActionParent: /* @__PURE__ */
|
|
3143
|
+
doneActionParent: /* @__PURE__ */ React38.createElement(Dialog.Close, {
|
|
3094
3144
|
asChild: true
|
|
3095
3145
|
})
|
|
3096
3146
|
}))))));
|
|
3097
3147
|
};
|
|
3098
3148
|
|
|
3099
3149
|
// packages/sdk/shell/src/composites/JoinDialog/JoinDialog.tsx
|
|
3100
|
-
import
|
|
3150
|
+
import React39 from "react";
|
|
3101
3151
|
import { AlertDialog, useId as useId10, useVisualViewport } from "@dxos/react-ui";
|
|
3102
3152
|
var JoinDialog = (joinPanelProps) => {
|
|
3103
3153
|
const titleId = useId10("joinDialog__title");
|
|
3104
3154
|
const { height } = useVisualViewport();
|
|
3105
|
-
return /* @__PURE__ */
|
|
3155
|
+
return /* @__PURE__ */ React39.createElement(AlertDialog.Root, {
|
|
3106
3156
|
defaultOpen: true,
|
|
3107
3157
|
onOpenChange: (open) => open || (joinPanelProps.onExit ? joinPanelProps.onExit() : joinPanelProps.onDone?.(null))
|
|
3108
|
-
}, /* @__PURE__ */
|
|
3158
|
+
}, /* @__PURE__ */ React39.createElement(AlertDialog.Portal, null, /* @__PURE__ */ React39.createElement(AlertDialog.Overlay, {
|
|
3109
3159
|
classNames: "backdrop-blur",
|
|
3110
3160
|
...height && {
|
|
3111
3161
|
style: {
|
|
3112
3162
|
blockSize: `${height}px`
|
|
3113
3163
|
}
|
|
3114
3164
|
}
|
|
3115
|
-
}, /* @__PURE__ */
|
|
3165
|
+
}, /* @__PURE__ */ React39.createElement(AlertDialog.Content, {
|
|
3116
3166
|
"aria-labelledby": titleId
|
|
3117
|
-
}, /* @__PURE__ */
|
|
3167
|
+
}, /* @__PURE__ */ React39.createElement(JoinPanel, {
|
|
3118
3168
|
...joinPanelProps,
|
|
3119
3169
|
titleId,
|
|
3120
|
-
exitActionParent: /* @__PURE__ */
|
|
3170
|
+
exitActionParent: /* @__PURE__ */ React39.createElement(AlertDialog.Cancel, {
|
|
3121
3171
|
asChild: true
|
|
3122
3172
|
}),
|
|
3123
|
-
doneActionParent: /* @__PURE__ */
|
|
3173
|
+
doneActionParent: /* @__PURE__ */ React39.createElement(AlertDialog.Action, {
|
|
3124
3174
|
asChild: true
|
|
3125
3175
|
})
|
|
3126
3176
|
})))));
|
|
3127
3177
|
};
|
|
3128
3178
|
|
|
3129
3179
|
// packages/sdk/shell/src/composites/Shell/run-shell.tsx
|
|
3130
|
-
import
|
|
3180
|
+
import React42, { StrictMode } from "react";
|
|
3131
3181
|
import { createRoot } from "react-dom/client";
|
|
3132
3182
|
import { DEFAULT_CLIENT_CHANNEL, DEFAULT_SHELL_CHANNEL } from "@dxos/client-protocol";
|
|
3133
3183
|
import { ShellRuntimeImpl } from "@dxos/client-services";
|
|
@@ -3137,25 +3187,25 @@ import { defaultTx } from "@dxos/react-ui-theme";
|
|
|
3137
3187
|
import { createIFramePort } from "@dxos/rpc-tunnel";
|
|
3138
3188
|
|
|
3139
3189
|
// packages/sdk/shell/src/composites/Shell/Shell.tsx
|
|
3140
|
-
import
|
|
3190
|
+
import React41, { useEffect as useEffect6, useState as useState9 } from "react";
|
|
3141
3191
|
import { log as log11 } from "@dxos/log";
|
|
3142
3192
|
import { ShellDisplay, ShellLayout } from "@dxos/react-client";
|
|
3143
3193
|
import { useSpace as useSpace2 } from "@dxos/react-client/echo";
|
|
3144
3194
|
|
|
3145
3195
|
// packages/sdk/shell/src/composites/SpaceDialog/SpaceDialog.tsx
|
|
3146
|
-
import
|
|
3196
|
+
import React40 from "react";
|
|
3147
3197
|
import { Dialog as Dialog2, useId as useId11 } from "@dxos/react-ui";
|
|
3148
3198
|
var SpaceDialog = (spacePanelProps) => {
|
|
3149
3199
|
const titleId = useId11("spaceDialog__title");
|
|
3150
|
-
return /* @__PURE__ */
|
|
3200
|
+
return /* @__PURE__ */ React40.createElement(Dialog2.Root, {
|
|
3151
3201
|
defaultOpen: true,
|
|
3152
3202
|
onOpenChange: (open) => open || spacePanelProps.onDone?.()
|
|
3153
|
-
}, /* @__PURE__ */
|
|
3203
|
+
}, /* @__PURE__ */ React40.createElement(Dialog2.Portal, null, /* @__PURE__ */ React40.createElement(Dialog2.Overlay, null, /* @__PURE__ */ React40.createElement(Dialog2.Content, {
|
|
3154
3204
|
"aria-labelledby": titleId
|
|
3155
|
-
}, /* @__PURE__ */
|
|
3205
|
+
}, /* @__PURE__ */ React40.createElement(ClipboardProvider, null, /* @__PURE__ */ React40.createElement(SpacePanel, {
|
|
3156
3206
|
...spacePanelProps,
|
|
3157
3207
|
titleId,
|
|
3158
|
-
doneActionParent: /* @__PURE__ */
|
|
3208
|
+
doneActionParent: /* @__PURE__ */ React40.createElement(Dialog2.Close, {
|
|
3159
3209
|
asChild: true
|
|
3160
3210
|
})
|
|
3161
3211
|
}))))));
|
|
@@ -3200,7 +3250,7 @@ var Shell = ({ runtime, origin }) => {
|
|
|
3200
3250
|
]);
|
|
3201
3251
|
switch (layout) {
|
|
3202
3252
|
case ShellLayout.INITIALIZE_IDENTITY:
|
|
3203
|
-
return /* @__PURE__ */
|
|
3253
|
+
return /* @__PURE__ */ React41.createElement(JoinDialog, {
|
|
3204
3254
|
mode: "halo-only",
|
|
3205
3255
|
initialInvitationCode: invitationCode,
|
|
3206
3256
|
onDone: () => {
|
|
@@ -3215,7 +3265,7 @@ var Shell = ({ runtime, origin }) => {
|
|
|
3215
3265
|
case ShellLayout.IDENTITY:
|
|
3216
3266
|
case ShellLayout.SHARE_IDENTITY:
|
|
3217
3267
|
case ShellLayout.EDIT_PROFILE:
|
|
3218
|
-
return /* @__PURE__ */
|
|
3268
|
+
return /* @__PURE__ */ React41.createElement(IdentityDialog, {
|
|
3219
3269
|
createInvitationUrl: (invitationCode2) => `${origin}?deviceInvitationCode=${invitationCode2}`,
|
|
3220
3270
|
onDone: async () => {
|
|
3221
3271
|
await runtime.setAppContext({
|
|
@@ -3227,7 +3277,7 @@ var Shell = ({ runtime, origin }) => {
|
|
|
3227
3277
|
}
|
|
3228
3278
|
});
|
|
3229
3279
|
case ShellLayout.SPACE:
|
|
3230
|
-
return space ? /* @__PURE__ */
|
|
3280
|
+
return space ? /* @__PURE__ */ React41.createElement(SpaceDialog, {
|
|
3231
3281
|
space,
|
|
3232
3282
|
createInvitationUrl: (invitationCode2) => `${origin}?spaceInvitationCode=${invitationCode2}`,
|
|
3233
3283
|
onDone: async () => {
|
|
@@ -3240,7 +3290,7 @@ var Shell = ({ runtime, origin }) => {
|
|
|
3240
3290
|
}
|
|
3241
3291
|
}) : null;
|
|
3242
3292
|
case ShellLayout.JOIN_SPACE:
|
|
3243
|
-
return /* @__PURE__ */
|
|
3293
|
+
return /* @__PURE__ */ React41.createElement(JoinDialog, {
|
|
3244
3294
|
initialInvitationCode: invitationCode,
|
|
3245
3295
|
onDone: async (result) => {
|
|
3246
3296
|
await runtime.setAppContext({
|
|
@@ -3337,7 +3387,8 @@ var os = {
|
|
|
3337
3387
|
"selecting identity heading": "Selecting identity",
|
|
3338
3388
|
"devices heading": "Devices",
|
|
3339
3389
|
"identity heading": "Profile settings",
|
|
3340
|
-
"choose
|
|
3390
|
+
"choose add device label": "Add device",
|
|
3391
|
+
"choose devices label": "Manage devices",
|
|
3341
3392
|
"choose profile label": "Edit profile",
|
|
3342
3393
|
"choose sign out label": "Sign out",
|
|
3343
3394
|
"empty space members message": "There is nobody in this space yet.",
|
|
@@ -3388,24 +3439,24 @@ var runShell = async (config = new Config()) => {
|
|
|
3388
3439
|
runtime.open(),
|
|
3389
3440
|
client.initialize()
|
|
3390
3441
|
]);
|
|
3391
|
-
createRoot(document.getElementById("root")).render(/* @__PURE__ */
|
|
3442
|
+
createRoot(document.getElementById("root")).render(/* @__PURE__ */ React42.createElement(StrictMode, null, /* @__PURE__ */ React42.createElement(ThemeProvider, {
|
|
3392
3443
|
tx: defaultTx,
|
|
3393
3444
|
resourceExtensions: [
|
|
3394
3445
|
osTranslations
|
|
3395
3446
|
]
|
|
3396
|
-
}, /* @__PURE__ */
|
|
3447
|
+
}, /* @__PURE__ */ React42.createElement(ClientContext.Provider, {
|
|
3397
3448
|
value: {
|
|
3398
3449
|
client,
|
|
3399
3450
|
status: SystemStatus.ACTIVE
|
|
3400
3451
|
}
|
|
3401
|
-
}, /* @__PURE__ */
|
|
3452
|
+
}, /* @__PURE__ */ React42.createElement(ClipboardProvider, null, /* @__PURE__ */ React42.createElement(Tooltip3.Provider, null, /* @__PURE__ */ React42.createElement(Shell, {
|
|
3402
3453
|
runtime,
|
|
3403
3454
|
origin: location.origin
|
|
3404
3455
|
})))))));
|
|
3405
3456
|
};
|
|
3406
3457
|
|
|
3407
3458
|
// packages/sdk/shell/src/composites/Shell/ShellContext.tsx
|
|
3408
|
-
import
|
|
3459
|
+
import React43, { createContext as createContext2, useCallback as useCallback8, useContext as useContext2, useEffect as useEffect7, useMemo as useMemo6, useState as useState10 } from "react";
|
|
3409
3460
|
import { ShellDisplay as ShellDisplay2, ShellLayout as ShellLayout3, useClient as useClient7 } from "@dxos/react-client";
|
|
3410
3461
|
import { useIdentity as useIdentity3 } from "@dxos/react-client/halo";
|
|
3411
3462
|
import { mx as mx22 } from "@dxos/react-ui-theme";
|
|
@@ -3537,12 +3588,12 @@ var ShellProvider = ({ space, deviceInvitationCode, spaceInvitationCode, onJoine
|
|
|
3537
3588
|
}, [
|
|
3538
3589
|
shellRuntime
|
|
3539
3590
|
]);
|
|
3540
|
-
return /* @__PURE__ */
|
|
3591
|
+
return /* @__PURE__ */ React43.createElement(React43.Fragment, null, shellRuntime && /* @__PURE__ */ React43.createElement("div", {
|
|
3541
3592
|
className: mx22(display === ShellDisplay2.NONE ? "hidden" : "")
|
|
3542
|
-
}, /* @__PURE__ */
|
|
3593
|
+
}, /* @__PURE__ */ React43.createElement(Shell, {
|
|
3543
3594
|
runtime: shellRuntime,
|
|
3544
3595
|
origin: window.location.origin
|
|
3545
|
-
})), /* @__PURE__ */
|
|
3596
|
+
})), /* @__PURE__ */ React43.createElement(ShellContext.Provider, {
|
|
3546
3597
|
value: {
|
|
3547
3598
|
runtime: shellRuntime,
|
|
3548
3599
|
setDisplay
|