@dxos/plugin-preview 0.8.4-main.d05673bc65 → 0.8.4-main.dfabb4ec29

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 (111) hide show
  1. package/dist/lib/neutral/PreviewPlugin.mjs +9 -0
  2. package/dist/lib/neutral/PreviewPlugin.mjs.map +7 -0
  3. package/dist/lib/neutral/PreviewPlugin.node.mjs +17 -0
  4. package/dist/lib/neutral/PreviewPlugin.node.mjs.map +7 -0
  5. package/dist/lib/neutral/capabilities/index.mjs +9 -0
  6. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  7. package/dist/lib/neutral/chunk-3SWUVHXJ.mjs +28 -0
  8. package/dist/lib/neutral/chunk-3SWUVHXJ.mjs.map +7 -0
  9. package/dist/lib/{browser/chunk-KLQDOIFV.mjs → neutral/chunk-52UEVZSF.mjs} +1 -1
  10. package/dist/lib/{browser/chunk-KLQDOIFV.mjs.map → neutral/chunk-52UEVZSF.mjs.map} +2 -2
  11. package/dist/lib/neutral/index.mjs +7 -0
  12. package/dist/lib/neutral/index.mjs.map +7 -0
  13. package/dist/lib/neutral/meta.json +1 -0
  14. package/dist/lib/neutral/meta.mjs +7 -0
  15. package/dist/lib/neutral/meta.mjs.map +7 -0
  16. package/dist/lib/neutral/plugin.mjs +11 -0
  17. package/dist/lib/neutral/plugin.mjs.map +7 -0
  18. package/dist/lib/{browser/preview-popover-X2ZJM5MK.mjs → neutral/preview-popover-MPPEMUIA.mjs} +10 -13
  19. package/dist/lib/neutral/preview-popover-MPPEMUIA.mjs.map +7 -0
  20. package/dist/lib/neutral/react-surface-YFFJXXPQ.mjs +348 -0
  21. package/dist/lib/neutral/react-surface-YFFJXXPQ.mjs.map +7 -0
  22. package/dist/lib/neutral/testing.mjs +7 -0
  23. package/dist/lib/neutral/testing.mjs.map +7 -0
  24. package/dist/lib/neutral/translations.mjs +21 -0
  25. package/dist/lib/neutral/translations.mjs.map +7 -0
  26. package/dist/types/src/PreviewPlugin.d.ts +1 -0
  27. package/dist/types/src/PreviewPlugin.d.ts.map +1 -1
  28. package/dist/types/src/PreviewPlugin.node.d.ts +4 -0
  29. package/dist/types/src/PreviewPlugin.node.d.ts.map +1 -0
  30. package/dist/types/src/PreviewPlugin.test.d.ts +2 -0
  31. package/dist/types/src/PreviewPlugin.test.d.ts.map +1 -0
  32. package/dist/types/src/capabilities/index.d.ts +3 -2
  33. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  34. package/dist/types/src/capabilities/preview-popover.d.ts.map +1 -0
  35. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  36. package/dist/types/src/cards/ExpandoCard.d.ts +4 -0
  37. package/dist/types/src/cards/ExpandoCard.d.ts.map +1 -0
  38. package/dist/types/src/cards/FormCard.d.ts +2 -2
  39. package/dist/types/src/cards/FormCard.d.ts.map +1 -1
  40. package/dist/types/src/cards/JsonCard.d.ts +5 -0
  41. package/dist/types/src/cards/JsonCard.d.ts.map +1 -0
  42. package/dist/types/src/cards/OrganizationCard.d.ts +2 -2
  43. package/dist/types/src/cards/OrganizationCard.d.ts.map +1 -1
  44. package/dist/types/src/cards/PersonCard.d.ts +2 -2
  45. package/dist/types/src/cards/PersonCard.d.ts.map +1 -1
  46. package/dist/types/src/cards/ProjectCard.d.ts +2 -2
  47. package/dist/types/src/cards/ProjectCard.d.ts.map +1 -1
  48. package/dist/types/src/cards/TaskCard.d.ts +2 -2
  49. package/dist/types/src/cards/TaskCard.d.ts.map +1 -1
  50. package/dist/types/src/cards/index.d.ts +2 -0
  51. package/dist/types/src/cards/index.d.ts.map +1 -1
  52. package/dist/types/src/index.d.ts +0 -1
  53. package/dist/types/src/index.d.ts.map +1 -1
  54. package/dist/types/src/plugin.d.ts +3 -0
  55. package/dist/types/src/plugin.d.ts.map +1 -0
  56. package/dist/types/src/stories/Card.stories.d.ts +15 -9
  57. package/dist/types/src/stories/Card.stories.d.ts.map +1 -1
  58. package/dist/types/src/stories/testing.d.ts +4 -2
  59. package/dist/types/src/stories/testing.d.ts.map +1 -1
  60. package/dist/types/src/testing.d.ts +2 -0
  61. package/dist/types/src/testing.d.ts.map +1 -0
  62. package/dist/types/src/translations.d.ts +8 -9
  63. package/dist/types/src/translations.d.ts.map +1 -1
  64. package/dist/types/tsconfig.tsbuildinfo +1 -1
  65. package/package.json +78 -40
  66. package/src/PreviewPlugin.node.ts +16 -0
  67. package/src/PreviewPlugin.test.ts +25 -0
  68. package/src/PreviewPlugin.tsx +6 -4
  69. package/src/capabilities/index.ts +4 -2
  70. package/src/capabilities/{preview-popover/preview-popover.ts → preview-popover.ts} +10 -4
  71. package/src/capabilities/react-surface.tsx +118 -0
  72. package/src/cards/ExpandoCard.tsx +76 -0
  73. package/src/cards/FormCard.tsx +5 -5
  74. package/src/cards/JsonCard.tsx +19 -0
  75. package/src/cards/OrganizationCard.tsx +3 -3
  76. package/src/cards/PersonCard.tsx +27 -9
  77. package/src/cards/ProjectCard.tsx +2 -2
  78. package/src/cards/TaskCard.tsx +15 -11
  79. package/src/cards/index.ts +2 -0
  80. package/src/index.ts +0 -2
  81. package/src/plugin.ts +9 -0
  82. package/src/stories/Card.stories.tsx +50 -5
  83. package/src/stories/testing.tsx +26 -16
  84. package/src/testing.ts +7 -0
  85. package/src/translations.ts +8 -8
  86. package/dist/lib/browser/index.mjs +0 -55
  87. package/dist/lib/browser/index.mjs.map +0 -7
  88. package/dist/lib/browser/meta.json +0 -1
  89. package/dist/lib/browser/preview-popover-X2ZJM5MK.mjs.map +0 -7
  90. package/dist/lib/browser/react-surface-XGUZ4J2A.mjs +0 -236
  91. package/dist/lib/browser/react-surface-XGUZ4J2A.mjs.map +0 -7
  92. package/dist/lib/node-esm/chunk-GFWHEHC5.mjs +0 -19
  93. package/dist/lib/node-esm/chunk-GFWHEHC5.mjs.map +0 -7
  94. package/dist/lib/node-esm/index.mjs +0 -56
  95. package/dist/lib/node-esm/index.mjs.map +0 -7
  96. package/dist/lib/node-esm/meta.json +0 -1
  97. package/dist/lib/node-esm/preview-popover-6FLDJHHB.mjs +0 -83
  98. package/dist/lib/node-esm/preview-popover-6FLDJHHB.mjs.map +0 -7
  99. package/dist/lib/node-esm/react-surface-DGHIAODG.mjs +0 -237
  100. package/dist/lib/node-esm/react-surface-DGHIAODG.mjs.map +0 -7
  101. package/dist/types/src/capabilities/preview-popover/index.d.ts +0 -3
  102. package/dist/types/src/capabilities/preview-popover/index.d.ts.map +0 -1
  103. package/dist/types/src/capabilities/preview-popover/preview-popover.d.ts.map +0 -1
  104. package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
  105. package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
  106. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
  107. package/src/capabilities/preview-popover/index.ts +0 -7
  108. package/src/capabilities/react-surface/index.ts +0 -7
  109. package/src/capabilities/react-surface/react-surface.tsx +0 -97
  110. /package/dist/types/src/capabilities/{preview-popover/preview-popover.d.ts → preview-popover.d.ts} +0 -0
  111. /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
