@dxos/plugin-masonry 0.8.4-main.406dc2a → 0.8.4-main.4668b7de9b

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 (111) hide show
  1. package/LICENSE +102 -5
  2. package/PLUGIN.mdl +328 -0
  3. package/README.md +1 -1
  4. package/dist/lib/neutral/MasonryContainer-XXJXCOOA.mjs +96 -0
  5. package/dist/lib/neutral/MasonryContainer-XXJXCOOA.mjs.map +7 -0
  6. package/dist/lib/neutral/MasonryPlugin.mjs +38 -0
  7. package/dist/lib/neutral/MasonryPlugin.mjs.map +7 -0
  8. package/dist/lib/neutral/capabilities/index.mjs +11 -0
  9. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  10. package/dist/lib/neutral/chunk-IJ2FIXSI.mjs +32 -0
  11. package/dist/lib/neutral/chunk-IJ2FIXSI.mjs.map +7 -0
  12. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  13. package/dist/lib/neutral/chunk-J5LGTIGS.mjs.map +7 -0
  14. package/dist/lib/neutral/chunk-SS54S63V.mjs +66 -0
  15. package/dist/lib/neutral/chunk-SS54S63V.mjs.map +7 -0
  16. package/dist/lib/neutral/components/index.mjs +1 -0
  17. package/dist/lib/neutral/components/index.mjs.map +7 -0
  18. package/dist/lib/neutral/containers/index.mjs +9 -0
  19. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  20. package/dist/lib/neutral/create-object-WRCYV4HT.mjs +39 -0
  21. package/dist/lib/neutral/create-object-WRCYV4HT.mjs.map +7 -0
  22. package/dist/lib/neutral/index.mjs +14 -0
  23. package/dist/lib/neutral/index.mjs.map +7 -0
  24. package/dist/lib/neutral/meta.json +1 -0
  25. package/dist/lib/neutral/meta.mjs +8 -0
  26. package/dist/lib/neutral/meta.mjs.map +7 -0
  27. package/dist/lib/neutral/plugin.mjs +12 -0
  28. package/dist/lib/neutral/plugin.mjs.map +7 -0
  29. package/dist/lib/neutral/react-surface-7CZHE3XA.mjs +35 -0
  30. package/dist/lib/neutral/react-surface-7CZHE3XA.mjs.map +7 -0
  31. package/dist/lib/neutral/translations.mjs +30 -0
  32. package/dist/lib/neutral/translations.mjs.map +7 -0
  33. package/dist/lib/neutral/types/index.mjs +10 -0
  34. package/dist/lib/neutral/types/index.mjs.map +7 -0
  35. package/dist/types/src/MasonryPlugin.d.ts +3 -1
  36. package/dist/types/src/MasonryPlugin.d.ts.map +1 -1
  37. package/dist/types/src/MasonryPlugin.test.d.ts +2 -0
  38. package/dist/types/src/MasonryPlugin.test.d.ts.map +1 -0
  39. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  40. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  41. package/dist/types/src/capabilities/index.d.ts +8 -2
  42. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  43. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  44. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  45. package/dist/types/src/components/index.d.ts +1 -0
  46. package/dist/types/src/components/index.d.ts.map +1 -0
  47. package/dist/types/src/containers/MasonryContainer/MasonryContainer.d.ts +11 -0
  48. package/dist/types/src/containers/MasonryContainer/MasonryContainer.d.ts.map +1 -0
  49. package/dist/types/src/containers/MasonryContainer/MasonryContainer.stories.d.ts.map +1 -0
  50. package/dist/types/src/containers/MasonryContainer/index.d.ts +2 -0
  51. package/dist/types/src/containers/MasonryContainer/index.d.ts.map +1 -0
  52. package/dist/types/src/containers/index.d.ts +3 -0
  53. package/dist/types/src/containers/index.d.ts.map +1 -0
  54. package/dist/types/src/index.d.ts +1 -1
  55. package/dist/types/src/index.d.ts.map +1 -1
  56. package/dist/types/src/meta.d.ts +2 -2
  57. package/dist/types/src/meta.d.ts.map +1 -1
  58. package/dist/types/src/plugin.d.ts +3 -0
  59. package/dist/types/src/plugin.d.ts.map +1 -0
  60. package/dist/types/src/translations.d.ts +22 -11
  61. package/dist/types/src/translations.d.ts.map +1 -1
  62. package/dist/types/src/types/Masonry.d.ts +18 -23
  63. package/dist/types/src/types/Masonry.d.ts.map +1 -1
  64. package/dist/types/src/types/MasonryAction.d.ts +0 -17
  65. package/dist/types/src/types/MasonryAction.d.ts.map +1 -1
  66. package/dist/types/tsconfig.tsbuildinfo +1 -1
  67. package/package.json +90 -36
  68. package/src/MasonryPlugin.test.ts +26 -0
  69. package/src/MasonryPlugin.tsx +20 -54
  70. package/src/capabilities/create-object.ts +36 -0
  71. package/src/capabilities/index.ts +3 -3
  72. package/src/capabilities/react-surface.tsx +25 -17
  73. package/src/components/index.ts +3 -0
  74. package/src/containers/MasonryContainer/MasonryContainer.stories.tsx +78 -0
  75. package/src/containers/MasonryContainer/MasonryContainer.tsx +121 -0
  76. package/src/containers/MasonryContainer/index.ts +5 -0
  77. package/src/containers/index.ts +7 -0
  78. package/src/index.ts +1 -2
  79. package/src/meta.ts +22 -5
  80. package/src/plugin.ts +9 -0
  81. package/src/translations.ts +14 -9
  82. package/src/types/Masonry.ts +29 -32
  83. package/src/types/MasonryAction.ts +8 -17
  84. package/src/vite-env.d.ts +10 -0
  85. package/dist/lib/browser/chunk-VRZWIUS7.mjs +0 -87
  86. package/dist/lib/browser/chunk-VRZWIUS7.mjs.map +0 -7
  87. package/dist/lib/browser/index.mjs +0 -86
  88. package/dist/lib/browser/index.mjs.map +0 -7
  89. package/dist/lib/browser/intent-resolver-YK7KRGIJ.mjs +0 -31
  90. package/dist/lib/browser/intent-resolver-YK7KRGIJ.mjs.map +0 -7
  91. package/dist/lib/browser/meta.json +0 -1
  92. package/dist/lib/browser/react-surface-R2TDTTUL.mjs +0 -112
  93. package/dist/lib/browser/react-surface-R2TDTTUL.mjs.map +0 -7
  94. package/dist/lib/node-esm/chunk-Z4PPM6OA.mjs +0 -88
  95. package/dist/lib/node-esm/chunk-Z4PPM6OA.mjs.map +0 -7
  96. package/dist/lib/node-esm/index.mjs +0 -87
  97. package/dist/lib/node-esm/index.mjs.map +0 -7
  98. package/dist/lib/node-esm/intent-resolver-VVQIEZTT.mjs +0 -32
  99. package/dist/lib/node-esm/intent-resolver-VVQIEZTT.mjs.map +0 -7
  100. package/dist/lib/node-esm/meta.json +0 -1
  101. package/dist/lib/node-esm/react-surface-YTC42VZ3.mjs +0 -113
  102. package/dist/lib/node-esm/react-surface-YTC42VZ3.mjs.map +0 -7
  103. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  104. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  105. package/dist/types/src/components/MasonryContainer.d.ts +0 -7
  106. package/dist/types/src/components/MasonryContainer.d.ts.map +0 -1
  107. package/dist/types/src/components/MasonryContainer.stories.d.ts.map +0 -1
  108. package/src/capabilities/intent-resolver.ts +0 -25
  109. package/src/components/MasonryContainer.stories.tsx +0 -83
  110. package/src/components/MasonryContainer.tsx +0 -69
  111. /package/dist/types/src/{components → containers/MasonryContainer}/MasonryContainer.stories.d.ts +0 -0
