@dxos/plugin-kanban 0.8.4-main.67995b8 → 0.8.4-main.6fa680abb7

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 (225) hide show
  1. package/dist/lib/browser/KanbanContainer-LUFCGLXA.mjs +303 -0
  2. package/dist/lib/browser/KanbanContainer-LUFCGLXA.mjs.map +7 -0
  3. package/dist/lib/browser/KanbanViewEditor-JGJXYP6E.mjs +66 -0
  4. package/dist/lib/browser/KanbanViewEditor-JGJXYP6E.mjs.map +7 -0
  5. package/dist/lib/browser/blueprint-definition-2NNRB2ZQ.mjs +17 -0
  6. package/dist/lib/browser/blueprint-definition-2NNRB2ZQ.mjs.map +7 -0
  7. package/dist/lib/browser/blueprints/index.mjs +8 -0
  8. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  9. package/dist/lib/browser/chunk-B6RIAQMI.mjs +29 -0
  10. package/dist/lib/browser/chunk-B6RIAQMI.mjs.map +7 -0
  11. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  12. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  13. package/dist/lib/browser/chunk-XNHYJTI4.mjs +385 -0
  14. package/dist/lib/browser/chunk-XNHYJTI4.mjs.map +7 -0
  15. package/dist/lib/browser/chunk-YCJAZ27A.mjs +210 -0
  16. package/dist/lib/browser/chunk-YCJAZ27A.mjs.map +7 -0
  17. package/dist/lib/browser/index.mjs +66 -69
  18. package/dist/lib/browser/index.mjs.map +4 -4
  19. package/dist/lib/browser/meta.json +1 -1
  20. package/dist/lib/browser/operation-resolver-ZWHXZBPF.mjs +162 -0
  21. package/dist/lib/browser/operation-resolver-ZWHXZBPF.mjs.map +7 -0
  22. package/dist/lib/browser/react-surface-JSJYXYPF.mjs +99 -0
  23. package/dist/lib/browser/react-surface-JSJYXYPF.mjs.map +7 -0
  24. package/dist/lib/browser/types/index.mjs +12 -5
  25. package/dist/lib/node-esm/KanbanContainer-LLBEBTVG.mjs +304 -0
  26. package/dist/lib/node-esm/KanbanContainer-LLBEBTVG.mjs.map +7 -0
  27. package/dist/lib/node-esm/KanbanViewEditor-Z6PM75TB.mjs +67 -0
  28. package/dist/lib/node-esm/KanbanViewEditor-Z6PM75TB.mjs.map +7 -0
  29. package/dist/lib/node-esm/blueprint-definition-5GWECQLZ.mjs +18 -0
  30. package/dist/lib/node-esm/blueprint-definition-5GWECQLZ.mjs.map +7 -0
  31. package/dist/lib/node-esm/blueprints/index.mjs +9 -0
  32. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  33. package/dist/lib/node-esm/chunk-3APLKFTO.mjs +211 -0
  34. package/dist/lib/node-esm/chunk-3APLKFTO.mjs.map +7 -0
  35. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  36. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  37. package/dist/lib/node-esm/chunk-MS6KRXNX.mjs +386 -0
  38. package/dist/lib/node-esm/chunk-MS6KRXNX.mjs.map +7 -0
  39. package/dist/lib/node-esm/chunk-SD555I65.mjs +31 -0
  40. package/dist/lib/node-esm/chunk-SD555I65.mjs.map +7 -0
  41. package/dist/lib/node-esm/index.mjs +66 -69
  42. package/dist/lib/node-esm/index.mjs.map +4 -4
  43. package/dist/lib/node-esm/meta.json +1 -1
  44. package/dist/lib/node-esm/operation-resolver-KV5GNNHN.mjs +163 -0
  45. package/dist/lib/node-esm/operation-resolver-KV5GNNHN.mjs.map +7 -0
  46. package/dist/lib/node-esm/react-surface-PQEYNBJY.mjs +100 -0
  47. package/dist/lib/node-esm/react-surface-PQEYNBJY.mjs.map +7 -0
  48. package/dist/lib/node-esm/types/index.mjs +12 -5
  49. package/dist/types/src/KanbanPlugin.d.ts +2 -1
  50. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  51. package/dist/types/src/blueprints/index.d.ts +2 -0
  52. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  53. package/dist/types/src/blueprints/kanban-blueprint.d.ts +4 -0
  54. package/dist/types/src/blueprints/kanban-blueprint.d.ts.map +1 -0
  55. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +12 -0
  56. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -0
  57. package/dist/types/src/capabilities/artifact-definition/index.d.ts +3 -0
  58. package/dist/types/src/capabilities/artifact-definition/index.d.ts.map +1 -0
  59. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +6 -0
  60. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -0
  61. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +3 -0
  62. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -0
  63. package/dist/types/src/capabilities/index.d.ts +3 -3
  64. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  65. package/dist/types/src/capabilities/operation-resolver/index.d.ts +3 -0
  66. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -0
  67. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +5 -0
  68. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -0
  69. package/dist/types/src/capabilities/react-surface/index.d.ts +3 -0
  70. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -0
  71. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +5 -0
  72. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -0
  73. package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts +59 -0
  74. package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts.map +1 -0
  75. package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts +72 -0
  76. package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts.map +1 -0
  77. package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts +10 -0
  78. package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts.map +1 -0
  79. package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts +9 -0
  80. package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts.map +1 -0
  81. package/dist/types/src/components/KanbanBoard/index.d.ts +2 -0
  82. package/dist/types/src/components/KanbanBoard/index.d.ts.map +1 -0
  83. package/dist/types/src/components/index.d.ts +1 -2
  84. package/dist/types/src/components/index.d.ts.map +1 -1
  85. package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts +6 -0
  86. package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts.map +1 -0
  87. package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts +79 -0
  88. package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts.map +1 -0
  89. package/dist/types/src/containers/KanbanContainer/index.d.ts +3 -0
  90. package/dist/types/src/containers/KanbanContainer/index.d.ts.map +1 -0
  91. package/dist/types/src/containers/KanbanViewEditor/KanbanViewEditor.d.ts +6 -0
  92. package/dist/types/src/containers/KanbanViewEditor/KanbanViewEditor.d.ts.map +1 -0
  93. package/dist/types/src/containers/KanbanViewEditor/index.d.ts +3 -0
  94. package/dist/types/src/containers/KanbanViewEditor/index.d.ts.map +1 -0
  95. package/dist/types/src/containers/index.d.ts +4 -0
  96. package/dist/types/src/containers/index.d.ts.map +1 -0
  97. package/dist/types/src/hooks/index.d.ts +6 -0
  98. package/dist/types/src/hooks/index.d.ts.map +1 -0
  99. package/dist/types/src/hooks/useEchoChangeCallback.d.ts +13 -0
  100. package/dist/types/src/hooks/useEchoChangeCallback.d.ts.map +1 -0
  101. package/dist/types/src/hooks/useKanbanBoardModel.d.ts +16 -0
  102. package/dist/types/src/hooks/useKanbanBoardModel.d.ts.map +1 -0
  103. package/dist/types/src/hooks/useKanbanBoardModel.test.d.ts +2 -0
  104. package/dist/types/src/hooks/useKanbanBoardModel.test.d.ts.map +1 -0
  105. package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts +22 -0
  106. package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts.map +1 -0
  107. package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts +19 -0
  108. package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts.map +1 -0
  109. package/dist/types/src/hooks/useProjectionModel.d.ts +15 -0
  110. package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -0
  111. package/dist/types/src/meta.d.ts +2 -3
  112. package/dist/types/src/meta.d.ts.map +1 -1
  113. package/dist/types/src/playwright/board-manager.d.ts +5 -0
  114. package/dist/types/src/playwright/board-manager.d.ts.map +1 -0
  115. package/dist/types/src/playwright/playwright.config.d.ts +3 -0
  116. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
  117. package/dist/types/src/playwright/smoke.spec.d.ts +2 -0
  118. package/dist/types/src/playwright/smoke.spec.d.ts.map +1 -0
  119. package/dist/types/src/testing/KanbanCardTileSimple.d.ts +5 -0
  120. package/dist/types/src/testing/KanbanCardTileSimple.d.ts.map +1 -0
  121. package/dist/types/src/testing/index.d.ts +2 -0
  122. package/dist/types/src/testing/index.d.ts.map +1 -0
  123. package/dist/types/src/translations.d.ts +37 -9
  124. package/dist/types/src/translations.d.ts.map +1 -1
  125. package/dist/types/src/types/Kanban.d.ts +37 -0
  126. package/dist/types/src/types/Kanban.d.ts.map +1 -0
  127. package/dist/types/src/types/constants.d.ts +6 -0
  128. package/dist/types/src/types/constants.d.ts.map +1 -0
  129. package/dist/types/src/types/index.d.ts +2 -1
  130. package/dist/types/src/types/index.d.ts.map +1 -1
  131. package/dist/types/src/types/schema.d.ts +100 -88
  132. package/dist/types/src/types/schema.d.ts.map +1 -1
  133. package/dist/types/src/types/types.d.ts +28 -0
  134. package/dist/types/src/types/types.d.ts.map +1 -1
  135. package/dist/types/src/util/arrangement.d.ts +68 -0
  136. package/dist/types/src/util/arrangement.d.ts.map +1 -0
  137. package/dist/types/src/util/arrangement.test.d.ts +2 -0
  138. package/dist/types/src/util/arrangement.test.d.ts.map +1 -0
  139. package/dist/types/src/util/index.d.ts +2 -0
  140. package/dist/types/src/util/index.d.ts.map +1 -0
  141. package/dist/types/tsconfig.tsbuildinfo +1 -1
  142. package/package.json +67 -46
  143. package/src/KanbanPlugin.tsx +36 -55
  144. package/src/blueprints/index.ts +5 -0
  145. package/src/blueprints/kanban-blueprint.ts +31 -0
  146. package/src/capabilities/artifact-definition/artifact-definition.ts +151 -0
  147. package/src/capabilities/artifact-definition/index.ts +7 -0
  148. package/src/capabilities/blueprint-definition/blueprint-definition.ts +17 -0
  149. package/src/capabilities/blueprint-definition/index.ts +7 -0
  150. package/src/capabilities/index.ts +3 -5
  151. package/src/capabilities/operation-resolver/index.ts +7 -0
  152. package/src/capabilities/operation-resolver/operation-resolver.ts +133 -0
  153. package/src/capabilities/react-surface/index.ts +7 -0
  154. package/src/capabilities/react-surface/react-surface.tsx +86 -0
  155. package/src/components/KanbanBoard/KanbanBoard.stories.tsx +142 -0
  156. package/src/components/KanbanBoard/KanbanBoard.tsx +183 -0
  157. package/src/components/KanbanBoard/KanbanCard.tsx +87 -0
  158. package/src/components/KanbanBoard/KanbanColumn.tsx +69 -0
  159. package/src/components/KanbanBoard/index.ts +5 -0
  160. package/src/components/index.ts +1 -2
  161. package/src/containers/KanbanContainer/KanbanContainer.stories.tsx +263 -0
  162. package/src/containers/KanbanContainer/KanbanContainer.tsx +87 -0
  163. package/src/containers/KanbanContainer/index.ts +7 -0
  164. package/src/containers/KanbanViewEditor/KanbanViewEditor.tsx +63 -0
  165. package/src/containers/KanbanViewEditor/index.ts +7 -0
  166. package/src/containers/index.ts +8 -0
  167. package/src/hooks/index.ts +9 -0
  168. package/src/hooks/useEchoChangeCallback.ts +30 -0
  169. package/src/hooks/useKanbanBoardModel.test.ts +235 -0
  170. package/src/hooks/useKanbanBoardModel.ts +143 -0
  171. package/src/hooks/useKanbanColumnEventHandler.ts +106 -0
  172. package/src/hooks/useKanbanItemEventHandler.ts +133 -0
  173. package/src/hooks/useProjectionModel.ts +58 -0
  174. package/src/meta.ts +9 -7
  175. package/src/playwright/board-manager.ts +13 -0
  176. package/src/playwright/playwright.config.ts +19 -0
  177. package/src/playwright/smoke.spec.ts +107 -0
  178. package/src/testing/KanbanCardTileSimple.tsx +76 -0
  179. package/src/testing/index.ts +5 -0
  180. package/src/translations.ts +14 -6
  181. package/src/types/Kanban.ts +67 -0
  182. package/src/types/constants.ts +9 -0
  183. package/src/types/index.ts +2 -1
  184. package/src/types/schema.ts +85 -40
  185. package/src/types/types.ts +35 -0
  186. package/src/util/arrangement.test.ts +208 -0
  187. package/src/util/arrangement.ts +167 -0
  188. package/src/util/index.ts +5 -0
  189. package/dist/lib/browser/artifact-definition-NIFSAHUK.mjs +0 -174
  190. package/dist/lib/browser/artifact-definition-NIFSAHUK.mjs.map +0 -7
  191. package/dist/lib/browser/chunk-MUK4JV7A.mjs +0 -108
  192. package/dist/lib/browser/chunk-MUK4JV7A.mjs.map +0 -7
  193. package/dist/lib/browser/intent-resolver-6GPK64NB.mjs +0 -111
  194. package/dist/lib/browser/intent-resolver-6GPK64NB.mjs.map +0 -7
  195. package/dist/lib/browser/react-surface-Y2GO6B24.mjs +0 -256
  196. package/dist/lib/browser/react-surface-Y2GO6B24.mjs.map +0 -7
  197. package/dist/lib/node-esm/artifact-definition-NACXLTWB.mjs +0 -175
  198. package/dist/lib/node-esm/artifact-definition-NACXLTWB.mjs.map +0 -7
  199. package/dist/lib/node-esm/chunk-2GCFRKS2.mjs +0 -110
  200. package/dist/lib/node-esm/chunk-2GCFRKS2.mjs.map +0 -7
  201. package/dist/lib/node-esm/intent-resolver-CXHLNVEN.mjs +0 -112
  202. package/dist/lib/node-esm/intent-resolver-CXHLNVEN.mjs.map +0 -7
  203. package/dist/lib/node-esm/react-surface-UEQNH6S4.mjs +0 -257
  204. package/dist/lib/node-esm/react-surface-UEQNH6S4.mjs.map +0 -7
  205. package/dist/types/src/capabilities/artifact-definition.d.ts +0 -11
  206. package/dist/types/src/capabilities/artifact-definition.d.ts.map +0 -1
  207. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  208. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  209. package/dist/types/src/capabilities/react-surface.d.ts +0 -4
  210. package/dist/types/src/capabilities/react-surface.d.ts.map +0 -1
  211. package/dist/types/src/components/KanbanContainer.d.ts +0 -7
  212. package/dist/types/src/components/KanbanContainer.d.ts.map +0 -1
  213. package/dist/types/src/components/KanbanContainer.stories.d.ts +0 -10
  214. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +0 -1
  215. package/dist/types/src/components/KanbanViewEditor.d.ts +0 -8
  216. package/dist/types/src/components/KanbanViewEditor.d.ts.map +0 -1
  217. package/dist/types/src/types/kanban.d.ts +0 -11
  218. package/dist/types/src/types/kanban.d.ts.map +0 -1
  219. package/src/capabilities/artifact-definition.ts +0 -144
  220. package/src/capabilities/intent-resolver.ts +0 -70
  221. package/src/capabilities/react-surface.tsx +0 -84
  222. package/src/components/KanbanContainer.stories.tsx +0 -189
  223. package/src/components/KanbanContainer.tsx +0 -95
  224. package/src/components/KanbanViewEditor.tsx +0 -60
  225. package/src/types/kanban.ts +0 -29
