@dxos/plugin-masonry 0.8.4-main.ae835ea → 0.8.4-main.e8ec1fe

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/lib/browser/{chunk-RVOTJON5.mjs → chunk-Z4ORTGID.mjs} +6 -5
  2. package/dist/lib/browser/chunk-Z4ORTGID.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +3 -3
  4. package/dist/lib/browser/{intent-resolver-WM3U563P.mjs → intent-resolver-TCILFRP3.mjs} +2 -2
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/{react-surface-Z7W24EZP.mjs → react-surface-EUN65F5S.mjs} +5 -5
  7. package/dist/lib/browser/react-surface-EUN65F5S.mjs.map +7 -0
  8. package/dist/lib/node-esm/{chunk-KTVJZX5B.mjs → chunk-K7UZDCYX.mjs} +6 -5
  9. package/dist/lib/node-esm/chunk-K7UZDCYX.mjs.map +7 -0
  10. package/dist/lib/node-esm/index.mjs +3 -3
  11. package/dist/lib/node-esm/{intent-resolver-YKIFA4JI.mjs → intent-resolver-ABCXBMFV.mjs} +2 -2
  12. package/dist/lib/node-esm/meta.json +1 -1
  13. package/dist/lib/node-esm/{react-surface-BSDKYPZH.mjs → react-surface-OUXYIQWW.mjs} +5 -5
  14. package/dist/lib/node-esm/react-surface-OUXYIQWW.mjs.map +7 -0
  15. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  16. package/dist/types/src/components/MasonryContainer.d.ts +2 -2
  17. package/dist/types/src/components/MasonryContainer.d.ts.map +1 -1
  18. package/dist/types/src/components/MasonryContainer.stories.d.ts.map +1 -1
  19. package/dist/types/src/types/Masonry.d.ts +3 -3
  20. package/dist/types/src/types/Masonry.d.ts.map +1 -1
  21. package/dist/types/src/types/MasonryAction.d.ts +2 -2
  22. package/dist/types/src/types/MasonryAction.d.ts.map +1 -1
  23. package/dist/types/tsconfig.tsbuildinfo +1 -1
  24. package/package.json +22 -21
  25. package/src/capabilities/react-surface.tsx +3 -4
  26. package/src/components/MasonryContainer.stories.tsx +11 -6
  27. package/src/components/MasonryContainer.tsx +3 -3
  28. package/src/types/Masonry.ts +4 -4
  29. package/src/types/MasonryAction.ts +3 -2
  30. package/dist/lib/browser/chunk-RVOTJON5.mjs.map +0 -7
  31. package/dist/lib/browser/react-surface-Z7W24EZP.mjs.map +0 -7
  32. package/dist/lib/node-esm/chunk-KTVJZX5B.mjs.map +0 -7
  33. package/dist/lib/node-esm/react-surface-BSDKYPZH.mjs.map +0 -7
  34. /package/dist/lib/browser/{intent-resolver-WM3U563P.mjs.map → intent-resolver-TCILFRP3.mjs.map} +0 -0
  35. /package/dist/lib/node-esm/{intent-resolver-YKIFA4JI.mjs.map → intent-resolver-ABCXBMFV.mjs.map} +0 -0
