@dxos/shell 0.4.10-main.d560ca0 → 0.4.10-main.d6ef25d

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.
Files changed (223) hide show
  1. package/dist/bundle/index-Cms4wG79.mjs +110 -0
  2. package/dist/bundle/index-Cms4wG79.mjs.map +1 -0
  3. package/dist/bundle/index-DACjPI-n.mjs +96625 -0
  4. package/dist/bundle/index-DACjPI-n.mjs.map +1 -0
  5. package/dist/bundle/shell.mjs +9 -81032
  6. package/dist/bundle/shell.mjs.map +1 -1
  7. package/dist/bundle/shell.umd.js +156 -88
  8. package/dist/bundle/shell.umd.js.map +1 -1
  9. package/dist/bundle/style.css +1 -1
  10. package/dist/lib/browser/meta.json +1 -1
  11. package/dist/lib/browser/react.mjs +1166 -1035
  12. package/dist/lib/browser/react.mjs.map +4 -4
  13. package/dist/lib/browser/testing/index.mjs +10 -9
  14. package/dist/lib/browser/testing/index.mjs.map +3 -3
  15. package/dist/types/src/components/AgentConfig.d.ts +3 -0
  16. package/dist/types/src/components/AgentConfig.d.ts.map +1 -0
  17. package/dist/types/src/components/AgentConfig.js +37 -0
  18. package/dist/types/src/components/AgentConfig.js.map +1 -0
  19. package/dist/types/src/components/DeviceList/DeviceList.d.ts +3 -0
  20. package/dist/types/src/components/DeviceList/DeviceList.d.ts.map +1 -0
  21. package/dist/types/src/components/DeviceList/DeviceList.js +29 -0
  22. package/dist/types/src/components/DeviceList/DeviceList.js.map +1 -0
  23. package/dist/types/src/components/DeviceList/DeviceListItem.d.ts +6 -0
  24. package/dist/types/src/components/DeviceList/DeviceListItem.d.ts.map +1 -0
  25. package/dist/types/src/components/DeviceList/DeviceListItem.js +72 -0
  26. package/dist/types/src/components/DeviceList/DeviceListItem.js.map +1 -0
  27. package/dist/types/src/components/DeviceList/DeviceListProps.d.ts +27 -0
  28. package/dist/types/src/components/DeviceList/DeviceListProps.d.ts.map +1 -0
  29. package/dist/types/src/components/DeviceList/DeviceListProps.js +6 -0
  30. package/dist/types/src/components/DeviceList/DeviceListProps.js.map +1 -0
  31. package/dist/types/src/components/DeviceList/index.d.ts +3 -0
  32. package/dist/types/src/components/DeviceList/index.d.ts.map +1 -0
  33. package/dist/types/src/components/DeviceList/index.js +22 -0
  34. package/dist/types/src/components/DeviceList/index.js.map +1 -0
  35. package/dist/types/src/components/EmojiPicker.d.ts +9 -2
  36. package/dist/types/src/components/EmojiPicker.d.ts.map +1 -1
  37. package/dist/types/src/components/EmojiPicker.js +57 -3
  38. package/dist/types/src/components/EmojiPicker.js.map +1 -1
  39. package/dist/types/src/components/HuePicker.d.ts +9 -2
  40. package/dist/types/src/components/HuePicker.d.ts.map +1 -1
  41. package/dist/types/src/components/HuePicker.js +75 -6
  42. package/dist/types/src/components/HuePicker.js.map +1 -1
  43. package/dist/types/src/components/IdentityList/index.d.ts +0 -1
  44. package/dist/types/src/components/IdentityList/index.d.ts.map +1 -1
  45. package/dist/types/src/components/IdentityList/index.js +0 -1
  46. package/dist/types/src/components/IdentityList/index.js.map +1 -1
  47. package/dist/types/src/components/InvitationList/InvitationListItem.js +5 -5
  48. package/dist/types/src/components/InvitationList/InvitationListItem.js.map +1 -1
  49. package/dist/types/src/components/Panel/Action.d.ts +2 -2
  50. package/dist/types/src/components/Viewport/Viewport.d.ts +1 -1
  51. package/dist/types/src/components/index.d.ts +2 -0
  52. package/dist/types/src/components/index.d.ts.map +1 -1
  53. package/dist/types/src/components/index.js +2 -0
  54. package/dist/types/src/components/index.js.map +1 -1
  55. package/dist/types/src/composites/IdentityDialog/IdentityDialog.js +1 -1
  56. package/dist/types/src/composites/IdentityDialog/IdentityDialog.js.map +1 -1
  57. package/dist/types/src/composites/Shell/Shell.d.ts.map +1 -1
  58. package/dist/types/src/composites/Shell/Shell.js +14 -6
  59. package/dist/types/src/composites/Shell/Shell.js.map +1 -1
  60. package/dist/types/src/composites/StatusDialog/StatusDialog.d.ts +2 -0
  61. package/dist/types/src/composites/StatusDialog/StatusDialog.d.ts.map +1 -0
  62. package/dist/types/src/composites/StatusDialog/StatusDialog.js +22 -0
  63. package/dist/types/src/composites/StatusDialog/StatusDialog.js.map +1 -0
  64. package/dist/types/src/composites/StatusDialog/index.d.ts +2 -0
  65. package/dist/types/src/composites/StatusDialog/index.d.ts.map +1 -0
  66. package/dist/types/src/composites/StatusDialog/index.js +21 -0
  67. package/dist/types/src/composites/StatusDialog/index.js.map +1 -0
  68. package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts +1 -1
  69. package/dist/types/src/panels/IdentityPanel/IdentityPanel.d.ts.map +1 -1
  70. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js +89 -42
  71. package/dist/types/src/panels/IdentityPanel/IdentityPanel.js.map +1 -1
  72. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts +0 -3
  73. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.d.ts.map +1 -1
  74. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js +1 -43
  75. package/dist/types/src/panels/IdentityPanel/IdentityPanel.stories.js.map +1 -1
  76. package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts +11 -12
  77. package/dist/types/src/panels/IdentityPanel/IdentityPanelProps.d.ts.map +1 -1
  78. package/dist/types/src/panels/IdentityPanel/identityMachine.d.ts +3 -1
  79. package/dist/types/src/panels/IdentityPanel/identityMachine.d.ts.map +1 -1
  80. package/dist/types/src/panels/IdentityPanel/identityMachine.js +13 -24
  81. package/dist/types/src/panels/IdentityPanel/identityMachine.js.map +1 -1
  82. package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts +4 -4
  83. package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.d.ts.map +1 -1
  84. package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js +9 -39
  85. package/dist/types/src/panels/IdentityPanel/steps/IdentityActionChooser.js.map +1 -1
  86. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts +1 -1
  87. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.d.ts.map +1 -1
  88. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js +2 -2
  89. package/dist/types/src/panels/IdentityPanel/steps/ProfileForm.js.map +1 -1
  90. package/dist/types/src/panels/IdentityPanel/steps/index.d.ts +0 -3
  91. package/dist/types/src/panels/IdentityPanel/steps/index.d.ts.map +1 -1
  92. package/dist/types/src/panels/IdentityPanel/steps/index.js +0 -3
  93. package/dist/types/src/panels/IdentityPanel/steps/index.js.map +1 -1
  94. package/dist/types/src/panels/IdentityPanel/useAgentHandlers.d.ts.map +1 -1
  95. package/dist/types/src/panels/IdentityPanel/useAgentHandlers.js +5 -1
  96. package/dist/types/src/panels/IdentityPanel/useAgentHandlers.js.map +1 -1
  97. package/dist/types/src/panels/JoinPanel/JoinPanel.d.ts +1 -1
  98. package/dist/types/src/panels/JoinPanel/JoinPanel.d.ts.map +1 -1
  99. package/dist/types/src/panels/JoinPanel/JoinPanel.js +12 -5
  100. package/dist/types/src/panels/JoinPanel/JoinPanel.js.map +1 -1
  101. package/dist/types/src/panels/JoinPanel/JoinPanel.stories.d.ts +1 -1
  102. package/dist/types/src/panels/JoinPanel/JoinPanel.stories.d.ts.map +1 -1
  103. package/dist/types/src/panels/JoinPanel/JoinPanel.stories.js +2 -1
  104. package/dist/types/src/panels/JoinPanel/JoinPanel.stories.js.map +1 -1
  105. package/dist/types/src/panels/JoinPanel/JoinPanelProps.d.ts +8 -3
  106. package/dist/types/src/panels/JoinPanel/JoinPanelProps.d.ts.map +1 -1
  107. package/dist/types/src/panels/JoinPanel/joinMachine.d.ts +3 -2
  108. package/dist/types/src/panels/JoinPanel/joinMachine.d.ts.map +1 -1
  109. package/dist/types/src/panels/JoinPanel/joinMachine.js +7 -0
  110. package/dist/types/src/panels/JoinPanel/joinMachine.js.map +1 -1
  111. package/dist/types/src/panels/JoinPanel/steps/index.d.ts +0 -1
  112. package/dist/types/src/panels/JoinPanel/steps/index.d.ts.map +1 -1
  113. package/dist/types/src/panels/JoinPanel/steps/index.js +0 -1
  114. package/dist/types/src/panels/JoinPanel/steps/index.js.map +1 -1
  115. package/dist/types/src/panels/SpacePanel/steps/SpaceManager.d.ts.map +1 -1
  116. package/dist/types/src/panels/SpacePanel/steps/SpaceManager.js +3 -1
  117. package/dist/types/src/panels/SpacePanel/steps/SpaceManager.js.map +1 -1
  118. package/dist/types/src/panels/StatusPanel/StatusPanel.d.ts +4 -0
  119. package/dist/types/src/panels/StatusPanel/StatusPanel.d.ts.map +1 -0
  120. package/dist/types/src/panels/StatusPanel/StatusPanel.js +19 -0
  121. package/dist/types/src/panels/StatusPanel/StatusPanel.js.map +1 -0
  122. package/dist/types/src/panels/StatusPanel/index.d.ts +2 -0
  123. package/dist/types/src/panels/StatusPanel/index.d.ts.map +1 -0
  124. package/dist/types/src/panels/StatusPanel/index.js +21 -0
  125. package/dist/types/src/panels/StatusPanel/index.js.map +1 -0
  126. package/dist/types/src/panels/index.d.ts +1 -0
  127. package/dist/types/src/panels/index.d.ts.map +1 -1
  128. package/dist/types/src/panels/index.js +1 -0
  129. package/dist/types/src/panels/index.js.map +1 -1
  130. package/dist/types/src/playwright/invitations.spec.js +3 -1
  131. package/dist/types/src/playwright/invitations.spec.js.map +1 -1
  132. package/dist/types/src/steps/ConfirmReset.d.ts +16 -0
  133. package/dist/types/src/steps/ConfirmReset.d.ts.map +1 -0
  134. package/dist/types/src/steps/ConfirmReset.js +71 -0
  135. package/dist/types/src/steps/ConfirmReset.js.map +1 -0
  136. package/dist/types/src/steps/InvitationManager.d.ts +1 -1
  137. package/dist/types/src/steps/InvitationManager.d.ts.map +1 -1
  138. package/dist/types/src/steps/InvitationManager.js +3 -4
  139. package/dist/types/src/steps/InvitationManager.js.map +1 -1
  140. package/dist/types/src/steps/StepProps.d.ts +4 -1
  141. package/dist/types/src/steps/StepProps.d.ts.map +1 -1
  142. package/dist/types/src/steps/index.d.ts +1 -0
  143. package/dist/types/src/steps/index.d.ts.map +1 -1
  144. package/dist/types/src/steps/index.js +1 -0
  145. package/dist/types/src/steps/index.js.map +1 -1
  146. package/dist/types/src/stories/Invitations.e2e-stories.d.ts.map +1 -1
  147. package/dist/types/src/stories/Invitations.e2e-stories.js +5 -2
  148. package/dist/types/src/stories/Invitations.e2e-stories.js.map +1 -1
  149. package/dist/types/src/testing/shell-manager.d.ts.map +1 -1
  150. package/dist/types/src/testing/shell-manager.js +10 -9
  151. package/dist/types/src/testing/shell-manager.js.map +1 -1
  152. package/dist/types/src/translations/locales/en-US.d.ts +16 -3
  153. package/dist/types/src/translations/locales/en-US.d.ts.map +1 -1
  154. package/dist/types/src/translations/locales/en-US.js +20 -7
  155. package/dist/types/src/translations/locales/en-US.js.map +1 -1
  156. package/dist/types/src/types/index.js +1 -0
  157. package/dist/types/src/types/index.js.map +1 -1
  158. package/package.json +22 -21
  159. package/src/components/AgentConfig.tsx +66 -0
  160. package/src/components/DeviceList/DeviceList.tsx +54 -0
  161. package/src/components/DeviceList/DeviceListItem.tsx +120 -0
  162. package/src/components/DeviceList/DeviceListProps.ts +33 -0
  163. package/src/components/DeviceList/index.ts +6 -0
  164. package/src/components/EmojiPicker.tsx +101 -4
  165. package/src/components/HuePicker.tsx +99 -5
  166. package/src/components/IdentityList/index.ts +0 -1
  167. package/src/components/InvitationList/InvitationListItem.tsx +5 -5
  168. package/src/components/index.ts +2 -0
  169. package/src/composites/IdentityDialog/IdentityDialog.tsx +1 -1
  170. package/src/composites/Shell/Shell.tsx +17 -4
  171. package/src/composites/StatusDialog/StatusDialog.tsx +24 -0
  172. package/src/composites/StatusDialog/index.ts +5 -0
  173. package/src/panels/IdentityPanel/IdentityPanel.stories.tsx +0 -63
  174. package/src/panels/IdentityPanel/IdentityPanel.tsx +149 -43
  175. package/src/panels/IdentityPanel/IdentityPanelProps.ts +15 -15
  176. package/src/panels/IdentityPanel/identityMachine.ts +17 -25
  177. package/src/panels/IdentityPanel/steps/IdentityActionChooser.tsx +23 -67
  178. package/src/panels/IdentityPanel/steps/ProfileForm.tsx +12 -4
  179. package/src/panels/IdentityPanel/steps/index.ts +0 -3
  180. package/src/panels/IdentityPanel/useAgentHandlers.ts +5 -1
  181. package/src/panels/JoinPanel/JoinPanel.stories.tsx +3 -2
  182. package/src/panels/JoinPanel/JoinPanel.tsx +21 -5
  183. package/src/panels/JoinPanel/JoinPanelProps.ts +9 -3
  184. package/src/panels/JoinPanel/joinMachine.ts +12 -2
  185. package/src/panels/JoinPanel/steps/index.ts +0 -1
  186. package/src/panels/SpacePanel/steps/SpaceManager.tsx +3 -1
  187. package/src/panels/StatusPanel/StatusPanel.tsx +19 -0
  188. package/src/panels/StatusPanel/index.ts +5 -0
  189. package/src/panels/index.ts +1 -0
  190. package/src/playwright/invitations.spec.ts +3 -1
  191. package/src/steps/ConfirmReset.tsx +112 -0
  192. package/src/steps/InvitationManager.tsx +4 -4
  193. package/src/steps/StepProps.ts +2 -1
  194. package/src/steps/index.ts +1 -0
  195. package/src/stories/Invitations.e2e-stories.tsx +6 -3
  196. package/src/testing/shell-manager.ts +10 -9
  197. package/src/translations/locales/en-US.ts +22 -7
  198. package/src/types/index.ts +2 -0
  199. package/dist/types/src/components/IdentityList/DeviceList.d.ts +0 -7
  200. package/dist/types/src/components/IdentityList/DeviceList.d.ts.map +0 -1
  201. package/dist/types/src/components/IdentityList/DeviceList.js +0 -34
  202. package/dist/types/src/components/IdentityList/DeviceList.js.map +0 -1
  203. package/dist/types/src/panels/IdentityPanel/steps/AgentForm.d.ts +0 -3
  204. package/dist/types/src/panels/IdentityPanel/steps/AgentForm.d.ts.map +0 -1
  205. package/dist/types/src/panels/IdentityPanel/steps/AgentForm.js +0 -26
  206. package/dist/types/src/panels/IdentityPanel/steps/AgentForm.js.map +0 -1
  207. package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.d.ts +0 -10
  208. package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.d.ts.map +0 -1
  209. package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.js +0 -23
  210. package/dist/types/src/panels/IdentityPanel/steps/DeviceManager.js.map +0 -1
  211. package/dist/types/src/panels/IdentityPanel/steps/SignOutChooser.d.ts +0 -16
  212. package/dist/types/src/panels/IdentityPanel/steps/SignOutChooser.d.ts.map +0 -1
  213. package/dist/types/src/panels/IdentityPanel/steps/SignOutChooser.js +0 -40
  214. package/dist/types/src/panels/IdentityPanel/steps/SignOutChooser.js.map +0 -1
  215. package/dist/types/src/panels/JoinPanel/steps/ResetIdentity.d.ts +0 -13
  216. package/dist/types/src/panels/JoinPanel/steps/ResetIdentity.d.ts.map +0 -1
  217. package/dist/types/src/panels/JoinPanel/steps/ResetIdentity.js +0 -66
  218. package/dist/types/src/panels/JoinPanel/steps/ResetIdentity.js.map +0 -1
  219. package/src/components/IdentityList/DeviceList.tsx +0 -49
  220. package/src/panels/IdentityPanel/steps/AgentForm.tsx +0 -61
  221. package/src/panels/IdentityPanel/steps/DeviceManager.tsx +0 -41
  222. package/src/panels/IdentityPanel/steps/SignOutChooser.tsx +0 -84
  223. package/src/panels/JoinPanel/steps/ResetIdentity.tsx +0 -80