@@ -0,0 +1,11 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/index.ts
4
+ import { Capability } from "@dxos/app-framework";
5
+ var CreateObject = Capability.lazy("CreateObject", () => import("../create-object-WRCYV4HT.mjs"));
6
+ var ReactSurface = Capability.lazy("ReactSurface", () => import("../react-surface-7CZHE3XA.mjs"));
7
+ export {
8
+ CreateObject,
9
+ ReactSurface
10
+ };
11
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/capabilities/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const CreateObject = Capability.lazy('CreateObject', () => import('./create-object'));\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n"],
5
+ "mappings": ";;;AAIA,SAASA,kBAAkB;AAEpB,IAAMC,eAAeD,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;AAClE,IAAMC,eAAeH,WAAWE,KAAK,gBAAgB,MAAM,OAAO,+BAAA,CAAA;",
6
+ "names": ["Capability", "CreateObject", "lazy", "ReactSurface"]
7
+ }
@@ -0,0 +1,32 @@
1
+ // src/meta.ts
2
+ import { Plugin } from "@dxos/app-framework";
3
+ import { DXN } from "@dxos/keys";
4
+ import { trim } from "@dxos/util";
5
+ var meta = Plugin.makeMeta({
6
+ key: DXN.make("org.dxos.plugin.masonry"),
7
+ name: "Masonry",
8
+ author: "DXOS",
9
+ description: trim`
10
+ Masonry renders a live, query-driven collection as a responsive column-balanced card grid.
11
+
12
+ A Masonry object wraps an ECHO View that defines which objects to show and in what order.
13
+ As objects are added or removed — by any peer — the grid reflows automatically, keeping cards
14
+ balanced across columns without manual arrangement.
15
+
16
+ Each card delegates its body to a Surface slot, so other plugins can supply rich, type-specific
17
+ content while Masonry handles layout, search, and context menus.
18
+
19
+ A built-in search bar filters cards client-side by label without modifying the underlying query,
20
+ making it easy to explore large collections without leaving the view.
21
+ `,
22
+ icon: "ph--wall--regular",
23
+ iconHue: "teal",
24
+ source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-masonry",
25
+ spec: "PLUGIN.mdl",
26
+ screenshots: []
27
+ });
28
+
29
+ export {
30
+ meta
31
+ };
32
+ //# sourceMappingURL=chunk-IJ2FIXSI.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { DXN } from '@dxos/keys';\nimport { trim } from '@dxos/util';\n\nexport const meta = Plugin.makeMeta({\n key: DXN.make('org.dxos.plugin.masonry'),\n name: 'Masonry',\n author: 'DXOS',\n description: trim`\n Masonry renders a live, query-driven collection as a responsive column-balanced card grid.\n\n A Masonry object wraps an ECHO View that defines which objects to show and in what order.\n As objects are added or removed — by any peer — the grid reflows automatically, keeping cards\n balanced across columns without manual arrangement.\n\n Each card delegates its body to a Surface slot, so other plugins can supply rich, type-specific\n content while Masonry handles layout, search, and context menus.\n\n A built-in search bar filters cards client-side by label without modifying the underlying query,\n making it easy to explore large collections without leaving the view.\n `,\n icon: 'ph--wall--regular',\n iconHue: 'teal',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-masonry',\n spec: 'PLUGIN.mdl',\n screenshots: [],\n});\n"],
5
+ "mappings": ";AAIA,SAASA,cAAc;AACvB,SAASC,WAAW;AACpB,SAASC,YAAY;AAEd,IAAMC,OAAOH,OAAOI,SAAS;EAClCC,KAAKJ,IAAIK,KAAK,yBAAA;EACdC,MAAM;EACNC,QAAQ;EACRC,aAAaP;;;;;;;;;;;;;EAabQ,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,MAAM;EACNC,aAAa,CAAA;AACf,CAAA;",
6
+ "names": ["Plugin", "DXN", "trim", "meta", "makeMeta", "key", "make", "name", "author", "description", "icon", "iconHue", "source", "spec", "screenshots"]
7
+ }
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export {
8
+ __export
9
+ };
10
+ //# sourceMappingURL=chunk-J5LGTIGS.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,66 @@
1
+ import {
2
+ __export
3
+ } from "./chunk-J5LGTIGS.mjs";
4
+
5
+ // src/types/Masonry.ts
6
+ var Masonry_exports = {};
7
+ __export(Masonry_exports, {
8
+ Masonry: () => Masonry,
9
+ make: () => make
10
+ });
11
+ import * as Schema from "effect/Schema";
12
+ import { DXN, Annotation, Obj, Ref, Type, View } from "@dxos/echo";
13
+ import { FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
14
+ import { ViewAnnotation } from "@dxos/schema";
15
+ var MasonrySchema = Schema.Struct({
16
+ name: Schema.String.pipe(Schema.optional),
17
+ view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),
18
+ arrangement: Schema.Array(Schema.Struct({
19
+ ids: Schema.Array(Obj.ID),
20
+ hidden: Schema.optional(Schema.Boolean)
21
+ })).pipe(FormInputAnnotation.set(false), Schema.optional)
22
+ }).pipe(LabelAnnotation.set([
23
+ "name"
24
+ ]), ViewAnnotation.set([
25
+ "view"
26
+ ]), Annotation.IconAnnotation.set({
27
+ icon: "ph--wall--regular",
28
+ hue: "green"
29
+ }), Type.makeObject(DXN.make("org.dxos.type.masonry", "0.1.0")));
30
+ var Masonry = MasonrySchema;
31
+ var make = ({ name, arrangement = [], view }) => {
32
+ return Obj.make(Masonry, {
33
+ name,
34
+ view: Ref.make(view),
35
+ arrangement
36
+ });
37
+ };
38
+
39
+ // src/types/MasonryAction.ts
40
+ var MasonryAction_exports = {};
41
+ __export(MasonryAction_exports, {
42
+ MasonryProps: () => MasonryProps
43
+ });
44
+ import * as Schema2 from "effect/Schema";
45
+ import { TypeInputOptionsAnnotation } from "@dxos/plugin-space";
46
+ var MasonryProps = Schema2.Struct({
47
+ name: Schema2.optional(Schema2.String),
48
+ // TODO(wittjosiah): This should be a query input instead.
49
+ typename: Schema2.String.pipe(Schema2.annotations({
50
+ title: "Select card type"
51
+ }), TypeInputOptionsAnnotation.set({
52
+ location: [
53
+ "database",
54
+ "runtime"
55
+ ],
56
+ kind: [
57
+ "user"
58
+ ]
59
+ }), Schema2.optional)
60
+ });
61
+
62
+ export {
63
+ Masonry_exports,
64
+ MasonryAction_exports
65
+ };
66
+ //# sourceMappingURL=chunk-SS54S63V.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/Masonry.ts", "../../../src/types/MasonryAction.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\n// QueryAST is referenced indirectly through `Type.InstanceType<typeof MasonrySchema>`\n// (Ref.Ref(View.View) → View.View → QueryAST.Query) in the emitted .d.ts; the\n// namespace import keeps the inferred types portable.\n// eslint-disable-next-line unused-imports/no-unused-imports\nimport { DXN, Annotation, Obj, QueryAST, Ref, Type, View } from '@dxos/echo';\nimport { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { ViewAnnotation } from '@dxos/schema';\n\nconst MasonrySchema = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n\n view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),\n\n arrangement: Schema.Array(\n Schema.Struct({\n ids: Schema.Array(Obj.ID),\n hidden: Schema.optional(Schema.Boolean),\n }),\n ).pipe(FormInputAnnotation.set(false), Schema.optional),\n // TODO(wittjosiah): Consider Masonry supporting not being just a view but referencing arbitrary data directly.\n}).pipe(\n LabelAnnotation.set(['name']),\n ViewAnnotation.set(['view']),\n Annotation.IconAnnotation.set({ icon: 'ph--wall--regular', hue: 'green' }),\n Type.makeObject(DXN.make('org.dxos.type.masonry', '0.1.0')),\n);\n\n// TODO(wittjosiah): Try to clean up this type inference.\nexport interface Masonry extends Type.InstanceType<typeof MasonrySchema> {}\nexport const Masonry: Type.Obj<Masonry> = MasonrySchema as any;\n\ntype MakeProps = Omit<Partial<Obj.MakeProps<typeof Masonry>>, 'view'> & {\n view: View.View;\n};\n\n/**\n * Make a masonry as a view of a data set.\n */\nexport const make = ({ name, arrangement = [], view }: MakeProps): Masonry => {\n return Obj.make(Masonry, { name, view: Ref.make(view), arrangement });\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { TypeInputOptionsAnnotation } from '@dxos/plugin-space';\n\nexport const MasonryProps = Schema.Struct({\n name: Schema.optional(Schema.String),\n // TODO(wittjosiah): This should be a query input instead.\n typename: Schema.String.pipe(\n Schema.annotations({ title: 'Select card type' }),\n TypeInputOptionsAnnotation.set({\n location: ['database', 'runtime'],\n kind: ['user'],\n }),\n Schema.optional,\n ),\n});\n"],
5
+ "mappings": ";;;;;AAAA;;;;;AAIA,YAAYA,YAAY;AAMxB,SAASC,KAAKC,YAAYC,KAAeC,KAAKC,MAAMC,YAAY;AAChE,SAASC,qBAAqBC,uBAAuB;AACrD,SAASC,sBAAsB;AAE/B,IAAMC,gBAAuBC,cAAO;EAClCC,MAAaC,cAAOC,KAAYC,eAAQ;EAExCC,MAAMZ,IAAIA,IAAIE,KAAKA,IAAI,EAAEQ,KAAKP,oBAAoBU,IAAI,KAAA,CAAA;EAEtDC,aAAoBC,aACXR,cAAO;IACZS,KAAYD,aAAMhB,IAAIkB,EAAE;IACxBC,QAAeP,gBAAgBQ,cAAO;EACxC,CAAA,CAAA,EACAT,KAAKP,oBAAoBU,IAAI,KAAA,GAAeF,eAAQ;AAExD,CAAA,EAAGD,KACDN,gBAAgBS,IAAI;EAAC;CAAO,GAC5BR,eAAeQ,IAAI;EAAC;CAAO,GAC3Bf,WAAWsB,eAAeP,IAAI;EAAEQ,MAAM;EAAqBC,KAAK;AAAQ,CAAA,GACxErB,KAAKsB,WAAW1B,IAAI2B,KAAK,yBAAyB,OAAA,CAAA,CAAA;AAK7C,IAAMC,UAA6BnB;AASnC,IAAMkB,OAAO,CAAC,EAAEhB,MAAMM,cAAc,CAAA,GAAIF,KAAI,MAAa;AAC9D,SAAOb,IAAIyB,KAAKC,SAAS;IAAEjB;IAAMI,MAAMZ,IAAIwB,KAAKZ,IAAAA;IAAOE;EAAY,CAAA;AACrE;;;AC9CA;;;;AAIA,YAAYY,aAAY;AAExB,SAASC,kCAAkC;AAEpC,IAAMC,eAAsBC,eAAO;EACxCC,MAAaC,iBAAgBC,cAAM;;EAEnCC,UAAiBD,eAAOE,KACfC,oBAAY;IAAEC,OAAO;EAAmB,CAAA,GAC/CT,2BAA2BU,IAAI;IAC7BC,UAAU;MAAC;MAAY;;IACvBC,MAAM;MAAC;;EACT,CAAA,GACOR,gBAAQ;AAEnB,CAAA;",
6
+ "names": ["Schema", "DXN", "Annotation", "Obj", "Ref", "Type", "View", "FormInputAnnotation", "LabelAnnotation", "ViewAnnotation", "MasonrySchema", "Struct", "name", "String", "pipe", "optional", "view", "set", "arrangement", "Array", "ids", "ID", "hidden", "Boolean", "IconAnnotation", "icon", "hue", "makeObject", "make", "Masonry", "Schema", "TypeInputOptionsAnnotation", "MasonryProps", "Struct", "name", "optional", "String", "typename", "pipe", "annotations", "title", "set", "location", "kind"]
7
+ }
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,9 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/containers/index.ts
4
+ import { lazy } from "react";
5
+ var MasonryContainer = lazy(() => import("../MasonryContainer-XXJXCOOA.mjs"));
6
+ export {
7
+ MasonryContainer
8
+ };
9
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/containers/index.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport const MasonryContainer: ComponentType<any> = lazy(() => import('./MasonryContainer'));\n"],
5
+ "mappings": ";;;AAIA,SAA6BA,YAAY;AAElC,IAAMC,mBAAuCD,KAAK,MAAM,OAAO,kCAAA,CAAA;",
6
+ "names": ["lazy", "MasonryContainer"]
7
+ }
@@ -0,0 +1,39 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/create-object.ts
4
+ import * as Effect from "effect/Effect";
5
+ import { Capability } from "@dxos/app-framework";
6
+ import { Operation } from "@dxos/compute";
7
+ import { Type } from "@dxos/echo";
8
+ import { SpaceOperation } from "@dxos/plugin-space";
9
+ import { SpaceCapabilities } from "@dxos/plugin-space";
10
+ import { ViewModel } from "@dxos/schema";
11
+ import { Masonry, MasonryAction } from "#types";
12
+ var create_object_default = Capability.makeModule(Effect.fnUntraced(function* () {
13
+ return Capability.contributes(SpaceCapabilities.CreateObjectEntry, {
14
+ id: Type.getTypename(Masonry.Masonry),
15
+ inputSchema: MasonryAction.MasonryProps,
16
+ createObject: (props, options) => Effect.gen(function* () {
17
+ const object = yield* Effect.promise(async () => {
18
+ const { view } = await ViewModel.makeFromDatabase({
19
+ db: options.db,
20
+ typename: props.typename
21
+ });
22
+ return Masonry.make({
23
+ name: props.name,
24
+ view
25
+ });
26
+ });
27
+ return yield* Operation.invoke(SpaceOperation.AddObject, {
28
+ object,
29
+ target: options.target,
30
+ hidden: true,
31
+ targetNodeId: options.targetNodeId
32
+ });
33
+ })
34
+ });
35
+ }));
36
+ export {
37
+ create_object_default as default
38
+ };
39
+ //# sourceMappingURL=create-object-WRCYV4HT.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/create-object.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capability } from '@dxos/app-framework';\nimport { Operation } from '@dxos/compute';\nimport { Type } from '@dxos/echo';\nimport { SpaceOperation } from '@dxos/plugin-space';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { ViewModel } from '@dxos/schema';\n\nimport { Masonry, MasonryAction } from '#types';\n\nexport default Capability.makeModule(\n Effect.fnUntraced(function* () {\n return Capability.contributes(SpaceCapabilities.CreateObjectEntry, {\n id: Type.getTypename(Masonry.Masonry),\n inputSchema: MasonryAction.MasonryProps,\n createObject: (props, options) =>\n Effect.gen(function* () {\n const object = yield* Effect.promise(async () => {\n const { view } = await ViewModel.makeFromDatabase({ db: options.db, typename: props.typename });\n return Masonry.make({ name: props.name, view });\n });\n return yield* Operation.invoke(SpaceOperation.AddObject, {\n object,\n target: options.target,\n hidden: true,\n targetNodeId: options.targetNodeId,\n });\n }),\n });\n }),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,iBAAiB;AAC1B,SAASC,YAAY;AACrB,SAASC,sBAAsB;AAC/B,SAASC,yBAAyB;AAClC,SAASC,iBAAiB;AAE1B,SAASC,SAASC,qBAAqB;AAEvC,IAAA,wBAAeP,WAAWQ,WACjBC,kBAAW,aAAA;AAChB,SAAOT,WAAWU,YAAYN,kBAAkBO,mBAAmB;IACjEC,IAAIV,KAAKW,YAAYP,QAAQA,OAAO;IACpCQ,aAAaP,cAAcQ;IAC3BC,cAAc,CAACC,OAAOC,YACbC,WAAI,aAAA;AACT,YAAMC,SAAS,OAAcC,eAAQ,YAAA;AACnC,cAAM,EAAEC,KAAI,IAAK,MAAMjB,UAAUkB,iBAAiB;UAAEC,IAAIN,QAAQM;UAAIC,UAAUR,MAAMQ;QAAS,CAAA;AAC7F,eAAOnB,QAAQoB,KAAK;UAAEC,MAAMV,MAAMU;UAAML;QAAK,CAAA;MAC/C,CAAA;AACA,aAAO,OAAOrB,UAAU2B,OAAOzB,eAAe0B,WAAW;QACvDT;QACAU,QAAQZ,QAAQY;QAChBC,QAAQ;QACRC,cAAcd,QAAQc;MACxB,CAAA;IACF,CAAA;EACJ,CAAA;AACF,CAAA,CAAA;",
6
+ "names": ["Effect", "Capability", "Operation", "Type", "SpaceOperation", "SpaceCapabilities", "ViewModel", "Masonry", "MasonryAction", "makeModule", "fnUntraced", "contributes", "CreateObjectEntry", "id", "getTypename", "inputSchema", "MasonryProps", "createObject", "props", "options", "gen", "object", "promise", "view", "makeFromDatabase", "db", "typename", "make", "name", "invoke", "AddObject", "target", "hidden", "targetNodeId"]
7
+ }
@@ -0,0 +1,14 @@
1
+ import {
2
+ MasonryAction_exports,
3
+ Masonry_exports
4
+ } from "./chunk-SS54S63V.mjs";
5
+ import {
6
+ meta
7
+ } from "./chunk-IJ2FIXSI.mjs";
8
+ import "./chunk-J5LGTIGS.mjs";
9
+ export {
10
+ Masonry_exports as Masonry,
11
+ MasonryAction_exports as MasonryAction,
12
+ meta
13
+ };
14
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1 @@
1
+ {"inputs":{"src/meta.ts":{"bytes":3536,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/types/Masonry.ts":{"bytes":5689,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/MasonryAction.ts":{"bytes":2135,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true}],"format":"esm"},"src/types/index.ts":{"bytes":616,"imports":[{"path":"src/types/Masonry.ts","kind":"import-statement","original":"./Masonry"},{"path":"src/types/MasonryAction.ts","kind":"import-statement","original":"./MasonryAction"}],"format":"esm"},"src/index.ts":{"bytes":449,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-masonry/PLUGIN.mdl?raw":{"bytes":10223,"imports":[]},"src/MasonryPlugin.tsx":{"bytes":3583,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true},{"path":"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-masonry/PLUGIN.mdl?raw","kind":"import-statement","original":"../PLUGIN.mdl?raw"}],"format":"esm"},"src/capabilities/create-object.ts":{"bytes":4883,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":4425,"imports":[{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1130,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/create-object.ts","kind":"dynamic-import","original":"./create-object"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/components/index.ts":{"bytes":288,"imports":[],"format":"esm"},"src/containers/MasonryContainer/MasonryContainer.tsx":{"bytes":15137,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-masonry","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-search","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/containers/MasonryContainer/index.ts":{"bytes":530,"imports":[{"path":"src/containers/MasonryContainer/MasonryContainer.tsx","kind":"import-statement","original":"./MasonryContainer"}],"format":"esm"},"src/containers/index.ts":{"bytes":726,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"src/containers/MasonryContainer/index.ts","kind":"dynamic-import","original":"./MasonryContainer"}],"format":"esm"},"src/plugin.ts":{"bytes":860,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"#plugin","kind":"dynamic-import","external":true}],"format":"esm"},"src/translations.ts":{"bytes":2723,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/lib/neutral/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/types/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-SS54S63V.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["Masonry","MasonryAction"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":234},"dist/lib/neutral/create-object-WRCYV4HT.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2476},"dist/lib/neutral/create-object-WRCYV4HT.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/compute","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/create-object.ts","inputs":{"src/capabilities/create-object.ts":{"bytesInOutput":1166}},"bytes":1334},"dist/lib/neutral/react-surface-7CZHE3XA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2179},"dist/lib/neutral/react-surface-7CZHE3XA.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Effect","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#containers","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":1082}},"bytes":1251},"dist/lib/neutral/MasonryContainer-XXJXCOOA.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8167},"dist/lib/neutral/MasonryContainer-XXJXCOOA.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/ui","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit/ui","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-masonry","kind":"import-statement","external":true},{"path":"@dxos/react-ui-menu","kind":"import-statement","external":true},{"path":"@dxos/react-ui-search","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/containers/MasonryContainer/index.ts","inputs":{"src/containers/MasonryContainer/MasonryContainer.tsx":{"bytesInOutput":3999},"src/containers/MasonryContainer/index.ts":{"bytesInOutput":0}},"bytes":4184},"dist/lib/neutral/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-SS54S63V.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-IJ2FIXSI.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["Masonry","MasonryAction","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0}},"bytes":287},"dist/lib/neutral/chunk-SS54S63V.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3977},"dist/lib/neutral/chunk-SS54S63V.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true}],"exports":["MasonryAction_exports","Masonry_exports"],"inputs":{"src/types/Masonry.ts":{"bytesInOutput":1049},"src/types/index.ts":{"bytesInOutput":0},"src/types/MasonryAction.ts":{"bytesInOutput":590}},"bytes":1846},"dist/lib/neutral/MasonryPlugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13265},"dist/lib/neutral/MasonryPlugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-toolkit","kind":"import-statement","external":true},{"path":"#capabilities","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#translations","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["MasonryPlugin","default"],"entryPoint":"src/MasonryPlugin.tsx","inputs":{"src/MasonryPlugin.tsx":{"bytesInOutput":769},"raw-loader:/__w/dxos/dxos/packages/plugins/plugin-masonry/PLUGIN.mdl?raw":{"bytesInOutput":11247}},"bytes":12283},"dist/lib/neutral/capabilities/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":602},"dist/lib/neutral/capabilities/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/neutral/create-object-WRCYV4HT.mjs","kind":"dynamic-import"},{"path":"dist/lib/neutral/react-surface-7CZHE3XA.mjs","kind":"dynamic-import"}],"exports":["CreateObject","ReactSurface"],"entryPoint":"src/capabilities/index.ts","inputs":{"src/capabilities/index.ts":{"bytesInOutput":248}},"bytes":388},"dist/lib/neutral/components/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/components/index.mjs":{"imports":[],"exports":[],"entryPoint":"src/components/index.ts","inputs":{"src/components/index.ts":{"bytesInOutput":0}},"bytes":35},"dist/lib/neutral/containers/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":410},"dist/lib/neutral/containers/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"dist/lib/neutral/MasonryContainer-XXJXCOOA.mjs","kind":"dynamic-import"}],"exports":["MasonryContainer"],"entryPoint":"src/containers/index.ts","inputs":{"src/containers/index.ts":{"bytesInOutput":109}},"bytes":235},"dist/lib/neutral/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/meta.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-IJ2FIXSI.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"}],"exports":["meta"],"entryPoint":"src/meta.ts","inputs":{},"bytes":131},"dist/lib/neutral/plugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":444},"dist/lib/neutral/plugin.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-IJ2FIXSI.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"#plugin","kind":"dynamic-import","external":true}],"exports":["MasonryPlugin"],"entryPoint":"src/plugin.ts","inputs":{"src/plugin.ts":{"bytesInOutput":110}},"bytes":270},"dist/lib/neutral/chunk-IJ2FIXSI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1682},"dist/lib/neutral/chunk-IJ2FIXSI.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/keys","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["meta"],"inputs":{"src/meta.ts":{"bytesInOutput":1121}},"bytes":1200},"dist/lib/neutral/translations.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1326},"dist/lib/neutral/translations.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"#meta","kind":"import-statement","external":true},{"path":"#types","kind":"import-statement","external":true}],"exports":["translations"],"entryPoint":"src/translations.ts","inputs":{"src/translations.ts":{"bytesInOutput":674}},"bytes":798},"dist/lib/neutral/chunk-J5LGTIGS.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/chunk-J5LGTIGS.mjs":{"imports":[],"exports":["__export"],"inputs":{},"bytes":235}}}
@@ -0,0 +1,8 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-IJ2FIXSI.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+ export {
6
+ meta
7
+ };
8
+ //# sourceMappingURL=meta.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,12 @@
1
+ import {
2
+ meta
3
+ } from "./chunk-IJ2FIXSI.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/plugin.ts
7
+ import { Plugin } from "@dxos/app-framework";
8
+ var MasonryPlugin = Plugin.lazy(meta, () => import("#plugin"));
9
+ export {
10
+ MasonryPlugin
11
+ };
12
+ //# sourceMappingURL=plugin.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/plugin.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\n\nimport { meta } from './meta';\n\nexport const MasonryPlugin = Plugin.lazy(meta, () => import('#plugin'));\n"],
5
+ "mappings": ";;;;;;AAIA,SAASA,cAAc;AAIhB,IAAMC,gBAAgBC,OAAOC,KAAKC,MAAM,MAAM,OAAO,SAAA,CAAA;",
6
+ "names": ["Plugin", "MasonryPlugin", "Plugin", "lazy", "meta"]
7
+ }
@@ -0,0 +1,35 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/capabilities/react-surface.tsx
4
+ import * as Effect from "effect/Effect";
5
+ import React from "react";
6
+ import { Capabilities, Capability } from "@dxos/app-framework";
7
+ import { Surface } from "@dxos/app-framework/ui";
8
+ import { AppSurface } from "@dxos/app-toolkit/ui";
9
+ import { Obj, View } from "@dxos/echo";
10
+ import { MasonryContainer } from "#containers";
11
+ import { Masonry } from "#types";
12
+ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
13
+ Surface.create({
14
+ id: "root",
15
+ // TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.
16
+ filter: AppSurface.oneOf(AppSurface.object(AppSurface.Article, [
17
+ Masonry.Masonry,
18
+ View.View
19
+ ]), AppSurface.object(AppSurface.Section, [
20
+ Masonry.Masonry,
21
+ View.View
22
+ ])),
23
+ component: ({ data, role }) => {
24
+ const view = Obj.instanceOf(View.View, data.subject) ? data.subject : data.subject.view;
25
+ return /* @__PURE__ */ React.createElement(MasonryContainer, {
26
+ view,
27
+ role
28
+ });
29
+ }
30
+ })
31
+ ])));
32
+ export {
33
+ react_surface_default as default
34
+ };
35
+ //# sourceMappingURL=react-surface-7CZHE3XA.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 * as Effect from 'effect/Effect';\nimport React from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { AppSurface } from '@dxos/app-toolkit/ui';\nimport { Obj, View } from '@dxos/echo';\n\nimport { MasonryContainer } from '#containers';\nimport { Masonry } from '#types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: 'root',\n // TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.\n filter: AppSurface.oneOf(\n AppSurface.object(AppSurface.Article, [Masonry.Masonry, View.View]),\n AppSurface.object(AppSurface.Section, [Masonry.Masonry, View.View]),\n ),\n component: ({ data, role }) => {\n const view = Obj.instanceOf(View.View, data.subject) ? data.subject : data.subject.view;\n return <MasonryContainer view={view} role={role} />;\n },\n }),\n ]),\n ),\n);\n"],
5
+ "mappings": ";;;AAIA,YAAYA,YAAY;AACxB,OAAOC,WAAW;AAElB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AACxB,SAASC,kBAAkB;AAC3B,SAASC,KAAKC,YAAY;AAE1B,SAASC,wBAAwB;AACjC,SAASC,eAAe;AAExB,IAAA,wBAAeN,WAAWO,WAAW,MAC5BC,eACLR,WAAWS,YAAYV,aAAaW,cAAc;EAChDT,QAAQU,OAAO;IACbC,IAAI;;IAEJC,QAAQX,WAAWY,MACjBZ,WAAWa,OAAOb,WAAWc,SAAS;MAACV,QAAQA;MAASF,KAAKA;KAAK,GAClEF,WAAWa,OAAOb,WAAWe,SAAS;MAACX,QAAQA;MAASF,KAAKA;KAAK,CAAA;IAEpEc,WAAW,CAAC,EAAEC,MAAMC,KAAI,MAAE;AACxB,YAAMC,OAAOlB,IAAImB,WAAWlB,KAAKA,MAAMe,KAAKI,OAAO,IAAIJ,KAAKI,UAAUJ,KAAKI,QAAQF;AACnF,aAAO,sBAAA,cAAChB,kBAAAA;QAAiBgB;QAAYD;;IACvC;EACF,CAAA;CACD,CAAA,CAAA;",
6
+ "names": ["Effect", "React", "Capabilities", "Capability", "Surface", "AppSurface", "Obj", "View", "MasonryContainer", "Masonry", "makeModule", "succeed", "contributes", "ReactSurface", "create", "id", "filter", "oneOf", "object", "Article", "Section", "component", "data", "role", "view", "instanceOf", "subject"]
7
+ }
@@ -0,0 +1,30 @@
1
+ import "./chunk-J5LGTIGS.mjs";
2
+
3
+ // src/translations.ts
4
+ import { Type } from "@dxos/echo";
5
+ import { meta } from "#meta";
6
+ import { Masonry } from "#types";
7
+ var translations = [
8
+ {
9
+ "en-US": {
10
+ [Type.getTypename(Masonry.Masonry)]: {
11
+ "typename.label": "Masonry",
12
+ "typename.label_zero": "Masonries",
13
+ "typename.label_one": "Masonry",
14
+ "typename.label_other": "Masonries",
15
+ "object-name.placeholder": "New masonry",
16
+ "add-object.label": "Add masonry",
17
+ "rename-object.label": "Rename masonry",
18
+ "delete-object.label": "Delete masonry",
19
+ "object-deleted.label": "Masonry deleted"
20
+ },
21
+ [meta.id]: {
22
+ "plugin.name": "Masonry"
23
+ }
24
+ }
25
+ }
26
+ ];
27
+ export {
28
+ translations
29
+ };
30
+ //# sourceMappingURL=translations.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from '#meta';\nimport { Masonry } from '#types';\n\nexport const translations = [\n {\n 'en-US': {\n [Type.getTypename(Masonry.Masonry)]: {\n 'typename.label': 'Masonry',\n 'typename.label_zero': 'Masonries',\n 'typename.label_one': 'Masonry',\n 'typename.label_other': 'Masonries',\n 'object-name.placeholder': 'New masonry',\n 'add-object.label': 'Add masonry',\n 'rename-object.label': 'Rename masonry',\n 'delete-object.label': 'Delete masonry',\n 'object-deleted.label': 'Masonry deleted',\n },\n [meta.id]: {\n 'plugin.name': 'Masonry',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": ";;;AAIA,SAASA,YAAY;AAGrB,SAASC,YAAY;AACrB,SAASC,eAAe;AAEjB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACH,KAAKI,YAAYF,QAAQA,OAAO,CAAA,GAAI;QACnC,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,oBAAoB;QACpB,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;MAC1B;MACA,CAACD,KAAKI,EAAE,GAAG;QACT,eAAe;MACjB;IACF;EACF;;",
6
+ "names": ["Type", "meta", "Masonry", "translations", "getTypename", "id"]
7
+ }
@@ -0,0 +1,10 @@
1
+ import {
2
+ MasonryAction_exports,
3
+ Masonry_exports
4
+ } from "../chunk-SS54S63V.mjs";
5
+ import "../chunk-J5LGTIGS.mjs";
6
+ export {
7
+ Masonry_exports as Masonry,
8
+ MasonryAction_exports as MasonryAction
9
+ };
10
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -1,2 +1,4 @@
1
- export declare const MasonryPlugin: import("@dxos/app-framework").PluginFactory<void>;
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const MasonryPlugin: Plugin.PluginFactory<void>;
3
+ export default MasonryPlugin;
2
4
  //# sourceMappingURL=MasonryPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MasonryPlugin.d.ts","sourceRoot":"","sources":["../../../src/MasonryPlugin.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,aAAa,mDA8CxB,CAAC"}