@@ -29,7 +29,7 @@ __export(Masonry_exports, {
29
29
  import * as Schema from "effect/Schema";
30
30
  import { Obj, Type } from "@dxos/echo";
31
31
  import { ViewAnnotation, toEffectSchema } from "@dxos/echo/internal";
32
- import { createViewFromSpace } from "@dxos/schema";
32
+ import { View } from "@dxos/schema";
33
33
  var Masonry = Schema.Struct({
34
34
  arrangement: Schema.Array(Schema.Struct({
35
35
  ids: Schema.Array(Type.ObjectId),
@@ -42,7 +42,7 @@ var Masonry = Schema.Struct({
42
42
  var make = (props = {}) => Obj.make(Masonry, props);
43
43
  var makeView = async ({ ...props }) => {
44
44
  const masonry = Obj.make(Masonry, {});
45
- const { jsonSchema, view } = await createViewFromSpace({
45
+ const { jsonSchema, view } = await View.makeFromSpace({
46
46
  ...props,
47
47
  presentation: masonry
48
48
  });
@@ -62,10 +62,11 @@ __export(MasonryAction_exports, {
62
62
  });
63
63
  import * as Schema2 from "effect/Schema";
64
64
  import { SpaceSchema } from "@dxos/react-client/echo";
65
- import { DataType, TypenameAnnotationId } from "@dxos/schema";
65
+ import { TypenameAnnotationId, View as View2 } from "@dxos/schema";
66
66
  var MASONRY_ACTION = `${meta.id}/action`;
67
67
  var MasonryProps = Schema2.Struct({
68
68
  name: Schema2.optional(Schema2.String),
69
+ // TODO(wittjosiah): This should be a query input instead.
69
70
  typename: Schema2.optional(Schema2.String.annotations({
70
71
  [TypenameAnnotationId]: [
71
72
  "used-static",
@@ -79,7 +80,7 @@ var CreateMasonry = class extends Schema2.TaggedClass()(`${MASONRY_ACTION}/creat
79
80
  space: SpaceSchema
80
81
  }), MasonryProps),
81
82
  output: Schema2.Struct({
82
- object: DataType.View
83
+ object: View2.View
83
84
  })
84
85
  }) {
85
86
  };
@@ -89,4 +90,4 @@ export {
89
90
  Masonry_exports,
90
91
  MasonryAction_exports
91
92
  };
92
- //# sourceMappingURL=chunk-RVOTJON5.mjs.map
93
+ //# sourceMappingURL=chunk-Z4ORTGID.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts", "../../../src/types/Masonry.ts", "../../../src/types/MasonryAction.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/masonry',\n name: 'Masonry',\n description: trim`\n Responsive grid layout that displays query results in an adaptive masonry pattern.\n Visualize collections of cards, images, or mixed content that automatically adjusts to available screen space.\n `,\n icon: 'ph--wall--regular',\n iconHue: 'green',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-masonry',\n screenshots: [],\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Obj, Type } from '@dxos/echo';\nimport { type JsonSchemaType, ViewAnnotation, toEffectSchema } from '@dxos/echo/internal';\nimport { View } from '@dxos/schema';\n\nexport const Masonry = Schema.Struct({\n arrangement: Schema.Array(\n Schema.Struct({\n ids: Schema.Array(Type.ObjectId),\n hidden: Schema.optional(Schema.Boolean),\n }).pipe(Schema.mutable),\n ).pipe(Schema.mutable, Schema.optional),\n // TODO(wittjosiah): Consider Masonry supporting not being just a view but referencing arbitrary data directly.\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/Masonry',\n version: '0.1.0',\n }),\n ViewAnnotation.set(true),\n);\n\nexport type Masonry = Schema.Schema.Type<typeof Masonry>;\n\n/**\n * Make a masonry object.\n */\nexport const make = (props: Obj.MakeProps<typeof Masonry> = {}) => Obj.make(Masonry, props);\n\nexport type MakeViewProps = Omit<View.MakeFromSpaceProps, 'presentation'>;\n\nexport const makeView = async ({\n ...props\n}: MakeViewProps): Promise<{\n jsonSchema: JsonSchemaType;\n view: View.View;\n schema: ReturnType<typeof toEffectSchema>;\n}> => {\n const masonry = Obj.make(Masonry, {});\n const { jsonSchema, view } = await View.makeFromSpace({ ...props, presentation: masonry });\n\n // Preset sizes.\n const schema = toEffectSchema(jsonSchema);\n\n return { jsonSchema, schema, view };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { SpaceSchema } from '@dxos/react-client/echo';\nimport { TypenameAnnotationId, View } from '@dxos/schema';\n\nimport { meta } from '../meta';\n\nconst MASONRY_ACTION = `${meta.id}/action`;\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.optional(\n Schema.String.annotations({\n [TypenameAnnotationId]: ['used-static', 'dynamic'],\n title: 'Select card record type (leave empty to start fresh)',\n }),\n ),\n});\n\nexport class CreateMasonry extends Schema.TaggedClass<CreateMasonry>()(`${MASONRY_ACTION}/create`, {\n input: Schema.extend(Schema.Struct({ space: SpaceSchema }), MasonryProps),\n output: Schema.Struct({\n object: View.View,\n }),\n}) {}\n"],
5
+ "mappings": ";;;;;;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,aAAa,CAAA;AACf;;;AClBA;;;;;;AAIA,YAAYC,YAAY;AAExB,SAASC,KAAKC,YAAY;AAC1B,SAA8BC,gBAAgBC,sBAAsB;AACpE,SAASC,YAAY;AAEd,IAAMC,UAAiBC,cAAO;EACnCC,aAAoBC,aACXF,cAAO;IACZG,KAAYD,aAAME,KAAKC,QAAQ;IAC/BC,QAAeC,gBAAgBC,cAAO;EACxC,CAAA,EAAGC,KAAYC,cAAO,CAAA,EACtBD,KAAYC,gBAAgBH,eAAQ;AAExC,CAAA,EAAGE,KACDL,KAAKO,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,GACAC,eAAeC,IAAI,IAAA,CAAA;AAQd,IAAMC,OAAO,CAACC,QAAuC,CAAC,MAAMN,IAAIK,KAAKjB,SAASkB,KAAAA;AAI9E,IAAMC,WAAW,OAAO,EAC7B,GAAGD,MAAAA,MACW;AAKd,QAAME,UAAUR,IAAIK,KAAKjB,SAAS,CAAC,CAAA;AACnC,QAAM,EAAEqB,YAAYC,KAAI,IAAK,MAAMC,KAAKC,cAAc;IAAE,GAAGN;IAAOO,cAAcL;EAAQ,CAAA;AAGxF,QAAMM,SAASC,eAAeN,UAAAA;AAE9B,SAAO;IAAEA;IAAYK;IAAQJ;EAAK;AACpC;;;ACjDA;;;;;AAIA,YAAYM,aAAY;AAExB,SAASC,mBAAmB;AAC5B,SAASC,sBAAsBC,QAAAA,aAAY;AAI3C,IAAMC,iBAAiB,GAAGC,KAAKC,EAAE;AAE1B,IAAMC,eAAsBC,eAAO;EACxCC,MAAaC,iBAAgBC,cAAM;;EAEnCC,UAAiBF,iBACRC,eAAOE,YAAY;IACxB,CAACC,oBAAAA,GAAuB;MAAC;MAAe;;IACxCC,OAAO;EACT,CAAA,CAAA;AAEJ,CAAA;AAEO,IAAMC,gBAAN,cAAmCC,oBAAW,EAAkB,GAAGb,cAAAA,WAAyB;EACjGc,OAAcC,eAAcX,eAAO;IAAEY,OAAOC;EAAY,CAAA,GAAId,YAAAA;EAC5De,QAAed,eAAO;IACpBe,QAAQC,MAAKA;EACf,CAAA;AACF,CAAA,EAAA;AAAI;",
6
+ "names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "screenshots", "Schema", "Obj", "Type", "ViewAnnotation", "toEffectSchema", "View", "Masonry", "Struct", "arrangement", "Array", "ids", "Type", "ObjectId", "hidden", "optional", "Boolean", "pipe", "mutable", "Obj", "typename", "version", "ViewAnnotation", "set", "make", "props", "makeView", "masonry", "jsonSchema", "view", "View", "makeFromSpace", "presentation", "schema", "toEffectSchema", "Schema", "SpaceSchema", "TypenameAnnotationId", "View", "MASONRY_ACTION", "meta", "id", "MasonryProps", "Struct", "name", "optional", "String", "typename", "annotations", "TypenameAnnotationId", "title", "CreateMasonry", "TaggedClass", "input", "extend", "space", "SpaceSchema", "output", "object", "View"]
7
+ }
@@ -2,7 +2,7 @@ import {
2
2
  MasonryAction_exports,
3
3
  Masonry_exports,
4
4
  meta
5
- } from "./chunk-RVOTJON5.mjs";
5
+ } from "./chunk-Z4ORTGID.mjs";
6
6
 
7
7
  // src/MasonryPlugin.tsx
8
8
  import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
@@ -12,8 +12,8 @@ import { defineObjectForm } from "@dxos/plugin-space/types";
12
12
 
13
13
  // src/capabilities/index.ts
14
14
  import { lazy } from "@dxos/app-framework";
15
- var ReactSurface = lazy(() => import("./react-surface-Z7W24EZP.mjs"));
16
- var IntentResolver = lazy(() => import("./intent-resolver-WM3U563P.mjs"));
15
+ var ReactSurface = lazy(() => import("./react-surface-EUN65F5S.mjs"));
16
+ var IntentResolver = lazy(() => import("./intent-resolver-TCILFRP3.mjs"));
17
17
 
18
18
  // src/translations.ts
19
19
  var translations = [
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  MasonryAction_exports,
3
3
  Masonry_exports
4
- } from "./chunk-RVOTJON5.mjs";
4
+ } from "./chunk-Z4ORTGID.mjs";
5
5
 
6
6
  // src/capabilities/intent-resolver.ts
7
7
  import { Capabilities, contributes, createResolver } from "@dxos/app-framework";
@@ -28,4 +28,4 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
28
28
  export {
29
29
  intent_resolver_default as default
30
30
  };
31
- //# sourceMappingURL=intent-resolver-WM3U563P.mjs.map
31
+ //# sourceMappingURL=intent-resolver-TCILFRP3.mjs.map
@@ -1 +1 @@
1
- {"inputs":{"src/meta.ts":{"bytes":1970,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/components/MasonryContainer.tsx":{"bytes":9583,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-masonry","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/Masonry.ts":{"bytes":4859,"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":3380,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/index.ts":{"bytes":708,"imports":[{"path":"src/types/Masonry.ts","kind":"import-statement","original":"./Masonry"},{"path":"src/types/MasonryAction.ts","kind":"import-statement","original":"./MasonryAction"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":3363,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/components/MasonryContainer.tsx","kind":"import-statement","original":"../components/MasonryContainer"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":3143,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1037,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"}],"format":"esm"},"src/translations.ts":{"bytes":2098,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/MasonryPlugin.tsx":{"bytes":7784,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/index.ts":{"bytes":555,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/MasonryPlugin.tsx","kind":"import-statement","original":"./MasonryPlugin"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5111},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-RVOTJON5.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/react-surface-Z7W24EZP.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/intent-resolver-WM3U563P.mjs","kind":"dynamic-import"}],"exports":["MasonryPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/MasonryPlugin.tsx":{"bytesInOutput":1683},"src/capabilities/index.ts":{"bytesInOutput":190},"src/translations.ts":{"bytesInOutput":382}},"bytes":2523},"dist/lib/browser/react-surface-Z7W24EZP.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6559},"dist/lib/browser/react-surface-Z7W24EZP.mjs":{"imports":[{"path":"dist/lib/browser/chunk-RVOTJON5.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-masonry","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":637},"src/components/MasonryContainer.tsx":{"bytesInOutput":2615}},"bytes":3535},"dist/lib/browser/intent-resolver-WM3U563P.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1596},"dist/lib/browser/intent-resolver-WM3U563P.mjs":{"imports":[{"path":"dist/lib/browser/chunk-RVOTJON5.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":634}},"bytes":860},"dist/lib/browser/chunk-RVOTJON5.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5217},"dist/lib/browser/chunk-RVOTJON5.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"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/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["MasonryAction_exports","Masonry_exports","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":482},"src/types/Masonry.ts":{"bytesInOutput":1002},"src/types/MasonryAction.ts":{"bytesInOutput":868},"src/types/index.ts":{"bytesInOutput":0}},"bytes":2699}}}
1
+ {"inputs":{"src/meta.ts":{"bytes":1970,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/components/MasonryContainer.tsx":{"bytes":9585,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-masonry","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/Masonry.ts":{"bytes":4763,"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":3507,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/index.ts":{"bytes":708,"imports":[{"path":"src/types/Masonry.ts","kind":"import-statement","original":"./Masonry"},{"path":"src/types/MasonryAction.ts","kind":"import-statement","original":"./MasonryAction"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":3311,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/components/MasonryContainer.tsx","kind":"import-statement","original":"../components/MasonryContainer"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":3143,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1037,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"}],"format":"esm"},"src/translations.ts":{"bytes":2098,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/MasonryPlugin.tsx":{"bytes":7784,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/index.ts":{"bytes":555,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/MasonryPlugin.tsx","kind":"import-statement","original":"./MasonryPlugin"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5111},"dist/lib/browser/index.mjs":{"imports":[{"path":"dist/lib/browser/chunk-Z4ORTGID.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/browser/react-surface-EUN65F5S.mjs","kind":"dynamic-import"},{"path":"dist/lib/browser/intent-resolver-TCILFRP3.mjs","kind":"dynamic-import"}],"exports":["MasonryPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/MasonryPlugin.tsx":{"bytesInOutput":1683},"src/capabilities/index.ts":{"bytesInOutput":190},"src/translations.ts":{"bytesInOutput":382}},"bytes":2523},"dist/lib/browser/react-surface-EUN65F5S.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6516},"dist/lib/browser/react-surface-EUN65F5S.mjs":{"imports":[{"path":"dist/lib/browser/chunk-Z4ORTGID.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-masonry","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":629},"src/components/MasonryContainer.tsx":{"bytesInOutput":2621}},"bytes":3533},"dist/lib/browser/intent-resolver-TCILFRP3.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1596},"dist/lib/browser/intent-resolver-TCILFRP3.mjs":{"imports":[{"path":"dist/lib/browser/chunk-Z4ORTGID.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":634}},"bytes":860},"dist/lib/browser/chunk-Z4ORTGID.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5181},"dist/lib/browser/chunk-Z4ORTGID.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"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/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["MasonryAction_exports","Masonry_exports","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":482},"src/types/Masonry.ts":{"bytesInOutput":986},"src/types/MasonryAction.ts":{"bytesInOutput":931},"src/types/index.ts":{"bytesInOutput":0}},"bytes":2746}}}
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  Masonry_exports,
3
3
  meta
4
- } from "./chunk-RVOTJON5.mjs";
4
+ } from "./chunk-Z4ORTGID.mjs";
5
5
 
6
6
  // src/capabilities/react-surface.tsx
7
7
  import React2 from "react";
8
8
  import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
9
9
  import { Obj } from "@dxos/echo";
10
- import { DataType } from "@dxos/schema";
10
+ import { View } from "@dxos/schema";
11
11
 
12
12
  // src/components/MasonryContainer.tsx
13
13
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
14
14
  import React, { useEffect, useMemo, useState } from "react";
15
- import { Surface } from "@dxos/app-framework";
15
+ import { Surface } from "@dxos/app-framework/react";
16
16
  import { Filter, Type } from "@dxos/echo";
17
17
  import { EchoSchema } from "@dxos/echo/internal";
18
18
  import { useGlobalFilteredObjects } from "@dxos/plugin-search";
@@ -99,7 +99,7 @@ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
99
99
  "article",
100
100
  "section"
101
101
  ],
102
- filter: (data) => Obj.instanceOf(DataType.View, data.subject) && Obj.instanceOf(Masonry_exports.Masonry, data.subject.presentation?.target),
102
+ filter: (data) => Obj.instanceOf(View.View, data.subject) && Obj.instanceOf(Masonry_exports.Masonry, data.subject.presentation?.target),
103
103
  component: ({ data, role }) => /* @__PURE__ */ React2.createElement(MasonryContainer, {
104
104
  view: data.subject,
105
105
  role
@@ -109,4 +109,4 @@ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
109
109
  export {
110
110
  react_surface_default as default
111
111
  };
112
- //# sourceMappingURL=react-surface-Z7W24EZP.mjs.map
112
+ //# sourceMappingURL=react-surface-EUN65F5S.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/MasonryContainer.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { View } from '@dxos/schema';\n\nimport { MasonryContainer } from '../components/MasonryContainer';\nimport { meta } from '../meta';\nimport { Masonry } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: meta.id,\n role: ['article', 'section'],\n filter: (data): data is { subject: View.View } =>\n Obj.instanceOf(View.View, data.subject) && Obj.instanceOf(Masonry.Masonry, data.subject.presentation?.target),\n component: ({ data, role }) => <MasonryContainer view={data.subject} role={role} />,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { Surface } from '@dxos/app-framework/react';\nimport { Filter, Type } from '@dxos/echo';\nimport { EchoSchema, type TypedObject } from '@dxos/echo/internal';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace, useQuery } from '@dxos/react-client/echo';\nimport { Masonry } from '@dxos/react-ui-masonry';\nimport { ProjectionModel, type View, getTypenameFromQuery } from '@dxos/schema';\n\nconst Item = ({ data }: { data: any }) => {\n return <Surface role='card' limit={1} data={{ subject: data }} />;\n};\n\nexport const MasonryContainer = ({ view, role }: { view: View.View; role: string }) => {\n const client = useClient();\n const space = getSpace(view);\n const typename = view.query ? getTypenameFromQuery(view.query.ast) : undefined;\n\n const [cardSchema, setCardSchema] = useState<TypedObject<any, any>>();\n const [projection, setProjection] = useState<ProjectionModel>();\n\n const jsonSchema = useMemo(() => {\n if (!cardSchema) return undefined;\n return cardSchema instanceof EchoSchema ? cardSchema.jsonSchema : Type.toJsonSchema(cardSchema);\n }, [cardSchema]);\n\n useEffect(() => {\n const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);\n if (staticSchema) {\n setCardSchema(() => staticSchema as TypedObject<any, any>);\n }\n if (!staticSchema && typename && space) {\n const query = space.db.schemaRegistry.query({ typename });\n const unsubscribe = query.subscribe(\n () => {\n const [schema] = query.results;\n if (schema) {\n setCardSchema(schema);\n }\n },\n { fire: true },\n );\n return unsubscribe;\n }\n }, [typename, space]);\n\n useEffect(() => {\n if (jsonSchema) {\n setProjection(new ProjectionModel(jsonSchema, view.projection));\n }\n }, [view.projection, JSON.stringify(jsonSchema)]);\n\n const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n return (\n <Masonry.Root\n items={filteredObjects}\n render={Item as any}\n classNames='is-full max-is-full bs-full max-bs-full overflow-y-auto p-4'\n />\n );\n};\n"],
5
+ "mappings": ";;;;;;AAIA,OAAOA,YAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,WAAW;AACpB,SAASC,YAAY;;;;ACJrB,OAAOC,SAASC,WAAWC,SAASC,gBAAgB;AAEpD,SAASC,eAAe;AACxB,SAASC,QAAQC,YAAY;AAC7B,SAASC,kBAAoC;AAC7C,SAASC,gCAAgC;AACzC,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,gBAAgB;AACnC,SAASC,eAAe;AACxB,SAASC,iBAA4BC,4BAA4B;AAEjE,IAAMC,OAAO,CAAC,EAAEC,KAAI,MAAiB;;;AACnC,WAAO,sBAAA,cAACC,SAAAA;MAAQC,MAAK;MAAOC,OAAO;MAAGH,MAAM;QAAEI,SAASJ;MAAK;;;;;AAC9D;AAEO,IAAMK,mBAAmB,CAAC,EAAEC,MAAMJ,KAAI,MAAqC;;;AAChF,UAAMK,SAASC,UAAAA;AACf,UAAMC,QAAQC,SAASJ,IAAAA;AACvB,UAAMK,WAAWL,KAAKM,QAAQC,qBAAqBP,KAAKM,MAAME,GAAG,IAAIC;AAErE,UAAM,CAACC,YAAYC,aAAAA,IAAiBC,SAAAA;AACpC,UAAM,CAACC,YAAYC,aAAAA,IAAiBF,SAAAA;AAEpC,UAAMG,aAAaC,QAAQ,MAAA;AACzB,UAAI,CAACN,WAAY,QAAOD;AACxB,aAAOC,sBAAsBO,aAAaP,WAAWK,aAAaG,KAAKC,aAAaT,UAAAA;IACtF,GAAG;MAACA;KAAW;AAEfU,cAAU,MAAA;AACR,YAAMC,eAAepB,OAAOqB,MAAMC,eAAeC,QAAQC,KAAK,CAACC,WAAWR,KAAKS,YAAYD,MAAAA,MAAYrB,QAAAA;AACvG,UAAIgB,cAAc;AAChBV,sBAAc,MAAMU,YAAAA;MACtB;AACA,UAAI,CAACA,gBAAgBhB,YAAYF,OAAO;AACtC,cAAMG,QAAQH,MAAMyB,GAAGL,eAAejB,MAAM;UAAED;QAAS,CAAA;AACvD,cAAMwB,cAAcvB,MAAMwB,UACxB,MAAA;AACE,gBAAM,CAACJ,MAAAA,IAAUpB,MAAMyB;AACvB,cAAIL,QAAQ;AACVf,0BAAce,MAAAA;UAChB;QACF,GACA;UAAEM,MAAM;QAAK,CAAA;AAEf,eAAOH;MACT;IACF,GAAG;MAACxB;MAAUF;KAAM;AAEpBiB,cAAU,MAAA;AACR,UAAIL,YAAY;AACdD,sBAAc,IAAImB,gBAAgBlB,YAAYf,KAAKa,UAAU,CAAA;MAC/D;IACF,GAAG;MAACb,KAAKa;MAAYqB,KAAKC,UAAUpB,UAAAA;KAAY;AAEhD,UAAMqB,UAAUC,SAASlC,OAAOO,aAAa4B,OAAOC,KAAK7B,UAAAA,IAAc4B,OAAOE,QAAO,CAAA;AACrF,UAAMC,kBAAkBC,yBAAyBN,OAAAA;AAEjD,WACE,sBAAA,cAACO,QAAQC,MAAI;MACXC,OAAOJ;MACPK,QAAQrD;MACRsD,YAAW;;;;;AAGjB;;;ADtDA,IAAA,yBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAIC,KAAKD;IACTE,MAAM;MAAC;MAAW;;IAClBC,QAAQ,CAACC,SACPC,IAAIC,WAAWC,KAAKA,MAAMH,KAAKI,OAAO,KAAKH,IAAIC,WAAWG,gBAAQA,SAASL,KAAKI,QAAQE,cAAcC,MAAAA;IACxGC,WAAW,CAAC,EAAER,MAAMF,KAAI,MAAO,gBAAAW,OAAA,cAACC,kBAAAA;MAAiBC,MAAMX,KAAKI;MAASN;;EACvE,CAAA;CACD;",
6
+ "names": ["React", "Capabilities", "contributes", "createSurface", "Obj", "View", "React", "useEffect", "useMemo", "useState", "Surface", "Filter", "Type", "EchoSchema", "useGlobalFilteredObjects", "useClient", "getSpace", "useQuery", "Masonry", "ProjectionModel", "getTypenameFromQuery", "Item", "data", "Surface", "role", "limit", "subject", "MasonryContainer", "view", "client", "useClient", "space", "getSpace", "typename", "query", "getTypenameFromQuery", "ast", "undefined", "cardSchema", "setCardSchema", "useState", "projection", "setProjection", "jsonSchema", "useMemo", "EchoSchema", "Type", "toJsonSchema", "useEffect", "staticSchema", "graph", "schemaRegistry", "schemas", "find", "schema", "getTypename", "db", "unsubscribe", "subscribe", "results", "fire", "ProjectionModel", "JSON", "stringify", "objects", "useQuery", "Filter", "type", "nothing", "filteredObjects", "useGlobalFilteredObjects", "Masonry", "Root", "items", "render", "classNames", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "View", "subject", "Masonry", "presentation", "target", "component", "React", "MasonryContainer", "view"]
7
+ }
@@ -30,7 +30,7 @@ __export(Masonry_exports, {
30
30
  import * as Schema from "effect/Schema";
31
31
  import { Obj, Type } from "@dxos/echo";
32
32
  import { ViewAnnotation, toEffectSchema } from "@dxos/echo/internal";
33
- import { createViewFromSpace } from "@dxos/schema";
33
+ import { View } from "@dxos/schema";
34
34
  var Masonry = Schema.Struct({
35
35
  arrangement: Schema.Array(Schema.Struct({
36
36
  ids: Schema.Array(Type.ObjectId),
@@ -43,7 +43,7 @@ var Masonry = Schema.Struct({
43
43
  var make = (props = {}) => Obj.make(Masonry, props);
44
44
  var makeView = async ({ ...props }) => {
45
45
  const masonry = Obj.make(Masonry, {});
46
- const { jsonSchema, view } = await createViewFromSpace({
46
+ const { jsonSchema, view } = await View.makeFromSpace({
47
47
  ...props,
48
48
  presentation: masonry
49
49
  });
@@ -63,10 +63,11 @@ __export(MasonryAction_exports, {
63
63
  });
64
64
  import * as Schema2 from "effect/Schema";
65
65
  import { SpaceSchema } from "@dxos/react-client/echo";
66
- import { DataType, TypenameAnnotationId } from "@dxos/schema";
66
+ import { TypenameAnnotationId, View as View2 } from "@dxos/schema";
67
67
  var MASONRY_ACTION = `${meta.id}/action`;
68
68
  var MasonryProps = Schema2.Struct({
69
69
  name: Schema2.optional(Schema2.String),
70
+ // TODO(wittjosiah): This should be a query input instead.
70
71
  typename: Schema2.optional(Schema2.String.annotations({
71
72
  [TypenameAnnotationId]: [
72
73
  "used-static",
@@ -80,7 +81,7 @@ var CreateMasonry = class extends Schema2.TaggedClass()(`${MASONRY_ACTION}/creat
80
81
  space: SpaceSchema
81
82
  }), MasonryProps),
82
83
  output: Schema2.Struct({
83
- object: DataType.View
84
+ object: View2.View
84
85
  })
85
86
  }) {
86
87
  };
@@ -90,4 +91,4 @@ export {
90
91
  Masonry_exports,
91
92
  MasonryAction_exports
92
93
  };
93
- //# sourceMappingURL=chunk-KTVJZX5B.mjs.map
94
+ //# sourceMappingURL=chunk-K7UZDCYX.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/meta.ts", "../../../src/types/Masonry.ts", "../../../src/types/MasonryAction.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type PluginMeta } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: PluginMeta = {\n id: 'dxos.org/plugin/masonry',\n name: 'Masonry',\n description: trim`\n Responsive grid layout that displays query results in an adaptive masonry pattern.\n Visualize collections of cards, images, or mixed content that automatically adjusts to available screen space.\n `,\n icon: 'ph--wall--regular',\n iconHue: 'green',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-masonry',\n screenshots: [],\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Obj, Type } from '@dxos/echo';\nimport { type JsonSchemaType, ViewAnnotation, toEffectSchema } from '@dxos/echo/internal';\nimport { View } from '@dxos/schema';\n\nexport const Masonry = Schema.Struct({\n arrangement: Schema.Array(\n Schema.Struct({\n ids: Schema.Array(Type.ObjectId),\n hidden: Schema.optional(Schema.Boolean),\n }).pipe(Schema.mutable),\n ).pipe(Schema.mutable, Schema.optional),\n // TODO(wittjosiah): Consider Masonry supporting not being just a view but referencing arbitrary data directly.\n}).pipe(\n Type.Obj({\n typename: 'dxos.org/type/Masonry',\n version: '0.1.0',\n }),\n ViewAnnotation.set(true),\n);\n\nexport type Masonry = Schema.Schema.Type<typeof Masonry>;\n\n/**\n * Make a masonry object.\n */\nexport const make = (props: Obj.MakeProps<typeof Masonry> = {}) => Obj.make(Masonry, props);\n\nexport type MakeViewProps = Omit<View.MakeFromSpaceProps, 'presentation'>;\n\nexport const makeView = async ({\n ...props\n}: MakeViewProps): Promise<{\n jsonSchema: JsonSchemaType;\n view: View.View;\n schema: ReturnType<typeof toEffectSchema>;\n}> => {\n const masonry = Obj.make(Masonry, {});\n const { jsonSchema, view } = await View.makeFromSpace({ ...props, presentation: masonry });\n\n // Preset sizes.\n const schema = toEffectSchema(jsonSchema);\n\n return { jsonSchema, schema, view };\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { SpaceSchema } from '@dxos/react-client/echo';\nimport { TypenameAnnotationId, View } from '@dxos/schema';\n\nimport { meta } from '../meta';\n\nconst MASONRY_ACTION = `${meta.id}/action`;\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.optional(\n Schema.String.annotations({\n [TypenameAnnotationId]: ['used-static', 'dynamic'],\n title: 'Select card record type (leave empty to start fresh)',\n }),\n ),\n});\n\nexport class CreateMasonry extends Schema.TaggedClass<CreateMasonry>()(`${MASONRY_ACTION}/create`, {\n input: Schema.extend(Schema.Struct({ space: SpaceSchema }), MasonryProps),\n output: Schema.Struct({\n object: View.View,\n }),\n}) {}\n"],
5
+ "mappings": ";;;;;;;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAmB;EAC9BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,aAAa,CAAA;AACf;;;AClBA;;;;;;AAIA,YAAYC,YAAY;AAExB,SAASC,KAAKC,YAAY;AAC1B,SAA8BC,gBAAgBC,sBAAsB;AACpE,SAASC,YAAY;AAEd,IAAMC,UAAiBC,cAAO;EACnCC,aAAoBC,aACXF,cAAO;IACZG,KAAYD,aAAME,KAAKC,QAAQ;IAC/BC,QAAeC,gBAAgBC,cAAO;EACxC,CAAA,EAAGC,KAAYC,cAAO,CAAA,EACtBD,KAAYC,gBAAgBH,eAAQ;AAExC,CAAA,EAAGE,KACDL,KAAKO,IAAI;EACPC,UAAU;EACVC,SAAS;AACX,CAAA,GACAC,eAAeC,IAAI,IAAA,CAAA;AAQd,IAAMC,OAAO,CAACC,QAAuC,CAAC,MAAMN,IAAIK,KAAKjB,SAASkB,KAAAA;AAI9E,IAAMC,WAAW,OAAO,EAC7B,GAAGD,MAAAA,MACW;AAKd,QAAME,UAAUR,IAAIK,KAAKjB,SAAS,CAAC,CAAA;AACnC,QAAM,EAAEqB,YAAYC,KAAI,IAAK,MAAMC,KAAKC,cAAc;IAAE,GAAGN;IAAOO,cAAcL;EAAQ,CAAA;AAGxF,QAAMM,SAASC,eAAeN,UAAAA;AAE9B,SAAO;IAAEA;IAAYK;IAAQJ;EAAK;AACpC;;;ACjDA;;;;;AAIA,YAAYM,aAAY;AAExB,SAASC,mBAAmB;AAC5B,SAASC,sBAAsBC,QAAAA,aAAY;AAI3C,IAAMC,iBAAiB,GAAGC,KAAKC,EAAE;AAE1B,IAAMC,eAAsBC,eAAO;EACxCC,MAAaC,iBAAgBC,cAAM;;EAEnCC,UAAiBF,iBACRC,eAAOE,YAAY;IACxB,CAACC,oBAAAA,GAAuB;MAAC;MAAe;;IACxCC,OAAO;EACT,CAAA,CAAA;AAEJ,CAAA;AAEO,IAAMC,gBAAN,cAAmCC,oBAAW,EAAkB,GAAGb,cAAAA,WAAyB;EACjGc,OAAcC,eAAcX,eAAO;IAAEY,OAAOC;EAAY,CAAA,GAAId,YAAAA;EAC5De,QAAed,eAAO;IACpBe,QAAQC,MAAKA;EACf,CAAA;AACF,CAAA,EAAA;AAAI;",
6
+ "names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "screenshots", "Schema", "Obj", "Type", "ViewAnnotation", "toEffectSchema", "View", "Masonry", "Struct", "arrangement", "Array", "ids", "Type", "ObjectId", "hidden", "optional", "Boolean", "pipe", "mutable", "Obj", "typename", "version", "ViewAnnotation", "set", "make", "props", "makeView", "masonry", "jsonSchema", "view", "View", "makeFromSpace", "presentation", "schema", "toEffectSchema", "Schema", "SpaceSchema", "TypenameAnnotationId", "View", "MASONRY_ACTION", "meta", "id", "MasonryProps", "Struct", "name", "optional", "String", "typename", "annotations", "TypenameAnnotationId", "title", "CreateMasonry", "TaggedClass", "input", "extend", "space", "SpaceSchema", "output", "object", "View"]
7
+ }
@@ -3,7 +3,7 @@ import {
3
3
  MasonryAction_exports,
4
4
  Masonry_exports,
5
5
  meta
6
- } from "./chunk-KTVJZX5B.mjs";
6
+ } from "./chunk-K7UZDCYX.mjs";
7
7
 
8
8
  // src/MasonryPlugin.tsx
9
9
  import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
@@ -13,8 +13,8 @@ import { defineObjectForm } from "@dxos/plugin-space/types";
13
13
 
14
14
  // src/capabilities/index.ts
15
15
  import { lazy } from "@dxos/app-framework";
16
- var ReactSurface = lazy(() => import("./react-surface-BSDKYPZH.mjs"));
17
- var IntentResolver = lazy(() => import("./intent-resolver-YKIFA4JI.mjs"));
16
+ var ReactSurface = lazy(() => import("./react-surface-OUXYIQWW.mjs"));
17
+ var IntentResolver = lazy(() => import("./intent-resolver-ABCXBMFV.mjs"));
18
18
 
19
19
  // src/translations.ts
20
20
  var translations = [
@@ -2,7 +2,7 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  MasonryAction_exports,
4
4
  Masonry_exports
5
- } from "./chunk-KTVJZX5B.mjs";
5
+ } from "./chunk-K7UZDCYX.mjs";
6
6
 
7
7
  // src/capabilities/intent-resolver.ts
8
8
  import { Capabilities, contributes, createResolver } from "@dxos/app-framework";
@@ -29,4 +29,4 @@ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResol
29
29
  export {
30
30
  intent_resolver_default as default
31
31
  };
32
- //# sourceMappingURL=intent-resolver-YKIFA4JI.mjs.map
32
+ //# sourceMappingURL=intent-resolver-ABCXBMFV.mjs.map
@@ -1 +1 @@
1
- {"inputs":{"src/meta.ts":{"bytes":1970,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/components/MasonryContainer.tsx":{"bytes":9583,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-masonry","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/Masonry.ts":{"bytes":4859,"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":3380,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/index.ts":{"bytes":708,"imports":[{"path":"src/types/Masonry.ts","kind":"import-statement","original":"./Masonry"},{"path":"src/types/MasonryAction.ts","kind":"import-statement","original":"./MasonryAction"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":3363,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/components/MasonryContainer.tsx","kind":"import-statement","original":"../components/MasonryContainer"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":3143,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1037,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"}],"format":"esm"},"src/translations.ts":{"bytes":2098,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/MasonryPlugin.tsx":{"bytes":7784,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/index.ts":{"bytes":555,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/MasonryPlugin.tsx","kind":"import-statement","original":"./MasonryPlugin"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5112},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-KTVJZX5B.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/react-surface-BSDKYPZH.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/intent-resolver-YKIFA4JI.mjs","kind":"dynamic-import"}],"exports":["MasonryPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/MasonryPlugin.tsx":{"bytesInOutput":1683},"src/capabilities/index.ts":{"bytesInOutput":190},"src/translations.ts":{"bytesInOutput":382}},"bytes":2615},"dist/lib/node-esm/react-surface-BSDKYPZH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6560},"dist/lib/node-esm/react-surface-BSDKYPZH.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-KTVJZX5B.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-masonry","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":637},"src/components/MasonryContainer.tsx":{"bytesInOutput":2615}},"bytes":3627},"dist/lib/node-esm/intent-resolver-YKIFA4JI.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1597},"dist/lib/node-esm/intent-resolver-YKIFA4JI.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-KTVJZX5B.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":634}},"bytes":952},"dist/lib/node-esm/chunk-KTVJZX5B.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5218},"dist/lib/node-esm/chunk-KTVJZX5B.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"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/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["MasonryAction_exports","Masonry_exports","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":482},"src/types/Masonry.ts":{"bytesInOutput":1002},"src/types/MasonryAction.ts":{"bytesInOutput":868},"src/types/index.ts":{"bytesInOutput":0}},"bytes":2791}}}
1
+ {"inputs":{"src/meta.ts":{"bytes":1970,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/components/MasonryContainer.tsx":{"bytes":9585,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-masonry","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/types/Masonry.ts":{"bytes":4763,"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":3507,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/index.ts":{"bytes":708,"imports":[{"path":"src/types/Masonry.ts","kind":"import-statement","original":"./Masonry"},{"path":"src/types/MasonryAction.ts","kind":"import-statement","original":"./MasonryAction"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":3311,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/components/MasonryContainer.tsx","kind":"import-statement","original":"../components/MasonryContainer"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":3143,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1037,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"}],"format":"esm"},"src/translations.ts":{"bytes":2098,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/MasonryPlugin.tsx":{"bytes":7784,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/index.ts":{"bytes":555,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/MasonryPlugin.tsx","kind":"import-statement","original":"./MasonryPlugin"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5112},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-K7UZDCYX.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/react-surface-OUXYIQWW.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/intent-resolver-ABCXBMFV.mjs","kind":"dynamic-import"}],"exports":["MasonryPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/MasonryPlugin.tsx":{"bytesInOutput":1683},"src/capabilities/index.ts":{"bytesInOutput":190},"src/translations.ts":{"bytesInOutput":382}},"bytes":2615},"dist/lib/node-esm/react-surface-OUXYIQWW.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6517},"dist/lib/node-esm/react-surface-OUXYIQWW.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-K7UZDCYX.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-masonry","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":629},"src/components/MasonryContainer.tsx":{"bytesInOutput":2621}},"bytes":3625},"dist/lib/node-esm/intent-resolver-ABCXBMFV.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1597},"dist/lib/node-esm/intent-resolver-ABCXBMFV.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-K7UZDCYX.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":634}},"bytes":952},"dist/lib/node-esm/chunk-K7UZDCYX.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5182},"dist/lib/node-esm/chunk-K7UZDCYX.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true},{"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/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["MasonryAction_exports","Masonry_exports","meta"],"inputs":{"src/meta.ts":{"bytesInOutput":482},"src/types/Masonry.ts":{"bytesInOutput":986},"src/types/MasonryAction.ts":{"bytesInOutput":931},"src/types/index.ts":{"bytesInOutput":0}},"bytes":2838}}}
@@ -2,18 +2,18 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  Masonry_exports,
4
4
  meta
5
- } from "./chunk-KTVJZX5B.mjs";
5
+ } from "./chunk-K7UZDCYX.mjs";
6
6
 
