@dxos/plugin-kanban 0.7.4 → 0.7.5-main.9cb18ac

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 (81) hide show
  1. package/dist/lib/browser/chunk-JZBAL6SW.mjs +56 -0
  2. package/dist/lib/browser/chunk-JZBAL6SW.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +218 -109
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/types.mjs +12 -0
  7. package/dist/lib/node/chunk-BE2FRW7E.cjs +77 -0
  8. package/dist/lib/node/chunk-BE2FRW7E.cjs.map +7 -0
  9. package/dist/lib/node/index.cjs +210 -102
  10. package/dist/lib/node/index.cjs.map +4 -4
  11. package/dist/lib/node/meta.json +1 -1
  12. package/dist/lib/node/{types/index.cjs → types.cjs} +8 -10
  13. package/dist/lib/node/types.cjs.map +7 -0
  14. package/dist/lib/node-esm/chunk-L7JM7LGJ.mjs +57 -0
  15. package/dist/lib/node-esm/chunk-L7JM7LGJ.mjs.map +7 -0
  16. package/dist/lib/node-esm/index.mjs +218 -109
  17. package/dist/lib/node-esm/index.mjs.map +4 -4
  18. package/dist/lib/node-esm/meta.json +1 -1
  19. package/dist/lib/node-esm/types.mjs +13 -0
  20. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  21. package/dist/types/src/components/KanbanContainer.d.ts +7 -0
  22. package/dist/types/src/components/KanbanContainer.d.ts.map +1 -0
  23. package/dist/types/src/components/KanbanViewEditor.d.ts +8 -0
  24. package/dist/types/src/components/KanbanViewEditor.d.ts.map +1 -0
  25. package/dist/types/src/components/index.d.ts +1 -3
  26. package/dist/types/src/components/index.d.ts.map +1 -1
  27. package/dist/types/src/translations.d.ts +32 -0
  28. package/dist/types/src/translations.d.ts.map +1 -1
  29. package/dist/types/src/types.d.ts +61 -0
  30. package/dist/types/src/types.d.ts.map +1 -0
  31. package/dist/types/tsconfig.tsbuildinfo +1 -0
  32. package/package.json +21 -23
  33. package/src/KanbanPlugin.tsx +50 -78
  34. package/src/components/KanbanContainer.tsx +79 -0
  35. package/src/components/KanbanViewEditor.tsx +72 -0
  36. package/src/components/index.ts +2 -4
  37. package/src/translations.ts +8 -2
  38. package/src/{types/types.ts → types.ts} +42 -11
  39. package/dist/lib/browser/KanbanMain-I5TMXNIY.mjs +0 -444
  40. package/dist/lib/browser/KanbanMain-I5TMXNIY.mjs.map +0 -7
  41. package/dist/lib/browser/chunk-4Y4TZ47E.mjs +0 -47
  42. package/dist/lib/browser/chunk-4Y4TZ47E.mjs.map +0 -7
  43. package/dist/lib/browser/types/index.mjs +0 -14
  44. package/dist/lib/node/KanbanMain-4OWAWTS4.cjs +0 -453
  45. package/dist/lib/node/KanbanMain-4OWAWTS4.cjs.map +0 -7
  46. package/dist/lib/node/chunk-LTR4WYI2.cjs +0 -67
  47. package/dist/lib/node/chunk-LTR4WYI2.cjs.map +0 -7
  48. package/dist/lib/node/types/index.cjs.map +0 -7
  49. package/dist/lib/node-esm/KanbanMain-PJC2JMJH.mjs +0 -445
  50. package/dist/lib/node-esm/KanbanMain-PJC2JMJH.mjs.map +0 -7
  51. package/dist/lib/node-esm/chunk-2ZBX5F7L.mjs +0 -48
  52. package/dist/lib/node-esm/chunk-2ZBX5F7L.mjs.map +0 -7
  53. package/dist/lib/node-esm/types/index.mjs +0 -15
  54. package/dist/types/src/components/KanbanBoard.d.ts +0 -6
  55. package/dist/types/src/components/KanbanBoard.d.ts.map +0 -1
  56. package/dist/types/src/components/KanbanCard.d.ts +0 -9
  57. package/dist/types/src/components/KanbanCard.d.ts.map +0 -1
  58. package/dist/types/src/components/KanbanColumn.d.ts +0 -14
  59. package/dist/types/src/components/KanbanColumn.d.ts.map +0 -1
  60. package/dist/types/src/components/KanbanMain.d.ts +0 -7
  61. package/dist/types/src/components/KanbanMain.d.ts.map +0 -1
  62. package/dist/types/src/components/util.d.ts +0 -7
  63. package/dist/types/src/components/util.d.ts.map +0 -1
  64. package/dist/types/src/stories/testing.d.ts +0 -19
  65. package/dist/types/src/stories/testing.d.ts.map +0 -1
  66. package/dist/types/src/types/index.d.ts +0 -3
  67. package/dist/types/src/types/index.d.ts.map +0 -1
  68. package/dist/types/src/types/kanban.d.ts +0 -76
  69. package/dist/types/src/types/kanban.d.ts.map +0 -1
  70. package/dist/types/src/types/types.d.ts +0 -18
  71. package/dist/types/src/types/types.d.ts.map +0 -1
  72. package/src/components/KanbanBoard.tsx +0 -195
  73. package/src/components/KanbanCard.tsx +0 -82
  74. package/src/components/KanbanColumn.tsx +0 -143
  75. package/src/components/KanbanMain.tsx +0 -37
  76. package/src/components/util.ts +0 -38
  77. package/src/stories/testing.ts +0 -29
  78. package/src/types/index.ts +0 -6
  79. package/src/types/kanban.ts +0 -22
  80. /package/dist/lib/browser/{types/index.mjs.map → types.mjs.map} +0 -0
  81. /package/dist/lib/node-esm/{types/index.mjs.map → types.mjs.map} +0 -0
