@dxos/plugin-registry 0.8.4-main.fd6878d → 0.8.4-main.fffef41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/lib/browser/{app-graph-builder-6JQNRTEQ.mjs → app-graph-builder-6CNBP3A4.mjs} +26 -25
  2. package/dist/lib/browser/app-graph-builder-6CNBP3A4.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-XPEFEID2.mjs +19 -0
  4. package/dist/lib/browser/chunk-XPEFEID2.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +5 -7
  6. package/dist/lib/browser/index.mjs.map +2 -2
  7. package/dist/lib/browser/{intent-resolver-UGDFPMAG.mjs → intent-resolver-LKNUYBTN.mjs} +4 -4
  8. package/dist/lib/browser/{intent-resolver-UGDFPMAG.mjs.map → intent-resolver-LKNUYBTN.mjs.map} +1 -1
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/{react-surface-BQPO3F3E.mjs → react-surface-IGCXOVE2.mjs} +116 -90
  11. package/dist/lib/browser/react-surface-IGCXOVE2.mjs.map +7 -0
  12. package/dist/types/src/RegistryPlugin.d.ts +1 -1
  13. package/dist/types/src/RegistryPlugin.d.ts.map +1 -1
  14. package/dist/types/src/capabilities/app-graph-builder.d.ts +1 -1
  15. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  16. package/dist/types/src/capabilities/index.d.ts +3 -3
  17. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  18. package/dist/types/src/capabilities/intent-resolver.d.ts +1 -1
  19. package/dist/types/src/capabilities/react-surface.d.ts +1 -1
  20. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  21. package/dist/types/src/components/PluginDetail.d.ts.map +1 -1
  22. package/dist/types/src/components/PluginDetail.stories.d.ts +29 -5
  23. package/dist/types/src/components/PluginDetail.stories.d.ts.map +1 -1
  24. package/dist/types/src/components/PluginItem.d.ts +1 -1
  25. package/dist/types/src/components/PluginItem.d.ts.map +1 -1
  26. package/dist/types/src/components/PluginList.d.ts.map +1 -1
  27. package/dist/types/src/components/PluginList.stories.d.ts +31 -8
  28. package/dist/types/src/components/PluginList.stories.d.ts.map +1 -1
  29. package/dist/types/src/components/RegistryContainer.d.ts.map +1 -1
  30. package/dist/types/src/meta.d.ts +0 -1
  31. package/dist/types/src/meta.d.ts.map +1 -1
  32. package/dist/types/src/types.d.ts +3 -1
  33. package/dist/types/src/types.d.ts.map +1 -1
  34. package/dist/types/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +27 -29
  36. package/src/RegistryPlugin.tsx +22 -23
  37. package/src/capabilities/app-graph-builder.ts +26 -25
  38. package/src/capabilities/react-surface.tsx +9 -13
  39. package/src/components/PluginDetail.stories.tsx +7 -8
  40. package/src/components/PluginDetail.tsx +53 -34
  41. package/src/components/PluginItem.tsx +53 -52
  42. package/src/components/PluginList.stories.tsx +22 -25
  43. package/src/components/PluginList.tsx +2 -4
  44. package/src/components/RegistryContainer.tsx +3 -11
  45. package/src/meta.ts +6 -3
  46. package/src/types.ts +5 -1
  47. package/dist/lib/browser/app-graph-builder-6JQNRTEQ.mjs.map +0 -7
  48. package/dist/lib/browser/chunk-AEBASNOI.mjs +0 -16
  49. package/dist/lib/browser/chunk-AEBASNOI.mjs.map +0 -7
  50. package/dist/lib/browser/react-surface-BQPO3F3E.mjs.map +0 -7
  51. package/dist/types/src/components/Icon.stories.d.ts +0 -6
  52. package/dist/types/src/components/Icon.stories.d.ts.map +0 -1
  53. package/src/components/Icon.stories.tsx +0 -108
@@ -1,47 +1,65 @@
1
1
  import {
2
2
  REGISTRY_KEY,
3
- REGISTRY_PLUGIN
4
- } from "./chunk-AEBASNOI.mjs";
3
+ meta
4
+ } from "./chunk-XPEFEID2.mjs";
5
5
 
6
6
  // src/capabilities/react-surface.tsx
7
7
  import React5, { useCallback as useCallback3, useMemo as useMemo2 } from "react";
8
- import { Capabilities as Capabilities2, Plugin, contributes, createSurface, usePluginManager as usePluginManager2 } from "@dxos/app-framework";
9
- import { StackItem as StackItem2 } from "@dxos/react-ui-stack";
8
+ import { Capabilities as Capabilities2, Plugin, contributes, createSurface } from "@dxos/app-framework";
9
+ import { usePluginManager as usePluginManager2 } from "@dxos/app-framework/react";
10
10
 
11
11
  // src/components/PluginDetail.tsx
12
12
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
13
13
  import React from "react";
14
14
  import { Icon, Input, Link, useTranslation } from "@dxos/react-ui";
