@dxos/plugin-space 0.8.4-main.84f28bd → 0.8.4-main.c1de068

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 (145) hide show
  1. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs +31 -0
  2. package/dist/lib/browser/CollectionMain-D2B75XBS.mjs.map +7 -0
  3. package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs +88 -0
  4. package/dist/lib/browser/ObjectDetailsPanel-YPTDQKMG.mjs.map +7 -0
  5. package/dist/lib/browser/{app-graph-builder-PMDF6PJV.mjs → app-graph-builder-7CZZJS3S.mjs} +138 -22
  6. package/dist/lib/browser/app-graph-builder-7CZZJS3S.mjs.map +7 -0
  7. package/dist/lib/browser/{app-graph-serializer-UKYMBX4O.mjs → app-graph-serializer-H6AW7KGS.mjs} +4 -4
  8. package/dist/lib/browser/{chunk-XXIPJLJF.mjs → chunk-CEFHNVU7.mjs} +2 -1
  9. package/dist/lib/browser/chunk-CEFHNVU7.mjs.map +7 -0
  10. package/dist/lib/browser/{chunk-C7KGJTAL.mjs → chunk-JS3MMC42.mjs} +2 -1
  11. package/dist/lib/browser/{chunk-C7KGJTAL.mjs.map → chunk-JS3MMC42.mjs.map} +3 -3
  12. package/dist/lib/browser/{chunk-6VLSHG4A.mjs → chunk-QACNNDOT.mjs} +64 -3
  13. package/dist/lib/browser/chunk-QACNNDOT.mjs.map +7 -0
  14. package/dist/lib/browser/{chunk-S6NY637J.mjs → chunk-SGTQ52SU.mjs} +57 -3
  15. package/dist/lib/browser/chunk-SGTQ52SU.mjs.map +7 -0
  16. package/dist/lib/browser/{chunk-GVTXQCIW.mjs → chunk-V7MJSSBQ.mjs} +355 -286
  17. package/dist/lib/browser/chunk-V7MJSSBQ.mjs.map +7 -0
  18. package/dist/lib/browser/{chunk-WBSEOLEM.mjs → chunk-XUYKJUU7.mjs} +124 -21
  19. package/dist/lib/browser/chunk-XUYKJUU7.mjs.map +7 -0
  20. package/dist/lib/browser/index.mjs +98 -9
  21. package/dist/lib/browser/index.mjs.map +3 -3
  22. package/dist/lib/browser/{intent-resolver-WK5WYFH3.mjs → intent-resolver-TIXVDYN7.mjs} +164 -14
  23. package/dist/lib/browser/intent-resolver-TIXVDYN7.mjs.map +7 -0
  24. package/dist/lib/browser/meta.json +1 -1
  25. package/dist/lib/browser/{react-root-7S6FIC5G.mjs → react-root-N2J7TDRX.mjs} +5 -5
  26. package/dist/lib/browser/{react-surface-6C3YJNDK.mjs → react-surface-TPNLWJJH.mjs} +35 -14
  27. package/dist/lib/browser/react-surface-TPNLWJJH.mjs.map +7 -0
  28. package/dist/lib/browser/{schema-defs-K3B3OAH4.mjs → schema-defs-Z6FC4AHC.mjs} +2 -2
  29. package/dist/lib/browser/{settings-XNWYRWNM.mjs → settings-4IMP5RYT.mjs} +2 -2
  30. package/dist/lib/browser/{spaces-ready-K7NSNBHM.mjs → spaces-ready-TOPG6IV4.mjs} +4 -4
  31. package/dist/lib/browser/{state-522XTUR4.mjs → state-QYZAB45H.mjs} +2 -2
  32. package/dist/lib/browser/types/index.mjs +1 -1
  33. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs +32 -0
  34. package/dist/lib/node-esm/CollectionMain-ZJIFCWKZ.mjs.map +7 -0
  35. package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs +89 -0
  36. package/dist/lib/node-esm/ObjectDetailsPanel-QKZEDSZK.mjs.map +7 -0
  37. package/dist/lib/node-esm/{app-graph-builder-TO72W6MI.mjs → app-graph-builder-KGIGWC72.mjs} +138 -22
  38. package/dist/lib/node-esm/app-graph-builder-KGIGWC72.mjs.map +7 -0
  39. package/dist/lib/node-esm/{app-graph-serializer-LA3IZDXJ.mjs → app-graph-serializer-2ICUGQQT.mjs} +4 -4
  40. package/dist/lib/node-esm/{chunk-HJJHLWKY.mjs → chunk-4AOMYKDE.mjs} +124 -21
  41. package/dist/lib/node-esm/chunk-4AOMYKDE.mjs.map +7 -0
  42. package/dist/lib/node-esm/{chunk-72QMMRKC.mjs → chunk-5HHYE264.mjs} +2 -1
  43. package/dist/lib/node-esm/{chunk-72QMMRKC.mjs.map → chunk-5HHYE264.mjs.map} +3 -3
  44. package/dist/lib/node-esm/{chunk-AT7LGFER.mjs → chunk-5T3ZH23B.mjs} +2 -1
  45. package/dist/lib/node-esm/chunk-5T3ZH23B.mjs.map +7 -0
  46. package/dist/lib/node-esm/{chunk-OUBADVJE.mjs → chunk-6X5DLJM5.mjs} +355 -286
  47. package/dist/lib/node-esm/chunk-6X5DLJM5.mjs.map +7 -0
  48. package/dist/lib/node-esm/{chunk-2THX6G4C.mjs → chunk-JH6F4C3I.mjs} +57 -3
  49. package/dist/lib/node-esm/chunk-JH6F4C3I.mjs.map +7 -0
  50. package/dist/lib/node-esm/{chunk-SXD6T2N4.mjs → chunk-P442DOQ3.mjs} +64 -3
  51. package/dist/lib/node-esm/chunk-P442DOQ3.mjs.map +7 -0
  52. package/dist/lib/node-esm/index.mjs +98 -9
  53. package/dist/lib/node-esm/index.mjs.map +3 -3
  54. package/dist/lib/node-esm/{intent-resolver-HSR27ME4.mjs → intent-resolver-MHGHRGDT.mjs} +164 -14
  55. package/dist/lib/node-esm/intent-resolver-MHGHRGDT.mjs.map +7 -0
  56. package/dist/lib/node-esm/meta.json +1 -1
  57. package/dist/lib/node-esm/{react-root-HUK3ANLV.mjs → react-root-KW3TGJGY.mjs} +5 -5
  58. package/dist/lib/node-esm/{react-surface-AGAWX7DD.mjs → react-surface-UUIUUD6P.mjs} +35 -14
  59. package/dist/lib/node-esm/react-surface-UUIUUD6P.mjs.map +7 -0
  60. package/dist/lib/node-esm/{schema-defs-4MCDG4DV.mjs → schema-defs-WHJM7UZE.mjs} +2 -2
  61. package/dist/lib/node-esm/{settings-YGKHGFPH.mjs → settings-SAOBPND3.mjs} +2 -2
  62. package/dist/lib/node-esm/{spaces-ready-UM2P3DCR.mjs → spaces-ready-HIUKNDZK.mjs} +4 -4
  63. package/dist/lib/node-esm/{state-C4IOXPZP.mjs → state-ZVEHQ4BJ.mjs} +2 -2
  64. package/dist/lib/node-esm/types/index.mjs +1 -1
  65. package/dist/types/src/SpacePlugin.d.ts.map +1 -1
  66. package/dist/types/src/capabilities/app-graph-builder.d.ts.map +1 -1
  67. package/dist/types/src/capabilities/capabilities.d.ts +9 -3
  68. package/dist/types/src/capabilities/capabilities.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  70. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  71. package/dist/types/src/components/AwaitingObject.d.ts.map +1 -1
  72. package/dist/types/src/components/CollectionMain.d.ts +1 -0
  73. package/dist/types/src/components/CollectionMain.d.ts.map +1 -1
  74. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts +3 -2
  75. package/dist/types/src/components/CreateDialog/CreateObjectDialog.d.ts.map +1 -1
  76. package/dist/types/src/components/MembersContainer.d.ts.map +1 -1
  77. package/dist/types/src/components/MenuFooter.d.ts.map +1 -1
  78. package/dist/types/src/components/ObjectDetailsPanel.d.ts +9 -0
  79. package/dist/types/src/components/ObjectDetailsPanel.d.ts.map +1 -0
  80. package/dist/types/src/components/PersistenceStatus.d.ts.map +1 -1
  81. package/dist/types/src/components/SyncStatus/SyncStatus.d.ts +1 -1
  82. package/dist/types/src/components/SyncStatus/status.d.ts +5 -5
  83. package/dist/types/src/components/ViewEditor.d.ts +8 -0
  84. package/dist/types/src/components/ViewEditor.d.ts.map +1 -0
  85. package/dist/types/src/components/index.d.ts +8 -1
  86. package/dist/types/src/components/index.d.ts.map +1 -1
  87. package/dist/types/src/events.d.ts +1 -0
  88. package/dist/types/src/events.d.ts.map +1 -1
  89. package/dist/types/src/translations.d.ts +61 -0
  90. package/dist/types/src/translations.d.ts.map +1 -1
  91. package/dist/types/src/types/types.d.ts +82 -2
  92. package/dist/types/src/types/types.d.ts.map +1 -1
  93. package/dist/types/src/util.d.ts +27 -2
  94. package/dist/types/src/util.d.ts.map +1 -1
  95. package/dist/types/tsconfig.tsbuildinfo +1 -1
  96. package/package.json +47 -49
  97. package/src/SpacePlugin.ts +87 -4
  98. package/src/capabilities/app-graph-builder.ts +165 -5
  99. package/src/capabilities/capabilities.ts +8 -3
  100. package/src/capabilities/intent-resolver.ts +114 -5
  101. package/src/capabilities/react-surface.tsx +47 -10
  102. package/src/components/AwaitingObject.tsx +4 -6
  103. package/src/components/CollectionMain.tsx +2 -0
  104. package/src/components/CreateDialog/CreateObjectDialog.tsx +29 -25
  105. package/src/components/MembersContainer.tsx +5 -3
  106. package/src/components/MenuFooter.tsx +2 -3
  107. package/src/components/ObjectDetailsPanel.tsx +77 -0
  108. package/src/components/PersistenceStatus.tsx +5 -6
  109. package/src/components/PopoverRenameObject.tsx +2 -2
  110. package/src/components/SyncStatus/SyncStatus.tsx +1 -1
  111. package/src/components/SyncStatus/status.ts +4 -4
  112. package/src/components/ViewEditor.tsx +64 -0
  113. package/src/components/index.ts +6 -1
  114. package/src/events.ts +1 -0
  115. package/src/translations.ts +62 -0
  116. package/src/types/types.ts +56 -3
  117. package/src/util.tsx +115 -20
  118. package/dist/lib/browser/app-graph-builder-PMDF6PJV.mjs.map +0 -7
  119. package/dist/lib/browser/chunk-6VLSHG4A.mjs.map +0 -7
  120. package/dist/lib/browser/chunk-GVTXQCIW.mjs.map +0 -7
  121. package/dist/lib/browser/chunk-S6NY637J.mjs.map +0 -7
  122. package/dist/lib/browser/chunk-WBSEOLEM.mjs.map +0 -7
  123. package/dist/lib/browser/chunk-XXIPJLJF.mjs.map +0 -7
  124. package/dist/lib/browser/intent-resolver-WK5WYFH3.mjs.map +0 -7
  125. package/dist/lib/browser/react-surface-6C3YJNDK.mjs.map +0 -7
  126. package/dist/lib/node-esm/app-graph-builder-TO72W6MI.mjs.map +0 -7
  127. package/dist/lib/node-esm/chunk-2THX6G4C.mjs.map +0 -7
  128. package/dist/lib/node-esm/chunk-AT7LGFER.mjs.map +0 -7
  129. package/dist/lib/node-esm/chunk-HJJHLWKY.mjs.map +0 -7
  130. package/dist/lib/node-esm/chunk-OUBADVJE.mjs.map +0 -7
  131. package/dist/lib/node-esm/chunk-SXD6T2N4.mjs.map +0 -7
  132. package/dist/lib/node-esm/intent-resolver-HSR27ME4.mjs.map +0 -7
  133. package/dist/lib/node-esm/react-surface-AGAWX7DD.mjs.map +0 -7
  134. /package/dist/lib/browser/{app-graph-serializer-UKYMBX4O.mjs.map → app-graph-serializer-H6AW7KGS.mjs.map} +0 -0
  135. /package/dist/lib/browser/{react-root-7S6FIC5G.mjs.map → react-root-N2J7TDRX.mjs.map} +0 -0
  136. /package/dist/lib/browser/{schema-defs-K3B3OAH4.mjs.map → schema-defs-Z6FC4AHC.mjs.map} +0 -0
  137. /package/dist/lib/browser/{settings-XNWYRWNM.mjs.map → settings-4IMP5RYT.mjs.map} +0 -0
  138. /package/dist/lib/browser/{spaces-ready-K7NSNBHM.mjs.map → spaces-ready-TOPG6IV4.mjs.map} +0 -0
  139. /package/dist/lib/browser/{state-522XTUR4.mjs.map → state-QYZAB45H.mjs.map} +0 -0
  140. /package/dist/lib/node-esm/{app-graph-serializer-LA3IZDXJ.mjs.map → app-graph-serializer-2ICUGQQT.mjs.map} +0 -0
  141. /package/dist/lib/node-esm/{react-root-HUK3ANLV.mjs.map → react-root-KW3TGJGY.mjs.map} +0 -0
  142. /package/dist/lib/node-esm/{schema-defs-4MCDG4DV.mjs.map → schema-defs-WHJM7UZE.mjs.map} +0 -0
  143. /package/dist/lib/node-esm/{settings-YGKHGFPH.mjs.map → settings-SAOBPND3.mjs.map} +0 -0
  144. /package/dist/lib/node-esm/{spaces-ready-UM2P3DCR.mjs.map → spaces-ready-HIUKNDZK.mjs.map} +0 -0
  145. /package/dist/lib/node-esm/{state-C4IOXPZP.mjs.map → state-ZVEHQ4BJ.mjs.map} +0 -0