@@ -1,32 +1,155 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
3
  KanbanAction,
4
- KanbanColumnType,
5
- KanbanItemType,
6
- KanbanType
7
- } from "./chunk-2ZBX5F7L.mjs";
4
+ createKanban,
5
+ isKanban
6
+ } from "./chunk-L7JM7LGJ.mjs";
8
7
  import {
9
8
  KANBAN_PLUGIN,
10
9
  meta_default
11
10
  } from "./chunk-OTZHYV3S.mjs";
12
11
 
13
12
  // packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx
14
- import React from "react";
15
- import { resolvePlugin, parseIntentPlugin, NavigationAction } from "@dxos/app-framework";
16
- import { create } from "@dxos/live-object";
17
- import { parseClientPlugin } from "@dxos/plugin-client";
18
- import { createExtension, isActionGroup } from "@dxos/plugin-graph";
19
- import { SpaceAction } from "@dxos/plugin-space";
20
- import { loadObjectReferences } from "@dxos/react-client/echo";
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";
17
+ import { KanbanType as KanbanType2, translations as kanbanTranslations } from "@dxos/react-ui-kanban";
18
+ import { ViewProjection } from "@dxos/schema";
21
19
 
22
- // packages/plugins/experimental/plugin-kanban/src/components/index.ts
23
- import { lazy } from "react";
24
- var KanbanMain = lazy(() => import("./KanbanMain-PJC2JMJH.mjs"));
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;
25
144
 
26
145
  // packages/plugins/experimental/plugin-kanban/src/translations.ts
