@dxos/plugin-registry 0.8.4-main.dedc0f3 → 0.8.4-main.e8ec1fe

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 (48) 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-YATPY47L.mjs → react-surface-IGCXOVE2.mjs} +108 -84
  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.map +1 -1
  15. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  16. package/dist/types/src/components/PluginDetail.d.ts.map +1 -1
  17. package/dist/types/src/components/PluginDetail.stories.d.ts +0 -1
  18. package/dist/types/src/components/PluginDetail.stories.d.ts.map +1 -1
  19. package/dist/types/src/components/PluginItem.d.ts +1 -1
  20. package/dist/types/src/components/PluginItem.d.ts.map +1 -1
  21. package/dist/types/src/components/PluginList.d.ts.map +1 -1
  22. package/dist/types/src/components/PluginList.stories.d.ts +2 -5
  23. package/dist/types/src/components/PluginList.stories.d.ts.map +1 -1
  24. package/dist/types/src/components/RegistryContainer.d.ts.map +1 -1
  25. package/dist/types/src/meta.d.ts +0 -1
  26. package/dist/types/src/meta.d.ts.map +1 -1
  27. package/dist/types/src/types.d.ts +3 -1
  28. package/dist/types/src/types.d.ts.map +1 -1
  29. package/dist/types/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +27 -29
  31. package/src/RegistryPlugin.tsx +22 -23
  32. package/src/capabilities/app-graph-builder.ts +26 -25
  33. package/src/capabilities/react-surface.tsx +8 -7
  34. package/src/components/PluginDetail.stories.tsx +3 -4
  35. package/src/components/PluginDetail.tsx +49 -32
  36. package/src/components/PluginItem.tsx +53 -52
  37. package/src/components/PluginList.stories.tsx +17 -22
  38. package/src/components/PluginList.tsx +2 -4
  39. package/src/components/RegistryContainer.tsx +3 -11
  40. package/src/meta.ts +6 -3
  41. package/src/types.ts +5 -1
  42. package/dist/lib/browser/app-graph-builder-6JQNRTEQ.mjs.map +0 -7
  43. package/dist/lib/browser/chunk-AEBASNOI.mjs +0 -16
  44. package/dist/lib/browser/chunk-AEBASNOI.mjs.map +0 -7
  45. package/dist/lib/browser/react-surface-YATPY47L.mjs.map +0 -7
  46. package/dist/types/src/components/Icon.stories.d.ts +0 -14
  47. package/dist/types/src/components/Icon.stories.d.ts.map +0 -1
  48. package/src/components/Icon.stories.tsx +0 -110
@@ -1,49 +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";
8
+ import { Capabilities as Capabilities2, Plugin, contributes, createSurface } from "@dxos/app-framework";
9
+ import { usePluginManager as usePluginManager2 } from "@dxos/app-framework/react";
9
10
 
10
11
  // src/components/PluginDetail.tsx
11
12
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
12
13
  import React from "react";
13
14
  import { Icon, Input, Link, useTranslation } from "@dxos/react-ui";
14
15
  import { StackItem } from "@dxos/react-ui-stack";