@@ -11,6 +11,7 @@ import {
11
11
  JoinDialog,
12
12
  MembersContainer,
13
13
  MenuFooter,
14
+ ObjectDetailsPanel,
14
15
  ObjectSettingsContainer,
15
16
  POPOVER_RENAME_OBJECT,
16
17
  POPOVER_RENAME_SPACE,
@@ -21,17 +22,18 @@ import {
21
22
  SpacePluginSettings,
22
23
  SpacePresence,
23
24
  SpaceSettingsContainer,
24
- SyncStatus
25
- } from "./chunk-OUBADVJE.mjs";
25
+ SyncStatus,
26
+ ViewEditor
27
+ } from "./chunk-6X5DLJM5.mjs";
26
28
  import "./chunk-SSLBYZEY.mjs";
27
29
  import {
28
30
  SpaceCapabilities
29
- } from "./chunk-AT7LGFER.mjs";
30
- import "./chunk-HJJHLWKY.mjs";
31
+ } from "./chunk-5T3ZH23B.mjs";
32
+ import "./chunk-4AOMYKDE.mjs";
31
33
  import {
32
34
  HueAnnotationId,
33
35
  IconAnnotationId
34
- } from "./chunk-2THX6G4C.mjs";
36
+ } from "./chunk-JH6F4C3I.mjs";
35
37
  import {
36
38
  SPACE_PLUGIN
37
39
  } from "./chunk-HWNG4MEU.mjs";
