@dxos/plugin-masonry 0.8.4-main.c351d160a8 → 0.8.4-main.dfabb4ec29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/{browser/MasonryContainer-Q7VPG6YS.mjs → neutral/MasonryContainer-KP37NJFB.mjs} +40 -21
- package/dist/lib/neutral/MasonryContainer-KP37NJFB.mjs.map +7 -0
- package/dist/lib/neutral/MasonryPlugin.mjs +26 -0
- package/dist/lib/neutral/MasonryPlugin.mjs.map +7 -0
- package/dist/lib/neutral/capabilities/index.mjs +11 -0
- package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
- package/dist/lib/{browser/chunk-7W5GV4MG.mjs → neutral/chunk-E42CTC55.mjs} +1 -1
- package/dist/lib/{browser/chunk-7W5GV4MG.mjs.map → neutral/chunk-E42CTC55.mjs.map} +2 -2
- package/dist/lib/{browser/chunk-ANLADCDB.mjs → neutral/chunk-YG4D3X6I.mjs} +5 -3
- package/dist/lib/neutral/chunk-YG4D3X6I.mjs.map +7 -0
- package/dist/lib/neutral/components/index.mjs +1 -0
- package/dist/lib/neutral/containers/index.mjs +9 -0
- package/dist/lib/neutral/containers/index.mjs.map +7 -0
- package/dist/lib/neutral/create-object-WRCYV4HT.mjs +39 -0
- package/dist/lib/neutral/create-object-WRCYV4HT.mjs.map +7 -0
- package/dist/lib/neutral/index.mjs +14 -0
- package/dist/lib/neutral/meta.json +1 -0
- package/dist/lib/neutral/meta.mjs +8 -0
- package/dist/lib/neutral/plugin.mjs +12 -0
- package/dist/lib/neutral/plugin.mjs.map +7 -0
- package/dist/lib/{browser/react-surface-E3X4DF5N.mjs → neutral/react-surface-367CTRTD.mjs} +14 -20
- package/dist/lib/neutral/react-surface-367CTRTD.mjs.map +7 -0
- package/dist/lib/neutral/translations.mjs +30 -0
- package/dist/lib/neutral/translations.mjs.map +7 -0
- package/dist/lib/{browser → neutral}/types/index.mjs +1 -1
- package/dist/lib/neutral/types/index.mjs.map +7 -0
- package/dist/types/src/MasonryPlugin.d.ts +1 -0
- package/dist/types/src/MasonryPlugin.d.ts.map +1 -1
- package/dist/types/src/MasonryPlugin.test.d.ts +2 -0
- package/dist/types/src/MasonryPlugin.test.d.ts.map +1 -0
- package/dist/types/src/capabilities/create-object.d.ts +11 -0
- package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +8 -1
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
- package/dist/types/src/containers/MasonryContainer/MasonryContainer.d.ts.map +1 -1
- package/dist/types/src/containers/MasonryContainer/MasonryContainer.stories.d.ts.map +1 -1
- package/dist/types/src/containers/MasonryContainer/index.d.ts +1 -2
- package/dist/types/src/containers/MasonryContainer/index.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/plugin.d.ts +3 -0
- package/dist/types/src/plugin.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +20 -20
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Masonry.d.ts +2 -2
- package/dist/types/src/types/Masonry.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +79 -44
- package/src/MasonryPlugin.test.ts +26 -0
- package/src/MasonryPlugin.tsx +7 -26
- package/src/capabilities/create-object.ts +36 -0
- package/src/capabilities/index.ts +4 -1
- package/src/capabilities/{react-surface/react-surface.tsx → react-surface.tsx} +9 -7
- package/src/containers/MasonryContainer/MasonryContainer.stories.tsx +8 -10
- package/src/containers/MasonryContainer/MasonryContainer.tsx +45 -14
- package/src/containers/MasonryContainer/index.ts +1 -3
- package/src/index.ts +1 -2
- package/src/plugin.ts +9 -0
- package/src/translations.ts +12 -12
- package/src/types/Masonry.ts +1 -1
- package/src/types/MasonryAction.ts +1 -1
- package/dist/lib/browser/MasonryContainer-Q7VPG6YS.mjs.map +0 -7
- package/dist/lib/browser/chunk-ANLADCDB.mjs.map +0 -7
- package/dist/lib/browser/index.mjs +0 -78
- package/dist/lib/browser/index.mjs.map +0 -7
- package/dist/lib/browser/meta.json +0 -1
- package/dist/lib/browser/react-surface-E3X4DF5N.mjs.map +0 -7
- package/dist/lib/node-esm/MasonryContainer-NQGW3OZD.mjs +0 -85
- package/dist/lib/node-esm/MasonryContainer-NQGW3OZD.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-CCWUD5KF.mjs +0 -21
- package/dist/lib/node-esm/chunk-CCWUD5KF.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-GHHWMU6E.mjs +0 -68
- package/dist/lib/node-esm/chunk-GHHWMU6E.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +0 -11
- package/dist/lib/node-esm/index.mjs +0 -79
- package/dist/lib/node-esm/index.mjs.map +0 -7
- package/dist/lib/node-esm/meta.json +0 -1
- package/dist/lib/node-esm/react-surface-4C6BZVEJ.mjs +0 -43
- package/dist/lib/node-esm/react-surface-4C6BZVEJ.mjs.map +0 -7
- package/dist/lib/node-esm/types/index.mjs +0 -11
- package/dist/types/src/capabilities/react-surface/index.d.ts +0 -3
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +0 -1
- package/src/capabilities/react-surface/index.ts +0 -7
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs +0 -0
- /package/dist/lib/{browser → neutral}/chunk-J5LGTIGS.mjs.map +0 -0
- /package/dist/lib/{browser/types → neutral/components}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/types → neutral}/index.mjs.map +0 -0
- /package/dist/lib/{node-esm/chunk-HSLMI22Q.mjs.map → neutral/meta.mjs.map} +0 -0
- /package/dist/types/src/capabilities/{react-surface/react-surface.d.ts → react-surface.d.ts} +0 -0
package/dist/lib/{browser/MasonryContainer-Q7VPG6YS.mjs → neutral/MasonryContainer-KP37NJFB.mjs}
RENAMED
|
@@ -3,22 +3,24 @@ import "./chunk-J5LGTIGS.mjs";
|
|
|
3
3
|
// src/containers/MasonryContainer/MasonryContainer.tsx
|
|
4
4
|
import * as Function from "effect/Function";
|
|
5
5
|
import * as Option from "effect/Option";
|
|
6
|
-
import React, { useEffect, useState } from "react";
|
|
6
|
+
import React, { useEffect, useMemo, useState } from "react";
|
|
7
7
|
import { Surface, useCapabilities } from "@dxos/app-framework/ui";
|
|
8
8
|
import { AppCapabilities } from "@dxos/app-toolkit";
|
|
9
|
-
import { useObjectMenuItems } from "@dxos/app-toolkit/ui";
|
|
10
|
-
import { Annotation, Filter, Obj, Type } from "@dxos/echo";
|
|
11
|
-
import { useGlobalFilteredObjects } from "@dxos/plugin-search";
|
|
9
|
+
import { AppSurface, useObjectMenuItems } from "@dxos/app-toolkit/ui";
|
|
10
|
+
import { Annotation, Filter, Obj, Query, Type } from "@dxos/echo";
|
|
12
11
|
import { useObject, useQuery } from "@dxos/react-client/echo";
|
|
13
|
-
import { Card, Toolbar } from "@dxos/react-ui";
|
|
12
|
+
import { Card, Panel, Toolbar } from "@dxos/react-ui";
|
|
14
13
|
import { Masonry as MasonryComponent } from "@dxos/react-ui-masonry";
|
|
15
14
|
import { Menu } from "@dxos/react-ui-menu";
|
|
16
|
-
import {
|
|
15
|
+
import { SearchList, useSearchListResults } from "@dxos/react-ui-search";
|
|
16
|
+
import { getTagFromQuery, getTypenameFromQuery } from "@dxos/schema";
|
|
17
|
+
import { isNonNullable } from "@dxos/util";
|
|
17
18
|
var MasonryContainer = ({ view: viewOrRef, role: _role }) => {
|
|
18
19
|
const [view] = useObject(viewOrRef);
|
|
19
20
|
const schemas = useCapabilities(AppCapabilities.Schema);
|
|
20
21
|
const db = view && Obj.getDatabase(view);
|
|
21
22
|
const typename = view?.query ? getTypenameFromQuery(view.query.ast) : void 0;
|
|
23
|
+
const tag = view?.query ? getTagFromQuery(view.query.ast) : void 0;
|
|
22
24
|
const [cardSchema, setCardSchema] = useState();
|
|
23
25
|
useEffect(() => {
|
|
24
26
|
const staticSchema = schemas.flat().find((schema) => Type.getTypename(schema) === typename);
|
|
@@ -26,11 +28,11 @@ var MasonryContainer = ({ view: viewOrRef, role: _role }) => {
|
|
|
26
28
|
setCardSchema(() => staticSchema);
|
|
27
29
|
}
|
|
28
30
|
if (!staticSchema && typename && db) {
|
|
29
|
-
const
|
|
31
|
+
const query2 = db.schemaRegistry.query({
|
|
30
32
|
typename
|
|
31
33
|
});
|
|
32
|
-
const unsubscribe =
|
|
33
|
-
const [schema] =
|
|
34
|
+
const unsubscribe = query2.subscribe(() => {
|
|
35
|
+
const [schema] = query2.results;
|
|
34
36
|
if (schema) {
|
|
35
37
|
setCardSchema(schema);
|
|
36
38
|
}
|
|
@@ -44,13 +46,33 @@ var MasonryContainer = ({ view: viewOrRef, role: _role }) => {
|
|
|
44
46
|
typename,
|
|
45
47
|
db
|
|
46
48
|
]);
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
const query = useMemo(() => {
|
|
50
|
+
const baseFilter = cardSchema ? Filter.type(cardSchema) : Filter.nothing();
|
|
51
|
+
return tag ? Query.select(baseFilter).select(Filter.tag(tag)) : Query.select(baseFilter);
|
|
52
|
+
}, [
|
|
53
|
+
cardSchema,
|
|
54
|
+
tag
|
|
55
|
+
]);
|
|
56
|
+
const objects = useQuery(db, query);
|
|
57
|
+
const sortedObjects = useMemo(() => objects.filter(isNonNullable).toSorted((a, b) => (Obj.getLabel(a) ?? "").localeCompare(Obj.getLabel(b) ?? "")), [
|
|
58
|
+
objects
|
|
59
|
+
]);
|
|
60
|
+
const { results, handleSearch } = useSearchListResults({
|
|
61
|
+
items: sortedObjects,
|
|
62
|
+
extract: (obj) => Obj.getLabel(obj) ?? ""
|
|
53
63
|
});
|
|
64
|
+
return /* @__PURE__ */ React.createElement(MasonryComponent.Root, {
|
|
65
|
+
Tile: Item
|
|
66
|
+
}, /* @__PURE__ */ React.createElement(SearchList.Root, {
|
|
67
|
+
onSearch: handleSearch
|
|
68
|
+
}, /* @__PURE__ */ React.createElement(Panel.Root, null, /* @__PURE__ */ React.createElement(Panel.Toolbar, {
|
|
69
|
+
asChild: true
|
|
70
|
+
}, /* @__PURE__ */ React.createElement(Toolbar.Root, null, /* @__PURE__ */ React.createElement(SearchList.Input, {
|
|
71
|
+
placeholder: "Search..."
|
|
72
|
+
}))), /* @__PURE__ */ React.createElement(Panel.Content, null, /* @__PURE__ */ React.createElement(MasonryComponent.Content, null, /* @__PURE__ */ React.createElement(MasonryComponent.Viewport, {
|
|
73
|
+
items: results,
|
|
74
|
+
getId: (data) => data?.id
|
|
75
|
+
}))))));
|
|
54
76
|
};
|
|
55
77
|
var Item = ({ data }) => {
|
|
56
78
|
const objectMenuItems = useObjectMenuItems(data);
|
|
@@ -68,17 +90,14 @@ var Item = ({ data }) => {
|
|
|
68
90
|
})), /* @__PURE__ */ React.createElement(Menu.Content, {
|
|
69
91
|
items: objectMenuItems
|
|
70
92
|
})), /* @__PURE__ */ React.createElement(Surface.Surface, {
|
|
71
|
-
|
|
93
|
+
type: AppSurface.Card,
|
|
72
94
|
limit: 1,
|
|
73
95
|
data: {
|
|
74
96
|
subject: data
|
|
75
97
|
}
|
|
76
98
|
})));
|
|
77
99
|
};
|
|
78
|
-
|
|
79
|
-
// src/containers/MasonryContainer/index.ts
|
|
80
|
-
var MasonryContainer_default = MasonryContainer;
|
|
81
100
|
export {
|
|
82
|
-
|
|
101
|
+
MasonryContainer as default
|
|
83
102
|
};
|
|
84
|
-
//# sourceMappingURL=MasonryContainer-
|
|
103
|
+
//# sourceMappingURL=MasonryContainer-KP37NJFB.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/containers/MasonryContainer/MasonryContainer.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Function from 'effect/Function';\nimport * as Option from 'effect/Option';\nimport type * as Schema from 'effect/Schema';\nimport React, { useEffect, useMemo, useState } from 'react';\n\nimport { Surface, useCapabilities } from '@dxos/app-framework/ui';\nimport { AppCapabilities } from '@dxos/app-toolkit';\nimport { AppSurface, useObjectMenuItems } from '@dxos/app-toolkit/ui';\nimport { Annotation, Filter, Obj, Query, type Ref, Type } from '@dxos/echo';\nimport { type View } from '@dxos/echo';\nimport { useObject, useQuery } from '@dxos/react-client/echo';\nimport { Card, Panel, Toolbar } from '@dxos/react-ui';\nimport { Masonry as MasonryComponent } from '@dxos/react-ui-masonry';\nimport { Menu } from '@dxos/react-ui-menu';\nimport { SearchList, useSearchListResults } from '@dxos/react-ui-search';\nimport { getTagFromQuery, getTypenameFromQuery } from '@dxos/schema';\nimport { isNonNullable } from '@dxos/util';\n\nexport type MasonryContainerProps = {\n view: View.View;\n role?: string;\n};\n\nexport const MasonryContainer = ({\n view: viewOrRef,\n role: _role,\n}: {\n view: View.View | Ref.Ref<View.View>;\n role?: string;\n}) => {\n const [view] = useObject(viewOrRef);\n const schemas = useCapabilities(AppCapabilities.Schema);\n const db = view && Obj.getDatabase(view);\n const typename = view?.query ? getTypenameFromQuery(view.query.ast) : undefined;\n const tag = view?.query ? getTagFromQuery(view.query.ast) : undefined;\n\n const [cardSchema, setCardSchema] = useState<Schema.Schema.AnyNoContext>();\n\n useEffect(() => {\n const staticSchema = schemas.flat().find((schema) => Type.getTypename(schema) === typename);\n if (staticSchema) {\n setCardSchema(() => staticSchema);\n }\n if (!staticSchema && typename && db) {\n const query = 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 }, [schemas, typename, db]);\n\n const query = useMemo(() => {\n const baseFilter = cardSchema ? Filter.type(cardSchema) : Filter.nothing();\n return tag ? Query.select(baseFilter).select(Filter.tag(tag)) : Query.select(baseFilter);\n }, [cardSchema, tag]);\n const objects = useQuery(db, query);\n\n const sortedObjects = useMemo(\n () =>\n objects.filter(isNonNullable).toSorted((a, b) => (Obj.getLabel(a) ?? '').localeCompare(Obj.getLabel(b) ?? '')),\n [objects],\n );\n\n const { results, handleSearch } = useSearchListResults({\n items: sortedObjects,\n extract: (obj) => Obj.getLabel(obj) ?? '',\n });\n\n return (\n <MasonryComponent.Root Tile={Item}>\n <SearchList.Root onSearch={handleSearch}>\n <Panel.Root>\n <Panel.Toolbar asChild>\n <Toolbar.Root>\n <SearchList.Input placeholder='Search...' />\n </Toolbar.Root>\n </Panel.Toolbar>\n <Panel.Content>\n <MasonryComponent.Content>\n <MasonryComponent.Viewport items={results} getId={(data: any) => data?.id} />\n </MasonryComponent.Content>\n </Panel.Content>\n </Panel.Root>\n </SearchList.Root>\n </MasonryComponent.Root>\n );\n};\n\nconst Item = ({ data }: { data: any }) => {\n const objectMenuItems = useObjectMenuItems(data);\n const icon = Function.pipe(\n Obj.getSchema(data),\n Option.fromNullable,\n Option.flatMap(Annotation.IconAnnotation.get),\n Option.map(({ icon }) => icon),\n Option.getOrElse(() => 'ph--placeholder--regular'),\n );\n\n return (\n <Menu.Root>\n <Card.Root>\n <Card.Toolbar>\n <Card.Icon icon={icon} />\n <Card.Title>{Obj.getLabel(data)}</Card.Title>\n {/* TODO(wittjosiah): Reconcile with Card.Menu. */}\n <Menu.Trigger asChild disabled={!objectMenuItems?.length}>\n <Toolbar.IconButton iconOnly variant='ghost' icon='ph--dots-three-vertical--regular' label='Actions' />\n </Menu.Trigger>\n <Menu.Content items={objectMenuItems} />\n </Card.Toolbar>\n <Surface.Surface\n type={AppSurface.Card}\n limit={1}\n data={{ subject: data } satisfies AppSurface.ObjectCardData}\n />\n </Card.Root>\n </Menu.Root>\n );\n};\n"],
|
|
5
|
+
"mappings": ";;;AAIA,YAAYA,cAAc;AAC1B,YAAYC,YAAY;AAExB,OAAOC,SAASC,WAAWC,SAASC,gBAAgB;AAEpD,SAASC,SAASC,uBAAuB;AACzC,SAASC,uBAAuB;AAChC,SAASC,YAAYC,0BAA0B;AAC/C,SAASC,YAAYC,QAAQC,KAAKC,OAAiBC,YAAY;AAE/D,SAASC,WAAWC,gBAAgB;AACpC,SAASC,MAAMC,OAAOC,eAAe;AACrC,SAASC,WAAWC,wBAAwB;AAC5C,SAASC,YAAY;AACrB,SAASC,YAAYC,4BAA4B;AACjD,SAASC,iBAAiBC,4BAA4B;AACtD,SAASC,qBAAqB;AAOvB,IAAMC,mBAAmB,CAAC,EAC/BC,MAAMC,WACNC,MAAMC,MAAK,MAIZ;AACC,QAAM,CAACH,IAAAA,IAAQd,UAAUe,SAAAA;AACzB,QAAMG,UAAU3B,gBAAgBC,gBAAgB2B,MAAM;AACtD,QAAMC,KAAKN,QAAQjB,IAAIwB,YAAYP,IAAAA;AACnC,QAAMQ,WAAWR,MAAMS,QAAQZ,qBAAqBG,KAAKS,MAAMC,GAAG,IAAIC;AACtE,QAAMC,MAAMZ,MAAMS,QAAQb,gBAAgBI,KAAKS,MAAMC,GAAG,IAAIC;AAE5D,QAAM,CAACE,YAAYC,aAAAA,IAAiBvC,SAAAA;AAEpCF,YAAU,MAAA;AACR,UAAM0C,eAAeX,QAAQY,KAAI,EAAGC,KAAK,CAACC,WAAWjC,KAAKkC,YAAYD,MAAAA,MAAYV,QAAAA;AAClF,QAAIO,cAAc;AAChBD,oBAAc,MAAMC,YAAAA;IACtB;AACA,QAAI,CAACA,gBAAgBP,YAAYF,IAAI;AACnC,YAAMG,SAAQH,GAAGc,eAAeX,MAAM;QAAED;MAAS,CAAA;AACjD,YAAMa,cAAcZ,OAAMa,UACxB,MAAA;AACE,cAAM,CAACJ,MAAAA,IAAUT,OAAMc;AACvB,YAAIL,QAAQ;AACVJ,wBAAcI,MAAAA;QAChB;MACF,GACA;QAAEM,MAAM;MAAK,CAAA;AAEf,aAAOH;IACT;EACF,GAAG;IAACjB;IAASI;IAAUF;GAAG;AAE1B,QAAMG,QAAQnC,QAAQ,MAAA;AACpB,UAAMmD,aAAaZ,aAAa/B,OAAO4C,KAAKb,UAAAA,IAAc/B,OAAO6C,QAAO;AACxE,WAAOf,MAAM5B,MAAM4C,OAAOH,UAAAA,EAAYG,OAAO9C,OAAO8B,IAAIA,GAAAA,CAAAA,IAAQ5B,MAAM4C,OAAOH,UAAAA;EAC/E,GAAG;IAACZ;IAAYD;GAAI;AACpB,QAAMiB,UAAU1C,SAASmB,IAAIG,KAAAA;AAE7B,QAAMqB,gBAAgBxD,QACpB,MACEuD,QAAQE,OAAOjC,aAAAA,EAAekC,SAAS,CAACC,GAAGC,OAAOnD,IAAIoD,SAASF,CAAAA,KAAM,IAAIG,cAAcrD,IAAIoD,SAASD,CAAAA,KAAM,EAAA,CAAA,GAC5G;IAACL;GAAQ;AAGX,QAAM,EAAEN,SAASc,aAAY,IAAK1C,qBAAqB;IACrD2C,OAAOR;IACPS,SAAS,CAACC,QAAQzD,IAAIoD,SAASK,GAAAA,KAAQ;EACzC,CAAA;AAEA,SACE,sBAAA,cAAChD,iBAAiBiD,MAAI;IAACC,MAAMC;KAC3B,sBAAA,cAACjD,WAAW+C,MAAI;IAACG,UAAUP;KACzB,sBAAA,cAAChD,MAAMoD,MAAI,MACT,sBAAA,cAACpD,MAAMC,SAAO;IAACuD,SAAAA;KACb,sBAAA,cAACvD,QAAQmD,MAAI,MACX,sBAAA,cAAC/C,WAAWoD,OAAK;IAACC,aAAY;QAGlC,sBAAA,cAAC1D,MAAM2D,SAAO,MACZ,sBAAA,cAACxD,iBAAiBwD,SAAO,MACvB,sBAAA,cAACxD,iBAAiByD,UAAQ;IAACX,OAAOf;IAAS2B,OAAO,CAACC,SAAcA,MAAMC;;AAOrF;AAEA,IAAMT,OAAO,CAAC,EAAEQ,KAAI,MAAiB;AACnC,QAAME,kBAAkBzE,mBAAmBuE,IAAAA;AAC3C,QAAMG,OAAgBC,cACpBxE,IAAIyE,UAAUL,IAAAA,GACPM,qBACAC,eAAQ7E,WAAW8E,eAAeC,GAAG,GACrCC,WAAI,CAAC,EAAEP,MAAAA,MAAI,MAAOA,KAAAA,GAClBQ,iBAAU,MAAM,0BAAA,CAAA;AAGzB,SACE,sBAAA,cAACrE,KAAKgD,MAAI,MACR,sBAAA,cAACrD,KAAKqD,MAAI,MACR,sBAAA,cAACrD,KAAKE,SAAO,MACX,sBAAA,cAACF,KAAK2E,MAAI;IAACT;MACX,sBAAA,cAAClE,KAAK4E,OAAK,MAAEjF,IAAIoD,SAASgB,IAAAA,CAAAA,GAE1B,sBAAA,cAAC1D,KAAKwE,SAAO;IAACpB,SAAAA;IAAQqB,UAAU,CAACb,iBAAiBc;KAChD,sBAAA,cAAC7E,QAAQ8E,YAAU;IAACC,UAAAA;IAASC,SAAQ;IAAQhB,MAAK;IAAmCiB,OAAM;OAE7F,sBAAA,cAAC9E,KAAKuD,SAAO;IAACV,OAAOe;OAEvB,sBAAA,cAAC7E,QAAQA,SAAO;IACdkD,MAAM/C,WAAWS;IACjBoF,OAAO;IACPrB,MAAM;MAAEsB,SAAStB;IAAK;;AAKhC;",
|
|
6
|
+
"names": ["Function", "Option", "React", "useEffect", "useMemo", "useState", "Surface", "useCapabilities", "AppCapabilities", "AppSurface", "useObjectMenuItems", "Annotation", "Filter", "Obj", "Query", "Type", "useObject", "useQuery", "Card", "Panel", "Toolbar", "Masonry", "MasonryComponent", "Menu", "SearchList", "useSearchListResults", "getTagFromQuery", "getTypenameFromQuery", "isNonNullable", "MasonryContainer", "view", "viewOrRef", "role", "_role", "schemas", "Schema", "db", "getDatabase", "typename", "query", "ast", "undefined", "tag", "cardSchema", "setCardSchema", "staticSchema", "flat", "find", "schema", "getTypename", "schemaRegistry", "unsubscribe", "subscribe", "results", "fire", "baseFilter", "type", "nothing", "select", "objects", "sortedObjects", "filter", "toSorted", "a", "b", "getLabel", "localeCompare", "handleSearch", "items", "extract", "obj", "Root", "Tile", "Item", "onSearch", "asChild", "Input", "placeholder", "Content", "Viewport", "getId", "data", "id", "objectMenuItems", "icon", "pipe", "getSchema", "fromNullable", "flatMap", "IconAnnotation", "get", "map", "getOrElse", "Icon", "Title", "Trigger", "disabled", "length", "IconButton", "iconOnly", "variant", "label", "limit", "subject"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import "./chunk-J5LGTIGS.mjs";
|
|
2
|
+
|
|
3
|
+
// src/MasonryPlugin.tsx
|
|
4
|
+
import { Plugin } from "@dxos/app-framework";
|
|
5
|
+
import { AppPlugin } from "@dxos/app-toolkit";
|
|
6
|
+
import { CreateObject, ReactSurface } from "#capabilities";
|
|
7
|
+
import { meta } from "#meta";
|
|
8
|
+
import { translations } from "#translations";
|
|
9
|
+
import { Masonry } from "#types";
|
|
10
|
+
var MasonryPlugin = Plugin.define(meta).pipe(AppPlugin.addCreateObjectModule({
|
|
11
|
+
activate: CreateObject
|
|
12
|
+
}), AppPlugin.addSchemaModule({
|
|
13
|
+
schema: [
|
|
14
|
+
Masonry.Masonry
|
|
15
|
+
]
|
|
16
|
+
}), AppPlugin.addSurfaceModule({
|
|
17
|
+
activate: ReactSurface
|
|
18
|
+
}), AppPlugin.addTranslationsModule({
|
|
19
|
+
translations
|
|
20
|
+
}), Plugin.make);
|
|
21
|
+
var MasonryPlugin_default = MasonryPlugin;
|
|
22
|
+
export {
|
|
23
|
+
MasonryPlugin,
|
|
24
|
+
MasonryPlugin_default as default
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=MasonryPlugin.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/MasonryPlugin.tsx"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\n\nimport { CreateObject, ReactSurface } from '#capabilities';\nimport { meta } from '#meta';\nimport { translations } from '#translations';\nimport { Masonry } from '#types';\n\nexport const MasonryPlugin = Plugin.define(meta).pipe(\n AppPlugin.addCreateObjectModule({ activate: CreateObject }),\n AppPlugin.addSchemaModule({ schema: [Masonry.Masonry] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n\nexport default MasonryPlugin;\n"],
|
|
5
|
+
"mappings": ";;;AAIA,SAASA,cAAc;AACvB,SAASC,iBAAiB;AAE1B,SAASC,cAAcC,oBAAoB;AAC3C,SAASC,YAAY;AACrB,SAASC,oBAAoB;AAC7B,SAASC,eAAe;AAEjB,IAAMC,gBAAgBP,OAAOQ,OAAOJ,IAAAA,EAAMK,KAC/CR,UAAUS,sBAAsB;EAAEC,UAAUT;AAAa,CAAA,GACzDD,UAAUW,gBAAgB;EAAEC,QAAQ;IAACP,QAAQA;;AAAS,CAAA,GACtDL,UAAUa,iBAAiB;EAAEH,UAAUR;AAAa,CAAA,GACpDF,UAAUc,sBAAsB;EAAEV;AAAa,CAAA,GAC/CL,OAAOgB,IAAI;AAGb,IAAA,wBAAeT;",
|
|
6
|
+
"names": ["Plugin", "AppPlugin", "CreateObject", "ReactSurface", "meta", "translations", "Masonry", "MasonryPlugin", "define", "pipe", "addCreateObjectModule", "activate", "addSchemaModule", "schema", "addSurfaceModule", "addTranslationsModule", "make"]
|
|
7
|
+
}
|
|
@@ -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-367CTRTD.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
|
+
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/meta.ts"],
|
|
4
4
|
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.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"],
|
|
5
|
-
"mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,
|
|
6
|
-
"names": ["trim", "meta", "id", "name", "description", "
|
|
5
|
+
"mappings": ";AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaJ;;;;EAIbK,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,aAAa,CAAA;AACf;",
|
|
6
|
+
"names": ["trim", "meta", "id", "name", "description", "icon", "iconHue", "source", "screenshots"]
|
|
7
7
|
}
|
|
@@ -25,7 +25,9 @@ var Masonry = Schema.Struct({
|
|
|
25
25
|
version: "0.1.0"
|
|
26
26
|
}), LabelAnnotation.set([
|
|
27
27
|
"name"
|
|
28
|
-
]), ViewAnnotation.set(
|
|
28
|
+
]), ViewAnnotation.set([
|
|
29
|
+
"view"
|
|
30
|
+
]), Annotation.IconAnnotation.set({
|
|
29
31
|
icon: "ph--wall--regular",
|
|
30
32
|
hue: "green"
|
|
31
33
|
}));
|
|
@@ -43,7 +45,7 @@ __export(MasonryAction_exports, {
|
|
|
43
45
|
MasonryProps: () => MasonryProps
|
|
44
46
|
});
|
|
45
47
|
import * as Schema2 from "effect/Schema";
|
|
46
|
-
import { TypeInputOptionsAnnotation } from "@dxos/plugin-space
|
|
48
|
+
import { TypeInputOptionsAnnotation } from "@dxos/plugin-space";
|
|
47
49
|
var MasonryProps = Schema2.Struct({
|
|
48
50
|
name: Schema2.optional(Schema2.String),
|
|
49
51
|
// TODO(wittjosiah): This should be a query input instead.
|
|
@@ -64,4 +66,4 @@ export {
|
|
|
64
66
|
Masonry_exports,
|
|
65
67
|
MasonryAction_exports
|
|
66
68
|
};
|
|
67
|
-
//# sourceMappingURL=chunk-
|
|
69
|
+
//# sourceMappingURL=chunk-YG4D3X6I.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\nimport { Annotation, Obj, Ref, Type } from '@dxos/echo';\nimport { View } from '@dxos/echo';\nimport { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { ViewAnnotation } from '@dxos/schema';\n\nexport const Masonry = 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 Type.object({\n typename: 'org.dxos.type.masonry',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name']),\n ViewAnnotation.set(['view']),\n Annotation.IconAnnotation.set({\n icon: 'ph--wall--regular',\n hue: 'green',\n }),\n);\n\nexport interface Masonry extends Schema.Schema.Type<typeof Masonry> {}\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;AAExB,SAASC,YAAYC,KAAKC,KAAKC,YAAY;AAC3C,SAASC,YAAY;AACrB,SAASC,qBAAqBC,uBAAuB;AACrD,SAASC,sBAAsB;AAExB,IAAMC,UAAiBC,cAAO;EACnCC,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,KACDT,KAAKmB,OAAO;EACVC,UAAU;EACVC,SAAS;AACX,CAAA,GACAlB,gBAAgBS,IAAI;EAAC;CAAO,GAC5BR,eAAeQ,IAAI;EAAC;CAAO,GAC3Bf,WAAWyB,eAAeV,IAAI;EAC5BW,MAAM;EACNC,KAAK;AACP,CAAA,CAAA;AAYK,IAAMC,OAAO,CAAC,EAAElB,MAAMM,cAAc,CAAA,GAAIF,KAAI,MAAa;AAC9D,SAAOb,IAAI2B,KAAKpB,SAAS;IAAEE;IAAMI,MAAMZ,IAAI0B,KAAKd,IAAAA;IAAOE;EAAY,CAAA;AACrE;;;AC/CA;;;;AAIA,YAAYa,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", "Annotation", "Obj", "Ref", "Type", "View", "FormInputAnnotation", "LabelAnnotation", "ViewAnnotation", "Masonry", "Struct", "name", "String", "pipe", "optional", "view", "set", "arrangement", "Array", "ids", "ID", "hidden", "Boolean", "object", "typename", "version", "IconAnnotation", "icon", "hue", "make", "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": ["../../../../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-YG4D3X6I.mjs";
|
|
5
|
+
import {
|
|
6
|
+
meta
|
|
7
|
+
} from "./chunk-E42CTC55.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 @@
|
|
|
1
|
+
{"inputs":{"src/meta.ts":{"bytes":1885,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/types/Masonry.ts":{"bytes":4815,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/echo","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"},"src/MasonryPlugin.tsx":{"bytes":2653,"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}],"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":4514,"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":"@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":16124,"imports":[{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"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-YG4D3X6I.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-367CTRTD.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":2220},"dist/lib/neutral/react-surface-367CTRTD.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":"@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":1111}},"bytes":1280},"dist/lib/neutral/MasonryContainer-KP37NJFB.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8636},"dist/lib/neutral/MasonryContainer-KP37NJFB.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-J5LGTIGS.mjs","kind":"import-statement"},{"path":"effect/Function","kind":"import-statement","external":true},{"path":"effect/Option","kind":"import-statement","external":true},{"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":4230},"src/containers/MasonryContainer/index.ts":{"bytesInOutput":0}},"bytes":4415},"dist/lib/neutral/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/neutral/index.mjs":{"imports":[{"path":"dist/lib/neutral/chunk-YG4D3X6I.mjs","kind":"import-statement"},{"path":"dist/lib/neutral/chunk-E42CTC55.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-YG4D3X6I.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3588},"dist/lib/neutral/chunk-YG4D3X6I.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","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":1051},"src/types/index.ts":{"bytesInOutput":0},"src/types/MasonryAction.ts":{"bytesInOutput":590}},"bytes":1848},"dist/lib/neutral/MasonryPlugin.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1397},"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":607}},"bytes":771},"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-367CTRTD.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-KP37NJFB.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-E42CTC55.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-E42CTC55.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-E42CTC55.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":940},"dist/lib/neutral/chunk-E42CTC55.mjs":{"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["meta"],"inputs":{"src/meta.ts":{"bytesInOutput":482}},"bytes":561},"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,12 @@
|
|
|
1
|
+
import {
|
|
2
|
+
meta
|
|
3
|
+
} from "./chunk-E42CTC55.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
|
+
}
|
|
@@ -1,32 +1,26 @@
|
|
|
1
|
-
import {
|
|
2
|
-
meta
|
|
3
|
-
} from "./chunk-7W5GV4MG.mjs";
|
|
4
|
-
import {
|
|
5
|
-
Masonry_exports
|
|
6
|
-
} from "./chunk-ANLADCDB.mjs";
|
|
7
1
|
import "./chunk-J5LGTIGS.mjs";
|
|
8
2
|
|
|
9
|
-
// src/capabilities/react-surface
|
|
3
|
+
// src/capabilities/react-surface.tsx
|
|
10
4
|
import * as Effect from "effect/Effect";
|
|
11
5
|
import React from "react";
|
|
12
6
|
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
13
7
|
import { Surface } from "@dxos/app-framework/ui";
|
|
8
|
+
import { AppSurface } from "@dxos/app-toolkit/ui";
|
|
14
9
|
import { Obj } from "@dxos/echo";
|
|
15
10
|
import { View } from "@dxos/echo";
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
import { lazy } from "react";
|
|
19
|
-
var MasonryContainer = lazy(() => import("./MasonryContainer-Q7VPG6YS.mjs"));
|
|
20
|
-
|
|
21
|
-
// src/capabilities/react-surface/react-surface.tsx
|
|
11
|
+
import { MasonryContainer } from "#containers";
|
|
12
|
+
import { Masonry } from "#types";
|
|
22
13
|
var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
|
|
23
14
|
Surface.create({
|
|
24
|
-
id:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
15
|
+
id: "root",
|
|
16
|
+
// TODO(wittjosiah): Split into multiple surfaces if this filter proves too strict for non-article roles.
|
|
17
|
+
filter: AppSurface.oneOf(AppSurface.object(AppSurface.Article, [
|
|
18
|
+
Masonry.Masonry,
|
|
19
|
+
View.View
|
|
20
|
+
]), AppSurface.object(AppSurface.Section, [
|
|
21
|
+
Masonry.Masonry,
|
|
22
|
+
View.View
|
|
23
|
+
])),
|
|
30
24
|
component: ({ data, role }) => {
|
|
31
25
|
const view = Obj.instanceOf(View.View, data.subject) ? data.subject : data.subject.view;
|
|
32
26
|
return /* @__PURE__ */ React.createElement(MasonryContainer, {
|
|
@@ -39,4 +33,4 @@ var react_surface_default = Capability.makeModule(() => Effect.succeed(Capabilit
|
|
|
39
33
|
export {
|
|
40
34
|
react_surface_default as default
|
|
41
35
|
};
|
|
42
|
-
//# sourceMappingURL=react-surface-
|
|
36
|
+
//# sourceMappingURL=react-surface-367CTRTD.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 } from '@dxos/echo';\nimport { 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,WAAW;AACpB,SAASC,YAAY;AAErB,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
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MasonryPlugin.d.ts","sourceRoot":"","sources":["../../../src/MasonryPlugin.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MasonryPlugin.d.ts","sourceRoot":"","sources":["../../../src/MasonryPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ7C,eAAO,MAAM,aAAa,4BAMzB,CAAC;eAEa,aAAa"}
|
|
@@ -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,2 +1,9 @@
|
|
|
1
|
-
|
|
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>;
|
|
2
9
|
//# sourceMappingURL=index.d.ts.map
|