16
+ import { getStyles, mx } from "@dxos/react-ui-theme";
15
17
  var PluginDetail = ({ plugin, enabled, onEnable }) => {
16
18
  var _effect = _useSignals();
17
19
  try {
18
- const { t } = useTranslation(REGISTRY_PLUGIN);
19
- const { id, name, description, homePage, source, screenshots } = plugin.meta;
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);
20
23
  return /* @__PURE__ */ React.createElement(StackItem.Content, {
21
- classNames: "block overflow-y-auto"
24
+ scrollable: true
22
25
  }, /* @__PURE__ */ React.createElement("div", {
23
26
  role: "none",
24
- className: "container-max-width p-4"
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"
25
37
  }, /* @__PURE__ */ React.createElement("div", {
26
38
  role: "none",
27
- className: "flex justify-between items-center"
28
- }, /* @__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, {
29
43
  classNames: "self-center",
30
44
  checked: enabled,
31
45
  onClick: onEnable
32
- }))), 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", {
33
49
  role: "none"
34
- }, /* @__PURE__ */ React.createElement("h1", {
35
- className: "text-lg mb-2"
36
- }, "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", {
37
56
  src: screenshots[0],
38
57
  alt: name,
39
58
  className: "aspect-video object-fit"
40
59
  })), /* @__PURE__ */ React.createElement("div", {
41
- role: "none"
42
- }, /* @__PURE__ */ React.createElement("p", null, description)), /* @__PURE__ */ React.createElement("div", {
43
- role: "none"
44
- }, /* @__PURE__ */ React.createElement("h1", {
45
- className: "text-lg mb-2"
46
- }, "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", {
47
63
  className: "flex gap-2"
48
64
  }, homePage && /* @__PURE__ */ React.createElement(Link, {
49
65
  href: homePage,
@@ -63,7 +79,7 @@ var PluginDetail = ({ plugin, enabled, onEnable }) => {
63
79
  icon: "ph--arrow-square-out--bold",
64
80
  size: 3,
65
81
  classNames: "inline-block leading-none mli-1"
66
- }))))));
82
+ })))))));
67
83
  } finally {
68
84
  _effect.f();
69
85
  }
@@ -78,12 +94,13 @@ import { List } from "@dxos/react-ui";
78
94
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
79
95
  import React2, { useCallback } from "react";
80
96
  import { Icon as Icon2, IconButton, Input as Input2, Link as Link2, ListItem, Tag, useTranslation as useTranslation2 } from "@dxos/react-ui";
81
- import { descriptionText, mx } from "@dxos/react-ui-theme";
82
- 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 }) => {
83
100
  var _effect = _useSignals2();
84
101
  try {
85
- const { t } = useTranslation2(REGISTRY_PLUGIN);
86
- 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;
87
104
  const isEnabled = enabled.includes(id);
88
105
  const inputId = `${id}-input`;
89
106
  const labelId = `${id}-label`;
@@ -100,86 +117,92 @@ var PluginItem = ({ plugin, enabled = [], onClick, onChange, hasSettings: _hasSe
100
117
  isEnabled,
101
118
  onChange
102
119
  ]);
103
- const hasSettings = _hasSettings?.(id) ?? false;
120
+ const hasSettings = hasSettingsParam?.(id) ?? false;
104
121
  const handleSettings = useCallback(() => onSettings?.(id), [
105
122
  id,
106
123
  onSettings
107
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]";
108
128
  return /* @__PURE__ */ React2.createElement(ListItem.Root, {
109
129
  key: id,
110
130
  labelId,
111
131
  "data-testid": `pluginList.${id}`,
112
132
  "aria-describedby": descriptionId,
113
- // TODO(burdon): Use Rail vars.
114
- 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")
115
134
  }, /* @__PURE__ */ React2.createElement("div", {
116
- className: "flex flex-col grow justify-center items-center"
117
- }, /* @__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),
118
138
  icon,
119
- size: 6,
120
- onClick: handleClick,
121
- classNames: "text-subdued cursor-pointer"
139
+ size: 14,
140
+ onClick: handleClick
122
141
  })), /* @__PURE__ */ React2.createElement("div", {
142
+ className: mx2(gridRows)
143
+ }, /* @__PURE__ */ React2.createElement("div", {
123
144
  className: "flex items-center overflow-hidden cursor-pointer",
124
145
  onClick: handleClick
125
146
  }, /* @__PURE__ */ React2.createElement("span", {
126
- className: "truncate"
127
- }, name ?? id)), /* @__PURE__ */ React2.createElement("div", {
128
- className: "flex justify-center items-center"
129
- }, /* @__PURE__ */ React2.createElement(Input2.Root, {
130
- id: inputId
131
- }, /* @__PURE__ */ React2.createElement(Input2.Switch, {
132
- classNames: "self-center",
133
- checked: isEnabled,
134
- onClick: handleChange
135
- }))), /* @__PURE__ */ React2.createElement("div", null), (description || tags) && /* @__PURE__ */ React2.createElement("div", {
136
- id: descriptionId,
137
- className: "col-span-2 flex flex-col w-full justify-between gap-2 pb-2"
138
- }, /* @__PURE__ */ React2.createElement("div", {
139
- className: "grow"
140
- }, /* @__PURE__ */ React2.createElement("p", {
141
- className: mx(descriptionText, "line-clamp-3 min-w-0 pie-2")
142
- }, 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, {
143
153
  key: tag,
144
- palette: "indigo",
145
- classNames: "text-xs capitalize"
146
- }, tag)))), /* @__PURE__ */ React2.createElement("div", null), /* @__PURE__ */ React2.createElement("div", {
147
- className: "flex gap-2 items-center pie-1"
148
- }, /* @__PURE__ */ React2.createElement(Link2, {
149
- "aria-describedby": descriptionId,
150
- classNames: "text-sm text-description cursor-pointer",
151
- onClick: handleClick
152
- }, t("details label")), /* @__PURE__ */ React2.createElement("div", {
153
- className: "flex-1"
154
- })), /* @__PURE__ */ React2.createElement("div", {
155
- className: "flex justify-center items-center"
156
- }, 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, {
157
159
  "aria-describedby": descriptionId,
158
- classNames: "text-sm text-description cursor-pointer",
160
+ classNames: "cursor-pointer",
159
161
  icon: "ph--gear--regular",
160
162
  label: t("settings label"),
161
163
  iconOnly: true,
162
164
  size: 4,
163
- onClick: handleSettings
164
- })));
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
+ }))))));
165
182
  } finally {
166
183
  _effect.f();
167
184
  }