@@ -44,7 +46,7 @@ import { findAnnotation } from "@dxos/effect";
44
46
  import { SettingsStore } from "@dxos/local-storage";
45
47
  import { ClientCapabilities } from "@dxos/plugin-client";
46
48
  import { useClient } from "@dxos/react-client";
47
- import { getSpace, isLiveObject, isSpace, parseId, SpaceState, useSpace } from "@dxos/react-client/echo";
49
+ import { fullyQualifiedId, getSpace, isLiveObject, isSpace, parseId, SpaceState, useSpace } from "@dxos/react-client/echo";
48
50
  import { Input, useTranslation } from "@dxos/react-ui";
49
51
  import { SelectInput } from "@dxos/react-ui-form";
50
52
  import { HuePicker, IconPicker } from "@dxos/react-ui-pickers";
@@ -146,6 +148,16 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
146
148
  });
147
149
  }
148
150
  }),
151
+ createSurface({
152
+ id: `${SPACE_PLUGIN}/selected-objects`,
153
+ role: "article",
154
+ filter: (data) => Obj.instanceOf(DataType.View, data.companionTo) && data.subject === "selected-objects",
155
+ component: ({ data }) => /* @__PURE__ */ React.createElement(ObjectDetailsPanel, {
156
+ key: fullyQualifiedId(data.companionTo),
157
+ objectId: fullyQualifiedId(data.companionTo),
158
+ view: data.companionTo
159
+ })
160
+ }),
149
161
  createSurface({
150
162
  id: JOIN_DIALOG,
151
163
  role: "dialog",
@@ -230,21 +242,22 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
230
242
  }
231
243
  const annotation = findAnnotation(schema.ast, TypenameAnnotationId);
232
244
  const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);
233
- const whitelistedTypenames = useMemo(() => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => type.typename))), [
245
+ const whitelistedTypenames = useMemo(() => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => Type.getTypename(type)))), [
234
246
  schemaWhitelists
235
247
  ]);
236
248
  const objectForms = useCapabilities(SpaceCapabilities.ObjectForm);
237
- const objectFormTypenames = useMemo(() => new Set(objectForms.map((form) => Type.getTypename(form.objectSchema)).filter((typename) => !OMIT.includes(typename))), [
249
+ const objectFormTypenames = useMemo(() => new Set(objectForms.map((form) => Type.getTypename(form.objectSchema)).filter((typename) => !OMIT.includes(typename) && !typename.endsWith("View"))), [
238
250
  objectForms
239
251
  ]);
240
252
  const fixed = client.graph.schemaRegistry.schemas.filter((schema2) => {
241
253
  const limitedStatic = annotation.includes("limited-static") && whitelistedTypenames.has(Type.getTypename(schema2));
254
+ const unusedStatic = annotation.includes("unused-static") && whitelistedTypenames.has(Type.getTypename(schema2)) && !space.properties.staticRecords?.includes(Type.getTypename(schema2));
242
255
  const objectForm = annotation.includes("object-form") && objectFormTypenames.has(Type.getTypename(schema2));
243
- return annotation.includes("static") || limitedStatic || objectForm;
256
+ return annotation.includes("static") || limitedStatic || unusedStatic || objectForm;
244
257
  });
245
258
  const dynamic = space?.db.schemaRegistry.query().runSync();
246
259
  const typenames = Array.from(/* @__PURE__ */ new Set([
247
- ...annotation.includes("limited-static") || annotation.includes("static") || annotation.includes("object-form") ? fixed.map((schema2) => Type.getTypename(schema2)) : [],
260
+ ...annotation.includes("limited-static") || annotation.includes("unused-static") || annotation.includes("static") || annotation.includes("object-form") ? fixed.map((schema2) => Type.getTypename(schema2)) : [],
248
261
  ...annotation.includes("dynamic") ? dynamic.map((schema2) => schema2.typename) : []
249
262
  ])).sort();
250
263
  const options = useMemo(() => typenames.map((typename) => ({
@@ -253,7 +266,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
253
266
  ns: typename,
254
267
  defaultValue: typename
255
268
  })
256
- })), [
269
+ })).toSorted((a, b) => a.label.localeCompare(b.label)), [
257
270
  t,
258
271
  typenames
259
272
  ]);
@@ -263,9 +276,17 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
263
276
  });
264
277
  }
265
278
  }),