@@ -0,0 +1,210 @@
1
+ import {
2
+ __export
3
+ } from "./chunk-J5LGTIGS.mjs";
4
+
5
+ // src/types/constants.ts
6
+ var UNCATEGORIZED_VALUE = "__uncategorized__";
7
+ var UNCATEGORIZED_ATTRIBUTES = {
8
+ title: "Uncategorized",
9
+ color: "neutral"
10
+ };
11
+
12
+ // src/types/Kanban.ts
13
+ var Kanban_exports = {};
14
+ __export(Kanban_exports, {
15
+ Arrangement: () => Arrangement,
16
+ Kanban: () => Kanban,
17
+ make: () => make
18
+ });
19
+ import * as Schema from "effect/Schema";
20
+ import { Obj, Ref, Type } from "@dxos/echo";
21
+ import { View } from "@dxos/echo";
22
+ import { FormInputAnnotation, LabelAnnotation } from "@dxos/echo/internal";
23
+ import { ViewAnnotation } from "@dxos/schema";
24
+ var ArrangementColumnEntry = Schema.Struct({
25
+ ids: Schema.Array(Obj.ID),
26
+ hidden: Schema.optional(Schema.Boolean)
27
+ });
28
+ var ArrangementColumns = Schema.Record({
29
+ key: Schema.String,
30
+ value: ArrangementColumnEntry
31
+ }).pipe(FormInputAnnotation.set(false));
32
+ var Arrangement = Schema.Struct({
33
+ order: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),
34
+ columns: ArrangementColumns
35
+ }).pipe(FormInputAnnotation.set(false));
36
+ var Kanban = Schema.Struct({
37
+ name: Schema.optional(Schema.String),
38
+ view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),
39
+ /** Column display order and per-column card ids. */
40
+ arrangement: Arrangement
41
+ }).pipe(Type.object({
42
+ typename: "org.dxos.type.kanban",
43
+ version: "0.1.0"
44
+ }), LabelAnnotation.set([
45
+ "name"
46
+ ]), ViewAnnotation.set(true));
47
+ var make = (props) => {
48
+ const { name, view, arrangement } = props;
49
+ const order = arrangement?.order ?? [];
50
+ const columns = arrangement?.columns ?? {};
51
+ return Obj.make(Kanban, {
52
+ name,
53
+ view: Ref.make(view),
54
+ arrangement: {
55
+ order,
56
+ columns
57
+ }
58
+ });
59
+ };
60
+
61
+ // src/types/schema.ts
62
+ import * as Schema2 from "effect/Schema";
63
+ import { Capability } from "@dxos/app-framework";
64
+ import { View as View2 } from "@dxos/echo";
65
+ import { Operation } from "@dxos/operation";
66
+ import { TypeInputOptionsAnnotation } from "@dxos/plugin-space/types";
67
+
68
+ // src/meta.ts
69
+ import { trim } from "@dxos/util";
70
+ var meta = {
71
+ id: "org.dxos.plugin.kanban",
72
+ name: "Kanban",
73
+ description: trim`
74
+ Visual project management using customizable kanban boards to track workflow progress.
75
+ Organize table data into columns, drag and drop items between stages, and trigger automations based on status changes.
76
+ `,
77
+ icon: "ph--kanban--regular",
78
+ iconHue: "green",
79
+ source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-kanban",
80
+ screenshots: [
81
+ "https://dxos.network/plugin-details-kanban-dark.png"
82
+ ]
83
+ };
84
+
85
+ // src/types/schema.ts
86
+ var PivotColumnAnnotationId = /* @__PURE__ */ Symbol.for("@dxos/plugin-kanban/annotation/PivotColumn");
87
+ var SettingsSchema = Schema2.Struct({
88
+ columnFieldId: Schema2.String.annotations({
89
+ title: "Column field"
90
+ })
91
+ });
92
+ var CreateKanbanSchema = Schema2.Struct({
93
+ name: Schema2.optional(Schema2.String),
94
+ // TODO(wittjosiah): This should be a query input instead.
95
+ typename: Schema2.String.pipe(Schema2.annotations({
96
+ title: "Select card type"
97
+ }), TypeInputOptionsAnnotation.set({
98
+ location: [
99
+ "database",
100
+ "runtime"
101
+ ],
102
+ kind: [
103
+ "user"
104
+ ]
105
+ }), Schema2.optional),
106
+ initialPivotColumn: Schema2.optional(Schema2.String.annotations({
107
+ [PivotColumnAnnotationId]: true,
108
+ title: "Pivot column"
109
+ }))
110
+ });
111
+ var KANBAN_OPERATION = `${meta.id}.operation`;
112
+ (function(KanbanOperation2) {
113
+ KanbanOperation2.DeleteCardFieldOutput = Schema2.Struct({
114
+ field: View2.FieldSchema.annotations({
115
+ description: "The deleted field schema."
116
+ }),
117
+ props: Schema2.Any.annotations({
118
+ description: "The deleted field properties."
119
+ }),
120
+ index: Schema2.Number.annotations({
121
+ description: "The index the field was at."
122
+ })
123
+ });
124
+ KanbanOperation2.DeleteCardField = Operation.make({
125
+ meta: {
126
+ key: `${KANBAN_OPERATION}.delete-card-field`,
127
+ name: "Delete Card Field"
128
+ },
129
+ services: [
130
+ Capability.Service
131
+ ],
132
+ schema: {
133
+ input: Schema2.Struct({
134
+ view: View2.View,
135
+ fieldId: Schema2.String
136
+ }),
137
+ output: KanbanOperation2.DeleteCardFieldOutput
138
+ }
139
+ });
140
+ KanbanOperation2.DeleteCardOutput = Schema2.Struct({
141
+ card: Schema2.Any.annotations({
142
+ description: "The deleted card."
143
+ })
144
+ });
145
+ KanbanOperation2.DeleteCard = Operation.make({
146
+ meta: {
147
+ key: `${KANBAN_OPERATION}.delete-card`,
148
+ name: "Delete Card"
149
+ },
150
+ schema: {
151
+ input: Schema2.Struct({
152
+ card: Schema2.Any
153
+ }),
154
+ output: KanbanOperation2.DeleteCardOutput
155
+ }
156
+ });
157
+ KanbanOperation2.RestoreCardField = Operation.make({
158
+ meta: {
159
+ key: `${KANBAN_OPERATION}.restore-card-field`,
160
+ name: "Restore Card Field"
161
+ },
162
+ services: [
163
+ Capability.Service
164
+ ],
165
+ schema: {
166
+ input: Schema2.Struct({
167
+ view: View2.View.annotations({
168
+ description: "The view to restore the field to."
169
+ }),
170
+ field: View2.FieldSchema.annotations({
171
+ description: "The field schema to restore."
172
+ }),
173
+ props: Schema2.Any.annotations({
174
+ description: "The field properties to restore."
175
+ }),
176
+ index: Schema2.Number.annotations({
177
+ description: "The index to restore the field at."
178
+ })
179
+ }),
180
+ output: Schema2.Void
181
+ }
182
+ });
183
+ KanbanOperation2.RestoreCard = Operation.make({
184
+ meta: {
185
+ key: `${KANBAN_OPERATION}.restore-card`,
186
+ name: "Restore Card"
187
+ },
188
+ schema: {
189
+ input: Schema2.Struct({
190
+ card: Schema2.Any.annotations({
191
+ description: "The card to restore."
192
+ })
193
+ }),
194
+ output: Schema2.Void
195
+ }
196
+ });
197
+ })(KanbanOperation || (KanbanOperation = {}));
198
+ var KanbanOperation;
199
+
200
+ export {
201
+ meta,
202
+ UNCATEGORIZED_VALUE,
203
+ UNCATEGORIZED_ATTRIBUTES,
204
+ Kanban_exports,
205
+ PivotColumnAnnotationId,
206
+ SettingsSchema,
207
+ CreateKanbanSchema,
208
+ KanbanOperation
209
+ };
210
+ //# sourceMappingURL=chunk-YCJAZ27A.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types/constants.ts", "../../../src/types/Kanban.ts", "../../../src/types/schema.ts", "../../../src/meta.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport const UNCATEGORIZED_VALUE = '__uncategorized__' as const;\nexport const UNCATEGORIZED_ATTRIBUTES = {\n title: 'Uncategorized',\n color: 'neutral',\n} as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Obj, Ref, Type } from '@dxos/echo';\nimport { View } from '@dxos/echo';\nimport { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { ViewAnnotation } from '@dxos/schema';\n\n/** Per-column entry (ids order, optional hidden). */\nconst ArrangementColumnEntry = Schema.Struct({\n ids: Schema.Array(Obj.ID),\n hidden: Schema.optional(Schema.Boolean),\n});\n\n/** Keyed by columnValue. */\nconst ArrangementColumns = Schema.Record({\n key: Schema.String,\n value: ArrangementColumnEntry,\n}).pipe(FormInputAnnotation.set(false));\n\n/** Column order and per-column card ids. */\nexport const Arrangement = Schema.Struct({\n order: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),\n columns: ArrangementColumns,\n}).pipe(FormInputAnnotation.set(false));\n\nexport type Arrangement = Schema.Schema.Type<typeof Arrangement>;\n\nexport const Kanban = Schema.Struct({\n name: Schema.optional(Schema.String),\n\n view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),\n\n /** Column display order and per-column card ids. */\n arrangement: Arrangement,\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.kanban',\n version: '0.1.0',\n }),\n LabelAnnotation.set(['name']),\n ViewAnnotation.set(true),\n);\n\n/** Instance type; use Kanban.Kanban in type position so namespace has .Kanban as type and .KanbanSchema as schema. */\nexport interface Kanban extends Schema.Schema.Type<typeof Kanban> {}\n\ntype MakeProps = Omit<Partial<Obj.MakeProps<typeof Kanban>>, 'view'> & {\n view: View.View;\n};\n\n/**\n * Make a kanban as a view of a data set.\n */\nexport const make = (props: MakeProps): Kanban => {\n const { name, view, arrangement } = props;\n const order = arrangement?.order ?? [];\n const columns = arrangement?.columns ?? {};\n return Obj.make(Kanban, {\n name,\n view: Ref.make(view),\n arrangement: { order, columns },\n });\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { View } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { TypeInputOptionsAnnotation } from '@dxos/plugin-space/types';\n\nimport { meta } from '../meta';\n\n/**\n * Kanban data model.\n * A Kanban board is a collection of columns, each of which contains a collection of items.\n * The layout of columns and items is controlled by models.\n * The underlying data model may be represented by direct object relationships\n * (e.g., a column object containing an array of ordered items) or projections constructed\n * by the model (e.g., a query of items based on metadata within a column object).\n */\n\n// TODO(wittjosiah): Factor out?\nexport const PivotColumnAnnotationId = Symbol.for('@dxos/plugin-kanban/annotation/PivotColumn');\n\nexport const SettingsSchema = Schema.Struct({\n columnFieldId: Schema.String.annotations({\n title: 'Column field',\n }),\n});\n\nexport const CreateKanbanSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n // TODO(wittjosiah): This should be a query input instead.\n typename: Schema.String.pipe(\n Schema.annotations({ title: 'Select card type' }),\n TypeInputOptionsAnnotation.set({\n location: ['database', 'runtime'],\n kind: ['user'],\n }),\n Schema.optional,\n ),\n initialPivotColumn: Schema.optional(\n Schema.String.annotations({\n [PivotColumnAnnotationId]: true,\n title: 'Pivot column',\n }),\n ),\n});\n\nconst KANBAN_OPERATION = `${meta.id}.operation`;\n\nexport namespace KanbanOperation {\n export const DeleteCardFieldOutput = Schema.Struct({\n field: View.FieldSchema.annotations({ description: 'The deleted field schema.' }),\n props: Schema.Any.annotations({ description: 'The deleted field properties.' }),\n index: Schema.Number.annotations({ description: 'The index the field was at.' }),\n });\n\n export type DeleteCardFieldOutput = Schema.Schema.Type<typeof DeleteCardFieldOutput>;\n\n export const DeleteCardField = Operation.make({\n meta: { key: `${KANBAN_OPERATION}.delete-card-field`, name: 'Delete Card Field' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n view: View.View,\n fieldId: Schema.String,\n }),\n output: DeleteCardFieldOutput,\n },\n });\n\n export const DeleteCardOutput = Schema.Struct({\n card: Schema.Any.annotations({ description: 'The deleted card.' }),\n });\n\n export type DeleteCardOutput = Schema.Schema.Type<typeof DeleteCardOutput>;\n\n export const DeleteCard = Operation.make({\n meta: { key: `${KANBAN_OPERATION}.delete-card`, name: 'Delete Card' },\n schema: {\n input: Schema.Struct({\n card: Schema.Any,\n }),\n output: DeleteCardOutput,\n },\n });\n\n /**\n * Restore a deleted card field (inverse of DeleteCardField).\n */\n export const RestoreCardField = Operation.make({\n meta: { key: `${KANBAN_OPERATION}.restore-card-field`, name: 'Restore Card Field' },\n services: [Capability.Service],\n schema: {\n input: Schema.Struct({\n view: View.View.annotations({ description: 'The view to restore the field to.' }),\n field: View.FieldSchema.annotations({ description: 'The field schema to restore.' }),\n props: Schema.Any.annotations({ description: 'The field properties to restore.' }),\n index: Schema.Number.annotations({ description: 'The index to restore the field at.' }),\n }),\n output: Schema.Void,\n },\n });\n\n /**\n * Restore a deleted card (inverse of DeleteCard).\n */\n export const RestoreCard = Operation.make({\n meta: { key: `${KANBAN_OPERATION}.restore-card`, name: 'Restore Card' },\n schema: {\n input: Schema.Struct({\n card: Schema.Any.annotations({ description: 'The card to restore.' }),\n }),\n output: Schema.Void,\n },\n });\n}\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Plugin } from '@dxos/app-framework';\nimport { trim } from '@dxos/util';\n\nexport const meta: Plugin.Meta = {\n id: 'org.dxos.plugin.kanban',\n name: 'Kanban',\n description: trim`\n Visual project management using customizable kanban boards to track workflow progress.\n Organize table data into columns, drag and drop items between stages, and trigger automations based on status changes.\n `,\n icon: 'ph--kanban--regular',\n iconHue: 'green',\n source: 'https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-kanban',\n screenshots: ['https://dxos.network/plugin-details-kanban-dark.png'],\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["UNCATEGORIZED_VALUE", "UNCATEGORIZED_ATTRIBUTES", "title", "color", "Schema", "Obj", "Ref", "Type", "View", "FormInputAnnotation", "LabelAnnotation", "ViewAnnotation", "ArrangementColumnEntry", "Struct", "ids", "Array", "Obj", "ID", "hidden", "optional", "Boolean", "ArrangementColumns", "Record", "key", "String", "value", "pipe", "FormInputAnnotation", "set", "Arrangement", "order", "columns", "Kanban", "name", "view", "Ref", "View", "arrangement", "Type", "object", "typename", "version", "LabelAnnotation", "ViewAnnotation", "make", "props", "Schema", "Capability", "View", "Operation", "TypeInputOptionsAnnotation", "trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "screenshots", "PivotColumnAnnotationId", "Symbol", "for", "SettingsSchema", "Struct", "columnFieldId", "String", "annotations", "title", "CreateKanbanSchema", "name", "optional", "typename", "pipe", "TypeInputOptionsAnnotation", "set", "location", "kind", "initialPivotColumn", "KANBAN_OPERATION", "meta", "id", "KanbanOperation", "DeleteCardFieldOutput", "field", "View", "FieldSchema", "description", "props", "Any", "index", "Number", "DeleteCardField", "Operation", "make", "key", "services", "Capability", "Service", "schema", "input", "view", "fieldId", "output", "DeleteCardOutput", "card", "DeleteCard", "RestoreCardField", "Void", "RestoreCard"]
7
+ }
@@ -1,104 +1,101 @@
1
1
  import {
2
2
  CreateKanbanSchema,
3
- KANBAN_PLUGIN,
4
- KanbanAction,
3
+ Kanban_exports,
5
4
  meta
6
- } from "./chunk-MUK4JV7A.mjs";
5
+ } from "./chunk-YCJAZ27A.mjs";
6
+ import "./chunk-J5LGTIGS.mjs";
7
7
 