15
- import { DeprecatedFormContainer } from "@dxos/react-ui-form";
15
+ import { StackItem } from "@dxos/react-ui-stack";
16
+ import { getStyles, mx } from "@dxos/react-ui-theme";
16
17
  var PluginDetail = ({ plugin, enabled, onEnable }) => {
17
18
  var _effect = _useSignals();
18
19
  try {
19
- const { t } = useTranslation(REGISTRY_PLUGIN);
20
- const { id, name, description, homePage, source, screenshots } = plugin.meta;
21
- return /* @__PURE__ */ React.createElement(DeprecatedFormContainer, {
22
- classNames: "gap-6"
20
+ const { t } = useTranslation(meta.id);
21
+ const { id, name, description, homePage, source, screenshots, icon = "ph--circle--regular", iconHue = "neutral" } = plugin.meta;
22
+ const styles = getStyles(iconHue);
23
+ return /* @__PURE__ */ React.createElement(StackItem.Content, {
24
+ scrollable: true
25
+ }, /* @__PURE__ */ React.createElement("div", {
26
+ role: "none",
27
+ className: "grid grid-cols-[min-content_1fr] gap-4 container-max-width p-4"
28
+ }, /* @__PURE__ */ React.createElement("div", {
29
+ role: "none"
30
+ }, /* @__PURE__ */ React.createElement(Icon, {
31
+ classNames: mx("p-1 rounded", styles.bg, styles.icon),
32
+ icon,
33
+ size: 14
34
+ })), /* @__PURE__ */ React.createElement("div", {
35
+ role: "none",
36
+ className: "flex flex-col gap-6"
23
37
  }, /* @__PURE__ */ React.createElement("div", {
24
38
  role: "none",
25
- className: "flex justify-between items-center"
26
- }, /* @__PURE__ */ React.createElement("p", null, id), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Switch, {
39
+ className: "grid grid-cols-[1fr_min-content] gap-x-3 is-full pbs-1"
40
+ }, /* @__PURE__ */ React.createElement("h2", {
41
+ className: "text-xl"
42
+ }, name), /* @__PURE__ */ React.createElement(Input.Root, null, /* @__PURE__ */ React.createElement(Input.Switch, {
27
43
  classNames: "self-center",
28
44
  checked: enabled,
29
45
  onClick: onEnable
30
- }))), screenshots && screenshots.length > 0 && /* @__PURE__ */ React.createElement("div", {
46
+ })), /* @__PURE__ */ React.createElement("p", {
47
+ className: "pbs-0.5 text-sm text-description"
48
+ }, id)), /* @__PURE__ */ React.createElement("div", {
31
49
  role: "none"
32
- }, /* @__PURE__ */ React.createElement("h1", {
33
- className: "text-lg mb-2"
34
- }, "Preview"), /* @__PURE__ */ React.createElement("img", {
50
+ }, /* @__PURE__ */ React.createElement("p", {
51
+ className: "text-description"
52
+ }, description)), screenshots && screenshots.length > 0 && /* @__PURE__ */ React.createElement("div", {
53
+ role: "none",
54
+ className: "flex flex-col gap-2"
55
+ }, /* @__PURE__ */ React.createElement("h2", null, "Preview"), /* @__PURE__ */ React.createElement("img", {
35
56
  src: screenshots[0],
36
57
  alt: name,
37
58
  className: "aspect-video object-fit"
38
59
  })), /* @__PURE__ */ React.createElement("div", {
39
- role: "none"
40
- }, /* @__PURE__ */ React.createElement("p", null, description)), /* @__PURE__ */ React.createElement("div", {
41
- role: "none"
42
- }, /* @__PURE__ */ React.createElement("h1", {
43
- className: "text-lg mb-2"
44
- }, "Resources"), /* @__PURE__ */ React.createElement("div", {
60
+ role: "none",
61
+ className: "flex flex-col gap-2"
62
+ }, /* @__PURE__ */ React.createElement("h2", null, "Resources"), /* @__PURE__ */ React.createElement("div", {
45
63
  className: "flex gap-2"
46
64
  }, homePage && /* @__PURE__ */ React.createElement(Link, {
47
65
  href: homePage,
@@ -61,7 +79,7 @@ var PluginDetail = ({ plugin, enabled, onEnable }) => {
61
79
  icon: "ph--arrow-square-out--bold",
62
80
  size: 3,
63
81
  classNames: "inline-block leading-none mli-1"
64
- })))));
82
+ })))))));
65
83
  } finally {
66
84
  _effect.f();
67
85
  }
@@ -76,12 +94,13 @@ import { List } from "@dxos/react-ui";
76
94
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
77
95
  import React2, { useCallback } from "react";
78
96
  import { Icon as Icon2, IconButton, Input as Input2, Link as Link2, ListItem, Tag, useTranslation as useTranslation2 } from "@dxos/react-ui";