279
+ createSurface({
280
+ id: `${SPACE_PLUGIN}/object-settings`,
281
+ role: "object-settings",
282
+ filter: (data) => Obj.instanceOf(DataType.View, data.subject),
283
+ component: ({ data }) => /* @__PURE__ */ React.createElement(ViewEditor, {
284
+ view: data.subject
285
+ })
286
+ }),
266
287
  createSurface({
267
288
  id: POPOVER_RENAME_SPACE,
268
- role: "popover",
289
+ role: "card--popover",
269
290
  filter: (data) => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),
270
291
  component: ({ data }) => /* @__PURE__ */ React.createElement(PopoverRenameSpace, {
271
292
  space: data.props
@@ -273,7 +294,7 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
273
294
  }),
274
295
  createSurface({
275
296
  id: POPOVER_RENAME_OBJECT,
276
- role: "popover",
297
+ role: "card--popover",
277
298
  filter: (data) => data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),
278
299
  component: ({ data }) => /* @__PURE__ */ React.createElement(PopoverRenameObject, {
279
300
  object: data.props
@@ -351,4 +372,4 @@ var react_surface_default = ({ createInvitationUrl }) => contributes(Capabilitie
351
372
  export {
352
373
  react_surface_default as default
353
374
  };
354
- //# sourceMappingURL=react-surface-AGAWX7DD.mjs.map
375
+ //# sourceMappingURL=react-surface-UUIUUD6P.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Schema } from 'effect';\nimport React, { useCallback, useMemo } from 'react';\n\nimport {\n Capabilities,\n contributes,\n createSurface,\n Surface,\n useCapabilities,\n useCapability,\n useLayout,\n} from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { SettingsStore } from '@dxos/local-storage';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { useClient } from '@dxos/react-client';\nimport {\n fullyQualifiedId,\n getSpace,\n isLiveObject,\n isSpace,\n parseId,\n SpaceState,\n useSpace,\n type Space,\n} from '@dxos/react-client/echo';\nimport { Input, useTranslation } from '@dxos/react-ui';\nimport { type InputProps, SelectInput } from '@dxos/react-ui-form';\nimport { HuePicker, IconPicker } from '@dxos/react-ui-pickers';\nimport { DataType, type TypenameAnnotation, TypenameAnnotationId } from '@dxos/schema';\nimport { type JoinPanelProps } from '@dxos/shell/react';\n\nimport { SpaceCapabilities } from './capabilities';\nimport {\n CollectionMain,\n CollectionSection,\n CREATE_OBJECT_DIALOG,\n CREATE_SPACE_DIALOG,\n CreateObjectDialog,\n CreateSpaceDialog,\n InlineSyncStatus,\n JOIN_DIALOG,\n JoinDialog,\n MembersContainer,\n MenuFooter,\n ObjectDetailsPanel,\n ObjectSettingsContainer,\n POPOVER_RENAME_OBJECT,\n POPOVER_RENAME_SPACE,\n PopoverRenameObject,\n PopoverRenameSpace,\n SchemaContainer,\n SmallPresenceLive,\n SpacePluginSettings,\n SpacePresence,\n SpaceSettingsContainer,\n SyncStatus,\n ViewEditor,\n type CreateObjectDialogProps,\n} from '../components';\nimport { SPACE_PLUGIN } from '../meta';\nimport { HueAnnotationId, IconAnnotationId, type SpaceSettingsProps } from '../types';\n\ntype ReactSurfaceOptions = {\n createInvitationUrl: (invitationCode: string) => string;\n};\n\nconst OMIT = [DataType.Collection.typename, DataType.QueryCollection.typename];\n\nexport default ({ createInvitationUrl }: ReactSurfaceOptions) =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${SPACE_PLUGIN}/article`,\n role: 'article',\n filter: (data): data is { subject: Space } =>\n // TODO(wittjosiah): Need to avoid shotgun parsing space state everywhere.\n isSpace(data.subject) && data.subject.state.get() === SpaceState.SPACE_READY,\n component: ({ data, role, ...rest }) => (\n <Surface\n data={{\n id: data.subject.id,\n subject: data.subject.properties[DataType.Collection.typename]?.target,\n }}\n role={role}\n {...rest}\n />\n ),\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-fallback`,\n role: 'article',\n position: 'fallback',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionMain collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/plugin-settings`,\n role: 'article',\n filter: (data): data is { subject: SettingsStore<SpaceSettingsProps> } =>\n data.subject instanceof SettingsStore && data.subject.prefix === SPACE_PLUGIN,\n component: ({ data: { subject } }) => <SpacePluginSettings settings={subject.value} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/companion/object-settings`,\n role: 'article',\n filter: (data): data is { companionTo: Obj.Any } => Obj.isObject(data.companionTo) && data.subject === 'settings',\n component: ({ data, role }) => <ObjectSettingsContainer object={data.companionTo} role={role} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-properties`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/properties`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SpaceSettingsContainer space={space} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-members`,\n role: 'article',\n position: 'hoist',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/members`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <MembersContainer space={space} createInvitationUrl={createInvitationUrl} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/space-settings-schema`,\n role: 'article',\n filter: (data): data is { subject: string } => data.subject === `${SPACE_PLUGIN}/schema`,\n component: () => {\n const layout = useLayout();\n const { spaceId } = parseId(layout.workspace);\n const space = useSpace(spaceId);\n if (!space || !spaceId) {\n return null;\n }\n\n return <SchemaContainer space={space} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/selected-objects`,\n role: 'article',\n filter: (data): data is { companionTo: DataType.View; subject: 'selected-objects' } =>\n Obj.instanceOf(DataType.View, data.companionTo) && data.subject === 'selected-objects',\n component: ({ data }) => (\n <ObjectDetailsPanel\n key={fullyQualifiedId(data.companionTo)}\n objectId={fullyQualifiedId(data.companionTo)}\n view={data.companionTo}\n />\n ),\n }),\n createSurface({\n id: JOIN_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: JoinPanelProps } => data.component === JOIN_DIALOG,\n component: ({ data }) => <JoinDialog {...data.props} />,\n }),\n createSurface({\n id: CREATE_SPACE_DIALOG,\n role: 'dialog',\n filter: (data): data is any => data.component === CREATE_SPACE_DIALOG,\n component: () => <CreateSpaceDialog />,\n }),\n createSurface({\n id: CREATE_OBJECT_DIALOG,\n role: 'dialog',\n filter: (data): data is { props: CreateObjectDialogProps } => data.component === CREATE_OBJECT_DIALOG,\n component: ({ data }) => <CreateObjectDialog {...data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[hue]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, HueAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextHue: string) => onValueChange(type, nextHue), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <HuePicker disabled={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/create-initial-space-form-[icon]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: Schema.Schema<any> } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, IconAnnotationId);\n return !!annotation;\n },\n component: ({ data: _, ...inputProps }) => {\n const { label, disabled, type, getValue, onValueChange } = inputProps as any as InputProps;\n const handleChange = useCallback((nextIcon: string) => onValueChange(type, nextIcon), [onValueChange]);\n const handleReset = useCallback(() => onValueChange(type, undefined), [onValueChange]);\n return (\n <Input.Root>\n <Input.Label>{label}</Input.Label>\n <IconPicker disabled={disabled} value={getValue() ?? ''} onChange={handleChange} onReset={handleReset} />\n </Input.Root>\n );\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/typename-form-input`,\n role: 'form-input',\n filter: (\n data,\n ): data is { prop: string; schema: Schema.Schema<any>; target: Space | DataType.Collection | undefined } => {\n if (data.prop !== 'typename') {\n return false;\n }\n\n const annotation = findAnnotation((data.schema as Schema.Schema.All).ast, TypenameAnnotationId);\n return !!annotation;\n },\n component: ({ data: { schema, target }, ...inputProps }) => {\n const { t } = useTranslation();\n const client = useClient();\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n\n const annotation = findAnnotation<TypenameAnnotation[]>(schema.ast, TypenameAnnotationId)!;\n\n const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);\n const whitelistedTypenames = useMemo(\n () => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => Type.getTypename(type)))),\n [schemaWhitelists],\n );\n\n const objectForms = useCapabilities(SpaceCapabilities.ObjectForm);\n const objectFormTypenames = useMemo(\n () =>\n new Set(\n objectForms\n .map((form) => Type.getTypename(form.objectSchema))\n // TODO(wittjosiah): Remove.\n .filter((typename) => !OMIT.includes(typename) && !typename.endsWith('View')),\n ),\n [objectForms],\n );\n\n const fixed = client.graph.schemaRegistry.schemas.filter((schema) => {\n const limitedStatic =\n annotation.includes('limited-static') && whitelistedTypenames.has(Type.getTypename(schema));\n const unusedStatic =\n annotation.includes('unused-static') &&\n whitelistedTypenames.has(Type.getTypename(schema)) &&\n !space.properties.staticRecords?.includes(Type.getTypename(schema));\n const objectForm = annotation.includes('object-form') && objectFormTypenames.has(Type.getTypename(schema));\n return annotation.includes('static') || limitedStatic || unusedStatic || objectForm;\n });\n const dynamic = space?.db.schemaRegistry.query().runSync();\n const typenames = Array.from(\n new Set<string>([\n ...(annotation.includes('limited-static') ||\n annotation.includes('unused-static') ||\n annotation.includes('static') ||\n annotation.includes('object-form')\n ? fixed.map((schema) => Type.getTypename(schema))\n : []),\n ...(annotation.includes('dynamic') ? dynamic.map((schema) => schema.typename) : []),\n ]),\n ).sort();\n\n const options = useMemo(\n () =>\n typenames\n .map((typename) => ({\n value: typename,\n label: t('typename label', { ns: typename, defaultValue: typename }),\n }))\n .toSorted((a, b) => a.label.localeCompare(b.label)),\n [t, typenames],\n );\n\n return <SelectInput {...props} options={options} />;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: DataType.View } => Obj.instanceOf(DataType.View, data.subject),\n component: ({ data }) => <ViewEditor view={data.subject} />,\n }),\n createSurface({\n id: POPOVER_RENAME_SPACE,\n role: 'card--popover',\n filter: (data): data is { props: Space } => data.component === POPOVER_RENAME_SPACE && isSpace(data.props),\n component: ({ data }) => <PopoverRenameSpace space={data.props} />,\n }),\n createSurface({\n id: POPOVER_RENAME_OBJECT,\n role: 'card--popover',\n filter: (data): data is { props: Obj.Any } =>\n data.component === POPOVER_RENAME_OBJECT && isLiveObject(data.props),\n component: ({ data }) => <PopoverRenameObject object={data.props} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/menu-footer`,\n role: 'menu-footer',\n filter: (data): data is { subject: Obj.Any } => Obj.isObject(data.subject),\n component: ({ data }) => <MenuFooter object={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence`,\n role: 'navtree-item-end',\n filter: (data): data is { id: string; subject: Obj.Any; open?: boolean } =>\n typeof data.id === 'string' && Obj.isObject(data.subject),\n component: ({ data }) => {\n // TODO(wittjosiah): Doesn't need to be mutable but readonly type messes with ComplexMap.\n const state = useCapability(SpaceCapabilities.MutableState);\n return <SmallPresenceLive id={data.id} open={data.open} viewers={state.viewersByObject[data.id]} />;\n },\n }),\n // TODO(wittjosiah): Attention glyph for non-echo items should be handled elsewhere.\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-presence-fallback`,\n role: 'navtree-item-end',\n position: 'fallback',\n filter: (data): data is { id: string; open?: boolean } => typeof data.id === 'string',\n component: ({ data }) => <SmallPresenceLive id={data.id} open={data.open} />,\n }),\n // TODO(wittjosiah): Broken?\n createSurface({\n id: `${SPACE_PLUGIN}/navtree-sync-status`,\n role: 'navtree-item-end',\n filter: (data): data is { subject: Space; open?: boolean } => isSpace(data.subject),\n component: ({ data }) => <InlineSyncStatus space={data.subject} open={data.open} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/navbar-presence`,\n role: 'navbar-end',\n position: 'hoist',\n filter: (data): data is { subject: Space | Obj.Any } => isSpace(data.subject) || Obj.isObject(data.subject),\n component: ({ data }) => {\n const space = isSpace(data.subject) ? data.subject : getSpace(data.subject);\n const object = isSpace(data.subject)\n ? data.subject.state.get() === SpaceState.SPACE_READY\n ? (space?.properties[DataType.Collection.typename]?.target as DataType.Collection)\n : undefined\n : data.subject;\n\n return object ? <SpacePresence object={object} /> : null;\n },\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/collection-section`,\n role: 'section',\n filter: (data): data is { subject: DataType.Collection } => Obj.instanceOf(DataType.Collection, data.subject),\n component: ({ data }) => <CollectionSection collection={data.subject} />,\n }),\n createSurface({\n id: `${SPACE_PLUGIN}/status`,\n role: 'status',\n component: () => <SyncStatus />,\n }),\n ]);\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useCallback", "useMemo", "Capabilities", "contributes", "createSurface", "Surface", "useCapabilities", "useCapability", "useLayout", "Obj", "Type", "findAnnotation", "SettingsStore", "ClientCapabilities", "useClient", "fullyQualifiedId", "getSpace", "isLiveObject", "isSpace", "parseId", "SpaceState", "useSpace", "Input", "useTranslation", "SelectInput", "HuePicker", "IconPicker", "DataType", "TypenameAnnotationId", "OMIT", "DataType", "Collection", "typename", "QueryCollection", "createInvitationUrl", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "SPACE_PLUGIN", "role", "filter", "data", "isSpace", "subject", "state", "get", "SpaceState", "SPACE_READY", "component", "rest", "Surface", "properties", "target", "position", "Obj", "instanceOf", "CollectionMain", "collection", "SettingsStore", "prefix", "SpacePluginSettings", "settings", "value", "isObject", "companionTo", "ObjectSettingsContainer", "object", "layout", "useLayout", "spaceId", "parseId", "workspace", "space", "useSpace", "SpaceSettingsContainer", "MembersContainer", "SchemaContainer", "View", "ObjectDetailsPanel", "key", "fullyQualifiedId", "objectId", "view", "JOIN_DIALOG", "JoinDialog", "props", "CREATE_SPACE_DIALOG", "CreateSpaceDialog", "CREATE_OBJECT_DIALOG", "CreateObjectDialog", "annotation", "findAnnotation", "schema", "ast", "HueAnnotationId", "_", "inputProps", "label", "disabled", "type", "getValue", "onValueChange", "handleChange", "useCallback", "nextHue", "handleReset", "undefined", "Input", "Root", "Label", "HuePicker", "onChange", "onReset", "IconAnnotationId", "nextIcon", "IconPicker", "prop", "TypenameAnnotationId", "t", "useTranslation", "client", "useClient", "getSpace", "schemaWhitelists", "useCapabilities", "ClientCapabilities", "SchemaWhiteList", "whitelistedTypenames", "useMemo", "Set", "flatMap", "typeArray", "map", "Type", "getTypename", "objectForms", "SpaceCapabilities", "ObjectForm", "objectFormTypenames", "form", "objectSchema", "includes", "endsWith", "fixed", "graph", "schemaRegistry", "schemas", "limitedStatic", "has", "unusedStatic", "staticRecords", "objectForm", "dynamic", "db", "query", "runSync", "typenames", "Array", "from", "sort", "options", "ns", "defaultValue", "toSorted", "a", "b", "localeCompare", "SelectInput", "ViewEditor", "POPOVER_RENAME_SPACE", "PopoverRenameSpace", "POPOVER_RENAME_OBJECT", "isLiveObject", "PopoverRenameObject", "MenuFooter", "useCapability", "MutableState", "SmallPresenceLive", "open", "viewers", "viewersByObject", "InlineSyncStatus", "SpacePresence", "CollectionSection", "SyncStatus"]
7
+ }
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  SpaceCapabilities
4
- } from "./chunk-AT7LGFER.mjs";
4
+ } from "./chunk-5T3ZH23B.mjs";
5
5
  import "./chunk-HWNG4MEU.mjs";
6
6
 
7
7
  // src/capabilities/schema-defs.ts
@@ -24,4 +24,4 @@ var schema_defs_default = (context) => {
24
24
  export {
25
25
  schema_defs_default as default
26
26
  };
27
- //# sourceMappingURL=schema-defs-4MCDG4DV.mjs.map
27
+ //# sourceMappingURL=schema-defs-WHJM7UZE.mjs.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  SpaceSettingsSchema
4
- } from "./chunk-2THX6G4C.mjs";
4
+ } from "./chunk-JH6F4C3I.mjs";
5
5
  import {
6
6
  meta
7
7
  } from "./chunk-HWNG4MEU.mjs";
@@ -22,4 +22,4 @@ var settings_default = () => {
22
22
  export {
23
23
  settings_default as default
24
24
  };
25
- //# sourceMappingURL=settings-YGKHGFPH.mjs.map
25
+ //# sourceMappingURL=settings-SAOBPND3.mjs.map
@@ -1,14 +1,14 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  SpaceCapabilities
4
- } from "./chunk-AT7LGFER.mjs";
4
+ } from "./chunk-5T3ZH23B.mjs";
5
5
  import {
6
6
  COMPOSER_SPACE_LOCK,
7
7
  SHARED
8
- } from "./chunk-HJJHLWKY.mjs";
8
+ } from "./chunk-4AOMYKDE.mjs";
9
9
  import {
10
10
  SpaceAction
11
- } from "./chunk-2THX6G4C.mjs";
11
+ } from "./chunk-JH6F4C3I.mjs";
12
12
  import "./chunk-HWNG4MEU.mjs";