8
8
  // src/KanbanPlugin.tsx
9
- import { createIntent, defineModule, contributes, Capabilities, Events, definePlugin } from "@dxos/app-framework";
10
- import { ClientEvents } from "@dxos/plugin-client";
11
- import { SpaceCapabilities } from "@dxos/plugin-space";
12
- import { defineObjectForm } from "@dxos/plugin-space/types";
13
- import { KanbanView as KanbanView2, translations as kanbanTranslations } from "@dxos/react-ui-kanban";
9
+ import * as Effect from "effect/Effect";
10
+ import { Plugin } from "@dxos/app-framework";
11
+ import { AppPlugin } from "@dxos/app-toolkit";
12
+ import { Type as Type2 } from "@dxos/echo";
13
+ import { ViewModel } from "@dxos/schema";
14
14
 
15
- // src/capabilities/index.ts
16
- import { lazy } from "@dxos/app-framework";
17
- var ArtifactDefinition = lazy(() => import("./artifact-definition-NIFSAHUK.mjs"));
18
- var IntentResolver = lazy(() => import("./intent-resolver-6GPK64NB.mjs"));
19
- var ReactSurface = lazy(() => import("./react-surface-Y2GO6B24.mjs"));
15
+ // src/capabilities/blueprint-definition/index.ts
16
+ import { Capability } from "@dxos/app-framework";
17
+ var BlueprintDefinition = Capability.lazy("BlueprintDefinition", () => import("./blueprint-definition-2NNRB2ZQ.mjs"));
18
+
19
+ // src/capabilities/operation-resolver/index.ts
20
+ import { Capability as Capability2 } from "@dxos/app-framework";
21
+ var OperationResolver = Capability2.lazy("OperationResolver", () => import("./operation-resolver-ZWHXZBPF.mjs"));
22
+
23
+ // src/capabilities/react-surface/index.ts
24
+ import { Capability as Capability3 } from "@dxos/app-framework";
25
+ var ReactSurface = Capability3.lazy("ReactSurface", () => import("./react-surface-JSJYXYPF.mjs"));
20
26
 
