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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/dist/lib/neutral/RegistryPlugin.mjs +27 -0
  2. package/dist/lib/neutral/RegistryPlugin.mjs.map +7 -0
  3. package/dist/lib/neutral/RegistryPlugin.node.mjs +153 -0
  4. package/dist/lib/neutral/RegistryPlugin.node.mjs.map +7 -0
  5. package/dist/lib/neutral/chunk-XK2JMH3H.mjs +33 -0
  6. package/dist/lib/neutral/chunk-XK2JMH3H.mjs.map +7 -0
  7. package/dist/lib/neutral/chunk-YV7A523U.mjs +29 -0
  8. package/dist/lib/neutral/chunk-YV7A523U.mjs.map +7 -0
  9. package/dist/lib/neutral/index.mjs +21 -0
  10. package/dist/lib/neutral/index.mjs.map +7 -0
  11. package/dist/lib/neutral/meta.json +1 -0
  12. package/dist/lib/neutral/open-plugin-registry-II735N76.mjs +15 -0
  13. package/dist/lib/neutral/open-plugin-registry-II735N76.mjs.map +7 -0
  14. package/dist/lib/neutral/plugin.mjs +18 -0
  15. package/dist/lib/neutral/plugin.mjs.map +7 -0
  16. package/dist/lib/neutral/translations.mjs +61 -0
  17. package/dist/lib/neutral/translations.mjs.map +7 -0
  18. package/dist/types/src/RegistryPlugin.d.ts +3 -1
  19. package/dist/types/src/RegistryPlugin.d.ts.map +1 -1
  20. package/dist/types/src/RegistryPlugin.node.d.ts +4 -0
  21. package/dist/types/src/RegistryPlugin.node.d.ts.map +1 -0
  22. package/dist/types/src/RegistryPlugin.test.d.ts +2 -0
  23. package/dist/types/src/RegistryPlugin.test.d.ts.map +1 -0
  24. package/dist/types/src/capabilities/app-graph-builder.d.ts +4 -2
  25. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  26. package/dist/types/src/capabilities/dev-plugin-loader.d.ts +11 -0
  27. package/dist/types/src/capabilities/dev-plugin-loader.d.ts.map +1 -0
  28. package/dist/types/src/capabilities/index.d.ts +15 -3
  29. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  30. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  31. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  32. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  33. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  34. package/dist/types/src/capabilities/settings.d.ts +14 -0
  35. package/dist/types/src/capabilities/settings.d.ts.map +1 -0
  36. package/dist/types/src/commands/disable.d.ts +11 -0
  37. package/dist/types/src/commands/disable.d.ts.map +1 -0
  38. package/dist/types/src/commands/enable.d.ts +11 -0
  39. package/dist/types/src/commands/enable.d.ts.map +1 -0
  40. package/dist/types/src/commands/index.d.ts +3 -0
  41. package/dist/types/src/commands/index.d.ts.map +1 -0
  42. package/dist/types/src/commands/list.d.ts +7 -0
  43. package/dist/types/src/commands/list.d.ts.map +1 -0
  44. package/dist/types/src/commands/util.d.ts +11 -0
  45. package/dist/types/src/commands/util.d.ts.map +1 -0
  46. package/dist/types/src/components/PluginDetail/PluginDetail.d.ts +46 -0
  47. package/dist/types/src/components/PluginDetail/PluginDetail.d.ts.map +1 -0
  48. package/dist/types/src/components/PluginDetail/PluginDetail.stories.d.ts +68 -0
  49. package/dist/types/src/components/PluginDetail/PluginDetail.stories.d.ts.map +1 -0
  50. package/dist/types/src/components/PluginDetail/index.d.ts +2 -0
  51. package/dist/types/src/components/PluginDetail/index.d.ts.map +1 -0
  52. package/dist/types/src/components/PluginFailureBadge/PluginFailureBadge.d.ts +20 -0
  53. package/dist/types/src/components/PluginFailureBadge/PluginFailureBadge.d.ts.map +1 -0
  54. package/dist/types/src/components/PluginFailureBadge/index.d.ts +2 -0
  55. package/dist/types/src/components/PluginFailureBadge/index.d.ts.map +1 -0
  56. package/dist/types/src/components/PluginList/PluginItem.d.ts +40 -0
  57. package/dist/types/src/components/PluginList/PluginItem.d.ts.map +1 -0
  58. package/dist/types/src/components/PluginList/PluginList.d.ts +23 -0
  59. package/dist/types/src/components/PluginList/PluginList.d.ts.map +1 -0
  60. package/dist/types/src/components/PluginList/PluginList.stories.d.ts +67 -0
  61. package/dist/types/src/components/PluginList/PluginList.stories.d.ts.map +1 -0
  62. package/dist/types/src/components/PluginList/index.d.ts +2 -0
  63. package/dist/types/src/components/PluginList/index.d.ts.map +1 -0
  64. package/dist/types/src/components/RegistrySettings/RegistrySettings.d.ts +18 -0
  65. package/dist/types/src/components/RegistrySettings/RegistrySettings.d.ts.map +1 -0
  66. package/dist/types/src/components/RegistrySettings/index.d.ts +2 -0
  67. package/dist/types/src/components/RegistrySettings/index.d.ts.map +1 -0
  68. package/dist/types/src/components/index.d.ts +2 -1
  69. package/dist/types/src/components/index.d.ts.map +1 -1
  70. package/dist/types/src/containers/BaseRegistryArticle/BaseRegistryArticle.d.ts +20 -0
  71. package/dist/types/src/containers/BaseRegistryArticle/BaseRegistryArticle.d.ts.map +1 -0
  72. package/dist/types/src/containers/BaseRegistryArticle/index.d.ts +2 -0
  73. package/dist/types/src/containers/BaseRegistryArticle/index.d.ts.map +1 -0
  74. package/dist/types/src/containers/LoadPluginDialog/LoadPluginDialog.d.ts +4 -0
  75. package/dist/types/src/containers/LoadPluginDialog/LoadPluginDialog.d.ts.map +1 -0
  76. package/dist/types/src/containers/LoadPluginDialog/index.d.ts +2 -0
  77. package/dist/types/src/containers/LoadPluginDialog/index.d.ts.map +1 -0
  78. package/dist/types/src/containers/PluginArticle/PluginArticle.d.ts +7 -0
  79. package/dist/types/src/containers/PluginArticle/PluginArticle.d.ts.map +1 -0
  80. package/dist/types/src/containers/PluginArticle/index.d.ts +2 -0
  81. package/dist/types/src/containers/PluginArticle/index.d.ts.map +1 -0
  82. package/dist/types/src/containers/PublicRegistryArticle/PublicRegistryArticle.d.ts +8 -0
  83. package/dist/types/src/containers/PublicRegistryArticle/PublicRegistryArticle.d.ts.map +1 -0
  84. package/dist/types/src/containers/PublicRegistryArticle/index.d.ts +2 -0
  85. package/dist/types/src/containers/PublicRegistryArticle/index.d.ts.map +1 -0
  86. package/dist/types/src/containers/RegistryArticle/RegistryArticle.d.ts +14 -0
  87. package/dist/types/src/containers/RegistryArticle/RegistryArticle.d.ts.map +1 -0
  88. package/dist/types/src/containers/RegistryArticle/index.d.ts +2 -0
  89. package/dist/types/src/containers/RegistryArticle/index.d.ts.map +1 -0
  90. package/dist/types/src/containers/RegistrySettingsContainer/RegistrySettingsContainer.d.ts +13 -0
  91. package/dist/types/src/containers/RegistrySettingsContainer/RegistrySettingsContainer.d.ts.map +1 -0
  92. package/dist/types/src/containers/RegistrySettingsContainer/index.d.ts +2 -0
  93. package/dist/types/src/containers/RegistrySettingsContainer/index.d.ts.map +1 -0
  94. package/dist/types/src/containers/index.d.ts +8 -0
  95. package/dist/types/src/containers/index.d.ts.map +1 -0
  96. package/dist/types/src/hooks/index.d.ts +4 -0
  97. package/dist/types/src/hooks/index.d.ts.map +1 -0
  98. package/dist/types/src/hooks/use-auto-tags.d.ts +20 -0
  99. package/dist/types/src/hooks/use-auto-tags.d.ts.map +1 -0
  100. package/dist/types/src/hooks/use-registry-plugins.d.ts +15 -0
  101. package/dist/types/src/hooks/use-registry-plugins.d.ts.map +1 -0
  102. package/dist/types/src/hooks/use-update-available.d.ts +18 -0
  103. package/dist/types/src/hooks/use-update-available.d.ts.map +1 -0
  104. package/dist/types/src/index.d.ts +1 -1
  105. package/dist/types/src/index.d.ts.map +1 -1
  106. package/dist/types/src/meta.d.ts +7 -4
  107. package/dist/types/src/meta.d.ts.map +1 -1
  108. package/dist/types/src/operations/index.d.ts +3 -0
  109. package/dist/types/src/operations/index.d.ts.map +1 -0
  110. package/dist/types/src/operations/open-plugin-registry.d.ts +5 -0
  111. package/dist/types/src/operations/open-plugin-registry.d.ts.map +1 -0
  112. package/dist/types/src/plugin.d.ts +4 -0
  113. package/dist/types/src/plugin.d.ts.map +1 -0
  114. package/dist/types/src/storage.d.ts +18 -0
  115. package/dist/types/src/storage.d.ts.map +1 -0
  116. package/dist/types/src/translations.d.ts +48 -16
  117. package/dist/types/src/translations.d.ts.map +1 -1
  118. package/dist/types/src/types.d.ts +32 -1
  119. package/dist/types/src/types.d.ts.map +1 -1
  120. package/dist/types/tsconfig.tsbuildinfo +1 -1
  121. package/package.json +73 -36
  122. package/src/RegistryPlugin.node.ts +19 -0
  123. package/src/RegistryPlugin.test.ts +24 -0
  124. package/src/RegistryPlugin.tsx +20 -27
  125. package/src/capabilities/app-graph-builder.ts +180 -135
  126. package/src/capabilities/dev-plugin-loader.ts +39 -0
  127. package/src/capabilities/index.ts +10 -4
  128. package/src/capabilities/operation-handler.ts +16 -0
  129. package/src/capabilities/react-surface.tsx +124 -73
  130. package/src/capabilities/settings.ts +34 -0
  131. package/src/commands/disable.ts +47 -0
  132. package/src/commands/enable.ts +44 -0
  133. package/src/commands/index.ts +14 -0
  134. package/src/commands/list.ts +41 -0
  135. package/src/commands/util.ts +24 -0
  136. package/src/components/PluginDetail/PluginDetail.stories.tsx +44 -0
  137. package/src/components/PluginDetail/PluginDetail.tsx +196 -0
  138. package/src/components/PluginDetail/index.ts +5 -0
  139. package/src/components/PluginFailureBadge/PluginFailureBadge.tsx +68 -0
  140. package/src/components/PluginFailureBadge/index.ts +5 -0
  141. package/src/components/PluginList/PluginItem.tsx +226 -0
  142. package/src/components/PluginList/PluginList.stories.tsx +87 -0
  143. package/src/components/PluginList/PluginList.tsx +52 -0
  144. package/src/components/PluginList/index.ts +5 -0
  145. package/src/components/RegistrySettings/RegistrySettings.tsx +120 -0
  146. package/src/components/RegistrySettings/index.ts +5 -0
  147. package/src/components/index.ts +2 -1
  148. package/src/containers/BaseRegistryArticle/BaseRegistryArticle.tsx +163 -0
  149. package/src/containers/BaseRegistryArticle/index.ts +5 -0
  150. package/src/containers/LoadPluginDialog/LoadPluginDialog.tsx +87 -0
  151. package/src/containers/LoadPluginDialog/index.ts +5 -0
  152. package/src/containers/PluginArticle/PluginArticle.tsx +336 -0
  153. package/src/containers/PluginArticle/index.ts +5 -0
  154. package/src/containers/PublicRegistryArticle/PublicRegistryArticle.tsx +192 -0
  155. package/src/containers/PublicRegistryArticle/index.ts +5 -0
  156. package/src/containers/RegistryArticle/RegistryArticle.tsx +53 -0
  157. package/src/containers/RegistryArticle/index.ts +5 -0
  158. package/src/containers/RegistrySettingsContainer/RegistrySettingsContainer.tsx +59 -0
  159. package/src/containers/RegistrySettingsContainer/index.ts +5 -0
  160. package/src/containers/index.ts +12 -0
  161. package/src/hooks/index.ts +7 -0
  162. package/src/hooks/use-auto-tags.ts +51 -0
  163. package/src/hooks/use-registry-plugins.ts +29 -0
  164. package/src/hooks/use-update-available.ts +31 -0
  165. package/src/index.ts +1 -1
  166. package/src/meta.ts +21 -9
  167. package/src/operations/index.ts +7 -0
  168. package/src/operations/open-plugin-registry.ts +21 -0
  169. package/src/plugin.ts +11 -0
  170. package/src/storage.ts +50 -0
  171. package/src/translations.ts +52 -15
  172. package/src/types.ts +37 -1
  173. package/dist/lib/browser/app-graph-builder-6JQNRTEQ.mjs +0 -161
  174. package/dist/lib/browser/app-graph-builder-6JQNRTEQ.mjs.map +0 -7
  175. package/dist/lib/browser/chunk-AEBASNOI.mjs +0 -16
  176. package/dist/lib/browser/chunk-AEBASNOI.mjs.map +0 -7
  177. package/dist/lib/browser/index.mjs +0 -71
  178. package/dist/lib/browser/index.mjs.map +0 -7
  179. package/dist/lib/browser/intent-resolver-UGDFPMAG.mjs +0 -23
  180. package/dist/lib/browser/intent-resolver-UGDFPMAG.mjs.map +0 -7
  181. package/dist/lib/browser/meta.json +0 -1
  182. package/dist/lib/browser/react-surface-YATPY47L.mjs +0 -335
  183. package/dist/lib/browser/react-surface-YATPY47L.mjs.map +0 -7
  184. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  185. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  186. package/dist/types/src/components/Icon.stories.d.ts +0 -14
  187. package/dist/types/src/components/Icon.stories.d.ts.map +0 -1
  188. package/dist/types/src/components/PluginDetail.d.ts +0 -9
  189. package/dist/types/src/components/PluginDetail.d.ts.map +0 -1
  190. package/dist/types/src/components/PluginDetail.stories.d.ts +0 -33
  191. package/dist/types/src/components/PluginDetail.stories.d.ts.map +0 -1
  192. package/dist/types/src/components/PluginItem.d.ts +0 -13
  193. package/dist/types/src/components/PluginItem.d.ts.map +0 -1
  194. package/dist/types/src/components/PluginList.d.ts +0 -8
  195. package/dist/types/src/components/PluginList.d.ts.map +0 -1
  196. package/dist/types/src/components/PluginList.stories.d.ts +0 -37
  197. package/dist/types/src/components/PluginList.stories.d.ts.map +0 -1
  198. package/dist/types/src/components/RegistryContainer.d.ts +0 -7
  199. package/dist/types/src/components/RegistryContainer.d.ts.map +0 -1
  200. package/src/capabilities/intent-resolver.ts +0 -27
  201. package/src/components/Icon.stories.tsx +0 -110
  202. package/src/components/PluginDetail.stories.tsx +0 -46
  203. package/src/components/PluginDetail.tsx +0 -65
  204. package/src/components/PluginItem.tsx +0 -119
  205. package/src/components/PluginList.stories.tsx +0 -85
  206. package/src/components/PluginList.tsx +0 -26
  207. package/src/components/RegistryContainer.tsx +0 -84