13
13
 
14
14
  // src/capabilities/spaces-ready.ts
@@ -197,4 +197,4 @@ var spaces_ready_default = async (context) => {
197
197
  export {
198
198
  spaces_ready_default as default
199
199
  };
200
- //# sourceMappingURL=spaces-ready-UM2P3DCR.mjs.map
200
+ //# sourceMappingURL=spaces-ready-HIUKNDZK.mjs.map
@@ -1,7 +1,7 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  SpaceCapabilities
4
- } from "./chunk-AT7LGFER.mjs";
4
+ } from "./chunk-5T3ZH23B.mjs";
5
5
  import {
6
6
  SPACE_PLUGIN
7
7
  } from "./chunk-HWNG4MEU.mjs";
@@ -45,4 +45,4 @@ var state_default = (context) => {
45
45
  export {
46
46
  state_default as default
47
47
  };
48
- //# sourceMappingURL=state-C4IOXPZP.mjs.map
48
+ //# sourceMappingURL=state-ZVEHQ4BJ.mjs.map
@@ -10,7 +10,7 @@ import {
10
10
  SpaceForm,
11
11
  SpaceSettingsSchema,
12
12
  defineObjectForm
13
- } from "../chunk-2THX6G4C.mjs";
13
+ } from "../chunk-JH6F4C3I.mjs";
14
14
  import "../chunk-HWNG4MEU.mjs";