1
+ {"version":3,"file":"MasonryPlugin.d.ts","sourceRoot":"","sources":["../../../src/MasonryPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAW7C,eAAO,MAAM,aAAa,4BASzB,CAAC;eAEa,aAAa"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=MasonryPlugin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MasonryPlugin.test.d.ts","sourceRoot":"","sources":["../../../src/MasonryPlugin.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability } from '@dxos/app-framework';
3
+ import { SpaceCapabilities } from '@dxos/plugin-space';
4
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Readonly<{
5
+ id: string;
6
+ createObject: import("@dxos/plugin-space").CreateObject;
7
+ inputSchema?: import("effect/Schema").Schema.AnyNoContext;
8
+ customPanel?: import("react").ComponentType<SpaceCapabilities.CreateObjectCustomPanelProps>;
9
+ }>>>, never, never>;
10
+ export default _default;
11
+ //# sourceMappingURL=create-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-object.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/create-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,3 +1,9 @@
1
- export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("@dxos/app-framework").Capabilities.ReactSurface>> | import("@dxos/app-framework").AnyCapability[]>>;
2
- export declare const IntentResolver: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<import("@dxos/app-framework").Capabilities.IntentResolver>> | import("@dxos/app-framework").AnyCapability[]>>;
1
+ import { Capability } from '@dxos/app-framework';
2
+ export declare const CreateObject: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<Readonly<{
3
+ id: string;
4
+ createObject: import("@dxos/plugin-space").CreateObject;
5
+ inputSchema?: import("effect/Schema").Schema.AnyNoContext;
6
+ customPanel?: import("react").ComponentType<import("@dxos/plugin-space").SpaceCapabilities.CreateObjectCustomPanelProps>;
7
+ }>>>, Error>;
8
+ export declare const ReactSurface: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Capabilities").ReactSurface>>, Error>;
3
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,YAAY,4OAAwC,CAAC;AAClE,eAAO,MAAM,cAAc,8RAA0C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,YAAY;;;;;YAAmE,CAAC;AAC7F,eAAO,MAAM,YAAY,iJAAmE,CAAC"}
@@ -1,4 +1,5 @@
1
- import { Capabilities } from '@dxos/app-framework';
2
- declare const _default: () => import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Capabilities.ReactSurface>>;
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capabilities, Capability } from '@dxos/app-framework';
3
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Capabilities.ReactSurface>>, never, never>;
3
4
  export default _default;
