@dxos/plugin-client 0.8.2-staging.7ac8446 → 0.8.2

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 (156) hide show
  1. package/dist/lib/browser/{app-graph-builder-WAS4YZNA.mjs → app-graph-builder-CBRN2DMK.mjs} +36 -32
  2. package/dist/lib/browser/app-graph-builder-CBRN2DMK.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-DCUIJY75.mjs +694 -0
  4. package/dist/lib/browser/chunk-DCUIJY75.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-IA3AVM4I.mjs +111 -0
  6. package/dist/lib/browser/chunk-IA3AVM4I.mjs.map +7 -0
  7. package/dist/lib/browser/{chunk-BGY6BSUC.mjs → chunk-PSSNS4C6.mjs} +2 -2
  8. package/dist/lib/{node-esm/chunk-K3KGGSJZ.mjs.map → browser/chunk-PSSNS4C6.mjs.map} +1 -1
  9. package/dist/lib/browser/{chunk-4PLF3BEB.mjs → chunk-UCVFWBKT.mjs} +2 -2
  10. package/dist/lib/{node-esm/chunk-BP56BGZR.mjs.map → browser/chunk-UCVFWBKT.mjs.map} +1 -1
  11. package/dist/lib/browser/{client-LV67Q3R7.mjs → client-NMS3MSFP.mjs} +5 -4
  12. package/dist/lib/browser/client-NMS3MSFP.mjs.map +7 -0
  13. package/dist/lib/browser/index.mjs +12 -12
  14. package/dist/lib/browser/index.mjs.map +3 -3
  15. package/dist/lib/browser/{intent-resolver-NCISOZW4.mjs → intent-resolver-KGM6A3BF.mjs} +14 -14
  16. package/dist/lib/browser/intent-resolver-KGM6A3BF.mjs.map +7 -0
  17. package/dist/lib/browser/meta.json +1 -1
  18. package/dist/lib/browser/migrations-QRQV6ZAM.mjs +23 -0
  19. package/dist/lib/browser/migrations-QRQV6ZAM.mjs.map +7 -0
  20. package/dist/lib/browser/{react-context-WEH7SL4I.mjs → react-context-IE2O2OYK.mjs} +2 -2
  21. package/dist/lib/browser/{react-surface-J7SZR2J6.mjs → react-surface-CKZHHWY3.mjs} +3 -3
  22. package/dist/lib/browser/schema-defs-DNRDVQQJ.mjs +25 -0
  23. package/dist/lib/browser/schema-defs-DNRDVQQJ.mjs.map +7 -0
  24. package/dist/lib/browser/types.mjs +1 -1
  25. package/dist/lib/node/{app-graph-builder-PXOJZJO5.cjs → app-graph-builder-BEEYM3A5.cjs} +45 -41
  26. package/dist/lib/node/app-graph-builder-BEEYM3A5.cjs.map +7 -0
  27. package/dist/lib/node/chunk-73HHNJMV.cjs +719 -0
  28. package/dist/lib/node/chunk-73HHNJMV.cjs.map +7 -0
  29. package/dist/lib/node/chunk-BL6EBWOS.cjs +131 -0
  30. package/dist/lib/node/chunk-BL6EBWOS.cjs.map +7 -0
  31. package/dist/lib/node/{chunk-ZVQIICEN.cjs → chunk-CIYUKY3J.cjs} +5 -5
  32. package/dist/lib/node/{chunk-ZVQIICEN.cjs.map → chunk-CIYUKY3J.cjs.map} +1 -1
  33. package/dist/lib/node/{chunk-W64EOF2B.cjs → chunk-DNKJCPU7.cjs} +5 -5
  34. package/dist/lib/node/{chunk-W64EOF2B.cjs.map → chunk-DNKJCPU7.cjs.map} +1 -1
  35. package/dist/lib/node/{client-BKTGRBYM.cjs → client-Q3EQS4HA.cjs} +10 -9
  36. package/dist/lib/node/client-Q3EQS4HA.cjs.map +7 -0
  37. package/dist/lib/node/index.cjs +19 -19
  38. package/dist/lib/node/index.cjs.map +3 -3
  39. package/dist/lib/node/{intent-resolver-U2576ALY.cjs → intent-resolver-Q4QBA5B2.cjs} +34 -34
  40. package/dist/lib/node/intent-resolver-Q4QBA5B2.cjs.map +7 -0
  41. package/dist/lib/node/meta.json +1 -1
  42. package/dist/lib/node/{migrations-TGNI4FVL.cjs → migrations-6FEWMF7U.cjs} +12 -10
  43. package/dist/lib/node/migrations-6FEWMF7U.cjs.map +7 -0
  44. package/dist/lib/node/{react-context-SF3M3YLR.cjs → react-context-JS7Y5ZOK.cjs} +6 -6
  45. package/dist/lib/node/{react-surface-BSTIXMER.cjs → react-surface-GHKLUOKW.cjs} +24 -24
  46. package/dist/lib/node/{schema-INQ72F54.cjs → schema-defs-TA52ARBO.cjs} +14 -12
  47. package/dist/lib/node/schema-defs-TA52ARBO.cjs.map +7 -0
  48. package/dist/lib/node/types.cjs +3 -3
  49. package/dist/lib/node/types.cjs.map +1 -1
  50. package/dist/lib/node-esm/{app-graph-builder-KIN6NWFI.mjs → app-graph-builder-OZEAAKNT.mjs} +36 -32
  51. package/dist/lib/node-esm/app-graph-builder-OZEAAKNT.mjs.map +7 -0
  52. package/dist/lib/node-esm/{chunk-K3KGGSJZ.mjs → chunk-37E3EI46.mjs} +2 -2
  53. package/dist/lib/{browser/chunk-BGY6BSUC.mjs.map → node-esm/chunk-37E3EI46.mjs.map} +1 -1
  54. package/dist/lib/node-esm/{chunk-BP56BGZR.mjs → chunk-FJYSQRBO.mjs} +2 -2
  55. package/dist/lib/{browser/chunk-4PLF3BEB.mjs.map → node-esm/chunk-FJYSQRBO.mjs.map} +1 -1
  56. package/dist/lib/node-esm/chunk-STGGUFV2.mjs +112 -0
  57. package/dist/lib/node-esm/chunk-STGGUFV2.mjs.map +7 -0
  58. package/dist/lib/node-esm/chunk-ULXZABZ4.mjs +695 -0
  59. package/dist/lib/node-esm/chunk-ULXZABZ4.mjs.map +7 -0
  60. package/dist/lib/node-esm/{client-QQD6WFOB.mjs → client-EBFQZRSF.mjs} +5 -4
  61. package/dist/lib/node-esm/client-EBFQZRSF.mjs.map +7 -0
  62. package/dist/lib/node-esm/index.mjs +12 -12
  63. package/dist/lib/node-esm/index.mjs.map +3 -3
  64. package/dist/lib/node-esm/{intent-resolver-G25U4UGI.mjs → intent-resolver-2GCG4LCE.mjs} +14 -14
  65. package/dist/lib/node-esm/intent-resolver-2GCG4LCE.mjs.map +7 -0
  66. package/dist/lib/node-esm/meta.json +1 -1
  67. package/dist/lib/node-esm/{migrations-IVGATGZR.mjs → migrations-AK43ZE6G.mjs} +9 -7
  68. package/dist/lib/node-esm/migrations-AK43ZE6G.mjs.map +7 -0
  69. package/dist/lib/node-esm/{react-context-EAKKTE5A.mjs → react-context-6N7NMUJE.mjs} +2 -2
  70. package/dist/lib/node-esm/{react-surface-ZPI7T4EM.mjs → react-surface-UCUL26AF.mjs} +3 -3
  71. package/dist/lib/node-esm/schema-defs-O2KQQXJH.mjs +26 -0
  72. package/dist/lib/node-esm/schema-defs-O2KQQXJH.mjs.map +7 -0
  73. package/dist/lib/node-esm/types.mjs +1 -1
  74. package/dist/types/src/ClientPlugin.d.ts.map +1 -1
  75. package/dist/types/src/capabilities/app-graph-builder.d.ts +2 -179
  76. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  77. package/dist/types/src/capabilities/client.d.ts +3 -3
  78. package/dist/types/src/capabilities/client.d.ts.map +1 -1
  79. package/dist/types/src/capabilities/index.d.ts +5 -181
  80. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  81. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
  82. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  83. package/dist/types/src/capabilities/migrations.d.ts +2 -2
  84. package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
  85. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  86. package/dist/types/src/capabilities/schema-defs.d.ts +4 -0
  87. package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -0
  88. package/dist/types/src/components/DevicesContainer.d.ts +4 -3
  89. package/dist/types/src/components/DevicesContainer.d.ts.map +1 -1
  90. package/dist/types/src/components/DevicesContainer.stories.d.ts.map +1 -1
  91. package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
  92. package/dist/types/src/components/ProfileContainer.d.ts.map +1 -1
  93. package/dist/types/src/components/RecoveryCodeDialog.d.ts.map +1 -1
  94. package/dist/types/src/components/RecoveryCredentialsContainer.d.ts.map +1 -1
  95. package/dist/types/src/components/ResetDialog.d.ts.map +1 -1
  96. package/dist/types/src/components/ResetDialog.stories.d.ts.map +1 -1
  97. package/dist/types/src/types.d.ts +59 -53
  98. package/dist/types/src/types.d.ts.map +1 -1
  99. package/dist/types/tsconfig.tsbuildinfo +1 -1
  100. package/package.json +33 -26
  101. package/src/ClientPlugin.ts +2 -2
  102. package/src/capabilities/app-graph-builder.ts +94 -76
  103. package/src/capabilities/client.ts +4 -3
  104. package/src/capabilities/index.ts +1 -1
  105. package/src/capabilities/intent-resolver.ts +11 -11
  106. package/src/capabilities/migrations.ts +14 -11
  107. package/src/capabilities/schema-defs.ts +29 -0
  108. package/src/components/DevicesContainer.stories.tsx +7 -3
  109. package/src/components/DevicesContainer.tsx +85 -61
  110. package/src/components/ProfileContainer.stories.tsx +1 -1
  111. package/src/components/ProfileContainer.tsx +30 -21
  112. package/src/components/RecoveryCodeDialog.stories.tsx +1 -1
  113. package/src/components/RecoveryCredentialsContainer.stories.tsx +2 -2
  114. package/src/components/RecoveryCredentialsContainer.tsx +48 -46
  115. package/src/components/ResetDialog.stories.tsx +7 -1
  116. package/src/translations.ts +2 -2
  117. package/src/types.ts +60 -47
  118. package/dist/lib/browser/app-graph-builder-WAS4YZNA.mjs.map +0 -7
  119. package/dist/lib/browser/chunk-AN7FJKIJ.mjs +0 -105
  120. package/dist/lib/browser/chunk-AN7FJKIJ.mjs.map +0 -7
  121. package/dist/lib/browser/chunk-XZ4TQC56.mjs +0 -619
  122. package/dist/lib/browser/chunk-XZ4TQC56.mjs.map +0 -7
  123. package/dist/lib/browser/client-LV67Q3R7.mjs.map +0 -7
  124. package/dist/lib/browser/intent-resolver-NCISOZW4.mjs.map +0 -7
  125. package/dist/lib/browser/migrations-3DWFOL5Q.mjs +0 -21
  126. package/dist/lib/browser/migrations-3DWFOL5Q.mjs.map +0 -7
  127. package/dist/lib/browser/schema-JQAT6Q7S.mjs +0 -23
  128. package/dist/lib/browser/schema-JQAT6Q7S.mjs.map +0 -7
  129. package/dist/lib/node/app-graph-builder-PXOJZJO5.cjs.map +0 -7
  130. package/dist/lib/node/chunk-3JE5BFCT.cjs +0 -644
  131. package/dist/lib/node/chunk-3JE5BFCT.cjs.map +0 -7
  132. package/dist/lib/node/chunk-FROKBEVH.cjs +0 -125
  133. package/dist/lib/node/chunk-FROKBEVH.cjs.map +0 -7
  134. package/dist/lib/node/client-BKTGRBYM.cjs.map +0 -7
  135. package/dist/lib/node/intent-resolver-U2576ALY.cjs.map +0 -7
  136. package/dist/lib/node/migrations-TGNI4FVL.cjs.map +0 -7
  137. package/dist/lib/node/schema-INQ72F54.cjs.map +0 -7
  138. package/dist/lib/node-esm/app-graph-builder-KIN6NWFI.mjs.map +0 -7
  139. package/dist/lib/node-esm/chunk-AD5W5QCQ.mjs +0 -106
  140. package/dist/lib/node-esm/chunk-AD5W5QCQ.mjs.map +0 -7
  141. package/dist/lib/node-esm/chunk-LZN2UNN7.mjs +0 -620
  142. package/dist/lib/node-esm/chunk-LZN2UNN7.mjs.map +0 -7
  143. package/dist/lib/node-esm/client-QQD6WFOB.mjs.map +0 -7
  144. package/dist/lib/node-esm/intent-resolver-G25U4UGI.mjs.map +0 -7
  145. package/dist/lib/node-esm/migrations-IVGATGZR.mjs.map +0 -7
  146. package/dist/lib/node-esm/schema-OK7HY3JJ.mjs +0 -24
  147. package/dist/lib/node-esm/schema-OK7HY3JJ.mjs.map +0 -7
  148. package/dist/types/src/capabilities/schema.d.ts +0 -4
  149. package/dist/types/src/capabilities/schema.d.ts.map +0 -1
  150. package/src/capabilities/schema.ts +0 -26
  151. /package/dist/lib/browser/{react-context-WEH7SL4I.mjs.map → react-context-IE2O2OYK.mjs.map} +0 -0
  152. /package/dist/lib/browser/{react-surface-J7SZR2J6.mjs.map → react-surface-CKZHHWY3.mjs.map} +0 -0
  153. /package/dist/lib/node/{react-context-SF3M3YLR.cjs.map → react-context-JS7Y5ZOK.cjs.map} +0 -0
  154. /package/dist/lib/node/{react-surface-BSTIXMER.cjs.map → react-surface-GHKLUOKW.cjs.map} +0 -0
  155. /package/dist/lib/node-esm/{react-context-EAKKTE5A.mjs.map → react-context-6N7NMUJE.mjs.map} +0 -0
  156. /package/dist/lib/node-esm/{react-surface-ZPI7T4EM.mjs.map → react-surface-UCUL26AF.mjs.map} +0 -0
