@dxos/plugin-client 0.8.4-main.f9ba587 → 0.8.4-main.fffef41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/{app-graph-builder-3EILEBWW.mjs → app-graph-builder-ARY4H3VC.mjs} +26 -25
- package/dist/lib/browser/app-graph-builder-ARY4H3VC.mjs.map +7 -0
- package/dist/lib/browser/{chunk-64ANQXYZ.mjs → chunk-4G4YWIUQ.mjs} +59 -66
- package/dist/lib/browser/chunk-4G4YWIUQ.mjs.map +7 -0
- package/dist/lib/browser/chunk-4LRO3Y2O.mjs +19 -0
- package/dist/lib/browser/chunk-4LRO3Y2O.mjs.map +7 -0
- package/dist/lib/browser/chunk-N5UR2HOE.mjs +18 -0
- package/dist/lib/browser/chunk-N5UR2HOE.mjs.map +7 -0
- package/dist/lib/browser/{chunk-Q7TFRFHI.mjs → chunk-RDIG75CA.mjs} +15 -16
- package/dist/lib/browser/chunk-RDIG75CA.mjs.map +7 -0
- package/dist/lib/browser/chunk-ZRVMXLDR.mjs +15 -0
- package/dist/lib/browser/chunk-ZRVMXLDR.mjs.map +7 -0
- package/dist/lib/browser/{client-JFNMEFOK.mjs → client-O7U3MQ6J.mjs} +14 -8
- package/dist/lib/browser/client-O7U3MQ6J.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +23 -19
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/{intent-resolver-YGAQVXI2.mjs → intent-resolver-KLK7PJZK.mjs} +18 -18
- package/dist/lib/browser/intent-resolver-KLK7PJZK.mjs.map +7 -0
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{migrations-5COKGS4E.mjs → migrations-RUAKBBTF.mjs} +6 -6
- package/dist/lib/browser/migrations-RUAKBBTF.mjs.map +7 -0
- package/dist/lib/browser/{react-context-GBNYT5QK.mjs → react-context-PCT5C3BN.mjs} +9 -8
- package/dist/lib/browser/react-context-PCT5C3BN.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-YKQAUE2M.mjs → react-surface-RCXEA65V.mjs} +7 -7
- package/dist/lib/browser/{react-surface-YKQAUE2M.mjs.map → react-surface-RCXEA65V.mjs.map} +3 -3
- package/dist/lib/browser/{schema-defs-6L7W2RHL.mjs → schema-defs-UNNBAEFW.mjs} +6 -6
- package/dist/lib/browser/schema-defs-UNNBAEFW.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +10 -0
- package/dist/lib/node-esm/{app-graph-builder-GINHOE7A.mjs → app-graph-builder-LLM25DRR.mjs} +26 -25
- package/dist/lib/node-esm/app-graph-builder-LLM25DRR.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-6ANOJ7ZM.mjs +19 -0
- package/dist/lib/node-esm/chunk-6ANOJ7ZM.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-7M7VWQJW.mjs +20 -0
- package/dist/lib/node-esm/chunk-7M7VWQJW.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-K4PIKBQQ.mjs → chunk-DJ6XKSE4.mjs} +59 -66
- package/dist/lib/node-esm/chunk-DJ6XKSE4.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-QT3EQXDU.mjs +17 -0
- package/dist/lib/node-esm/chunk-QT3EQXDU.mjs.map +7 -0
- package/dist/lib/node-esm/{chunk-GDJMDBWM.mjs → chunk-VENKFPBC.mjs} +15 -16
- package/dist/lib/node-esm/chunk-VENKFPBC.mjs.map +7 -0
- package/dist/lib/node-esm/{client-XDYQARBL.mjs → client-6MTNT7M6.mjs} +14 -8
- package/dist/lib/node-esm/client-6MTNT7M6.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +23 -19
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/{intent-resolver-IN7YG7N7.mjs → intent-resolver-YR2C224X.mjs} +18 -18
- package/dist/lib/node-esm/intent-resolver-YR2C224X.mjs.map +7 -0
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{migrations-FE4PDX6W.mjs → migrations-ASF2SAUR.mjs} +6 -6
- package/dist/lib/node-esm/migrations-ASF2SAUR.mjs.map +7 -0
- package/dist/lib/node-esm/{react-context-UCK43H3Z.mjs → react-context-F4QOBWSP.mjs} +9 -8
- package/dist/lib/node-esm/react-context-F4QOBWSP.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-HDHC6XHQ.mjs → react-surface-SQBRXVMZ.mjs} +7 -7
- package/dist/lib/node-esm/{react-surface-HDHC6XHQ.mjs.map → react-surface-SQBRXVMZ.mjs.map} +3 -3
- package/dist/lib/node-esm/{schema-defs-GZIVMHLW.mjs → schema-defs-MSIT2KK2.mjs} +6 -6
- package/dist/lib/node-esm/schema-defs-MSIT2KK2.mjs.map +7 -0
- package/dist/lib/node-esm/{types.mjs → types/index.mjs} +3 -3
- package/dist/types/src/ClientPlugin.d.ts +1 -1
- package/dist/types/src/ClientPlugin.d.ts.map +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
- package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
- package/dist/types/src/capabilities/capabilities.d.ts +2 -3
- package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
- package/dist/types/src/capabilities/client.d.ts +1 -1
- package/dist/types/src/capabilities/client.d.ts.map +1 -1
- package/dist/types/src/capabilities/index.d.ts +10 -10
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
- package/dist/types/src/capabilities/migrations.d.ts +1 -1
- package/dist/types/src/capabilities/migrations.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-context.d.ts +2 -2
- package/dist/types/src/capabilities/react-context.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts +1 -1
- package/dist/types/src/capabilities/schema-defs.d.ts.map +1 -1
- package/dist/types/src/components/DevicesContainer.d.ts.map +1 -1
- package/dist/types/src/components/DevicesContainer.stories.d.ts +224 -5
- package/dist/types/src/components/DevicesContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/JoinDialog.d.ts +1 -1
- package/dist/types/src/components/JoinDialog.d.ts.map +1 -1
- package/dist/types/src/components/ProfileContainer.d.ts.map +1 -1
- package/dist/types/src/components/ProfileContainer.stories.d.ts +57 -5
- package/dist/types/src/components/ProfileContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/RecoveryCodeDialog.d.ts +1 -1
- package/dist/types/src/components/RecoveryCodeDialog.d.ts.map +1 -1
- package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts +59 -5
- package/dist/types/src/components/RecoveryCodeDialog.stories.d.ts.map +1 -1
- package/dist/types/src/components/RecoveryCredentialsContainer.d.ts +1 -1
- package/dist/types/src/components/RecoveryCredentialsContainer.d.ts.map +1 -1
- package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts +57 -5
- package/dist/types/src/components/RecoveryCredentialsContainer.stories.d.ts.map +1 -1
- package/dist/types/src/components/ResetDialog.d.ts +1 -1
- package/dist/types/src/components/ResetDialog.d.ts.map +1 -1
- package/dist/types/src/components/ResetDialog.stories.d.ts +59 -4
- package/dist/types/src/components/ResetDialog.stories.d.ts.map +1 -1
- package/dist/types/src/events.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +3 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/meta.d.ts +0 -1
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/types/index.d.ts +2 -0
- package/dist/types/src/types/index.d.ts.map +1 -0
- package/dist/types/src/{types.d.ts → types/schema.d.ts} +31 -25
- package/dist/types/src/types/schema.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +41 -42
- package/src/ClientPlugin.ts +57 -59
- package/src/capabilities/app-graph-builder.ts +25 -23
- package/src/capabilities/capabilities.ts +7 -6
- package/src/capabilities/client.ts +6 -4
- package/src/capabilities/intent-resolver.ts +7 -6
- package/src/capabilities/migrations.ts +2 -2
- package/src/capabilities/react-context.tsx +5 -3
- package/src/capabilities/react-surface.tsx +3 -3
- package/src/capabilities/schema-defs.ts +4 -4
- package/src/components/DevicesContainer.stories.tsx +9 -11
- package/src/components/DevicesContainer.tsx +61 -72
- package/src/components/JoinDialog.tsx +5 -4
- package/src/components/ProfileContainer.stories.tsx +8 -9
- package/src/components/ProfileContainer.tsx +24 -32
- package/src/components/RecoveryCodeDialog.stories.tsx +9 -10
- package/src/components/RecoveryCodeDialog.tsx +6 -6
- package/src/components/RecoveryCredentialsContainer.stories.tsx +9 -11
- package/src/components/RecoveryCredentialsContainer.tsx +47 -51
- package/src/components/ResetDialog.stories.tsx +10 -11
- package/src/components/ResetDialog.tsx +5 -4
- package/src/events.ts +6 -6
- package/src/index.ts +4 -3
- package/src/meta.ts +6 -3
- package/src/types/index.ts +5 -0
- package/src/{types.ts → types/schema.ts} +15 -16
- package/dist/lib/browser/app-graph-builder-3EILEBWW.mjs.map +0 -7
- package/dist/lib/browser/chunk-64ANQXYZ.mjs.map +0 -7
- package/dist/lib/browser/chunk-AWXKL4UR.mjs +0 -18
- package/dist/lib/browser/chunk-AWXKL4UR.mjs.map +0 -7
- package/dist/lib/browser/chunk-CAF2COXW.mjs +0 -19
- package/dist/lib/browser/chunk-CAF2COXW.mjs.map +0 -7
- package/dist/lib/browser/chunk-GS3LDHYD.mjs +0 -12
- package/dist/lib/browser/chunk-GS3LDHYD.mjs.map +0 -7
- package/dist/lib/browser/chunk-Q7TFRFHI.mjs.map +0 -7
- package/dist/lib/browser/client-JFNMEFOK.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-YGAQVXI2.mjs.map +0 -7
- package/dist/lib/browser/migrations-5COKGS4E.mjs.map +0 -7
- package/dist/lib/browser/react-context-GBNYT5QK.mjs.map +0 -7
- package/dist/lib/browser/schema-defs-6L7W2RHL.mjs.map +0 -7
- package/dist/lib/browser/types.mjs +0 -10
- package/dist/lib/node-esm/app-graph-builder-GINHOE7A.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-3BUB64JB.mjs +0 -19
- package/dist/lib/node-esm/chunk-3BUB64JB.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GDJMDBWM.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-K4PIKBQQ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-SZLX4BVJ.mjs +0 -14
- package/dist/lib/node-esm/chunk-SZLX4BVJ.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-UMO3ETDV.mjs +0 -20
- package/dist/lib/node-esm/chunk-UMO3ETDV.mjs.map +0 -7
- package/dist/lib/node-esm/client-XDYQARBL.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-IN7YG7N7.mjs.map +0 -7
- package/dist/lib/node-esm/migrations-FE4PDX6W.mjs.map +0 -7
- package/dist/lib/node-esm/react-context-UCK43H3Z.mjs.map +0 -7
- package/dist/lib/node-esm/schema-defs-GZIVMHLW.mjs.map +0 -7
- package/dist/types/src/types.d.ts.map +0 -1
- /package/dist/lib/browser/{types.mjs.map → types/index.mjs.map} +0 -0
- /package/dist/lib/node-esm/{types.mjs.map → types/index.mjs.map} +0 -0
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ClientCapabilities
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-6ANOJ7ZM.mjs";
|
|
5
5
|
import {
|
|
6
6
|
Account,
|
|
7
7
|
ClientAction
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-VENKFPBC.mjs";
|
|
9
9
|
import {
|
|
10
|
-
|
|
11
|
-
} from "./chunk-
|
|
10
|
+
meta
|
|
11
|
+
} from "./chunk-QT3EQXDU.mjs";
|
|
12
12
|
|
|
13
13
|
// src/capabilities/app-graph-builder.ts
|
|
14
|
-
import {
|
|
15
|
-
import
|
|
14
|
+
import { Atom } from "@effect-atom/atom-react";
|
|
15
|
+
import * as Function from "effect/Function";
|
|
16
|
+
import * as Option from "effect/Option";
|
|
16
17
|
import { createIntent } from "@dxos/app-framework";
|
|
17
18
|
import { Capabilities, contributes } from "@dxos/app-framework";
|
|
18
|
-
import {
|
|
19
|
+
import { ROOT_ID, atomFromObservable, createExtension } from "@dxos/plugin-graph";
|
|
19
20
|
import { ConnectionState } from "@dxos/react-client/mesh";
|
|
20
|
-
var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBuilder, createExtension({
|
|
21
|
-
id:
|
|
22
|
-
actions: (node) =>
|
|
21
|
+
var app_graph_builder_default = ((context) => contributes(Capabilities.AppGraphBuilder, createExtension({
|
|
22
|
+
id: meta.id,
|
|
23
|
+
actions: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => {
|
|
23
24
|
return [
|
|
24
25
|
{
|
|
25
|
-
id: `${
|
|
26
|
+
id: `${meta.id}/open-user-account`,
|
|
26
27
|
data: async () => {
|
|
27
28
|
const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);
|
|
28
29
|
await dispatch(createIntent(ClientAction.ShareIdentity));
|
|
@@ -31,7 +32,7 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
31
32
|
label: [
|
|
32
33
|
"open user account label",
|
|
33
34
|
{
|
|
34
|
-
ns:
|
|
35
|
+
ns: meta.id
|
|
35
36
|
}
|
|
36
37
|
],
|
|
37
38
|
icon: "ph--user--regular",
|
|
@@ -46,19 +47,19 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
46
47
|
}
|
|
47
48
|
];
|
|
48
49
|
}), Option.getOrElse(() => []))),
|
|
49
|
-
connector: (node) =>
|
|
50
|
+
connector: (node) => Atom.make((get) => Function.pipe(get(node), Option.flatMap((node2) => node2.id === ROOT_ID ? Option.some(node2) : Option.none()), Option.map(() => {
|
|
50
51
|
const client = context.getCapability(ClientCapabilities.Client);
|
|
51
|
-
const identity = get(
|
|
52
|
-
const status = get(
|
|
52
|
+
const identity = get(atomFromObservable(client.halo.identity));
|
|
53
|
+
const status = get(atomFromObservable(client.mesh.networkStatus));
|
|
53
54
|
return [
|
|
54
55
|
{
|
|
55
56
|
id: Account.id,
|
|
56
|
-
type:
|
|
57
|
+
type: meta.id,
|
|
57
58
|
properties: {
|
|
58
59
|
label: [
|
|
59
60
|
"account label",
|
|
60
61
|
{
|
|
61
|
-
ns:
|
|
62
|
+
ns: meta.id
|
|
62
63
|
}
|
|
63
64
|
],
|
|
64
65
|
icon: "ph--user--regular",
|
|
@@ -73,12 +74,12 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
73
74
|
{
|
|
74
75
|
id: Account.Profile,
|
|
75
76
|
data: Account.Profile,
|
|
76
|
-
type:
|
|
77
|
+
type: meta.id,
|
|
77
78
|
properties: {
|
|
78
79
|
label: [
|
|
79
80
|
"profile label",
|
|
80
81
|
{
|
|
81
|
-
ns:
|
|
82
|
+
ns: meta.id
|
|
82
83
|
}
|
|
83
84
|
],
|
|
84
85
|
icon: "ph--user--regular"
|
|
@@ -87,12 +88,12 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
87
88
|
{
|
|
88
89
|
id: Account.Devices,
|
|
89
90
|
data: Account.Devices,
|
|
90
|
-
type:
|
|
91
|
+
type: meta.id,
|
|
91
92
|
properties: {
|
|
92
93
|
label: [
|
|
93
94
|
"devices label",
|
|
94
95
|
{
|
|
95
|
-
ns:
|
|
96
|
+
ns: meta.id
|
|
96
97
|
}
|
|
97
98
|
],
|
|
98
99
|
icon: "ph--devices--regular",
|
|
@@ -102,12 +103,12 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
102
103
|
{
|
|
103
104
|
id: Account.Security,
|
|
104
105
|
data: Account.Security,
|
|
105
|
-
type:
|
|
106
|
+
type: meta.id,
|
|
106
107
|
properties: {
|
|
107
108
|
label: [
|
|
108
109
|
"security label",
|
|
109
110
|
{
|
|
110
|
-
ns:
|
|
111
|
+
ns: meta.id
|
|
111
112
|
}
|
|
112
113
|
],
|
|
113
114
|
icon: "ph--key--regular"
|
|
@@ -117,8 +118,8 @@ var app_graph_builder_default = (context) => contributes(Capabilities.AppGraphBu
|
|
|
117
118
|
}
|
|
118
119
|
];
|
|
119
120
|
}), Option.getOrElse(() => [])))
|
|
120
|
-
}));
|
|
121
|
+
})));
|
|
121
122
|
export {
|
|
122
123
|
app_graph_builder_default as default
|
|
123
124
|
};
|
|
124
|
-
//# sourceMappingURL=app-graph-builder-
|
|
125
|
+
//# sourceMappingURL=app-graph-builder-LLM25DRR.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/app-graph-builder.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Atom } from '@effect-atom/atom-react';\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\n\nimport { createIntent } from '@dxos/app-framework';\nimport { Capabilities, type PluginContext, contributes } from '@dxos/app-framework';\nimport { ROOT_ID, atomFromObservable, createExtension } from '@dxos/plugin-graph';\nimport { ConnectionState } from '@dxos/react-client/mesh';\n\nimport { meta } from '../meta';\nimport { Account, ClientAction } from '../types';\n\nimport { ClientCapabilities } from './capabilities';\n\nexport default (context: PluginContext) =>\n contributes(\n Capabilities.AppGraphBuilder,\n createExtension({\n id: meta.id,\n actions: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => {\n return [\n {\n id: `${meta.id}/open-user-account`,\n data: async () => {\n const { dispatchPromise: dispatch } = context.getCapability(Capabilities.IntentDispatcher);\n await dispatch(createIntent(ClientAction.ShareIdentity));\n },\n properties: {\n label: ['open user account label', { ns: meta.id }],\n icon: 'ph--user--regular',\n disposition: 'menu',\n keyBinding: {\n macos: 'meta+shift+.',\n // TODO(wittjosiah): Test on windows to see if it behaves the same as linux.\n windows: 'alt+shift+.',\n linux: 'alt+shift+>',\n },\n },\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\n connector: (node) =>\n Atom.make((get) =>\n Function.pipe(\n get(node),\n Option.flatMap((node) => (node.id === ROOT_ID ? Option.some(node) : Option.none())),\n Option.map(() => {\n const client = context.getCapability(ClientCapabilities.Client);\n const identity = get(atomFromObservable(client.halo.identity));\n const status = get(atomFromObservable(client.mesh.networkStatus));\n\n return [\n {\n id: Account.id,\n type: meta.id,\n properties: {\n label: ['account label', { ns: meta.id }],\n icon: 'ph--user--regular',\n disposition: 'user-account',\n // NOTE: This currently needs to be the identity key because the fallback is generated from hex.\n userId: identity?.identityKey.toHex(),\n hue: identity?.profile?.data?.hue,\n emoji: identity?.profile?.data?.emoji,\n status: status.swarm === ConnectionState.OFFLINE ? 'error' : 'active',\n },\n nodes: [\n {\n id: Account.Profile,\n data: Account.Profile,\n type: meta.id,\n properties: {\n label: ['profile label', { ns: meta.id }],\n icon: 'ph--user--regular',\n },\n },\n {\n id: Account.Devices,\n data: Account.Devices,\n type: meta.id,\n properties: {\n label: ['devices label', { ns: meta.id }],\n icon: 'ph--devices--regular',\n testId: 'clientPlugin.devices',\n },\n },\n {\n id: Account.Security,\n data: Account.Security,\n type: meta.id,\n properties: {\n label: ['security label', { ns: meta.id }],\n icon: 'ph--key--regular',\n },\n },\n ],\n },\n ];\n }),\n Option.getOrElse(() => []),\n ),\n ),\n }),\n );\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;AAIA,SAASA,YAAY;AACrB,YAAYC,cAAc;AAC1B,YAAYC,YAAY;AAExB,SAASC,oBAAoB;AAC7B,SAASC,cAAkCC,mBAAmB;AAC9D,SAASC,SAASC,oBAAoBC,uBAAuB;AAC7D,SAASC,uBAAuB;AAOhC,IAAA,6BAAe,CAACC,YACdC,YACEC,aAAaC,iBACbC,gBAAgB;EACdC,IAAIC,KAAKD;EACTE,SAAS,CAACC,SACRC,KAAKC,KAAK,CAACC,QACAC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAUA,MAAKH,OAAOS,UAAiBC,YAAKP,KAAAA,IAAeQ,YAAI,CAAA,GACxEC,WAAI,MAAA;AACT,WAAO;MACL;QACEZ,IAAI,GAAGC,KAAKD,EAAE;QACda,MAAM,YAAA;AACJ,gBAAM,EAAEC,iBAAiBC,SAAQ,IAAKpB,QAAQqB,cAAcnB,aAAaoB,gBAAgB;AACzF,gBAAMF,SAASG,aAAaC,aAAaC,aAAa,CAAA;QACxD;QACAC,YAAY;UACVC,OAAO;YAAC;YAA2B;cAAEC,IAAItB,KAAKD;YAAG;;UACjDwB,MAAM;UACNC,aAAa;UACbC,YAAY;YACVC,OAAO;;YAEPC,SAAS;YACTC,OAAO;UACT;QACF;MACF;;EAEJ,CAAA,GACOC,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;EAG/BC,WAAW,CAAC5B,SACVC,KAAKC,KAAK,CAACC,QACAC,cACPD,IAAIH,IAAAA,GACGK,eAAQ,CAACL,UAAUA,MAAKH,OAAOS,UAAiBC,YAAKP,KAAAA,IAAeQ,YAAI,CAAA,GACxEC,WAAI,MAAA;AACT,UAAMoB,SAASrC,QAAQqB,cAAciB,mBAAmBC,MAAM;AAC9D,UAAMC,WAAW7B,IAAI8B,mBAAmBJ,OAAOK,KAAKF,QAAQ,CAAA;AAC5D,UAAMG,SAAShC,IAAI8B,mBAAmBJ,OAAOO,KAAKC,aAAa,CAAA;AAE/D,WAAO;MACL;QACExC,IAAIyC,QAAQzC;QACZ0C,MAAMzC,KAAKD;QACXqB,YAAY;UACVC,OAAO;YAAC;YAAiB;cAAEC,IAAItB,KAAKD;YAAG;;UACvCwB,MAAM;UACNC,aAAa;;UAEbkB,QAAQR,UAAUS,YAAYC,MAAAA;UAC9BC,KAAKX,UAAUY,SAASlC,MAAMiC;UAC9BE,OAAOb,UAAUY,SAASlC,MAAMmC;UAChCV,QAAQA,OAAOW,UAAUC,gBAAgBC,UAAU,UAAU;QAC/D;QACAC,OAAO;UACL;YACEpD,IAAIyC,QAAQY;YACZxC,MAAM4B,QAAQY;YACdX,MAAMzC,KAAKD;YACXqB,YAAY;cACVC,OAAO;gBAAC;gBAAiB;kBAAEC,IAAItB,KAAKD;gBAAG;;cACvCwB,MAAM;YACR;UACF;UACA;YACExB,IAAIyC,QAAQa;YACZzC,MAAM4B,QAAQa;YACdZ,MAAMzC,KAAKD;YACXqB,YAAY;cACVC,OAAO;gBAAC;gBAAiB;kBAAEC,IAAItB,KAAKD;gBAAG;;cACvCwB,MAAM;cACN+B,QAAQ;YACV;UACF;UACA;YACEvD,IAAIyC,QAAQe;YACZ3C,MAAM4B,QAAQe;YACdd,MAAMzC,KAAKD;YACXqB,YAAY;cACVC,OAAO;gBAAC;gBAAkB;kBAAEC,IAAItB,KAAKD;gBAAG;;cACxCwB,MAAM;YACR;UACF;;MAEJ;;EAEJ,CAAA,GACOM,iBAAU,MAAM,CAAA,CAAE,CAAA,CAAA;AAGjC,CAAA,CAAA;",
|
|
6
|
+
"names": ["Atom", "Function", "Option", "createIntent", "Capabilities", "contributes", "ROOT_ID", "atomFromObservable", "createExtension", "ConnectionState", "context", "contributes", "Capabilities", "AppGraphBuilder", "createExtension", "id", "meta", "actions", "node", "Atom", "make", "get", "pipe", "flatMap", "ROOT_ID", "some", "none", "map", "data", "dispatchPromise", "dispatch", "getCapability", "IntentDispatcher", "createIntent", "ClientAction", "ShareIdentity", "properties", "label", "ns", "icon", "disposition", "keyBinding", "macos", "windows", "linux", "getOrElse", "connector", "client", "ClientCapabilities", "Client", "identity", "atomFromObservable", "halo", "status", "mesh", "networkStatus", "Account", "type", "userId", "identityKey", "toHex", "hue", "profile", "emoji", "swarm", "ConnectionState", "OFFLINE", "nodes", "Profile", "Devices", "testId", "Security"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-QT3EQXDU.mjs";
|
|
5
|
+
|
|
6
|
+
// src/capabilities/capabilities.ts
|
|
7
|
+
import { defineCapability } from "@dxos/app-framework";
|
|
8
|
+
(function(ClientCapabilities2) {
|
|
9
|
+
ClientCapabilities2.Client = defineCapability(`${meta.id}/capability/client`);
|
|
10
|
+
ClientCapabilities2.Schema = defineCapability(`${meta.id}/capability/schema`);
|
|
11
|
+
ClientCapabilities2.SchemaWhiteList = defineCapability(`${meta.id}/capability/schema-whitelist`);
|
|
12
|
+
ClientCapabilities2.Migration = defineCapability(`${meta.id}/capability/migration`);
|
|
13
|
+
})(ClientCapabilities || (ClientCapabilities = {}));
|
|
14
|
+
var ClientCapabilities;
|
|
15
|
+
|
|
16
|
+
export {
|
|
17
|
+
ClientCapabilities
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=chunk-6ANOJ7ZM.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/capabilities.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineCapability } from '@dxos/app-framework';\nimport { type Client } from '@dxos/client';\nimport { type ObjectMigration } from '@dxos/client/echo';\nimport { type Type } from '@dxos/echo';\n\nimport { meta } from '../meta';\n\nexport namespace ClientCapabilities {\n export const Client = defineCapability<Client>(`${meta.id}/capability/client`);\n export const Schema = defineCapability<Type.Obj.Any[]>(`${meta.id}/capability/schema`);\n // TODO(wittjosiah): More descriptive name.\n export const SchemaWhiteList = defineCapability<Type.Obj.Any[]>(`${meta.id}/capability/schema-whitelist`);\n export const Migration = defineCapability<ObjectMigration[]>(`${meta.id}/capability/migration`);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,wBAAwB;UAOhBC,qBAAAA;sBACFC,SAASC,iBAAyB,GAAGC,KAAKC,EAAE,oBAAoB;sBAChEC,SAASH,iBAAiC,GAAGC,KAAKC,EAAE,oBAAoB;sBAExEE,kBAAkBJ,iBAAiC,GAAGC,KAAKC,EAAE,8BAA8B;sBAC3FG,YAAYL,iBAAoC,GAAGC,KAAKC,EAAE,uBAAuB;AAChG,GANiBJ,uBAAAA,qBAAAA,CAAAA,EAAAA;;",
|
|
6
|
+
"names": ["defineCapability", "ClientCapabilities", "Client", "defineCapability", "meta", "id", "Schema", "SchemaWhiteList", "Migration"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
meta
|
|
4
|
+
} from "./chunk-QT3EQXDU.mjs";
|
|
5
|
+
|
|
6
|
+
// src/events.ts
|
|
7
|
+
import { defineEvent } from "@dxos/app-framework";
|
|
8
|
+
(function(ClientEvents2) {
|
|
9
|
+
ClientEvents2.ClientReady = defineEvent(`${meta.id}/event/client-ready`);
|
|
10
|
+
ClientEvents2.SetupSchema = defineEvent(`${meta.id}/event/setup-schema`);
|
|
11
|
+
ClientEvents2.SetupMigration = defineEvent(`${meta.id}/event/setup-migration`);
|
|
12
|
+
ClientEvents2.IdentityCreated = defineEvent(`${meta.id}/event/identity-created`);
|
|
13
|
+
ClientEvents2.SpacesReady = defineEvent(`${meta.id}/event/spaces-ready`);
|
|
14
|
+
})(ClientEvents || (ClientEvents = {}));
|
|
15
|
+
var ClientEvents;
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
ClientEvents
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=chunk-7M7VWQJW.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/events.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { defineEvent } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport namespace ClientEvents {\n export const ClientReady = defineEvent(`${meta.id}/event/client-ready`);\n export const SetupSchema = defineEvent(`${meta.id}/event/setup-schema`);\n export const SetupMigration = defineEvent(`${meta.id}/event/setup-migration`);\n export const IdentityCreated = defineEvent(`${meta.id}/event/identity-created`);\n export const SpacesReady = defineEvent(`${meta.id}/event/spaces-ready`);\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;AAIA,SAASA,mBAAmB;UAIXC,eAAAA;gBACFC,cAAcC,YAAY,GAAGC,KAAKC,EAAE,qBAAqB;gBACzDC,cAAcH,YAAY,GAAGC,KAAKC,EAAE,qBAAqB;gBACzDE,iBAAiBJ,YAAY,GAAGC,KAAKC,EAAE,wBAAwB;gBAC/DG,kBAAkBL,YAAY,GAAGC,KAAKC,EAAE,yBAAyB;gBACjEI,cAAcN,YAAY,GAAGC,KAAKC,EAAE,qBAAqB;AACxE,GANiBJ,iBAAAA,eAAAA,CAAAA,EAAAA;;",
|
|
6
|
+
"names": ["defineEvent", "ClientEvents", "ClientReady", "defineEvent", "meta", "id", "SetupSchema", "SetupMigration", "IdentityCreated", "SpacesReady"]
|
|
7
|
+
}
|
|
@@ -1,26 +1,24 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
ClientAction
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-VENKFPBC.mjs";
|
|
5
5
|
import {
|
|
6
|
-
|
|
7
|
-
} from "./chunk-
|
|
6
|
+
meta
|
|
7
|
+
} from "./chunk-QT3EQXDU.mjs";
|
|
8
8
|
|
|
9
9
|
// src/components/DevicesContainer.tsx
|
|
10
10
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
11
|
-
import { Check, X } from "@phosphor-icons/react";
|
|
12
11
|
import React, { useCallback, useEffect, useState } from "react";
|
|
13
12
|
import { QR } from "react-qr-rounded";
|
|
14
|
-
import { createIntent
|
|
13
|
+
import { createIntent } from "@dxos/app-framework";
|
|
14
|
+
import { useIntentDispatcher } from "@dxos/app-framework/react";
|
|
15
15
|
import { log } from "@dxos/log";
|
|
16
16
|
import { useClient, useMulticastObservable } from "@dxos/react-client";
|
|
17
17
|
import { useDevices } from "@dxos/react-client/halo";
|
|
18
18
|
import { Invitation, InvitationEncoder } from "@dxos/react-client/invitations";
|
|
19
19
|
import { useNetworkStatus } from "@dxos/react-client/mesh";
|
|
20
|
-
import { Button, Clipboard, IconButton, List, useId, useTranslation } from "@dxos/react-ui";
|
|
20
|
+
import { Button, Clipboard, Icon, IconButton, List, useId, useTranslation } from "@dxos/react-ui";
|
|
21
21
|
import { ControlFrame, ControlFrameItem, ControlGroup, ControlItem, ControlPage, ControlSection } from "@dxos/react-ui-form";
|
|
22
|
-
import { StackItem } from "@dxos/react-ui-stack";
|
|
23
|
-
import { getSize, mx } from "@dxos/react-ui-theme";
|
|
24
22
|
import { AuthCode, Centered, DeviceListItem, Emoji, Viewport } from "@dxos/shell/react";
|
|
25
23
|
import { hexToEmoji } from "@dxos/util";
|
|
26
24
|
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-client/src/components/DevicesContainer.tsx";
|
|
@@ -44,18 +42,16 @@ var DevicesContainer = ({ createInvitationUrl }) => {
|
|
|
44
42
|
})), [
|
|
45
43
|
dispatch
|
|
46
44
|
]);
|
|
47
|
-
return /* @__PURE__ */ React.createElement(Clipboard.Provider, null, /* @__PURE__ */ React.createElement(
|
|
48
|
-
classNames: "block overflow-y-auto"
|
|
49
|
-
}, /* @__PURE__ */ React.createElement(ControlPage, null, /* @__PURE__ */ React.createElement(ControlSection, {
|
|
45
|
+
return /* @__PURE__ */ React.createElement(Clipboard.Provider, null, /* @__PURE__ */ React.createElement(ControlPage, null, /* @__PURE__ */ React.createElement(ControlSection, {
|
|
50
46
|
title: t("devices verbose label", {
|
|
51
|
-
ns:
|
|
47
|
+
ns: meta.id
|
|
52
48
|
}),
|
|
53
49
|
description: t("devices description", {
|
|
54
|
-
ns:
|
|
50
|
+
ns: meta.id
|
|
55
51
|
})
|
|
56
52
|
}, /* @__PURE__ */ React.createElement(ControlFrame, null, /* @__PURE__ */ React.createElement(ControlFrameItem, {
|
|
57
53
|
title: t("devices label", {
|
|
58
|
-
ns:
|
|
54
|
+
ns: meta.id
|
|
59
55
|
})
|
|
60
56
|
}, /* @__PURE__ */ React.createElement(List, null, devices.map((device) => {
|
|
61
57
|
return /* @__PURE__ */ React.createElement(DeviceListItem, {
|
|
@@ -69,15 +65,15 @@ var DevicesContainer = ({ createInvitationUrl }) => {
|
|
|
69
65
|
createInvitationUrl
|
|
70
66
|
})))), /* @__PURE__ */ React.createElement(ControlSection, {
|
|
71
67
|
title: t("danger zone title", {
|
|
72
|
-
ns:
|
|
68
|
+
ns: meta.id
|
|
73
69
|
}),
|
|
74
70
|
description: t("danger zone description", {
|
|
75
|
-
ns:
|
|
71
|
+
ns: meta.id
|
|
76
72
|
})
|
|
77
73
|
}, /* @__PURE__ */ React.createElement(ControlGroup, null, /* @__PURE__ */ React.createElement(ControlItem, {
|
|
78
74
|
title: t("reset device label"),
|
|
79
75
|
description: t("reset device description", {
|
|
80
|
-
ns:
|
|
76
|
+
ns: meta.id
|
|
81
77
|
})
|
|
82
78
|
}, /* @__PURE__ */ React.createElement(Button, {
|
|
83
79
|
variant: "destructive",
|
|
@@ -86,7 +82,7 @@ var DevicesContainer = ({ createInvitationUrl }) => {
|
|
|
86
82
|
}, t("reset device label"))), /* @__PURE__ */ React.createElement(ControlItem, {
|
|
87
83
|
title: t("recover identity label"),
|
|
88
84
|
description: t("recover identity description", {
|
|
89
|
-
ns:
|
|
85
|
+
ns: meta.id
|
|
90
86
|
})
|
|
91
87
|
}, /* @__PURE__ */ React.createElement(Button, {
|
|
92
88
|
variant: "destructive",
|
|
@@ -95,13 +91,13 @@ var DevicesContainer = ({ createInvitationUrl }) => {
|
|
|
95
91
|
}, t("recover identity label"))), /* @__PURE__ */ React.createElement(ControlItem, {
|
|
96
92
|
title: t("join new identity label"),
|
|
97
93
|
description: t("join new identity description", {
|
|
98
|
-
ns:
|
|
94
|
+
ns: meta.id
|
|
99
95
|
})
|
|
100
96
|
}, /* @__PURE__ */ React.createElement(Button, {
|
|
101
97
|
variant: "destructive",
|
|
102
98
|
onClick: handleJoinNewIdentity,
|
|
103
99
|
"data-testid": "devicesContainer.joinExisting"
|
|
104
|
-
}, t("join new identity label")))))))
|
|
100
|
+
}, t("join new identity label")))))));
|
|
105
101
|
} finally {
|
|
106
102
|
_effect.f();
|
|
107
103
|
}
|
|
@@ -122,7 +118,7 @@ var DeviceInvitation = (props) => {
|
|
|
122
118
|
authCode: invitation3.authCode
|
|
123
119
|
}), void 0, {
|
|
124
120
|
F: __dxlog_file,
|
|
125
|
-
L:
|
|
121
|
+
L: 126,
|
|
126
122
|
S: void 0,
|
|
127
123
|
C: (f, a) => f(...a)
|
|
128
124
|
});
|
|
@@ -182,7 +178,7 @@ var InvitationSection = ({ state = -1, authCode, invitationId = "never", url = "
|
|
|
182
178
|
} }) => {
|
|
183
179
|
var _effect = _useSignals();
|
|
184
180
|
try {
|
|
185
|
-
const { t } = useTranslation(
|
|
181
|
+
const { t } = useTranslation(meta.id);
|
|
186
182
|
const activeView = state < 0 ? "init" : state >= Invitation.State.CANCELLED ? "complete" : state >= Invitation.State.READY_FOR_AUTHENTICATION && authCode ? "auth-code" : "qr-code";
|
|
187
183
|
return activeView === "init" ? /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", {
|
|
188
184
|
className: "text-description mbe-2"
|
|
@@ -227,7 +223,7 @@ var InvitationQR = ({ id, url, onCancel }) => {
|
|
|
227
223
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("p", {
|
|
228
224
|
className: "text-description"
|
|
229
225
|
}, t("qr code description", {
|
|
230
|
-
ns:
|
|
226
|
+
ns: meta.id
|
|
231
227
|
})), /* @__PURE__ */ React.createElement("div", {
|
|
232
228
|
role: "group",
|
|
233
229
|
className: "grid grid-cols-[1fr_min-content] mlb-2 gap-2"
|
|
@@ -287,10 +283,14 @@ var InvitationAuthCode = ({ id, code, onCancel }) => {
|
|
|
287
283
|
var InvitationComplete = ({ statusValue }) => {
|
|
288
284
|
var _effect = _useSignals();
|
|
289
285
|
try {
|
|
290
|
-
return statusValue > 0 ? /* @__PURE__ */ React.createElement(
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
286
|
+
return statusValue > 0 ? /* @__PURE__ */ React.createElement(Icon, {
|
|
287
|
+
icon: "ph--check--regular",
|
|
288
|
+
size: 6,
|
|
289
|
+
classNames: "m-1.5"
|
|
290
|
+
}) : /* @__PURE__ */ React.createElement(Icon, {
|
|
291
|
+
icon: "ph--x--regular",
|
|
292
|
+
size: 6,
|
|
293
|
+
classNames: "m-1.5"
|
|
294
294
|
});
|
|
295
295
|
} finally {
|
|
296
296
|
_effect.f();
|
|
@@ -300,16 +300,17 @@ var InvitationComplete = ({ statusValue }) => {
|
|
|
300
300
|
// src/components/JoinDialog.tsx
|
|
301
301
|
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
302
302
|
import React2, { useCallback as useCallback2 } from "react";
|
|
303
|
-
import {
|
|
303
|
+
import { LayoutAction, createIntent as createIntent2 } from "@dxos/app-framework";
|
|
304
|
+
import { useIntentDispatcher as useIntentDispatcher2 } from "@dxos/app-framework/react";
|
|
304
305
|
import { ObservabilityAction } from "@dxos/plugin-observability/types";
|
|
305
306
|
import { Dialog, useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
306
307
|
import { JoinPanel } from "@dxos/shell/react";
|
|
307
|
-
var JOIN_DIALOG = `${
|
|
308
|
+
var JOIN_DIALOG = `${meta.id}/JoinDialog`;
|
|
308
309
|
var JoinDialog = (props) => {
|
|
309
310
|
var _effect = _useSignals2();
|
|
310
311
|
try {
|
|
311
312
|
const { dispatchPromise: dispatch } = useIntentDispatcher2();
|
|
312
|
-
const { t } = useTranslation2(
|
|
313
|
+
const { t } = useTranslation2(meta.id);
|
|
313
314
|
const handleCancelResetStorage = useCallback2(() => dispatch(createIntent2(ClientAction.ShareIdentity)), [
|
|
314
315
|
dispatch
|
|
315
316
|
]);
|
|
@@ -353,16 +354,15 @@ var JoinDialog = (props) => {
|
|
|
353
354
|
|
|
354
355
|
// src/components/ProfileContainer.tsx
|
|
355
356
|
import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
|
|
356
|
-
import
|
|
357
|
+
import * as Schema from "effect/Schema";
|
|
357
358
|
import React3, { useCallback as useCallback3, useMemo, useState as useState2 } from "react";
|
|
358
359
|
import { debounce } from "@dxos/async";
|
|
359
360
|
import { useClient as useClient2 } from "@dxos/react-client";
|
|
360
361
|
import { useIdentity } from "@dxos/react-client/halo";
|
|
361
362
|
import { ButtonGroup, Clipboard as Clipboard2, Input, useTranslation as useTranslation3 } from "@dxos/react-ui";
|
|
362
|
-
import {
|
|
363
|
+
import { ControlItem as ControlItem2, ControlItemInput, ControlPage as ControlPage2, ControlSection as ControlSection2, Form } from "@dxos/react-ui-form";
|
|
363
364
|
import { EmojiPickerBlock, HuePicker } from "@dxos/react-ui-pickers";
|
|
364
|
-
import {
|
|
365
|
-
import { hexToHue, hexToEmoji as hexToEmoji2 } from "@dxos/util";
|
|
365
|
+
import { hexToEmoji as hexToEmoji2, hexToHue } from "@dxos/util";
|
|
366
366
|
var getDefaultHueValue = (identity) => hexToHue(identity?.identityKey.toHex() ?? "0");
|
|
367
367
|
var getDefaultEmojiValue = (identity) => hexToEmoji2(identity?.identityKey.toHex() ?? "0");
|
|
368
368
|
var getHueValue = (identity) => identity?.profile?.data?.hue || getDefaultHueValue(identity);
|
|
@@ -370,7 +370,7 @@ var getEmojiValue = (identity) => identity?.profile?.data?.emoji || getDefaultEm
|
|
|
370
370
|
var ProfileContainer = () => {
|
|
371
371
|
var _effect = _useSignals3();
|
|
372
372
|
try {
|
|
373
|
-
const { t } = useTranslation3(
|
|
373
|
+
const { t } = useTranslation3(meta.id);
|
|
374
374
|
const client = useClient2();
|
|
375
375
|
const identity = useIdentity();
|
|
376
376
|
const [displayName, setDisplayNameDirectly] = useState2(identity?.profile?.displayName ?? "");
|
|
@@ -387,7 +387,7 @@ var ProfileContainer = () => {
|
|
|
387
387
|
setDisplayNameDirectly(profile.displayName);
|
|
388
388
|
setEmojiDirectly(profile.emoji);
|
|
389
389
|
setHueDirectly(profile.hue);
|
|
390
|
-
updateProfile(profile);
|
|
390
|
+
void updateProfile(profile);
|
|
391
391
|
}, [
|
|
392
392
|
identity
|
|
393
393
|
]);
|
|
@@ -453,8 +453,7 @@ var ProfileContainer = () => {
|
|
|
453
453
|
}, /* @__PURE__ */ React3.createElement(HuePicker, {
|
|
454
454
|
value: getValue(),
|
|
455
455
|
onChange: handleChange,
|
|
456
|
-
onReset: handleHueReset
|
|
457
|
-
classNames: "[--hue-preview-size:1.5rem] justify-self-end"
|
|
456
|
+
onReset: handleHueReset
|
|
458
457
|
}));
|
|
459
458
|
},
|
|
460
459
|
// TODO(wittjosiah): We need text input annotations for disabled and copyable.
|
|
@@ -473,9 +472,7 @@ var ProfileContainer = () => {
|
|
|
473
472
|
}), [
|
|
474
473
|
t
|
|
475
474
|
]);
|
|
476
|
-
return /* @__PURE__ */ React3.createElement(
|
|
477
|
-
classNames: "block overflow-y-auto"
|
|
478
|
-
}, /* @__PURE__ */ React3.createElement(ControlPage2, null, /* @__PURE__ */ React3.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React3.createElement(ControlSection2, {
|
|
475
|
+
return /* @__PURE__ */ React3.createElement(ControlPage2, null, /* @__PURE__ */ React3.createElement(Clipboard2.Provider, null, /* @__PURE__ */ React3.createElement(ControlSection2, {
|
|
479
476
|
title: t("profile label"),
|
|
480
477
|
description: t("profile description")
|
|
481
478
|
}, /* @__PURE__ */ React3.createElement(Form, {
|
|
@@ -484,9 +481,9 @@ var ProfileContainer = () => {
|
|
|
484
481
|
autoSave: true,
|
|
485
482
|
onSave: handleSave,
|
|
486
483
|
Custom: customElements,
|
|
487
|
-
classNames: "container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]
|
|
484
|
+
classNames: "container-max-width grid grid-cols-1 md:grid-cols-[1fr_min-content]",
|
|
488
485
|
outerSpacing: false
|
|
489
|
-
}))))
|
|
486
|
+
}))));
|
|
490
487
|
} finally {
|
|
491
488
|
_effect.f();
|
|
492
489
|
}
|
|
@@ -510,21 +507,21 @@ var ProfileSchema = Schema.Struct({
|
|
|
510
507
|
import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
|
|
511
508
|
import React4, { useCallback as useCallback4, useState as useState3 } from "react";
|
|
512
509
|
import { AlertDialog, Button as Button2, Clipboard as Clipboard3, Input as Input2, useTranslation as useTranslation4 } from "@dxos/react-ui";
|
|
513
|
-
var RECOVERY_CODE_DIALOG = `${
|
|
510
|
+
var RECOVERY_CODE_DIALOG = `${meta.id}/RecoveryCodeDialog`;
|
|
514
511
|
var RecoveryCodeDialog = ({ code }) => {
|
|
515
512
|
var _effect = _useSignals4();
|
|
516
513
|
try {
|
|
517
|
-
const { t } = useTranslation4(
|
|
514
|
+
const { t } = useTranslation4(meta.id);
|
|
518
515
|
const [confirmation, setConfirmation] = useState3(false);
|
|
519
516
|
const handleConfirmation = useCallback4((checked) => setConfirmation(checked), []);
|
|
520
517
|
return /* @__PURE__ */ React4.createElement(AlertDialog.Content, {
|
|
521
518
|
classNames: "bs-content min-bs-[15rem] max-bs-full md:max-is-[40rem] overflow-hidden"
|
|
522
519
|
}, /* @__PURE__ */ React4.createElement(AlertDialog.Title, null, t("recovery code dialog title")), /* @__PURE__ */ React4.createElement("p", {
|
|
523
|
-
className: "
|
|
520
|
+
className: "plb-4"
|
|
524
521
|
}, t("recovery code dialog description")), /* @__PURE__ */ React4.createElement(Clipboard3.Provider, null, /* @__PURE__ */ React4.createElement(Code, {
|
|
525
522
|
code
|
|
526
523
|
})), /* @__PURE__ */ React4.createElement("div", {
|
|
527
|
-
className: "flex flex-col
|
|
524
|
+
className: "flex flex-col plb-4 gap-2"
|
|
528
525
|
}, /* @__PURE__ */ React4.createElement("p", null, t("recovery code dialog warning 1")), /* @__PURE__ */ React4.createElement("p", null, t("recovery code dialog warning 2"))), /* @__PURE__ */ React4.createElement("div", {
|
|
529
526
|
className: "flex items-center gap-2 pbe-4"
|
|
530
527
|
}, /* @__PURE__ */ React4.createElement(Input2.Root, null, /* @__PURE__ */ React4.createElement(Input2.Checkbox, {
|
|
@@ -559,7 +556,7 @@ var Code = ({ code }) => {
|
|
|
559
556
|
key: i,
|
|
560
557
|
className: "flex items-center p-2 gap-2"
|
|
561
558
|
}, /* @__PURE__ */ React4.createElement("div", {
|
|
562
|
-
className: "
|
|
559
|
+
className: "is-4 text-xs text-center text-subdued"
|
|
563
560
|
}, i + 1), /* @__PURE__ */ React4.createElement("div", {
|
|
564
561
|
className: "text-sm"
|
|
565
562
|
}, word)))));
|
|
@@ -571,22 +568,20 @@ var Code = ({ code }) => {
|
|
|
571
568
|
// src/components/RecoveryCredentialsContainer.tsx
|
|
572
569
|
import { useSignals as _useSignals5 } from "@preact-signals/safe-react/tracking";
|
|
573
570
|
import React5 from "react";
|
|
574
|
-
import { createIntent as createIntent3
|
|
571
|
+
import { createIntent as createIntent3 } from "@dxos/app-framework";
|
|
572
|
+
import { useIntentDispatcher as useIntentDispatcher3 } from "@dxos/app-framework/react";
|
|
575
573
|
import { useCredentials } from "@dxos/react-client/halo";
|
|
576
|
-
import { Icon, IconButton as IconButton2, List as List2, ListItem, useTranslation as useTranslation5
|
|
574
|
+
import { Icon as Icon2, IconButton as IconButton2, List as List2, ListItem, Message, useTranslation as useTranslation5 } from "@dxos/react-ui";
|
|
577
575
|
import { ControlGroup as ControlGroup2, ControlItem as ControlItem3, ControlPage as ControlPage3, ControlSection as ControlSection3 } from "@dxos/react-ui-form";
|
|
578
|
-
|
|
579
|
-
var MANAGE_CREDENTIALS_DIALOG = `${CLIENT_PLUGIN}/ManageCredentialsDialog`;
|
|
576
|
+
var MANAGE_CREDENTIALS_DIALOG = `${meta.id}/ManageCredentialsDialog`;
|
|
580
577
|
var RecoveryCredentialsContainer = () => {
|
|
581
578
|
var _effect = _useSignals5();
|
|
582
579
|
try {
|
|
583
|
-
const { t } = useTranslation5(
|
|
580
|
+
const { t } = useTranslation5(meta.id);
|
|
584
581
|
const { dispatchPromise: dispatch } = useIntentDispatcher3();
|
|
585
582
|
const credentials = useCredentials();
|
|
586
583
|
const recoveryCredentials = credentials.filter((credential) => credential.subject.assertion["@type"] === "dxos.halo.credentials.IdentityRecovery");
|
|
587
|
-
return /* @__PURE__ */ React5.createElement(
|
|
588
|
-
classNames: "block overflow-y-auto"
|
|
589
|
-
}, /* @__PURE__ */ React5.createElement(ControlPage3, null, /* @__PURE__ */ React5.createElement(ControlSection3, {
|
|
584
|
+
return /* @__PURE__ */ React5.createElement(ControlPage3, null, /* @__PURE__ */ React5.createElement(ControlSection3, {
|
|
590
585
|
title: t("recovery setup dialog title"),
|
|
591
586
|
description: t("recovery setup dialog description")
|
|
592
587
|
}, /* @__PURE__ */ React5.createElement(ControlGroup2, null, /* @__PURE__ */ React5.createElement(ControlItem3, {
|
|
@@ -596,7 +591,6 @@ var RecoveryCredentialsContainer = () => {
|
|
|
596
591
|
label: t("create passkey label"),
|
|
597
592
|
icon: "ph--key--duotone",
|
|
598
593
|
variant: "primary",
|
|
599
|
-
size: 5,
|
|
600
594
|
onClick: () => dispatch(createIntent3(ClientAction.CreatePasskey))
|
|
601
595
|
})), /* @__PURE__ */ React5.createElement(ControlItem3, {
|
|
602
596
|
title: t("create recovery code label"),
|
|
@@ -605,7 +599,6 @@ var RecoveryCredentialsContainer = () => {
|
|
|
605
599
|
label: t("create recovery code label"),
|
|
606
600
|
icon: "ph--receipt--duotone",
|
|
607
601
|
variant: "default",
|
|
608
|
-
size: 5,
|
|
609
602
|
onClick: () => dispatch(createIntent3(ClientAction.CreateRecoveryCode))
|
|
610
603
|
})))), /* @__PURE__ */ React5.createElement(ControlSection3, {
|
|
611
604
|
title: t("credentials list label")
|
|
@@ -618,10 +611,9 @@ var RecoveryCredentialsContainer = () => {
|
|
|
618
611
|
classNames: "container-max-width pli-2"
|
|
619
612
|
}, recoveryCredentials.map((credential) => /* @__PURE__ */ React5.createElement(ListItem.Root, {
|
|
620
613
|
key: credential.id?.toHex()
|
|
621
|
-
}, /* @__PURE__ */ React5.createElement(ListItem.Endcap, null, /* @__PURE__ */ React5.createElement(
|
|
622
|
-
icon: "ph--key--regular"
|
|
623
|
-
|
|
624
|
-
})), /* @__PURE__ */ React5.createElement(ListItem.Heading, null, credential.issuanceDate.toLocaleString())))))));
|
|
614
|
+
}, /* @__PURE__ */ React5.createElement(ListItem.Endcap, null, /* @__PURE__ */ React5.createElement(Icon2, {
|
|
615
|
+
icon: "ph--key--regular"
|
|
616
|
+
})), /* @__PURE__ */ React5.createElement(ListItem.Heading, null, credential.issuanceDate.toLocaleString()))))));
|
|
625
617
|
} finally {
|
|
626
618
|
_effect.f();
|
|
627
619
|
}
|
|
@@ -630,15 +622,16 @@ var RecoveryCredentialsContainer = () => {
|
|
|
630
622
|
// src/components/ResetDialog.tsx
|
|
631
623
|
import { useSignals as _useSignals6 } from "@preact-signals/safe-react/tracking";
|
|
632
624
|
import React6, { useCallback as useCallback5 } from "react";
|
|
633
|
-
import {
|
|
625
|
+
import { LayoutAction as LayoutAction2, createIntent as createIntent4 } from "@dxos/app-framework";
|
|
626
|
+
import { useIntentDispatcher as useIntentDispatcher4 } from "@dxos/app-framework/react";
|
|
634
627
|
import { useClient as useClient3 } from "@dxos/react-client";
|
|
635
628
|
import { Dialog as Dialog2, useTranslation as useTranslation6 } from "@dxos/react-ui";
|
|
636
629
|
import { ConfirmReset } from "@dxos/shell/react";
|
|
637
|
-
var RESET_DIALOG = `${
|
|
630
|
+
var RESET_DIALOG = `${meta.id}/ResetDialog`;
|
|
638
631
|
var ResetDialog = ({ mode, onReset }) => {
|
|
639
632
|
var _effect = _useSignals6();
|
|
640
633
|
try {
|
|
641
|
-
const { t } = useTranslation6(
|
|
634
|
+
const { t } = useTranslation6(meta.id);
|
|
642
635
|
const { dispatchPromise: dispatch } = useIntentDispatcher4();
|
|
643
636
|
const client = useClient3();
|
|
644
637
|
const handleReset = useCallback5(async () => {
|
|
@@ -691,4 +684,4 @@ export {
|
|
|
691
684
|
RESET_DIALOG,
|
|
692
685
|
ResetDialog
|
|
693
686
|
};
|
|
694
|
-
//# sourceMappingURL=chunk-
|
|
687
|
+
//# sourceMappingURL=chunk-DJ6XKSE4.mjs.map
|