15
15
  export {
16
16
  CollectionAction,
@@ -1 +1 @@
1
- {"version":3,"file":"SpacePlugin.d.ts","sourceRoot":"","sources":["../../../src/SpacePlugin.ts"],"names":[],"mappings":"AAyCA,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,qDAIzB,kBAAuB,yCAmIzB,CAAC"}
1
+ {"version":3,"file":"SpacePlugin.d.ts","sourceRoot":"","sources":["../../../src/SpacePlugin.ts"],"names":[],"mappings":"AAyCA,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,qDAIzB,kBAAuB,yCAsNzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAOA,OAAO,EAA2C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;yBAwBlF,SAAS,aAAa;AAAtC,wBA2fE"}
1
+ {"version":3,"file":"app-graph-builder.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/app-graph-builder.ts"],"names":[],"mappings":"AAOA,OAAO,EAA2C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;yBA0BlF,SAAS,aAAa;AAAtC,wBAypBE"}
@@ -1,7 +1,8 @@
1
- import { type Label } from '@dxos/app-framework';
1
+ import { type Schema } from 'effect';
2
+ import { type AnyIntentChain, type Label } from '@dxos/app-framework';
2
3
  import { type Space } from '@dxos/react-client/echo';
3
4
  import { type DataType } from '@dxos/schema';
4
- import { type Position, type DeepReadonly, type MaybePromise } from '@dxos/util';
5
+ import { type Position, type DeepReadonly } from '@dxos/util';
5
6
  import { type ObjectForm, type PluginState } from '../types';
6
7
  export declare namespace SpaceCapabilities {
7
8
  const State: import("@dxos/app-framework").InterfaceDef<DeepReadonly<PluginState>>;
@@ -15,8 +16,13 @@ export declare namespace SpaceCapabilities {
15
16
  type OnSpaceCreated = (params: {
16
17
  space: Space;
17
18
  rootCollection: DataType.Collection;
18
- }) => MaybePromise<void>;
19
+ }) => AnyIntentChain;
19
20
  const OnSpaceCreated: import("@dxos/app-framework").InterfaceDef<OnSpaceCreated>;
21
+ type OnSchemaAdded = (params: {
22
+ space: Space;
23
+ schema: Schema.Schema.AnyNoContext;
24
+ }) => AnyIntentChain;
25
+ const OnSchemaAdded: import("@dxos/app-framework").InterfaceDef<OnSchemaAdded>;
20
26
  const ObjectForm: import("@dxos/app-framework").InterfaceDef<ObjectForm<any>>;
21
27
  }
22
28
  //# sourceMappingURL=capabilities.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/capabilities.ts"],"names":[],"mappings":"AAIA,OAAO,EAAoB,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAGjF,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAE7D,yBAAiB,iBAAiB,CAAC;IAC1B,MAAM,KAAK,uEAAkF,CAAC;IAC9F,MAAM,YAAY,yDAAoE,CAAC;IAE9F,KAAY,eAAe,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC;IACzE,MAAM,eAAe,6DAAmF,CAAC;IAEhH,KAAY,cAAc,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,cAAc,EAAE,QAAQ,CAAC,UAAU,CAAA;KAAE,KAAK,YAAY,CAAC,IAAI,CAAC,CAAC;IAC5G,MAAM,cAAc,4DAAkF,CAAC;IAEvG,MAAM,UAAU,6DAA8E,CAAC;CACvG"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/capabilities.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,EAAE,KAAK,cAAc,EAAoB,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAG9D,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAE7D,yBAAiB,iBAAiB,CAAC;IAC1B,MAAM,KAAK,uEAAkF,CAAC;IAC9F,MAAM,YAAY,yDAAoE,CAAC;IAE9F,KAAY,eAAe,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;KAAE,CAAC;IACzE,MAAM,eAAe,6DAAmF,CAAC;IAEhH,KAAY,cAAc,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,cAAc,EAAE,QAAQ,CAAC,UAAU,CAAA;KAAE,KAAK,cAAc,CAAC;IACxG,MAAM,cAAc,4DAAkF,CAAC;IAE9G,KAAY,aAAa,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAA;KAAE,KAAK,cAAc,CAAC;IACtG,MAAM,aAAa,2DAAgF,CAAC;IAEpG,MAAM,UAAU,6DAA8E,CAAC;CACvG"}