79
- import { descriptionText, mx } from "@dxos/react-ui-theme";
80
- var PluginItem = ({ plugin, enabled = [], onClick, onChange, hasSettings: _hasSettings, onSettings }) => {
97
+ import { descriptionText, mx as mx2 } from "@dxos/react-ui-theme";
98
+ import { getStyles as getStyles2 } from "@dxos/react-ui-theme";
99
+ var PluginItem = ({ plugin, enabled = [], onClick, onChange, hasSettings: hasSettingsParam, onSettings }) => {
81
100
  var _effect = _useSignals2();
82
101
  try {
83
- const { t } = useTranslation2(REGISTRY_PLUGIN);
84
- const { id, name, description, tags, icon = "ph--circle--regular" } = plugin.meta;
102
+ const { t } = useTranslation2(meta.id);
103
+ const { id, name, description, tags, icon = "ph--circle--regular", iconHue = "neutral" } = plugin.meta;
85
104
  const isEnabled = enabled.includes(id);
86
105
  const inputId = `${id}-input`;
87
106
  const labelId = `${id}-label`;
@@ -98,86 +117,92 @@ var PluginItem = ({ plugin, enabled = [], onClick, onChange, hasSettings: _hasSe
98
117
  isEnabled,
99
118
  onChange
100
119
  ]);
101
- const hasSettings = _hasSettings?.(id) ?? false;
120
+ const hasSettings = hasSettingsParam?.(id) ?? false;
102
121
  const handleSettings = useCallback(() => onSettings?.(id), [
103
122
  id,
104
123
  onSettings
105
124
  ]);
125
+ const styles = getStyles2(iconHue);
126
+ const gridCols = "grid grid-cols-[5rem_1fr]";
127
+ const gridRows = "grid grid-rows-[40px_1fr_min-content_40px]";
106
128
  return /* @__PURE__ */ React2.createElement(ListItem.Root, {
107
129
  key: id,
108
130
  labelId,
109
131
  "data-testid": `pluginList.${id}`,
110
132
  "aria-describedby": descriptionId,
111
- // TODO(burdon): Use Rail vars.
112
- classNames: "is-full bs-full grid grid-cols-[48px_1fr_48px] grid-rows-[40px_1fr_32px] p-1 border border-separator rounded-md"
133
+ classNames: mx2(gridCols, "bs-[12rem] is-full gap-3 pie-2 border border-separator rounded-md overflow-hidden")
113
134
  }, /* @__PURE__ */ React2.createElement("div", {
114
- className: "flex flex-col grow justify-center items-center"
115
- }, /* @__PURE__ */ React2.createElement(Icon2, {
135
+ className: mx2(gridRows, "justify-center rounded-l-md", styles.bg)
136
+ }, /* @__PURE__ */ React2.createElement("div", null), /* @__PURE__ */ React2.createElement(Icon2, {
137
+ classNames: mx2("cursor-pointer", styles.icon),
116
138
  icon,
117
- size: 6,
118
- onClick: handleClick,
119
- classNames: "text-subdued cursor-pointer"
139
+ size: 14,
140
+ onClick: handleClick
120
141
  })), /* @__PURE__ */ React2.createElement("div", {
142
+ className: mx2(gridRows)
143
+ }, /* @__PURE__ */ React2.createElement("div", {
121
144
  className: "flex items-center overflow-hidden cursor-pointer",
122
145
  onClick: handleClick
123
146
  }, /* @__PURE__ */ React2.createElement("span", {
124
- className: "truncate"
125
- }, name ?? id)), /* @__PURE__ */ React2.createElement("div", {
126
- className: "flex justify-center items-center"
127
- }, /* @__PURE__ */ React2.createElement(Input2.Root, {
128
- id: inputId
129
- }, /* @__PURE__ */ React2.createElement(Input2.Switch, {
130
- classNames: "self-center",
131
- checked: isEnabled,
132
- onClick: handleChange
133
- }))), /* @__PURE__ */ React2.createElement("div", null), (description || tags) && /* @__PURE__ */ React2.createElement("div", {
134
- id: descriptionId,
135
- className: "col-span-2 flex flex-col w-full justify-between gap-2 pb-2"
136
- }, /* @__PURE__ */ React2.createElement("div", {
137
- className: "grow"
138
- }, /* @__PURE__ */ React2.createElement("p", {
139
- className: mx(descriptionText, "line-clamp-3 min-w-0 pie-2")
140
- }, description)), tags && tags.length > 0 && /* @__PURE__ */ React2.createElement("div", null, tags.map((tag) => /* @__PURE__ */ React2.createElement(Tag, {
147
+ className: "text-lg truncate"
148
+ }, name ?? id)), /* @__PURE__ */ React2.createElement("div", null, /* @__PURE__ */ React2.createElement("p", {
149
+ className: mx2(descriptionText, "line-clamp-4 min-is-0")
150
+ }, description)), /* @__PURE__ */ React2.createElement("div", {
151
+ className: "flex -mis-0.5 overflow-x-auto scrollbar-none"
152
+ }, tags?.map((tag) => /* @__PURE__ */ React2.createElement(Tag, {
141
153
  key: tag,
142
- palette: "indigo",
143
- classNames: "text-xs capitalize"
144
- }, tag)))), /* @__PURE__ */ React2.createElement("div", null), /* @__PURE__ */ React2.createElement("div", {
145
- className: "flex gap-2 items-center pie-1"
146
- }, /* @__PURE__ */ React2.createElement(Link2, {
147
- "aria-describedby": descriptionId,
148
- classNames: "text-sm text-description cursor-pointer",
149
- onClick: handleClick
150
- }, t("details label")), /* @__PURE__ */ React2.createElement("div", {
151
- className: "flex-1"
152
- })), /* @__PURE__ */ React2.createElement("div", {
153
- className: "flex justify-center items-center"
154
- }, hasSettings && /* @__PURE__ */ React2.createElement(IconButton, {
154
+ palette: tagColors[tag],
155
+ classNames: "text-xs uppercase font-thin"
156
+ }, tag))), /* @__PURE__ */ React2.createElement("div", {
157
+ className: "flex gap-2 items-center text-sm"
158
+ }, /* @__PURE__ */ React2.createElement(IconButton, {
155
159
  "aria-describedby": descriptionId,
156
- classNames: "text-sm text-description cursor-pointer",
160
+ classNames: "cursor-pointer",
157
161
  icon: "ph--gear--regular",
158
162
  label: t("settings label"),
159
163
  iconOnly: true,
160
164
  size: 4,
161
- onClick: handleSettings
162
- })));
165
+ onClick: handleSettings,
166
+ disabled: !hasSettings
167
+ }), /* @__PURE__ */ React2.createElement(Link2, {
168
+ "aria-describedby": descriptionId,
169
+ classNames: "text-description cursor-pointer",
170
+ onClick: handleClick
171
+ }, t("details label")), /* @__PURE__ */ React2.createElement("div", {
172
+ className: "grow"
173
+ }), /* @__PURE__ */ React2.createElement("div", {
174
+ className: "pie-1"
175
+ }, /* @__PURE__ */ React2.createElement(Input2.Root, {
176
+ id: inputId
177
+ }, /* @__PURE__ */ React2.createElement(Input2.Switch, {
178
+ classNames: "self-center",
179
+ checked: isEnabled,
180
+ onClick: handleChange
181
+ }))))));
163
182
  } finally {
164
183
  _effect.f();
165
184
  }
166
185
  };
186
+ var tagColors = {
187
+ new: "rose",
188
+ beta: "teal",
189
+ labs: "blue",
190
+ popular: "green",
191
+ featured: "pink",
192
+ experimental: "amber"
193
+ };
167
194
 
168
195
  // src/components/PluginList.tsx
169
196
  var PluginList = ({ plugins = [], ...props }) => {
170
197
  var _effect = _useSignals3();
171
198
  try {
172
199
  return /* @__PURE__ */ React3.createElement(List, {
173
- classNames: "grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] auto-rows-[12rem] gap-3 p-3"
174
- }, plugins.map((plugin) => /* @__PURE__ */ React3.createElement("div", {
200
+ classNames: "grid grid-cols-[repeat(auto-fill,minmax(18rem,1fr))] gap-4 p-4"
201
+ }, plugins.map((plugin) => /* @__PURE__ */ React3.createElement(PluginItem, {
175
202
  key: plugin.meta.id,
176
- className: "flex"
177
- }, /* @__PURE__ */ React3.createElement(PluginItem, {
178
203
  plugin,
179
204
  ...props
180
- }))));
205
+ })));
181
206
  } finally {
182
207
  _effect.f();
183
208
  }
