@dxos/plugin-kanban 0.7.5-main.9d26e3a → 0.7.5-main.e9bb01b

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 (77) hide show
  1. package/dist/lib/browser/{chunk-JZBAL6SW.mjs → chunk-MSZ7GMFD.mjs} +21 -5
  2. package/dist/lib/browser/chunk-MSZ7GMFD.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +55 -243
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/intent-resolver-TYSGJ4E5.mjs +76 -0
  6. package/dist/lib/browser/intent-resolver-TYSGJ4E5.mjs.map +7 -0
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/react-surface-ERUIJTE2.mjs +240 -0
  9. package/dist/lib/browser/react-surface-ERUIJTE2.mjs.map +7 -0
  10. package/dist/lib/browser/types.mjs +1 -2
  11. package/dist/lib/node/{chunk-BE2FRW7E.cjs → chunk-G6G2PES4.cjs} +25 -8
  12. package/dist/lib/node/chunk-G6G2PES4.cjs.map +7 -0
  13. package/dist/lib/node/index.cjs +56 -235
  14. package/dist/lib/node/index.cjs.map +4 -4
  15. package/dist/lib/node/intent-resolver-UO2W4QQU.cjs +90 -0
  16. package/dist/lib/node/intent-resolver-UO2W4QQU.cjs.map +7 -0
  17. package/dist/lib/node/meta.json +1 -1
  18. package/dist/lib/node/react-surface-B6HGP7PH.cjs +258 -0
  19. package/dist/lib/node/react-surface-B6HGP7PH.cjs.map +7 -0
  20. package/dist/lib/node/types.cjs +4 -5
  21. package/dist/lib/node/types.cjs.map +2 -2
  22. package/dist/lib/node-esm/{chunk-L7JM7LGJ.mjs → chunk-4EDEB6MQ.mjs} +21 -4
  23. package/dist/lib/node-esm/chunk-4EDEB6MQ.mjs.map +7 -0
  24. package/dist/lib/node-esm/index.mjs +55 -243
  25. package/dist/lib/node-esm/index.mjs.map +4 -4
  26. package/dist/lib/node-esm/intent-resolver-AIGAAR4N.mjs +77 -0
  27. package/dist/lib/node-esm/intent-resolver-AIGAAR4N.mjs.map +7 -0
  28. package/dist/lib/node-esm/meta.json +1 -1
  29. package/dist/lib/node-esm/react-surface-HT4XGRD4.mjs +241 -0
  30. package/dist/lib/node-esm/react-surface-HT4XGRD4.mjs.map +7 -0
  31. package/dist/lib/node-esm/types.mjs +1 -2
  32. package/dist/types/src/KanbanPlugin.d.ts +1 -3
  33. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  34. package/dist/types/src/capabilities/index.d.ts +3 -0
  35. package/dist/types/src/capabilities/index.d.ts.map +1 -0
  36. package/dist/types/src/capabilities/intent-resolver.d.ts +4 -0
  37. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -0
  38. package/dist/types/src/capabilities/react-surface.d.ts +4 -0
  39. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -0
  40. package/dist/types/src/components/KanbanContainer.d.ts.map +1 -1
  41. package/dist/types/src/components/KanbanViewEditor.d.ts +2 -2
  42. package/dist/types/src/components/KanbanViewEditor.d.ts.map +1 -1
  43. package/dist/types/src/components/index.d.ts +1 -0
  44. package/dist/types/src/components/index.d.ts.map +1 -1
  45. package/dist/types/src/index.d.ts +1 -2
  46. package/dist/types/src/index.d.ts.map +1 -1
  47. package/dist/types/src/meta.d.ts +2 -2
  48. package/dist/types/src/meta.d.ts.map +1 -1
  49. package/dist/types/src/types.d.ts +10 -4
  50. package/dist/types/src/types.d.ts.map +1 -1
  51. package/dist/types/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +21 -29
  53. package/src/KanbanPlugin.tsx +40 -72
  54. package/src/capabilities/index.ts +8 -0
  55. package/src/capabilities/intent-resolver.ts +45 -0
  56. package/src/capabilities/react-surface.tsx +28 -0
  57. package/src/components/KanbanContainer.tsx +30 -29
  58. package/src/components/KanbanViewEditor.tsx +62 -28
  59. package/src/components/index.ts +1 -0
  60. package/src/index.ts +1 -4
  61. package/src/meta.ts +3 -2
  62. package/src/types.ts +0 -13
  63. package/dist/lib/browser/chunk-JZBAL6SW.mjs.map +0 -7
  64. package/dist/lib/browser/chunk-LG4OMN5S.mjs +0 -18
  65. package/dist/lib/browser/chunk-LG4OMN5S.mjs.map +0 -7
  66. package/dist/lib/browser/meta.mjs +0 -9
  67. package/dist/lib/browser/meta.mjs.map +0 -7
  68. package/dist/lib/node/chunk-BE2FRW7E.cjs.map +0 -7
  69. package/dist/lib/node/chunk-MBAGHRFM.cjs +0 -41
  70. package/dist/lib/node/chunk-MBAGHRFM.cjs.map +0 -7
  71. package/dist/lib/node/meta.cjs +0 -30
  72. package/dist/lib/node/meta.cjs.map +0 -7
  73. package/dist/lib/node-esm/chunk-L7JM7LGJ.mjs.map +0 -7
  74. package/dist/lib/node-esm/chunk-OTZHYV3S.mjs +0 -20
  75. package/dist/lib/node-esm/chunk-OTZHYV3S.mjs.map +0 -7
  76. package/dist/lib/node-esm/meta.mjs +0 -10
  77. package/dist/lib/node-esm/meta.mjs.map +0 -7