@@ -1,644 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var chunk_3JE5BFCT_exports = {};
30
- __export(chunk_3JE5BFCT_exports, {
31
- DevicesContainer: () => DevicesContainer,
32
- JOIN_DIALOG: () => JOIN_DIALOG,
33
- JoinDialog: () => JoinDialog,
34
- ProfileContainer: () => ProfileContainer,
35
- RECOVERY_CODE_DIALOG: () => RECOVERY_CODE_DIALOG,
36
- RESET_DIALOG: () => RESET_DIALOG,
37
- RecoveryCodeDialog: () => RecoveryCodeDialog,
38
- RecoveryCredentialsContainer: () => RecoveryCredentialsContainer,
39
- ResetDialog: () => ResetDialog
40
- });
41
- module.exports = __toCommonJS(chunk_3JE5BFCT_exports);
42
- var import_chunk_FROKBEVH = require("./chunk-FROKBEVH.cjs");
43
- var import_chunk_DJKWB5L6 = require("./chunk-DJKWB5L6.cjs");
44
- var import_react = require("@phosphor-icons/react");
45
- var import_react2 = __toESM(require("react"));
46
- var import_react_qr_rounded = require("react-qr-rounded");
47
- var import_app_framework = require("@dxos/app-framework");
48
- var import_log = require("@dxos/log");
49
- var import_react_client = require("@dxos/react-client");
50
- var import_halo = require("@dxos/react-client/halo");
51
- var import_invitations = require("@dxos/react-client/invitations");
52
- var import_mesh = require("@dxos/react-client/mesh");
53
- var import_react_ui = require("@dxos/react-ui");
54
- var import_react_ui_form = require("@dxos/react-ui-form");
55
- var import_react_ui_stack = require("@dxos/react-ui-stack");
56
- var import_react_ui_theme = require("@dxos/react-ui-theme");
57
- var import_react3 = require("@dxos/shell/react");
58
- var import_util = require("@dxos/util");
59
- var import_react4 = __toESM(require("react"));
60
- var import_app_framework2 = require("@dxos/app-framework");
61
- var import_types = require("@dxos/plugin-observability/types");
62
- var import_react_ui2 = require("@dxos/react-ui");
63
- var import_react5 = require("@dxos/shell/react");
64
- var import_effect = require("effect");
65
- var import_react6 = __toESM(require("react"));
66
- var import_async = require("@dxos/async");
67
- var import_react_client2 = require("@dxos/react-client");
68
- var import_halo2 = require("@dxos/react-client/halo");
69
- var import_react_ui3 = require("@dxos/react-ui");
70
- var import_react_ui_form2 = require("@dxos/react-ui-form");
71
- var import_react_ui_pickers = require("@dxos/react-ui-pickers");
72
- var import_react_ui_stack2 = require("@dxos/react-ui-stack");
73
- var import_util2 = require("@dxos/util");
74
- var import_react7 = __toESM(require("react"));
75
- var import_react_ui4 = require("@dxos/react-ui");
76
- var import_react8 = __toESM(require("react"));
77
- var import_app_framework3 = require("@dxos/app-framework");
78
- var import_halo3 = require("@dxos/react-client/halo");
79
- var import_react_ui5 = require("@dxos/react-ui");
80
- var import_react_ui_form3 = require("@dxos/react-ui-form");
81
- var import_react_ui_stack3 = require("@dxos/react-ui-stack");
82
- var import_react9 = __toESM(require("react"));
83
- var import_app_framework4 = require("@dxos/app-framework");
84
- var import_react_client3 = require("@dxos/react-client");
85
- var import_react_ui6 = require("@dxos/react-ui");
86
- var import_react10 = require("@dxos/shell/react");
87
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-client/src/components/DevicesContainer.tsx";
88
- var DevicesContainer = ({ createInvitationUrl }) => {
89
- const { t } = (0, import_react_ui.useTranslation)("os");
90
- const { dispatchPromise: dispatch } = (0, import_app_framework.useIntentDispatcher)();
91
- const devices = (0, import_halo.useDevices)();
92
- const { swarm: connectionState } = (0, import_mesh.useNetworkStatus)();
93
- const handleResetStorage = (0, import_react2.useCallback)(() => dispatch((0, import_app_framework.createIntent)(import_chunk_FROKBEVH.ClientAction.ResetStorage)), [
94
- dispatch
95
- ]);
96
- const handleRecover = (0, import_react2.useCallback)(() => dispatch((0, import_app_framework.createIntent)(import_chunk_FROKBEVH.ClientAction.ResetStorage, {
97
- mode: "recover"
98
- })), [
99
- dispatch
100
- ]);
101
- const handleJoinNewIdentity = (0, import_react2.useCallback)(() => dispatch((0, import_app_framework.createIntent)(import_chunk_FROKBEVH.ClientAction.ResetStorage, {
102
- mode: "join new identity"
103
- })), [
104
- dispatch
105
- ]);
106
- return /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Clipboard.Provider, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_stack.StackItem.Content, {
107
- classNames: "p-2 block overflow-y-auto"
108
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_form.ControlSection, {
109
- title: t("devices verbose label", {
110
- ns: import_chunk_DJKWB5L6.CLIENT_PLUGIN
111
- }),
112
- description: t("devices description", {
113
- ns: import_chunk_DJKWB5L6.CLIENT_PLUGIN
114
- })
115
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_form.ControlFrame, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_form.ControlFrameItem, {
116
- title: t("devices label", {
117
- ns: import_chunk_DJKWB5L6.CLIENT_PLUGIN
118
- })
119
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.List, null, devices.map((device) => {
120
- return /* @__PURE__ */ import_react2.default.createElement(import_react3.DeviceListItem, {
121
- key: device.deviceKey.toHex(),
122
- device,
123
- connectionState
124
- });
125
- }))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui_form.ControlFrameItem, {
126
- title: "Add device"
127
- }, /* @__PURE__ */ import_react2.default.createElement(DeviceInvitation, {
128
- createInvitationUrl
129
- })))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui_form.ControlSection, {
130
- title: t("danger zone title", {
131
- ns: import_chunk_DJKWB5L6.CLIENT_PLUGIN
132
- }),
133
- description: t("danger zone description", {
134
- ns: import_chunk_DJKWB5L6.CLIENT_PLUGIN
135
- })
136
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_form.ControlGroup, null, /* @__PURE__ */ import_react2.default.createElement(import_react_ui_form.ControlItem, {
137
- title: t("reset device label"),
138
- description: t("reset device description", {
139
- ns: import_chunk_DJKWB5L6.CLIENT_PLUGIN
140
- })
141
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
142
- variant: "destructive",
143
- onClick: handleResetStorage,
144
- "data-testid": "devicesContainer.reset"
145
- }, t("reset device label"))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui_form.ControlItem, {
146
- title: t("recover identity label"),
147
- description: t("recover identity description", {
148
- ns: import_chunk_DJKWB5L6.CLIENT_PLUGIN
149
- })
150
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
151
- variant: "destructive",
152
- onClick: handleRecover,
153
- "data-testid": "devicesContainer.recover"
154
- }, t("recover identity label"))), /* @__PURE__ */ import_react2.default.createElement(import_react_ui_form.ControlItem, {
155
- title: t("join new identity label"),
156
- description: t("join new identity description", {
157
- ns: import_chunk_DJKWB5L6.CLIENT_PLUGIN
158
- })
159
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
160
- variant: "destructive",
161
- onClick: handleJoinNewIdentity,
162
- "data-testid": "devicesContainer.joinExisting"
163
- }, t("join new identity label")))))));
164
- };
165
- var DeviceInvitation = (props) => {
166
- const client = (0, import_react_client.useClient)();
167
- const [invitation, setInvitation] = (0, import_react2.useState)();
168
- const onInvitationCreate = (0, import_react2.useCallback)(() => {
169
- const invitation2 = client.halo.share();
170
- if (client.config.values.runtime?.app?.env?.DX_ENVIRONMENT !== "production") {
171
- const subscription = invitation2.subscribe((invitation3) => {
172
- const invitationCode = import_invitations.InvitationEncoder.encode(invitation3);
173
- if (invitation3.state === import_invitations.Invitation.State.CONNECTING) {
174
- import_log.log.info(JSON.stringify({
175
- invitationCode,
176
- authCode: invitation3.authCode
177
- }), void 0, {
178
- F: __dxlog_file,
179
- L: 122,
180
- S: void 0,
181
- C: (f, a) => f(...a)
182
- });
183
- subscription.unsubscribe();
184
- }
185
- });
186
- }
187
- setInvitation(invitation2);
188
- }, [
189
- client
190
- ]);
191
- const onInvitationDone = (0, import_react2.useCallback)(() => {
192
- setInvitation(void 0);
193
- }, []);
194
- if (invitation) {
195
- return /* @__PURE__ */ import_react2.default.createElement(DeviceInvitationImpl, {
196
- ...props,
197
- invitation,
198
- onInvitationCreate,
199
- onInvitationDone
200
- });
201
- } else {
202
- return /* @__PURE__ */ import_react2.default.createElement(InvitationSection, {
203
- ...props,
204
- onInvitationCreate,
205
- onInvitationDone
206
- });
207
- }
208
- };
209
- var DeviceInvitationImpl = ({ invitation: invitationObservable, createInvitationUrl, onInvitationDone, onInvitationCreate }) => {
210
- const invitation = (0, import_react_client.useMulticastObservable)(invitationObservable);
211
- const url = createInvitationUrl(import_invitations.InvitationEncoder.encode(invitation));
212
- (0, import_react2.useEffect)(() => {
213
- if (invitation.state >= import_invitations.Invitation.State.SUCCESS) {
214
- onInvitationDone();
215
- }
216
- }, [
217
- invitation.state
218
- ]);
219
- return /* @__PURE__ */ import_react2.default.createElement(InvitationSection, {
220
- ...invitation,
221
- url,
222
- onInvitationDone,
223
- onInvitationCreate
224
- });
225
- };
226
- var InvitationSection = ({ state = -1, authCode, invitationId = "never", url = "never", onInvitationDone = () => {
227
- }, onInvitationCreate = () => {
228
- } }) => {
229
- const { t } = (0, import_react_ui.useTranslation)(import_chunk_DJKWB5L6.CLIENT_PLUGIN);
230
- const activeView = state < 0 ? "init" : state >= import_invitations.Invitation.State.CANCELLED ? "complete" : state >= import_invitations.Invitation.State.READY_FOR_AUTHENTICATION && authCode ? "auth-code" : "qr-code";
231
- return activeView === "init" ? /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement("p", {
232
- className: "text-description mbe-2"
233
- }, t("add device description")), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.IconButton, {
234
- icon: "ph--plus--regular",
235
- label: t("create device invitation label"),
236
- disabled: state >= 0,
237
- classNames: "is-full",
238
- "data-testid": "devicesContainer.createInvitation",
239
- onClick: onInvitationCreate
240
- })) : /* @__PURE__ */ import_react2.default.createElement(import_react3.Viewport.Root, {
241
- activeView
242
- }, /* @__PURE__ */ import_react2.default.createElement(import_react3.Viewport.Views, null, /* @__PURE__ */ import_react2.default.createElement(import_react3.Viewport.View, {
243
- id: "init"
244
- }), /* @__PURE__ */ import_react2.default.createElement(import_react3.Viewport.View, {
245
- id: "complete"
246
- }, /* @__PURE__ */ import_react2.default.createElement(InvitationComplete, {
247
- statusValue: state
248
- })), /* @__PURE__ */ import_react2.default.createElement(import_react3.Viewport.View, {
249
- id: "auth-code"
250
- }, /* @__PURE__ */ import_react2.default.createElement(InvitationAuthCode, {
251
- id: invitationId,
252
- code: authCode ?? "never",
253
- onCancel: onInvitationDone
254
- })), /* @__PURE__ */ import_react2.default.createElement(import_react3.Viewport.View, {
255
- id: "qr-code"
256
- }, /* @__PURE__ */ import_react2.default.createElement(InvitationQR, {
257
- id: invitationId,
258
- url,
259
- onCancel: onInvitationDone
260
- }))));
261
- };
262
- var InvitationQR = ({ id, url, onCancel }) => {
263
- const { t } = (0, import_react_ui.useTranslation)("os");
264
- const qrLabel = (0, import_react_ui.useId)("devices-container__qr-code");
265
- const emoji = (0, import_util.hexToEmoji)(id);
266
- return /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement("p", {
267
- className: "text-description"
268
- }, t("qr code description", {
269
- ns: import_chunk_DJKWB5L6.CLIENT_PLUGIN
270
- })), /* @__PURE__ */ import_react2.default.createElement("div", {
271
- role: "group",
272
- className: "grid grid-cols-[1fr_min-content] mlb-2 gap-2"
273
- }, /* @__PURE__ */ import_react2.default.createElement("div", {
274
- role: "none",
275
- className: "is-full aspect-square relative text-description"
276
- }, /* @__PURE__ */ import_react2.default.createElement(import_react_qr_rounded.QR, {
277
- rounding: 100,
278
- backgroundColor: "transparent",
279
- color: "currentColor",
280
- "aria-labelledby": qrLabel,
281
- errorCorrectionLevel: "Q",
282
- cutout: true
283
- }, url ?? "never"), /* @__PURE__ */ import_react2.default.createElement(import_react3.Centered, null, /* @__PURE__ */ import_react2.default.createElement(import_react3.Emoji, {
284
- text: emoji
285
- }))), /* @__PURE__ */ import_react2.default.createElement("span", {
286
- id: qrLabel,
287
- className: "sr-only"
288
- }, t("qr label")), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Clipboard.Button, {
289
- value: url ?? "never"
290
- })), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
291
- variant: "ghost",
292
- onClick: onCancel
293
- }, t("cancel label")));
294
- };
295
- var InvitationAuthCode = ({ id, code, onCancel }) => {
296
- const { t } = (0, import_react_ui.useTranslation)("os");
297
- const emoji = (0, import_util.hexToEmoji)(id);
298
- return /* @__PURE__ */ import_react2.default.createElement(import_react2.default.Fragment, null, /* @__PURE__ */ import_react2.default.createElement("p", {
299
- className: "text-description"
300
- }, t("auth other device emoji message")), emoji && /* @__PURE__ */ import_react2.default.createElement(import_react3.Emoji, {
301
- text: emoji,
302
- className: "mli-auto mlb-2 text-center"
303
- }), /* @__PURE__ */ import_react2.default.createElement("p", {
304
- className: "text-description"
305
- }, t("auth code message")), /* @__PURE__ */ import_react2.default.createElement(import_react3.AuthCode, {
306
- code,
307
- large: true,
308
- classNames: "mli-auto mlb-2 text-center grow"
309
- }), /* @__PURE__ */ import_react2.default.createElement(import_react_ui.Button, {
310
- variant: "ghost",
311
- onClick: onCancel
312
- }, t("cancel label")));
313
- };
314
- var InvitationComplete = ({ statusValue }) => {
315
- return statusValue > 0 ? /* @__PURE__ */ import_react2.default.createElement(import_react.Check, {
316
- className: (0, import_react_ui_theme.mx)("m-1.5", (0, import_react_ui_theme.getSize)(6))
317
- }) : /* @__PURE__ */ import_react2.default.createElement(import_react.X, {
318
- className: (0, import_react_ui_theme.mx)("m-1.5", (0, import_react_ui_theme.getSize)(6))
319
- });
320
- };
321
- var JOIN_DIALOG = `${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/JoinDialog`;
322
- var JoinDialog = (props) => {
323
- const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
324
- const { t } = (0, import_react_ui2.useTranslation)(import_chunk_DJKWB5L6.CLIENT_PLUGIN);
325
- const handleCancelResetStorage = (0, import_react4.useCallback)(() => dispatch((0, import_app_framework2.createIntent)(import_chunk_FROKBEVH.ClientAction.ShareIdentity)), [
326
- dispatch
327
- ]);
328
- const handleDone = (0, import_react4.useCallback)(async (result) => {
329
- if (result?.identityKey) {
330
- await Promise.all([
331
- dispatch((0, import_app_framework2.createIntent)(import_app_framework2.LayoutAction.UpdateDialog, {
332
- part: "dialog",
333
- options: {
334
- state: false
335
- }
336
- })),
337
- dispatch((0, import_app_framework2.createIntent)(import_types.ObservabilityAction.SendEvent, {
338
- name: props.initialDisposition === "recover-identity" ? "identity.recover" : "identity.join"
339
- }))
340
- ]);
341
- }
342
- }, [
343
- dispatch
344
- ]);
345
- return /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Dialog.Content, null, /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Dialog.Title, {
346
- classNames: "sr-only"
347
- }, t("join space label", {
348
- ns: "os"
349
- })), /* @__PURE__ */ import_react4.default.createElement(import_react5.JoinPanel, {
350
- mode: "halo-only",
351
- ...props,
352
- exitActionParent: /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Dialog.Close, {
353
- asChild: true
354
- }),
355
- doneActionParent: /* @__PURE__ */ import_react4.default.createElement(import_react_ui2.Dialog.Close, {
356
- asChild: true
357
- }),
358
- onCancelResetStorage: handleCancelResetStorage,
359
- onDone: handleDone
360
- }));
361
- };
362
- var getDefaultHueValue = (identity) => (0, import_util2.hexToHue)(identity?.identityKey.toHex() ?? "0");
363
- var getDefaultEmojiValue = (identity) => (0, import_util2.hexToEmoji)(identity?.identityKey.toHex() ?? "0");
364
- var getHueValue = (identity) => identity?.profile?.data?.hue || getDefaultHueValue(identity);
365
- var getEmojiValue = (identity) => identity?.profile?.data?.emoji || getDefaultEmojiValue(identity);
366
- var ProfileContainer = () => {
367
- const { t } = (0, import_react_ui3.useTranslation)(import_chunk_DJKWB5L6.CLIENT_PLUGIN);
368
- const client = (0, import_react_client2.useClient)();
369
- const identity = (0, import_halo2.useIdentity)();
370
- const [displayName, setDisplayNameDirectly] = (0, import_react6.useState)(identity?.profile?.displayName ?? "");
371
- const [emoji, setEmojiDirectly] = (0, import_react6.useState)(getEmojiValue(identity));
372
- const [hue, setHueDirectly] = (0, import_react6.useState)(getHueValue(identity));
373
- const updateProfile = (0, import_react6.useMemo)(() => (0, import_async.debounce)((profile) => client.halo.updateProfile({
374
- displayName: profile.displayName,
375
- data: {
376
- emoji: profile.emoji,
377
- hue: profile.hue
378
- }
379
- }), 2e3), []);
380
- const handleSave = (0, import_react6.useCallback)((profile) => {
381
- setDisplayNameDirectly(profile.displayName);
382
- setEmojiDirectly(profile.emoji);
383
- setHueDirectly(profile.hue);
384
- updateProfile(profile);
385
- }, [
386
- identity
387
- ]);
388
- const values = (0, import_react6.useMemo)(() => ({
389
- displayName,
390
- emoji,
391
- hue,
392
- did: identity?.did
393
- }), [
394
- identity,
395
- displayName,
396
- emoji,
397
- hue
398
- ]);
399
- const customElements = (0, import_react6.useMemo)(() => ({
400
- displayName: ({ type, label, getValue, onValueChange }) => {
401
- const handleChange = (0, import_react6.useCallback)(({ target: { value } }) => onValueChange(type, value), [
402
- onValueChange,
403
- type
404
- ]);
405
- return /* @__PURE__ */ import_react6.default.createElement(import_react_ui_form2.ControlItemInput, {
406
- title: label,
407
- description: t("display name description")
408
- }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Input.TextInput, {
409
- value: getValue(),
410
- onChange: handleChange,
411
- placeholder: t("display name input placeholder"),
412
- classNames: "min-is-64"
413
- }));
414
- },
415
- emoji: ({ type, label, getValue, onValueChange }) => {
416
- const handleChange = (0, import_react6.useCallback)((nextEmoji) => onValueChange(type, nextEmoji), [
417
- onValueChange,
418
- type
419
- ]);
420
- const handleEmojiReset = (0, import_react6.useCallback)(() => onValueChange(type, getDefaultEmojiValue(identity)), [
421
- onValueChange,
422
- type
423
- ]);
424
- return /* @__PURE__ */ import_react6.default.createElement(import_react_ui_form2.ControlItem, {
425
- title: label,
426
- description: t("icon description")
427
- }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui_pickers.EmojiPickerBlock, {
428
- triggerVariant: "default",
429
- emoji: getValue(),
430
- onChangeEmoji: handleChange,
431
- onClickClear: handleEmojiReset,
432
- classNames: "justify-self-end"
433
- }));
434
- },
435
- hue: ({ type, label, getValue, onValueChange }) => {
436
- const handleChange = (0, import_react6.useCallback)((nextHue) => onValueChange(type, nextHue), [
437
- onValueChange,
438
- type
439
- ]);
440
- const handleHueReset = (0, import_react6.useCallback)(() => onValueChange(type, getDefaultHueValue(identity)), [
441
- onValueChange,
442
- type
443
- ]);
444
- return /* @__PURE__ */ import_react6.default.createElement(import_react_ui_form2.ControlItem, {
445
- title: label,
446
- description: t("hue description")
447
- }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui_pickers.HuePicker, {
448
- value: getValue(),
449
- onChange: handleChange,
450
- onReset: handleHueReset,
451
- classNames: "[--hue-preview-size:1.5rem] justify-self-end"
452
- }));
453
- },
454
- // TODO(wittjosiah): We need text input annotations for disabled and copyable.
455
- did: ({ label, getValue }) => {
456
- return /* @__PURE__ */ import_react6.default.createElement(import_react_ui_form2.ControlItemInput, {
457
- title: label,
458
- description: t("did description")
459
- }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.ButtonGroup, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Input.TextInput, {
460
- value: getValue(),
461
- disabled: true,
462
- classNames: "min-is-64"
463
- }), /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Clipboard.IconButton, {
464
- value: getValue() ?? ""
465
- })));
466
- }
467
- }), [
468
- t
469
- ]);
470
- return /* @__PURE__ */ import_react6.default.createElement(import_react_ui_stack2.StackItem.Content, {
471
- classNames: "p-2 block overflow-y-auto"
472
- }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui3.Clipboard.Provider, null, /* @__PURE__ */ import_react6.default.createElement(import_react_ui_form2.ControlSection, {
473
- title: t("profile label"),
474
- description: t("profile description")
475
- }, /* @__PURE__ */ import_react6.default.createElement(import_react_ui_form2.Form, {
476
- schema: ProfileSchema,
477
- values,
478
- autoSave: true,
479
- onSave: handleSave,
480
- Custom: customElements,
481
- classNames: 'p-0 container-max-width [&_[role="form"]]:grid [&_[role="form"]]:grid-cols-1 md:[&_[role="form"]]:grid-cols-[1fr_min-content] [&_[role="form"]]:gap-4'
482
- }))));
483
- };
484
- var ProfileSchema = import_effect.Schema.Struct({
485
- displayName: import_effect.Schema.String.annotations({
486
- title: "Display name"
487
- }),
488
- emoji: import_effect.Schema.String.annotations({
489
- title: "Avatar"
490
- }),
491
- hue: import_effect.Schema.String.annotations({
492
- title: "Color"
493
- }),
494
- did: import_effect.Schema.String.annotations({
495
- title: "DID"
496
- })
497
- });
498
- var RECOVERY_CODE_DIALOG = `${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/RecoveryCodeDialog`;
499
- var RecoveryCodeDialog = ({ code }) => {
500
- const { t } = (0, import_react_ui4.useTranslation)(import_chunk_DJKWB5L6.CLIENT_PLUGIN);
501
- const [confirmation, setConfirmation] = (0, import_react7.useState)(false);
502
- const handleConfirmation = (0, import_react7.useCallback)((checked) => setConfirmation(checked), []);
503
- return /* @__PURE__ */ import_react7.default.createElement(import_react_ui4.AlertDialog.Content, {
504
- classNames: "bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden"
505
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui4.AlertDialog.Title, null, t("recovery code dialog title")), /* @__PURE__ */ import_react7.default.createElement("p", {
506
- className: "py-4"
507
- }, t("recovery code dialog description")), /* @__PURE__ */ import_react7.default.createElement(import_react_ui4.Clipboard.Provider, null, /* @__PURE__ */ import_react7.default.createElement(Code, {
508
- code
509
- })), /* @__PURE__ */ import_react7.default.createElement("div", {
510
- className: "flex flex-col py-4 gap-2"
511
- }, /* @__PURE__ */ import_react7.default.createElement("p", null, t("recovery code dialog warning 1")), /* @__PURE__ */ import_react7.default.createElement("p", null, t("recovery code dialog warning 2"))), /* @__PURE__ */ import_react7.default.createElement("div", {
512
- className: "flex items-center gap-2 pbe-4"
513
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui4.Input.Root, null, /* @__PURE__ */ import_react7.default.createElement(import_react_ui4.Input.Checkbox, {
514
- "data-testid": "recoveryCode.confirm",
515
- checked: confirmation,
516
- onCheckedChange: handleConfirmation
517
- }), /* @__PURE__ */ import_react7.default.createElement(import_react_ui4.Input.Label, null, t("recovery code confirmation label")))), /* @__PURE__ */ import_react7.default.createElement("div", {
518
- className: "flex justify-end"
519
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui4.AlertDialog.Action, {
520
- asChild: true
521
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui4.Button, {
522
- "data-testid": "recoveryCode.continue",
523
- variant: "primary",
524
- disabled: !confirmation
525
- }, t("continue label")))));
526
- };
527
- var Code = ({ code }) => {
528
- const words = code.split(" ");
529
- return /* @__PURE__ */ import_react7.default.createElement("div", {
530
- className: "relative p-2 border border-separator rounded group"
531
- }, /* @__PURE__ */ import_react7.default.createElement(import_react_ui4.Clipboard.IconButton, {
532
- value: code,
533
- classNames: "absolute top-2 right-2 invisible group-hover:visible"
534
- }), /* @__PURE__ */ import_react7.default.createElement("div", {
535
- className: "grid grid-cols-4"
536
- }, words.map((word, i) => /* @__PURE__ */ import_react7.default.createElement("div", {
537
- key: i,
538
- className: "flex items-center p-2 gap-2"
539
- }, /* @__PURE__ */ import_react7.default.createElement("div", {
540
- className: "w-4 text-xs text-center text-subdued"
541
- }, i + 1), /* @__PURE__ */ import_react7.default.createElement("div", {
542
- className: "text-sm"
543
- }, word)))));
544
- };
545
- var MANAGE_CREDENTIALS_DIALOG = `${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/ManageCredentialsDialog`;
546
- var RecoveryCredentialsContainer = () => {
547
- const { t } = (0, import_react_ui5.useTranslation)(import_chunk_DJKWB5L6.CLIENT_PLUGIN);
548
- const { dispatchPromise: dispatch } = (0, import_app_framework3.useIntentDispatcher)();
549
- const credentials = (0, import_halo3.useCredentials)();
550
- const recoveryCredentials = credentials.filter((credential) => credential.subject.assertion["@type"] === "dxos.halo.credentials.IdentityRecovery");
551
- return /* @__PURE__ */ import_react8.default.createElement(import_react_ui_stack3.StackItem.Content, {
552
- classNames: "p-2 block overflow-y-auto"
553
- }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui_form3.ControlSection, {
554
- title: t("recovery setup dialog title"),
555
- description: t("recovery setup dialog description")
556
- }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui_form3.ControlGroup, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui_form3.ControlItem, {
557
- title: t("create passkey label"),
558
- description: t("create passkey description")
559
- }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui5.IconButton, {
560
- label: t("create passkey label"),
561
- icon: "ph--key--duotone",
562
- variant: "primary",
563
- size: 5,
564
- onClick: () => dispatch((0, import_app_framework3.createIntent)(import_chunk_FROKBEVH.ClientAction.CreatePasskey))
565
- })), /* @__PURE__ */ import_react8.default.createElement(import_react_ui_form3.ControlItem, {
566
- title: t("create recovery code label"),
567
- description: t("create recovery code description")
568
- }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui5.IconButton, {
569
- label: t("create recovery code label"),
570
- icon: "ph--receipt--duotone",
571
- variant: "default",
572
- size: 5,
573
- onClick: () => dispatch((0, import_app_framework3.createIntent)(import_chunk_FROKBEVH.ClientAction.CreateRecoveryCode))
574
- })))), /* @__PURE__ */ import_react8.default.createElement(import_react_ui_form3.ControlSection, {
575
- title: t("credentials list label")
576
- }, recoveryCredentials.length < 1 ? /* @__PURE__ */ import_react8.default.createElement(import_react_ui5.Message.Root, {
577
- valence: "error",
578
- className: "container-max-width"
579
- }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui5.Message.Title, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui5.Icon, {
580
- icon: "ph--shield-warning--duotone",
581
- size: 5,
582
- classNames: "inline-block align-top mbs-px mie-1"
583
- }), t("no credentials title")), /* @__PURE__ */ import_react8.default.createElement(import_react_ui5.Message.Body, null, t("no credentials message"))) : /* @__PURE__ */ import_react8.default.createElement(import_react_ui5.List, {
584
- classNames: "container-max-width pli-2"
585
- }, recoveryCredentials.map((credential) => /* @__PURE__ */ import_react8.default.createElement(import_react_ui5.ListItem.Root, {
586
- key: credential.id?.toHex()
587
- }, /* @__PURE__ */ import_react8.default.createElement(import_react_ui5.ListItem.Endcap, null, /* @__PURE__ */ import_react8.default.createElement(import_react_ui5.Icon, {
588
- icon: "ph--key--regular",
589
- size: 5
590
- })), /* @__PURE__ */ import_react8.default.createElement(import_react_ui5.ListItem.Heading, null, credential.issuanceDate.toLocaleString()))))));
591
- };
592
- var RESET_DIALOG = `${import_chunk_DJKWB5L6.CLIENT_PLUGIN}/ResetDialog`;
593
- var ResetDialog = ({ mode, onReset }) => {
594
- const { t } = (0, import_react_ui6.useTranslation)(import_chunk_DJKWB5L6.CLIENT_PLUGIN);
595
- const { dispatchPromise: dispatch } = (0, import_app_framework4.useIntentDispatcher)();
596
- const client = (0, import_react_client3.useClient)();
597
- const handleReset = (0, import_react9.useCallback)(async () => {
598
- await client.reset();
599
- const target = mode === "join new identity" ? "deviceInvitation" : mode === "recover" ? "recoverIdentity" : void 0;
600
- await onReset?.({
601
- target
602
- });
603
- }, [
604
- dispatch,
605
- client,
606
- mode,
607
- onReset
608
- ]);
609
- const handleCancel = (0, import_react9.useCallback)(() => {
610
- void dispatch((0, import_app_framework4.createIntent)(import_app_framework4.LayoutAction.UpdateDialog, {
611
- part: "dialog",
612
- options: {
613
- state: false
614
- }
615
- }));
616
- }, [
617
- dispatch
618
- ]);
619
- return /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Dialog.Content, {
620
- classNames: "bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden"
621
- }, /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Dialog.Title, {
622
- classNames: "sr-only"
623
- }, t("reset dialog title")), /* @__PURE__ */ import_react9.default.createElement(import_react_ui6.Dialog.Description, {
624
- classNames: "sr-only"
625
- }, t("reset dialog description")), /* @__PURE__ */ import_react9.default.createElement(import_react10.ConfirmReset, {
626
- active: true,
627
- mode,
628
- onConfirm: handleReset,
629
- onCancel: handleCancel
630
- }));
631
- };
632
- // Annotate the CommonJS export names for ESM import in node:
633
- 0 && (module.exports = {
634
- DevicesContainer,
635
- JOIN_DIALOG,
636
- JoinDialog,
637
- ProfileContainer,
638
- RECOVERY_CODE_DIALOG,
639
- RESET_DIALOG,
640
- RecoveryCodeDialog,
641
- RecoveryCredentialsContainer,
642
- ResetDialog
643
- });
644
- //# sourceMappingURL=chunk-3JE5BFCT.cjs.map