@@ -1,26 +0,0 @@
1
- "use strict";
2
- //
3
- // Copyright 2023 DXOS.org
4
- //
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.AgentForm = void 0;
10
- const react_1 = __importDefault(require("react"));
11
- const react_ui_1 = require("@dxos/react-ui");
12
- const components_1 = require("../../../components");
13
- const AgentForm = (props) => {
14
- const { active, onAgentCreate, onAgentDestroy, send, validationMessage, agentStatus, agentActive, agentProviderDisabled, } = props;
15
- const disabled = !active;
16
- const { t } = (0, react_ui_1.useTranslation)('os');
17
- return (react_1.default.createElement(react_1.default.Fragment, null,
18
- react_1.default.createElement("div", { role: 'none', className: 'grow flex flex-col justify-center' },
19
- react_1.default.createElement(components_1.Input, { validationMessage, label: react_1.default.createElement(components_1.StepHeading, null, "Agent Status"), disabled: disabled, "data-testid": 'agent-status', value: agentStatus })),
20
- react_1.default.createElement(components_1.Actions, null,
21
- react_1.default.createElement(components_1.Action, { disabled: agentActive || agentProviderDisabled, onClick: () => onAgentCreate === null || onAgentCreate === void 0 ? void 0 : onAgentCreate(), "data-testid": 'create-agent' }, "Create Agent"),
22
- react_1.default.createElement(components_1.Action, { disabled: !agentActive || agentProviderDisabled, onClick: () => onAgentDestroy === null || onAgentDestroy === void 0 ? void 0 : onAgentDestroy(), "data-testid": 'destroy-agent' }, "Destroy Agent"),
23
- react_1.default.createElement(components_1.Action, { disabled: disabled, onClick: () => send === null || send === void 0 ? void 0 : send({ type: 'unchooseAction' }), "data-testid": 'update-profile-form-back' }, t('back label')))));
24
- };
25
- exports.AgentForm = AgentForm;
26
- //# sourceMappingURL=AgentForm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AgentForm.js","sourceRoot":"","sources":["../../../../../../src/panels/IdentityPanel/steps/AgentForm.tsx"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAE1B,6CAAgD;AAEhD,oDAA0E;AAGnE,MAAM,SAAS,GAAG,CAAC,KAA8C,EAAE,EAAE;IAC1E,MAAM,EACJ,MAAM,EACN,aAAa,EACb,cAAc,EACd,IAAI,EACJ,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,qBAAqB,GACtB,GAAG,KAAK,CAAC;IACV,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC;IACzB,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAC;IACnC,OAAO,CACL;QACE,uCAAK,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,mCAAmC;YAC5D,8BAAC,kBAAK,IACE,iBAAiB,EACvB,KAAK,EAAE,8BAAC,wBAAW,uBAA2B,EAC9C,QAAQ,EAAE,QAAQ,iBACN,cAAc,EAC1B,KAAK,EAAE,WAAW,GAClB,CACE;QACN,8BAAC,oBAAO;YACN,8BAAC,mBAAM,IACL,QAAQ,EAAE,WAAW,IAAI,qBAAqB,EAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,aAAb,aAAa,uBAAb,aAAa,EAAI,iBACnB,cAAc,mBAGpB;YACT,8BAAC,mBAAM,IACL,QAAQ,EAAE,CAAC,WAAW,IAAI,qBAAqB,EAC/C,OAAO,EAAE,GAAG,EAAE,CAAC,cAAc,aAAd,cAAc,uBAAd,cAAc,EAAI,iBACpB,eAAe,oBAGrB;YACT,8BAAC,mBAAM,IACL,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,iBACpC,0BAA0B,IAEtC,CAAC,CAAC,YAAY,CAAC,CACT,CACD,CACT,CACJ,CAAC;AACJ,CAAC,CAAC;AAjDW,QAAA,SAAS,aAiDpB"}
@@ -1,10 +0,0 @@
1
- import { type Event, type SingleOrArray } from 'xstate';
2
- import { type Device } from '@dxos/react-client/halo';
3
- import type { IdentityPanelStepProps } from '../IdentityPanelProps';
4
- import type { IdentityEvent } from '../identityMachine';
5
- export interface DeviceManagerProps extends Omit<IdentityPanelStepProps, 'send'> {
6
- send?: (event: SingleOrArray<Event<IdentityEvent>>) => void;
7
- devices: Device[];
8
- }
9
- export declare const DeviceManager: ({ devices, active, send }: DeviceManagerProps) => JSX.Element;
10
- //# sourceMappingURL=DeviceManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeviceManager.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/IdentityPanel/steps/DeviceManager.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAExD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAItD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAC9E,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,CAAC;IAC5D,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,eAAO,MAAM,aAAa,8BAA+B,kBAAkB,gBAqB1E,CAAC"}
@@ -1,23 +0,0 @@
1
- "use strict";
2
- //
3
- // Copyright 2023 DXOS.org
4
- //
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.DeviceManager = void 0;
10
- const react_1 = __importDefault(require("react"));
11
- const react_ui_1 = require("@dxos/react-ui");
12
- const components_1 = require("../../../components");
13
- const DeviceManager = ({ devices, active, send }) => {
14
- const { t } = (0, react_ui_1.useTranslation)('os');
15
- const disabled = !active;
16
- return (react_1.default.createElement(react_1.default.Fragment, null,
17
- react_1.default.createElement("div", { role: 'none', className: 'grow' },
18
- react_1.default.createElement(components_1.DeviceList, { devices: devices })),
19
- react_1.default.createElement(components_1.Actions, null,
20
- react_1.default.createElement(components_1.Action, { variant: 'ghost', disabled: disabled, onClick: () => send === null || send === void 0 ? void 0 : send({ type: 'unchooseAction' }), "data-testid": 'manage-devices-back' }, t('back label')))));
21
- };
22
- exports.DeviceManager = DeviceManager;
23
- //# sourceMappingURL=DeviceManager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeviceManager.js","sourceRoot":"","sources":["../../../../../../src/panels/IdentityPanel/steps/DeviceManager.tsx"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,kDAA0B;AAI1B,6CAAgD;AAEhD,oDAAkE;AAS3D,MAAM,aAAa,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAsB,EAAE,EAAE;IAC7E,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC;IAEzB,OAAO,CACL;QACE,uCAAK,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,MAAM;YAC/B,8BAAC,uBAAU,IAAC,OAAO,EAAE,OAAO,GAAI,CAC5B;QACN,8BAAC,oBAAO;YACN,8BAAC,mBAAM,IACL,OAAO,EAAC,OAAO,EACf,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,iBACpC,qBAAqB,IAEjC,CAAC,CAAC,YAAY,CAAC,CACT,CACD,CACT,CACJ,CAAC;AACJ,CAAC,CAAC;AArBW,QAAA,aAAa,iBAqBxB"}
@@ -1,16 +0,0 @@
1
- import { type Event, type SingleOrArray } from 'xstate';
2
- import { type IdentityPanelStepProps } from '../IdentityPanelProps';
3
- import { type IdentityEvent } from '../identityMachine';
4
- export interface SignOutChooserProps extends Omit<IdentityPanelStepProps, 'send'> {
5
- send?: (event: SingleOrArray<Event<IdentityEvent>>) => void;
6
- onResetDevice?: () => Promise<void>;
7
- onJoinNewIdentity?: () => void;
8
- }
9
- export declare const SignOutChooser: (props: SignOutChooserProps) => JSX.Element;
10
- export type SignOutChooserImplProps = {
11
- disabled?: boolean;
12
- onResetDevice?: () => void;
13
- onJoinNewIdentity?: () => void;
14
- onBack?: () => void;
15
- };
16
- //# sourceMappingURL=SignOutChooser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignOutChooser.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/IdentityPanel/steps/SignOutChooser.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,KAAK,EAAE,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAC;AAMxD,OAAO,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAC/E,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,IAAI,CAAC;IAC5D,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,eAAO,MAAM,cAAc,UAAW,mBAAmB,gBAexD,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- //
3
- // Copyright 2023 DXOS.org
4
- //
5
- var __importDefault = (this && this.__importDefault) || function (mod) {
6
- return (mod && mod.__esModule) ? mod : { "default": mod };
7
- };
8
- Object.defineProperty(exports, "__esModule", { value: true });
9
- exports.SignOutChooser = void 0;
10
- const react_1 = require("@phosphor-icons/react");
11
- const react_2 = __importDefault(require("react"));
12
- const react_ui_1 = require("@dxos/react-ui");
13
- const react_ui_theme_1 = require("@dxos/react-ui-theme");
14
- const components_1 = require("../../../components");
15
- const SignOutChooser = (props) => {
16
- const { t } = (0, react_ui_1.useTranslation)('os');
17
- const onResetDevice = () => {
18
- var _a;
19
- if (window.confirm(t('reset device confirm message'))) {
20
- void ((_a = props.onResetDevice) === null || _a === void 0 ? void 0 : _a.call(props));
21
- }
22
- };
23
- return (react_2.default.createElement(SignOutChooserImpl, { disabled: !props.active, onBack: () => { var _a; return (_a = props.send) === null || _a === void 0 ? void 0 : _a.call(props, { type: 'unchooseAction' }); }, onResetDevice: onResetDevice, onJoinNewIdentity: props.onJoinNewIdentity }));
24
- };
25
- exports.SignOutChooser = SignOutChooser;
26
- const SignOutChooserImpl = ({ disabled, onResetDevice, onJoinNewIdentity, onBack }) => {
27
- const { t } = (0, react_ui_1.useTranslation)('os');
28
- return (react_2.default.createElement(react_2.default.Fragment, null,
29
- react_2.default.createElement("div", { role: 'none', className: 'grow flex flex-col justify-center' },
30
- react_2.default.createElement(react_ui_1.Message.Root, { valence: 'error' },
31
- react_2.default.createElement(react_ui_1.Message.Title, null,
32
- react_2.default.createElement(react_1.Warning, { className: (0, react_ui_theme_1.mx)((0, react_ui_theme_1.getSize)(6), 'inline mie-2') }),
33
- t('sign out chooser title')),
34
- react_2.default.createElement(react_ui_1.Message.Body, null, t('sign out chooser message')))),
35
- react_2.default.createElement(components_1.Actions, null,
36
- react_2.default.createElement(components_1.Action, { disabled: disabled, onClick: onBack }, t('back label')),
37
- react_2.default.createElement(components_1.Action, { variant: 'primary', "data-testid": 'sign-out.join-new-identity', classNames: '!bg-error-500 hover:!bg-error-550', disabled: disabled, onClick: onJoinNewIdentity }, t('join new identity label')),
38
- react_2.default.createElement(components_1.Action, { variant: 'primary', "data-testid": 'sign-out.reset-device', classNames: '!bg-error-500 hover:!bg-error-550', disabled: disabled, onClick: onResetDevice }, t('reset device label')))));
39
- };
40
- //# sourceMappingURL=SignOutChooser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SignOutChooser.js","sourceRoot":"","sources":["../../../../../../src/panels/IdentityPanel/steps/SignOutChooser.tsx"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;AAEF,iDAAgD;AAChD,kDAA0B;AAG1B,6CAAyD;AACzD,yDAAmD;AAEnD,oDAAsD;AAU/C,MAAM,cAAc,GAAG,CAAC,KAA0B,EAAE,EAAE;IAC3D,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,aAAa,GAAG,GAAG,EAAE;;QACzB,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,EAAE;YACrD,KAAK,CAAA,MAAA,KAAK,CAAC,aAAa,qDAAI,CAAA,CAAC;SAC9B;IACH,CAAC,CAAC;IACF,OAAO,CACL,8BAAC,kBAAkB,IACjB,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,EACvB,MAAM,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,KAAK,CAAC,IAAI,sDAAG,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAA,EAAA,EACtD,aAAa,EAAE,aAAa,EAC5B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB,GAC1C,CACH,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,cAAc,kBAezB;AASF,MAAM,kBAAkB,GAAG,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,EAA2B,EAAE,EAAE;IAC7G,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAC;IACnC,OAAO,CACL;QACE,uCAAK,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,mCAAmC;YAC5D,8BAAC,kBAAO,CAAC,IAAI,IAAC,OAAO,EAAC,OAAO;gBAC3B,8BAAC,kBAAO,CAAC,KAAK;oBACZ,8BAAC,eAAO,IAAC,SAAS,EAAE,IAAA,mBAAE,EAAC,IAAA,wBAAO,EAAC,CAAC,CAAC,EAAE,cAAc,CAAC,GAAI;oBACrD,CAAC,CAAC,wBAAwB,CAAC,CACd;gBAChB,8BAAC,kBAAO,CAAC,IAAI,QAAE,CAAC,CAAC,0BAA0B,CAAC,CAAgB,CAC/C,CACX;QACN,8BAAC,oBAAO;YACN,8BAAC,mBAAM,IAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,IACxC,CAAC,CAAC,YAAY,CAAC,CACT;YACT,8BAAC,mBAAM,IACL,OAAO,EAAC,SAAS,iBACL,4BAA4B,EACxC,UAAU,EAAC,mCAAmC,EAC9C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,iBAAiB,IAEzB,CAAC,CAAC,yBAAyB,CAAC,CACtB;YACT,8BAAC,mBAAM,IACL,OAAO,EAAC,SAAS,iBACL,uBAAuB,EACnC,UAAU,EAAC,mCAAmC,EAC9C,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,IAErB,CAAC,CAAC,oBAAoB,CAAC,CACjB,CACD,CACT,CACJ,CAAC;AACJ,CAAC,CAAC"}
@@ -1,13 +0,0 @@
1
- import { type JoinStepProps } from '../JoinPanelProps';
2
- export type ResetIdentityProps = JoinStepProps & {
3
- method: 'reset identity';
4
- };
5
- export type ResetIdentityImplProps = {
6
- disabled?: boolean;
7
- pending?: boolean;
8
- validationMessage?: string;
9
- onConfirm?: () => void;
10
- };
11
- export declare const ResetIdentity: ({ send, active }: ResetIdentityProps) => JSX.Element;
12
- export declare const ResetIdentityImpl: ({ disabled, pending, validationMessage, onConfirm }: ResetIdentityImplProps) => JSX.Element;
13
- //# sourceMappingURL=ResetIdentity.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResetIdentity.d.ts","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/steps/ResetIdentity.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,MAAM,kBAAkB,GAAG,aAAa,GAAG;IAC/C,MAAM,EAAE,gBAAgB,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,aAAa,qBAAsB,kBAAkB,gBAwBjE,CAAC;AAEF,eAAO,MAAM,iBAAiB,wDAAyD,sBAAsB,gBA6B5G,CAAC"}
@@ -1,66 +0,0 @@
1
- "use strict";
2
- //
3
- // Copyright 2023 DXOS.org
4
- //
5
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- var desc = Object.getOwnPropertyDescriptor(m, k);
8
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
- desc = { enumerable: true, get: function() { return m[k]; } };
10
- }
11
- Object.defineProperty(o, k2, desc);
12
- }) : (function(o, m, k, k2) {
13
- if (k2 === undefined) k2 = k;
14
- o[k2] = m[k];
15
- }));
16
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
- Object.defineProperty(o, "default", { enumerable: true, value: v });
18
- }) : function(o, v) {
19
- o["default"] = v;
20
- });
21
- var __importStar = (this && this.__importStar) || function (mod) {
22
- if (mod && mod.__esModule) return mod;
23
- var result = {};
24
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
25
- __setModuleDefault(result, mod);
26
- return result;
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.ResetIdentityImpl = exports.ResetIdentity = void 0;
30
- const react_1 = __importStar(require("react"));
31
- const log_1 = require("@dxos/log");
32
- const react_client_1 = require("@dxos/react-client");
33
- const react_ui_1 = require("@dxos/react-ui");
34
- const components_1 = require("../../../components");
35
- const ResetIdentity = ({ send, active }) => {
36
- const client = (0, react_client_1.useClient)();
37
- const { t } = (0, react_ui_1.useTranslation)('os');
38
- const [validationMessage, setValidationMessage] = (0, react_1.useState)('');
39
- const [pending, setPending] = (0, react_1.useState)(false);
40
- const resetIdentity = () => {
41
- setPending(true);
42
- void client.reset().then(() => send === null || send === void 0 ? void 0 : send({ type: 'resetIdentity' }), (error) => {
43
- log_1.log.catch(error);
44
- setValidationMessage(t('failed to reset identity message'));
45
- setPending(false);
46
- });
47
- };
48
- return (react_1.default.createElement(exports.ResetIdentityImpl, { disabled: !active, pending: pending, validationMessage: validationMessage, onConfirm: () => resetIdentity() }));
49
- };
50
- exports.ResetIdentity = ResetIdentity;
51
- const ResetIdentityImpl = ({ disabled, pending, validationMessage, onConfirm }) => {
52
- const { t } = (0, react_ui_1.useTranslation)('os');
53
- const confirmationValue = t('confirmation value');
54
- const [inputValue, setInputValue] = (0, react_1.useState)('');
55
- return (react_1.default.createElement(react_1.default.Fragment, null,
56
- react_1.default.createElement("div", { role: 'none', className: 'grow flex flex-col justify-center' },
57
- react_1.default.createElement(components_1.Input, { validationMessage, label: react_1.default.createElement(components_1.StepHeading, null, t('reset identity input label', { confirmationValue })), disabled: disabled, "data-testid": 'reset-identity-input', placeholder: confirmationValue, onChange: ({ target: { value } }) => setInputValue(value) })),
58
- react_1.default.createElement(components_1.Actions, null,
59
- react_1.default.createElement(components_1.Action
60
- // TODO(wittjosiah): Probably make this red?
61
- , {
62
- // TODO(wittjosiah): Probably make this red?
63
- variant: 'primary', disabled: disabled || pending || inputValue !== confirmationValue, onClick: () => onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(), "data-testid": 'reset-identity-input-confirm' }, pending ? t('reset in progress label') : t('confirm label')))));
64
- };
65
- exports.ResetIdentityImpl = ResetIdentityImpl;
66
- //# sourceMappingURL=ResetIdentity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ResetIdentity.js","sourceRoot":"","sources":["../../../../../../src/panels/JoinPanel/steps/ResetIdentity.tsx"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;AAEF,+CAAwC;AAExC,mCAAgC;AAChC,qDAA+C;AAC/C,6CAAgD;AAEhD,oDAA0E;AAcnE,MAAM,aAAa,GAAG,CAAC,EAAE,IAAI,EAAE,MAAM,EAAsB,EAAE,EAAE;IACpE,MAAM,MAAM,GAAG,IAAA,wBAAS,GAAE,CAAC;IAC3B,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IAC/D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CACtB,GAAG,EAAE,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAG,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,EACvC,CAAC,KAAK,EAAE,EAAE;YACR,SAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjB,oBAAoB,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC5D,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC,CACF,CAAC;IACJ,CAAC,CAAC;IACF,OAAO,CACL,8BAAC,yBAAiB,IAChB,QAAQ,EAAE,CAAC,MAAM,EACjB,OAAO,EAAE,OAAO,EAChB,iBAAiB,EAAE,iBAAiB,EACpC,SAAS,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,GAChC,CACH,CAAC;AACJ,CAAC,CAAC;AAxBW,QAAA,aAAa,iBAwBxB;AAEK,MAAM,iBAAiB,GAAG,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAA0B,EAAE,EAAE;IAC/G,MAAM,EAAE,CAAC,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAC;IACnC,MAAM,iBAAiB,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAClD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,IAAA,gBAAQ,EAAC,EAAE,CAAC,CAAC;IACjD,OAAO,CACL;QACE,uCAAK,IAAI,EAAC,MAAM,EAAC,SAAS,EAAC,mCAAmC;YAC5D,8BAAC,kBAAK,IACE,iBAAiB,EACvB,KAAK,EAAE,8BAAC,wBAAW,QAAE,CAAC,CAAC,4BAA4B,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAe,EAC1F,QAAQ,EAAE,QAAQ,iBACN,sBAAsB,EAClC,WAAW,EAAE,iBAAiB,EAC9B,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,GACzD,CACE;QACN,8BAAC,oBAAO;YACN,8BAAC,mBAAM;YACL,4CAA4C;;gBAA5C,4CAA4C;gBAC5C,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,QAAQ,IAAI,OAAO,IAAI,UAAU,KAAK,iBAAiB,EACjE,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,EAAI,iBAChB,8BAA8B,IAEzC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,CACrD,CACD,CACT,CACJ,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,iBAAiB,qBA6B5B"}
@@ -1,49 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { generateName } from '@dxos/display-name';
8
- import { type Device, DeviceType } from '@dxos/react-client/halo';
9
- import { List, useTranslation } from '@dxos/react-ui';
10
- import { descriptionText, mx } from '@dxos/react-ui-theme';
11
-
12
- import { IdentityListItem } from './IdentityListItem';
13
-
14
- export interface DeviceListProps {
15
- devices: Device[];
16
- onSelect?: (device: Device) => void;
17
- }
18
-
19
- export const DeviceList = ({ devices, onSelect }: DeviceListProps) => {
20
- const { t } = useTranslation('os');
21
- return devices.length > 0 ? (
22
- <List classNames='flex flex-col gap-2'>
23
- {devices.map((device) => {
24
- // TODO(wittjosiah): Render this better. Consider communicating these as apps rather than devices.
25
- const deviceType = device.profile?.type || DeviceType.UNKNOWN;
26
- const displayName = device.profile?.label
27
- ? `${device.profile.label} (${DeviceType[deviceType]})`
28
- : generateName(device.deviceKey.toHex());
29
-
30
- const identity = {
31
- identityKey: device.deviceKey,
32
- profile: { displayName },
33
- };
34
- return (
35
- <IdentityListItem
36
- key={device.deviceKey.toHex()}
37
- identity={identity}
38
- presence={device.presence}
39
- onClick={onSelect && (() => onSelect(device))}
40
- />
41
- );
42
- })}
43
- </List>
44
- ) : (
45
- <div role='none' className='grow flex items-center p-2'>
46
- <p className={mx(descriptionText, 'text-center is-full')}>{t('empty device list message')}</p>
47
- </div>
48
- );
49
- };
@@ -1,61 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
-
7
- import { useTranslation } from '@dxos/react-ui';
8
-
9
- import { Action, Actions, StepHeading, Input } from '../../../components';
10
- import { type AgentFormProps, type IdentityPanelStepProps } from '../IdentityPanelProps';
11
-
12
- export const AgentForm = (props: IdentityPanelStepProps & AgentFormProps) => {
13
- const {
14
- active,
15
- onAgentCreate,
16
- onAgentDestroy,
17
- send,
18
- validationMessage,
19
- agentStatus,
20
- agentActive,
21
- agentProviderDisabled,
22
- } = props;
23
- const disabled = !active;
24
- const { t } = useTranslation('os');
25
- return (
26
- <>
27
- <div role='none' className='grow flex flex-col justify-center'>
28
- <Input
29
- {...{ validationMessage }}
30
- label={<StepHeading>Agent Status</StepHeading>}
31
- disabled={disabled}
32
- data-testid='agent-status'
33
- value={agentStatus}
34
- />
35
- </div>
36
- <Actions>
37
- <Action
38
- disabled={agentActive || agentProviderDisabled}
39
- onClick={() => onAgentCreate?.()}
40
- data-testid={'create-agent'}
41
- >
42
- Create Agent
43
- </Action>
44
- <Action
45
- disabled={!agentActive || agentProviderDisabled}
46
- onClick={() => onAgentDestroy?.()}
47
- data-testid={'destroy-agent'}
48
- >
49
- Destroy Agent
50
- </Action>
51
- <Action
52
- disabled={disabled}
53
- onClick={() => send?.({ type: 'unchooseAction' })}
54
- data-testid={'update-profile-form-back'}
55
- >
56
- {t('back label')}
57
- </Action>
58
- </Actions>
59
- </>
60
- );
61
- };
@@ -1,41 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React from 'react';
6
- import { type Event, type SingleOrArray } from 'xstate';
7
-
8
- import { type Device } from '@dxos/react-client/halo';
9
- import { useTranslation } from '@dxos/react-ui';
10
-
11
- import { Action, Actions, DeviceList } from '../../../components';
12
- import type { IdentityPanelStepProps } from '../IdentityPanelProps';
13
- import type { IdentityEvent } from '../identityMachine';
14
-
15
- export interface DeviceManagerProps extends Omit<IdentityPanelStepProps, 'send'> {
16
- send?: (event: SingleOrArray<Event<IdentityEvent>>) => void;
17
- devices: Device[];
18
- }
19
-
20
- export const DeviceManager = ({ devices, active, send }: DeviceManagerProps) => {
21
- const { t } = useTranslation('os');
22
- const disabled = !active;
23
-
24
- return (
25
- <>
26
- <div role='none' className='grow'>
27
- <DeviceList devices={devices} />
28
- </div>
29
- <Actions>
30
- <Action
31
- variant='ghost'
32
- disabled={disabled}
33
- onClick={() => send?.({ type: 'unchooseAction' })}
34
- data-testid={'manage-devices-back'}
35
- >
36
- {t('back label')}
37
- </Action>
38
- </Actions>
39
- </>
40
- );
41
- };
@@ -1,84 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import { Warning } from '@phosphor-icons/react';
6
- import React from 'react';
7
- import { type Event, type SingleOrArray } from 'xstate';
8
-
9
- import { Message, useTranslation } from '@dxos/react-ui';
10
- import { getSize, mx } from '@dxos/react-ui-theme';
11
-
12
- import { Action, Actions } from '../../../components';
13
- import { type IdentityPanelStepProps } from '../IdentityPanelProps';
14
- import { type IdentityEvent } from '../identityMachine';
15
-
16
- export interface SignOutChooserProps extends Omit<IdentityPanelStepProps, 'send'> {
17
- send?: (event: SingleOrArray<Event<IdentityEvent>>) => void;
18
- onResetDevice?: () => Promise<void>;
19
- onJoinNewIdentity?: () => void;
20
- }
21
-
22
- export const SignOutChooser = (props: SignOutChooserProps) => {
23
- const { t } = useTranslation('os');
24
- const onResetDevice = () => {
25
- if (window.confirm(t('reset device confirm message'))) {
26
- void props.onResetDevice?.();
27
- }
28
- };
29
- return (
30
- <SignOutChooserImpl
31
- disabled={!props.active}
32
- onBack={() => props.send?.({ type: 'unchooseAction' })}
33
- onResetDevice={onResetDevice}
34
- onJoinNewIdentity={props.onJoinNewIdentity}
35
- />
36
- );
37
- };
38
-
39
- export type SignOutChooserImplProps = {
40
- disabled?: boolean;
41
- onResetDevice?: () => void;
42
- onJoinNewIdentity?: () => void;
43
- onBack?: () => void;
44
- };
45
-
46
- const SignOutChooserImpl = ({ disabled, onResetDevice, onJoinNewIdentity, onBack }: SignOutChooserImplProps) => {
47
- const { t } = useTranslation('os');
48
- return (
49
- <>
50
- <div role='none' className='grow flex flex-col justify-center'>
51
- <Message.Root valence='error'>
52
- <Message.Title>
53
- <Warning className={mx(getSize(6), 'inline mie-2')} />
54
- {t('sign out chooser title')}
55
- </Message.Title>
56
- <Message.Body>{t('sign out chooser message')}</Message.Body>
57
- </Message.Root>
58
- </div>
59
- <Actions>
60
- <Action disabled={disabled} onClick={onBack}>
61
- {t('back label')}
62
- </Action>
63
- <Action
64
- variant='primary'
65
- data-testid='sign-out.join-new-identity'
66
- classNames='!bg-error-500 hover:!bg-error-550'
67
- disabled={disabled}
68
- onClick={onJoinNewIdentity}
69
- >
70
- {t('join new identity label')}
71
- </Action>
72
- <Action
73
- variant='primary'
74
- data-testid='sign-out.reset-device'
75
- classNames='!bg-error-500 hover:!bg-error-550'
76
- disabled={disabled}
77
- onClick={onResetDevice}
78
- >
79
- {t('reset device label')}
80
- </Action>
81
- </Actions>
82
- </>
83
- );
84
- };
@@ -1,80 +0,0 @@
1
- //
2
- // Copyright 2023 DXOS.org
3
- //
4
-
5
- import React, { useState } from 'react';
6
-
7
- import { log } from '@dxos/log';
8
- import { useClient } from '@dxos/react-client';
9
- import { useTranslation } from '@dxos/react-ui';
10
-
11
- import { Action, Actions, StepHeading, Input } from '../../../components';
12
- import { type JoinStepProps } from '../JoinPanelProps';
13
-
14
- export type ResetIdentityProps = JoinStepProps & {
15
- method: 'reset identity';
16
- };
17
-
18
- export type ResetIdentityImplProps = {
19
- disabled?: boolean;
20
- pending?: boolean;
21
- validationMessage?: string;
22
- onConfirm?: () => void;
23
- };
24
-
25
- export const ResetIdentity = ({ send, active }: ResetIdentityProps) => {
26
- const client = useClient();
27
- const { t } = useTranslation('os');
28
- const [validationMessage, setValidationMessage] = useState('');
29
- const [pending, setPending] = useState(false);
30
- const resetIdentity = () => {
31
- setPending(true);
32
- void client.reset().then(
33
- () => send?.({ type: 'resetIdentity' }),
34
- (error) => {
35
- log.catch(error);
36
- setValidationMessage(t('failed to reset identity message'));
37
- setPending(false);
38
- },
39
- );
40
- };
41
- return (
42
- <ResetIdentityImpl
43
- disabled={!active}
44
- pending={pending}
45
- validationMessage={validationMessage}
46
- onConfirm={() => resetIdentity()}
47
- />
48
- );
49
- };
50
-
51
- export const ResetIdentityImpl = ({ disabled, pending, validationMessage, onConfirm }: ResetIdentityImplProps) => {
52
- const { t } = useTranslation('os');
53
- const confirmationValue = t('confirmation value');
54
- const [inputValue, setInputValue] = useState('');
55
- return (
56
- <>
57
- <div role='none' className='grow flex flex-col justify-center'>
58
- <Input
59
- {...{ validationMessage }}
60
- label={<StepHeading>{t('reset identity input label', { confirmationValue })}</StepHeading>}
61
- disabled={disabled}
62
- data-testid='reset-identity-input'
63
- placeholder={confirmationValue}
64
- onChange={({ target: { value } }) => setInputValue(value)}
65
- />
66
- </div>
67
- <Actions>
68
- <Action
69
- // TODO(wittjosiah): Probably make this red?
70
- variant='primary'
71
- disabled={disabled || pending || inputValue !== confirmationValue}
72
- onClick={() => onConfirm?.()}
73
- data-testid='reset-identity-input-confirm'
74
- >
75
- {pending ? t('reset in progress label') : t('confirm label')}
76
- </Action>
77
- </Actions>
78
- </>
79
- );
80
- };