@@ -1,335 +0,0 @@
1
- import {
2
- REGISTRY_KEY,
3
- REGISTRY_PLUGIN
4
- } from "./chunk-AEBASNOI.mjs";
5
-
6
- // src/capabilities/react-surface.tsx
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
-
10
- // src/components/PluginDetail.tsx
11
- import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
12
- import React from "react";
13
- import { Icon, Input, Link, useTranslation } from "@dxos/react-ui";
14
- import { StackItem } from "@dxos/react-ui-stack";
15
- var PluginDetail = ({ plugin, enabled, onEnable }) => {
16
- var _effect = _useSignals();
17
- try {
18
- const { t } = useTranslation(REGISTRY_PLUGIN);
19
- const { id, name, description, homePage, source, screenshots } = plugin.meta;
20
- return /* @__PURE__ */ React.createElement(StackItem.Content, {
21
- classNames: "block overflow-y-auto"
22
- }, /* @__PURE__ */ React.createElement("div", {
23
- role: "none",
24
- className: "container-max-width p-4"
25
- }, /* @__PURE__ */ React.createElement("div", {
26
- 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, {
29
- classNames: "self-center",
30
- checked: enabled,
31
- onClick: onEnable
32
- }))), screenshots && screenshots.length > 0 && /* @__PURE__ */ React.createElement("div", {
33
- role: "none"
34
- }, /* @__PURE__ */ React.createElement("h1", {
35
- className: "text-lg mb-2"
36
- }, "Preview"), /* @__PURE__ */ React.createElement("img", {
37
- src: screenshots[0],
38
- alt: name,
39
- className: "aspect-video object-fit"
40
- })), /* @__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", {
47
- className: "flex gap-2"
48
- }, homePage && /* @__PURE__ */ React.createElement(Link, {
49
- href: homePage,
50
- target: "_blank",
51
- rel: "noreferrer",
52
- classNames: "text-sm text-description"
53
- }, t("home page label"), /* @__PURE__ */ React.createElement(Icon, {
54
- icon: "ph--arrow-square-out--bold",
55
- size: 3,
56
- classNames: "inline-block leading-none mli-1"
57
- })), source && /* @__PURE__ */ React.createElement(Link, {
58
- href: source,
59
- target: "_blank",
60
- rel: "noreferrer",
61
- classNames: "text-sm text-description"
62
- }, t("source label"), /* @__PURE__ */ React.createElement(Icon, {
63
- icon: "ph--arrow-square-out--bold",
64
- size: 3,
65
- classNames: "inline-block leading-none mli-1"
66
- }))))));
67
- } finally {
68
- _effect.f();
69
- }
70
- };
71
-
72
- // src/components/PluginList.tsx
73
- import { useSignals as _useSignals3 } from "@preact-signals/safe-react/tracking";
74
- import React3 from "react";
75
- import { List } from "@dxos/react-ui";
76
-
77
- // src/components/PluginItem.tsx
78
- import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
79
- import React2, { useCallback } from "react";
80
- 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 }) => {
83
- var _effect = _useSignals2();
84
- try {
85
- const { t } = useTranslation2(REGISTRY_PLUGIN);
86
- const { id, name, description, tags, icon = "ph--circle--regular" } = plugin.meta;
87
- const isEnabled = enabled.includes(id);
88
- const inputId = `${id}-input`;
89
- const labelId = `${id}-label`;
90
- const descriptionId = `${id}-description`;
91
- const handleClick = useCallback(() => onClick?.(id), [
92
- id,
93
- onClick
94
- ]);
95
- const handleChange = useCallback((event) => {
96
- event.stopPropagation();
97
- onChange?.(id, !isEnabled);
98
- }, [
99
- id,
100
- isEnabled,
101
- onChange
102
- ]);
103
- const hasSettings = _hasSettings?.(id) ?? false;
104
- const handleSettings = useCallback(() => onSettings?.(id), [
105
- id,
106
- onSettings
107
- ]);
108
- return /* @__PURE__ */ React2.createElement(ListItem.Root, {
109
- key: id,
110
- labelId,
111
- "data-testid": `pluginList.${id}`,
112
- "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"
115
- }, /* @__PURE__ */ React2.createElement("div", {
116
- className: "flex flex-col grow justify-center items-center"
117
- }, /* @__PURE__ */ React2.createElement(Icon2, {
118
- icon,
119
- size: 6,
120
- onClick: handleClick,
121
- classNames: "text-subdued cursor-pointer"
122
- })), /* @__PURE__ */ React2.createElement("div", {
123
- className: "flex items-center overflow-hidden cursor-pointer",
124
- onClick: handleClick
125
- }, /* @__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, {
143
- 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, {
157
- "aria-describedby": descriptionId,
158
- classNames: "text-sm text-description cursor-pointer",
159
- icon: "ph--gear--regular",
160
- label: t("settings label"),
161
- iconOnly: true,
162
- size: 4,
163
- onClick: handleSettings
164
- })));
165
- } finally {
166
- _effect.f();
167
- }
168
- };
169
-
170
- // src/components/PluginList.tsx
171
- var PluginList = ({ plugins = [], ...props }) => {
172
- var _effect = _useSignals3();
173
- try {
174
- 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", {
177
- key: plugin.meta.id,
178
- className: "flex"
179
- }, /* @__PURE__ */ React3.createElement(PluginItem, {
180
- plugin,
181
- ...props
182
- }))));
183
- } finally {
184
- _effect.f();
185
- }
186
- };
187
-
188
- // src/components/RegistryContainer.tsx
189
- import { useSignals as _useSignals4 } from "@preact-signals/safe-react/tracking";
190
- import React4, { useCallback as useCallback2, useMemo } from "react";
191
- import { Capabilities, LayoutAction, SettingsAction, createIntent, useCapability, useIntentDispatcher, usePluginManager } from "@dxos/app-framework";
192
- import { ObservabilityAction } from "@dxos/plugin-observability/types";
193
- import { StackItem as StackItem2 } from "@dxos/react-ui-stack";
194
- var sortByPluginMeta = ({ meta: { name: a = "" } }, { meta: { name: b = "" } }) => a.localeCompare(b);
195
- var RegistryContainer = ({ id, plugins: _plugins }) => {
196
- var _effect = _useSignals4();
197
- try {
198
- const manager = usePluginManager();
199
- const { dispatchPromise: dispatch } = useIntentDispatcher();
200
- const plugins = useMemo(() => _plugins.sort(sortByPluginMeta), [
201
- _plugins
202
- ]);
203
- const settingsStore = useCapability(Capabilities.SettingsStore);
204
- const handleChange = useCallback2(async (id2, enabled) => {
205
- if (enabled) {
206
- await manager.enable(id2);
207
- } else {
208
- await manager.disable(id2);
209
- }
210
- await dispatch(createIntent(ObservabilityAction.SendEvent, {
211
- name: "plugins.toggle",
212
- properties: {
213
- plugin: id2,
214
- enabled
215
- }
216
- }));
217
- }, [
218
- dispatch,
219
- manager
220
- ]);
221
- const handleClick = useCallback2((pluginId) => dispatch(createIntent(LayoutAction.Open, {
222
- part: "main",
223
- // TODO(wittjosiah): `/` currently is not supported in ids.
224
- subject: [
225
- pluginId.replaceAll("/", ":")
226
- ],
227
- options: {
228
- pivotId: id,
229
- positioning: "end"
230
- }
231
- })), [
232
- dispatch,
233
- id
234
- ]);
235
- const hasSettings = useCallback2((pluginId) => !!settingsStore.getStore(pluginId), [
236
- settingsStore
237
- ]);
238
- const handleSettings = useCallback2((pluginId) => dispatch(createIntent(SettingsAction.Open, {
239
- plugin: pluginId
240
- })), [
241
- dispatch
242
- ]);
243
- return /* @__PURE__ */ React4.createElement(StackItem2.Content, {
244
- classNames: "min-bs-0 overflow-y-auto scrollbar-thin contain-layout"
245
- }, /* @__PURE__ */ React4.createElement(PluginList, {
246
- plugins,
247
- enabled: manager.enabled,
248
- onClick: handleClick,
249
- onChange: handleChange,
250
- hasSettings,
251
- onSettings: handleSettings
252
- }));
253
- } finally {
254
- _effect.f();
255
- }
256
- };
257
-
258
- // src/capabilities/react-surface.tsx
259
- var react_surface_default = () => contributes(Capabilities2.ReactSurface, [
260
- createSurface({
261
- id: `${REGISTRY_PLUGIN}/all`,
262
- role: "article",
263
- filter: (data) => data.subject === `${REGISTRY_KEY}+all`,
264
- component: () => {
265
- const manager = usePluginManager2();
266
- const filtered = useMemo2(() => manager.plugins.filter(({ meta }) => !manager.core.includes(meta.id)), []);
267
- return /* @__PURE__ */ React5.createElement(RegistryContainer, {
268
- id: `${REGISTRY_KEY}+all`,
269
- plugins: filtered
270
- });
271
- }
272
- }),
273
- createSurface({
274
- id: `${REGISTRY_PLUGIN}/installed`,
275
- role: "article",
276
- filter: (data) => data.subject === `${REGISTRY_KEY}+installed`,
277
- component: () => {
278
- const manager = usePluginManager2();
279
- const filtered = useMemo2(() => manager.plugins.filter(({ meta }) => !manager.core.includes(meta.id)).filter(({ meta }) => manager.enabled.includes(meta.id)), []);
280
- return /* @__PURE__ */ React5.createElement(RegistryContainer, {
281
- id: `${REGISTRY_KEY}+installed`,
282
- plugins: filtered
283
- });
284
- }
285
- }),
286
- createSurface({
287
- id: `${REGISTRY_PLUGIN}/recommended`,
288
- role: "article",
289
- filter: (data) => data.subject === `${REGISTRY_KEY}+recommended`,
290
- component: () => {
291
- const manager = usePluginManager2();
292
- const filtered = useMemo2(() => manager.plugins.filter(({ meta }) => !manager.core.includes(meta.id)).filter(({ meta }) => !meta.tags?.includes("labs")), []);
293
- return /* @__PURE__ */ React5.createElement(RegistryContainer, {
294
- id: `${REGISTRY_KEY}+recommended`,
295
- plugins: filtered
296
- });
297
- }
298
- }),
299
- createSurface({
300
- id: `${REGISTRY_PLUGIN}/labs`,
301
- role: "article",
302
- filter: (data) => data.subject === `${REGISTRY_KEY}+labs`,
303
- component: () => {
304
- const manager = usePluginManager2();
305
- const filtered = useMemo2(() => manager.plugins.filter(({ meta }) => meta.tags?.includes("labs")), []);
306
- return /* @__PURE__ */ React5.createElement(RegistryContainer, {
307
- id: `${REGISTRY_KEY}+labs`,
308
- plugins: filtered
309
- });
310
- }
311
- }),
312
- createSurface({
313
- id: `${REGISTRY_PLUGIN}/plugin-details`,
314
- role: "article",
315
- filter: (data) => data.subject instanceof Plugin,
316
- component: ({ data: { subject } }) => {
317
- const manager = usePluginManager2();
318
- const enabled = manager.enabled.includes(subject.meta.id);
319
- const handleEnable = useCallback3(() => enabled ? manager.disable(subject.meta.id) : manager.enable(subject.meta.id), [
320
- manager,
321
- subject.meta.id,
322
- enabled
323
- ]);
324
- return /* @__PURE__ */ React5.createElement(PluginDetail, {
325
- plugin: subject,
326
- enabled,
327
- onEnable: handleEnable
328
- });
329
- }
330
- })
331
- ]);
332
- export {
333
- react_surface_default as default
334
- };
335
- //# sourceMappingURL=react-surface-YATPY47L.mjs.map
@@ -1,7 +0,0 @@
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, usePluginManager } from '@dxos/app-framework';\n\nimport { PluginDetail, RegistryContainer } from '../components';\nimport { REGISTRY_KEY, REGISTRY_PLUGIN } from '../meta';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${REGISTRY_PLUGIN}/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: `${REGISTRY_PLUGIN}/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: `${REGISTRY_PLUGIN}/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: `${REGISTRY_PLUGIN}/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: `${REGISTRY_PLUGIN}/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';\n\nimport { REGISTRY_PLUGIN } 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(REGISTRY_PLUGIN);\n const { id, name, description, homePage, source, screenshots } = plugin.meta;\n\n return (\n <StackItem.Content classNames='block overflow-y-auto'>\n <div role='none' className='container-max-width p-4'>\n <div role='none' className='flex justify-between items-center'>\n <p>{id}</p>\n <Input.Root>\n <Input.Switch classNames='self-center' checked={enabled} onClick={onEnable} />\n </Input.Root>\n </div>\n\n {screenshots && screenshots.length > 0 && (\n <div role='none'>\n <h1 className='text-lg mb-2'>Preview</h1>\n <img src={screenshots[0]} alt={name} className='aspect-video object-fit' />\n </div>\n )}\n\n <div role='none'>\n <p>{description}</p>\n </div>\n\n <div role='none'>\n <h1 className='text-lg mb-2'>Resources</h1>\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 </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(280px,1fr))] auto-rows-[12rem] gap-3 p-3'>\n {plugins.map((plugin) => (\n <div key={plugin.meta.id} className='flex'>\n <PluginItem plugin={plugin} {...props} />\n </div>\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 { Icon, IconButton, Input, Link, ListItem, Tag, useTranslation } from '@dxos/react-ui';\nimport { descriptionText, mx } from '@dxos/react-ui-theme';\n\nimport { REGISTRY_PLUGIN } from '../meta';\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: _hasSettings,\n onSettings,\n}: PluginItemProps) => {\n const { t } = useTranslation(REGISTRY_PLUGIN);\n const { id, name, description, tags, icon = 'ph--circle--regular' } = 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 = _hasSettings?.(id) ?? false;\n const handleSettings = useCallback(() => onSettings?.(id), [id, onSettings]);\n\n return (\n <ListItem.Root\n key={id}\n labelId={labelId}\n data-testid={`pluginList.${id}`}\n aria-describedby={descriptionId}\n // TODO(burdon): Use Rail vars.\n classNames='is-full bs-full grid grid-cols-[48px_1fr_48px] grid-rows-[40px_1fr_32px] p-1 border border-separator rounded-md'\n >\n {/* Header. */}\n <div className='flex flex-col grow justify-center items-center'>\n <Icon icon={icon} size={6} onClick={handleClick} classNames='text-subdued cursor-pointer' />\n </div>\n <div className='flex items-center overflow-hidden cursor-pointer' onClick={handleClick}>\n <span className='truncate'>{name ?? id}</span>\n </div>\n <div className='flex justify-center items-center'>\n <Input.Root id={inputId}>\n <Input.Switch classNames='self-center' checked={isEnabled} onClick={handleChange} />\n </Input.Root>\n </div>\n\n {/* Body. */}\n <div />\n {(description || tags) && (\n <div id={descriptionId} className='col-span-2 flex flex-col w-full justify-between gap-2 pb-2'>\n <div className='grow'>\n <p className={mx(descriptionText, 'line-clamp-3 min-w-0 pie-2')}>{description}</p>\n </div>\n {tags && tags.length > 0 && (\n <div>\n {tags.map((tag) => (\n <Tag key={tag} palette={'indigo'} classNames='text-xs capitalize'>\n {tag}\n </Tag>\n ))}\n </div>\n )}\n </div>\n )}\n\n {/* Footer. */}\n <div />\n <div className='flex gap-2 items-center pie-1'>\n <Link\n aria-describedby={descriptionId}\n classNames='text-sm text-description cursor-pointer'\n onClick={handleClick}\n >\n {t('details label')}\n </Link>\n\n <div className='flex-1' />\n </div>\n <div className='flex justify-center items-center'>\n {hasSettings && (\n <IconButton\n aria-describedby={descriptionId}\n classNames='text-sm text-description cursor-pointer'\n icon='ph--gear--regular'\n label={t('settings label')}\n iconOnly\n size={4}\n onClick={handleSettings}\n />\n )}\n </div>\n </ListItem.Root>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport {\n Capabilities,\n LayoutAction,\n type Plugin,\n SettingsAction,\n createIntent,\n useCapability,\n useIntentDispatcher,\n usePluginManager,\n} from '@dxos/app-framework';\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 classNames='min-bs-0 overflow-y-auto scrollbar-thin contain-layout'>\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", "PluginDetail", "plugin", "enabled", "onEnable", "t", "useTranslation", "REGISTRY_PLUGIN", "id", "name", "description", "homePage", "source", "screenshots", "meta", "StackItem", "Content", "classNames", "div", "role", "className", "p", "Input", "Root", "Switch", "checked", "onClick", "length", "h1", "img", "src", "alt", "Link", "href", "target", "rel", "Icon", "icon", "size", "React", "List", "React", "useCallback", "Icon", "IconButton", "Input", "Link", "ListItem", "Tag", "useTranslation", "descriptionText", "mx", "PluginItem", "plugin", "enabled", "onClick", "onChange", "hasSettings", "_hasSettings", "onSettings", "t", "useTranslation", "REGISTRY_PLUGIN", "id", "name", "description", "tags", "icon", "meta", "isEnabled", "includes", "inputId", "labelId", "descriptionId", "handleClick", "useCallback", "handleChange", "event", "stopPropagation", "handleSettings", "React", "ListItem", "Root", "key", "data-testid", "aria-describedby", "classNames", "div", "className", "Icon", "size", "span", "Input", "Switch", "checked", "p", "mx", "descriptionText", "length", "map", "tag", "Tag", "palette", "Link", "IconButton", "label", "iconOnly", "PluginList", "plugins", "props", "React", "List", "classNames", "map", "plugin", "div", "key", "meta", "id", "className", "PluginItem", "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", "classNames", "PluginList", "onClick", "onChange", "onSettings", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "REGISTRY_PLUGIN", "role", "filter", "data", "subject", "REGISTRY_KEY", "component", "manager", "usePluginManager", "filtered", "useMemo", "plugins", "meta", "core", "includes", "React", "RegistryContainer", "enabled", "tags", "Plugin", "handleEnable", "useCallback", "disable", "enable", "PluginDetail", "plugin", "onEnable"]
7
- }
@@ -1,4 +0,0 @@
1
- import { Capabilities } from '@dxos/app-framework';
2
- declare const _default: () => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Capabilities.IntentResolver>>;
3
- export default _default;
4
- //# sourceMappingURL=intent-resolver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,YAAY,EAMb,MAAM,qBAAqB,CAAC;;AAI7B,wBAWI"}
@@ -1,14 +0,0 @@
1
- import '@dxos-theme';
2
- import { type StoryObj } from '@storybook/react-vite';
3
- import React from 'react';
4
- export declare const Default: Story;
5
- declare const meta: {
6
- title: string;
7
- render: () => React.JSX.Element;
8
- parameters: {
9
- layout: string;
10
- };
11
- };
12
- export default meta;
13
- type Story = StoryObj<typeof meta>;
14
- //# sourceMappingURL=Icon.stories.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Icon.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/Icon.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAGrB,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAuD,MAAM,OAAO,CAAC;AAyF5E,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC;AAEjC,QAAA,MAAM,IAAI;;;;;;CAMuB,CAAC;AAElC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import { type Plugin } from '@dxos/app-framework';
3
- export type PluginDetailProps = {
4
- plugin: Plugin;
5
- enabled?: boolean;
6
- onEnable?: () => void;
7
- };
8
- export declare const PluginDetail: ({ plugin, enabled, onEnable }: PluginDetailProps) => React.JSX.Element;
9
- //# sourceMappingURL=PluginDetail.d.ts.map
@@ -1 +0,0 @@
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,33 +0,0 @@
1
- import '@dxos-theme';
2
- import { type StoryObj } from '@storybook/react-vite';
3
- declare const meta: {
4
- title: string;
5
- component: ({ plugin, enabled, onEnable }: import("./PluginDetail").PluginDetailProps) => import("react").JSX.Element;
6
- decorators: import("@storybook/react").Decorator[];
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
- }];
28
- };
29
- };
30
- export default meta;
31
- type Story = StoryObj<typeof meta>;
32
- export declare const Default: Story;
33
- //# sourceMappingURL=PluginDetail.stories.d.ts.map
@@ -1 +0,0 @@
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,13 +0,0 @@
1
- import React from 'react';
2
- import { type Plugin } from '@dxos/app-framework';
3
- export type PluginItemProps = {
4
- plugin: Plugin;
5
- installed?: readonly string[];
6
- enabled?: readonly string[];
7
- onClick?: (id: string) => void;
8
- onChange?: (id: string, enabled: boolean) => void;
9
- hasSettings?: (id: string) => boolean;
10
- onSettings?: (id: string) => void;
11
- };
12
- export declare const PluginItem: ({ plugin, enabled, onClick, onChange, hasSettings: _hasSettings, onSettings, }: PluginItemProps) => React.JSX.Element;
13
- //# sourceMappingURL=PluginItem.d.ts.map
@@ -1 +0,0 @@
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,8 +0,0 @@
1
- import React from 'react';
2
- import { type Plugin } from '@dxos/app-framework';
3
- import { type PluginItemProps } from './PluginItem';
4
- export type PluginListProps = Omit<PluginItemProps, 'plugin'> & {
5
- plugins?: readonly Plugin[];
6
- };
7
- export declare const PluginList: ({ plugins, ...props }: PluginListProps) => React.JSX.Element;
8
- //# sourceMappingURL=PluginList.d.ts.map
@@ -1 +0,0 @@
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,37 +0,0 @@
1
- import '@dxos-theme';
2
- import { type StoryObj } from '@storybook/react-vite';
3
- import React from 'react';
4
- import { type ThemedClassName } from '@dxos/react-ui';
5
- declare const meta: {
6
- title: string;
7
- component: ({ plugins, ...props }: import("./PluginList").PluginListProps) => React.JSX.Element;
8
- render: ({ classNames }: ThemedClassName<{}>) => React.JSX.Element;
9
- decorators: import("@storybook/react").Decorator[];
10
- parameters: {
11
- translations: [{
12
- readonly 'en-US': {
13
- readonly [meta.id]: {
14
- readonly 'plugin name': "Registry";
15
- readonly 'details label': "Details";
16
- readonly 'home page label': "Website";
17
- readonly 'source label': "Source";
18
- readonly 'plugin registry label': "Plugin Registry";
19
- readonly 'all plugins label': "All";
20
- readonly 'installed plugins label': "Enabled";
21
- readonly 'recommended plugins label': "Recommended";
22
- readonly 'labs plugins label': "Labs";
23
- readonly 'community plugins label': "Community";
24
- readonly 'load by url label': "Load by URL (soon)";
25
- readonly 'coming soon label': "Coming soon!";
26
- readonly 'open plugin registry label': "Open plugin registry";
27
- readonly 'settings label': "Settings";
28
- };
29
- };
30
- }];
31
- };
32
- };
33
- export default meta;
34
- type Story = StoryObj<typeof meta>;
35
- export declare const Default: Story;
36
- export declare const Column: Story;
37
- //# sourceMappingURL=PluginList.stories.d.ts.map
@@ -1 +0,0 @@
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,7 +0,0 @@
1
- import React from 'react';
2
- import { type Plugin } from '@dxos/app-framework';
3
- export declare const RegistryContainer: ({ id, plugins: _plugins }: {
4
- id: string;
5
- plugins: Plugin[];
6
- }) => React.JSX.Element;
7
- //# sourceMappingURL=RegistryContainer.d.ts.map
@@ -1 +0,0 @@
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,27 +0,0 @@
1
- //
2
- // Copyright 2025 DXOS.org
3
- //
4
-
5
- import {
6
- Capabilities,
7
- LayoutAction,
8
- SettingsAction,
9
- contributes,
10
- createIntent,
11
- createResolver,
12
- } from '@dxos/app-framework';
13
-
14
- import { REGISTRY_ID } from '../meta';
15
-
16
- export default () =>
17
- contributes(
18
- Capabilities.IntentResolver,
19
- createResolver({
20
- intent: SettingsAction.OpenPluginRegistry,
21
- resolve: () => {
22
- return {
23
- intents: [createIntent(LayoutAction.SwitchWorkspace, { part: 'workspace', subject: REGISTRY_ID })],
24
- };
25
- },
26
- }),
27
- );