@@ -186,9 +211,10 @@ var PluginList = ({ plugins = [], ...props }) => {
186
211
  // src/components/RegistryContainer.tsx
187
212
  import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
188
213
  import React4, { useCallback as useCallback2, useMemo } from "react";
189
- import { Capabilities, LayoutAction, SettingsAction, createIntent, useCapability, useIntentDispatcher, usePluginManager } from "@dxos/app-framework";
214
+ import { Capabilities, LayoutAction, SettingsAction, createIntent } from "@dxos/app-framework";
215
+ import { useCapability, useIntentDispatcher, usePluginManager } from "@dxos/app-framework/react";
190
216
  import { ObservabilityAction } from "@dxos/plugin-observability/types";
191
- import { StackItem } from "@dxos/react-ui-stack";
217
+ import { StackItem as StackItem2 } from "@dxos/react-ui-stack";
192
218
  var sortByPluginMeta = ({ meta: { name: a = "" } }, { meta: { name: b = "" } }) => a.localeCompare(b);
193
219
  var RegistryContainer = ({ id, plugins: _plugins }) => {
194
220
  var _effect = _useSignals4();
@@ -238,8 +264,8 @@ var RegistryContainer = ({ id, plugins: _plugins }) => {
238
264
  })), [
239
265
  dispatch
240
266
  ]);