@@ -0,0 +1,348 @@
1
+ // src/capabilities/react-surface.tsx
2
+ import * as Effect2 from "effect/Effect";
3
+ import React8 from "react";
4
+ import { Capabilities, Capability } from "@dxos/app-framework";
5
+ import { Surface } from "@dxos/app-framework/ui";
6
+ import { AppSurface } from "@dxos/app-toolkit/ui";
7
+ import { Obj as Obj5 } from "@dxos/echo";
8
+ import { Card as Card8 } from "@dxos/react-ui";
9
+ import { Expando } from "@dxos/schema";
10
+ import { Organization, Person, Pipeline, Task as Task2 } from "@dxos/types";
11
+
12
+ // src/cards/ExpandoCard.tsx
13
+ import * as Schema from "effect/Schema";
14
+ import React, { useCallback, useMemo } from "react";
15
+ import { Obj } from "@dxos/echo";
16
+ import { splitJsonPath } from "@dxos/effect";
17
+ import { Card } from "@dxos/react-ui";
18
+ import { Form } from "@dxos/react-ui-form";
19
+ var schemaForValue = (value) => {
20
+ switch (typeof value) {
21
+ case "string":
22
+ return Schema.String;
23
+ case "number":
24
+ return Schema.Number;
25
+ case "boolean":
26
+ return Schema.Boolean;
27
+ default:
28
+ return void 0;
29
+ }
30
+ };
31
+ var isInternalKey = (key) => key === "id" || key.startsWith("~");
32
+ var ExpandoCard = ({ subject, ignorePaths }) => {
33
+ const schema = useMemo(() => {
34
+ const ignored = new Set(ignorePaths ?? []);
35
+ const fields = {};
36
+ for (const key of Object.keys(subject)) {
37
+ if (isInternalKey(key) || ignored.has(key)) {
38
+ continue;
39
+ }
40
+ const fieldSchema = schemaForValue(subject[key]);
41
+ if (fieldSchema) {
42
+ fields[key] = fieldSchema;
43
+ }
44
+ }
45
+ return Schema.Struct(fields);
46
+ }, [
47
+ subject,
48
+ ignorePaths
49
+ ]);
50
+ const handleSave = useCallback((values, { changed }) => {
51
+ const paths = Object.keys(changed).filter((path) => changed[path]);
52
+ Obj.update(subject, () => {
53
+ for (const path of paths) {
54
+ const value = values[path];
55
+ const parts = splitJsonPath(path);
56
+ Obj.setValue(subject, parts, value);
57
+ }
58
+ });
59
+ }, [
60
+ subject
61
+ ]);
62
+ return /* @__PURE__ */ React.createElement(Card.Content, null, /* @__PURE__ */ React.createElement(Form.Root, {
63
+ schema,
64
+ values: subject,
65
+ autoSave: true,
66
+ onSave: handleSave
67
+ }, /* @__PURE__ */ React.createElement(Form.Viewport, null, /* @__PURE__ */ React.createElement(Form.Content, null, /* @__PURE__ */ React.createElement(Form.FieldSet, null)))));
68
+ };
69
+
70
+ // src/cards/FormCard.tsx
71
+ import React2, { useCallback as useCallback2, useMemo as useMemo2 } from "react";
72
+ import { Obj as Obj2 } from "@dxos/echo";
73
+ import { splitJsonPath as splitJsonPath2 } from "@dxos/effect";
74
+ import { Card as Card2, useTranslation } from "@dxos/react-ui";
75
+ import { Form as Form2, omitId } from "@dxos/react-ui-form";
76
+ import { descriptionMessage, mx } from "@dxos/ui-theme";
77
+ import { meta } from "#meta";
78
+ var FormCard = ({ subject, projection }) => {
79
+ const { t } = useTranslation(meta.id);
80
+ const echoSchema = Obj2.getSchema(subject);
81
+ const schema = useMemo2(() => echoSchema && omitId(echoSchema), [
82
+ echoSchema
83
+ ]);
84
+ const handleSave = useCallback2((values, { changed }) => {
85
+ const paths = Object.keys(changed).filter((path) => changed[path]);
86
+ Obj2.update(subject, () => {
87
+ for (const path of paths) {
88
+ const value = values[path];
89
+ const parts = splitJsonPath2(path);
90
+ Obj2.setValue(subject, parts, value);
91
+ }
92
+ });
93
+ }, []);
94
+ if (!schema) {
95
+ return /* @__PURE__ */ React2.createElement("p", {
96
+ className: mx(descriptionMessage)
97
+ }, t("unable-to-create-preview.message"));
98
+ }
99
+ return /* @__PURE__ */ React2.createElement(Card2.Content, null, /* @__PURE__ */ React2.createElement(Form2.Root, {
100
+ schema,
101
+ projection,
102
+ values: subject,
103
+ autoSave: true,
104
+ onSave: handleSave
105
+ }, /* @__PURE__ */ React2.createElement(Form2.Viewport, null, /* @__PURE__ */ React2.createElement(Form2.Content, null, /* @__PURE__ */ React2.createElement(Form2.FieldSet, null)))));
106
+ };
107
+
108
+ // src/cards/JsonCard.tsx
109
+ import React3 from "react";
110
+ import { Card as Card3 } from "@dxos/react-ui";
111
+ import { JsonHighlighter } from "@dxos/react-ui-syntax-highlighter";
112
+ var JsonCard = ({ data }) => {
113
+ return /* @__PURE__ */ React3.createElement(Card3.Content, null, /* @__PURE__ */ React3.createElement("span", null), /* @__PURE__ */ React3.createElement(JsonHighlighter, {
114
+ data
115
+ }), /* @__PURE__ */ React3.createElement("span", null));
116
+ };
117
+
118
+ // src/cards/OrganizationCard.tsx
119
+ import React4 from "react";
120
+ import { Card as Card4 } from "@dxos/react-ui";
121
+ var OrganizationCard = ({ subject }) => {
122
+ const { name, image, description, website } = subject;
123
+ return /* @__PURE__ */ React4.createElement(Card4.Content, null, /* @__PURE__ */ React4.createElement(Card4.Poster, {
124
+ alt: name ?? "",
125
+ ...image ? {
126
+ image
127
+ } : {
128
+ icon: "ph--building-office--regular"
129
+ },
130
+ classNames: !image && "opacity-50"
131
+ }), description && /* @__PURE__ */ React4.createElement(Card4.Row, null, /* @__PURE__ */ React4.createElement(Card4.Text, {
132
+ variant: "description"
133
+ }, description)), website && /* @__PURE__ */ React4.createElement(Card4.Link, {
134
+ label: website,
135
+ href: website
136
+ }));
137
+ };
138
+
139
+ // src/cards/PersonCard.tsx
140
+ import * as Effect from "effect/Effect";
141
+ import React5, { useCallback as useCallback3 } from "react";
142
+ import { useOperationInvoker } from "@dxos/app-framework/ui";
143
+ import { LayoutOperation, getObjectPathFromObject, getSpacePath } from "@dxos/app-toolkit";
144
+ import { Obj as Obj3 } from "@dxos/echo";
145
+ import { runAndForwardErrors } from "@dxos/effect";
146
+ import { Avatar } from "@dxos/react-ui";
147
+ import { Card as Card5 } from "@dxos/react-ui";
148
+ var PersonCard = ({ subject }) => {
149
+ const { invoke } = useOperationInvoker();
150
+ const { image, organization: { target: organization } = {}, emails = [] } = subject;
151
+ const handleOrganizationClick = useCallback3(() => {
152
+ if (!organization) {
153
+ return;
154
+ }
155
+ return Effect.gen(function* () {
156
+ const organizationPath = getObjectPathFromObject(organization);
157
+ const db = Obj3.getDatabase(organization);
158
+ yield* invoke(LayoutOperation.UpdatePopover, {
159
+ state: false,
160
+ anchorId: ""
161
+ });
162
+ yield* invoke(LayoutOperation.Open, {
163
+ subject: [
164
+ organizationPath
165
+ ],
166
+ workspace: db ? getSpacePath(db.spaceId) : void 0
167
+ });
168
+ }).pipe(runAndForwardErrors);
169
+ }, [
170
+ invoke,
171
+ organization
172
+ ]);
173
+ return /* @__PURE__ */ React5.createElement(Card5.Content, null, /* @__PURE__ */ React5.createElement(Avatar.Root, null, image && /* @__PURE__ */ React5.createElement(Card5.Row, {
174
+ className: "py-1"
175
+ }, /* @__PURE__ */ React5.createElement(Avatar.Content, {
176
+ imgSrc: image,
177
+ icon: "ph--user--regular",
178
+ size: 20,
179
+ classNames: !image && "opacity-50",
180
+ hue: "neutral",
181
+ variant: "square"
182
+ })), organization?.name && /* @__PURE__ */ React5.createElement(Card5.Action, {
183
+ icon: "ph--buildings--regular",
184
+ label: organization.name,
185
+ onClick: handleOrganizationClick
186
+ }), emails.map(({ value }) => /* @__PURE__ */ React5.createElement(Card5.Row, {
187
+ key: value,
188
+ icon: "ph--at--regular"
189
+ }, /* @__PURE__ */ React5.createElement(Card5.Text, {
190
+ truncate: true,
191
+ className: "text-primary-text"
192
+ }, value)))));
193
+ };
194
+
195
+ // src/cards/ProjectCard.tsx
196
+ import React6 from "react";
197
+ import { Obj as Obj4 } from "@dxos/echo";
198
+ import { Card as Card6 } from "@dxos/react-ui";
199
+ var ProjectCard = ({ subject }) => {
200
+ const { image, description } = subject;
201
+ return /* @__PURE__ */ React6.createElement(Card6.Content, null, image && /* @__PURE__ */ React6.createElement(Card6.Poster, {
202
+ image,
203
+ alt: Obj4.getLabel(subject) ?? "",
204
+ aspect: "auto"
205
+ }), description && /* @__PURE__ */ React6.createElement(Card6.Text, {
206
+ variant: "description"
207
+ }, description));
208
+ };
209
+
210
+ // src/cards/TaskCard.tsx
211
+ import * as SchemaAST from "effect/SchemaAST";
212
+ import React7 from "react";
213
+ import { PropertyMetaAnnotationId } from "@dxos/echo/internal";
214
+ import { Card as Card7 } from "@dxos/react-ui";
215
+ import { Task } from "@dxos/types";
216
+ var TaskCard = ({ subject }) => {
217
+ const { title, status } = subject;
218
+ const statusOption = getActiveStatusOption(status);
219
+ return /* @__PURE__ */ React7.createElement(Card7.Content, null, /* @__PURE__ */ React7.createElement(Card7.Row, null, statusOption && /* @__PURE__ */ React7.createElement("div", null, /* @__PURE__ */ React7.createElement("span", {
220
+ className: "dx-tag",
221
+ "data-hue": statusOption.color
222
+ }, statusOption.title))));
223
+ };
224
+ var getActiveStatusOption = (status) => {
225
+ const properties = SchemaAST.getPropertySignatures(Task.Task.ast);
226
+ const statusProperty = properties.find((p) => p.name === "status");
227
+ const statusMeta = SchemaAST.getAnnotation(PropertyMetaAnnotationId)(statusProperty.type.types[0]);
228
+ const options = statusMeta.value.singleSelect.options;
229
+ return options.find(({ id }) => id === status);
230
+ };
231
+
232
+ // src/capabilities/react-surface.tsx
233
+ var react_surface_default = Capability.makeModule(() => Effect2.succeed(Capability.contributes(Capabilities.ReactSurface, [
234
+ //
235
+ // Specific schema types.
236
+ // TODO(burdon): Create helpers and factor out.
237
+ //
238
+ Surface.create({
239
+ id: "schema-popover--contact",
240
+ position: "hoist",
241
+ filter: AppSurface.object(AppSurface.Card, Person.Person),
242
+ component: ({ data, role }) => {
243
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(PersonCard, {
244
+ role,
245
+ subject: data.subject
246
+ }), /* @__PURE__ */ React8.createElement(Surface.Surface, {
247
+ type: AppSurface.Related,
248
+ data,
249
+ limit: 1
250
+ }));
251
+ }
252
+ }),
253
+ Surface.create({
254
+ id: "schema-popover--organization",
255
+ position: "hoist",
256
+ filter: AppSurface.object(AppSurface.Card, Organization.Organization),
257
+ component: ({ data, role }) => {
258
+ return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(OrganizationCard, {
259
+ role,
260
+ subject: data.subject
261
+ }), /* @__PURE__ */ React8.createElement(Surface.Surface, {
262
+ type: AppSurface.Related,
263
+ data,
264
+ limit: 1
265
+ }));
266
+ }
267
+ }),
268
+ Surface.create({
269
+ id: "schema-popover--project",
270
+ position: "hoist",
271
+ filter: AppSurface.object(AppSurface.Card, Pipeline.Pipeline),
272
+ component: ({ data, role }) => {
273
+ return /* @__PURE__ */ React8.createElement(ProjectCard, {
274
+ role,
275
+ subject: data.subject
276
+ });
277
+ }
278
+ }),
279
+ Surface.create({
280
+ id: "schema-popover--task",
281
+ position: "hoist",
282
+ filter: AppSurface.object(AppSurface.Card, Task2.Task),
283
+ component: ({ data, role }) => {
284
+ return /* @__PURE__ */ React8.createElement(TaskCard, {
285
+ role,
286
+ subject: data.subject
287
+ });
288
+ }
289
+ }),
290
+ Surface.create({
291
+ id: "schema-popover--expando",
292
+ filter: AppSurface.object(AppSurface.Card, Expando.Expando),
293
+ component: ({ data, role }) => {
294
+ return /* @__PURE__ */ React8.createElement(ExpandoCard, {
295
+ role,
296
+ subject: data.subject,
297
+ ignorePaths: data.ignorePaths
298
+ });
299
+ }
300
+ }),
301
+ //
302
+ // Fallback for any object.
303
+ //
304
+ Surface.create({
305
+ id: "fallback-popover",
306
+ role: "card--content",
307
+ position: "fallback",
308
+ filter: (data) => Obj5.isObject(data.subject),
309
+ component: ({ data, role }) => {
310
+ return /* @__PURE__ */ React8.createElement(FormCard, {
311
+ role,
312
+ subject: data.subject,
313
+ projection: data.projection
314
+ });
315
+ }
316
+ }),
317
+ Surface.create({
318
+ id: "fallback-json",
319
+ role: "card--content",
320
+ position: "fallback",
321
+ filter: (data) => true,
322
+ component: ({ data }) => {
323
+ return /* @__PURE__ */ React8.createElement(JsonCard, {
324
+ data
325
+ });
326
+ }
327
+ }),
328
+ Surface.create({
329
+ id: "section",
330
+ position: "fallback",
331
+ filter: AppSurface.subject(AppSurface.Section, Obj5.isObject),
332
+ component: ({ data }) => {
333
+ return /* @__PURE__ */ React8.createElement("div", {
334
+ className: "flex w-full justify-center"
335
+ }, /* @__PURE__ */ React8.createElement("div", {
336
+ className: "py-2 dx-card-min-width dx-card-max-width"
337
+ }, /* @__PURE__ */ React8.createElement(Card8.Root, null, /* @__PURE__ */ React8.createElement(Surface.Surface, {
338
+ type: AppSurface.Card,
339
+ data,
340
+ limit: 1
341
+ }))));
342
+ }
343
+ })
344
+ ])));
345
+ export {
346
+ react_surface_default as default
347
+ };
348
+ //# sourceMappingURL=react-surface-YFFJXXPQ.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/cards/ExpandoCard.tsx", "../../../src/cards/FormCard.tsx", "../../../src/cards/JsonCard.tsx", "../../../src/cards/OrganizationCard.tsx", "../../../src/cards/PersonCard.tsx", "../../../src/cards/ProjectCard.tsx", "../../../src/cards/TaskCard.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { Card } from '@dxos/react-ui';\nimport { Expando, type ProjectionModel } from '@dxos/schema';\nimport { Organization, Person, Pipeline, Task } from '@dxos/types';\n\nimport { ExpandoCard, FormCard, JsonCard, OrganizationCard, PersonCard, ProjectCard, TaskCard } from '../cards';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n //\n // Specific schema types.\n // TODO(burdon): Create helpers and factor out.\n //\n\n Surface.create<{ subject: Person.Person }>({\n id: 'schema-popover--contact',\n position: 'hoist',\n filter: AppSurface.object(AppSurface.Card, Person.Person),\n component: ({ data, role }) => {\n return (\n <>\n <PersonCard role={role} subject={data.subject} />\n <Surface.Surface type={AppSurface.Related} data={data} limit={1} />\n </>\n );\n },\n }),\n Surface.create({\n id: 'schema-popover--organization',\n position: 'hoist',\n filter: AppSurface.object(AppSurface.Card, Organization.Organization),\n component: ({ data, role }) => {\n return (\n <>\n <OrganizationCard role={role} subject={data.subject} />\n <Surface.Surface type={AppSurface.Related} data={data} limit={1} />\n </>\n );\n },\n }),\n Surface.create({\n id: 'schema-popover--project',\n position: 'hoist',\n filter: AppSurface.object(AppSurface.Card, Pipeline.Pipeline),\n component: ({ data, role }) => {\n return <ProjectCard role={role} subject={data.subject} />;\n },\n }),\n Surface.create({\n id: 'schema-popover--task',\n position: 'hoist',\n filter: AppSurface.object(AppSurface.Card, Task.Task),\n component: ({ data, role }) => {\n return <TaskCard role={role} subject={data.subject} />;\n },\n }),\n Surface.create<AppSurface.ObjectCardData<Expando.Expando>>({\n id: 'schema-popover--expando',\n filter: AppSurface.object(AppSurface.Card, Expando.Expando),\n component: ({ data, role }) => {\n return <ExpandoCard role={role} subject={data.subject} ignorePaths={data.ignorePaths} />;\n },\n }),\n\n //\n // Fallback for any object.\n //\n\n Surface.create({\n id: 'fallback-popover',\n role: 'card--content',\n position: 'fallback',\n filter: (data): data is { subject: Obj.Unknown; projection?: ProjectionModel } => Obj.isObject(data.subject),\n component: ({ data, role }) => {\n return <FormCard role={role} subject={data.subject} projection={data.projection} />;\n },\n }),\n\n Surface.create({\n id: 'fallback-json',\n role: 'card--content',\n position: 'fallback',\n filter: (data): data is Record<string, unknown> => true,\n component: ({ data }) => {\n return <JsonCard data={data} />;\n },\n }),\n\n Surface.create({\n id: 'section',\n position: 'fallback',\n filter: AppSurface.subject(AppSurface.Section, Obj.isObject),\n component: ({ data }) => {\n return (\n <div className='flex w-full justify-center'>\n <div className='py-2 dx-card-min-width dx-card-max-width'>\n <Card.Root>\n <Surface.Surface type={AppSurface.Card} data={data} limit={1} />\n </Card.Root>\n </div>\n </div>\n );\n },\n }),\n ]),\n ),\n);\n", "//\n// Copyright 2026 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\nimport React, { useCallback, useMemo } from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { type JsonPath, splitJsonPath } from '@dxos/effect';\nimport { Card } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\n\nconst schemaForValue = (value: unknown): Schema.Schema.AnyNoContext | undefined => {\n switch (typeof value) {\n case 'string':\n return Schema.String;\n case 'number':\n return Schema.Number;\n case 'boolean':\n return Schema.Boolean;\n default:\n return undefined;\n }\n};\n\n/**\n * Reserved keys: `id`, plus any `~`-prefixed key (ECHO uses `~`-prefixed\n * string keys to brand entity instances and schemas — KindId,\n * SchemaKindId, SnapshotKindId, etc. — and the `~` namespace is reserved\n * for that purpose). They show up in `Object.keys` but aren't user data.\n */\nconst isInternalKey = (key: string) => key === 'id' || key.startsWith('~');\n\nexport const ExpandoCard = ({ subject, ignorePaths }: AppSurface.ObjectCardProps) => {\n const schema = useMemo(() => {\n const ignored = new Set(ignorePaths ?? []);\n const fields: Record<string, Schema.Schema.AnyNoContext> = {};\n for (const key of Object.keys(subject)) {\n if (isInternalKey(key) || ignored.has(key)) {\n continue;\n }\n const fieldSchema = schemaForValue((subject as any)[key]);\n if (fieldSchema) {\n fields[key] = fieldSchema;\n }\n }\n return Schema.Struct(fields);\n }, [subject, ignorePaths]);\n\n const handleSave = useCallback(\n (values: any, { changed }: { changed: Record<string, boolean> }) => {\n const paths = Object.keys(changed).filter((path) => changed[path]);\n Obj.update(subject, () => {\n for (const path of paths) {\n const value = values[path];\n const parts = splitJsonPath(path as JsonPath);\n Obj.setValue(subject, parts, value);\n }\n });\n },\n [subject],\n );\n\n return (\n <Card.Content>\n <Form.Root schema={schema} values={subject} autoSave onSave={handleSave}>\n <Form.Viewport>\n <Form.Content>\n <Form.FieldSet />\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n </Card.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { type JsonPath, splitJsonPath } from '@dxos/effect';\nimport { Card, useTranslation } from '@dxos/react-ui';\nimport { Form, omitId } from '@dxos/react-ui-form';\nimport { type ProjectionModel } from '@dxos/schema';\nimport { descriptionMessage, mx } from '@dxos/ui-theme';\n\nimport { meta } from '#meta';\n\nexport const FormCard = ({ subject, projection }: AppSurface.ObjectCardProps & { projection?: ProjectionModel }) => {\n const { t } = useTranslation(meta.id);\n const echoSchema = Obj.getSchema(subject);\n const schema = useMemo(() => echoSchema && omitId(echoSchema), [echoSchema]);\n\n const handleSave = useCallback((values: any, { changed }: { changed: Record<string, boolean> }) => {\n const paths = Object.keys(changed).filter((path) => changed[path]);\n Obj.update(subject, () => {\n for (const path of paths) {\n const value = values[path];\n const parts = splitJsonPath(path as JsonPath);\n Obj.setValue(subject, parts, value);\n }\n });\n }, []);\n\n if (!schema) {\n return <p className={mx(descriptionMessage)}>{t('unable-to-create-preview.message')}</p>;\n }\n\n return (\n <Card.Content>\n <Form.Root schema={schema} projection={projection} values={subject} autoSave onSave={handleSave}>\n <Form.Viewport>\n <Form.Content>\n <Form.FieldSet />\n </Form.Content>\n </Form.Viewport>\n </Form.Root>\n </Card.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Card } from '@dxos/react-ui';\nimport { JsonHighlighter } from '@dxos/react-ui-syntax-highlighter';\n\nexport const JsonCard = ({ data }: { data: unknown }) => {\n return (\n <Card.Content>\n <span />\n {/* TODO(wittjosiah): Span whole row. */}\n <JsonHighlighter data={data} />\n <span />\n </Card.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Card } from '@dxos/react-ui';\nimport { type Organization } from '@dxos/types';\n\nexport const OrganizationCard = ({ subject }: AppSurface.ObjectCardProps<Organization.Organization>) => {\n const { name, image, description, website } = subject;\n\n return (\n <Card.Content>\n <Card.Poster\n alt={name ?? ''}\n {...(image ? { image } : { icon: 'ph--building-office--regular' })}\n classNames={!image && 'opacity-50'}\n />\n {description && (\n <Card.Row>\n <Card.Text variant='description'>{description}</Card.Text>\n </Card.Row>\n )}\n {website && <Card.Link label={website} href={website} />}\n </Card.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport React, { useCallback } from 'react';\n\nimport { useOperationInvoker } from '@dxos/app-framework/ui';\nimport { LayoutOperation, getObjectPathFromObject, getSpacePath } from '@dxos/app-toolkit';\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { runAndForwardErrors } from '@dxos/effect';\nimport { Avatar } from '@dxos/react-ui';\nimport { Card } from '@dxos/react-ui';\nimport { type Person } from '@dxos/types';\n\nexport const PersonCard = ({ subject }: AppSurface.ObjectCardProps<Person.Person>) => {\n const { invoke } = useOperationInvoker();\n const { image, organization: { target: organization } = {}, emails = [] } = subject;\n\n const handleOrganizationClick = useCallback(() => {\n if (!organization) {\n return;\n }\n\n return Effect.gen(function* () {\n const organizationPath = getObjectPathFromObject(organization);\n const db = Obj.getDatabase(organization);\n yield* invoke(LayoutOperation.UpdatePopover, { state: false, anchorId: '' });\n yield* invoke(LayoutOperation.Open, {\n subject: [organizationPath],\n workspace: db ? getSpacePath(db.spaceId) : undefined,\n });\n }).pipe(runAndForwardErrors);\n }, [invoke, organization]);\n\n return (\n <Card.Content>\n <Avatar.Root>\n {image && (\n <Card.Row className='py-1'>\n <Avatar.Content\n imgSrc={image}\n icon='ph--user--regular'\n size={20}\n classNames={!image && 'opacity-50'}\n hue='neutral'\n variant='square'\n />\n </Card.Row>\n )}\n {organization?.name && (\n <Card.Action icon='ph--buildings--regular' label={organization.name} onClick={handleOrganizationClick} />\n )}\n {emails.map(({ value }) => (\n <Card.Row key={value} icon='ph--at--regular'>\n <Card.Text truncate className='text-primary-text'>\n {value}\n </Card.Text>\n </Card.Row>\n ))}\n </Avatar.Root>\n </Card.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { Obj } from '@dxos/echo';\nimport { Card } from '@dxos/react-ui';\nimport { type Pipeline } from '@dxos/types';\n\nexport const ProjectCard = ({ subject }: AppSurface.ObjectCardProps<Pipeline.Pipeline>) => {\n const { image, description } = subject;\n\n return (\n <Card.Content>\n {image && <Card.Poster image={image} alt={Obj.getLabel(subject) ?? ''} aspect='auto' />}\n {/* <CardHeader label={name} subject={subject} db={db} /> */}\n {description && <Card.Text variant='description'>{description}</Card.Text>}\n </Card.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as SchemaAST from 'effect/SchemaAST';\nimport React from 'react';\n\nimport { type AppSurface } from '@dxos/app-toolkit/ui';\nimport { type PropertyMetaAnnotation, PropertyMetaAnnotationId } from '@dxos/echo/internal';\nimport { Card } from '@dxos/react-ui';\nimport { Task } from '@dxos/types';\n\nexport const TaskCard = ({ subject }: AppSurface.ObjectCardProps<Task.Task>) => {\n const { title, status } = subject;\n const statusOption = getActiveStatusOption(status);\n\n return (\n <Card.Content>\n <Card.Row>\n {statusOption && (\n <div>\n <span className='dx-tag' data-hue={statusOption.color}>\n {statusOption.title}\n </span>\n </div>\n )}\n </Card.Row>\n </Card.Content>\n );\n};\n\n// TODO(thure): Should this move upstream as a helper? Is there an easier way to get options?\nconst getActiveStatusOption = (status?: string) => {\n const properties = SchemaAST.getPropertySignatures(Task.Task.ast);\n const statusProperty = properties.find((p) => p.name === 'status');\n // TODO(thure): Typescript asserts `.type` doesn’t have `.types`, but in runtime it does.\n const statusMeta = SchemaAST.getAnnotation<PropertyMetaAnnotation>(PropertyMetaAnnotationId)(\n (statusProperty!.type as any).types[0],\n );\n\n // TODO(thure): Typescript asserts `statusMeta` doesn’t have `.value`, but in runtime it does.\n const options = (statusMeta as any).value.singleSelect.options as { id: string; title: string; color: string }[];\n return options.find(({ id }) => id === status);\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["Effect", "React", "Capabilities", "Capability", "Surface", "AppSurface", "Obj", "Card", "Expando", "Organization", "Person", "Pipeline", "Task", "Schema", "React", "useCallback", "useMemo", "Obj", "splitJsonPath", "Card", "Form", "schemaForValue", "value", "String", "Number", "Boolean", "undefined", "isInternalKey", "key", "startsWith", "ExpandoCard", "subject", "ignorePaths", "schema", "ignored", "Set", "fields", "Object", "keys", "has", "fieldSchema", "Struct", "handleSave", "values", "changed", "paths", "filter", "path", "update", "parts", "setValue", "Content", "Root", "autoSave", "onSave", "Viewport", "FieldSet", "React", "useCallback", "useMemo", "Obj", "splitJsonPath", "Card", "useTranslation", "Form", "omitId", "descriptionMessage", "mx", "meta", "FormCard", "subject", "projection", "t", "id", "echoSchema", "getSchema", "schema", "handleSave", "values", "changed", "paths", "Object", "keys", "filter", "path", "update", "value", "parts", "setValue", "p", "className", "Content", "Root", "autoSave", "onSave", "Viewport", "FieldSet", "React", "Card", "JsonHighlighter", "JsonCard", "data", "Content", "span", "React", "Card", "OrganizationCard", "subject", "name", "image", "description", "website", "Content", "Poster", "alt", "icon", "classNames", "Row", "Text", "variant", "Link", "label", "href", "Effect", "React", "useCallback", "useOperationInvoker", "LayoutOperation", "getObjectPathFromObject", "getSpacePath", "Obj", "runAndForwardErrors", "Avatar", "Card", "PersonCard", "subject", "invoke", "image", "organization", "target", "emails", "handleOrganizationClick", "gen", "organizationPath", "db", "getDatabase", "UpdatePopover", "state", "anchorId", "Open", "workspace", "spaceId", "undefined", "pipe", "Content", "Root", "Row", "className", "imgSrc", "icon", "size", "classNames", "hue", "variant", "name", "Action", "label", "onClick", "map", "value", "key", "Text", "truncate", "React", "Obj", "Card", "ProjectCard", "subject", "image", "description", "Content", "Poster", "alt", "getLabel", "aspect", "Text", "variant", "SchemaAST", "React", "PropertyMetaAnnotationId", "Card", "Task", "TaskCard", "subject", "title", "status", "statusOption", "getActiveStatusOption", "Content", "Row", "div", "span", "className", "data-hue", "color", "properties", "getPropertySignatures", "ast", "statusProperty", "find", "p", "name", "statusMeta", "getAnnotation", "type", "types", "options", "value", "singleSelect", "id", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "ReactSurface", "Surface", "create", "id", "position", "filter", "AppSurface", "object", "Card", "Person", "component", "data", "role", "React", "PersonCard", "subject", "type", "Related", "limit", "Organization", "OrganizationCard", "Pipeline", "ProjectCard", "Task", "TaskCard", "Expando", "ExpandoCard", "ignorePaths", "Obj", "isObject", "FormCard", "projection", "JsonCard", "Section", "div", "className", "Root"]
7
+ }
@@ -0,0 +1,7 @@
1
+ import {
2
+ PreviewPlugin
3
+ } from "./chunk-3SWUVHXJ.mjs";
4
+ export {
5
+ PreviewPlugin
6
+ };
7
+ //# sourceMappingURL=testing.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,21 @@
1
+ // src/translations.ts
2
+ import { meta } from "#meta";
3
+ var translations = [
4
+ {
5
+ "en-US": {
6
+ [meta.id]: {
7
+ "unable-to-create-preview.message": "No preview",
8
+ "todo.label": "To do",
9
+ "in-progress.label": "In progress",
10
+ "done.label": "Done",
11
+ "open-object.label": "Open",
12
+ "add-object-to-space.label": "Add to space",
13
+ "more-options.label": "More options"
14
+ }
15
+ }
16
+ }
17
+ ];
18
+ export {
19
+ translations
20
+ };
21
+ //# sourceMappingURL=translations.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\n\nexport const translations = [\n {\n 'en-US': {\n [meta.id]: {\n 'unable-to-create-preview.message': 'No preview',\n 'todo.label': 'To do',\n 'in-progress.label': 'In progress',\n 'done.label': 'Done',\n 'open-object.label': 'Open',\n 'add-object-to-space.label': 'Add to space',\n 'more-options.label': 'More options',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": ";AAMA,SAASA,YAAY;AAEd,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACD,KAAKE,EAAE,GAAG;QACT,oCAAoC;QACpC,cAAc;QACd,qBAAqB;QACrB,cAAc;QACd,qBAAqB;QACrB,6BAA6B;QAC7B,sBAAsB;MACxB;IACF;EACF;;",
6
+ "names": ["meta", "translations", "id"]
7
+ }
@@ -1,3 +1,4 @@
1
1
  import { Plugin } from '@dxos/app-framework';