7
7
  // src/capabilities/react-surface.tsx
8
8
  import React2 from "react";
9
9
  import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
10
10
  import { Obj } from "@dxos/echo";
11
- import { DataType } from "@dxos/schema";
11
+ import { View } from "@dxos/schema";
12
12
 
13
13
  // src/components/MasonryContainer.tsx
14
14
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
15
15
  import React, { useEffect, useMemo, useState } from "react";
16
- import { Surface } from "@dxos/app-framework";
16
+ import { Surface } from "@dxos/app-framework/react";
17
17
  import { Filter, Type } from "@dxos/echo";
18
18
  import { EchoSchema } from "@dxos/echo/internal";
19
19
  import { useGlobalFilteredObjects } from "@dxos/plugin-search";
@@ -100,7 +100,7 @@ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
100
100
  "article",
101
101
  "section"
102
102
  ],
103
- filter: (data) => Obj.instanceOf(DataType.View, data.subject) && Obj.instanceOf(Masonry_exports.Masonry, data.subject.presentation?.target),
103
+ filter: (data) => Obj.instanceOf(View.View, data.subject) && Obj.instanceOf(Masonry_exports.Masonry, data.subject.presentation?.target),
104
104
  component: ({ data, role }) => /* @__PURE__ */ React2.createElement(MasonryContainer, {
105
105
  view: data.subject,
106
106
  role
@@ -110,4 +110,4 @@ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
110
110
  export {
111
111
  react_surface_default as default
112
112
  };
113
- //# sourceMappingURL=react-surface-BSDKYPZH.mjs.map
113
+ //# sourceMappingURL=react-surface-OUXYIQWW.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/MasonryContainer.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport React from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { Obj } from '@dxos/echo';\nimport { View } from '@dxos/schema';\n\nimport { MasonryContainer } from '../components/MasonryContainer';\nimport { meta } from '../meta';\nimport { Masonry } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: meta.id,\n role: ['article', 'section'],\n filter: (data): data is { subject: View.View } =>\n Obj.instanceOf(View.View, data.subject) && Obj.instanceOf(Masonry.Masonry, data.subject.presentation?.target),\n component: ({ data, role }) => <MasonryContainer view={data.subject} role={role} />,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { Surface } from '@dxos/app-framework/react';\nimport { Filter, Type } from '@dxos/echo';\nimport { EchoSchema, type TypedObject } from '@dxos/echo/internal';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace, useQuery } from '@dxos/react-client/echo';\nimport { Masonry } from '@dxos/react-ui-masonry';\nimport { ProjectionModel, type View, getTypenameFromQuery } from '@dxos/schema';\n\nconst Item = ({ data }: { data: any }) => {\n return <Surface role='card' limit={1} data={{ subject: data }} />;\n};\n\nexport const MasonryContainer = ({ view, role }: { view: View.View; role: string }) => {\n const client = useClient();\n const space = getSpace(view);\n const typename = view.query ? getTypenameFromQuery(view.query.ast) : undefined;\n\n const [cardSchema, setCardSchema] = useState<TypedObject<any, any>>();\n const [projection, setProjection] = useState<ProjectionModel>();\n\n const jsonSchema = useMemo(() => {\n if (!cardSchema) return undefined;\n return cardSchema instanceof EchoSchema ? cardSchema.jsonSchema : Type.toJsonSchema(cardSchema);\n }, [cardSchema]);\n\n useEffect(() => {\n const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);\n if (staticSchema) {\n setCardSchema(() => staticSchema as TypedObject<any, any>);\n }\n if (!staticSchema && typename && space) {\n const query = space.db.schemaRegistry.query({ typename });\n const unsubscribe = query.subscribe(\n () => {\n const [schema] = query.results;\n if (schema) {\n setCardSchema(schema);\n }\n },\n { fire: true },\n );\n return unsubscribe;\n }\n }, [typename, space]);\n\n useEffect(() => {\n if (jsonSchema) {\n setProjection(new ProjectionModel(jsonSchema, view.projection));\n }\n }, [view.projection, JSON.stringify(jsonSchema)]);\n\n const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n return (\n <Masonry.Root\n items={filteredObjects}\n render={Item as any}\n classNames='is-full max-is-full bs-full max-bs-full overflow-y-auto p-4'\n />\n );\n};\n"],
5
+ "mappings": ";;;;;;;AAIA,OAAOA,YAAW;AAElB,SAASC,cAAcC,aAAaC,qBAAqB;AACzD,SAASC,WAAW;AACpB,SAASC,YAAY;;;;ACJrB,OAAOC,SAASC,WAAWC,SAASC,gBAAgB;AAEpD,SAASC,eAAe;AACxB,SAASC,QAAQC,YAAY;AAC7B,SAASC,kBAAoC;AAC7C,SAASC,gCAAgC;AACzC,SAASC,iBAAiB;AAC1B,SAASC,UAAUC,gBAAgB;AACnC,SAASC,eAAe;AACxB,SAASC,iBAA4BC,4BAA4B;AAEjE,IAAMC,OAAO,CAAC,EAAEC,KAAI,MAAiB;;;AACnC,WAAO,sBAAA,cAACC,SAAAA;MAAQC,MAAK;MAAOC,OAAO;MAAGH,MAAM;QAAEI,SAASJ;MAAK;;;;;AAC9D;AAEO,IAAMK,mBAAmB,CAAC,EAAEC,MAAMJ,KAAI,MAAqC;;;AAChF,UAAMK,SAASC,UAAAA;AACf,UAAMC,QAAQC,SAASJ,IAAAA;AACvB,UAAMK,WAAWL,KAAKM,QAAQC,qBAAqBP,KAAKM,MAAME,GAAG,IAAIC;AAErE,UAAM,CAACC,YAAYC,aAAAA,IAAiBC,SAAAA;AACpC,UAAM,CAACC,YAAYC,aAAAA,IAAiBF,SAAAA;AAEpC,UAAMG,aAAaC,QAAQ,MAAA;AACzB,UAAI,CAACN,WAAY,QAAOD;AACxB,aAAOC,sBAAsBO,aAAaP,WAAWK,aAAaG,KAAKC,aAAaT,UAAAA;IACtF,GAAG;MAACA;KAAW;AAEfU,cAAU,MAAA;AACR,YAAMC,eAAepB,OAAOqB,MAAMC,eAAeC,QAAQC,KAAK,CAACC,WAAWR,KAAKS,YAAYD,MAAAA,MAAYrB,QAAAA;AACvG,UAAIgB,cAAc;AAChBV,sBAAc,MAAMU,YAAAA;MACtB;AACA,UAAI,CAACA,gBAAgBhB,YAAYF,OAAO;AACtC,cAAMG,QAAQH,MAAMyB,GAAGL,eAAejB,MAAM;UAAED;QAAS,CAAA;AACvD,cAAMwB,cAAcvB,MAAMwB,UACxB,MAAA;AACE,gBAAM,CAACJ,MAAAA,IAAUpB,MAAMyB;AACvB,cAAIL,QAAQ;AACVf,0BAAce,MAAAA;UAChB;QACF,GACA;UAAEM,MAAM;QAAK,CAAA;AAEf,eAAOH;MACT;IACF,GAAG;MAACxB;MAAUF;KAAM;AAEpBiB,cAAU,MAAA;AACR,UAAIL,YAAY;AACdD,sBAAc,IAAImB,gBAAgBlB,YAAYf,KAAKa,UAAU,CAAA;MAC/D;IACF,GAAG;MAACb,KAAKa;MAAYqB,KAAKC,UAAUpB,UAAAA;KAAY;AAEhD,UAAMqB,UAAUC,SAASlC,OAAOO,aAAa4B,OAAOC,KAAK7B,UAAAA,IAAc4B,OAAOE,QAAO,CAAA;AACrF,UAAMC,kBAAkBC,yBAAyBN,OAAAA;AAEjD,WACE,sBAAA,cAACO,QAAQC,MAAI;MACXC,OAAOJ;MACPK,QAAQrD;MACRsD,YAAW;;;;;AAGjB;;;ADtDA,IAAA,yBAAe,MACbC,YAAYC,aAAaC,cAAc;EACrCC,cAAc;IACZC,IAAIC,KAAKD;IACTE,MAAM;MAAC;MAAW;;IAClBC,QAAQ,CAACC,SACPC,IAAIC,WAAWC,KAAKA,MAAMH,KAAKI,OAAO,KAAKH,IAAIC,WAAWG,gBAAQA,SAASL,KAAKI,QAAQE,cAAcC,MAAAA;IACxGC,WAAW,CAAC,EAAER,MAAMF,KAAI,MAAO,gBAAAW,OAAA,cAACC,kBAAAA;MAAiBC,MAAMX,KAAKI;MAASN;;EACvE,CAAA;CACD;",
6
+ "names": ["React", "Capabilities", "contributes", "createSurface", "Obj", "View", "React", "useEffect", "useMemo", "useState", "Surface", "Filter", "Type", "EchoSchema", "useGlobalFilteredObjects", "useClient", "getSpace", "useQuery", "Masonry", "ProjectionModel", "getTypenameFromQuery", "Item", "data", "Surface", "role", "limit", "subject", "MasonryContainer", "view", "client", "useClient", "space", "getSpace", "typename", "query", "getTypenameFromQuery", "ast", "undefined", "cardSchema", "setCardSchema", "useState", "projection", "setProjection", "jsonSchema", "useMemo", "EchoSchema", "Type", "toJsonSchema", "useEffect", "staticSchema", "graph", "schemaRegistry", "schemas", "find", "schema", "getTypename", "db", "unsubscribe", "subscribe", "results", "fire", "ProjectionModel", "JSON", "stringify", "objects", "useQuery", "Filter", "type", "nothing", "filteredObjects", "useGlobalFilteredObjects", "Masonry", "Root", "items", "render", "classNames", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "View", "subject", "Masonry", "presentation", "target", "component", "React", "MasonryContainer", "view"]
7
+ }
@@ -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":"AAMA,OAAO,EAAE,YAAY,EAA8B,MAAM,qBAAqB,CAAC;;AAQ/E,wBASK"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { type DataType } from '@dxos/schema';
2
+ import { type View } from '@dxos/schema';
3
3
  export declare const MasonryContainer: ({ view, role }: {
4
- view: DataType.View;
4
+ view: View.View;
5
5
  role: string;
6
6
  }) => React.JSX.Element;
7
7
  //# sourceMappingURL=MasonryContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MasonryContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/MasonryContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAS5D,OAAO,EAAE,KAAK,QAAQ,EAAyC,MAAM,cAAc,CAAC;AAMpF,eAAO,MAAM,gBAAgB,GAAI,gBAAgB;IAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBAiDrF,CAAC"}
1
+ {"version":3,"file":"MasonryContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/MasonryContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAS5D,OAAO,EAAmB,KAAK,IAAI,EAAwB,MAAM,cAAc,CAAC;AAMhF,eAAO,MAAM,gBAAgB,GAAI,gBAAgB;IAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBAiDjF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MasonryContainer.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/MasonryContainer.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAA8B,MAAM,OAAO,CAAC;AAqCnD,QAAA,MAAM,IAAI;;;;;;;;CAkCM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
1
+ {"version":3,"file":"MasonryContainer.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/MasonryContainer.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAA8B,MAAM,OAAO,CAAC;AAsCnD,QAAA,MAAM,IAAI;;;;;;;;CAsCM,CAAC;AAEjB,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import * as Schema from 'effect/Schema';
2
2
  import { Obj, Type } from '@dxos/echo';
3
3
  import { type JsonSchemaType, toEffectSchema } from '@dxos/echo/internal';
4
- import { type CreateViewFromSpaceProps, type DataType } from '@dxos/schema';
4
+ import { View } from '@dxos/schema';
5
5
  export declare const Masonry: Type.obj<Schema.Struct<{
6
6
  arrangement: Schema.optional<Schema.mutable<Schema.Array$<Schema.mutable<Schema.Struct<{
7
7
  ids: Schema.Array$<import("@dxos/keys").ObjectIdClass>;
@@ -18,10 +18,10 @@ export declare const make: (props?: Obj.MakeProps<typeof Masonry>) => import("@d
18
18
  ids: readonly string[];
19
19
  }[] | undefined;
20
20
  }>;
21
- export type MakeViewProps = Omit<CreateViewFromSpaceProps, 'presentation'>;
21
+ export type MakeViewProps = Omit<View.MakeFromSpaceProps, 'presentation'>;
22
22
  export declare const makeView: ({ ...props }: MakeViewProps) => Promise<{
23
23
  jsonSchema: JsonSchemaType;
24
- view: DataType.View;
24
+ view: View.View;
25
25
  schema: ReturnType<typeof toEffectSchema>;
26
26
  }>;
27
27
  //# sourceMappingURL=Masonry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Masonry.d.ts","sourceRoot":"","sources":["../../../../src/types/Masonry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,KAAK,cAAc,EAAkB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,KAAK,wBAAwB,EAAE,KAAK,QAAQ,EAAuB,MAAM,cAAc,CAAC;AAEjG,eAAO,MAAM,OAAO;;;;;GAcnB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,QAAO,GAAG,CAAC,SAAS,CAAC,OAAO,OAAO,CAAM;;;;;EAA6B,CAAC;AAE5F,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,wBAAwB,EAAE,cAAc,CAAC,CAAC;AAE3E,eAAO,MAAM,QAAQ,GAAU,cAE5B,aAAa,KAAG,OAAO,CAAC;IACzB,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;CAC3C,CAQA,CAAC"}
1
+ {"version":3,"file":"Masonry.d.ts","sourceRoot":"","sources":["../../../../src/types/Masonry.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,KAAK,cAAc,EAAkB,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1F,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,eAAO,MAAM,OAAO;;;;;GAcnB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,OAAO,CAAC,CAAC;AAEzD;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,QAAO,GAAG,CAAC,SAAS,CAAC,OAAO,OAAO,CAAM;;;;;EAA6B,CAAC;AAE5F,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC;AAE1E,eAAO,MAAM,QAAQ,GAAU,cAE5B,aAAa,KAAG,OAAO,CAAC;IACzB,UAAU,EAAE,cAAc,CAAC;IAC3B,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChB,MAAM,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;CAC3C,CAQA,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import * as Schema from 'effect/Schema';
2
- import { DataType } from '@dxos/schema';
2
+ import { View } from '@dxos/schema';
3
3
  export declare const MasonryProps: Schema.Struct<{
4
4
  name: Schema.optional<typeof Schema.String>;
5
5
  typename: Schema.optional<Schema.SchemaClass<string, string, never>>;
@@ -14,7 +14,7 @@ declare const CreateMasonry_base: Schema.TaggedClass<CreateMasonry, `${string}/c
14
14
  typename: Schema.optional<Schema.SchemaClass<string, string, never>>;
15
15
  }>>;
16
16
  output: Schema.Struct<{
17
- object: Schema.Schema<DataType.View, import("@dxos/schema").ViewEncoded, never>;
17
+ object: Schema.Schema<View.View, View.ViewEncoded, never>;
18
18
  }>;
19
19
  }>;
20
20
  export declare class CreateMasonry extends CreateMasonry_base {
@@ -1 +1 @@
1
- {"version":3,"file":"MasonryAction.d.ts","sourceRoot":"","sources":["../../../../src/types/MasonryAction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,QAAQ,EAAwB,MAAM,cAAc,CAAC;AAM9D,eAAO,MAAM,YAAY;;;EAQvB,CAAC;;;;;;;;;;;;;;AAEH,qBAAa,aAAc,SAAQ,kBAKjC;CAAG"}
1
+ {"version":3,"file":"MasonryAction.d.ts","sourceRoot":"","sources":["../../../../src/types/MasonryAction.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAwB,IAAI,EAAE,MAAM,cAAc,CAAC;AAM1D,eAAO,MAAM,YAAY;;;EASvB,CAAC;;;;;;;;;;;;;;AAEH,qBAAa,aAAc,SAAQ,kBAKjC;CAAG"}