@dxos/plugin-preview 0.8.4-main.67995b8 → 0.8.4-main.dedc0f3
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/index.mjs +6 -3
- package/dist/lib/browser/index.mjs.map +2 -2
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/{preview-popover-2UCEZUQW.mjs → preview-popover-HC6LHWXZ.mjs} +5 -10
- package/dist/lib/browser/preview-popover-HC6LHWXZ.mjs.map +7 -0
- package/dist/lib/browser/{react-surface-CZMUEWPV.mjs → react-surface-JGO43GLE.mjs} +146 -68
- package/dist/lib/browser/react-surface-JGO43GLE.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +6 -3
- package/dist/lib/node-esm/index.mjs.map +2 -2
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/{preview-popover-OSHWR2YE.mjs → preview-popover-ROGTBCTT.mjs} +5 -10
- package/dist/lib/node-esm/preview-popover-ROGTBCTT.mjs.map +7 -0
- package/dist/lib/node-esm/{react-surface-IPZBISWS.mjs → react-surface-Q7F36L3Z.mjs} +146 -68
- package/dist/lib/node-esm/react-surface-Q7F36L3Z.mjs.map +7 -0
- package/dist/types/src/capabilities/index.d.ts +2 -2
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/preview-popover.d.ts +1 -1
- package/dist/types/src/capabilities/preview-popover.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/components/CardSubjectMenu.d.ts +10 -0
- package/dist/types/src/components/CardSubjectMenu.d.ts.map +1 -0
- package/dist/types/src/components/ContactCard.d.ts +1 -1
- package/dist/types/src/components/ContactCard.d.ts.map +1 -1
- package/dist/types/src/components/OrganizationCard.d.ts +1 -1
- package/dist/types/src/components/OrganizationCard.d.ts.map +1 -1
- package/dist/types/src/components/ProjectCard.d.ts +1 -1
- package/dist/types/src/components/ProjectCard.d.ts.map +1 -1
- package/dist/types/src/components/TaskCard.d.ts +5 -0
- package/dist/types/src/components/TaskCard.d.ts.map +1 -0
- package/dist/types/src/stories/Card.stories.d.ts +27 -0
- package/dist/types/src/stories/Card.stories.d.ts.map +1 -0
- package/dist/types/src/stories/testing.d.ts +17 -0
- package/dist/types/src/stories/testing.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +3 -0
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types.d.ts +2 -1
- package/dist/types/src/types.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +30 -27
- package/src/capabilities/preview-popover.ts +8 -13
- package/src/capabilities/react-surface.tsx +9 -8
- package/src/components/CardSubjectMenu.tsx +56 -0
- package/src/components/ContactCard.tsx +28 -22
- package/src/components/OrganizationCard.tsx +10 -7
- package/src/components/ProjectCard.tsx +12 -4
- package/src/components/TaskCard.tsx +46 -0
- package/src/stories/Card.stories.tsx +59 -0
- package/src/stories/testing.tsx +114 -0
- package/src/translations.ts +3 -0
- package/src/types.ts +2 -2
- package/dist/lib/browser/preview-popover-2UCEZUQW.mjs.map +0 -7
- package/dist/lib/browser/react-surface-CZMUEWPV.mjs.map +0 -7
- package/dist/lib/node-esm/preview-popover-OSHWR2YE.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-IPZBISWS.mjs.map +0 -7
- package/dist/types/src/testing/ExtrinsicPreviews.stories.d.ts +0 -35
- package/dist/types/src/testing/ExtrinsicPreviews.stories.d.ts.map +0 -1
- package/dist/types/src/testing/IntrinsicPreviews.stories.d.ts +0 -35
- package/dist/types/src/testing/IntrinsicPreviews.stories.d.ts.map +0 -1
- package/dist/types/src/testing/PopoverPreviews.stories.d.ts +0 -35
- package/dist/types/src/testing/PopoverPreviews.stories.d.ts.map +0 -1
- package/dist/types/src/testing/util.d.ts +0 -80
- package/dist/types/src/testing/util.d.ts.map +0 -1
- package/src/testing/ExtrinsicPreviews.stories.tsx +0 -55
- package/src/testing/IntrinsicPreviews.stories.tsx +0 -55
- package/src/testing/PopoverPreviews.stories.tsx +0 -55
- package/src/testing/util.tsx +0 -79
|
@@ -5,77 +5,135 @@ import {
|
|
|
5
5
|
|
|
6
6
|
// src/capabilities/react-surface.tsx
|
|
7
7
|
import { Effect } from "effect";
|
|
8
|
-
import
|
|
8
|
+
import React5, { useCallback } from "react";
|
|
9
9
|
import { Capabilities, LayoutAction, Surface, contributes, createIntent, createSurface, useIntentDispatcher } from "@dxos/app-framework";
|
|
10
10
|
import { fullyQualifiedId, getSchema, getSpace } from "@dxos/client/echo";
|
|
11
|
-
import { Filter, Obj } from "@dxos/echo";
|
|
11
|
+
import { Filter, Obj as Obj2 } from "@dxos/echo";
|
|
12
12
|
import { setValue } from "@dxos/echo-schema";
|
|
13
13
|
import { AttentionAction } from "@dxos/plugin-attention/types";
|
|
14
14
|
import { ATTENDABLE_PATH_SEPARATOR, DeckAction } from "@dxos/plugin-deck/types";
|
|
15
15
|
import { useQuery, useSpace } from "@dxos/react-client/echo";
|
|
16
|
-
import { useTranslation } from "@dxos/react-ui";
|
|
16
|
+
import { useTranslation as useTranslation2 } from "@dxos/react-ui";
|
|
17
17
|
import { Form } from "@dxos/react-ui-form";
|
|
18
18
|
import { Card as Card4 } from "@dxos/react-ui-stack";
|
|
19
|
-
import {
|
|
20
|
-
import { descriptionMessage, mx as
|
|
21
|
-
import { DataType } from "@dxos/schema";
|
|
19
|
+
import { Table } from "@dxos/react-ui-table/types";
|
|
20
|
+
import { descriptionMessage, mx as mx4 } from "@dxos/react-ui-theme";
|
|
21
|
+
import { DataType, typenameFromQuery } from "@dxos/schema";
|
|
22
22
|
|
|
23
23
|
// src/components/ContactCard.tsx
|
|
24
|
-
import { useSignals as
|
|
25
|
-
import
|
|
26
|
-
import {
|
|
24
|
+
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
25
|
+
import React2, { Fragment } from "react";
|
|
26
|
+
import { Avatar, Button, Icon } from "@dxos/react-ui";
|
|
27
27
|
import { Card, cardHeading, cardText } from "@dxos/react-ui-stack";
|
|
28
28
|
import { mx } from "@dxos/react-ui-theme";
|
|
29
|
-
|
|
29
|
+
|
|
30
|
+
// src/components/CardSubjectMenu.tsx
|
|
31
|
+
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
32
|
+
import { Rx } from "@effect-rx/rx-react";
|
|
33
|
+
import React from "react";
|
|
34
|
+
import { ACTION_TYPE } from "@dxos/app-graph";
|
|
35
|
+
import { IconButton, useTranslation } from "@dxos/react-ui";
|
|
36
|
+
import { DropdownMenu, MenuProvider, useMenuActions } from "@dxos/react-ui-menu";
|
|
37
|
+
var useSubjectMenuGroupItems = (subject) => {
|
|
38
|
+
const result = {
|
|
39
|
+
edges: [],
|
|
40
|
+
nodes: []
|
|
41
|
+
};
|
|
42
|
+
result.nodes.push({
|
|
43
|
+
type: ACTION_TYPE,
|
|
44
|
+
id: `${subject.id}/add-to-space`,
|
|
45
|
+
data: () => console.log("[TO DO]", "add object to space", subject),
|
|
46
|
+
properties: {
|
|
47
|
+
label: [
|
|
48
|
+
"add object to space label",
|
|
49
|
+
{
|
|
50
|
+
ns: "os"
|
|
51
|
+
}
|
|
52
|
+
],
|
|
53
|
+
icon: "ph--file-plus--regular"
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
result.nodes.forEach(({ id: target }) => {
|
|
57
|
+
result.edges.push({
|
|
58
|
+
source: "root",
|
|
59
|
+
target
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
return useMenuActions(Rx.make(result));
|
|
63
|
+
};
|
|
64
|
+
var CardSubjectMenu = ({ subject, ...props }) => {
|
|
30
65
|
var _effect = _useSignals();
|
|
31
66
|
try {
|
|
67
|
+
const { t } = useTranslation("os");
|
|
68
|
+
const menuProps = useSubjectMenuGroupItems(subject);
|
|
69
|
+
return /* @__PURE__ */ React.createElement(MenuProvider, menuProps, /* @__PURE__ */ React.createElement(DropdownMenu.Root, null, /* @__PURE__ */ React.createElement(DropdownMenu.Trigger, {
|
|
70
|
+
asChild: true
|
|
71
|
+
}, /* @__PURE__ */ React.createElement(IconButton, {
|
|
72
|
+
iconOnly: true,
|
|
73
|
+
variant: "ghost",
|
|
74
|
+
icon: "ph--dots-three-vertical--bold",
|
|
75
|
+
label: t("more options label"),
|
|
76
|
+
...props
|
|
77
|
+
}))));
|
|
78
|
+
} finally {
|
|
79
|
+
_effect.f();
|
|
80
|
+
}
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
// src/components/ContactCard.tsx
|
|
84
|
+
var ContactCard = ({ children, subject, onOrgClick, role }) => {
|
|
85
|
+
var _effect = _useSignals2();
|
|
86
|
+
try {
|
|
87
|
+
const { fullName, image, organization, emails } = subject;
|
|
32
88
|
const organizationName = organization && typeof organization === "object" ? organization.target?.name : organization;
|
|
33
|
-
return /* @__PURE__ */
|
|
89
|
+
return /* @__PURE__ */ React2.createElement(Card.SurfaceRoot, {
|
|
34
90
|
role
|
|
35
|
-
}, /* @__PURE__ */
|
|
91
|
+
}, /* @__PURE__ */ React2.createElement(Avatar.Root, null, /* @__PURE__ */ React2.createElement(Card.Text, {
|
|
36
92
|
role: "group",
|
|
37
93
|
classNames: "grid gap-3 grid-cols-[min-content_1fr]"
|
|
38
|
-
}, /* @__PURE__ */
|
|
94
|
+
}, /* @__PURE__ */ React2.createElement(Avatar.Content, {
|
|
39
95
|
imgSrc: image,
|
|
40
96
|
icon: "ph--user--regular",
|
|
41
97
|
size: 16,
|
|
42
98
|
hue: "neutral"
|
|
43
|
-
}), /* @__PURE__ */
|
|
99
|
+
}), /* @__PURE__ */ React2.createElement("div", {
|
|
44
100
|
role: "none",
|
|
45
|
-
className: "bs-min self-center"
|
|
46
|
-
}, /* @__PURE__ */
|
|
101
|
+
className: "bs-min self-center flex items-center"
|
|
102
|
+
}, /* @__PURE__ */ React2.createElement(Avatar.Label, {
|
|
47
103
|
asChild: true
|
|
48
|
-
}, /* @__PURE__ */
|
|
49
|
-
className: cardHeading
|
|
50
|
-
}, fullName))
|
|
104
|
+
}, /* @__PURE__ */ React2.createElement("h2", {
|
|
105
|
+
className: mx(cardHeading, "grow")
|
|
106
|
+
}, fullName)), /* @__PURE__ */ React2.createElement(CardSubjectMenu, {
|
|
107
|
+
subject
|
|
108
|
+
})))), organizationName && /* @__PURE__ */ React2.createElement(Card.Chrome, null, typeof organization === "object" && onOrgClick ? /* @__PURE__ */ React2.createElement(Button, {
|
|
51
109
|
variant: "ghost",
|
|
52
110
|
classNames: "gap-2 text-start",
|
|
53
111
|
onClick: () => onOrgClick(organization.target)
|
|
54
|
-
}, /* @__PURE__ */
|
|
112
|
+
}, /* @__PURE__ */ React2.createElement(Icon, {
|
|
55
113
|
icon: "ph--buildings--regular",
|
|
56
114
|
size: 5,
|
|
57
115
|
classNames: "text-subdued"
|
|
58
|
-
}), /* @__PURE__ */
|
|
116
|
+
}), /* @__PURE__ */ React2.createElement("span", {
|
|
59
117
|
className: "min-is-0 flex-1 truncate"
|
|
60
|
-
}, organizationName), /* @__PURE__ */
|
|
118
|
+
}, organizationName), /* @__PURE__ */ React2.createElement(Icon, {
|
|
61
119
|
icon: "ph--arrow-right--regular"
|
|
62
|
-
})) : /* @__PURE__ */
|
|
120
|
+
})) : /* @__PURE__ */ React2.createElement("p", {
|
|
63
121
|
className: "dx-button gap-2",
|
|
64
122
|
"data-variant": "ghost"
|
|
65
|
-
}, /* @__PURE__ */
|
|
123
|
+
}, /* @__PURE__ */ React2.createElement(Icon, {
|
|
66
124
|
icon: "ph--buildings--regular",
|
|
67
125
|
size: 5,
|
|
68
126
|
classNames: "text-subdued"
|
|
69
|
-
}), /* @__PURE__ */
|
|
127
|
+
}), /* @__PURE__ */ React2.createElement("span", {
|
|
70
128
|
className: "min-is-0 flex-1 truncate"
|
|
71
|
-
}, organizationName))), /* @__PURE__ */
|
|
129
|
+
}, organizationName))), emails?.length && /* @__PURE__ */ React2.createElement("dl", {
|
|
72
130
|
className: mx(cardText, "grid gap-2 grid-cols-[min-content_1fr] [&_dt]:text-subdued [&_dt]:pbs-0.5 [&_dd]:min-is-0")
|
|
73
|
-
}, emails?.length && emails.map(({ label, value }) => /* @__PURE__ */
|
|
131
|
+
}, emails?.length && emails.map(({ label, value }) => /* @__PURE__ */ React2.createElement(Fragment, {
|
|
74
132
|
key: value
|
|
75
|
-
}, /* @__PURE__ */
|
|
133
|
+
}, /* @__PURE__ */ React2.createElement("dt", null, /* @__PURE__ */ React2.createElement(Icon, {
|
|
76
134
|
icon: "ph--at--regular",
|
|
77
135
|
size: 5
|
|
78
|
-
})), /* @__PURE__ */
|
|
136
|
+
})), /* @__PURE__ */ React2.createElement("dd", {
|
|
79
137
|
key: value,
|
|
80
138
|
className: "break-words"
|
|
81
139
|
}, value)))), children);
|
|
@@ -85,37 +143,46 @@ var ContactCard = ({ children, subject: { fullName, image, organization, emails
|
|
|
85
143
|
};
|
|
86
144
|
|
|
87
145
|
// src/components/OrganizationCard.tsx
|
|
88
|
-
import { useSignals as
|
|
89
|
-
import
|
|
146
|
+
import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
|
|
147
|
+
import React3 from "react";
|
|
90
148
|
import { Icon as Icon2 } from "@dxos/react-ui";
|
|
91
|
-
import { Card as Card2 } from "@dxos/react-ui-stack";
|
|
92
|
-
|
|
93
|
-
|
|
149
|
+
import { Card as Card2, cardNoSpacing, cardSpacing } from "@dxos/react-ui-stack";
|
|
150
|
+
import { mx as mx2 } from "@dxos/react-ui-theme";
|
|
151
|
+
var OrganizationCard = ({ children, subject, role }) => {
|
|
152
|
+
var _effect = _useSignals3();
|
|
94
153
|
try {
|
|
95
|
-
|
|
154
|
+
const { name, image, description, website } = subject;
|
|
155
|
+
return /* @__PURE__ */ React3.createElement(Card2.SurfaceRoot, {
|
|
96
156
|
role
|
|
97
|
-
}, /* @__PURE__ */
|
|
157
|
+
}, /* @__PURE__ */ React3.createElement(Card2.Poster, {
|
|
98
158
|
alt: name,
|
|
99
159
|
...image ? {
|
|
100
160
|
image
|
|
101
161
|
} : {
|
|
102
162
|
icon: "ph--building-office--regular"
|
|
103
163
|
}
|
|
104
|
-
}), /* @__PURE__ */
|
|
164
|
+
}), /* @__PURE__ */ React3.createElement("div", {
|
|
165
|
+
role: "none",
|
|
166
|
+
className: mx2("flex items-center gap-2", cardSpacing)
|
|
167
|
+
}, /* @__PURE__ */ React3.createElement(Card2.Heading, {
|
|
168
|
+
classNames: cardNoSpacing
|
|
169
|
+
}, name), /* @__PURE__ */ React3.createElement(CardSubjectMenu, {
|
|
170
|
+
subject
|
|
171
|
+
})), description && /* @__PURE__ */ React3.createElement(Card2.Text, {
|
|
105
172
|
classNames: "line-clamp-2"
|
|
106
|
-
}, description), website && /* @__PURE__ */
|
|
173
|
+
}, description), website && /* @__PURE__ */ React3.createElement(Card2.Chrome, null, /* @__PURE__ */ React3.createElement("a", {
|
|
107
174
|
className: "dx-button dx-focus-ring gap-2",
|
|
108
175
|
"data-variant": "ghost",
|
|
109
176
|
href: website,
|
|
110
177
|
target: "_blank",
|
|
111
178
|
rel: "noreferrer"
|
|
112
|
-
}, /* @__PURE__ */
|
|
179
|
+
}, /* @__PURE__ */ React3.createElement(Icon2, {
|
|
113
180
|
icon: "ph--link--regular",
|
|
114
181
|
size: 5,
|
|
115
182
|
classNames: "text-subdued"
|
|
116
|
-
}), /* @__PURE__ */
|
|
183
|
+
}), /* @__PURE__ */ React3.createElement("span", {
|
|
117
184
|
className: "grow"
|
|
118
|
-
}, website), /* @__PURE__ */
|
|
185
|
+
}, website), /* @__PURE__ */ React3.createElement(Icon2, {
|
|
119
186
|
icon: "ph--arrow-square-out--regular"
|
|
120
187
|
}))), children);
|
|
121
188
|
} finally {
|
|
@@ -124,19 +191,29 @@ var OrganizationCard = ({ children, subject: { name, image, description, website
|
|
|
124
191
|
};
|
|
125
192
|
|
|
126
193
|
// src/components/ProjectCard.tsx
|
|
127
|
-
import { useSignals as
|
|
128
|
-
import
|
|
129
|
-
import {
|
|
130
|
-
|
|
131
|
-
|
|
194
|
+
import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
|
|
195
|
+
import React4 from "react";
|
|
196
|
+
import { Obj } from "@dxos/echo";
|
|
197
|
+
import { Card as Card3, cardNoSpacing as cardNoSpacing2, cardSpacing as cardSpacing2 } from "@dxos/react-ui-stack";
|
|
198
|
+
import { mx as mx3 } from "@dxos/react-ui-theme";
|
|
199
|
+
var ProjectCard = ({ subject, role }) => {
|
|
200
|
+
var _effect = _useSignals4();
|
|
132
201
|
try {
|
|
133
|
-
|
|
202
|
+
const { name, image, description } = subject;
|
|
203
|
+
return /* @__PURE__ */ React4.createElement(Card3.SurfaceRoot, {
|
|
134
204
|
role
|
|
135
|
-
}, image && /* @__PURE__ */
|
|
205
|
+
}, image && /* @__PURE__ */ React4.createElement(Card3.Poster, {
|
|
136
206
|
image,
|
|
137
|
-
alt:
|
|
207
|
+
alt: Obj.getLabel(subject) ?? "",
|
|
138
208
|
aspect: "auto"
|
|
139
|
-
}), /* @__PURE__ */
|
|
209
|
+
}), /* @__PURE__ */ React4.createElement("div", {
|
|
210
|
+
role: "none",
|
|
211
|
+
className: mx3("flex items-center gap-2", cardSpacing2)
|
|
212
|
+
}, /* @__PURE__ */ React4.createElement(Card3.Heading, {
|
|
213
|
+
classNames: cardNoSpacing2
|
|
214
|
+
}, name), /* @__PURE__ */ React4.createElement(CardSubjectMenu, {
|
|
215
|
+
subject
|
|
216
|
+
})), description && /* @__PURE__ */ React4.createElement(Card3.Text, {
|
|
140
217
|
classNames: "line-clamp-2"
|
|
141
218
|
}, description));
|
|
142
219
|
} finally {
|
|
@@ -158,7 +235,7 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
158
235
|
"card--extrinsic",
|
|
159
236
|
"card"
|
|
160
237
|
],
|
|
161
|
-
filter: (data) =>
|
|
238
|
+
filter: (data) => Obj2.instanceOf(DataType.Person, data.subject),
|
|
162
239
|
component: ({ data, role }) => {
|
|
163
240
|
const { dispatch } = useIntentDispatcher();
|
|
164
241
|
const space = getSpace(data.subject);
|
|
@@ -166,8 +243,8 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
166
243
|
const currentSpaceOrgs = useQuery(space, Filter.type(DataType.Organization));
|
|
167
244
|
const currentSpaceViews = useQuery(space, Filter.type(DataType.View));
|
|
168
245
|
const defaultSpaceViews = useQuery(defaultSpace, Filter.type(DataType.View));
|
|
169
|
-
const currentSpaceOrgTable = currentSpaceViews.find((view) => view.query
|
|
170
|
-
const defaultSpaceOrgTable = defaultSpaceViews.find((view) => view.query
|
|
246
|
+
const currentSpaceOrgTable = currentSpaceViews.find((view) => typenameFromQuery(view.query) === DataType.Organization.typename && Obj2.instanceOf(Table.Table, view.presentation.target));
|
|
247
|
+
const defaultSpaceOrgTable = defaultSpaceViews.find((view) => typenameFromQuery(view.query) === DataType.Organization.typename && Obj2.instanceOf(Table.Table, view.presentation.target));
|
|
171
248
|
const handleOrgClick = useCallback((org) => Effect.gen(function* () {
|
|
172
249
|
const view = currentSpaceOrgs.includes(org) ? currentSpaceOrgTable : defaultSpaceOrgTable;
|
|
173
250
|
yield* dispatch(createIntent(LayoutAction.UpdatePopover, {
|
|
@@ -211,11 +288,11 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
211
288
|
currentSpaceOrgTable,
|
|
212
289
|
defaultSpaceOrgTable
|
|
213
290
|
]);
|
|
214
|
-
return /* @__PURE__ */
|
|
291
|
+
return /* @__PURE__ */ React5.createElement(ContactCard, {
|
|
215
292
|
role,
|
|
216
293
|
subject: data.subject,
|
|
217
294
|
onOrgClick: handleOrgClick
|
|
218
|
-
}, role === "card--popover" && /* @__PURE__ */
|
|
295
|
+
}, role === "card--popover" && /* @__PURE__ */ React5.createElement(Surface, {
|
|
219
296
|
role: "related",
|
|
220
297
|
data
|
|
221
298
|
}));
|
|
@@ -230,11 +307,11 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
230
307
|
"card--extrinsic",
|
|
231
308
|
"card"
|
|
232
309
|
],
|
|
233
|
-
filter: (data) =>
|
|
234
|
-
component: ({ data, role }) => /* @__PURE__ */
|
|
310
|
+
filter: (data) => Obj2.instanceOf(DataType.Organization, data.subject),
|
|
311
|
+
component: ({ data, role }) => /* @__PURE__ */ React5.createElement(OrganizationCard, {
|
|
235
312
|
role,
|
|
236
313
|
subject: data.subject
|
|
237
|
-
}, role === "card--popover" && /* @__PURE__ */
|
|
314
|
+
}, role === "card--popover" && /* @__PURE__ */ React5.createElement(Surface, {
|
|
238
315
|
role: "related",
|
|
239
316
|
data
|
|
240
317
|
}))
|
|
@@ -248,8 +325,8 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
248
325
|
"card--extrinsic",
|
|
249
326
|
"card"
|
|
250
327
|
],
|
|
251
|
-
filter: (data) =>
|
|
252
|
-
component: ({ data, role }) => /* @__PURE__ */
|
|
328
|
+
filter: (data) => Obj2.instanceOf(DataType.Project, data.subject),
|
|
329
|
+
component: ({ data, role }) => /* @__PURE__ */ React5.createElement(ProjectCard, {
|
|
253
330
|
subject: data.subject,
|
|
254
331
|
role
|
|
255
332
|
})
|
|
@@ -267,13 +344,13 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
267
344
|
"card"
|
|
268
345
|
],
|
|
269
346
|
position: "fallback",
|
|
270
|
-
filter: (data) =>
|
|
347
|
+
filter: (data) => Obj2.isObject(data.subject),
|
|
271
348
|
component: ({ data, role }) => {
|
|
272
349
|
const schema = getSchema(data.subject);
|
|
273
|
-
const { t } =
|
|
350
|
+
const { t } = useTranslation2(PREVIEW_PLUGIN);
|
|
274
351
|
if (!schema) {
|
|
275
|
-
return /* @__PURE__ */
|
|
276
|
-
className:
|
|
352
|
+
return /* @__PURE__ */ React5.createElement("p", {
|
|
353
|
+
className: mx4(descriptionMessage)
|
|
277
354
|
}, t("unable to create preview message"));
|
|
278
355
|
}
|
|
279
356
|
const handleSave = useCallback((values, { changed }) => {
|
|
@@ -283,12 +360,13 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
283
360
|
setValue(data.subject, path, value);
|
|
284
361
|
}
|
|
285
362
|
}, []);
|
|
286
|
-
return /* @__PURE__ */
|
|
363
|
+
return /* @__PURE__ */ React5.createElement(Card4.SurfaceRoot, {
|
|
287
364
|
role
|
|
288
|
-
}, /* @__PURE__ */
|
|
365
|
+
}, /* @__PURE__ */ React5.createElement(Form, {
|
|
289
366
|
schema,
|
|
367
|
+
projection: data.projection,
|
|
290
368
|
values: data.subject,
|
|
291
|
-
readonly: role === "card--popover",
|
|
369
|
+
readonly: role === "card--popover" ? "static" : false,
|
|
292
370
|
onSave: handleSave,
|
|
293
371
|
autoSave: true,
|
|
294
372
|
...role === "card--intrinsic" && {
|
|
@@ -301,4 +379,4 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
|
|
|
301
379
|
export {
|
|
302
380
|
react_surface_default as default
|
|
303
381
|
};
|
|
304
|
-
//# sourceMappingURL=react-surface-
|
|
382
|
+
//# sourceMappingURL=react-surface-Q7F36L3Z.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/ContactCard.tsx", "../../../src/components/CardSubjectMenu.tsx", "../../../src/components/OrganizationCard.tsx", "../../../src/components/ProjectCard.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Effect } from 'effect';\nimport React, { useCallback } from 'react';\n\nimport {\n Capabilities,\n LayoutAction,\n Surface,\n contributes,\n createIntent,\n createSurface,\n useIntentDispatcher,\n} from '@dxos/app-framework';\nimport { fullyQualifiedId, getSchema, getSpace } from '@dxos/client/echo';\nimport { Filter, Obj } from '@dxos/echo';\nimport { type JsonPath, setValue } from '@dxos/echo-schema';\nimport { AttentionAction } from '@dxos/plugin-attention/types';\nimport { ATTENDABLE_PATH_SEPARATOR, DeckAction } from '@dxos/plugin-deck/types';\nimport { useQuery, useSpace } from '@dxos/react-client/echo';\nimport { useTranslation } from '@dxos/react-ui';\nimport { Form } from '@dxos/react-ui-form';\nimport { Card } from '@dxos/react-ui-stack';\nimport { Table } from '@dxos/react-ui-table/types';\nimport { descriptionMessage, mx } from '@dxos/react-ui-theme';\nimport { DataType, type ProjectionModel, typenameFromQuery } from '@dxos/schema';\n\nimport { ContactCard, OrganizationCard, ProjectCard } from '../components';\nimport { PREVIEW_PLUGIN } from '../meta';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n //\n // Specific schema types.\n //\n createSurface({\n id: `${PREVIEW_PLUGIN}/schema-popover--contact`,\n role: ['card--popover', 'card--intrinsic', 'card--transclusion', 'card--extrinsic', 'card'],\n filter: (data): data is { subject: DataType.Person } => Obj.instanceOf(DataType.Person, data.subject),\n component: ({ data, role }) => {\n const { dispatch } = useIntentDispatcher();\n const space = getSpace(data.subject);\n const defaultSpace = useSpace();\n\n const currentSpaceOrgs = useQuery(space, Filter.type(DataType.Organization));\n const currentSpaceViews = useQuery(space, Filter.type(DataType.View));\n const defaultSpaceViews = useQuery(defaultSpace, Filter.type(DataType.View));\n const currentSpaceOrgTable = currentSpaceViews.find(\n (view) =>\n typenameFromQuery(view.query) === DataType.Organization.typename &&\n Obj.instanceOf(Table.Table, view.presentation.target),\n );\n const defaultSpaceOrgTable = defaultSpaceViews.find(\n (view) =>\n typenameFromQuery(view.query) === DataType.Organization.typename &&\n Obj.instanceOf(Table.Table, view.presentation.target),\n );\n\n // TODO(wittjosiah): Generalized way of handling related objects navigation.\n const handleOrgClick = useCallback(\n (org: DataType.Organization) =>\n Effect.gen(function* () {\n const view = currentSpaceOrgs.includes(org) ? currentSpaceOrgTable : defaultSpaceOrgTable;\n yield* dispatch(\n createIntent(LayoutAction.UpdatePopover, {\n part: 'popover',\n options: {\n state: false,\n anchorId: '',\n },\n }),\n );\n if (view) {\n const id = fullyQualifiedId(view);\n yield* dispatch(\n createIntent(LayoutAction.Open, {\n part: 'main',\n subject: [id],\n options: { workspace: space?.id },\n }),\n );\n yield* dispatch(\n createIntent(DeckAction.ChangeCompanion, {\n primary: id,\n companion: [id, 'selected-objects'].join(ATTENDABLE_PATH_SEPARATOR),\n }),\n );\n yield* dispatch(\n createIntent(AttentionAction.Select, {\n contextId: id,\n selection: { mode: 'multi', ids: [org.id] },\n }),\n );\n }\n }).pipe(Effect.runPromise),\n [dispatch, currentSpaceOrgs, currentSpaceOrgTable, defaultSpaceOrgTable],\n );\n\n return (\n <ContactCard role={role} subject={data.subject} onOrgClick={handleOrgClick}>\n {role === 'card--popover' && <Surface role='related' data={data} />}\n </ContactCard>\n );\n },\n }),\n createSurface({\n id: `${PREVIEW_PLUGIN}/schema-popover--organization`,\n role: ['card--popover', 'card--intrinsic', 'card--transclusion', 'card--extrinsic', 'card'],\n filter: (data): data is { subject: DataType.Organization } => Obj.instanceOf(DataType.Organization, data.subject),\n component: ({ data, role }) => (\n <OrganizationCard role={role} subject={data.subject}>\n {role === 'card--popover' && <Surface role='related' data={data} />}\n </OrganizationCard>\n ),\n }),\n createSurface({\n id: `${PREVIEW_PLUGIN}/schema-popover--project`,\n role: ['card--popover', 'card--intrinsic', 'card--transclusion', 'card--extrinsic', 'card'],\n filter: (data): data is { subject: DataType.Project } => Obj.instanceOf(DataType.Project, data.subject),\n component: ({ data, role }) => <ProjectCard subject={data.subject} role={role} />,\n }),\n\n //\n // Fallback for any object.\n //\n createSurface({\n id: `${PREVIEW_PLUGIN}/fallback-popover`,\n role: ['card--popover', 'card--intrinsic', 'card--transclusion', 'card--extrinsic', 'card'],\n position: 'fallback',\n filter: (data): data is { subject: Obj.Any; projection?: ProjectionModel } => Obj.isObject(data.subject),\n component: ({ data, role }) => {\n const schema = getSchema(data.subject);\n const { t } = useTranslation(PREVIEW_PLUGIN);\n if (!schema) {\n // TODO(burdon): Use Alert.\n return <p className={mx(descriptionMessage)}>{t('unable to create preview message')}</p>;\n }\n\n const handleSave = useCallback((values: any, { changed }: { changed: Record<string, boolean> }) => {\n const changedPaths = Object.keys(changed).filter((path) => changed[path]);\n for (const path of changedPaths) {\n const value = values[path];\n setValue(data.subject, path as JsonPath, value);\n }\n }, []);\n\n return (\n <Card.SurfaceRoot role={role}>\n <Form\n schema={schema}\n projection={data.projection}\n values={data.subject}\n readonly={role === 'card--popover' ? 'static' : false}\n onSave={handleSave}\n autoSave\n {...(role === 'card--intrinsic' && { outerSpacing: 'blockStart-0' })}\n />\n </Card.SurfaceRoot>\n );\n },\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { Fragment } from 'react';\n\nimport { Avatar, Button, Icon } from '@dxos/react-ui';\nimport { Card, cardHeading, cardText } from '@dxos/react-ui-stack';\nimport { mx } from '@dxos/react-ui-theme';\nimport { type DataType } from '@dxos/schema';\n\nimport { type PreviewProps } from '../types';\n\nimport { CardSubjectMenu } from './CardSubjectMenu';\n\nexport const ContactCard = ({\n children,\n subject,\n onOrgClick,\n role,\n}: PreviewProps<DataType.Person> & { onOrgClick?: (org: DataType.Organization) => void }) => {\n const { fullName, image, organization, emails } = subject;\n const organizationName = organization && typeof organization === 'object' ? organization.target?.name : organization;\n return (\n <Card.SurfaceRoot role={role}>\n <Avatar.Root>\n <Card.Text role='group' classNames='grid gap-3 grid-cols-[min-content_1fr]'>\n <Avatar.Content imgSrc={image} icon='ph--user--regular' size={16} hue='neutral' />\n <div role='none' className='bs-min self-center flex items-center'>\n <Avatar.Label asChild>\n <h2 className={mx(cardHeading, 'grow')}>{fullName}</h2>\n </Avatar.Label>\n <CardSubjectMenu subject={subject} />\n </div>\n </Card.Text>\n </Avatar.Root>\n {organizationName && (\n <Card.Chrome>\n {typeof organization === 'object' && onOrgClick ? (\n <Button variant='ghost' classNames='gap-2 text-start' onClick={() => onOrgClick(organization.target!)}>\n <Icon icon='ph--buildings--regular' size={5} classNames='text-subdued' />\n <span className='min-is-0 flex-1 truncate'>{organizationName}</span>\n <Icon icon='ph--arrow-right--regular' />\n </Button>\n ) : (\n <p className='dx-button gap-2' data-variant='ghost'>\n <Icon icon='ph--buildings--regular' size={5} classNames='text-subdued' />\n <span className='min-is-0 flex-1 truncate'>{organizationName}</span>\n </p>\n )}\n </Card.Chrome>\n )}\n {emails?.length && (\n <dl\n className={mx(\n cardText,\n 'grid gap-2 grid-cols-[min-content_1fr] [&_dt]:text-subdued [&_dt]:pbs-0.5 [&_dd]:min-is-0',\n )}\n >\n {emails?.length &&\n emails.map(({ label, value }) => (\n <Fragment key={value}>\n <dt>\n <Icon icon='ph--at--regular' size={5} />\n </dt>\n <dd key={value} className='break-words'>\n {value}\n </dd>\n </Fragment>\n ))}\n </dl>\n )}\n {children}\n </Card.SurfaceRoot>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Rx } from '@effect-rx/rx-react';\nimport React from 'react';\n\n// import { useIntentDispatcher } from '@dxos/app-framework';\nimport { ACTION_TYPE } from '@dxos/app-graph';\nimport { type AnyEchoObject } from '@dxos/echo-schema';\nimport { IconButton, type IconButtonProps, useTranslation } from '@dxos/react-ui';\nimport { type ActionGraphProps, DropdownMenu, MenuProvider, useMenuActions } from '@dxos/react-ui-menu';\n\nconst useSubjectMenuGroupItems = (subject: AnyEchoObject) => {\n // const { dispatchPromise: dispatch } = useIntentDispatcher();\n const result: ActionGraphProps = { edges: [], nodes: [] };\n result.nodes.push({\n type: ACTION_TYPE,\n id: `${subject.id}/add-to-space`,\n data: () => console.log('[TO DO]', 'add object to space', subject),\n properties: {\n label: ['add object to space label', { ns: 'os' }],\n icon: 'ph--file-plus--regular',\n },\n });\n result.nodes.forEach(({ id: target }) => {\n result.edges.push({ source: 'root', target });\n });\n return useMenuActions(Rx.make(result));\n};\n\n/**\n * This is a generic menu for objects that tries to infer common actions.\n */\nexport const CardSubjectMenu = ({\n subject,\n ...props\n}: Omit<IconButtonProps, 'icon' | 'label'> & { subject: AnyEchoObject }) => {\n const { t } = useTranslation('os');\n const menuProps = useSubjectMenuGroupItems(subject);\n return (\n <MenuProvider {...menuProps}>\n <DropdownMenu.Root>\n <DropdownMenu.Trigger asChild>\n <IconButton\n iconOnly\n variant='ghost'\n icon='ph--dots-three-vertical--bold'\n label={t('more options label')}\n {...props}\n />\n </DropdownMenu.Trigger>\n </DropdownMenu.Root>\n </MenuProvider>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Icon } from '@dxos/react-ui';\nimport { Card, cardNoSpacing, cardSpacing } from '@dxos/react-ui-stack';\nimport { mx } from '@dxos/react-ui-theme';\nimport { type DataType } from '@dxos/schema';\n\nimport { type PreviewProps } from '../types';\n\nimport { CardSubjectMenu } from './CardSubjectMenu';\n\nexport const OrganizationCard = ({ children, subject, role }: PreviewProps<DataType.Organization>) => {\n const { name, image, description, website } = subject;\n return (\n <Card.SurfaceRoot role={role}>\n <Card.Poster alt={name!} {...(image ? { image } : { icon: 'ph--building-office--regular' })} />\n <div role='none' className={mx('flex items-center gap-2', cardSpacing)}>\n <Card.Heading classNames={cardNoSpacing}>{name}</Card.Heading>\n <CardSubjectMenu subject={subject} />\n </div>\n {description && <Card.Text classNames='line-clamp-2'>{description}</Card.Text>}\n {website && (\n <Card.Chrome>\n <a\n className='dx-button dx-focus-ring gap-2'\n data-variant='ghost'\n href={website}\n target='_blank'\n rel='noreferrer'\n >\n <Icon icon='ph--link--regular' size={5} classNames='text-subdued' />\n <span className='grow'>{website}</span>\n <Icon icon='ph--arrow-square-out--regular' />\n </a>\n </Card.Chrome>\n )}\n {children}\n </Card.SurfaceRoot>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Obj } from '@dxos/echo';\nimport { Card, cardNoSpacing, cardSpacing } from '@dxos/react-ui-stack';\nimport { mx } from '@dxos/react-ui-theme';\nimport { type DataType } from '@dxos/schema';\n\nimport { type PreviewProps } from '../types';\n\nimport { CardSubjectMenu } from './CardSubjectMenu';\n\nexport const ProjectCard = ({ subject, role }: PreviewProps<DataType.Project>) => {\n const { name, image, description } = subject;\n return (\n <Card.SurfaceRoot role={role}>\n {image && <Card.Poster image={image} alt={Obj.getLabel(subject) ?? ''} aspect='auto' />}\n <div role='none' className={mx('flex items-center gap-2', cardSpacing)}>\n <Card.Heading classNames={cardNoSpacing}>{name}</Card.Heading>\n <CardSubjectMenu subject={subject} />\n </div>\n {description && <Card.Text classNames='line-clamp-2'>{description}</Card.Text>}\n </Card.SurfaceRoot>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "React", "useCallback", "Capabilities", "LayoutAction", "Surface", "contributes", "createIntent", "createSurface", "useIntentDispatcher", "fullyQualifiedId", "getSchema", "getSpace", "Filter", "Obj", "setValue", "AttentionAction", "ATTENDABLE_PATH_SEPARATOR", "DeckAction", "useQuery", "useSpace", "useTranslation", "Form", "Card", "Table", "descriptionMessage", "mx", "DataType", "typenameFromQuery", "React", "Fragment", "Avatar", "Button", "Icon", "Card", "cardHeading", "cardText", "mx", "Rx", "React", "ACTION_TYPE", "IconButton", "useTranslation", "DropdownMenu", "MenuProvider", "useMenuActions", "useSubjectMenuGroupItems", "subject", "result", "edges", "nodes", "push", "type", "ACTION_TYPE", "id", "data", "console", "log", "properties", "label", "ns", "icon", "forEach", "target", "source", "useMenuActions", "Rx", "make", "CardSubjectMenu", "props", "t", "useTranslation", "menuProps", "MenuProvider", "DropdownMenu", "Root", "Trigger", "asChild", "IconButton", "iconOnly", "variant", "ContactCard", "children", "subject", "onOrgClick", "role", "fullName", "image", "organization", "emails", "organizationName", "target", "name", "React", "Card", "SurfaceRoot", "Avatar", "Root", "Text", "classNames", "Content", "imgSrc", "icon", "size", "hue", "div", "className", "Label", "asChild", "h2", "mx", "cardHeading", "CardSubjectMenu", "Chrome", "Button", "variant", "onClick", "Icon", "span", "p", "data-variant", "length", "dl", "cardText", "map", "label", "value", "Fragment", "key", "dt", "dd", "React", "Icon", "Card", "cardNoSpacing", "cardSpacing", "mx", "OrganizationCard", "children", "subject", "role", "name", "image", "description", "website", "React", "Card", "SurfaceRoot", "Poster", "alt", "icon", "div", "className", "mx", "cardSpacing", "Heading", "classNames", "cardNoSpacing", "CardSubjectMenu", "Text", "Chrome", "a", "data-variant", "href", "target", "rel", "Icon", "size", "span", "React", "Obj", "Card", "cardNoSpacing", "cardSpacing", "mx", "ProjectCard", "subject", "role", "name", "image", "description", "React", "Card", "SurfaceRoot", "Poster", "alt", "Obj", "getLabel", "aspect", "div", "className", "mx", "cardSpacing", "Heading", "classNames", "cardNoSpacing", "CardSubjectMenu", "Text", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "PREVIEW_PLUGIN", "role", "filter", "data", "Obj", "instanceOf", "DataType", "Person", "subject", "component", "dispatch", "useIntentDispatcher", "space", "getSpace", "defaultSpace", "useSpace", "currentSpaceOrgs", "useQuery", "Filter", "type", "Organization", "currentSpaceViews", "View", "defaultSpaceViews", "currentSpaceOrgTable", "find", "view", "typenameFromQuery", "query", "typename", "Table", "presentation", "target", "defaultSpaceOrgTable", "handleOrgClick", "useCallback", "org", "Effect", "gen", "includes", "createIntent", "LayoutAction", "UpdatePopover", "part", "options", "state", "anchorId", "fullyQualifiedId", "Open", "workspace", "DeckAction", "ChangeCompanion", "primary", "companion", "join", "ATTENDABLE_PATH_SEPARATOR", "AttentionAction", "Select", "contextId", "selection", "mode", "ids", "pipe", "runPromise", "React", "ContactCard", "onOrgClick", "Surface", "OrganizationCard", "Project", "ProjectCard", "position", "isObject", "schema", "getSchema", "t", "useTranslation", "p", "className", "mx", "descriptionMessage", "handleSave", "values", "changed", "changedPaths", "Object", "keys", "path", "value", "setValue", "Card", "SurfaceRoot", "Form", "projection", "readonly", "onSave", "autoSave", "outerSpacing"]
|
|
7
|
+
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const PreviewPopover: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<null
|
|
2
|
-
export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface
|
|
1
|
+
export declare const PreviewPopover: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<null>> | import("@dxos/app-framework").AnyCapability[]>>;
|
|
2
|
+
export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("@dxos/app-framework").Capabilities.ReactSurface>> | import("@dxos/app-framework").AnyCapability[]>>;
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,yOAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,4OAAwC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { type PluginContext } from '@dxos/app-framework';
|
|
2
|
-
declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<null
|
|
2
|
+
declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<null>>;
|
|
3
3
|
export default _default;
|
|
4
4
|
//# sourceMappingURL=preview-popover.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-popover.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/preview-popover.ts"],"names":[],"mappings":"AAIA,OAAO,
|
|
1
|
+
{"version":3,"file":"preview-popover.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/preview-popover.ts"],"names":[],"mappings":"AAIA,OAAO,EAA8B,KAAK,aAAa,EAA6B,MAAM,qBAAqB,CAAC;yBAyBhG,SAAS,aAAa;AAAtC,wBAuCE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Capabilities } from '@dxos/app-framework';
|
|
2
|
-
declare const _default: () => import("@dxos/app-framework").Capability<Capabilities.ReactSurface
|
|
2
|
+
declare const _default: () => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Capabilities.ReactSurface>>;
|
|
3
3
|
export default _default;
|
|
4
4
|
//# sourceMappingURL=react-surface.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,EAOb,MAAM,qBAAqB,CAAC;;AAiB7B,
|
|
1
|
+
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,EAOb,MAAM,qBAAqB,CAAC;;AAiB7B,wBAmIK"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type AnyEchoObject } from '@dxos/echo-schema';
|
|
3
|
+
import { type IconButtonProps } from '@dxos/react-ui';
|
|
4
|
+
/**
|
|
5
|
+
* This is a generic menu for objects that tries to infer common actions.
|
|
6
|
+
*/
|
|
7
|
+
export declare const CardSubjectMenu: ({ subject, ...props }: Omit<IconButtonProps, "icon" | "label"> & {
|
|
8
|
+
subject: AnyEchoObject;
|
|
9
|
+
}) => React.JSX.Element;
|
|
10
|
+
//# sourceMappingURL=CardSubjectMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CardSubjectMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/CardSubjectMenu.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAc,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAqBlF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,uBAG7B,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IAAE,OAAO,EAAE,aAAa,CAAA;CAAE,sBAkBtE,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type DataType } from '@dxos/schema';
|
|
3
3
|
import { type PreviewProps } from '../types';
|
|
4
|
-
export declare const ContactCard: ({ children, subject
|
|
4
|
+
export declare const ContactCard: ({ children, subject, onOrgClick, role, }: PreviewProps<DataType.Person> & {
|
|
5
5
|
onOrgClick?: (org: DataType.Organization) => void;
|
|
6
6
|
}) => React.JSX.Element;
|
|
7
7
|
//# sourceMappingURL=ContactCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContactCard.d.ts","sourceRoot":"","sources":["../../../../src/components/ContactCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"ContactCard.d.ts","sourceRoot":"","sources":["../../../../src/components/ContactCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAKxC,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,eAAO,MAAM,WAAW,GAAI,0CAKzB,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG;IAAE,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,YAAY,KAAK,IAAI,CAAA;CAAE,sBAuDvF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type DataType } from '@dxos/schema';
|
|
3
3
|
import { type PreviewProps } from '../types';
|
|
4
|
-
export declare const OrganizationCard: ({ children, subject
|
|
4
|
+
export declare const OrganizationCard: ({ children, subject, role }: PreviewProps<DataType.Organization>) => React.JSX.Element;
|
|
5
5
|
//# sourceMappingURL=OrganizationCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrganizationCard.d.ts","sourceRoot":"","sources":["../../../../src/components/OrganizationCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"OrganizationCard.d.ts","sourceRoot":"","sources":["../../../../src/components/OrganizationCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,eAAO,MAAM,gBAAgB,GAAI,6BAA6B,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,sBA4BhG,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type DataType } from '@dxos/schema';
|
|
3
3
|
import { type PreviewProps } from '../types';
|
|
4
|
-
export declare const ProjectCard: ({ subject
|
|
4
|
+
export declare const ProjectCard: ({ subject, role }: PreviewProps<DataType.Project>) => React.JSX.Element;
|
|
5
5
|
//# sourceMappingURL=ProjectCard.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectCard.d.ts","sourceRoot":"","sources":["../../../../src/components/ProjectCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ProjectCard.d.ts","sourceRoot":"","sources":["../../../../src/components/ProjectCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,eAAO,MAAM,WAAW,GAAI,mBAAmB,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,sBAY5E,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskCard.d.ts","sourceRoot":"","sources":["../../../../src/components/TaskCard.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAiB7C,eAAO,MAAM,QAAQ,GAAI,mBAAmB,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,sBAgBtE,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import '@dxos-theme';
|
|
2
|
+
import { type StoryObj } from '@storybook/react-vite';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
render: ({ role, cards }: import("./testing").DefaultstoryProps) => import("react").JSX.Element;
|
|
6
|
+
decorators: import("@storybook/react").Decorator[];
|
|
7
|
+
parameters: {
|
|
8
|
+
translations: [{
|
|
9
|
+
readonly 'en-US': {
|
|
10
|
+
readonly [meta.id]: {
|
|
11
|
+
readonly 'unable to create preview message': "No preview";
|
|
12
|
+
readonly 'todo label': "To do";
|
|
13
|
+
readonly 'in-progress label': "In progress";
|
|
14
|
+
readonly 'done label': "Done";
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
}];
|
|
18
|
+
};
|
|
19
|
+
tags: string[];
|
|
20
|
+
};
|
|
21
|
+
export default meta;
|
|
22
|
+
type Story = StoryObj<typeof meta>;
|
|
23
|
+
export declare const Popover: Story;
|
|
24
|
+
export declare const Intrinsic: Story;
|
|
25
|
+
export declare const Extrinsic: Story;
|
|
26
|
+
export declare const ExtrinsicNoImage: Story;
|
|
27
|
+
//# sourceMappingURL=Card.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Card.stories.d.ts","sourceRoot":"","sources":["../../../../src/stories/Card.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAQjE,QAAA,MAAM,IAAI;;;;;;;yBAN6B,CAAQ,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;CAkBlB,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAKrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAKvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,KAK9B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React, { type FC } from 'react';
|
|
2
|
+
import { type PreviewProps } from '../types';
|
|
3
|
+
type CardProps<T extends object> = {
|
|
4
|
+
Component: FC<PreviewProps<T>>;
|
|
5
|
+
subject: T;
|
|
6
|
+
icon?: string;
|
|
7
|
+
image?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type DefaultstoryProps = {
|
|
10
|
+
role: 'card--popover' | 'card--intrinsic' | 'card--extrinsic' | 'card--transclusion';
|
|
11
|
+
cards: CardProps<any>[];
|
|
12
|
+
};
|
|
13
|
+
export declare const Defaultstory: ({ role, cards }: DefaultstoryProps) => React.JSX.Element;
|
|
14
|
+
export declare const omitImage: ({ image: _, ...rest }: any) => any;
|
|
15
|
+
export declare const createCards: (image?: boolean) => CardProps<any>[];
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=testing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../../src/stories/testing.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AASvC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAI7C,KAAK,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI;IACjC,SAAS,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,EAAE,CAAC,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;IACrF,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,iBAAiB,iBAAiB,sBAY9D,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,uBAAuB,GAAG,QAAS,CAAC;AAG9D,eAAO,MAAM,WAAW,GAAI,eAAY,KAAG,SAAS,CAAC,GAAG,CAAC,EAmExD,CAAC"}
|
|
@@ -3,6 +3,9 @@ export declare const translations: [{
|
|
|
3
3
|
readonly 'en-US': {
|
|
4
4
|
readonly [meta.id]: {
|
|
5
5
|
readonly 'unable to create preview message': "No preview";
|
|
6
|
+
readonly 'todo label': "To do";
|
|
7
|
+
readonly 'in-progress label': "In progress";
|
|
8
|
+
readonly 'done label': "Done";
|
|
6
9
|
};
|
|
7
10
|
};
|
|
8
11
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,YAAY;;QAGnB,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;
|
|
1
|
+
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,eAAO,MAAM,YAAY;;QAGnB,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;UAKR;;EAGwB,CAAC"}
|