@@ -1,146 +1,19 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
- import {
3
- KanbanAction,
4
- createKanban,
5
- isKanban
6
- } from "./chunk-L7JM7LGJ.mjs";
7
2
  import {
8
3
  KANBAN_PLUGIN,
9
- meta_default
10
- } from "./chunk-OTZHYV3S.mjs";
4
+ KanbanAction,
5
+ meta
6
+ } from "./chunk-4EDEB6MQ.mjs";
11
7
 
12
8
  // packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx
13
- import React3 from "react";
14
- import { createSurface, createIntent as createIntent2, createResolver } from "@dxos/app-framework";
15
- import { invariant as invariant2 } from "@dxos/invariant";
16
- import { getSpace as getSpace3 } from "@dxos/react-client/echo";
9
+ import { createIntent, defineModule, contributes, Capabilities, Events, definePlugin } from "@dxos/app-framework";
10
+ import { ClientCapabilities, ClientEvents } from "@dxos/plugin-client";
17
11
  import { KanbanType as KanbanType2, translations as kanbanTranslations } from "@dxos/react-ui-kanban";
18
- import { ViewProjection } from "@dxos/schema";
19
12
 
20
- // packages/plugins/experimental/plugin-kanban/src/components/KanbanContainer.tsx
21
- import React, { useCallback, useEffect, useState } from "react";
22
- import { invariant } from "@dxos/invariant";
23
- import { useGlobalFilteredObjects } from "@dxos/plugin-search";
24
- import { Filter, useQuery, getSpace, create } from "@dxos/react-client/echo";
25
- import { useKanbanModel, Kanban } from "@dxos/react-ui-kanban";
26
- import { StackItem } from "@dxos/react-ui-stack";
27
- var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-kanban/src/components/KanbanContainer.tsx";
28
- var KanbanContainer = ({ kanban }) => {
29
- const [cardSchema, setCardSchema] = useState();
30
- const space = getSpace(kanban);
31
- useEffect(() => {
32
- if (kanban.cardView && space) {
33
- setCardSchema(space.db.schemaRegistry.getSchema(kanban.cardView.target.query.type));
34
- }
35
- }, [
36
- kanban.cardView,
37
- space
38
- ]);
39
- const objects = useQuery(space, cardSchema ? Filter.schema(cardSchema) : Filter.nothing());
40
- const filteredObjects = useGlobalFilteredObjects(objects);
41
- const model = useKanbanModel({
42
- kanban,
43
- cardSchema,
44
- items: filteredObjects
45
- });
46
- const handleAddColumn = useCallback((columnValue) => model?.addEmptyColumn(columnValue), [
47
- model
48
- ]);
49
- const handleAddCard = useCallback((columnValue) => {
50
- if (space && cardSchema) {
51
- space.db.add(create(cardSchema, {
52
- title: "",
53
- description: "",
54
- state: columnValue
55
- }));
56
- }
57
- }, [
58
- space,
59
- cardSchema
60
- ]);
61
- const handleRemoveCard = useCallback((card) => {
62
- invariant(space, void 0, {
63
- F: __dxlog_file,
64
- L: 51,
65
- S: void 0,
66
- A: [
67
- "space",
68
- ""
69
- ]
70
- });
71
- space.db.remove(card);
72
- }, [
73
- space
74
- ]);
75
- const handleRemoveEmptyColumn = useCallback((columnValue) => {
76
- model?.removeColumnFromArrangement(columnValue);
77
- }, [
78
- model
79
- ]);
80
- return /* @__PURE__ */ React.createElement(StackItem.Content, {
81
- toolbar: false
82
- }, model ? /* @__PURE__ */ React.createElement(Kanban, {
83
- model,
84
- onAddCard: handleAddCard,
85
- onAddColumn: handleAddColumn,
86
- onRemoveCard: handleRemoveCard,
87
- onRemoveEmptyColumn: handleRemoveEmptyColumn
88
- }) : /* @__PURE__ */ React.createElement("span", null, "Loading"));
89
- };
90
-
91
- // packages/plugins/experimental/plugin-kanban/src/components/KanbanViewEditor.tsx
92
- import React2, { useCallback as useCallback2, useEffect as useEffect2, useState as useState2 } from "react";
93
- import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
94
- import { getSpace as getSpace2 } from "@dxos/react-client/echo";
95
- import { ViewEditor, Form } from "@dxos/react-ui-form";
96
- import { KanbanPropsSchema } from "@dxos/react-ui-kanban";
97
- var KanbanViewEditor = ({ kanban }) => {
98
- const { dispatchPromise: dispatch } = useIntentDispatcher();
99
- const space = getSpace2(kanban);
100
- const [schema, setSchema] = useState2(space && kanban?.cardView?.target?.query?.type ? space.db.schemaRegistry.getSchema(kanban.cardView.target.query.type) : void 0);
101
- useEffect2(() => {
102
- if (space && kanban?.cardView?.target?.query?.type) {
103
- const unsubscribe = space.db.schemaRegistry.query({
104
- typename: kanban?.cardView?.target?.query?.type
105
- }).subscribe((query) => {
106
- const [schema2] = query.results;
107
- if (schema2) {
108
- setSchema(schema2);
109
- }
110
- });
111
- return unsubscribe;
112
- }
113
- }, [
114
- space,
115
- kanban?.cardView?.target?.query?.type
116
- ]);
117
- const handleDelete = useCallback2((fieldId) => dispatch?.(createIntent(KanbanAction.DeleteCardField, {
118
- kanban,
119
- fieldId
120
- })), [
121
- dispatch,
122
- kanban
123
- ]);
124
- if (!space || !schema || !kanban.cardView?.target) {
125
- return null;
126
- }
127
- return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(Form, {
128
- schema: KanbanPropsSchema,
129
- values: {
130
- columnField: kanban.columnField
131
- },
132
- onSave: ({ columnField }) => {
133
- kanban.columnField = columnField;
134
- kanban.arrangement = void 0;
135
- }
136
- }), /* @__PURE__ */ React2.createElement(ViewEditor, {
137
- registry: space.db.schemaRegistry,
138
- schema,
139
- view: kanban.cardView.target,
140
- onDelete: handleDelete
141
- }));
142
- };
143
- var KanbanViewEditor_default = KanbanViewEditor;
13
+ // packages/plugins/experimental/plugin-kanban/src/capabilities/index.ts
14
+ import { lazy } from "@dxos/app-framework";
15
+ var IntentResolver = lazy(() => import("./intent-resolver-AIGAAR4N.mjs"));
16
+ var ReactSurface = lazy(() => import("./react-surface-HT4XGRD4.mjs"));
144
17
 