146
+ import { KanbanType } from "@dxos/react-ui-kanban";
27
147
  var translations_default = [
28
148
  {
29
149
  "en-US": {
150
+ [KanbanType.typename]: {
151
+ "typename label": "Kanban"
152
+ },
30
153
  [KANBAN_PLUGIN]: {
31
154
  "plugin name": "Kanban",
32
155
  "kanban title label": "Title",
@@ -36,133 +159,119 @@ var translations_default = [
36
159
  "item title label": "Item title",
37
160
  "item title placeholder": "New item",
38
161
  "add column label": "Add column",
39
- "add item label": "Add item",
162
+ "add item label": "Add card",
40
163
  "delete column label": "Delete column",
41
- "delete item label": "Delete item",
42
- "create kanban label": "Create kanban"
164
+ "delete item label": "Delete card",
165
+ "create kanban label": "Create kanban",
166
+ "card field deleted label": "Card field deleted"
43
167
  }
44
168
  }
45
169
  }
46
170
  ];
47
171
 
48
172
  // 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";
49
174
  var KanbanPlugin = () => {
50
175
  return {
51
176
  meta: meta_default,
52
177
  provides: {
53
178
  metadata: {
54
179
  records: {
55
- [KanbanType.typename]: {
56
- createObject: KanbanAction.CREATE,
180
+ [KanbanType2.typename]: {
181
+ createObject: (props) => createIntent2(KanbanAction.Create, props),
57
182
  placeholder: [
58
183
  "kanban title placeholder",
59
184
  {
60
185
  ns: KANBAN_PLUGIN
61
186
  }
62
187
  ],
63
- icon: "ph--kanban--regular",
64
- // TODO(wittjosiah): Move out of metadata.
65
- loadReferences: (kanban) => loadObjectReferences(kanban, (kanban2) => kanban2.columns)
66
- },
67
- [KanbanColumnType.typename]: {
68
- // TODO(wittjosiah): Move out of metadata.
69
- loadReferences: (column) => loadObjectReferences(column, (column2) => column2.items)
70
- },
71
- [KanbanItemType.typename]: {
72
- // TODO(wittjosiah): Move out of metadata.
73
- loadReferences: (item) => []
188
+ icon: "ph--kanban--regular"
74
189
  }
75
190
  }
76
191
  },
77
192
  echo: {
78
193
  schema: [
79
- KanbanType
80
- ],
81
- system: [
82
- KanbanColumnType,
83
- KanbanItemType
194
+ KanbanType2
84
195
  ]
85
196
  },
86
- translations: translations_default,
87
- graph: {
88
- builder: (plugins) => {
89
- const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;
90
- const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;
91
- if (!client || !dispatch) {
92
- return [];
93
- }
94
- return createExtension({
95
- id: KanbanAction.CREATE,
96
- filter: (node) => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),
97
- actions: ({ node }) => {
98
- const id = node.id.split("/").at(-1);
99
- const [spaceId, objectId] = id?.split(":") ?? [];
100
- const space = client.spaces.get().find((space2) => space2.id === spaceId);
101
- const object = objectId && space?.db.getObjectById(objectId);
102
- const target = objectId ? object : space;
103
- if (!target) {
104
- return;
105
- }
106
- return [
107
- {
108
- id: `${KANBAN_PLUGIN}/create/${node.id}`,
109
- data: async () => {
110
- await dispatch([
111
- {
112
- plugin: KANBAN_PLUGIN,
113
- action: KanbanAction.CREATE
114
- },
115
- {
116
- action: SpaceAction.ADD_OBJECT,
117
- data: {
118
- target
119
- }
120
- },
121
- {
122
- action: NavigationAction.OPEN
123
- }
124
- ]);
125
- },
126
- properties: {
127
- label: [
128
- "create kanban label",
129
- {
130
- ns: KANBAN_PLUGIN
131
- }
132
- ],
133
- icon: "ph--kanban--regular",
134
- testId: "kanbanPlugin.createObject"
135
- }
136
- }
137
- ];
138
- }
139
- });
140
- }
141
- },
197
+ translations: [
198
+ ...translations_default,
199
+ ...kanbanTranslations
200
+ ],
142
201
  surface: {
143
- component: ({ data, role }) => {
144
- switch (role) {
145
- case "main":
146
- return data.active instanceof KanbanType ? /* @__PURE__ */ React.createElement(KanbanMain, {
147
- kanban: data.active
148
- }) : null;
149
- default:
150
- return null;
151
- }
152
- }
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
+ ]
153
224
  },
154
225
  intent: {
155
- resolver: (intent) => {
156
- switch (intent.action) {
157
- case KanbanAction.CREATE: {
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);
158
255
  return {
159
- data: create(KanbanType, {
160
- columns: []
161
- })
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
+ }
162
265
  };
266
+ } else if (undo && deletionData) {
267
+ const { field, props, index } = deletionData;
268
+ projection.setFieldProjection({
269
+ field,
270
+ props
271
+ }, index);
163
272
  }
164
- }
165
- }
273
+ })
274
+ ]
166
275
  }
