@dxos/plugin-kanban 0.8.4-main.c4373fc → 0.8.4-main.c85a9c8dae
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/KanbanContainer-BCXSJ6KS.mjs +304 -0
- package/dist/lib/browser/KanbanContainer-BCXSJ6KS.mjs.map +7 -0
- package/dist/lib/browser/KanbanViewEditor-IH5CJ6BW.mjs +66 -0
- package/dist/lib/browser/KanbanViewEditor-IH5CJ6BW.mjs.map +7 -0
- package/dist/lib/browser/blueprint-definition-HFEKGFJK.mjs +17 -0
- package/dist/lib/browser/blueprint-definition-HFEKGFJK.mjs.map +7 -0
- package/dist/lib/browser/blueprints/index.mjs +8 -0
- package/dist/lib/browser/blueprints/index.mjs.map +7 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
- package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
- package/dist/lib/browser/chunk-QSWCFMEB.mjs +385 -0
- package/dist/lib/browser/chunk-QSWCFMEB.mjs.map +7 -0
- package/dist/lib/browser/chunk-RNFIFE2P.mjs +213 -0
- package/dist/lib/browser/chunk-RNFIFE2P.mjs.map +7 -0
- package/dist/lib/browser/chunk-TLYZSC7O.mjs +29 -0
- package/dist/lib/browser/chunk-TLYZSC7O.mjs.map +7 -0
- package/dist/lib/browser/index.mjs +65 -68
- package/dist/lib/browser/index.mjs.map +4 -4
- package/dist/lib/browser/meta.json +1 -1
- package/dist/lib/browser/operation-resolver-BRA2OHUE.mjs +162 -0
- package/dist/lib/browser/operation-resolver-BRA2OHUE.mjs.map +7 -0
- package/dist/lib/browser/react-surface-FOMOGFVW.mjs +99 -0
- package/dist/lib/browser/react-surface-FOMOGFVW.mjs.map +7 -0
- package/dist/lib/browser/types/index.mjs +14 -5
- package/dist/lib/node-esm/KanbanContainer-EHRTLE7M.mjs +305 -0
- package/dist/lib/node-esm/KanbanContainer-EHRTLE7M.mjs.map +7 -0
- package/dist/lib/node-esm/KanbanViewEditor-WDACFC35.mjs +67 -0
- package/dist/lib/node-esm/KanbanViewEditor-WDACFC35.mjs.map +7 -0
- package/dist/lib/node-esm/blueprint-definition-NARBX32U.mjs +18 -0
- package/dist/lib/node-esm/blueprint-definition-NARBX32U.mjs.map +7 -0
- package/dist/lib/node-esm/blueprints/index.mjs +9 -0
- package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-4AWDHQVY.mjs +214 -0
- package/dist/lib/node-esm/chunk-4AWDHQVY.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-CSL3HF2X.mjs +386 -0
- package/dist/lib/node-esm/chunk-CSL3HF2X.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
- package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
- package/dist/lib/node-esm/chunk-X3UJUQIV.mjs +31 -0
- package/dist/lib/node-esm/chunk-X3UJUQIV.mjs.map +7 -0
- package/dist/lib/node-esm/index.mjs +65 -68
- package/dist/lib/node-esm/index.mjs.map +4 -4
- package/dist/lib/node-esm/meta.json +1 -1
- package/dist/lib/node-esm/operation-resolver-UEQ64LCN.mjs +163 -0
- package/dist/lib/node-esm/operation-resolver-UEQ64LCN.mjs.map +7 -0
- package/dist/lib/node-esm/react-surface-AITKFRBE.mjs +100 -0
- package/dist/lib/node-esm/react-surface-AITKFRBE.mjs.map +7 -0
- package/dist/lib/node-esm/types/index.mjs +14 -5
- package/dist/types/src/KanbanPlugin.d.ts +2 -1
- package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
- package/dist/types/src/blueprints/index.d.ts +2 -0
- package/dist/types/src/blueprints/index.d.ts.map +1 -0
- package/dist/types/src/blueprints/kanban-blueprint.d.ts +4 -0
- package/dist/types/src/blueprints/kanban-blueprint.d.ts.map +1 -0
- package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +12 -0
- package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
- package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
- package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
- package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/index.d.ts +3 -3
- package/dist/types/src/capabilities/index.d.ts.map +1 -1
- package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
- package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
- package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
- package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
- package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
- package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts +58 -0
- package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts.map +1 -0
- package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts +70 -0
- package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts.map +1 -0
- package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts +10 -0
- package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts.map +1 -0
- package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts +9 -0
- package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts.map +1 -0
- package/dist/types/src/components/KanbanBoard/index.d.ts +2 -0
- package/dist/types/src/components/KanbanBoard/index.d.ts.map +1 -0
- package/dist/types/src/components/index.d.ts +1 -2
- package/dist/types/src/components/index.d.ts.map +1 -1
- package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts +6 -0
- package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts.map +1 -0
- package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts +77 -0
- package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts.map +1 -0
- package/dist/types/src/containers/KanbanContainer/index.d.ts +3 -0
- package/dist/types/src/containers/KanbanContainer/index.d.ts.map +1 -0
- package/dist/types/src/containers/KanbanViewEditor/KanbanViewEditor.d.ts +6 -0
- package/dist/types/src/containers/KanbanViewEditor/KanbanViewEditor.d.ts.map +1 -0
- package/dist/types/src/containers/KanbanViewEditor/index.d.ts +3 -0
- package/dist/types/src/containers/KanbanViewEditor/index.d.ts.map +1 -0
- package/dist/types/src/containers/index.d.ts +4 -0
- package/dist/types/src/containers/index.d.ts.map +1 -0
- package/dist/types/src/hooks/index.d.ts +6 -0
- package/dist/types/src/hooks/index.d.ts.map +1 -0
- package/dist/types/src/hooks/useEchoChangeCallback.d.ts +13 -0
- package/dist/types/src/hooks/useEchoChangeCallback.d.ts.map +1 -0
- package/dist/types/src/hooks/useKanbanBoardModel.d.ts +16 -0
- package/dist/types/src/hooks/useKanbanBoardModel.d.ts.map +1 -0
- package/dist/types/src/hooks/useKanbanBoardModel.test.d.ts +2 -0
- package/dist/types/src/hooks/useKanbanBoardModel.test.d.ts.map +1 -0
- package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts +22 -0
- package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts.map +1 -0
- package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts +19 -0
- package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts.map +1 -0
- package/dist/types/src/hooks/useProjectionModel.d.ts +15 -0
- package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -0
- package/dist/types/src/meta.d.ts +2 -2
- package/dist/types/src/meta.d.ts.map +1 -1
- package/dist/types/src/playwright/board-manager.d.ts +5 -0
- package/dist/types/src/playwright/board-manager.d.ts.map +1 -0
- package/dist/types/src/playwright/playwright.config.d.ts +3 -0
- package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
- package/dist/types/src/playwright/smoke.spec.d.ts +2 -0
- package/dist/types/src/playwright/smoke.spec.d.ts.map +1 -0
- package/dist/types/src/testing/KanbanCardTileSimple.d.ts +5 -0
- package/dist/types/src/testing/KanbanCardTileSimple.d.ts.map +1 -0
- package/dist/types/src/testing/index.d.ts +2 -0
- package/dist/types/src/testing/index.d.ts.map +1 -0
- package/dist/types/src/translations.d.ts +35 -9
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/src/types/Kanban.d.ts +37 -0
- package/dist/types/src/types/Kanban.d.ts.map +1 -0
- package/dist/types/src/types/constants.d.ts +6 -0
- package/dist/types/src/types/constants.d.ts.map +1 -0
- package/dist/types/src/types/index.d.ts +2 -0
- package/dist/types/src/types/index.d.ts.map +1 -1
- package/dist/types/src/types/schema.d.ts +98 -43
- package/dist/types/src/types/schema.d.ts.map +1 -1
- package/dist/types/src/types/types.d.ts +28 -0
- package/dist/types/src/types/types.d.ts.map +1 -1
- package/dist/types/src/util/arrangement.d.ts +68 -0
- package/dist/types/src/util/arrangement.d.ts.map +1 -0
- package/dist/types/src/util/arrangement.test.d.ts +2 -0
- package/dist/types/src/util/arrangement.test.d.ts.map +1 -0
- package/dist/types/src/util/index.d.ts +2 -0
- package/dist/types/src/util/index.d.ts.map +1 -0
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +67 -46
- package/src/KanbanPlugin.tsx +35 -54
- package/src/blueprints/index.ts +5 -0
- package/src/blueprints/kanban-blueprint.ts +31 -0
- package/src/capabilities/artifact-definition/artifact-definition.ts +151 -0
- package/src/capabilities/artifact-definition/index.ts +7 -0
- package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
- package/src/capabilities/blueprint-definition/index.ts +7 -0
- package/src/capabilities/index.ts +3 -5
- package/src/capabilities/operation-resolver/index.ts +7 -0
- package/src/capabilities/operation-resolver/operation-resolver.ts +133 -0
- package/src/capabilities/react-surface/index.ts +7 -0
- package/src/capabilities/react-surface/react-surface.tsx +86 -0
- package/src/components/KanbanBoard/KanbanBoard.stories.tsx +142 -0
- package/src/components/KanbanBoard/KanbanBoard.tsx +184 -0
- package/src/components/KanbanBoard/KanbanCard.tsx +87 -0
- package/src/components/KanbanBoard/KanbanColumn.tsx +69 -0
- package/src/components/KanbanBoard/index.ts +5 -0
- package/src/components/index.ts +1 -2
- package/src/containers/KanbanContainer/KanbanContainer.stories.tsx +263 -0
- package/src/containers/KanbanContainer/KanbanContainer.tsx +87 -0
- package/src/containers/KanbanContainer/index.ts +7 -0
- package/src/containers/KanbanViewEditor/KanbanViewEditor.tsx +63 -0
- package/src/containers/KanbanViewEditor/index.ts +7 -0
- package/src/containers/index.ts +8 -0
- package/src/hooks/index.ts +9 -0
- package/src/hooks/useEchoChangeCallback.ts +30 -0
- package/src/hooks/useKanbanBoardModel.test.ts +235 -0
- package/src/hooks/useKanbanBoardModel.ts +143 -0
- package/src/hooks/useKanbanColumnEventHandler.ts +106 -0
- package/src/hooks/useKanbanItemEventHandler.ts +133 -0
- package/src/hooks/useProjectionModel.ts +58 -0
- package/src/meta.ts +8 -4
- package/src/playwright/board-manager.ts +13 -0
- package/src/playwright/playwright.config.ts +19 -0
- package/src/playwright/smoke.spec.ts +107 -0
- package/src/testing/KanbanCardTileSimple.tsx +76 -0
- package/src/testing/index.ts +5 -0
- package/src/translations.ts +13 -6
- package/src/types/Kanban.ts +67 -0
- package/src/types/constants.ts +9 -0
- package/src/types/index.ts +2 -0
- package/src/types/schema.ts +84 -38
- package/src/types/types.ts +35 -0
- package/src/util/arrangement.test.ts +208 -0
- package/src/util/arrangement.ts +167 -0
- package/src/util/index.ts +5 -0
- package/dist/lib/browser/blueprint-definition-UYVX622Q.mjs +0 -28
- package/dist/lib/browser/blueprint-definition-UYVX622Q.mjs.map +0 -7
- package/dist/lib/browser/chunk-K7KYFJ3P.mjs +0 -80
- package/dist/lib/browser/chunk-K7KYFJ3P.mjs.map +0 -7
- package/dist/lib/browser/intent-resolver-LR3SDMKQ.mjs +0 -111
- package/dist/lib/browser/intent-resolver-LR3SDMKQ.mjs.map +0 -7
- package/dist/lib/browser/react-surface-R2ORFB43.mjs +0 -255
- package/dist/lib/browser/react-surface-R2ORFB43.mjs.map +0 -7
- package/dist/lib/node-esm/blueprint-definition-42P47FUY.mjs +0 -30
- package/dist/lib/node-esm/blueprint-definition-42P47FUY.mjs.map +0 -7
- package/dist/lib/node-esm/chunk-VDWYSHP4.mjs +0 -82
- package/dist/lib/node-esm/chunk-VDWYSHP4.mjs.map +0 -7
- package/dist/lib/node-esm/intent-resolver-CKDNVLND.mjs +0 -112
- package/dist/lib/node-esm/intent-resolver-CKDNVLND.mjs.map +0 -7
- package/dist/lib/node-esm/react-surface-RMRLHCOY.mjs +0 -256
- package/dist/lib/node-esm/react-surface-RMRLHCOY.mjs.map +0 -7
- package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
- package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
- package/dist/types/src/capabilities/blueprint-definition.d.ts +0 -5
- package/dist/types/src/capabilities/blueprint-definition.d.ts.map +0 -1
- package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
- package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
- package/dist/types/src/capabilities/react-surface.d.ts +0 -4
- package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
- package/dist/types/src/components/KanbanContainer.d.ts +0 -7
- package/dist/types/src/components/KanbanContainer.d.ts.map +0 -1
- package/dist/types/src/components/KanbanContainer.stories.d.ts +0 -41
- package/dist/types/src/components/KanbanContainer.stories.d.ts.map +0 -1
- package/dist/types/src/components/KanbanViewEditor.d.ts +0 -8
- package/dist/types/src/components/KanbanViewEditor.d.ts.map +0 -1
- package/src/capabilities/artifact-definition.ts +0 -148
- package/src/capabilities/blueprint-definition.ts +0 -30
- package/src/capabilities/intent-resolver.ts +0 -71
- package/src/capabilities/react-surface.tsx +0 -84
- package/src/components/KanbanContainer.stories.tsx +0 -193
- package/src/components/KanbanContainer.tsx +0 -95
- package/src/components/KanbanViewEditor.tsx +0 -64
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
KanbanOperation,
|
|
4
|
+
meta
|
|
5
|
+
} from "./chunk-4AWDHQVY.mjs";
|
|
6
|
+
import "./chunk-HSLMI22Q.mjs";
|
|
7
|
+
|
|
8
|
+
// src/capabilities/operation-resolver/operation-resolver.ts
|
|
9
|
+
import * as Effect from "effect/Effect";
|
|
10
|
+
import { Capabilities, Capability, UndoMapping } from "@dxos/app-framework";
|
|
11
|
+
import { JsonSchema, Obj } from "@dxos/echo";
|
|
12
|
+
import { invariant } from "@dxos/invariant";
|
|
13
|
+
import { OperationResolver } from "@dxos/operation";
|
|
14
|
+
import { ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from "@dxos/schema";
|
|
15
|
+
var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-kanban/src/capabilities/operation-resolver/operation-resolver.ts";
|
|
16
|
+
var operation_resolver_default = Capability.makeModule(() => Effect.succeed([
|
|
17
|
+
Capability.contributes(Capabilities.UndoMapping, [
|
|
18
|
+
UndoMapping.make({
|
|
19
|
+
operation: KanbanOperation.DeleteCardField,
|
|
20
|
+
inverse: KanbanOperation.RestoreCardField,
|
|
21
|
+
deriveContext: (input, output) => ({
|
|
22
|
+
view: input.view,
|
|
23
|
+
field: output.field,
|
|
24
|
+
props: output.props,
|
|
25
|
+
index: output.index
|
|
26
|
+
}),
|
|
27
|
+
message: [
|
|
28
|
+
"card field deleted label",
|
|
29
|
+
{
|
|
30
|
+
ns: meta.id
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}),
|
|
34
|
+
UndoMapping.make({
|
|
35
|
+
operation: KanbanOperation.DeleteCard,
|
|
36
|
+
inverse: KanbanOperation.RestoreCard,
|
|
37
|
+
deriveContext: (_input, output) => ({
|
|
38
|
+
card: output.card
|
|
39
|
+
}),
|
|
40
|
+
message: [
|
|
41
|
+
"card deleted label",
|
|
42
|
+
{
|
|
43
|
+
ns: meta.id
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
})
|
|
47
|
+
]),
|
|
48
|
+
Capability.contributes(Capabilities.OperationResolver, [
|
|
49
|
+
OperationResolver.make({
|
|
50
|
+
operation: KanbanOperation.DeleteCardField,
|
|
51
|
+
handler: Effect.fnUntraced(function* ({ view, fieldId }) {
|
|
52
|
+
const registry = yield* Capability.get(Capabilities.AtomRegistry);
|
|
53
|
+
const db = Obj.getDatabase(view);
|
|
54
|
+
invariant(db, "Database not found", {
|
|
55
|
+
F: __dxlog_file,
|
|
56
|
+
L: 46,
|
|
57
|
+
S: this,
|
|
58
|
+
A: [
|
|
59
|
+
"db",
|
|
60
|
+
"'Database not found'"
|
|
61
|
+
]
|
|
62
|
+
});
|
|
63
|
+
const schema = yield* Effect.promise(() => db.schemaRegistry.query({
|
|
64
|
+
typename: getTypenameFromQuery(view.query.ast),
|
|
65
|
+
location: [
|
|
66
|
+
"database",
|
|
67
|
+
"runtime"
|
|
68
|
+
]
|
|
69
|
+
}).first());
|
|
70
|
+
const projection = new ProjectionModel({
|
|
71
|
+
registry,
|
|
72
|
+
view,
|
|
73
|
+
baseSchema: JsonSchema.toJsonSchema(schema),
|
|
74
|
+
change: createEchoChangeCallback(view, schema)
|
|
75
|
+
});
|
|
76
|
+
const result = projection.deleteFieldProjection(fieldId);
|
|
77
|
+
return {
|
|
78
|
+
field: result.deleted.field,
|
|
79
|
+
props: result.deleted.props,
|
|
80
|
+
index: result.index
|
|
81
|
+
};
|
|
82
|
+
})
|
|
83
|
+
}),
|
|
84
|
+
OperationResolver.make({
|
|
85
|
+
operation: KanbanOperation.DeleteCard,
|
|
86
|
+
handler: ({ card }) => Effect.sync(() => {
|
|
87
|
+
const db = Obj.getDatabase(card);
|
|
88
|
+
invariant(db, void 0, {
|
|
89
|
+
F: __dxlog_file,
|
|
90
|
+
L: 80,
|
|
91
|
+
S: void 0,
|
|
92
|
+
A: [
|
|
93
|
+
"db",
|
|
94
|
+
""
|
|
95
|
+
]
|
|
96
|
+
});
|
|
97
|
+
db.remove(card);
|
|
98
|
+
return {
|
|
99
|
+
card
|
|
100
|
+
};
|
|
101
|
+
})
|
|
102
|
+
}),
|
|
103
|
+
//
|
|
104
|
+
// RestoreCardField (inverse of DeleteCardField)
|
|
105
|
+
//
|
|
106
|
+
OperationResolver.make({
|
|
107
|
+
operation: KanbanOperation.RestoreCardField,
|
|
108
|
+
handler: Effect.fnUntraced(function* ({ view, field, props, index }) {
|
|
109
|
+
const registry = yield* Capability.get(Capabilities.AtomRegistry);
|
|
110
|
+
const db = Obj.getDatabase(view);
|
|
111
|
+
invariant(db, "Database not found", {
|
|
112
|
+
F: __dxlog_file,
|
|
113
|
+
L: 96,
|
|
114
|
+
S: this,
|
|
115
|
+
A: [
|
|
116
|
+
"db",
|
|
117
|
+
"'Database not found'"
|
|
118
|
+
]
|
|
119
|
+
});
|
|
120
|
+
const schema = yield* Effect.promise(() => db.schemaRegistry.query({
|
|
121
|
+
typename: getTypenameFromQuery(view.query.ast),
|
|
122
|
+
location: [
|
|
123
|
+
"database",
|
|
124
|
+
"runtime"
|
|
125
|
+
]
|
|
126
|
+
}).first());
|
|
127
|
+
const projection = new ProjectionModel({
|
|
128
|
+
registry,
|
|
129
|
+
view,
|
|
130
|
+
baseSchema: JsonSchema.toJsonSchema(schema),
|
|
131
|
+
change: createEchoChangeCallback(view, schema)
|
|
132
|
+
});
|
|
133
|
+
projection.setFieldProjection({
|
|
134
|
+
field,
|
|
135
|
+
props
|
|
136
|
+
}, index);
|
|
137
|
+
})
|
|
138
|
+
}),
|
|
139
|
+
//
|
|
140
|
+
// RestoreCard (inverse of DeleteCard)
|
|
141
|
+
//
|
|
142
|
+
OperationResolver.make({
|
|
143
|
+
operation: KanbanOperation.RestoreCard,
|
|
144
|
+
handler: ({ card }) => Effect.sync(() => {
|
|
145
|
+
const db = Obj.getDatabase(card);
|
|
146
|
+
invariant(db, void 0, {
|
|
147
|
+
F: __dxlog_file,
|
|
148
|
+
L: 127,
|
|
149
|
+
S: void 0,
|
|
150
|
+
A: [
|
|
151
|
+
"db",
|
|
152
|
+
""
|
|
153
|
+
]
|
|
154
|
+
});
|
|
155
|
+
db.add(card);
|
|
156
|
+
})
|
|
157
|
+
})
|
|
158
|
+
])
|
|
159
|
+
]));
|
|
160
|
+
export {
|
|
161
|
+
operation_resolver_default as default
|
|
162
|
+
};
|
|
163
|
+
//# sourceMappingURL=operation-resolver-UEQ64LCN.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/operation-resolver/operation-resolver.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability, UndoMapping } from '@dxos/app-framework';\nimport { JsonSchema, Obj } from '@dxos/echo';\nimport { type EchoSchema } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { OperationResolver } from '@dxos/operation';\nimport { ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from '@dxos/schema';\n\nimport { meta } from '../../meta';\nimport { KanbanOperation } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed([\n Capability.contributes(Capabilities.UndoMapping, [\n UndoMapping.make({\n operation: KanbanOperation.DeleteCardField,\n inverse: KanbanOperation.RestoreCardField,\n deriveContext: (input, output) => ({\n view: input.view,\n field: output.field,\n props: output.props,\n index: output.index,\n }),\n message: ['card field deleted label', { ns: meta.id }],\n }),\n UndoMapping.make({\n operation: KanbanOperation.DeleteCard,\n inverse: KanbanOperation.RestoreCard,\n deriveContext: (_input, output) => ({\n card: output.card,\n }),\n message: ['card deleted label', { ns: meta.id }],\n }),\n ]),\n Capability.contributes(Capabilities.OperationResolver, [\n OperationResolver.make({\n operation: KanbanOperation.DeleteCardField,\n handler: Effect.fnUntraced(function* ({ view, fieldId }) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const db = Obj.getDatabase(view);\n invariant(db, 'Database not found');\n const schema = yield* Effect.promise(() =>\n db.schemaRegistry\n .query({\n typename: getTypenameFromQuery(view.query.ast)!,\n location: ['database', 'runtime'],\n })\n .first(),\n );\n\n // Create projection with change callbacks that wrap in Obj.change().\n // Schema from registry is an EchoSchema at runtime.\n const projection = new ProjectionModel({\n registry,\n view,\n baseSchema: JsonSchema.toJsonSchema(schema),\n change: createEchoChangeCallback(view, schema as EchoSchema),\n });\n\n const result = projection.deleteFieldProjection(fieldId);\n\n // Return data needed for undo.\n return {\n field: result.deleted.field,\n props: result.deleted.props,\n index: result.index,\n };\n }),\n }),\n OperationResolver.make({\n operation: KanbanOperation.DeleteCard,\n handler: ({ card }) =>\n Effect.sync(() => {\n const db = Obj.getDatabase(card);\n invariant(db);\n db.remove(card);\n\n // Return data needed for undo.\n return { card };\n }),\n }),\n\n //\n // RestoreCardField (inverse of DeleteCardField)\n //\n OperationResolver.make({\n operation: KanbanOperation.RestoreCardField,\n handler: Effect.fnUntraced(function* ({ view, field, props, index }) {\n const registry = yield* Capability.get(Capabilities.AtomRegistry);\n const db = Obj.getDatabase(view);\n invariant(db, 'Database not found');\n const schema = yield* Effect.promise(() =>\n db.schemaRegistry\n .query({\n typename: getTypenameFromQuery(view.query.ast)!,\n location: ['database', 'runtime'],\n })\n .first(),\n );\n\n // Create projection with change callbacks that wrap in Obj.change().\n // Schema from registry is an EchoSchema at runtime.\n const projection = new ProjectionModel({\n registry,\n view,\n baseSchema: JsonSchema.toJsonSchema(schema),\n change: createEchoChangeCallback(view, schema as EchoSchema),\n });\n\n projection.setFieldProjection({ field, props }, index);\n }),\n }),\n\n //\n // RestoreCard (inverse of DeleteCard)\n //\n OperationResolver.make({\n operation: KanbanOperation.RestoreCard,\n handler: ({ card }) =>\n Effect.sync(() => {\n const db = Obj.getDatabase(card);\n invariant(db);\n db.add(card);\n }),\n }),\n ]),\n ]),\n);\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["Effect", "Capabilities", "Capability", "UndoMapping", "JsonSchema", "Obj", "invariant", "OperationResolver", "ProjectionModel", "createEchoChangeCallback", "getTypenameFromQuery", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "UndoMapping", "make", "operation", "KanbanOperation", "DeleteCardField", "inverse", "RestoreCardField", "deriveContext", "input", "output", "view", "field", "props", "index", "message", "ns", "meta", "id", "DeleteCard", "RestoreCard", "_input", "card", "OperationResolver", "handler", "fnUntraced", "fieldId", "registry", "get", "AtomRegistry", "db", "Obj", "getDatabase", "invariant", "schema", "promise", "schemaRegistry", "query", "typename", "getTypenameFromQuery", "ast", "location", "first", "projection", "ProjectionModel", "baseSchema", "JsonSchema", "toJsonSchema", "change", "createEchoChangeCallback", "result", "deleteFieldProjection", "deleted", "sync", "remove", "setFieldProjection", "add"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
Kanban_exports,
|
|
4
|
+
PivotColumnAnnotationId,
|
|
5
|
+
meta
|
|
6
|
+
} from "./chunk-4AWDHQVY.mjs";
|
|
7
|
+
import "./chunk-HSLMI22Q.mjs";
|
|
8
|
+
|
|
9
|
+
// src/capabilities/react-surface/react-surface.tsx
|
|
10
|
+
import * as Effect from "effect/Effect";
|
|
11
|
+
import React, { useMemo } from "react";
|
|
12
|
+
import { Capabilities, Capability } from "@dxos/app-framework";
|
|
13
|
+
import { Surface } from "@dxos/app-framework/ui";
|
|
14
|
+
import { Database, JsonSchema, Obj } from "@dxos/echo";
|
|
15
|
+
import { findAnnotation } from "@dxos/effect";
|
|
16
|
+
import { SelectField, useFormValues } from "@dxos/react-ui-form";
|
|
17
|
+
|
|
18
|
+
// src/containers/index.ts
|
|
19
|
+
import { lazy } from "react";
|
|
20
|
+
var KanbanContainer = lazy(() => import("./KanbanContainer-EHRTLE7M.mjs"));
|
|
21
|
+
var KanbanViewEditor = lazy(() => import("./KanbanViewEditor-WDACFC35.mjs"));
|
|
22
|
+
|
|
23
|
+
// src/capabilities/react-surface/react-surface.tsx
|
|
24
|
+
var react_surface_default = Capability.makeModule(() => Effect.succeed(Capability.contributes(Capabilities.ReactSurface, [
|
|
25
|
+
Surface.create({
|
|
26
|
+
id: meta.id,
|
|
27
|
+
role: [
|
|
28
|
+
"article",
|
|
29
|
+
"section"
|
|
30
|
+
],
|
|
31
|
+
filter: (data) => Obj.instanceOf(Kanban_exports.Kanban, data.subject),
|
|
32
|
+
component: ({ data, role }) => /* @__PURE__ */ React.createElement(KanbanContainer, {
|
|
33
|
+
role,
|
|
34
|
+
subject: data.subject
|
|
35
|
+
})
|
|
36
|
+
}),
|
|
37
|
+
Surface.create({
|
|
38
|
+
id: `${meta.id}/object-settings`,
|
|
39
|
+
role: "object-settings",
|
|
40
|
+
position: "hoist",
|
|
41
|
+
filter: (data) => Obj.instanceOf(Kanban_exports.Kanban, data.subject),
|
|
42
|
+
component: ({ data }) => /* @__PURE__ */ React.createElement(KanbanViewEditor, {
|
|
43
|
+
subject: data.subject
|
|
44
|
+
})
|
|
45
|
+
}),
|
|
46
|
+
Surface.create({
|
|
47
|
+
id: `${meta.id}/create-initial-schema-form-[pivot-column]`,
|
|
48
|
+
role: "form-input",
|
|
49
|
+
filter: (data) => {
|
|
50
|
+
const annotation = findAnnotation(data.schema.ast, PivotColumnAnnotationId);
|
|
51
|
+
return !!annotation;
|
|
52
|
+
},
|
|
53
|
+
component: ({ data: { target }, ...inputProps }) => {
|
|
54
|
+
const props = inputProps;
|
|
55
|
+
const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);
|
|
56
|
+
if (!db) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const { typename } = useFormValues("KanbanForm");
|
|
60
|
+
const [selectedSchema] = useMemo(() => db.schemaRegistry.query({
|
|
61
|
+
location: [
|
|
62
|
+
"database",
|
|
63
|
+
"runtime"
|
|
64
|
+
],
|
|
65
|
+
typename
|
|
66
|
+
}).runSync(), [
|
|
67
|
+
db,
|
|
68
|
+
typename
|
|
69
|
+
]);
|
|
70
|
+
const singleSelectColumns = useMemo(() => {
|
|
71
|
+
const properties = JsonSchema.toJsonSchema(selectedSchema).properties;
|
|
72
|
+
if (!properties) {
|
|
73
|
+
return [];
|
|
74
|
+
}
|
|
75
|
+
const columns = Object.entries(properties).reduce((acc, [key, value]) => {
|
|
76
|
+
if (typeof value === "object" && value?.format === "single-select") {
|
|
77
|
+
acc.push(key);
|
|
78
|
+
}
|
|
79
|
+
return acc;
|
|
80
|
+
}, []);
|
|
81
|
+
return columns;
|
|
82
|
+
}, [
|
|
83
|
+
selectedSchema
|
|
84
|
+
]);
|
|
85
|
+
if (!typename) {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
return /* @__PURE__ */ React.createElement(SelectField, {
|
|
89
|
+
...props,
|
|
90
|
+
options: singleSelectColumns.map((column) => ({
|
|
91
|
+
value: column
|
|
92
|
+
}))
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
})
|
|
96
|
+
])));
|
|
97
|
+
export {
|
|
98
|
+
react_surface_default as default
|
|
99
|
+
};
|
|
100
|
+
//# sourceMappingURL=react-surface-AITKFRBE.mjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../src/capabilities/react-surface/react-surface.tsx", "../../../src/containers/index.ts"],
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport type * as Schema from 'effect/Schema';\nimport React, { useMemo } from 'react';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { Surface } from '@dxos/app-framework/ui';\nimport { Database, JsonSchema, Obj } from '@dxos/echo';\nimport { type Collection } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { type FormFieldComponentProps, SelectField, useFormValues } from '@dxos/react-ui-form';\n\nimport { KanbanContainer, KanbanViewEditor } from '../../containers';\nimport { meta } from '../../meta';\nimport { Kanban, PivotColumnAnnotationId } from '../../types';\n\nexport default Capability.makeModule(() =>\n Effect.succeed(\n Capability.contributes(Capabilities.ReactSurface, [\n Surface.create({\n id: meta.id,\n role: ['article', 'section'],\n filter: (data): data is { subject: Kanban.Kanban } => Obj.instanceOf(Kanban.Kanban, data.subject),\n component: ({ data, role }) => <KanbanContainer role={role} subject={data.subject} />,\n }),\n Surface.create({\n id: `${meta.id}/object-settings`,\n role: 'object-settings',\n position: 'hoist',\n filter: (data): data is { subject: Kanban.Kanban } => Obj.instanceOf(Kanban.Kanban, data.subject),\n component: ({ data }) => <KanbanViewEditor subject={data.subject} />,\n }),\n Surface.create({\n id: `${meta.id}/create-initial-schema-form-[pivot-column]`,\n role: 'form-input',\n filter: (\n data,\n ): data is {\n prop: string;\n schema: Schema.Schema<any>;\n target: Database.Database | Collection.Collection | undefined;\n } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, PivotColumnAnnotationId);\n return !!annotation;\n },\n component: ({ data: { target }, ...inputProps }) => {\n const props = inputProps as any as FormFieldComponentProps;\n const db = Database.isDatabase(target) ? target : target && Obj.getDatabase(target);\n if (!db) {\n return null;\n }\n\n const { typename } = useFormValues('KanbanForm');\n const [selectedSchema] = useMemo(\n () => db.schemaRegistry.query({ location: ['database', 'runtime'], typename }).runSync(),\n [db, typename],\n );\n const singleSelectColumns = useMemo(() => {\n const properties = JsonSchema.toJsonSchema(selectedSchema).properties;\n if (!properties) {\n return [];\n }\n\n const columns = Object.entries(properties).reduce<string[]>((acc, [key, value]) => {\n if (typeof value === 'object' && value?.format === 'single-select') {\n acc.push(key);\n }\n return acc;\n }, []);\n\n return columns;\n }, [selectedSchema]);\n\n if (!typename) {\n return null;\n }\n\n return <SelectField {...props} options={singleSelectColumns.map((column) => ({ value: column }))} />;\n },\n }),\n ]),\n ),\n);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport { type ComponentType, lazy } from 'react';\n\nexport const KanbanContainer: ComponentType<any> = lazy(() => import('./KanbanContainer'));\nexport const KanbanViewEditor: ComponentType<any> = lazy(() => import('./KanbanViewEditor'));\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;AAIA,YAAYA,YAAY;AAExB,OAAOC,SAASC,eAAe;AAE/B,SAASC,cAAcC,kBAAkB;AACzC,SAASC,eAAe;AACxB,SAASC,UAAUC,YAAYC,WAAW;AAE1C,SAASC,sBAAsB;AAC/B,SAAuCC,aAAaC,qBAAqB;;;ACTzE,SAA6BC,YAAY;AAElC,IAAMC,kBAAsCC,KAAK,MAAM,OAAO,gCAAA,CAAA;AAC9D,IAAMC,mBAAuCD,KAAK,MAAM,OAAO,iCAAA,CAAA;;;ADYtE,IAAA,wBAAeE,WAAWC,WAAW,MAC5BC,eACLF,WAAWG,YAAYC,aAAaC,cAAc;EAChDC,QAAQC,OAAO;IACbC,IAAIC,KAAKD;IACTE,MAAM;MAAC;MAAW;;IAClBC,QAAQ,CAACC,SAA6CC,IAAIC,WAAWC,eAAOA,QAAQH,KAAKI,OAAO;IAChGC,WAAW,CAAC,EAAEL,MAAMF,KAAI,MAAO,sBAAA,cAACQ,iBAAAA;MAAgBR;MAAYM,SAASJ,KAAKI;;EAC5E,CAAA;EACAV,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNS,UAAU;IACVR,QAAQ,CAACC,SAA6CC,IAAIC,WAAWC,eAAOA,QAAQH,KAAKI,OAAO;IAChGC,WAAW,CAAC,EAAEL,KAAI,MAAO,sBAAA,cAACQ,kBAAAA;MAAiBJ,SAASJ,KAAKI;;EAC3D,CAAA;EACAV,QAAQC,OAAO;IACbC,IAAI,GAAGC,KAAKD,EAAE;IACdE,MAAM;IACNC,QAAQ,CACNC,SAAAA;AAMA,YAAMS,aAAaC,eAAyBV,KAAKW,OAA6BC,KAAKC,uBAAAA;AACnF,aAAO,CAAC,CAACJ;IACX;IACAJ,WAAW,CAAC,EAAEL,MAAM,EAAEc,OAAM,GAAI,GAAGC,WAAAA,MAAY;AAC7C,YAAMC,QAAQD;AACd,YAAME,KAAKC,SAASC,WAAWL,MAAAA,IAAUA,SAASA,UAAUb,IAAImB,YAAYN,MAAAA;AAC5E,UAAI,CAACG,IAAI;AACP,eAAO;MACT;AAEA,YAAM,EAAEI,SAAQ,IAAKC,cAAc,YAAA;AACnC,YAAM,CAACC,cAAAA,IAAkBC,QACvB,MAAMP,GAAGQ,eAAeC,MAAM;QAAEC,UAAU;UAAC;UAAY;;QAAYN;MAAS,CAAA,EAAGO,QAAO,GACtF;QAACX;QAAII;OAAS;AAEhB,YAAMQ,sBAAsBL,QAAQ,MAAA;AAClC,cAAMM,aAAaC,WAAWC,aAAaT,cAAAA,EAAgBO;AAC3D,YAAI,CAACA,YAAY;AACf,iBAAO,CAAA;QACT;AAEA,cAAMG,UAAUC,OAAOC,QAAQL,UAAAA,EAAYM,OAAiB,CAACC,KAAK,CAACC,KAAKC,KAAAA,MAAM;AAC5E,cAAI,OAAOA,UAAU,YAAYA,OAAOC,WAAW,iBAAiB;AAClEH,gBAAII,KAAKH,GAAAA;UACX;AACA,iBAAOD;QACT,GAAG,CAAA,CAAE;AAEL,eAAOJ;MACT,GAAG;QAACV;OAAe;AAEnB,UAAI,CAACF,UAAU;AACb,eAAO;MACT;AAEA,aAAO,sBAAA,cAACqB,aAAAA;QAAa,GAAG1B;QAAO2B,SAASd,oBAAoBe,IAAI,CAACC,YAAY;UAAEN,OAAOM;QAAO,EAAA;;IAC/F;EACF,CAAA;CACD,CAAA,CAAA;",
|
|
6
|
+
"names": ["Effect", "React", "useMemo", "Capabilities", "Capability", "Surface", "Database", "JsonSchema", "Obj", "findAnnotation", "SelectField", "useFormValues", "lazy", "KanbanContainer", "lazy", "KanbanViewEditor", "Capability", "makeModule", "succeed", "contributes", "Capabilities", "ReactSurface", "Surface", "create", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "Kanban", "subject", "component", "KanbanContainer", "position", "KanbanViewEditor", "annotation", "findAnnotation", "schema", "ast", "PivotColumnAnnotationId", "target", "inputProps", "props", "db", "Database", "isDatabase", "getDatabase", "typename", "useFormValues", "selectedSchema", "useMemo", "schemaRegistry", "query", "location", "runSync", "singleSelectColumns", "properties", "JsonSchema", "toJsonSchema", "columns", "Object", "entries", "reduce", "acc", "key", "value", "format", "push", "SelectField", "options", "map", "column"]
|
|
7
|
+
}
|
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
CreateKanbanSchema,
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
KanbanOperation,
|
|
5
|
+
Kanban_exports,
|
|
6
|
+
PivotColumnAnnotationId,
|
|
7
|
+
SettingsSchema,
|
|
8
|
+
UNCATEGORIZED_ATTRIBUTES,
|
|
9
|
+
UNCATEGORIZED_VALUE
|
|
10
|
+
} from "../chunk-4AWDHQVY.mjs";
|
|
11
|
+
import "../chunk-HSLMI22Q.mjs";
|
|
7
12
|
export {
|
|
8
13
|
CreateKanbanSchema,
|
|
9
|
-
|
|
10
|
-
|
|
14
|
+
Kanban_exports as Kanban,
|
|
15
|
+
KanbanOperation,
|
|
16
|
+
PivotColumnAnnotationId,
|
|
17
|
+
SettingsSchema,
|
|
18
|
+
UNCATEGORIZED_ATTRIBUTES,
|
|
19
|
+
UNCATEGORIZED_VALUE
|
|
11
20
|
};
|
|
12
21
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAW7C,eAAO,MAAM,YAAY,4BA0BxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/blueprints/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"kanban-blueprint.d.ts","sourceRoot":"","sources":["../../../../src/blueprints/kanban-blueprint.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAoBzD,QAAA,MAAM,SAAS,EAAE,eAAe,CAAC,mBAIhC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as Effect from 'effect/Effect';
|
|
2
|
+
import { Capability, type PromiseIntentDispatcher } from '@dxos/app-framework';
|
|
3
|
+
import { type Space } from '@dxos/react-client/echo';
|
|
4
|
+
declare global {
|
|
5
|
+
interface ToolContextExtensions {
|
|
6
|
+
space?: Space;
|
|
7
|
+
dispatch?: PromiseIntentDispatcher;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
declare const _default: (props: void) => Effect.Effect<Capability.Capability<any>, never, never>;
|
|
11
|
+
export default _default;
|
|
12
|
+
//# sourceMappingURL=artifact-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"artifact-definition.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/artifact-definition/artifact-definition.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAgB,UAAU,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAO7F,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAW7D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;;AAED,wBAkHE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/artifact-definition/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,kBAAkB,oEAA+E,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as Effect from 'effect/Effect';
|
|
2
|
+
import { Capability } from '@dxos/app-framework';
|
|
3
|
+
import { AppCapabilities } from '@dxos/app-toolkit';
|
|
4
|
+
declare const blueprintDefinition: (props: []) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<AppCapabilities.BlueprintDefinition>>[], Error, Capability.Service>;
|
|
5
|
+
export default blueprintDefinition;
|
|
6
|
+
//# sourceMappingURL=blueprint-definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"blueprint-definition.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/blueprint-definition/blueprint-definition.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,QAAA,MAAM,mBAAmB,gJAG8E,CAAC;AAExG,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Capability } from '@dxos/app-framework';
|
|
2
|
+
export declare const BlueprintDefinition: Capability.LazyCapability<[], Capability.Capability<Capability.InterfaceDef<import("@dxos/app-toolkit").AppCapabilities.BlueprintDefinition>>[], Error>;
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/blueprint-definition/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,mBAAmB,yJAAiF,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
1
|
+
export * from './blueprint-definition';
|
|
2
|
+
export * from './operation-resolver';
|
|
3
|
+
export * from './react-surface';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAIA,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Capability } from '@dxos/app-framework';
|
|
2
|
+
export declare const OperationResolver: Capability.LazyCapability<void, [Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Capabilities").UndoMapping[]>>, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Capabilities").OperationResolver[]>>], Error>;
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/operation-resolver/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,iBAAiB,oQAA6E,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as Effect from 'effect/Effect';
|
|
2
|
+
import { Capabilities, Capability } from '@dxos/app-framework';
|
|
3
|
+
declare const _default: (props: void) => Effect.Effect<[Capability.Capability<Capability.InterfaceDef<Capabilities.UndoMapping[]>>, Capability.Capability<Capability.InterfaceDef<Capabilities.OperationResolver[]>>], never, never>;
|
|
4
|
+
export default _default;
|
|
5
|
+
//# sourceMappingURL=operation-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operation-resolver.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/operation-resolver/operation-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAe,MAAM,qBAAqB,CAAC;;AAU5E,wBAoHE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/react-surface/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,eAAO,MAAM,YAAY,iJAAmE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import * as Effect from 'effect/Effect';
|
|
2
|
+
import { Capabilities, Capability } from '@dxos/app-framework';
|
|
3
|
+
declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Capabilities.ReactSurface>>, never, never>;
|
|
4
|
+
export default _default;
|
|
5
|
+
//# sourceMappingURL=react-surface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../../src/capabilities/react-surface/react-surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;;AAW/D,wBAkEE"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { type Atom } from '@effect-atom/atom-react';
|
|
2
|
+
import React, { type ComponentPropsWithoutRef, type ComponentType, type PropsWithChildren } from 'react';
|
|
3
|
+
import { Obj } from '@dxos/echo';
|
|
4
|
+
import type { ProjectionModel } from '@dxos/schema';
|
|
5
|
+
import { type Kanban, type KanbanChangeCallback } from '../../types';
|
|
6
|
+
import { type KanbanCardProps } from './KanbanCard';
|
|
7
|
+
import { type KanbanColumnProps } from './KanbanColumn';
|
|
8
|
+
/**
|
|
9
|
+
* Context value for the Kanban board.
|
|
10
|
+
* Items are Echo objects (Obj.Unknown).
|
|
11
|
+
*/
|
|
12
|
+
type KanbanBoardContextValue = {
|
|
13
|
+
kanbanId: string;
|
|
14
|
+
projection: ProjectionModel | undefined;
|
|
15
|
+
columnFieldPath: string | undefined;
|
|
16
|
+
change: KanbanChangeCallback<Obj.Unknown>;
|
|
17
|
+
pivotFieldId: string | undefined;
|
|
18
|
+
getPivotAttributes: (columnValue: string) => {
|
|
19
|
+
title: string;
|
|
20
|
+
color: string;
|
|
21
|
+
};
|
|
22
|
+
itemTile?: ComponentType<KanbanCardProps>;
|
|
23
|
+
onCardAdd?: (columnValue: string | undefined) => string | undefined;
|
|
24
|
+
onCardRemove?: (card: Obj.Unknown) => void;
|
|
25
|
+
};
|
|
26
|
+
declare const useKanbanBoard: (consumerName: string) => KanbanBoardContextValue;
|
|
27
|
+
type KanbanBoardRootProps = PropsWithChildren<Pick<KanbanBoardContextValue, 'change' | 'itemTile'> & {
|
|
28
|
+
kanban: Kanban.Kanban;
|
|
29
|
+
/** Required when providing context; Root derives columnFieldPath, pivotFieldId, getPivotAttributes from kanban + projection. */
|
|
30
|
+
projection: ProjectionModel;
|
|
31
|
+
/** Atom of items (e.g. from AtomQuery for DB, or Atom.make([]) for in-memory). */
|
|
32
|
+
items: Atom.Atom<Obj.Unknown[]>;
|
|
33
|
+
onCardAdd?: (columnValue: string | undefined) => string | undefined;
|
|
34
|
+
onCardRemove?: (card: Obj.Unknown) => void;
|
|
35
|
+
} & ComponentPropsWithoutRef<'div'>>;
|
|
36
|
+
export declare const KanbanBoardRoot: {
|
|
37
|
+
({ children, change, itemTile, kanban, projection, items, onCardAdd, onCardRemove, ...props }: KanbanBoardRootProps): React.JSX.Element;
|
|
38
|
+
displayName: string;
|
|
39
|
+
};
|
|
40
|
+
export declare const KanbanBoardContent: {
|
|
41
|
+
(): React.JSX.Element;
|
|
42
|
+
displayName: string;
|
|
43
|
+
};
|
|
44
|
+
export declare const KanbanBoard: {
|
|
45
|
+
Root: {
|
|
46
|
+
({ children, change, itemTile, kanban, projection, items, onCardAdd, onCardRemove, ...props }: KanbanBoardRootProps): React.JSX.Element;
|
|
47
|
+
displayName: string;
|
|
48
|
+
};
|
|
49
|
+
Content: {
|
|
50
|
+
(): React.JSX.Element;
|
|
51
|
+
displayName: string;
|
|
52
|
+
};
|
|
53
|
+
Column: React.ForwardRefExoticComponent<KanbanColumnProps & React.RefAttributes<HTMLDivElement>>;
|
|
54
|
+
Card: React.ForwardRefExoticComponent<KanbanCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
55
|
+
};
|
|
56
|
+
export { useKanbanBoard };
|
|
57
|
+
export type { KanbanBoardRootProps as KanbanBoardProps, KanbanCardProps, KanbanColumnProps };
|
|
58
|
+
//# sourceMappingURL=KanbanBoard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanBoard.d.ts","sourceRoot":"","sources":["../../../../../src/components/KanbanBoard/KanbanBoard.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAmB,MAAM,yBAAyB,CAAC;AAErE,OAAO,KAAK,EAAE,EACZ,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAIvB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,oBAAoB,EAAiD,MAAM,aAAa,CAAC;AAEpH,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAUtE;;;GAGG;AACH,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;IACxC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9E,QAAQ,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;IACpE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,QAAA,MAA2B,cAAc,mDASvC,CAAC;AAQH,KAAK,oBAAoB,GAAG,iBAAiB,CAC3C,IAAI,CAAC,uBAAuB,EAAE,QAAQ,GAAG,UAAU,CAAC,GAAG;IACrD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,gIAAgI;IAChI,UAAU,EAAE,eAAe,CAAC;IAC5B,kFAAkF;IAClF,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;IACpE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;CAC5C,GAAG,wBAAwB,CAAC,KAAK,CAAC,CACpC,CAAC;AAEF,eAAO,MAAM,eAAe;mGAUzB,oBAAoB;;CAqDtB,CAAC;AAUF,eAAO,MAAM,kBAAkB;;;CAa9B,CAAC;AAQF,eAAO,MAAM,WAAW;;uGApFrB,oBAAoB;;;;;;;;;CAyFtB,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,YAAY,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { type StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
declare const meta: {
|
|
4
|
+
title: string;
|
|
5
|
+
component: () => React.JSX.Element;
|
|
6
|
+
decorators: import("@storybook/react").Decorator[];
|
|
7
|
+
parameters: {
|
|
8
|
+
layout: string;
|
|
9
|
+
translations: [{
|
|
10
|
+
readonly 'en-US': {
|
|
11
|
+
readonly [x: string]: {
|
|
12
|
+
readonly 'typename label': "Kanban";
|
|
13
|
+
readonly 'typename label_zero': "Kanbans";
|
|
14
|
+
readonly 'typename label_one': "Kanban";
|
|
15
|
+
readonly 'typename label_other': "Kanbans";
|
|
16
|
+
readonly 'object name placeholder': "New kanban";
|
|
17
|
+
readonly 'rename object label': "Rename kanban";
|
|
18
|
+
readonly 'delete object label': "Delete kanban";
|
|
19
|
+
readonly 'object deleted label': "Kanban deleted";
|
|
20
|
+
readonly 'action menu label'?: undefined;
|
|
21
|
+
readonly 'plugin name'?: undefined;
|
|
22
|
+
readonly 'kanban title label'?: undefined;
|
|
23
|
+
readonly 'column title label'?: undefined;
|
|
24
|
+
readonly 'column title placeholder'?: undefined;
|
|
25
|
+
readonly 'add column label'?: undefined;
|
|
26
|
+
readonly 'add card label'?: undefined;
|
|
27
|
+
readonly 'new column name label'?: undefined;
|
|
28
|
+
readonly 'remove card label'?: undefined;
|
|
29
|
+
readonly 'remove empty column label'?: undefined;
|
|
30
|
+
readonly 'column drag handle label'?: undefined;
|
|
31
|
+
readonly 'delete column label'?: undefined;
|
|
32
|
+
readonly 'card field deleted label'?: undefined;
|
|
33
|
+
readonly 'card deleted label'?: undefined;
|
|
34
|
+
readonly 'select pivot placeholder'?: undefined;
|
|
35
|
+
} | {
|
|
36
|
+
readonly 'action menu label': "Actions";
|
|
37
|
+
readonly 'plugin name': "Kanban";
|
|
38
|
+
readonly 'kanban title label': "Title";
|
|
39
|
+
readonly 'column title label': "Column title";
|
|
40
|
+
readonly 'column title placeholder': "New column";
|
|
41
|
+
readonly 'add column label': "Add column";
|
|
42
|
+
readonly 'add card label': "Add card";
|
|
43
|
+
readonly 'new column name label': "New column name";
|
|
44
|
+
readonly 'remove card label': "Remove card";
|
|
45
|
+
readonly 'remove empty column label': "Remove empty column";
|
|
46
|
+
readonly 'column drag handle label': "Drag to rearrange";
|
|
47
|
+
readonly 'delete column label': "Delete column";
|
|
48
|
+
readonly 'card field deleted label': "Card field deleted";
|
|
49
|
+
readonly 'card deleted label': "Card deleted";
|
|
50
|
+
readonly 'select pivot placeholder': "Select a pivot column in board settings to display columns.";
|
|
51
|
+
readonly 'typename label'?: undefined;
|
|
52
|
+
readonly 'typename label_zero'?: undefined;
|
|
53
|
+
readonly 'typename label_one'?: undefined;
|
|
54
|
+
readonly 'typename label_other'?: undefined;
|
|
55
|
+
readonly 'object name placeholder'?: undefined;
|
|
56
|
+
readonly 'rename object label'?: undefined;
|
|
57
|
+
readonly 'delete object label'?: undefined;
|
|
58
|
+
readonly 'object deleted label'?: undefined;
|
|
59
|
+
};
|
|
60
|
+
};
|
|
61
|
+
}];
|
|
62
|
+
};
|
|
63
|
+
};
|
|
64
|
+
export default meta;
|
|
65
|
+
type Story = StoryObj<typeof meta>;
|
|
66
|
+
/**
|
|
67
|
+
* In-memory board with Echo-shaped objects. No plugin manager, client, or Space.
|
|
68
|
+
*/
|
|
69
|
+
export declare const Default: Story;
|
|
70
|
+
//# sourceMappingURL=KanbanBoard.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanBoard.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/KanbanBoard/KanbanBoard.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAgE,MAAM,OAAO,CAAC;AAsHrF,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Obj } from '@dxos/echo';
|
|
3
|
+
import { type MosaicTileProps } from '@dxos/react-ui-mosaic';
|
|
4
|
+
export type KanbanCardProps = Pick<MosaicTileProps<Obj.Unknown>, 'location' | 'data' | 'debug'>;
|
|
5
|
+
/**
|
|
6
|
+
* Mosaic Tile for Kanban card.
|
|
7
|
+
* Uses Surface for content; requires plugin manager context.
|
|
8
|
+
*/
|
|
9
|
+
export declare const KanbanCard: React.ForwardRefExoticComponent<KanbanCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
10
|
+
//# sourceMappingURL=KanbanCard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"KanbanCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/KanbanBoard/KanbanCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAI1E,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,EAAiB,KAAK,eAAe,EAAY,MAAM,uBAAuB,CAAC;AAQtF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAEhG;;;GAGG;AACH,eAAO,MAAM,UAAU,wFA2DrB,CAAC"}
|