@@ -1 +1 @@
1
- {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,YAAY,EAEZ,KAAK,aAAa,EAInB,MAAM,qBAAqB,CAAC;AA8B7B,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,mBAAmB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;yBAEc,iDAAiD,qBAAqB;AAAtF,wBAuhBE"}
1
+ {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,YAAY,EAEZ,KAAK,aAAa,EAInB,MAAM,qBAAqB,CAAC;AA8B7B,KAAK,qBAAqB,GAAG;IAC3B,OAAO,EAAE,aAAa,CAAC;IACvB,mBAAmB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;IACxD,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;yBAEc,iDAAiD,qBAAqB;AAAtF,wBAooBE"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,EAOb,MAAM,qBAAqB,CAAC;AA0C7B,KAAK,mBAAmB,GAAG;IACzB,mBAAmB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;CACzD,CAAC;yBAIc,yBAAyB,mBAAmB;AAA5D,wBA6RK"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,YAAY,EAOb,MAAM,qBAAqB,CAAC;AAqD7B,KAAK,mBAAmB,GAAG;IACzB,mBAAmB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;CACzD,CAAC;yBAIc,yBAAyB,mBAAmB;AAA5D,wBAuTK"}
@@ -1 +1 @@
1
- {"version":3,"file":"AwaitingObject.d.ts","sourceRoot":"","sources":["../../../../src/components/AwaitingObject.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAchE,eAAO,MAAM,cAAc,GAAI,QAAQ;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,sBA8FpD,CAAC"}
1
+ {"version":3,"file":"AwaitingObject.d.ts","sourceRoot":"","sources":["../../../../src/components/AwaitingObject.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAahE,eAAO,MAAM,cAAc,GAAI,QAAQ;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,sBA8FpD,CAAC"}
@@ -3,4 +3,5 @@ import { type DataType } from '@dxos/schema';
3
3
  export declare const CollectionMain: ({ collection }: {
4
4
  collection: DataType.Collection;
5
5
  }) => React.JSX.Element;
6
+ export default CollectionMain;
6
7
  //# sourceMappingURL=CollectionMain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CollectionMain.d.ts","sourceRoot":"","sources":["../../../../src/components/CollectionMain.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAI7C,eAAO,MAAM,cAAc,GAAI,gBAAgB;IAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAA;CAAE,sBAiBjF,CAAC"}
1
+ {"version":3,"file":"CollectionMain.d.ts","sourceRoot":"","sources":["../../../../src/components/CollectionMain.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAI7C,eAAO,MAAM,cAAc,GAAI,gBAAgB;IAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAA;CAAE,sBAiBjF,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
- import { type Obj } from '@dxos/echo';
2
+ import { Obj } from '@dxos/echo';
3
3
  import { type CreateObjectPanelProps } from './CreateObjectPanel';
4
4
  export declare const CREATE_OBJECT_DIALOG = "dxos.org/plugin/space/CreateObjectDialog";
5
5
  export type CreateObjectDialogProps = Pick<CreateObjectPanelProps, 'target' | 'typename' | 'name'> & {
6
+ onCreateObject?: (object: Obj.Any) => void;
6
7
  shouldNavigate?: (object: Obj.Any) => boolean;
7
8
  };
8
- export declare const CreateObjectDialog: ({ target: initialTarget, typename: initialTypename, name, shouldNavigate: _shouldNavigate, }: CreateObjectDialogProps) => React.JSX.Element;
9
+ export declare const CreateObjectDialog: ({ target: initialTarget, typename: initialTypename, name, onCreateObject, shouldNavigate: _shouldNavigate, }: CreateObjectDialogProps) => React.JSX.Element;
9
10
  //# sourceMappingURL=CreateObjectDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CreateObjectDialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/CreateDialog/CreateObjectDialog.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAW7D,OAAO,EAAe,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AASnD,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAKrF,eAAO,MAAM,oBAAoB,6CAAuC,CAAC;AAEzE,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC,GAAG;IACnG,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,8FAKhC,uBAAuB,sBA8EzB,CAAC"}
1
+ {"version":3,"file":"CreateObjectDialog.d.ts","sourceRoot":"","sources":["../../../../../src/components/CreateDialog/CreateObjectDialog.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAwC,MAAM,OAAO,CAAC;AAW7D,OAAO,EAAE,GAAG,EAAe,MAAM,YAAY,CAAC;AAS9C,OAAO,EAAqB,KAAK,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAKrF,eAAO,MAAM,oBAAoB,6CAAuC,CAAC;AAEzE,MAAM,MAAM,uBAAuB,GAAG,IAAI,CAAC,sBAAsB,EAAE,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC,GAAG;IACnG,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC;CAC/C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,8GAMhC,uBAAuB,sBAgFzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MembersContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/MembersContainer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAMlG,OAAO,EAAyC,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAkC5F,eAAO,MAAM,gBAAgB,GAAI,iCAG9B;IACD,KAAK,EAAE,KAAK,CAAC;IACb,mBAAmB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;CACzD,sBAmIA,CAAC"}
1
+ {"version":3,"file":"MembersContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/MembersContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA6E,MAAM,OAAO,CAAC;AAMlG,OAAO,EAAyC,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAiC5F,eAAO,MAAM,gBAAgB,GAAI,iCAG9B;IACD,KAAK,EAAE,KAAK,CAAC;IACb,mBAAmB,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,MAAM,CAAC;CACzD,sBAmIA,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MenuFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/MenuFooter.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAOtC,eAAO,MAAM,UAAU,GAAI,YAAY;IAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAA;CAAE,6BAkBzD,CAAC"}
1
+ {"version":3,"file":"MenuFooter.d.ts","sourceRoot":"","sources":["../../../../src/components/MenuFooter.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAOtC,eAAO,MAAM,UAAU,GAAI,YAAY;IAAE,MAAM,EAAE,GAAG,CAAC,GAAG,CAAA;CAAE,6BAkBzD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { type DataType } from '@dxos/schema';
3
+ type RowDetailsPanelProps = {
4
+ objectId: string;
5
+ view: DataType.View;
6
+ };
7
+ declare const ObjectDetailsPanel: ({ objectId, view }: RowDetailsPanelProps) => React.JSX.Element;
8
+ export default ObjectDetailsPanel;
9
+ //# sourceMappingURL=ObjectDetailsPanel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ObjectDetailsPanel.d.ts","sourceRoot":"","sources":["../../../../src/components/ObjectDetailsPanel.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAsB,MAAM,OAAO,CAAC;AAS3C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAK7C,KAAK,oBAAoB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAA;CAAE,CAAC;AAEtE,QAAA,MAAM,kBAAkB,GAAI,oBAAoB,oBAAoB,sBAsDnE,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PersistenceStatus.d.ts","sourceRoot":"","sources":["../../../../src/components/PersistenceStatus.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAa5D,eAAO,MAAM,iBAAiB,GAAI,QAAQ;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,sBA8D7D,CAAC"}
1
+ {"version":3,"file":"PersistenceStatus.d.ts","sourceRoot":"","sources":["../../../../src/components/PersistenceStatus.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAGnD,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAa5D,eAAO,MAAM,iBAAiB,GAAI,QAAQ;IAAE,EAAE,EAAE,YAAY,CAAA;CAAE,sBA8D7D,CAAC"}
@@ -3,6 +3,6 @@ import { type SpaceSyncStateMap } from '@dxos/react-client/echo';
3
3
  export declare const SyncStatus: () => React.JSX.Element;
4
4
  export declare const SyncStatusIndicator: ({ state, saved }: {
5
5
  state: SpaceSyncStateMap;
6
- saved: Boolean;
6
+ saved: boolean;
7
7
  }) => React.JSX.Element;
8
8
  //# sourceMappingURL=SyncStatus.d.ts.map
@@ -1,9 +1,9 @@
1
1
  export type Status = 'saving locally' | 'downloading' | 'uploading' | 'offline persisted' | 'remote synced';
2
2
  export declare const getStatus: ({ offline, saved, needsToUpload, needsToDownload, }: {
3
- offline: Boolean;
4
- saved: Boolean;
5
- needsToUpload: Boolean;
6
- needsToDownload: Boolean;
3
+ offline: boolean;
4
+ saved: boolean;
5
+ needsToUpload: boolean;
6
+ needsToDownload: boolean;
7
7
  }) => Status;
8
- export declare const getIcon: (status: Status) => "ph--download--regular" | "ph--cloud-arrow-down--regular" | "ph--cloud-arrow-up--regular" | "ph--check-circle--regular" | "ph--cloud-check--regular";
8
+ export declare const getIcon: (status: Status) => "ph--check-circle--regular" | "ph--download--regular" | "ph--cloud-arrow-down--regular" | "ph--cloud-arrow-up--regular" | "ph--cloud-check--regular";
9
9
  //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { DataType } from '@dxos/schema';
3
+ type ViewEditorProps = {
4
+ view: DataType.View;
5
+ };
6
+ export declare const ViewEditor: ({ view }: ViewEditorProps) => React.JSX.Element | null;
7
+ export {};
8
+ //# sourceMappingURL=ViewEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ViewEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/ViewEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAQpD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAIxC,KAAK,eAAe,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAA;CAAE,CAAC;AAE/C,eAAO,MAAM,UAAU,GAAI,UAAU,eAAe,6BA6CnD,CAAC"}
@@ -1,6 +1,5 @@
1
1
  export * from './AwaitingObject';
2
2
  export * from './CreateDialog';
3
- export * from './CollectionMain';
4
3
  export * from './CollectionSection';
5
4
  export * from './JoinDialog';
6
5
  export * from './MembersContainer';
@@ -14,4 +13,12 @@ export * from './SpacePresence';
14
13
  export * from './SpacePluginSettings';
15
14
  export * from './SpaceSettings';
16
15
  export * from './SyncStatus';
16
+ export * from './ViewEditor';
17
+ export declare const CollectionMain: import("react").LazyExoticComponent<({ collection }: {
18
+ collection: import("@dxos/schema").DataType.Collection;
19
+ }) => import("react").JSX.Element>;
20
+ export declare const ObjectDetailsPanel: import("react").LazyExoticComponent<({ objectId, view }: {
21
+ objectId: string;
22
+ view: import("@dxos/schema").DataType.View;
23
+ }) => import("react").JSX.Element>;
17
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAMA,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAE7B,eAAO,MAAM,cAAc;;kCAAyC,CAAC;AACrE,eAAO,MAAM,kBAAkB;;;kCAA6C,CAAC"}
@@ -3,5 +3,6 @@ export declare namespace SpaceEvents {
3
3
  const SetupSettingsPanel: import("@dxos/app-framework").ActivationEvent;
4
4
  const DefaultSpaceReady: import("@dxos/app-framework").ActivationEvent;
5
5
  const SpaceCreated: import("@dxos/app-framework").ActivationEvent;
6
+ const SchemaAdded: import("@dxos/app-framework").ActivationEvent;
6
7
  }
7
8
  //# sourceMappingURL=events.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAQA,yBAAiB,WAAW,CAAC;IACpB,MAAM,UAAU,+CAA+D,CAAC;IAChF,MAAM,kBAAkB,+CAA4D,CAAC;IACrF,MAAM,iBAAiB,+CAA2D,CAAC;IACnF,MAAM,YAAY,+CAAqD,CAAC;CAChF"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/events.ts"],"names":[],"mappings":"AAQA,yBAAiB,WAAW,CAAC;IACpB,MAAM,UAAU,+CAA+D,CAAC;IAChF,MAAM,kBAAkB,+CAA4D,CAAC;IACrF,MAAM,iBAAiB,+CAA2D,CAAC;IACnF,MAAM,YAAY,+CAAqD,CAAC;IACxE,MAAM,WAAW,+CAAoD,CAAC;CAC9E"}
@@ -1,3 +1,4 @@
1
+ import { StoredSchema } from '@dxos/echo-schema';
1
2
  import { DataType } from '@dxos/schema';
2
3
  import { meta } from './meta';
3
4
  export declare const translations: [{
@@ -8,6 +9,8 @@ export declare const translations: [{
8
9
  readonly 'typename label_one': "Collection";
9
10
  readonly 'typename label_other': "Collections";
10
11
  readonly 'object name placeholder': "New collection";
12
+ readonly 'rename object label': "Rename collection";
13
+ readonly 'delete object label': "Delete collection";
11
14
  };
12
15
  readonly [DataType.QueryCollection.typename]: {
13
16
  readonly 'typename label': "Smart Collection";
@@ -15,6 +18,61 @@ export declare const translations: [{
15
18
  readonly 'typename label_one': "Smart Collection";
16
19
  readonly 'typename label_other': "Smart Collections";
17
20
  readonly 'object name placeholder': "New smart collection";
21
+ readonly 'rename object label': "Rename smart collection";
22
+ readonly 'delete object label': "Delete smart collection";
23
+ };
24
+ readonly [StoredSchema.typename]: {
25
+ readonly 'typename label': "Record";
26
+ readonly 'typename label_zero': "Records";
27
+ readonly 'typename label_one': "Record";
28
+ readonly 'typename label_other': "Records";
29
+ readonly 'object name placeholder': "New record type";
30
+ readonly 'rename object label': "Rename record type";
31
+ readonly 'delete object label': "Delete record type";
32
+ };
33
+ readonly [DataType.View.typename]: {
34
+ readonly 'typename label': "View";
35
+ readonly 'typename label_zero': "Views";
36
+ readonly 'typename label_one': "View";
37
+ readonly 'typename label_other': "Views";
38
+ readonly 'object name placeholder': "New view";
39
+ readonly 'rename object label': "Rename view";
40
+ readonly 'delete object label': "Delete view";
41
+ };
42
+ readonly [DataType.Event.typename]: {
43
+ readonly 'typename label': "Event";
44
+ readonly 'typename label_zero': "Events";
45
+ readonly 'typename label_one': "Event";
46
+ readonly 'typename label_other': "Events";
47
+ readonly 'object name placeholder': "New event";
48
+ };
49
+ readonly [DataType.Organization.typename]: {
50
+ readonly 'typename label': "Organization";
51
+ readonly 'typename label_zero': "Organizations";
52
+ readonly 'typename label_one': "Organization";
53
+ readonly 'typename label_other': "Organizations";
54
+ readonly 'object name placeholder': "New organization";
55
+ };
56
+ readonly [DataType.Person.typename]: {
57
+ readonly 'typename label': "Person";
58
+ readonly 'typename label_zero': "People";
59
+ readonly 'typename label_one': "Person";
60
+ readonly 'typename label_other': "People";
61
+ readonly 'object name placeholder': "New person";
62
+ };
63
+ readonly [DataType.Project.typename]: {
64
+ readonly 'typename label': "Project";
65
+ readonly 'typename label_zero': "Projects";
66
+ readonly 'typename label_one': "Project";
67
+ readonly 'typename label_other': "Projects";
68
+ readonly 'object name placeholder': "New project";
69
+ };
70
+ readonly [DataType.Task.typename]: {
71
+ readonly 'typename label': "Task";
72
+ readonly 'typename label_zero': "Tasks";
73
+ readonly 'typename label_one': "Task";
74
+ readonly 'typename label_other': "Tasks";
75
+ readonly 'object name placeholder': "New task";
18
76
  };
19
77
  readonly [meta.id]: {
20
78
  readonly 'plugin name': "Spaces";
@@ -122,6 +180,9 @@ export declare const translations: [{
122
180
  readonly 'foreign keys': "Foreign Keys";
123
181
  readonly 'add key': "Add Key";
124
182
  readonly 'open space settings label': "Open settings";
183
+ readonly 'row details no selection label': "No objects selected";
184
+ readonly 'companion selected objects label': "Selected";
185
+ readonly 'field deleted label': "Field deleted";
125
186
  readonly 'members panel label': "Members";
126
187
  readonly 'members verbose label': "Manage space members";
127
188
  readonly 'members description': "You can view the current status of space members here as well as invite new members.";
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,eAAO,MAAM,YAAY;;QAGnB,SAAA,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;;;;;;UAM7B;QACD,SAAA,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC;;;;;;UAMlC;QACD,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UA6IR;;EAGwB,CAAC"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAG9B,eAAO,MAAM,YAAY;;QAGnB,SAAA,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;;;;;;;;UAQ7B;QACD,SAAA,CAAC,QAAQ,CAAC,eAAe,CAAC,QAAQ,CAAC;;;;;;;;UAQlC;QACD,SAAA,CAAC,YAAY,CAAC,QAAQ,CAAC;;;;;;;;UAQtB;QACD,SAAA,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;;;;;UAQvB;QACD,SAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC;;;;;;UAMxB;QACD,SAAA,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;;;;;;UAM/B;QACD,SAAA,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC;;;;;;UAMzB;QACD,SAAA,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;;;;;;UAM1B;QACD,SAAA,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;;;UAMvB;QACD,SAAA,CAAC,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAiJR;;EAGwB,CAAC"}