167
276
  }
168
277
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/KanbanPlugin.tsx", "../../../src/components/index.ts", "../../../src/translations.ts", "../../../src/index.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport React from 'react';\n\nimport { resolvePlugin, type PluginDefinition, parseIntentPlugin, NavigationAction } from '@dxos/app-framework';\nimport { create } from '@dxos/live-object';\nimport { parseClientPlugin } from '@dxos/plugin-client';\nimport { type ActionGroup, createExtension, isActionGroup } from '@dxos/plugin-graph';\nimport { SpaceAction } from '@dxos/plugin-space';\nimport { loadObjectReferences } from '@dxos/react-client/echo';\n\nimport { KanbanMain } from './components';\nimport meta, { KANBAN_PLUGIN } from './meta';\nimport translations from './translations';\nimport { KanbanColumnType, KanbanItemType, KanbanType } from './types';\nimport { KanbanAction, type KanbanPluginProvides } from './types';\n\nexport const KanbanPlugin = (): PluginDefinition<KanbanPluginProvides> => {\n return {\n meta,\n provides: {\n metadata: {\n records: {\n [KanbanType.typename]: {\n createObject: KanbanAction.CREATE,\n placeholder: ['kanban title placeholder', { ns: KANBAN_PLUGIN }],\n icon: 'ph--kanban--regular',\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (kanban: KanbanType) => loadObjectReferences(kanban, (kanban) => kanban.columns),\n },\n [KanbanColumnType.typename]: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (column: KanbanColumnType) => loadObjectReferences(column, (column) => column.items),\n },\n [KanbanItemType.typename]: {\n // TODO(wittjosiah): Move out of metadata.\n loadReferences: (item: KanbanItemType) => [], // loadObjectReferences(item, (item) => item.object),\n },\n },\n },\n echo: {\n schema: [KanbanType],\n system: [KanbanColumnType, KanbanItemType],\n },\n translations,\n graph: {\n builder: (plugins) => {\n const client = resolvePlugin(plugins, parseClientPlugin)?.provides.client;\n const dispatch = resolvePlugin(plugins, parseIntentPlugin)?.provides.intent.dispatch;\n if (!client || !dispatch) {\n return [];\n }\n\n return createExtension({\n id: KanbanAction.CREATE,\n filter: (node): node is ActionGroup => isActionGroup(node) && node.id.startsWith(SpaceAction.ADD_OBJECT),\n actions: ({ node }) => {\n const id = node.id.split('/').at(-1);\n const [spaceId, objectId] = id?.split(':') ?? [];\n const space = client.spaces.get().find((space) => space.id === spaceId);\n const object = objectId && space?.db.getObjectById(objectId);\n const target = objectId ? object : space;\n if (!target) {\n return;\n }\n\n return [\n {\n id: `${KANBAN_PLUGIN}/create/${node.id}`,\n data: async () => {\n await dispatch([\n { plugin: KANBAN_PLUGIN, action: KanbanAction.CREATE },\n { action: SpaceAction.ADD_OBJECT, data: { target } },\n { action: NavigationAction.OPEN },\n ]);\n },\n properties: {\n label: ['create kanban label', { ns: KANBAN_PLUGIN }],\n icon: 'ph--kanban--regular',\n testId: 'kanbanPlugin.createObject',\n },\n },\n ];\n },\n });\n },\n },\n surface: {\n component: ({ data, role }) => {\n switch (role) {\n case 'main':\n return data.active instanceof KanbanType ? <KanbanMain kanban={data.active} /> : null;\n default:\n return null;\n }\n },\n },\n intent: {\n resolver: (intent) => {\n switch (intent.action) {\n case KanbanAction.CREATE: {\n return { data: create(KanbanType, { columns: [] }) };\n }\n }\n },\n },\n },\n };\n};\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { lazy } from 'react';\n\nexport const KanbanMain = lazy(() => import('./KanbanMain'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { KANBAN_PLUGIN } from './meta';\n\nexport default [\n {\n 'en-US': {\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 item',\n 'delete column label': 'Delete column',\n 'delete item label': 'Delete item',\n 'create kanban label': 'Create kanban',\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", "resolvePlugin", "parseIntentPlugin", "NavigationAction", "create", "parseClientPlugin", "createExtension", "isActionGroup", "SpaceAction", "loadObjectReferences", "lazy", "KanbanMain", "lazy", "KANBAN_PLUGIN", "KanbanPlugin", "meta", "provides", "metadata", "records", "KanbanType", "typename", "createObject", "KanbanAction", "CREATE", "placeholder", "ns", "KANBAN_PLUGIN", "icon", "loadReferences", "kanban", "loadObjectReferences", "columns", "KanbanColumnType", "column", "items", "KanbanItemType", "item", "echo", "schema", "system", "translations", "graph", "builder", "plugins", "client", "resolvePlugin", "parseClientPlugin", "dispatch", "parseIntentPlugin", "intent", "createExtension", "id", "filter", "node", "isActionGroup", "startsWith", "SpaceAction", "ADD_OBJECT", "actions", "split", "at", "spaceId", "objectId", "space", "spaces", "get", "find", "object", "db", "getObjectById", "target", "data", "plugin", "action", "NavigationAction", "OPEN", "properties", "label", "testId", "surface", "component", "role", "active", "KanbanMain", "resolver", "create", "KanbanPlugin"]
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"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/experimental/plugin-kanban/src/meta.ts":{"bytes":1585,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/KanbanCard.tsx":{"bytes":11021,"imports":[{"path":"@dnd-kit/sortable","kind":"import-statement","external":true},{"path":"@dnd-kit/utilities","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","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-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","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/util.ts":{"bytes":4112,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/KanbanColumn.tsx":{"bytes":18468,"imports":[{"path":"@dnd-kit/core","kind":"import-statement","external":true},{"path":"@dnd-kit/sortable","kind":"import-statement","external":true},{"path":"@dnd-kit/utilities","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanCard.tsx","kind":"import-statement","original":"./KanbanCard"},{"path":"packages/plugins/experimental/plugin-kanban/src/components/util.ts","kind":"import-statement","original":"./util"},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/KanbanBoard.tsx":{"bytes":23457,"imports":[{"path":"@dnd-kit/core","kind":"import-statement","external":true},{"path":"@dnd-kit/sortable","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanCard.tsx","kind":"import-statement","original":"./KanbanCard"},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanColumn.tsx","kind":"import-statement","original":"./KanbanColumn"},{"path":"packages/plugins/experimental/plugin-kanban/src/components/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/types/kanban.ts":{"bytes":3260,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/types/types.ts":{"bytes":3935,"imports":[{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/types/index.ts":{"bytes":600,"imports":[{"path":"packages/plugins/experimental/plugin-kanban/src/types/kanban.ts","kind":"import-statement","original":"./kanban"},{"path":"packages/plugins/experimental/plugin-kanban/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/KanbanMain.tsx":{"bytes":4739,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","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-theme","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanBoard.tsx","kind":"import-statement","original":"./KanbanBoard"},{"path":"packages/plugins/experimental/plugin-kanban/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/index.ts":{"bytes":784,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanMain.tsx","kind":"dynamic-import","original":"./KanbanMain"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/translations.ts":{"bytes":2509,"imports":[{"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":16523,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","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/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/experimental/plugin-kanban/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/experimental/plugin-kanban/src/types/index.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":8899},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/index.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-2ZBX5F7L.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/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/KanbanMain-PJC2JMJH.mjs","kind":"dynamic-import"}],"exports":["KanbanPlugin","default"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/index.ts","inputs":{"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx":{"bytesInOutput":4199},"packages/plugins/experimental/plugin-kanban/src/components/index.ts":{"bytesInOutput":96},"packages/plugins/experimental/plugin-kanban/src/translations.ts":{"bytesInOutput":619},"packages/plugins/experimental/plugin-kanban/src/index.ts":{"bytesInOutput":32}},"bytes":5644},"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/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/types/index.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-2ZBX5F7L.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-OTZHYV3S.mjs","kind":"import-statement"}],"exports":["KanbanAction","KanbanColumnType","KanbanItemType","KanbanType"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/types/index.ts","inputs":{},"bytes":346},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/KanbanMain-PJC2JMJH.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":31752},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/KanbanMain-PJC2JMJH.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-2ZBX5F7L.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/live-object","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-theme","kind":"import-statement","external":true},{"path":"@dnd-kit/core","kind":"import-statement","external":true},{"path":"@dnd-kit/sortable","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dnd-kit/sortable","kind":"import-statement","external":true},{"path":"@dnd-kit/utilities","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","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-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dnd-kit/core","kind":"import-statement","external":true},{"path":"@dnd-kit/sortable","kind":"import-statement","external":true},{"path":"@dnd-kit/utilities","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/components/KanbanMain.tsx","inputs":{"packages/plugins/experimental/plugin-kanban/src/components/KanbanMain.tsx":{"bytesInOutput":964},"packages/plugins/experimental/plugin-kanban/src/components/KanbanBoard.tsx":{"bytesInOutput":5200},"packages/plugins/experimental/plugin-kanban/src/components/KanbanCard.tsx":{"bytesInOutput":2924},"packages/plugins/experimental/plugin-kanban/src/components/KanbanColumn.tsx":{"bytesInOutput":5070},"packages/plugins/experimental/plugin-kanban/src/components/util.ts":{"bytesInOutput":755}},"bytes":15854},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-2ZBX5F7L.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3910},"packages/plugins/experimental/plugin-kanban/dist/lib/node-esm/chunk-2ZBX5F7L.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}],"exports":["KanbanAction","KanbanColumnType","KanbanItemType","KanbanType"],"inputs":{"packages/plugins/experimental/plugin-kanban/src/types/kanban.ts":{"bytesInOutput":714},"packages/plugins/experimental/plugin-kanban/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-kanban/src/types/types.ts":{"bytesInOutput":214}},"bytes":1335},"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/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}}}
@@ -0,0 +1,13 @@
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
+ import "./chunk-OTZHYV3S.mjs";
8
+ export {
9
+ KanbanAction,
10
+ createKanban,
11
+ isKanban
12
+ };
13
+ //# sourceMappingURL=types.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAiB,KAAK,gBAAgB,EAAuC,MAAM,qBAAqB,CAAC;AAWhH,OAAO,EAAgB,KAAK,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAElE,eAAO,MAAM,YAAY,QAAO,gBAAgB,CAAC,oBAAoB,CA2FpE,CAAC"}
1
+ {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,gBAAgB,EAA+C,MAAM,qBAAqB,CAAC;AAUzG,OAAO,EAA0B,KAAK,oBAAoB,EAAgB,MAAM,SAAS,CAAC;AAE1F,eAAO,MAAM,YAAY,QAAO,gBAAgB,CAAC,oBAAoB,CAgEpE,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ import { type KanbanType } from '@dxos/react-ui-kanban';
3
+ export declare const KanbanContainer: ({ kanban }: {
4
+ kanban: KanbanType;
5
+ role: string;
6
+ }) => React.JSX.Element;
7
+ //# sourceMappingURL=KanbanContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAMhE,OAAO,EAAE,KAAK,UAAU,EAA0B,MAAM,uBAAuB,CAAC;AAGhF,eAAO,MAAM,eAAe,eAAgB;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBAiE/E,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { type KanbanType } from '@dxos/react-ui-kanban';
3
+ type KanbanViewEditorProps = {
4
+ kanban: KanbanType;
5
+ };
6
+ declare const KanbanViewEditor: ({ kanban }: KanbanViewEditorProps) => React.JSX.Element | null;
7
+ export default KanbanViewEditor;
8
+ //# sourceMappingURL=KanbanViewEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanViewEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanViewEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAKhE,OAAO,EAAE,KAAK,UAAU,EAAqB,MAAM,uBAAuB,CAAC;AAI3E,KAAK,qBAAqB,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,CAAC;AAEpD,QAAA,MAAM,gBAAgB,eAAgB,qBAAqB,6BAsD1D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,4 +1,2 @@
1
- export declare const KanbanMain: import("react").LazyExoticComponent<import("react").FC<{
2
- kanban: import("../types").KanbanType;
3
- }>>;
1
+ export * from './KanbanContainer';
4
2
  //# sourceMappingURL=index.d.ts.map