168
185
  };
186
+ var tagColors = {
187
+ new: "rose",
188
+ beta: "teal",
189
+ labs: "blue",
190
+ popular: "green",
191
+ featured: "pink",
192
+ experimental: "amber"
193
+ };
169
194
 
170
195
  // src/components/PluginList.tsx
171
196
  var PluginList = ({ plugins = [], ...props }) => {
172
197
  var _effect = _useSignals3();
173
198
  try {
174
199
  return /* @__PURE__ */ React3.createElement(List, {
175
- classNames: "grid grid-cols-[repeat(auto-fill,minmax(280px,1fr))] auto-rows-[12rem] gap-3 p-3"
176
- }, 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, {
177
202
  key: plugin.meta.id,
178
- className: "flex"
179
- }, /* @__PURE__ */ React3.createElement(PluginItem, {
180
203
  plugin,
181
204
  ...props
182
- }))));
205
+ })));
183
206
  } finally {
184
207
  _effect.f();
185
208
  }
@@ -188,7 +211,8 @@ var PluginList = ({ plugins = [], ...props }) => {
188
211
  // src/components/RegistryContainer.tsx
189
212
  import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
190
213
  import React4, { useCallback as useCallback2, useMemo } from "react";
191
- 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";
192
216
  import { ObservabilityAction } from "@dxos/plugin-observability/types";
193
217
  import { StackItem as StackItem2 } from "@dxos/react-ui-stack";
194
218
  var sortByPluginMeta = ({ meta: { name: a = "" } }, { meta: { name: b = "" } }) => a.localeCompare(b);
@@ -241,7 +265,7 @@ var RegistryContainer = ({ id, plugins: _plugins }) => {
241
265
  dispatch
242
266
  ]);