4
5
  //# sourceMappingURL=react-surface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAA8B,MAAM,qBAAqB,CAAC;;AAQ/E,wBAUK"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { type Ref, type View } from '@dxos/echo';
3
+ export type MasonryContainerProps = {
4
+ view: View.View;
5
+ role?: string;
6
+ };
7
+ export declare const MasonryContainer: ({ view: viewOrRef, role: _role, }: {
8
+ view: View.View | Ref.Ref<View.View>;
9
+ role?: string;
10
+ }) => React.JSX.Element;
11
+ //# sourceMappingURL=MasonryContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MasonryContainer.d.ts","sourceRoot":"","sources":["../../../../../src/containers/MasonryContainer/MasonryContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAK5D,OAAO,EAAsB,KAAK,GAAG,EAAQ,KAAK,IAAI,EAAE,MAAM,YAAY,CAAC;AAS3E,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,gBAAgB,sCAG1B;IACD,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,sBAiEA,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MasonryContainer.stories.d.ts","sourceRoot":"","sources":["../../../../../src/containers/MasonryContainer/MasonryContainer.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,KAAK,MAAM,OAAO,CAAC;AA6B1B,QAAA,MAAM,IAAI;;;;;;QAkCN,MAAM;;CAEM,CAAC;eAEF,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { MasonryContainer as default } from './MasonryContainer';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/containers/MasonryContainer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { type ComponentType } from 'react';
2
+ export declare const MasonryContainer: ComponentType<any>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/containers/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAQ,MAAM,OAAO,CAAC;AAEjD,eAAO,MAAM,gBAAgB,EAAE,aAAa,CAAC,GAAG,CAA4C,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export * from './meta';
2
- export * from './MasonryPlugin';
2
+ export * from './types';
3
3
  //# sourceMappingURL=index.d.ts.map