2
2
  export declare const PreviewPlugin: Plugin.PluginFactory<void>;
3
+ export default PreviewPlugin;
3
4
  //# sourceMappingURL=PreviewPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewPlugin.d.ts","sourceRoot":"","sources":["../../../src/PreviewPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAoB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ/D,eAAO,MAAM,aAAa,4BAUzB,CAAC"}
1
+ {"version":3,"file":"PreviewPlugin.d.ts","sourceRoot":"","sources":["../../../src/PreviewPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAoB,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ/D,eAAO,MAAM,aAAa,4BAUzB,CAAC;eAEa,aAAa"}
@@ -0,0 +1,4 @@
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const PreviewPlugin: Plugin.PluginFactory<void>;
3
+ export default PreviewPlugin;
4
+ //# sourceMappingURL=PreviewPlugin.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreviewPlugin.node.d.ts","sourceRoot":"","sources":["../../../src/PreviewPlugin.node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAM7C,eAAO,MAAM,aAAa,4BAGzB,CAAC;eAEa,aAAa"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=PreviewPlugin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PreviewPlugin.test.d.ts","sourceRoot":"","sources":["../../../src/PreviewPlugin.test.ts"],"names":[],"mappings":""}
@@ -1,3 +1,4 @@
1
- export * from './preview-popover';
2
- export * from './react-surface';
1
+ import { Capability } from '@dxos/app-framework';
2
+ export declare const PreviewPopover: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<null>>, Error>;
3
+ export declare const ReactSurface: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Capabilities").ReactSurface>>, Error>;
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,cAAc,8FAAuE,CAAC;AACnG,eAAO,MAAM,YAAY,iJAAmE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-popover.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/preview-popover.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
3
+ export declare const ExpandoCard: ({ subject, ignorePaths }: AppSurface.ObjectCardProps) => React.JSX.Element;
4
+ //# sourceMappingURL=ExpandoCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExpandoCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/ExpandoCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AA2BvD,eAAO,MAAM,WAAW,6BAA8B,UAAU,CAAC,eAAe,sBAyC/E,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';
2
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
3
3
  import { type ProjectionModel } from '@dxos/schema';
4
- export declare const FormCard: ({ subject, projection }: SurfaceComponentProps & {
4
+ export declare const FormCard: ({ subject, projection }: AppSurface.ObjectCardProps & {
5
5
  projection?: ProjectionModel;
6
6
  }) => React.JSX.Element;
7
7
  //# sourceMappingURL=FormCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/FormCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAKlE,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAKpD,eAAO,MAAM,QAAQ,GAAI,yBAAyB,qBAAqB,GAAG;IAAE,UAAU,CAAC,EAAE,eAAe,CAAA;CAAE,sBA+BzG,CAAC"}
1
+ {"version":3,"file":"FormCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/FormCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAKpD,eAAO,MAAM,QAAQ,4BAA6B,UAAU,CAAC,eAAe,GAAG;IAAE,UAAU,CAAC,EAAE,eAAe,CAAA;CAAE,sBA+B9G,CAAC"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare const JsonCard: ({ data }: {
3
+ data: unknown;
4
+ }) => React.JSX.Element;
5
+ //# sourceMappingURL=JsonCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/JsonCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,eAAO,MAAM,QAAQ,aAAc;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,sBASnD,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';
2
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
3
3
  import { type Organization } from '@dxos/types';
4
- export declare const OrganizationCard: ({ subject }: SurfaceComponentProps<Organization.Organization>) => React.JSX.Element;
4
+ export declare const OrganizationCard: ({ subject }: AppSurface.ObjectCardProps<Organization.Organization>) => React.JSX.Element;
5
5
  //# sourceMappingURL=OrganizationCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OrganizationCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/OrganizationCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAElE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,gBAAgB,GAAI,aAAa,qBAAqB,CAAC,YAAY,CAAC,YAAY,CAAC,sBAkB7F,CAAC"}
1
+ {"version":3,"file":"OrganizationCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/OrganizationCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,gBAAgB,gBAAiB,UAAU,CAAC,eAAe,CAAC,YAAY,CAAC,YAAY,CAAC,sBAkBlG,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';
2
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
3
3
  import { type Person } from '@dxos/types';
4
- export declare const PersonCard: ({ subject }: SurfaceComponentProps<Person.Person>) => React.JSX.Element;
4
+ export declare const PersonCard: ({ subject }: AppSurface.ObjectCardProps<Person.Person>) => React.JSX.Element;
5
5
  //# sourceMappingURL=PersonCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PersonCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/PersonCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,eAAO,MAAM,UAAU,GAAI,aAAa,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,sBAmC3E,CAAC"}
1
+ {"version":3,"file":"PersonCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/PersonCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAI3C,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAKvD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,eAAO,MAAM,UAAU,gBAAiB,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,sBAgDhF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';
2
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
3
3
  import { type Pipeline } from '@dxos/types';
4
- export declare const ProjectCard: ({ subject }: SurfaceComponentProps<Pipeline.Pipeline>) => React.JSX.Element;
4
+ export declare const ProjectCard: ({ subject }: AppSurface.ObjectCardProps<Pipeline.Pipeline>) => React.JSX.Element;
5
5
  //# sourceMappingURL=ProjectCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/ProjectCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,WAAW,GAAI,aAAa,qBAAqB,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAUhF,CAAC"}
1
+ {"version":3,"file":"ProjectCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/ProjectCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,eAAO,MAAM,WAAW,gBAAiB,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,sBAUrF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';
2
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
3
3
  import { Task } from '@dxos/types';
4
- export declare const TaskCard: ({ subject }: SurfaceComponentProps<Task.Task>) => React.JSX.Element;
4
+ export declare const TaskCard: ({ subject }: AppSurface.ObjectCardProps<Task.Task>) => React.JSX.Element;
5
5
  //# sourceMappingURL=TaskCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/TaskCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAGlE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,eAAO,MAAM,QAAQ,GAAI,aAAa,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,sBAcrE,CAAC"}
1
+ {"version":3,"file":"TaskCard.d.ts","sourceRoot":"","sources":["../../../../src/cards/TaskCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,eAAO,MAAM,QAAQ,gBAAiB,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,sBAiB1E,CAAC"}
@@ -1,4 +1,6 @@
1
+ export * from './ExpandoCard';
1
2
  export * from './FormCard';
3
+ export * from './JsonCard';
2
4
  export * from './OrganizationCard';
3
5
  export * from './PersonCard';
4
6
  export * from './ProjectCard';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cards/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/cards/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
@@ -1,3 +1,2 @@
1
1
  export * from './meta';
2
- export * from './PreviewPlugin';
3
2
  //# sourceMappingURL=index.d.ts.map