241
- return /* @__PURE__ */ React4.createElement(StackItem.Content, {
242
- classNames: "min-bs-0 overflow-y-auto scrollbar-thin contain-layout"
267
+ return /* @__PURE__ */ React4.createElement(StackItem2.Content, {
268
+ scrollable: true
243
269
  }, /* @__PURE__ */ React4.createElement(PluginList, {
244
270
  plugins,
245
271
  enabled: manager.enabled,
@@ -254,14 +280,14 @@ var RegistryContainer = ({ id, plugins: _plugins }) => {
254
280
  };
255
281
 
256
282
  // src/capabilities/react-surface.tsx
257
- var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
283
+ var react_surface_default = (() => contributes(Capabilities2.ReactSurface, [
258
284
  createSurface({
259
- id: `${REGISTRY_PLUGIN}/all`,
285
+ id: `${meta.id}/all`,
260
286
  role: "article",
261
287
  filter: (data) => data.subject === `${REGISTRY_KEY}+all`,
262
288
  component: () => {
263
289
  const manager = usePluginManager2();
264
- const filtered = useMemo2(() => manager.plugins.filter(({ meta }) => !manager.core.includes(meta.id)), []);
290
+ const filtered = useMemo2(() => manager.plugins.filter(({ meta: meta2 }) => !manager.core.includes(meta2.id)), []);
265
291
  return /* @__PURE__ */ React5.createElement(RegistryContainer, {
266
292
  id: `${REGISTRY_KEY}+all`,
267
293
  plugins: filtered
@@ -269,12 +295,12 @@ var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
269
295
  }
270
296
  }),
271
297
  createSurface({
272
- id: `${REGISTRY_PLUGIN}/installed`,
298
+ id: `${meta.id}/installed`,
273
299
  role: "article",
274
300
  filter: (data) => data.subject === `${REGISTRY_KEY}+installed`,
275
301
  component: () => {
276
302
  const manager = usePluginManager2();
277
- const filtered = useMemo2(() => manager.plugins.filter(({ meta }) => !manager.core.includes(meta.id)).filter(({ meta }) => manager.enabled.includes(meta.id)), []);
303
+ const filtered = useMemo2(() => manager.plugins.filter(({ meta: meta2 }) => !manager.core.includes(meta2.id)).filter(({ meta: meta2 }) => manager.enabled.includes(meta2.id)), []);
278
304
  return /* @__PURE__ */ React5.createElement(RegistryContainer, {
279
305
  id: `${REGISTRY_KEY}+installed`,
280
306
  plugins: filtered
@@ -282,12 +308,12 @@ var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
282
308
  }
283
309
  }),
284
310
  createSurface({
285
- id: `${REGISTRY_PLUGIN}/recommended`,
311
+ id: `${meta.id}/recommended`,
286
312
  role: "article",
287
313
  filter: (data) => data.subject === `${REGISTRY_KEY}+recommended`,
288
314
  component: () => {
289
315
  const manager = usePluginManager2();
290
- const filtered = useMemo2(() => manager.plugins.filter(({ meta }) => !manager.core.includes(meta.id)).filter(({ meta }) => !meta.tags?.includes("labs")), []);
316
+ const filtered = useMemo2(() => manager.plugins.filter(({ meta: meta2 }) => !manager.core.includes(meta2.id)).filter(({ meta: meta2 }) => !meta2.tags?.includes("labs")), []);
291
317
  return /* @__PURE__ */ React5.createElement(RegistryContainer, {
292
318
  id: `${REGISTRY_KEY}+recommended`,
293
319
  plugins: filtered
@@ -295,12 +321,12 @@ var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
295
321
  }
296
322
  }),
297
323
  createSurface({
298
- id: `${REGISTRY_PLUGIN}/labs`,
324
+ id: `${meta.id}/labs`,
299
325
  role: "article",
300
326
  filter: (data) => data.subject === `${REGISTRY_KEY}+labs`,
301
327
  component: () => {
302
328
  const manager = usePluginManager2();
303
- const filtered = useMemo2(() => manager.plugins.filter(({ meta }) => meta.tags?.includes("labs")), []);
329
+ const filtered = useMemo2(() => manager.plugins.filter(({ meta: meta2 }) => meta2.tags?.includes("labs")), []);
304
330
  return /* @__PURE__ */ React5.createElement(RegistryContainer, {
305
331
  id: `${REGISTRY_KEY}+labs`,
306
332
  plugins: filtered
@@ -308,7 +334,7 @@ var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
308
334
  }
309
335
  }),
310
336
  createSurface({
311
- id: `${REGISTRY_PLUGIN}/plugin-details`,
337
+ id: `${meta.id}/plugin-details`,
312
338
  role: "article",
313
339
  filter: (data) => data.subject instanceof Plugin,
314
340
  component: ({ data: { subject } }) => {
@@ -319,15 +345,15 @@ var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
319
345
  subject.meta.id,
320
346
  enabled
321
347
  ]);
322
- return /* @__PURE__ */ React5.createElement(StackItem2.Content, null, /* @__PURE__ */ React5.createElement(PluginDetail, {
348
+ return /* @__PURE__ */ React5.createElement(PluginDetail, {
323
349
  plugin: subject,
324
350
  enabled,
325
351
  onEnable: handleEnable
326
- }));
352
+ });
327
353
  }
328
354
  })
329
- ]);
355
+ ]));
330
356
  export {
331
357
  react_surface_default as default
332
358
  };
333
- //# sourceMappingURL=react-surface-BQPO3F3E.mjs.map
359
+ //# sourceMappingURL=react-surface-IGCXOVE2.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/PluginDetail.tsx", "../../../src/components/PluginList.tsx", "../../../src/components/PluginItem.tsx", "../../../src/components/RegistryContainer.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Capabilities, Plugin, contributes, createSurface } from '@dxos/app-framework';\nimport { usePluginManager } from '@dxos/app-framework/react';\n\nimport { PluginDetail, RegistryContainer } from '../components';\nimport { REGISTRY_KEY, meta } from '../meta';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${meta.id}/all`,\n role: 'article',\n filter: (data): data is any => data.subject === `${REGISTRY_KEY}+all`,\n component: () => {\n const manager = usePluginManager();\n const filtered = useMemo(() => manager.plugins.filter(({ meta }) => !manager.core.includes(meta.id)), []);\n\n return <RegistryContainer id={`${REGISTRY_KEY}+all`} plugins={filtered} />;\n },\n }),\n createSurface({\n id: `${meta.id}/installed`,\n role: 'article',\n filter: (data): data is any => data.subject === `${REGISTRY_KEY}+installed`,\n component: () => {\n const manager = usePluginManager();\n const filtered = useMemo(\n () =>\n manager.plugins\n .filter(({ meta }) => !manager.core.includes(meta.id))\n .filter(({ meta }) => manager.enabled.includes(meta.id)),\n [],\n );\n\n return <RegistryContainer id={`${REGISTRY_KEY}+installed`} plugins={filtered} />;\n },\n }),\n createSurface({\n id: `${meta.id}/recommended`,\n role: 'article',\n filter: (data): data is any => data.subject === `${REGISTRY_KEY}+recommended`,\n component: () => {\n const manager = usePluginManager();\n const filtered = useMemo(\n () =>\n manager.plugins\n .filter(({ meta }) => !manager.core.includes(meta.id))\n .filter(({ meta }) => !meta.tags?.includes('labs')),\n [],\n );\n\n return <RegistryContainer id={`${REGISTRY_KEY}+recommended`} plugins={filtered} />;\n },\n }),\n createSurface({\n id: `${meta.id}/labs`,\n role: 'article',\n filter: (data): data is any => data.subject === `${REGISTRY_KEY}+labs`,\n component: () => {\n const manager = usePluginManager();\n const filtered = useMemo(() => manager.plugins.filter(({ meta }) => meta.tags?.includes('labs')), []);\n\n return <RegistryContainer id={`${REGISTRY_KEY}+labs`} plugins={filtered} />;\n },\n }),\n createSurface({\n id: `${meta.id}/plugin-details`,\n role: 'article',\n filter: (data): data is { subject: Plugin } => data.subject instanceof Plugin,\n component: ({ data: { subject } }) => {\n const manager = usePluginManager();\n const enabled = manager.enabled.includes(subject.meta.id);\n const handleEnable = useCallback(\n () => (enabled ? manager.disable(subject.meta.id) : manager.enable(subject.meta.id)),\n [manager, subject.meta.id, enabled],\n );\n\n return <PluginDetail plugin={subject} enabled={enabled} onEnable={handleEnable} />;\n },\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { Icon, Input, Link, useTranslation } from '@dxos/react-ui';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { getStyles, mx } from '@dxos/react-ui-theme';\n\nimport { meta } from '../meta';\n\nexport type PluginDetailProps = {\n plugin: Plugin;\n enabled?: boolean;\n onEnable?: () => void;\n};\n\nexport const PluginDetail = ({ plugin, enabled, onEnable }: PluginDetailProps) => {\n const { t } = useTranslation(meta.id);\n const {\n id,\n name,\n description,\n homePage,\n source,\n screenshots,\n icon = 'ph--circle--regular',\n iconHue = 'neutral',\n } = plugin.meta;\n const styles = getStyles(iconHue);\n\n return (\n <StackItem.Content scrollable>\n <div role='none' className='grid grid-cols-[min-content_1fr] gap-4 container-max-width p-4'>\n <div role='none'>\n <Icon classNames={mx('p-1 rounded', styles.bg, styles.icon)} icon={icon} size={14} />\n </div>\n <div role='none' className='flex flex-col gap-6'>\n <div role='none' className='grid grid-cols-[1fr_min-content] gap-x-3 is-full pbs-1'>\n <h2 className='text-xl'>{name}</h2>\n <Input.Root>\n <Input.Switch classNames='self-center' checked={enabled} onClick={onEnable} />\n </Input.Root>\n <p className='pbs-0.5 text-sm text-description'>{id}</p>\n </div>\n\n <div role='none'>\n <p className='text-description'>{description}</p>\n </div>\n\n {screenshots && screenshots.length > 0 && (\n <div role='none' className='flex flex-col gap-2'>\n <h2>Preview</h2>\n <img src={screenshots[0]} alt={name} className='aspect-video object-fit' />\n </div>\n )}\n\n <div role='none' className='flex flex-col gap-2'>\n <h2>Resources</h2>\n <div className='flex gap-2'>\n {homePage && (\n <Link href={homePage} target='_blank' rel='noreferrer' classNames='text-sm text-description'>\n {t('home page label')}\n <Icon icon='ph--arrow-square-out--bold' size={3} classNames='inline-block leading-none mli-1' />\n </Link>\n )}\n\n {source && (\n <Link href={source} target='_blank' rel='noreferrer' classNames='text-sm text-description'>\n {t('source label')}\n <Icon icon='ph--arrow-square-out--bold' size={3} classNames='inline-block leading-none mli-1' />\n </Link>\n )}\n </div>\n </div>\n </div>\n </div>\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { List } from '@dxos/react-ui';\n\nimport { PluginItem, type PluginItemProps } from './PluginItem';\n\nexport type PluginListProps = Omit<PluginItemProps, 'plugin'> & {\n plugins?: readonly Plugin[];\n};\n\nexport const PluginList = ({ plugins = [], ...props }: PluginListProps) => {\n return (\n <List classNames='grid grid-cols-[repeat(auto-fill,minmax(18rem,1fr))] gap-4 p-4'>\n {plugins.map((plugin) => (\n <PluginItem key={plugin.meta.id} plugin={plugin} {...props} />\n ))}\n </List>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { type MouseEvent, useCallback } from 'react';\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { type ChromaticPalette, Icon, IconButton, Input, Link, ListItem, Tag, useTranslation } from '@dxos/react-ui';\nimport { descriptionText, mx } from '@dxos/react-ui-theme';\nimport { getStyles } from '@dxos/react-ui-theme';\n\nimport { meta } from '../meta';\nimport { type RegistryTagType } from '../types';\n\nexport type PluginItemProps = {\n plugin: Plugin;\n installed?: readonly string[];\n enabled?: readonly string[];\n onClick?: (id: string) => void;\n onChange?: (id: string, enabled: boolean) => void;\n hasSettings?: (id: string) => boolean;\n onSettings?: (id: string) => void;\n};\n\nexport const PluginItem = ({\n plugin,\n enabled = [],\n onClick,\n onChange,\n hasSettings: hasSettingsParam,\n onSettings,\n}: PluginItemProps) => {\n const { t } = useTranslation(meta.id);\n const { id, name, description, tags, icon = 'ph--circle--regular', iconHue = 'neutral' } = plugin.meta;\n const isEnabled = enabled.includes(id);\n const inputId = `${id}-input`;\n const labelId = `${id}-label`;\n const descriptionId = `${id}-description`;\n const handleClick = useCallback(() => onClick?.(id), [id, onClick]);\n\n const handleChange = useCallback(\n (event: MouseEvent) => {\n event.stopPropagation();\n onChange?.(id, !isEnabled);\n },\n [id, isEnabled, onChange],\n );\n\n const hasSettings = hasSettingsParam?.(id) ?? false;\n const handleSettings = useCallback(() => onSettings?.(id), [id, onSettings]);\n const styles = getStyles(iconHue);\n const gridCols = 'grid grid-cols-[5rem_1fr]';\n const gridRows = 'grid grid-rows-[40px_1fr_min-content_40px]';\n\n return (\n <ListItem.Root\n key={id}\n labelId={labelId}\n data-testid={`pluginList.${id}`}\n aria-describedby={descriptionId}\n classNames={mx(gridCols, 'bs-[12rem] is-full gap-3 pie-2 border border-separator rounded-md overflow-hidden')}\n >\n <div className={mx(gridRows, 'justify-center rounded-l-md', styles.bg)}>\n <div />\n <Icon classNames={mx('cursor-pointer', styles.icon)} icon={icon} size={14} onClick={handleClick} />\n </div>\n\n <div className={mx(gridRows)}>\n <div className='flex items-center overflow-hidden cursor-pointer' onClick={handleClick}>\n <span className='text-lg truncate'>{name ?? id}</span>\n </div>\n\n <div>\n <p className={mx(descriptionText, 'line-clamp-4 min-is-0')}>{description}</p>\n </div>\n\n <div className='flex -mis-0.5 overflow-x-auto scrollbar-none'>\n {tags?.map((tag) => (\n <Tag key={tag} palette={tagColors[tag as RegistryTagType]} classNames='text-xs uppercase font-thin'>\n {tag}\n </Tag>\n ))}\n </div>\n\n <div className='flex gap-2 items-center text-sm'>\n <IconButton\n aria-describedby={descriptionId}\n classNames='cursor-pointer'\n icon='ph--gear--regular'\n label={t('settings label')}\n iconOnly\n size={4}\n onClick={handleSettings}\n disabled={!hasSettings}\n />\n\n <Link aria-describedby={descriptionId} classNames='text-description cursor-pointer' onClick={handleClick}>\n {t('details label')}\n </Link>\n\n <div className='grow' />\n <div className='pie-1'>\n <Input.Root id={inputId}>\n <Input.Switch classNames='self-center' checked={isEnabled} onClick={handleChange} />\n </Input.Root>\n </div>\n </div>\n </div>\n </ListItem.Root>\n );\n};\n\nconst tagColors: Record<RegistryTagType, ChromaticPalette> = {\n new: 'rose',\n beta: 'teal',\n labs: 'blue',\n popular: 'green',\n featured: 'pink',\n experimental: 'amber',\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Capabilities, LayoutAction, type Plugin, SettingsAction, createIntent } from '@dxos/app-framework';\nimport { useCapability, useIntentDispatcher, usePluginManager } from '@dxos/app-framework/react';\nimport { ObservabilityAction } from '@dxos/plugin-observability/types';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nimport { PluginList } from './PluginList';\n\nconst sortByPluginMeta = ({ meta: { name: a = '' } }: Plugin, { meta: { name: b = '' } }: Plugin) => a.localeCompare(b);\n\nexport const RegistryContainer = ({ id, plugins: _plugins }: { id: string; plugins: Plugin[] }) => {\n const manager = usePluginManager();\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const plugins = useMemo(() => _plugins.sort(sortByPluginMeta), [_plugins]);\n const settingsStore = useCapability(Capabilities.SettingsStore);\n\n // TODO(wittjosiah): Factor out to an intent?\n const handleChange = useCallback(\n async (id: string, enabled: boolean) => {\n if (enabled) {\n await manager.enable(id);\n } else {\n await manager.disable(id);\n }\n\n await dispatch(\n createIntent(ObservabilityAction.SendEvent, {\n name: 'plugins.toggle',\n properties: {\n plugin: id,\n enabled,\n },\n }),\n );\n },\n [dispatch, manager],\n );\n\n const handleClick = useCallback(\n (pluginId: string) =>\n dispatch(\n createIntent(LayoutAction.Open, {\n part: 'main',\n // TODO(wittjosiah): `/` currently is not supported in ids.\n subject: [pluginId.replaceAll('/', ':')],\n options: { pivotId: id, positioning: 'end' },\n }),\n ),\n [dispatch, id],\n );\n\n const hasSettings = useCallback((pluginId: string) => !!settingsStore.getStore(pluginId), [settingsStore]);\n\n const handleSettings = useCallback(\n (pluginId: string) => dispatch(createIntent(SettingsAction.Open, { plugin: pluginId })),\n [dispatch],\n );\n\n return (\n <StackItem.Content scrollable>\n <PluginList\n plugins={plugins}\n enabled={manager.enabled}\n onClick={handleClick}\n onChange={handleChange}\n hasSettings={hasSettings}\n onSettings={handleSettings}\n />\n </StackItem.Content>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useCallback", "useMemo", "Capabilities", "Plugin", "contributes", "createSurface", "usePluginManager", "React", "Icon", "Input", "Link", "useTranslation", "StackItem", "getStyles", "mx", "PluginDetail", "plugin", "enabled", "onEnable", "t", "useTranslation", "meta", "id", "name", "description", "homePage", "source", "screenshots", "icon", "iconHue", "styles", "getStyles", "StackItem", "Content", "scrollable", "div", "role", "className", "Icon", "classNames", "mx", "bg", "size", "h2", "Input", "Root", "Switch", "checked", "onClick", "p", "length", "img", "src", "alt", "Link", "href", "target", "rel", "React", "List", "React", "useCallback", "Icon", "IconButton", "Input", "Link", "ListItem", "Tag", "useTranslation", "descriptionText", "mx", "getStyles", "PluginItem", "plugin", "enabled", "onClick", "onChange", "hasSettings", "hasSettingsParam", "onSettings", "t", "useTranslation", "meta", "id", "name", "description", "tags", "icon", "iconHue", "isEnabled", "includes", "inputId", "labelId", "descriptionId", "handleClick", "useCallback", "handleChange", "event", "stopPropagation", "handleSettings", "styles", "getStyles", "gridCols", "gridRows", "React", "ListItem", "Root", "key", "data-testid", "aria-describedby", "classNames", "mx", "div", "className", "bg", "Icon", "size", "span", "p", "descriptionText", "map", "tag", "Tag", "palette", "tagColors", "IconButton", "label", "iconOnly", "disabled", "Link", "Input", "Switch", "checked", "new", "beta", "labs", "popular", "featured", "experimental", "PluginList", "plugins", "props", "React", "List", "classNames", "map", "plugin", "PluginItem", "key", "meta", "id", "React", "useCallback", "useMemo", "Capabilities", "LayoutAction", "SettingsAction", "createIntent", "useCapability", "useIntentDispatcher", "usePluginManager", "ObservabilityAction", "StackItem", "sortByPluginMeta", "meta", "name", "a", "b", "localeCompare", "RegistryContainer", "id", "plugins", "_plugins", "manager", "usePluginManager", "dispatchPromise", "dispatch", "useIntentDispatcher", "useMemo", "sort", "settingsStore", "useCapability", "Capabilities", "SettingsStore", "handleChange", "useCallback", "enabled", "enable", "disable", "createIntent", "ObservabilityAction", "SendEvent", "properties", "plugin", "handleClick", "pluginId", "LayoutAction", "Open", "part", "subject", "replaceAll", "options", "pivotId", "positioning", "hasSettings", "getStore", "handleSettings", "SettingsAction", "React", "StackItem", "Content", "scrollable", "PluginList", "onClick", "onChange", "onSettings", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "subject", "REGISTRY_KEY", "component", "manager", "usePluginManager", "filtered", "useMemo", "plugins", "core", "includes", "React", "RegistryContainer", "enabled", "tags", "Plugin", "handleEnable", "useCallback", "disable", "enable", "PluginDetail", "plugin", "onEnable"]
7
+ }
@@ -1,2 +1,2 @@
1
- export declare const RegistryPlugin: () => import("@dxos/app-framework").Plugin;
1
+ export declare const RegistryPlugin: import("@dxos/app-framework").PluginFactory<void>;
2
2
  //# sourceMappingURL=RegistryPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RegistryPlugin.d.ts","sourceRoot":"","sources":["../../../src/RegistryPlugin.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,cAAc,4CAsBvB,CAAC"}
1
+ {"version":3,"file":"RegistryPlugin.d.ts","sourceRoot":"","sources":["../../../src/RegistryPlugin.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,cAAc,mDAqBzB,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<import("@dxos/app-graph").BuilderExtensions>;
2
+ declare const _default: (context: PluginContext) => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("@dxos/app-graph").BuilderExtensions>>;
3
3
  export default _default;
4
4
  //# sourceMappingURL=app-graph-builder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAOA,OAAO,EAAgB,KAAK,aAAa,EAA6C,MAAM,qBAAqB,CAAC;yBAKlG,SAAS,aAAa;AAAtC,wBA8IK"}
1
+ {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAQA,OAAO,EAAgB,KAAK,aAAa,EAA6C,MAAM,qBAAqB,CAAC;yBAKlG,SAAS,aAAa;AAAtC,wBA8IK"}
@@ -1,4 +1,4 @@
1
- export declare const AppGraphBuilder: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-graph").BuilderExtensions> | import("@dxos/app-framework").AnyCapability[]>>;
2
- export declare const IntentResolver: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver> | import("@dxos/app-framework").AnyCapability[]>>;
3
- export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface> | import("@dxos/app-framework").AnyCapability[]>>;
1
+ export declare const AppGraphBuilder: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("@dxos/app-graph").BuilderExtensions>> | import("@dxos/app-framework").AnyCapability[]>>;
2
+ export declare const IntentResolver: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("@dxos/app-framework").Capabilities.IntentResolver>> | import("@dxos/app-framework").AnyCapability[]>>;
3
+ 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[]>>;
4
4
  //# 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,eAAe,oOAA4C,CAAC;AACzE,eAAO,MAAM,cAAc,kMAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,gRAA4C,CAAC;AACzE,eAAO,MAAM,cAAc,8OAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,4OAAwC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { Capabilities } from '@dxos/app-framework';
2
- declare const _default: () => import("@dxos/app-framework").Capability<Capabilities.IntentResolver>;
2
+ declare const _default: () => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Capabilities.IntentResolver>>;
3
3
  export default _default;
4
4
  //# sourceMappingURL=intent-resolver.d.ts.map
@@ -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":"AAMA,OAAO,EAAE,YAAY,EAAwD,MAAM,qBAAqB,CAAC;;AAMzG,wBA6EK"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAsC,MAAM,qBAAqB,CAAC;;AAMvF,wBAyEK"}
@@ -1 +1 @@
1
- {"version":3,"file":"PluginDetail.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginDetail.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMlD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,+BAA+B,iBAAiB,sBA4C5E,CAAC"}
1
+ {"version":3,"file":"PluginDetail.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginDetail.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAOlD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,+BAA+B,iBAAiB,sBA8D5E,CAAC"}
@@ -1,8 +1,32 @@
1
- import '@dxos-theme';
2
- import { type Meta, type StoryObj } from '@storybook/react-vite';
3
- import { type PluginDetailProps } from './PluginDetail';
4
- declare const meta: Meta<PluginDetailProps>;
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ declare const meta: {
3
+ title: string;
4
+ component: ({ plugin, enabled, onEnable }: import("./PluginDetail").PluginDetailProps) => import("react").JSX.Element;
5
+ decorators: import("@storybook/react").Decorator[];
6
+ parameters: {
7
+ translations: [{
8
+ readonly 'en-US': {
9
+ readonly [meta.id]: {
10
+ readonly 'plugin name': "Registry";
11
+ readonly 'details label': "Details";
12
+ readonly 'home page label': "Website";
13
+ readonly 'source label': "Source";
14
+ readonly 'plugin registry label': "Plugin Registry";
15
+ readonly 'all plugins label': "All";
16
+ readonly 'installed plugins label': "Enabled";
17
+ readonly 'recommended plugins label': "Recommended";
18
+ readonly 'labs plugins label': "Labs";
19
+ readonly 'community plugins label': "Community";
20
+ readonly 'load by url label': "Load by URL (soon)";
21
+ readonly 'coming soon label': "Coming soon!";
22
+ readonly 'open plugin registry label': "Open plugin registry";
23
+ readonly 'settings label': "Settings";
24
+ };
25
+ };
26
+ }];
27
+ };
28
+ };
5
29
  export default meta;
6
- type Story = StoryObj<PluginDetailProps>;
30
+ type Story = StoryObj<typeof meta>;
7
31
  export declare const Default: Story;
8
32
  //# sourceMappingURL=PluginDetail.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginDetail.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginDetail.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAOjE,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEtE,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAOjC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,iBAAiB,CAAC,CAAC;AAEzC,eAAO,MAAM,OAAO,EAAE,KAiBrB,CAAC"}
1
+ {"version":3,"file":"PluginDetail.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginDetail.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AASjE,QAAA,MAAM,IAAI;;;;;;;yBANc,CAAS,IAAG,CAAE,EAAC,CAAC;;;;;;;;;;;;;;;;;;;CAaH,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAkBrB,CAAC"}
@@ -9,5 +9,5 @@ export type PluginItemProps = {
9
9
  hasSettings?: (id: string) => boolean;
10
10
  onSettings?: (id: string) => void;
11
11
  };
12
- export declare const PluginItem: ({ plugin, enabled, onClick, onChange, hasSettings: _hasSettings, onSettings, }: PluginItemProps) => React.JSX.Element;
12
+ export declare const PluginItem: ({ plugin, enabled, onClick, onChange, hasSettings: hasSettingsParam, onSettings, }: PluginItemProps) => React.JSX.Element;
13
13
  //# sourceMappingURL=PluginItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginItem.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAMlD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,gFAOxB,eAAe,sBAyFjB,CAAC"}
1
+ {"version":3,"file":"PluginItem.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginItem.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAE5D,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQlD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,UAAU,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,oFAOxB,eAAe,sBA+EjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PluginList.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginList.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG;IAC9D,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,uBAA4B,eAAe,sBAUrE,CAAC"}
1
+ {"version":3,"file":"PluginList.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginList.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAGlD,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,EAAE,QAAQ,CAAC,GAAG;IAC9D,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,uBAA4B,eAAe,sBAQrE,CAAC"}
@@ -1,11 +1,34 @@
1
- import '@dxos-theme';
2
- import { type Meta } from '@storybook/react-vite';
3
- declare const meta: Meta;
4
- export default meta;
5
- export declare const Default: {};
6
- export declare const Column: {
7
- args: {
8
- classNames: string;
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ import React from 'react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: ({ plugins, ...props }: import("./PluginList").PluginListProps) => React.JSX.Element;
6
+ render: () => React.JSX.Element;
7
+ parameters: {
8
+ translations: [{
9
+ readonly 'en-US': {
10
+ readonly [meta.id]: {
11
+ readonly 'plugin name': "Registry";
12
+ readonly 'details label': "Details";
13
+ readonly 'home page label': "Website";
14
+ readonly 'source label': "Source";
15
+ readonly 'plugin registry label': "Plugin Registry";
16
+ readonly 'all plugins label': "All";
17
+ readonly 'installed plugins label': "Enabled";
18
+ readonly 'recommended plugins label': "Recommended";
19
+ readonly 'labs plugins label': "Labs";
20
+ readonly 'community plugins label': "Community";
21
+ readonly 'load by url label': "Load by URL (soon)";
22
+ readonly 'coming soon label': "Coming soon!";
23
+ readonly 'open plugin registry label': "Open plugin registry";
24
+ readonly 'settings label': "Settings";
25
+ };
26
+ };
27
+ }];
9
28
  };
10
29
  };
30
+ export default meta;
31
+ type Story = StoryObj<typeof meta>;
32
+ export declare const Default: Story;
33
+ export declare const FullScreen: Story;
11
34
  //# sourceMappingURL=PluginList.stories.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PluginList.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginList.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,IAAI,EAAE,MAAM,uBAAuB,CAAC;AA0DlD,QAAA,MAAM,IAAI,EAAE,IAQX,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,IAAK,CAAC;AAE1B,eAAO,MAAM,MAAM;;;;CAIlB,CAAC"}
1
+ {"version":3,"file":"PluginList.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/PluginList.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAmB,MAAM,OAAO,CAAC;AAoDxC,QAAA,MAAM,IAAI;;;;;;;yBAlDY,CAAO,IAAI,CAAE,EAAC,CAAC;;;;;;;;;;;;;;;;;;;CAyDF,CAAC;AAEpC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAErB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAKxB,CAAC"}