21
27
  // src/translations.ts
22
- import { KanbanView } from "@dxos/react-ui-kanban";
28
+ import { Type } from "@dxos/echo";
23
29
  var translations = [
24
30
  {
25
31
  "en-US": {
26
- [KanbanView.typename]: {
32
+ [Type.getTypename(Kanban_exports.Kanban)]: {
27
33
  "typename label": "Kanban",
28
34
  "typename label_zero": "Kanbans",
29
35
  "typename label_one": "Kanban",
30
36
  "typename label_other": "Kanbans",
31
- "object name placeholder": "New kanban"
37
+ "object name placeholder": "New kanban",
38
+ "add object label": "Add kanban",
39
+ "rename object label": "Rename kanban",
40
+ "delete object label": "Delete kanban",
41
+ "object deleted label": "Kanban deleted"
32
42
  },
33
43
  [meta.id]: {
44
+ "action menu label": "Actions",
34
45
  "plugin name": "Kanban",
35
46
  "kanban title label": "Title",
36
47
  "column title label": "Column title",
37
48
  "column title placeholder": "New column",
38
- "item title label": "Item title",
39
- "item title placeholder": "New item",
40
49
  "add column label": "Add column",
41
- "add item label": "Add card",
50
+ "add card label": "Add card",
51
+ "new column name label": "New column name",
52
+ "remove card label": "Remove card",
53
+ "remove empty column label": "Remove empty column",
54
+ "column drag handle label": "Drag to rearrange",
42
55
  "delete column label": "Delete column",
43
- "delete item label": "Delete card",
44
56
  "card field deleted label": "Card field deleted",
45
- "card deleted label": "Card deleted"
57
+ "card deleted label": "Card deleted",
58
+ "select pivot placeholder": "Select a pivot column in board settings to display columns."
46
59
  }
47
60
  }
48
61
  }
49
62
  ];
50
63
 
51
64
  // src/KanbanPlugin.tsx
52
- var KanbanPlugin = () => definePlugin(meta, [
53
- defineModule({
54
- id: `${meta.id}/module/translations`,
55
- activatesOn: Events.SetupTranslations,
56
- activate: () => contributes(Capabilities.Translations, [
57
- ...translations,
58
- ...kanbanTranslations
59
- ])
60
- }),
61
- defineModule({
62
- id: `${meta.id}/module/metadata`,
63
- activatesOn: Events.SetupMetadata,
64
- activate: () => contributes(Capabilities.Metadata, {
65
- id: KanbanView2.typename,
66
- metadata: {
67
- icon: "ph--kanban--regular"
68
- }
69
- })
70
- }),
71
- defineModule({
72
- id: `${meta.id}/module/object-form`,
73
- activatesOn: ClientEvents.SetupSchema,
74
- activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
75
- objectSchema: KanbanView2,
76
- formSchema: CreateKanbanSchema,
77
- hidden: true,
78
- getIntent: (props, options) => createIntent(KanbanAction.Create, {
79
- ...props,
80
- space: options.space
65
+ var KanbanPlugin = Plugin.define(meta).pipe(AppPlugin.addBlueprintDefinitionModule({
66
+ activate: BlueprintDefinition
67
+ }), AppPlugin.addMetadataModule({
68
+ metadata: {
69
+ id: Type2.getTypename(Kanban_exports.Kanban),
70
+ metadata: {
71
+ icon: "ph--kanban--regular",
72
+ iconHue: "green",
73
+ inputSchema: CreateKanbanSchema,
74
+ createObject: (props, { db }) => Effect.promise(async () => {
75
+ const { view } = await ViewModel.makeFromDatabase({
76
+ db,
77
+ typename: props.typename,
78
+ pivotFieldName: props.initialPivotColumn
79
+ });
80
+ return Kanban_exports.make({
81
+ name: props.name,
82
+ view
83
+ });
81
84
  })
82
- }))
83
- }),
84
- defineModule({
85
- id: `${meta.id}/module/react-surface`,
86
- activatesOn: Events.SetupReactSurface,
87
- activate: ReactSurface
88
- }),
89
- defineModule({
90
- id: `${meta.id}/module/intent-resolver`,
91
- activatesOn: Events.SetupIntentResolver,
92
- activate: IntentResolver
93
- }),
94
- defineModule({
95
- id: `${meta.id}/module/artifact-definition`,
96
- activatesOn: Events.SetupArtifactDefinition,
97
- activate: ArtifactDefinition
98
- })
99
- ]);
85
+ }
86
+ }
87
+ }), AppPlugin.addOperationResolverModule({
88
+ activate: OperationResolver
89
+ }), AppPlugin.addSchemaModule({
90
+ schema: [
91
+ Kanban_exports.Kanban
92
+ ]
93
+ }), AppPlugin.addSurfaceModule({
94
+ activate: ReactSurface
95
+ }), AppPlugin.addTranslationsModule({
96
+ translations
97
+ }), Plugin.make);
100
98
  export {
101
- KANBAN_PLUGIN,
102
99
  KanbanPlugin,
103
100
  meta
104
101
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../src/KanbanPlugin.tsx", "../../../src/capabilities/index.ts", "../../../src/translations.ts"],
4
- "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { createIntent, defineModule, contributes, Capabilities, Events, definePlugin } from '@dxos/app-framework';\nimport { ClientEvents } from '@dxos/plugin-client';\nimport { SpaceCapabilities } from '@dxos/plugin-space';\nimport { defineObjectForm } from '@dxos/plugin-space/types';\nimport { KanbanView, translations as kanbanTranslations } from '@dxos/react-ui-kanban';\n\nimport { ArtifactDefinition, IntentResolver, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { CreateKanbanSchema, KanbanAction } from './types';\n\nexport const KanbanPlugin = () =>\n definePlugin(meta, [\n defineModule({\n id: `${meta.id}/module/translations`,\n activatesOn: Events.SetupTranslations,\n activate: () => contributes(Capabilities.Translations, [...translations, ...kanbanTranslations]),\n }),\n defineModule({\n id: `${meta.id}/module/metadata`,\n activatesOn: Events.SetupMetadata,\n activate: () =>\n contributes(Capabilities.Metadata, {\n id: KanbanView.typename,\n metadata: {\n icon: 'ph--kanban--regular',\n },\n }),\n }),\n defineModule({\n id: `${meta.id}/module/object-form`,\n activatesOn: ClientEvents.SetupSchema,\n activate: () =>\n contributes(\n SpaceCapabilities.ObjectForm,\n defineObjectForm({\n objectSchema: KanbanView,\n formSchema: CreateKanbanSchema,\n hidden: true,\n getIntent: (props, options) => createIntent(KanbanAction.Create, { ...props, space: options.space }),\n }),\n ),\n }),\n defineModule({\n id: `${meta.id}/module/react-surface`,\n activatesOn: Events.SetupReactSurface,\n activate: ReactSurface,\n }),\n defineModule({\n id: `${meta.id}/module/intent-resolver`,\n activatesOn: Events.SetupIntentResolver,\n activate: IntentResolver,\n }),\n defineModule({\n id: `${meta.id}/module/artifact-definition`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: ArtifactDefinition,\n }),\n ]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const ArtifactDefinition = lazy(() => import('./artifact-definition'));\nexport const IntentResolver = lazy(() => import('./intent-resolver'));\nexport const ReactSurface = lazy(() => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\nimport { KanbanView } from '@dxos/react-ui-kanban';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [KanbanView.typename]: {\n 'typename label': 'Kanban',\n 'typename label_zero': 'Kanbans',\n 'typename label_one': 'Kanban',\n 'typename label_other': 'Kanbans',\n 'object name placeholder': 'New kanban',\n },\n [meta.id]: {\n 'plugin name': 'Kanban',\n 'kanban title label': 'Title',\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 'card field deleted label': 'Card field deleted',\n 'card deleted label': 'Card deleted',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
- "mappings": ";;;;;;;;AAIA,SAASA,cAAcC,cAAcC,aAAaC,cAAcC,QAAQC,oBAAoB;AAC5F,SAASC,oBAAoB;AAC7B,SAASC,yBAAyB;AAClC,SAASC,wBAAwB;AACjC,SAASC,cAAAA,aAAYC,gBAAgBC,0BAA0B;;;ACJ/D,SAASC,YAAY;AAEd,IAAMC,qBAAqBC,KAAK,MAAM,OAAO,oCAAA,CAAA;AAC7C,IAAMC,iBAAiBD,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAME,eAAeF,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACH9C,SAASG,kBAAkB;AAIpB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,WAAWC,QAAQ,GAAG;QACrB,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;MAC7B;MACA,CAACC,KAAKC,EAAE,GAAG;QACT,eAAe;QACf,sBAAsB;QACtB,sBAAsB;QACtB,4BAA4B;QAC5B,oBAAoB;QACpB,0BAA0B;QAC1B,oBAAoB;QACpB,kBAAkB;QAClB,uBAAuB;QACvB,qBAAqB;QACrB,4BAA4B;QAC5B,sBAAsB;MACxB;IACF;EACF;;;;AFnBK,IAAMC,eAAe,MAC1BC,aAAaC,MAAM;EACjBC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOC;IACpBC,UAAU,MAAMC,YAAYC,aAAaC,cAAc;SAAIC;SAAiBC;KAAmB;EACjG,CAAA;EACAV,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOQ;IACpBN,UAAU,MACRC,YAAYC,aAAaK,UAAU;MACjCX,IAAIY,YAAWC;MACfC,UAAU;QACRC,MAAM;MACR;IACF,CAAA;EACJ,CAAA;EACAhB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAae,aAAaC;IAC1Bb,UAAU,MACRC,YACEa,kBAAkBC,YAClBC,iBAAiB;MACfC,cAAcT;MACdU,YAAYC;MACZC,QAAQ;MACRC,WAAW,CAACC,OAAOC,YAAYC,aAAaC,aAAaC,QAAQ;QAAE,GAAGJ;QAAOK,OAAOJ,QAAQI;MAAM,CAAA;IACpG,CAAA,CAAA;EAEN,CAAA;EACAhC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAO8B;IACpB5B,UAAU6B;EACZ,CAAA;EACAlC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOgC;IACpB9B,UAAU+B;EACZ,CAAA;EACApC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOkC;IACpBhC,UAAUiC;EACZ,CAAA;CACD;",
6
- "names": ["createIntent", "defineModule", "contributes", "Capabilities", "Events", "definePlugin", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "KanbanView", "translations", "kanbanTranslations", "lazy", "ArtifactDefinition", "lazy", "IntentResolver", "ReactSurface", "KanbanView", "translations", "KanbanView", "typename", "meta", "id", "KanbanPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "kanbanTranslations", "SetupMetadata", "Metadata", "KanbanView", "typename", "metadata", "icon", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "CreateKanbanSchema", "hidden", "getIntent", "props", "options", "createIntent", "KanbanAction", "Create", "space", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupArtifactDefinition", "ArtifactDefinition"]
3
+ "sources": ["../../../src/KanbanPlugin.tsx", "../../../src/capabilities/blueprint-definition/index.ts", "../../../src/capabilities/operation-resolver/index.ts", "../../../src/capabilities/react-surface/index.ts", "../../../src/translations.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Type } from '@dxos/echo';\nimport { type CreateObject } from '@dxos/plugin-space/types';\nimport { ViewModel } from '@dxos/schema';\n\nimport { BlueprintDefinition, OperationResolver, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { CreateKanbanSchema, Kanban } from './types';\n\nexport const KanbanPlugin = Plugin.define(meta).pipe(\n AppPlugin.addBlueprintDefinitionModule({ activate: BlueprintDefinition }),\n AppPlugin.addMetadataModule({\n metadata: {\n id: Type.getTypename(Kanban.Kanban),\n metadata: {\n icon: 'ph--kanban--regular',\n iconHue: 'green',\n inputSchema: CreateKanbanSchema,\n createObject: ((props, { db }) =>\n Effect.promise(async () => {\n const { view } = await ViewModel.makeFromDatabase({\n db,\n typename: props.typename,\n pivotFieldName: props.initialPivotColumn,\n });\n return Kanban.make({ name: props.name, view });\n })) satisfies CreateObject,\n },\n },\n }),\n AppPlugin.addOperationResolverModule({ activate: OperationResolver }),\n AppPlugin.addSchemaModule({ schema: [Kanban.Kanban] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const BlueprintDefinition = Capability.lazy('BlueprintDefinition', () => import('./blueprint-definition'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const OperationResolver = Capability.lazy('OperationResolver', () => import('./operation-resolver'));\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capability } from '@dxos/app-framework';\n\nexport const ReactSurface = Capability.lazy('ReactSurface', () => import('./react-surface'));\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { Type } from '@dxos/echo';\nimport { type Resource } from '@dxos/react-ui';\n\nimport { meta } from './meta';\nimport { Kanban } from './types';\n\nexport const translations = [\n {\n 'en-US': {\n [Type.getTypename(Kanban.Kanban)]: {\n 'typename label': 'Kanban',\n 'typename label_zero': 'Kanbans',\n 'typename label_one': 'Kanban',\n 'typename label_other': 'Kanbans',\n 'object name placeholder': 'New kanban',\n 'add object label': 'Add kanban',\n 'rename object label': 'Rename kanban',\n 'delete object label': 'Delete kanban',\n 'object deleted label': 'Kanban deleted',\n },\n [meta.id]: {\n 'action menu label': 'Actions',\n 'plugin name': 'Kanban',\n 'kanban title label': 'Title',\n 'column title label': 'Column title',\n 'column title placeholder': 'New column',\n 'add column label': 'Add column',\n 'add card label': 'Add card',\n 'new column name label': 'New column name',\n 'remove card label': 'Remove card',\n 'remove empty column label': 'Remove empty column',\n 'column drag handle label': 'Drag to rearrange',\n 'delete column label': 'Delete column',\n 'card field deleted label': 'Card field deleted',\n 'card deleted label': 'Card deleted',\n 'select pivot placeholder': 'Select a pivot column in board settings to display columns.',\n },\n },\n },\n] as const satisfies Resource[];\n"],
5
+ "mappings": ";;;;;;;;AAIA,YAAYA,YAAY;AAExB,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,QAAAA,aAAY;AAErB,SAASC,iBAAiB;;;ACN1B,SAASC,kBAAkB;AAEpB,IAAMC,sBAAsBC,WAAWC,KAAK,uBAAuB,MAAM,OAAO,qCAAA,CAAA;;;ACFvF,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,oBAAoBC,YAAWC,KAAK,qBAAqB,MAAM,OAAO,mCAAA,CAAA;;;ACFnF,SAASC,cAAAA,mBAAkB;AAEpB,IAAMC,eAAeC,YAAWC,KAAK,gBAAgB,MAAM,OAAO,8BAAA,CAAA;;;ACFzE,SAASC,YAAY;AAMd,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,YAAYC,eAAOA,MAAM,CAAA,GAAI;QACjC,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,oBAAoB;QACpB,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;MAC1B;MACA,CAACC,KAAKC,EAAE,GAAG;QACT,qBAAqB;QACrB,eAAe;QACf,sBAAsB;QACtB,sBAAsB;QACtB,4BAA4B;QAC5B,oBAAoB;QACpB,kBAAkB;QAClB,yBAAyB;QACzB,qBAAqB;QACrB,6BAA6B;QAC7B,4BAA4B;QAC5B,uBAAuB;QACvB,4BAA4B;QAC5B,sBAAsB;QACtB,4BAA4B;MAC9B;IACF;EACF;;;;AJzBK,IAAMC,eAAeC,OAAOC,OAAOC,IAAAA,EAAMC,KAC9CC,UAAUC,6BAA6B;EAAEC,UAAUC;AAAoB,CAAA,GACvEH,UAAUI,kBAAkB;EAC1BC,UAAU;IACRC,IAAIC,MAAKC,YAAYC,eAAOA,MAAM;IAClCJ,UAAU;MACRK,MAAM;MACNC,SAAS;MACTC,aAAaC;MACbC,cAAe,CAACC,OAAO,EAAEC,GAAE,MAClBC,eAAQ,YAAA;AACb,cAAM,EAAEC,KAAI,IAAK,MAAMC,UAAUC,iBAAiB;UAChDJ;UACAK,UAAUN,MAAMM;UAChBC,gBAAgBP,MAAMQ;QACxB,CAAA;AACA,eAAOd,eAAOe,KAAK;UAAEC,MAAMV,MAAMU;UAAMP;QAAK,CAAA;MAC9C,CAAA;IACJ;EACF;AACF,CAAA,GACAlB,UAAU0B,2BAA2B;EAAExB,UAAUyB;AAAkB,CAAA,GACnE3B,UAAU4B,gBAAgB;EAAEC,QAAQ;IAACpB,eAAOA;;AAAQ,CAAA,GACpDT,UAAU8B,iBAAiB;EAAE5B,UAAU6B;AAAa,CAAA,GACpD/B,UAAUgC,sBAAsB;EAAEC;AAAa,CAAA,GAC/CrC,OAAO4B,IAAI;",
6
+ "names": ["Effect", "Plugin", "AppPlugin", "Type", "ViewModel", "Capability", "BlueprintDefinition", "Capability", "lazy", "Capability", "OperationResolver", "Capability", "lazy", "Capability", "ReactSurface", "Capability", "lazy", "Type", "translations", "Type", "getTypename", "Kanban", "meta", "id", "KanbanPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addBlueprintDefinitionModule", "activate", "BlueprintDefinition", "addMetadataModule", "metadata", "id", "Type", "getTypename", "Kanban", "icon", "iconHue", "inputSchema", "CreateKanbanSchema", "createObject", "props", "db", "promise", "view", "ViewModel", "makeFromDatabase", "typename", "pivotFieldName", "initialPivotColumn", "make", "name", "addOperationResolverModule", "OperationResolver", "addSchemaModule", "schema", "addSurfaceModule", "ReactSurface", "addTranslationsModule", "translations"]
7
7
  }