243
267
  return /* @__PURE__ */ React4.createElement(StackItem2.Content, {
244
- classNames: "min-bs-0 overflow-y-auto scrollbar-thin contain-layout"
268
+ scrollable: true
245
269
  }, /* @__PURE__ */ React4.createElement(PluginList, {
246
270
  plugins,
247
271
  enabled: manager.enabled,
@@ -256,14 +280,14 @@ var RegistryContainer = ({ id, plugins: _plugins }) => {
256
280
  };
257
281
 
258
282
  // src/capabilities/react-surface.tsx
259
- var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
283
+ var react_surface_default = (() => contributes(Capabilities2.ReactSurface, [
260
284
  createSurface({
261
- id: `${REGISTRY_PLUGIN}/all`,
285
+ id: `${meta.id}/all`,
262
286
  role: "article",
263
287
  filter: (data) => data.subject === `${REGISTRY_KEY}+all`,
264
288
  component: () => {
265
289
  const manager = usePluginManager2();
266
- 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)), []);
267
291
  return /* @__PURE__ */ React5.createElement(RegistryContainer, {
268
292
  id: `${REGISTRY_KEY}+all`,
269
293
  plugins: filtered
@@ -271,12 +295,12 @@ var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
271
295
  }
272
296
  }),
273
297
  createSurface({
274
- id: `${REGISTRY_PLUGIN}/installed`,
298
+ id: `${meta.id}/installed`,
275
299
  role: "article",
276
300
  filter: (data) => data.subject === `${REGISTRY_KEY}+installed`,
277
301
  component: () => {
278
302
  const manager = usePluginManager2();
279
- 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)), []);
280
304
  return /* @__PURE__ */ React5.createElement(RegistryContainer, {
281
305
  id: `${REGISTRY_KEY}+installed`,
282
306
  plugins: filtered
@@ -284,12 +308,12 @@ var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
284
308
  }
285
309
  }),
286
310
  createSurface({
287
- id: `${REGISTRY_PLUGIN}/recommended`,
311
+ id: `${meta.id}/recommended`,
288
312
  role: "article",
289
313
  filter: (data) => data.subject === `${REGISTRY_KEY}+recommended`,
290
314
  component: () => {
291
315
  const manager = usePluginManager2();
292
- 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")), []);
293
317
  return /* @__PURE__ */ React5.createElement(RegistryContainer, {
294
318
  id: `${REGISTRY_KEY}+recommended`,
295
319
  plugins: filtered
@@ -297,12 +321,12 @@ var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
297
321
  }
298
322
  }),
299
323
  createSurface({
300
- id: `${REGISTRY_PLUGIN}/labs`,
324
+ id: `${meta.id}/labs`,
301
325
  role: "article",
302
326
  filter: (data) => data.subject === `${REGISTRY_KEY}+labs`,
303
327
  component: () => {
304
328
  const manager = usePluginManager2();
305
- const filtered = useMemo2(() => manager.plugins.filter(({ meta }) => meta.tags?.includes("labs")), []);
329
+ const filtered = useMemo2(() => manager.plugins.filter(({ meta: meta2 }) => meta2.tags?.includes("labs")), []);
306
330
  return /* @__PURE__ */ React5.createElement(RegistryContainer, {
307
331
  id: `${REGISTRY_KEY}+labs`,
308
332
  plugins: filtered
@@ -310,7 +334,7 @@ var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
310
334
  }
311
335
  }),
312
336
  createSurface({
313
- id: `${REGISTRY_PLUGIN}/plugin-details`,
337
+ id: `${meta.id}/plugin-details`,
314
338
  role: "article",
315
339
  filter: (data) => data.subject instanceof Plugin,
316
340
  component: ({ data: { subject } }) => {
@@ -328,8 +352,8 @@ var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
328
352
  });
329
353
  }
330
354
  })
331
- ]);
355
+ ]));
332
356
  export {
333
357
  react_surface_default as default
334
358
  };
335
- //# sourceMappingURL=react-surface-YATPY47L.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 +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 +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;;AAKzG,wBAyEK"}
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,sBA8C5E,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,4 +1,3 @@
1
- import '@dxos-theme';
2
1
  import { type StoryObj } from '@storybook/react-vite';
3
2
  declare const meta: {
4
3
  title: string;
@@ -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,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AASjE,QAAA,MAAM,IAAI;;;;;;;yBANT,CAAQ,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;CAaoB,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,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,12 +1,9 @@
1
- import '@dxos-theme';
2
1
  import { type StoryObj } from '@storybook/react-vite';
3
2
  import React from 'react';
4
- import { type ThemedClassName } from '@dxos/react-ui';
5
3
  declare const meta: {
6
4
  title: string;
7
5
  component: ({ plugins, ...props }: import("./PluginList").PluginListProps) => React.JSX.Element;
8
- render: ({ classNames }: ThemedClassName<{}>) => React.JSX.Element;
9
- decorators: import("@storybook/react").Decorator[];
6
+ render: () => React.JSX.Element;
10
7
  parameters: {
11
8
  translations: [{
12
9
  readonly 'en-US': {
@@ -33,5 +30,5 @@ declare const meta: {
33
30
  export default meta;
34
31
  type Story = StoryObj<typeof meta>;
35
32
  export declare const Default: Story;
36
- export declare const Column: Story;
33
+ export declare const FullScreen: Story;
37
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,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAmB,MAAM,OAAO,CAAC;AAIxC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAqDtD,QAAA,MAAM,IAAI;;;6BAlC4B,eAAe,CAAC,EAAE,CAAC;;;;;yBArBzD,CAAO,IAAG,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;CA+DqB,CAAC;AAEpC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,eAAO,MAAM,MAAM,EAAE,KAIpB,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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RegistryContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/RegistryContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAGL,KAAK,MAAM,EAMZ,MAAM,qBAAqB,CAAC;AAQ7B,eAAO,MAAM,iBAAiB,GAAI,2BAA2B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,sBA4D7F,CAAC"}
1
+ {"version":3,"file":"RegistryContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/RegistryContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAEpD,OAAO,EAA8B,KAAK,MAAM,EAAgC,MAAM,qBAAqB,CAAC;AAS5G,eAAO,MAAM,iBAAiB,GAAI,2BAA2B;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAA;CAAE,sBA4D7F,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { type PluginMeta } from '@dxos/app-framework';
2
- export declare const REGISTRY_PLUGIN = "dxos.org/plugin/registry";
3
2
  export declare const REGISTRY_ID = "!dxos:plugin-registry";
4
3
  export declare const REGISTRY_KEY = "plugin-registry";
5
4
  export declare const meta: PluginMeta;
@@ -1 +1 @@
1
- {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAK1D,eAAO,MAAM,WAAW,0BAA0B,CAAC;AACnD,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAE9C,eAAO,MAAM,IAAI,EAAE,UAGlB,CAAC"}
1
+ {"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../../src/meta.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAMtD,eAAO,MAAM,WAAW,0BAA0B,CAAC;AACnD,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAE9C,eAAO,MAAM,IAAI,EAAE,UAOlB,CAAC"}
@@ -1,6 +1,8 @@
1
- import { Schema } from 'effect';
1
+ import * as Schema from 'effect/Schema';
2
2
  export declare const RegistrySettingsSchema: Schema.mutable<Schema.Struct<{
3
3
  experimental: Schema.optional<typeof Schema.Boolean>;
4
4
  }>>;
5
5
  export type RegistrySettings = Schema.Schema.Type<typeof RegistrySettingsSchema>;
6
+ export declare const RegistryTagType: Schema.Literal<["new", "beta", "labs", "popular", "featured", "experimental"]>;
7
+ export type RegistryTagType = Schema.Schema.Type<typeof RegistryTagType>;
6
8
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,eAAO,MAAM,sBAAsB;;GAIlC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,sBAAsB;;GAIlC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEjF,eAAO,MAAM,eAAe,gFAA+E,CAAC;AAE5G,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC,CAAC"}