145
18
  // packages/plugins/experimental/plugin-kanban/src/translations.ts
146
19
  import { KanbanType } from "@dxos/react-ui-kanban";
@@ -170,117 +43,56 @@ var translations_default = [
170
43
  ];
171
44
 
172
45
  // packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx
173
- var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx";
174
- var KanbanPlugin = () => {
175
- return {
176
- meta: meta_default,
177
- provides: {
46
+ var KanbanPlugin = () => definePlugin(meta, [
47
+ defineModule({
48
+ id: `${meta.id}/module/translations`,
49
+ activatesOn: Events.SetupTranslations,
50
+ activate: () => contributes(Capabilities.Translations, [
51
+ ...translations_default,
52
+ ...kanbanTranslations
53
+ ])
54
+ }),
55
+ defineModule({
56
+ id: `${meta.id}/module/metadata`,
57
+ activatesOn: Events.SetupMetadata,
58
+ activate: () => contributes(Capabilities.Metadata, {
59
+ id: KanbanType2.typename,
178
60
  metadata: {
179
- records: {
180
- [KanbanType2.typename]: {
181
- createObject: (props) => createIntent2(KanbanAction.Create, props),
182
- placeholder: [
183
- "kanban title placeholder",
184
- {
185
- ns: KANBAN_PLUGIN
186
- }
187
- ],
188
- icon: "ph--kanban--regular"
61
+ createObject: (props, options) => createIntent(KanbanAction.Create, {
62
+ ...props,
63
+ space: options.space
64
+ }),
65
+ placeholder: [
66
+ "kanban title placeholder",
67
+ {
68
+ ns: KANBAN_PLUGIN
189
69
  }
190
- }
191
- },
192
- echo: {
193
- schema: [
194
- KanbanType2
195
- ]
196
- },
197
- translations: [
198
- ...translations_default,
199
- ...kanbanTranslations
200
- ],
201
- surface: {
202
- definitions: () => [
203
- createSurface({
204
- id: `${KANBAN_PLUGIN}/kanban`,
205
- role: [
206
- "article",
207
- "section"
208
- ],
209
- filter: (data) => isKanban(data.subject),
210
- component: ({ data, role }) => /* @__PURE__ */ React3.createElement(KanbanContainer, {
211
- kanban: data.subject,
212
- role
213
- })
214
- }),
215
- createSurface({
216
- id: `${KANBAN_PLUGIN}/settings`,
217
- role: "complementary--settings",
218
- filter: (data) => isKanban(data.subject),
219
- component: ({ data }) => /* @__PURE__ */ React3.createElement(KanbanViewEditor_default, {
220
- kanban: data.subject
221
- })
222
- })
223
- ]
224
- },
225
- intent: {
226
- resolvers: () => [
227
- createResolver(KanbanAction.Create, async ({ space }) => ({
228
- data: {
229
- object: await createKanban(space)
230
- }
231
- })),
232
- createResolver(KanbanAction.DeleteCardField, ({ kanban, fieldId, deletionData }, undo) => {
233
- invariant2(kanban.cardView, void 0, {
234
- F: __dxlog_file2,
235
- L: 58,
236
- S: void 0,
237
- A: [
238
- "kanban.cardView",
239
- ""
240
- ]
241
- });
242
- const schema = kanban.cardView.target && getSpace3(kanban)?.db.schemaRegistry.getSchema(kanban.cardView.target.query.type);
243
- invariant2(schema, void 0, {
244
- F: __dxlog_file2,
245
- L: 63,
246
- S: void 0,
247
- A: [
248
- "schema",
249
- ""
250
- ]
251
- });
252
- const projection = new ViewProjection(schema, kanban.cardView.target);
253
- if (!undo) {
254
- const { deleted, index } = projection.deleteFieldProjection(fieldId);
255
- return {
256
- undoable: {
257
- message: translations_default[0]["en-US"][KANBAN_PLUGIN]["card field deleted label"],
258
- data: {
259
- deletionData: {
260
- ...deleted,
261
- index
262
- }
263
- }
264
- }
265
- };
266
- } else if (undo && deletionData) {
267
- const { field, props, index } = deletionData;
268
- projection.setFieldProjection({
269
- field,
270
- props
271
- }, index);
272
- }
273
- })
274
- ]
70
+ ],
71
+ icon: "ph--kanban--regular"
275
72
  }
276
- }
277
- };
278
- };
279
-
280
- // packages/plugins/experimental/plugin-kanban/src/index.ts
281
- var src_default = KanbanPlugin;
73
+ })
74
+ }),
75
+ defineModule({
76
+ id: `${meta.id}/module/schema`,
77
+ activatesOn: ClientEvents.SetupSchema,
78
+ activate: () => contributes(ClientCapabilities.Schema, [
79
+ KanbanType2
80
+ ])
81
+ }),
82
+ defineModule({
83
+ id: `${meta.id}/module/react-surface`,
84
+ activatesOn: Events.SetupSurfaces,
85
+ activate: ReactSurface
86
+ }),
87
+ defineModule({
88
+ id: `${meta.id}/module/intent-resolver`,
89
+ activatesOn: Events.SetupIntents,
90
+ activate: IntentResolver
91
+ })
92
+ ]);
282
93
  export {
94
+ KANBAN_PLUGIN,
283
95
  KanbanPlugin,
284
- src_default as default
96
+ meta
285
97
  };
286
98
  //# sourceMappingURL=index.mjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/KanbanPlugin.tsx", "../../../src/components/KanbanContainer.tsx", "../../../src/components/KanbanViewEditor.tsx", "../../../src/translations.ts", "../../../src/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { type PluginDefinition, createSurface, createIntent, createResolver } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { getSpace, type Space } from '@dxos/react-client/echo';\nimport { KanbanType, translations as kanbanTranslations } from '@dxos/react-ui-kanban';\nimport { ViewProjection } from '@dxos/schema';\n\nimport { KanbanContainer } from './components';\nimport KanbanViewEditor from './components/KanbanViewEditor';\nimport meta, { KANBAN_PLUGIN } from './meta';\nimport translations from './translations';\nimport { isKanban, KanbanAction, type KanbanPluginProvides, createKanban } from './types';\n\nexport const KanbanPlugin = (): PluginDefinition<KanbanPluginProvides> => {\n return {\n meta,\n provides: {\n metadata: {\n records: {\n [KanbanType.typename]: {\n createObject: (props: { name?: string; space: Space }) => createIntent(KanbanAction.Create, props),\n placeholder: ['kanban title placeholder', { ns: KANBAN_PLUGIN }],\n icon: 'ph--kanban--regular',\n },\n },\n },\n echo: {\n schema: [KanbanType],\n },\n translations: [...translations, ...kanbanTranslations],\n surface: {\n definitions: () => [\n createSurface({\n id: `${KANBAN_PLUGIN}/kanban`,\n role: ['article', 'section'],\n filter: (data): data is { subject: KanbanType } => isKanban(data.subject),\n component: ({ data, role }) => <KanbanContainer kanban={data.subject} role={role} />,\n }),\n createSurface({\n id: `${KANBAN_PLUGIN}/settings`,\n role: 'complementary--settings',\n filter: (data): data is { subject: KanbanType } => isKanban(data.subject),\n component: ({ data }) => <KanbanViewEditor kanban={data.subject} />,\n }),\n ],\n },\n intent: {\n resolvers: () => [\n createResolver(KanbanAction.Create, async ({ space }) => ({\n data: { object: await createKanban(space) },\n })),\n createResolver(KanbanAction.DeleteCardField, ({ kanban, fieldId, deletionData }, undo) => {\n invariant(kanban.cardView);\n\n const schema =\n kanban.cardView.target &&\n getSpace(kanban)?.db.schemaRegistry.getSchema(kanban.cardView.target.query.type);\n invariant(schema);\n const projection = new ViewProjection(schema, kanban.cardView.target!);\n\n if (!undo) {\n const { deleted, index } = projection.deleteFieldProjection(fieldId);\n return {\n undoable: {\n message: translations[0]['en-US'][KANBAN_PLUGIN]['card field deleted label'],\n data: { deletionData: { ...deleted, index } },\n },\n };\n } else if (undo && deletionData) {\n const { field, props, index } = deletionData;\n projection.setFieldProjection({ field, props }, index);\n }\n }),\n ],\n },\n },\n };\n};\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { type EchoSchema } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { Filter, useQuery, getSpace, create } from '@dxos/react-client/echo';\nimport { type KanbanType, useKanbanModel, Kanban } from '@dxos/react-ui-kanban';\nimport { StackItem } from '@dxos/react-ui-stack';\n\nexport const KanbanContainer = ({ kanban }: { kanban: KanbanType; role: string }) => {\n const [cardSchema, setCardSchema] = useState<EchoSchema>();\n const space = getSpace(kanban);\n useEffect(() => {\n if (kanban.cardView && space) {\n setCardSchema(space.db.schemaRegistry.getSchema(kanban.cardView.target!.query.type));\n }\n }, [kanban.cardView, space]);\n\n const objects = useQuery(space, cardSchema ? Filter.schema(cardSchema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n const model = useKanbanModel({\n kanban,\n cardSchema,\n items: filteredObjects,\n });\n\n const handleAddColumn = useCallback((columnValue: string) => model?.addEmptyColumn(columnValue), [model]);\n\n const handleAddCard = useCallback(\n (columnValue: string) => {\n if (space && cardSchema) {\n space.db.add(\n create(cardSchema, {\n title: '',\n description: '',\n state: columnValue,\n }),\n );\n }\n },\n [space, cardSchema],\n );\n\n const handleRemoveCard = useCallback(\n (card: { id: string }) => {\n invariant(space);\n space.db.remove(card);\n },\n [space],\n );\n\n const handleRemoveEmptyColumn = useCallback(\n (columnValue: string) => {\n model?.removeColumnFromArrangement(columnValue);\n },\n [model],\n );\n\n return (\n <StackItem.Content toolbar={false}>\n {model ? (\n <Kanban\n model={model}\n onAddCard={handleAddCard}\n onAddColumn={handleAddColumn}\n onRemoveCard={handleRemoveCard}\n onRemoveEmptyColumn={handleRemoveEmptyColumn}\n />\n ) : (\n <span>Loading</span>\n )}\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { ViewEditor, Form } from '@dxos/react-ui-form';\nimport { type KanbanType, KanbanPropsSchema } from '@dxos/react-ui-kanban';\n\nimport { KanbanAction } from '../types';\n\ntype KanbanViewEditorProps = { kanban: KanbanType };\n\nconst KanbanViewEditor = ({ kanban }: KanbanViewEditorProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const space = getSpace(kanban);\n\n // TODO(ZaymonFC): The schema registry needs an API where we can query with initial value and\n // endure typename changes. We shouldn't need to manage a subscription at this layer.\n const [schema, setSchema] = useState(\n space && kanban?.cardView?.target?.query?.type\n ? space.db.schemaRegistry.getSchema(kanban.cardView.target.query.type)\n : undefined,\n );\n\n useEffect(() => {\n if (space && kanban?.cardView?.target?.query?.type) {\n const unsubscribe = space.db.schemaRegistry\n .query({ typename: kanban?.cardView?.target?.query?.type })\n .subscribe((query) => {\n const [schema] = query.results;\n if (schema) {\n setSchema(schema);\n }\n });\n\n return unsubscribe;\n }\n }, [space, kanban?.cardView?.target?.query?.type]);\n\n const handleDelete = useCallback(\n (fieldId: string) => dispatch?.(createIntent(KanbanAction.DeleteCardField, { kanban, fieldId })),\n [dispatch, kanban],\n );\n\n if (!space || !schema || !kanban.cardView?.target) {\n return null;\n }\n\n return (\n <>\n <Form\n schema={KanbanPropsSchema}\n values={{ columnField: kanban.columnField }}\n onSave={({ columnField }) => {\n kanban.columnField = columnField;\n kanban.arrangement = undefined;\n }}\n />\n <ViewEditor\n registry={space.db.schemaRegistry}\n schema={schema}\n view={kanban.cardView.target}\n onDelete={handleDelete}\n />\n </>\n );\n};\n\nexport default KanbanViewEditor;\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { KanbanType } from '@dxos/react-ui-kanban';\n\nimport { KANBAN_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [KanbanType.typename]: {\n 'typename label': 'Kanban',\n },\n [KANBAN_PLUGIN]: {\n 'plugin name': 'Kanban',\n 'kanban title label': 'Title',\n 'kanban title placeholder': 'New kanban',\n 'column title label': 'Column title',\n 'column title placeholder': 'New column',\n 'item title label': 'Item title',\n 'item title placeholder': 'New item',\n 'add column label': 'Add column',\n 'add item label': 'Add card',\n 'delete column label': 'Delete column',\n 'delete item label': 'Delete card',\n 'create kanban label': 'Create kanban',\n 'card field deleted label': 'Card field deleted',\n },\n },\n },\n];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { KanbanPlugin } from './KanbanPlugin';\n\nexport default KanbanPlugin;\n\nexport * from './KanbanPlugin';\n"],
5
- "mappings": "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",
6
- "names": ["React", "createSurface", "createIntent", "createResolver", "invariant", "getSpace", "KanbanType", "translations", "kanbanTranslations", "ViewProjection", "React", "useCallback", "useEffect", "useState", "invariant", "useGlobalFilteredObjects", "Filter", "useQuery", "getSpace", "create", "useKanbanModel", "Kanban", "StackItem", "KanbanContainer", "kanban", "cardSchema", "setCardSchema", "space", "cardView", "db", "schemaRegistry", "getSchema", "target", "query", "type", "objects", "schema", "nothing", "filteredObjects", "model", "items", "handleAddColumn", "columnValue", "addEmptyColumn", "handleAddCard", "add", "title", "description", "state", "handleRemoveCard", "card", "remove", "handleRemoveEmptyColumn", "removeColumnFromArrangement", "Content", "toolbar", "onAddCard", "onAddColumn", "onRemoveCard", "onRemoveEmptyColumn", "span", "React", "useCallback", "useEffect", "useState", "createIntent", "useIntentDispatcher", "getSpace", "ViewEditor", "Form", "KanbanPropsSchema", "KanbanViewEditor", "kanban", "dispatchPromise", "dispatch", "useIntentDispatcher", "space", "getSpace", "schema", "setSchema", "useState", "cardView", "target", "query", "type", "db", "schemaRegistry", "getSchema", "undefined", "useEffect", "unsubscribe", "typename", "subscribe", "results", "handleDelete", "useCallback", "fieldId", "createIntent", "KanbanAction", "DeleteCardField", "React", "Form", "KanbanPropsSchema", "values", "columnField", "onSave", "arrangement", "ViewEditor", "registry", "view", "onDelete", "KanbanType", "KanbanType", "typename", "KANBAN_PLUGIN", "KanbanPlugin", "meta", "provides", "metadata", "records", "KanbanType", "typename", "createObject", "props", "createIntent", "KanbanAction", "Create", "placeholder", "ns", "KANBAN_PLUGIN", "icon", "echo", "schema", "translations", "kanbanTranslations", "surface", "definitions", "createSurface", "id", "role", "filter", "data", "isKanban", "subject", "component", "React", "KanbanContainer", "kanban", "KanbanViewEditor", "intent", "resolvers", "createResolver", "space", "object", "createKanban", "DeleteCardField", "fieldId", "deletionData", "undo", "invariant", "cardView", "target", "getSpace", "db", "schemaRegistry", "getSchema", "query", "type", "projection", "ViewProjection", "deleted", "index", "deleteFieldProjection", "undoable", "message", "field", "setFieldProjection", "KanbanPlugin"]
3
+ "sources": ["../../../src/KanbanPlugin.tsx", "../../../src/capabilities/index.ts", "../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, defineModule, contributes, Capabilities, Events, definePlugin } from '@dxos/app-framework';\nimport { ClientCapabilities, ClientEvents } from '@dxos/plugin-client';\nimport { type Space } from '@dxos/react-client/echo';\nimport { KanbanType, translations as kanbanTranslations } from '@dxos/react-ui-kanban';\n\nimport { IntentResolver, ReactSurface } from './capabilities';\nimport { KANBAN_PLUGIN, meta } from './meta';\nimport translations from './translations';\nimport { KanbanAction } from './types';\n\nexport const KanbanPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...kanbanTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: KanbanType.typename,\n metadata: {\n createObject: (props: { name?: string }, options: { space: Space }) =>\n createIntent(KanbanAction.Create, { ...props, space: options.space }),\n placeholder: ['kanban title placeholder', { ns: KANBAN_PLUGIN }],\n icon: 'ph--kanban--regular',\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/schema`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () => contributes(ClientCapabilities.Schema, [KanbanType]),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupSurfaces,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntents,\n activate: IntentResolver,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { KanbanType } from '@dxos/react-ui-kanban';\n\nimport { KANBAN_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\n [KanbanType.typename]: {\n 'typename label': 'Kanban',\n },\n [KANBAN_PLUGIN]: {\n 'plugin name': 'Kanban',\n 'kanban title label': 'Title',\n 'kanban title placeholder': 'New kanban',\n 'column title label': 'Column title',\n 'column title placeholder': 'New column',\n 'item title label': 'Item title',\n 'item title placeholder': 'New item',\n 'add column label': 'Add column',\n 'add item label': 'Add card',\n 'delete column label': 'Delete column',\n 'delete item label': 'Delete card',\n 'create kanban label': 'Create kanban',\n 'card field deleted label': 'Card field deleted',\n },\n },\n },\n];\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,cAAcC,aAAaC,cAAcC,QAAQC,oBAAoB;AAC5F,SAASC,oBAAoBC,oBAAoB;AAEjD,SAASC,cAAAA,aAAYC,gBAAgBC,0BAA0B;;;ACH/D,SAASC,YAAY;AAEd,IAAMC,iBAAiBC,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAMC,eAAeD,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACH9C,SAASE,kBAAkB;AAI3B,IAAA,uBAAe;EACb;IACE,SAAS;MACP,CAACC,WAAWC,QAAQ,GAAG;QACrB,kBAAkB;MACpB;MACA,CAACC,aAAAA,GAAgB;QACf,eAAe;QACf,sBAAsB;QACtB,4BAA4B;QAC5B,sBAAsB;QACtB,4BAA4B;QAC5B,oBAAoB;QACpB,0BAA0B;QAC1B,oBAAoB;QACpB,kBAAkB;QAClB,uBAAuB;QACvB,qBAAqB;QACrB,uBAAuB;QACvB,4BAA4B;MAC9B;IACF;EACF;;;;AFhBK,IAAMC,eAAe,MAC1BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAc;SAAIC;SAAiBC;KAAmB;EACjG,CAAA;EACAV,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOQ;IACpBN,UAAU,MACRC,YAAYC,aAAaK,UAAU;MACjCX,IAAIY,YAAWC;MACfC,UAAU;QACRC,cAAc,CAACC,OAA0BC,YACvCC,aAAaC,aAAaC,QAAQ;UAAE,GAAGJ;UAAOK,OAAOJ,QAAQI;QAAM,CAAA;QACrEC,aAAa;UAAC;UAA4B;YAAEC,IAAIC;UAAc;;QAC9DC,MAAM;MACR;IACF,CAAA;EACJ,CAAA;EACA1B,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAayB,aAAaC;IAC1BvB,UAAU,MAAMC,YAAYuB,mBAAmBC,QAAQ;MAACjB;KAAW;EACrE,CAAA;EACAb,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAO4B;IACpB1B,UAAU2B;EACZ,CAAA;EACAhC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAO8B;IACpB5B,UAAU6B;EACZ,CAAA;CACD;",
6
+ "names": ["createIntent", "defineModule", "contributes", "Capabilities", "Events", "definePlugin", "ClientCapabilities", "ClientEvents", "KanbanType", "translations", "kanbanTranslations", "lazy", "IntentResolver", "lazy", "ReactSurface", "KanbanType", "KanbanType", "typename", "KANBAN_PLUGIN", "KanbanPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "kanbanTranslations", "SetupMetadata", "Metadata", "KanbanType", "typename", "metadata", "createObject", "props", "options", "createIntent", "KanbanAction", "Create", "space", "placeholder", "ns", "KANBAN_PLUGIN", "icon", "ClientEvents", "SetupSchema", "ClientCapabilities", "Schema", "SetupSurfaces", "ReactSurface", "SetupIntents", "IntentResolver"]
7
7
  }
@@ -0,0 +1,77 @@
1
+ import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
+ import {
3
+ KANBAN_PLUGIN,
4
+ KanbanAction,
5
+ createKanban
6
+ } from "./chunk-4EDEB6MQ.mjs";
7
+
8
+ // packages/plugins/experimental/plugin-kanban/src/capabilities/intent-resolver.ts
9
+ import { contributes, Capabilities, createResolver } from "@dxos/app-framework";
10
+ import { invariant } from "@dxos/invariant";
11
+ import { getSpace } from "@dxos/react-client/echo";
12
+ import { ViewProjection } from "@dxos/schema";
13
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-kanban/src/capabilities/intent-resolver.ts";
14
+ var intent_resolver_default = () => contributes(Capabilities.IntentResolver, [
15
+ createResolver({
16
+ intent: KanbanAction.Create,
17
+ resolve: async ({ space }) => ({
18
+ data: {
19
+ object: await createKanban(space)
20
+ }
21
+ })
22
+ }),
23
+ createResolver({
24
+ intent: KanbanAction.DeleteCardField,
25
+ resolve: ({ kanban, fieldId, deletionData }, undo) => {
26
+ invariant(kanban.cardView, void 0, {
27
+ F: __dxlog_file,
28
+ L: 24,
29
+ S: void 0,
30
+ A: [
31
+ "kanban.cardView",
32
+ ""
33
+ ]
34
+ });
35
+ const schema = kanban.cardView.target && getSpace(kanban)?.db.schemaRegistry.getSchema(kanban.cardView.target.query.type);
36
+ invariant(schema, void 0, {
37
+ F: __dxlog_file,
38
+ L: 28,
39
+ S: void 0,
40
+ A: [
41
+ "schema",
42
+ ""
43
+ ]
44
+ });
45
+ const projection = new ViewProjection(schema, kanban.cardView.target);
46
+ if (!undo) {
47
+ const { deleted, index } = projection.deleteFieldProjection(fieldId);
48
+ return {
49
+ undoable: {
50
+ message: [
51
+ "card field deleted label",
52
+ {
53
+ ns: KANBAN_PLUGIN
54
+ }
55
+ ],
56
+ data: {
57
+ deletionData: {
58
+ ...deleted,
59
+ index
60
+ }
61
+ }
62
+ }
63
+ };
64
+ } else if (undo && deletionData) {
65
+ const { field, props, index } = deletionData;
66
+ projection.setFieldProjection({
67
+ field,
68
+ props
69
+ }, index);
70
+ }
71
+ }
72
+ })
73
+ ]);
74
+ export {
75
+ intent_resolver_default as default
76
+ };
77
+ //# sourceMappingURL=intent-resolver-AIGAAR4N.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { contributes, Capabilities, createResolver } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { ViewProjection } from '@dxos/schema';\n\nimport { KANBAN_PLUGIN } from '../meta';\nimport { createKanban, KanbanAction } from '../types';\n\nexport default () =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: KanbanAction.Create,\n resolve: async ({ space }) => ({\n data: { object: await createKanban(space) },\n }),\n }),\n createResolver({\n intent: KanbanAction.DeleteCardField,\n resolve: ({ kanban, fieldId, deletionData }, undo) => {\n invariant(kanban.cardView);\n\n const schema =\n kanban.cardView.target && getSpace(kanban)?.db.schemaRegistry.getSchema(kanban.cardView.target.query.type);\n invariant(schema);\n const projection = new ViewProjection(schema, kanban.cardView.target!);\n\n if (!undo) {\n const { deleted, index } = projection.deleteFieldProjection(fieldId);\n return {\n undoable: {\n message: ['card field deleted label', { ns: KANBAN_PLUGIN }],\n data: { deletionData: { ...deleted, index } },\n },\n };\n } else if (undo && deletionData) {\n const { field, props, index } = deletionData;\n projection.setFieldProjection({ field, props }, index);\n }\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;AAIA,SAASA,aAAaC,cAAcC,sBAAsB;AAC1D,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,sBAAsB;;AAK/B,IAAA,0BAAe,MACbC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,aAAaC;IACrBC,SAAS,OAAO,EAAEC,MAAK,OAAQ;MAC7BC,MAAM;QAAEC,QAAQ,MAAMC,aAAaH,KAAAA;MAAO;IAC5C;EACF,CAAA;EACAL,eAAe;IACbC,QAAQC,aAAaO;IACrBL,SAAS,CAAC,EAAEM,QAAQC,SAASC,aAAY,GAAIC,SAAAA;AAC3CC,gBAAUJ,OAAOK,UAAQ,QAAA;;;;;;;;;AAEzB,YAAMC,SACJN,OAAOK,SAASE,UAAUC,SAASR,MAAAA,GAASS,GAAGC,eAAeC,UAAUX,OAAOK,SAASE,OAAOK,MAAMC,IAAI;AAC3GT,gBAAUE,QAAAA,QAAAA;;;;;;;;;AACV,YAAMQ,aAAa,IAAIC,eAAeT,QAAQN,OAAOK,SAASE,MAAM;AAEpE,UAAI,CAACJ,MAAM;AACT,cAAM,EAAEa,SAASC,MAAK,IAAKH,WAAWI,sBAAsBjB,OAAAA;AAC5D,eAAO;UACLkB,UAAU;YACRC,SAAS;cAAC;cAA4B;gBAAEC,IAAIC;cAAc;;YAC1D1B,MAAM;cAAEM,cAAc;gBAAE,GAAGc;gBAASC;cAAM;YAAE;UAC9C;QACF;MACF,WAAWd,QAAQD,cAAc;AAC/B,cAAM,EAAEqB,OAAOC,OAAOP,MAAK,IAAKf;AAChCY,mBAAWW,mBAAmB;UAAEF;UAAOC;QAAM,GAAGP,KAAAA;MAClD;IACF;EACF,CAAA;CACD;",
6
+ "names": ["contributes", "Capabilities", "createResolver", "invariant", "getSpace", "ViewProjection", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "KanbanAction", "Create", "resolve", "space", "data", "object", "createKanban", "DeleteCardField", "kanban", "fieldId", "deletionData", "undo", "invariant", "cardView", "schema", "target", "getSpace", "db", "schemaRegistry", "getSchema", "query", "type", "projection", "ViewProjection", "deleted", "index", "deleteFieldProjection", "undoable", "message", "ns", "KANBAN_PLUGIN", "field", "props", "setFieldProjection"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/experimental/plugin-kanban/src/components/KanbanContainer.tsx":{"bytes":8391,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/index.ts":{"bytes":545,"imports":[{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/meta.ts":{"bytes":1585,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/types.ts":{"bytes":7681,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytes":8135,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/translations.ts":{"bytes":3142,"imports":[{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx":{"bytes":13760,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./components/KanbanViewEditor"},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/experimental/plugin-kanban/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/experimental/plugin-kanban/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/index.ts":{"bytes":795,"imports":[{"path":"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"},{"path":"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15979},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-L7JM7LGJ.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-OTZHYV3S.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true}],"exports":["KanbanPlugin","default"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/index.ts","inputs":{"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx":{"bytesInOutput":3653},"packages/plugins/experimental/plugin-kanban/src/components/KanbanContainer.tsx":{"bytesInOutput":2185},"packages/plugins/experimental/plugin-kanban/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytesInOutput":1900},"packages/plugins/experimental/plugin-kanban/src/translations.ts":{"bytesInOutput":804},"packages/plugins/experimental/plugin-kanban/src/index.ts":{"bytesInOutput":32}},"bytes":9343},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/meta.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-OTZHYV3S.mjs","kind":"import-statement"}],"exports":["KANBAN_PLUGIN","default"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/meta.ts","inputs":{},"bytes":253},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/types.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-L7JM7LGJ.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-OTZHYV3S.mjs","kind":"import-statement"}],"exports":["KanbanAction","createKanban","isKanban"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/types.ts","inputs":{},"bytes":296},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-L7JM7LGJ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4308},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-L7JM7LGJ.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-OTZHYV3S.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["KanbanAction","createKanban","isKanban"],"inputs":{"packages/plugins/experimental/plugin-kanban/src/types.ts":{"bytesInOutput":1368}},"bytes":1677},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-OTZHYV3S.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":748},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-OTZHYV3S.mjs":{"imports":[],"exports":["KANBAN_PLUGIN","meta_default"],"inputs":{"packages/plugins/experimental/plugin-kanban/src/meta.ts":{"bytesInOutput":320}},"bytes":561}}}
1
+ {"inputs":{"packages/plugins/experimental/plugin-kanban/src/meta.ts":{"bytes":2286,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/types.ts":{"bytes":7197,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytes":7257,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/experimental/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/KanbanContainer.tsx":{"bytes":9768,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytes":13775,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/index.ts":{"bytes":657,"imports":[{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./KanbanViewEditor"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/capabilities/react-surface.tsx":{"bytes":3898,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/experimental/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/capabilities/index.ts":{"bytes":1094,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/experimental/plugin-kanban/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/translations.ts":{"bytes":3142,"imports":[{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx":{"bytes":7541,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/experimental/plugin-kanban/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/experimental/plugin-kanban/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/index.ts":{"bytes":607,"imports":[{"path":"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5337},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-4EDEB6MQ.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/intent-resolver-AIGAAR4N.mjs","kind":"dynamic-import"},{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/react-surface-HT4XGRD4.mjs","kind":"dynamic-import"},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true}],"exports":["KANBAN_PLUGIN","KanbanPlugin","meta"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/index.ts","inputs":{"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx":{"bytesInOutput":1554},"packages/plugins/experimental/plugin-kanban/src/capabilities/index.ts":{"bytesInOutput":190},"packages/plugins/experimental/plugin-kanban/src/translations.ts":{"bytesInOutput":804},"packages/plugins/experimental/plugin-kanban/src/index.ts":{"bytesInOutput":0}},"bytes":3087},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/types.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-4EDEB6MQ.mjs","kind":"import-statement"}],"exports":["KanbanAction","createKanban","isKanban"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/types.ts","inputs":{},"bytes":265},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/intent-resolver-AIGAAR4N.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3191},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/intent-resolver-AIGAAR4N.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-4EDEB6MQ.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/experimental/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytesInOutput":1908}},"bytes":2275},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/react-surface-HT4XGRD4.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13926},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/react-surface-HT4XGRD4.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-4EDEB6MQ.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/experimental/plugin-kanban/src/capabilities/react-surface.tsx":{"bytesInOutput":744},"packages/plugins/experimental/plugin-kanban/src/components/KanbanContainer.tsx":{"bytesInOutput":2514},"packages/plugins/experimental/plugin-kanban/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytesInOutput":3700}},"bytes":7566},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-4EDEB6MQ.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4899},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-4EDEB6MQ.mjs":{"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["KANBAN_PLUGIN","KanbanAction","createKanban","isKanban","meta"],"inputs":{"packages/plugins/experimental/plugin-kanban/src/types.ts":{"bytesInOutput":1368},"packages/plugins/experimental/plugin-kanban/src/meta.ts":{"bytesInOutput":564}},"bytes":2331}}}