@dxos/plugin-kanban 0.8.4-main.ae835ea → 0.8.4-main.bcb3aa67d6

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 (219) hide show
  1. package/dist/lib/browser/blueprints/index.mjs +27 -0
  2. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-A3PBV3S5.mjs +105 -0
  4. package/dist/lib/browser/chunk-A3PBV3S5.mjs.map +7 -0
  5. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  6. package/dist/lib/browser/chunk-J5LGTIGS.mjs.map +7 -0
  7. package/dist/lib/browser/delete-card-VPNVIWOA.mjs +32 -0
  8. package/dist/lib/browser/delete-card-VPNVIWOA.mjs.map +7 -0
  9. package/dist/lib/browser/delete-card-field-4HHF2GYX.mjs +50 -0
  10. package/dist/lib/browser/delete-card-field-4HHF2GYX.mjs.map +7 -0
  11. package/dist/lib/browser/index.mjs +101 -85
  12. package/dist/lib/browser/index.mjs.map +4 -4
  13. package/dist/lib/browser/meta.json +1 -1
  14. package/dist/lib/browser/operations/index.mjs +13 -0
  15. package/dist/lib/browser/operations/index.mjs.map +7 -0
  16. package/dist/lib/browser/restore-card-4GG2RYKR.mjs +29 -0
  17. package/dist/lib/browser/restore-card-4GG2RYKR.mjs.map +7 -0
  18. package/dist/lib/browser/restore-card-field-3T26ACYX.mjs +48 -0
  19. package/dist/lib/browser/restore-card-field-3T26ACYX.mjs.map +7 -0
  20. package/dist/lib/browser/types/index.mjs +95 -6
  21. package/dist/lib/browser/types/index.mjs.map +4 -4
  22. package/dist/lib/node-esm/blueprints/index.mjs +28 -0
  23. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  24. package/dist/lib/node-esm/chunk-6LELYA2G.mjs +106 -0
  25. package/dist/lib/node-esm/chunk-6LELYA2G.mjs.map +7 -0
  26. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  27. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs.map +7 -0
  28. package/dist/lib/node-esm/delete-card-5PW5OMFN.mjs +33 -0
  29. package/dist/lib/node-esm/delete-card-5PW5OMFN.mjs.map +7 -0
  30. package/dist/lib/node-esm/delete-card-field-KPJU2AQ3.mjs +51 -0
  31. package/dist/lib/node-esm/delete-card-field-KPJU2AQ3.mjs.map +7 -0
  32. package/dist/lib/node-esm/index.mjs +101 -85
  33. package/dist/lib/node-esm/index.mjs.map +4 -4
  34. package/dist/lib/node-esm/meta.json +1 -1
  35. package/dist/lib/node-esm/operations/index.mjs +14 -0
  36. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  37. package/dist/lib/node-esm/restore-card-X2TKMU5A.mjs +30 -0
  38. package/dist/lib/node-esm/restore-card-X2TKMU5A.mjs.map +7 -0
  39. package/dist/lib/node-esm/restore-card-field-IUTL4RTR.mjs +49 -0
  40. package/dist/lib/node-esm/restore-card-field-IUTL4RTR.mjs.map +7 -0
  41. package/dist/lib/node-esm/types/index.mjs +95 -6
  42. package/dist/lib/node-esm/types/index.mjs.map +4 -4
  43. package/dist/types/src/KanbanPlugin.d.ts +2 -1
  44. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  45. package/dist/types/src/blueprints/index.d.ts +2 -0
  46. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  47. package/dist/types/src/blueprints/kanban-blueprint.d.ts +4 -0
  48. package/dist/types/src/blueprints/kanban-blueprint.d.ts.map +1 -0
  49. package/dist/types/src/capabilities/artifact-definition.d.ts +3 -2
  50. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  51. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
  52. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  53. package/dist/types/src/capabilities/index.d.ts +6 -3
  54. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  55. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  56. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  57. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  58. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  59. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  60. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  61. package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts +65 -0
  62. package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts.map +1 -0
  63. package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts +72 -0
  64. package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts.map +1 -0
  65. package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts +10 -0
  66. package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts.map +1 -0
  67. package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts +9 -0
  68. package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts.map +1 -0
  69. package/dist/types/src/components/KanbanBoard/index.d.ts +2 -0
  70. package/dist/types/src/components/KanbanBoard/index.d.ts.map +1 -0
  71. package/dist/types/src/components/index.d.ts +1 -2
  72. package/dist/types/src/components/index.d.ts.map +1 -1
  73. package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts +6 -0
  74. package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts.map +1 -0
  75. package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts +79 -0
  76. package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts.map +1 -0
  77. package/dist/types/src/containers/KanbanContainer/index.d.ts +3 -0
  78. package/dist/types/src/containers/KanbanContainer/index.d.ts.map +1 -0
  79. package/dist/types/src/containers/KanbanViewEditor/KanbanViewEditor.d.ts +6 -0
  80. package/dist/types/src/containers/KanbanViewEditor/KanbanViewEditor.d.ts.map +1 -0
  81. package/dist/types/src/containers/KanbanViewEditor/index.d.ts +3 -0
  82. package/dist/types/src/containers/KanbanViewEditor/index.d.ts.map +1 -0
  83. package/dist/types/src/containers/index.d.ts +4 -0
  84. package/dist/types/src/containers/index.d.ts.map +1 -0
  85. package/dist/types/src/hooks/index.d.ts +6 -0
  86. package/dist/types/src/hooks/index.d.ts.map +1 -0
  87. package/dist/types/src/hooks/useEchoChangeCallback.d.ts +13 -0
  88. package/dist/types/src/hooks/useEchoChangeCallback.d.ts.map +1 -0
  89. package/dist/types/src/hooks/useKanbanBoardModel.d.ts +16 -0
  90. package/dist/types/src/hooks/useKanbanBoardModel.d.ts.map +1 -0
  91. package/dist/types/src/hooks/useKanbanBoardModel.test.d.ts +2 -0
  92. package/dist/types/src/hooks/useKanbanBoardModel.test.d.ts.map +1 -0
  93. package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts +22 -0
  94. package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts.map +1 -0
  95. package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts +19 -0
  96. package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts.map +1 -0
  97. package/dist/types/src/hooks/useProjectionModel.d.ts +15 -0
  98. package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -0
  99. package/dist/types/src/meta.d.ts +2 -2
  100. package/dist/types/src/meta.d.ts.map +1 -1
  101. package/dist/types/src/operations/definitions.d.ts +52 -0
  102. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  103. package/dist/types/src/operations/delete-card-field.d.ts +5 -0
  104. package/dist/types/src/operations/delete-card-field.d.ts.map +1 -0
  105. package/dist/types/src/operations/delete-card.d.ts +5 -0
  106. package/dist/types/src/operations/delete-card.d.ts.map +1 -0
  107. package/dist/types/src/operations/index.d.ts +4 -0
  108. package/dist/types/src/operations/index.d.ts.map +1 -0
  109. package/dist/types/src/operations/restore-card-field.d.ts +5 -0
  110. package/dist/types/src/operations/restore-card-field.d.ts.map +1 -0
  111. package/dist/types/src/operations/restore-card.d.ts +5 -0
  112. package/dist/types/src/operations/restore-card.d.ts.map +1 -0
  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 +7 -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 +50 -22
  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 -0
  130. package/dist/types/src/types/index.d.ts.map +1 -1
  131. package/dist/types/src/types/schema.d.ts +3 -51
  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 +84 -46
  143. package/src/KanbanPlugin.tsx +49 -56
  144. package/src/blueprints/index.ts +5 -0
  145. package/src/blueprints/kanban-blueprint.ts +28 -0
  146. package/src/capabilities/artifact-definition.ts +115 -112
  147. package/src/capabilities/blueprint-definition.ts +11 -24
  148. package/src/capabilities/index.ts +9 -4
  149. package/src/capabilities/operation-handler.ts +14 -0
  150. package/src/capabilities/react-surface.tsx +70 -68
  151. package/src/capabilities/undo-mappings.ts +34 -0
  152. package/src/components/KanbanBoard/KanbanBoard.stories.tsx +142 -0
  153. package/src/components/KanbanBoard/KanbanBoard.tsx +193 -0
  154. package/src/components/KanbanBoard/KanbanCard.tsx +86 -0
  155. package/src/components/KanbanBoard/KanbanColumn.tsx +69 -0
  156. package/src/components/KanbanBoard/index.ts +5 -0
  157. package/src/components/index.ts +1 -2
  158. package/src/containers/KanbanContainer/KanbanContainer.stories.tsx +269 -0
  159. package/src/containers/KanbanContainer/KanbanContainer.tsx +96 -0
  160. package/src/containers/KanbanContainer/index.ts +7 -0
  161. package/src/containers/KanbanViewEditor/KanbanViewEditor.tsx +63 -0
  162. package/src/containers/KanbanViewEditor/index.ts +7 -0
  163. package/src/containers/index.ts +8 -0
  164. package/src/hooks/index.ts +9 -0
  165. package/src/hooks/useEchoChangeCallback.ts +30 -0
  166. package/src/hooks/useKanbanBoardModel.test.ts +235 -0
  167. package/src/hooks/useKanbanBoardModel.ts +143 -0
  168. package/src/hooks/useKanbanColumnEventHandler.ts +106 -0
  169. package/src/hooks/useKanbanItemEventHandler.ts +133 -0
  170. package/src/hooks/useProjectionModel.ts +58 -0
  171. package/src/meta.ts +3 -3
  172. package/src/operations/definitions.ts +63 -0
  173. package/src/operations/delete-card-field.ts +47 -0
  174. package/src/operations/delete-card.ts +23 -0
  175. package/src/operations/index.ts +12 -0
  176. package/src/operations/restore-card-field.ts +41 -0
  177. package/src/operations/restore-card.ts +21 -0
  178. package/src/playwright/board-manager.ts +13 -0
  179. package/src/playwright/playwright.config.ts +19 -0
  180. package/src/playwright/smoke.spec.ts +107 -0
  181. package/src/testing/KanbanCardTileSimple.tsx +82 -0
  182. package/src/testing/index.ts +5 -0
  183. package/src/translations.ts +28 -20
  184. package/src/types/Kanban.ts +71 -0
  185. package/src/types/constants.ts +9 -0
  186. package/src/types/index.ts +2 -0
  187. package/src/types/schema.ts +14 -44
  188. package/src/types/types.ts +35 -0
  189. package/src/util/arrangement.test.ts +208 -0
  190. package/src/util/arrangement.ts +167 -0
  191. package/src/util/index.ts +5 -0
  192. package/dist/lib/browser/blueprint-definition-UYVX622Q.mjs +0 -28
  193. package/dist/lib/browser/blueprint-definition-UYVX622Q.mjs.map +0 -7
  194. package/dist/lib/browser/chunk-3UDST345.mjs +0 -85
  195. package/dist/lib/browser/chunk-3UDST345.mjs.map +0 -7
  196. package/dist/lib/browser/intent-resolver-VVBNS2TO.mjs +0 -111
  197. package/dist/lib/browser/intent-resolver-VVBNS2TO.mjs.map +0 -7
  198. package/dist/lib/browser/react-surface-FNXJ6VJX.mjs +0 -255
  199. package/dist/lib/browser/react-surface-FNXJ6VJX.mjs.map +0 -7
  200. package/dist/lib/node-esm/blueprint-definition-42P47FUY.mjs +0 -30
  201. package/dist/lib/node-esm/blueprint-definition-42P47FUY.mjs.map +0 -7
  202. package/dist/lib/node-esm/chunk-JBOARUAT.mjs +0 -87
  203. package/dist/lib/node-esm/chunk-JBOARUAT.mjs.map +0 -7
  204. package/dist/lib/node-esm/intent-resolver-ACN7UALP.mjs +0 -112
  205. package/dist/lib/node-esm/intent-resolver-ACN7UALP.mjs.map +0 -7
  206. package/dist/lib/node-esm/react-surface-ZHYHCV5N.mjs +0 -256
  207. package/dist/lib/node-esm/react-surface-ZHYHCV5N.mjs.map +0 -7
  208. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  209. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  210. package/dist/types/src/components/KanbanContainer.d.ts +0 -7
  211. package/dist/types/src/components/KanbanContainer.d.ts.map +0 -1
  212. package/dist/types/src/components/KanbanContainer.stories.d.ts +0 -41
  213. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +0 -1
  214. package/dist/types/src/components/KanbanViewEditor.d.ts +0 -8
  215. package/dist/types/src/components/KanbanViewEditor.d.ts.map +0 -1
  216. package/src/capabilities/intent-resolver.ts +0 -71
  217. package/src/components/KanbanContainer.stories.tsx +0 -193
  218. package/src/components/KanbanContainer.tsx +0 -95
  219. package/src/components/KanbanViewEditor.tsx +0 -64
@@ -0,0 +1,27 @@
1
+ import "../chunk-J5LGTIGS.mjs";
2
+
3
+ // src/blueprints/kanban-blueprint.ts
4
+ import { Blueprint, Template } from "@dxos/blueprints";
5
+ import { trim } from "@dxos/util";
6
+ var BLUEPRINT_KEY = "org.dxos.blueprint.kanban";
7
+ var make = () => Blueprint.make({
8
+ key: BLUEPRINT_KEY,
9
+ name: "Kanban",
10
+ tools: Blueprint.toolDefinitions({
11
+ tools: []
12
+ }),
13
+ instructions: Template.make({
14
+ source: trim`
15
+ You can create and update kanban boards to show data in sorted columns defined by schema.
16
+ `
17
+ })
18
+ });
19
+ var blueprint = {
20
+ key: BLUEPRINT_KEY,
21
+ make
22
+ };
23
+ var kanban_blueprint_default = blueprint;
24
+ export {
25
+ kanban_blueprint_default as KanbanBlueprint
26
+ };
27
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/blueprints/kanban-blueprint.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { type AppCapabilities } from '@dxos/app-toolkit';\nimport { Blueprint, Template } from '@dxos/blueprints';\nimport { trim } from '@dxos/util';\n\nconst BLUEPRINT_KEY = 'org.dxos.blueprint.kanban';\n\nconst make = () =>\n Blueprint.make({\n key: BLUEPRINT_KEY,\n name: 'Kanban',\n tools: Blueprint.toolDefinitions({ tools: [] }),\n instructions: Template.make({\n source: trim`\n You can create and update kanban boards to show data in sorted columns defined by schema.\n `,\n }),\n });\n\nconst blueprint: AppCapabilities.BlueprintDefinition = {\n key: BLUEPRINT_KEY,\n make,\n};\n\nexport default blueprint;\n"],
5
+ "mappings": ";;;AAKA,SAASA,WAAWC,gBAAgB;AACpC,SAASC,YAAY;AAErB,IAAMC,gBAAgB;AAEtB,IAAMC,OAAO,MACXC,UAAUD,KAAK;EACbE,KAAKH;EACLI,MAAM;EACNC,OAAOH,UAAUI,gBAAgB;IAAED,OAAO,CAAA;EAAG,CAAA;EAC7CE,cAAcC,SAASP,KAAK;IAC1BQ,QAAQC;;;EAGV,CAAA;AACF,CAAA;AAEF,IAAMC,YAAiD;EACrDR,KAAKH;EACLC;AACF;AAEA,IAAA,2BAAeU;",
6
+ "names": ["Blueprint", "Template", "trim", "BLUEPRINT_KEY", "make", "Blueprint", "key", "name", "tools", "toolDefinitions", "instructions", "Template", "source", "trim", "blueprint"]
7
+ }
@@ -0,0 +1,105 @@
1
+ import {
2
+ __export
3
+ } from "./chunk-J5LGTIGS.mjs";
4
+
5
+ // src/operations/definitions.ts
6
+ var definitions_exports = {};
7
+ __export(definitions_exports, {
8
+ DeleteCard: () => DeleteCard,
9
+ DeleteCardField: () => DeleteCardField,
10
+ DeleteCardFieldOutput: () => DeleteCardFieldOutput,
11
+ DeleteCardOutput: () => DeleteCardOutput,
12
+ RestoreCard: () => RestoreCard,
13
+ RestoreCardField: () => RestoreCardField
14
+ });
15
+ import * as Schema from "effect/Schema";
16
+ import { Capability } from "@dxos/app-framework";
17
+ import { View } from "@dxos/echo";
18
+ import { Operation } from "@dxos/operation";
19
+ import { meta } from "#meta";
20
+ var KANBAN_OPERATION = `${meta.id}.operation`;
21
+ var DeleteCardFieldOutput = Schema.Struct({
22
+ field: View.FieldSchema.annotations({
23
+ description: "The deleted field schema."
24
+ }),
25
+ props: Schema.Any.annotations({
26
+ description: "The deleted field properties."
27
+ }),
28
+ index: Schema.Number.annotations({
29
+ description: "The index the field was at."
30
+ })
31
+ });
32
+ var DeleteCardField = Operation.make({
33
+ meta: {
34
+ key: `${KANBAN_OPERATION}.delete-card-field`,
35
+ name: "Delete Card Field"
36
+ },
37
+ services: [
38
+ Capability.Service
39
+ ],
40
+ input: Schema.Struct({
41
+ view: View.View,
42
+ fieldId: Schema.String
43
+ }),
44
+ output: DeleteCardFieldOutput
45
+ });
46
+ var DeleteCardOutput = Schema.Struct({
47
+ card: Schema.Any.annotations({
48
+ description: "The deleted card."
49
+ })
50
+ });
51
+ var DeleteCard = Operation.make({
52
+ meta: {
53
+ key: `${KANBAN_OPERATION}.delete-card`,
54
+ name: "Delete Card"
55
+ },
56
+ input: Schema.Struct({
57
+ card: Schema.Any
58
+ }),
59
+ output: DeleteCardOutput
60
+ });
61
+ var RestoreCardField = Operation.make({
62
+ meta: {
63
+ key: `${KANBAN_OPERATION}.restore-card-field`,
64
+ name: "Restore Card Field"
65
+ },
66
+ services: [
67
+ Capability.Service
68
+ ],
69
+ input: Schema.Struct({
70
+ view: View.View.annotations({
71
+ description: "The view to restore the field to."
72
+ }),
73
+ field: View.FieldSchema.annotations({
74
+ description: "The field schema to restore."
75
+ }),
76
+ props: Schema.Any.annotations({
77
+ description: "The field properties to restore."
78
+ }),
79
+ index: Schema.Number.annotations({
80
+ description: "The index to restore the field at."
81
+ })
82
+ }),
83
+ output: Schema.Void
84
+ });
85
+ var RestoreCard = Operation.make({
86
+ meta: {
87
+ key: `${KANBAN_OPERATION}.restore-card`,
88
+ name: "Restore Card"
89
+ },
90
+ input: Schema.Struct({
91
+ card: Schema.Any.annotations({
92
+ description: "The card to restore."
93
+ })
94
+ }),
95
+ output: Schema.Void
96
+ });
97
+
98
+ export {
99
+ DeleteCardField,
100
+ DeleteCard,
101
+ RestoreCardField,
102
+ RestoreCard,
103
+ definitions_exports
104
+ };
105
+ //# sourceMappingURL=chunk-A3PBV3S5.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/definitions.ts"],
4
+ "sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Schema from 'effect/Schema';\n\nimport { Capability } from '@dxos/app-framework';\nimport { View } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\n\nimport { meta } from '#meta';\n\nconst KANBAN_OPERATION = `${meta.id}.operation`;\n\nexport 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\nexport type DeleteCardFieldOutput = Schema.Schema.Type<typeof DeleteCardFieldOutput>;\n\nexport const DeleteCardField = Operation.make({\n meta: { key: `${KANBAN_OPERATION}.delete-card-field`, name: 'Delete Card Field' },\n services: [Capability.Service],\n input: Schema.Struct({\n view: View.View,\n fieldId: Schema.String,\n }),\n output: DeleteCardFieldOutput,\n});\n\nexport const DeleteCardOutput = Schema.Struct({\n card: Schema.Any.annotations({ description: 'The deleted card.' }),\n});\n\nexport type DeleteCardOutput = Schema.Schema.Type<typeof DeleteCardOutput>;\n\nexport const DeleteCard = Operation.make({\n meta: { key: `${KANBAN_OPERATION}.delete-card`, name: 'Delete Card' },\n input: Schema.Struct({\n card: Schema.Any,\n }),\n output: DeleteCardOutput,\n});\n\nexport const RestoreCardField = Operation.make({\n meta: { key: `${KANBAN_OPERATION}.restore-card-field`, name: 'Restore Card Field' },\n services: [Capability.Service],\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\nexport const RestoreCard = Operation.make({\n meta: { key: `${KANBAN_OPERATION}.restore-card`, name: 'Restore Card' },\n input: Schema.Struct({\n card: Schema.Any.annotations({ description: 'The card to restore.' }),\n }),\n output: Schema.Void,\n});\n"],
5
+ "mappings": ";;;;;AAAA;;;;;;;;;AAEA,YAAYA,YAAY;AAExB,SAASC,kBAAkB;AAC3B,SAASC,YAAY;AACrB,SAASC,iBAAiB;AAE1B,SAASC,YAAY;AAErB,IAAMC,mBAAmB,GAAGC,KAAKC,EAAE;AAE5B,IAAMC,wBAA+BC,cAAO;EACjDC,OAAOC,KAAKC,YAAYC,YAAY;IAAEC,aAAa;EAA4B,CAAA;EAC/EC,OAAcC,WAAIH,YAAY;IAAEC,aAAa;EAAgC,CAAA;EAC7EG,OAAcC,cAAOL,YAAY;IAAEC,aAAa;EAA8B,CAAA;AAChF,CAAA;AAIO,IAAMK,kBAAkBC,UAAUC,KAAK;EAC5Cf,MAAM;IAAEgB,KAAK,GAAGjB,gBAAAA;IAAsCkB,MAAM;EAAoB;EAChFC,UAAU;IAACC,WAAWC;;EACtBC,OAAclB,cAAO;IACnBmB,MAAMjB,KAAKA;IACXkB,SAAgBC;EAClB,CAAA;EACAC,QAAQvB;AACV,CAAA;AAEO,IAAMwB,mBAA0BvB,cAAO;EAC5CwB,MAAajB,WAAIH,YAAY;IAAEC,aAAa;EAAoB,CAAA;AAClE,CAAA;AAIO,IAAMoB,aAAad,UAAUC,KAAK;EACvCf,MAAM;IAAEgB,KAAK,GAAGjB,gBAAAA;IAAgCkB,MAAM;EAAc;EACpEI,OAAclB,cAAO;IACnBwB,MAAajB;EACf,CAAA;EACAe,QAAQC;AACV,CAAA;AAEO,IAAMG,mBAAmBf,UAAUC,KAAK;EAC7Cf,MAAM;IAAEgB,KAAK,GAAGjB,gBAAAA;IAAuCkB,MAAM;EAAqB;EAClFC,UAAU;IAACC,WAAWC;;EACtBC,OAAclB,cAAO;IACnBmB,MAAMjB,KAAKA,KAAKE,YAAY;MAAEC,aAAa;IAAoC,CAAA;IAC/EJ,OAAOC,KAAKC,YAAYC,YAAY;MAAEC,aAAa;IAA+B,CAAA;IAClFC,OAAcC,WAAIH,YAAY;MAAEC,aAAa;IAAmC,CAAA;IAChFG,OAAcC,cAAOL,YAAY;MAAEC,aAAa;IAAqC,CAAA;EACvF,CAAA;EACAiB,QAAeK;AACjB,CAAA;AAEO,IAAMC,cAAcjB,UAAUC,KAAK;EACxCf,MAAM;IAAEgB,KAAK,GAAGjB,gBAAAA;IAAiCkB,MAAM;EAAe;EACtEI,OAAclB,cAAO;IACnBwB,MAAajB,WAAIH,YAAY;MAAEC,aAAa;IAAuB,CAAA;EACrE,CAAA;EACAiB,QAAeK;AACjB,CAAA;",
6
+ "names": ["Schema", "Capability", "View", "Operation", "meta", "KANBAN_OPERATION", "meta", "id", "DeleteCardFieldOutput", "Struct", "field", "View", "FieldSchema", "annotations", "description", "props", "Any", "index", "Number", "DeleteCardField", "Operation", "make", "key", "name", "services", "Capability", "Service", "input", "view", "fieldId", "String", "output", "DeleteCardOutput", "card", "DeleteCard", "RestoreCardField", "Void", "RestoreCard"]
7
+ }
@@ -0,0 +1,10 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __export = (target, all) => {
3
+ for (var name in all)
4
+ __defProp(target, name, { get: all[name], enumerable: true });
5
+ };
6
+
7
+ export {
8
+ __export
9
+ };
10
+ //# sourceMappingURL=chunk-J5LGTIGS.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
@@ -0,0 +1,32 @@
1
+ import {
2
+ DeleteCard
3
+ } from "./chunk-A3PBV3S5.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/operations/delete-card.ts
7
+ import * as Effect from "effect/Effect";
8
+ import { Obj } from "@dxos/echo";
9
+ import { invariant } from "@dxos/invariant";
10
+ import { Operation } from "@dxos/operation";
11
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-kanban/src/operations/delete-card.ts";
12
+ var handler = DeleteCard.pipe(Operation.withHandler(({ card }) => Effect.sync(() => {
13
+ const db = Obj.getDatabase(card);
14
+ invariant(db, void 0, {
15
+ F: __dxlog_file,
16
+ L: 15,
17
+ S: void 0,
18
+ A: [
19
+ "db",
20
+ ""
21
+ ]
22
+ });
23
+ db.remove(card);
24
+ return {
25
+ card
26
+ };
27
+ })));
28
+ var delete_card_default = handler;
29
+ export {
30
+ delete_card_default as default
31
+ };
32
+ //# sourceMappingURL=delete-card-VPNVIWOA.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/delete-card.ts"],
4
+ "sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Effect from 'effect/Effect';\n\nimport { Obj } from '@dxos/echo';\nimport { invariant } from '@dxos/invariant';\nimport { Operation } from '@dxos/operation';\n\nimport { DeleteCard } from './definitions';\n\nconst handler: Operation.WithHandler<typeof DeleteCard> = DeleteCard.pipe(\n Operation.withHandler(({ card }) =>\n Effect.sync(() => {\n const db = Obj.getDatabase(card);\n invariant(db);\n db.remove(card);\n\n return { card };\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;AAEA,YAAYA,YAAY;AAExB,SAASC,WAAW;AACpB,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;;AAI1B,IAAMC,UAAoDC,WAAWC,KACnEC,UAAUC,YAAY,CAAC,EAAEC,KAAI,MACpBC,YAAK,MAAA;AACV,QAAMC,KAAKC,IAAIC,YAAYJ,IAAAA;AAC3BK,YAAUH,IAAAA,QAAAA;;;;;;;;;AACVA,KAAGI,OAAON,IAAAA;AAEV,SAAO;IAAEA;EAAK;AAChB,CAAA,CAAA,CAAA;AAIJ,IAAA,sBAAeL;",
6
+ "names": ["Effect", "Obj", "invariant", "Operation", "handler", "DeleteCard", "pipe", "Operation", "withHandler", "card", "sync", "db", "Obj", "getDatabase", "invariant", "remove"]
7
+ }
@@ -0,0 +1,50 @@
1
+ import {
2
+ DeleteCardField
3
+ } from "./chunk-A3PBV3S5.mjs";
4
+ import "./chunk-J5LGTIGS.mjs";
5
+
6
+ // src/operations/delete-card-field.ts
7
+ import * as Effect from "effect/Effect";
8
+ import { Capabilities, Capability } from "@dxos/app-framework";
9
+ import { JsonSchema, Obj } from "@dxos/echo";
10
+ import { invariant } from "@dxos/invariant";
11
+ import { Operation } from "@dxos/operation";
12
+ import { ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from "@dxos/schema";
13
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-kanban/src/operations/delete-card-field.ts";
14
+ var handler = DeleteCardField.pipe(Operation.withHandler(Effect.fnUntraced(function* ({ view, fieldId }) {
15
+ const registry = yield* Capability.get(Capabilities.AtomRegistry);
16
+ const db = Obj.getDatabase(view);
17
+ invariant(db, "Database not found", {
18
+ F: __dxlog_file,
19
+ L: 19,
20
+ S: this,
21
+ A: [
22
+ "db",
23
+ "'Database not found'"
24
+ ]
25
+ });
26
+ const schema = yield* Effect.promise(() => db.schemaRegistry.query({
27
+ typename: getTypenameFromQuery(view.query.ast),
28
+ location: [
29
+ "database",
30
+ "runtime"
31
+ ]
32
+ }).first());
33
+ const projection = new ProjectionModel({
34
+ registry,
35
+ view,
36
+ baseSchema: JsonSchema.toJsonSchema(schema),
37
+ change: createEchoChangeCallback(view, schema)
38
+ });
39
+ const result = projection.deleteFieldProjection(fieldId);
40
+ return {
41
+ field: result.deleted.field,
42
+ props: result.deleted.props,
43
+ index: result.index
44
+ };
45
+ })));
46
+ var delete_card_field_default = handler;
47
+ export {
48
+ delete_card_field_default as default
49
+ };
50
+ //# sourceMappingURL=delete-card-field-4HHF2GYX.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/operations/delete-card-field.ts"],
4
+ "sourcesContent": ["// Copyright 2025 DXOS.org\n\nimport * as Effect from 'effect/Effect';\n\nimport { Capabilities, Capability } from '@dxos/app-framework';\nimport { JsonSchema, Obj } from '@dxos/echo';\nimport { type EchoSchema } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { Operation } from '@dxos/operation';\nimport { ProjectionModel, createEchoChangeCallback, getTypenameFromQuery } from '@dxos/schema';\n\nimport { DeleteCardField } from './definitions';\n\nconst handler: Operation.WithHandler<typeof DeleteCardField> = DeleteCardField.pipe(\n Operation.withHandler(\n 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 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 {\n field: result.deleted.field,\n props: result.deleted.props,\n index: result.index,\n };\n }),\n ),\n);\n\nexport default handler;\n"],
5
+ "mappings": ";;;;;;AAEA,YAAYA,YAAY;AAExB,SAASC,cAAcC,kBAAkB;AACzC,SAASC,YAAYC,WAAW;AAEhC,SAASC,iBAAiB;AAC1B,SAASC,iBAAiB;AAC1B,SAASC,iBAAiBC,0BAA0BC,4BAA4B;;AAIhF,IAAMC,UAAyDC,gBAAgBC,KAC7EC,UAAUC,YACDC,kBAAW,WAAW,EAAEC,MAAMC,QAAO,GAAE;AAC5C,QAAMC,WAAW,OAAOC,WAAWC,IAAIC,aAAaC,YAAY;AAChE,QAAMC,KAAKC,IAAIC,YAAYT,IAAAA;AAC3BU,YAAUH,IAAI,sBAAA;;;;;;;;;AACd,QAAMI,SAAS,OAAcC,eAAQ,MACnCL,GAAGM,eACAC,MAAM;IACLC,UAAUC,qBAAqBhB,KAAKc,MAAMG,GAAG;IAC7CC,UAAU;MAAC;MAAY;;EACzB,CAAA,EACCC,MAAK,CAAA;AAGV,QAAMC,aAAa,IAAIC,gBAAgB;IACrCnB;IACAF;IACAsB,YAAYC,WAAWC,aAAab,MAAAA;IACpCc,QAAQC,yBAAyB1B,MAAMW,MAAAA;EACzC,CAAA;AAEA,QAAMgB,SAASP,WAAWQ,sBAAsB3B,OAAAA;AAEhD,SAAO;IACL4B,OAAOF,OAAOG,QAAQD;IACtBE,OAAOJ,OAAOG,QAAQC;IACtBC,OAAOL,OAAOK;EAChB;AACF,CAAA,CAAA,CAAA;AAIJ,IAAA,4BAAetC;",
6
+ "names": ["Effect", "Capabilities", "Capability", "JsonSchema", "Obj", "invariant", "Operation", "ProjectionModel", "createEchoChangeCallback", "getTypenameFromQuery", "handler", "DeleteCardField", "pipe", "Operation", "withHandler", "fnUntraced", "view", "fieldId", "registry", "Capability", "get", "Capabilities", "AtomRegistry", "db", "Obj", "getDatabase", "invariant", "schema", "promise", "schemaRegistry", "query", "typename", "getTypenameFromQuery", "ast", "location", "first", "projection", "ProjectionModel", "baseSchema", "JsonSchema", "toJsonSchema", "change", "createEchoChangeCallback", "result", "deleteFieldProjection", "field", "deleted", "props", "index"]
7
+ }
@@ -1,103 +1,119 @@
1
- import {
2
- CreateKanbanSchema,
3
- KanbanAction,
4
- meta
5
- } from "./chunk-3UDST345.mjs";
1
+ import "./chunk-J5LGTIGS.mjs";
6
2
 
7
- // src/KanbanPlugin.tsx
8
- import { Capabilities, Events, contributes, createIntent, defineModule, definePlugin } from "@dxos/app-framework";
9
- import { ClientEvents } from "@dxos/plugin-client";
10
- import { SpaceCapabilities } from "@dxos/plugin-space";
11
- import { defineObjectForm } from "@dxos/plugin-space/types";
12
- import { translations as kanbanTranslations } from "@dxos/react-ui-kanban";
13
- import { Kanban as Kanban2 } from "@dxos/react-ui-kanban/types";
3
+ // src/meta.ts
4
+ import { trim } from "@dxos/util";
5
+ var meta = {
6
+ id: "org.dxos.plugin.kanban",
7
+ name: "Kanban",
8
+ description: trim`
9
+ Visual project management using customizable kanban boards to track workflow progress.
10
+ Organize table data into columns, drag and drop items between stages, and trigger automations based on status changes.
11
+ `,
12
+ icon: "ph--kanban--regular",
13
+ iconHue: "green",
14
+ source: "https://github.com/dxos/dxos/tree/main/packages/plugins/plugin-kanban",
15
+ screenshots: [
16
+ "https://dxos.network/plugin-details-kanban-dark.png"
17
+ ]
18
+ };
14
19
 
15
- // src/capabilities/index.ts
16
- import { lazy } from "@dxos/app-framework";
17
- var BlueprintDefinition = lazy(() => import("./blueprint-definition-UYVX622Q.mjs"));
18
- var IntentResolver = lazy(() => import("./intent-resolver-VVBNS2TO.mjs"));
19
- var ReactSurface = lazy(() => import("./react-surface-FNXJ6VJX.mjs"));
20
+ // src/KanbanPlugin.tsx
21
+ import * as Effect from "effect/Effect";
22
+ import * as Option from "effect/Option";
23
+ import { Plugin } from "@dxos/app-framework";
24
+ import { AppPlugin } from "@dxos/app-toolkit";
25
+ import { Annotation, Type as Type2 } from "@dxos/echo";
26
+ import { Operation } from "@dxos/operation";
27
+ import { SpaceOperation } from "@dxos/plugin-space/operations";
28
+ import { ViewModel } from "@dxos/schema";
29
+ import { meta as meta3 } from "#meta";
20
30
 
21
31
  // src/translations.ts
22
- import { Kanban } from "@dxos/react-ui-kanban/types";
32
+ import { Type } from "@dxos/echo";
33
+ import { meta as meta2 } from "#meta";
34
+ import { Kanban } from "#types";
23
35
  var translations = [
24
36
  {
25
37
  "en-US": {
26
- [Kanban.Kanban.typename]: {
27
- "typename label": "Kanban",
28
- "typename label_zero": "Kanbans",
29
- "typename label_one": "Kanban",
30
- "typename label_other": "Kanbans",
31
- "object name placeholder": "New kanban"
38
+ [Type.getTypename(Kanban.Kanban)]: {
39
+ "typename.label": "Kanban",
40
+ "typename.label_zero": "Kanbans",
41
+ "typename.label_one": "Kanban",
42
+ "typename.label_other": "Kanbans",
43
+ "object-name.placeholder": "New kanban",
44
+ "add-object.label": "Add kanban",
45
+ "rename-object.label": "Rename kanban",
46
+ "delete-object.label": "Delete kanban",
47
+ "object-deleted.label": "Kanban deleted"
32
48
  },
33
- [meta.id]: {
34
- "plugin name": "Kanban",
35
- "kanban title label": "Title",
36
- "column title label": "Column title",
37
- "column title placeholder": "New column",
38
- "item title label": "Item title",
39
- "item title placeholder": "New item",
40
- "add column label": "Add column",
41
- "add item label": "Add card",
42
- "delete column label": "Delete column",
43
- "delete item label": "Delete card",
44
- "card field deleted label": "Card field deleted",
45
- "card deleted label": "Card deleted"
49
+ [meta2.id]: {
50
+ "action-menu.label": "Actions",
51
+ "plugin.name": "Kanban",
52
+ "kanban-title.label": "Title",
53
+ "column-title.label": "Column title",
54
+ "column-title.placeholder": "New column",
55
+ "add-column.label": "Add column",
56
+ "add-card.label": "Add card",
57
+ "new-column-name.label": "New column name",
58
+ "remove-card.label": "Remove card",
59
+ "remove-empty-column.label": "Remove empty column",
60
+ "column-drag-handle.label": "Drag to rearrange",
61
+ "delete-column.label": "Delete column",
62
+ "card-field-deleted.label": "Card field deleted",
63
+ "card-deleted.label": "Card deleted",
64
+ "select-pivot.placeholder": "Select a pivot column in board settings to display columns."
46
65
  }
47
66
  }
48
67
  }
49
68
  ];
50
69
 
51
70
  // 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: Kanban2.Kanban.typename,
66
- metadata: {
67
- icon: "ph--kanban--regular",
68
- iconHue: "green"
69
- }
70
- })
71
- }),
72
- defineModule({
73
- id: `${meta.id}/module/object-form`,
74
- activatesOn: ClientEvents.SetupSchema,
75
- activate: () => contributes(SpaceCapabilities.ObjectForm, defineObjectForm({
76
- objectSchema: Kanban2.Kanban,
77
- formSchema: CreateKanbanSchema,
78
- hidden: true,
79
- getIntent: (props, options) => createIntent(KanbanAction.Create, {
80
- ...props,
81
- space: options.space
71
+ import { CreateKanbanSchema, Kanban as Kanban2 } from "#types";
72
+ import { BlueprintDefinition, OperationHandler, UndoMappings, ReactSurface } from "#capabilities";
73
+ var KanbanPlugin = Plugin.define(meta3).pipe(AppPlugin.addBlueprintDefinitionModule({
74
+ activate: BlueprintDefinition
75
+ }), AppPlugin.addMetadataModule({
76
+ metadata: {
77
+ id: Type2.getTypename(Kanban2.Kanban),
78
+ metadata: {
79
+ icon: Annotation.IconAnnotation.get(Kanban2.Kanban).pipe(Option.getOrThrow).icon,
80
+ iconHue: Annotation.IconAnnotation.get(Kanban2.Kanban).pipe(Option.getOrThrow).hue ?? "white",
81
+ inputSchema: CreateKanbanSchema,
82
+ createObject: (props, options) => Effect.gen(function* () {
83
+ const object = yield* Effect.promise(async () => {
84
+ const { view } = await ViewModel.makeFromDatabase({
85
+ db: options.db,
86
+ typename: props.typename,
87
+ pivotFieldName: props.initialPivotColumn
88
+ });
89
+ return Kanban2.make({
90
+ name: props.name,
91
+ view
92
+ });
93
+ });
94
+ return yield* Operation.invoke(SpaceOperation.AddObject, {
95
+ object,
96
+ target: options.target,
97
+ hidden: true,
98
+ targetNodeId: options.targetNodeId
99
+ });
82
100
  })
83
- }))
84
- }),
85
- defineModule({
86
- id: `${meta.id}/module/react-surface`,
87
- activatesOn: Events.SetupReactSurface,
88
- activate: ReactSurface
89
- }),
90
- defineModule({
91
- id: `${meta.id}/module/intent-resolver`,
92
- activatesOn: Events.SetupIntentResolver,
93
- activate: IntentResolver
94
- }),
95
- defineModule({
96
- id: `${meta.id}/module/blueprint`,
97
- activatesOn: Events.SetupArtifactDefinition,
98
- activate: BlueprintDefinition
99
- })
100
- ]);
101
+ }
102
+ }
103
+ }), AppPlugin.addOperationHandlerModule({
104
+ activate: OperationHandler
105
+ }), AppPlugin.addOperationHandlerModule({
106
+ id: "undo-mappings",
107
+ activate: UndoMappings
108
+ }), AppPlugin.addSchemaModule({
109
+ schema: [
110
+ Kanban2.Kanban
111
+ ]
112
+ }), AppPlugin.addSurfaceModule({
113
+ activate: ReactSurface
114
+ }), AppPlugin.addTranslationsModule({
115
+ translations
116
+ }), Plugin.make);
101
117
  export {
102
118
  KanbanPlugin,
103
119
  meta
@@ -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 { Capabilities, Events, contributes, createIntent, defineModule, 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 { translations as kanbanTranslations } from '@dxos/react-ui-kanban';\nimport { Kanban } from '@dxos/react-ui-kanban/types';\n\nimport { BlueprintDefinition, IntentResolver, ReactSurface } from './capabilities';\nimport { meta } from './meta';\nimport { translations } from './translations';\nimport { CreateKanbanSchema, KanbanAction } from './types';\n\nexport const KanbanPlugin = 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: Kanban.Kanban.typename,\n metadata: {\n icon: 'ph--kanban--regular',\n iconHue: 'green',\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: Kanban.Kanban,\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/blueprint`,\n activatesOn: Events.SetupArtifactDefinition,\n activate: BlueprintDefinition,\n }),\n]);\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport { lazy } from '@dxos/app-framework';\n\nexport const BlueprintDefinition = lazy(() => import('./blueprint-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 { Kanban } from '@dxos/react-ui-kanban/types';\n\nimport { meta } from './meta';\n\nexport const translations = [\n {\n 'en-US': {\n [Kanban.Kanban.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,QAAQC,aAAaC,cAAcC,cAAcC,oBAAoB;AAC5F,SAASC,oBAAoB;AAC7B,SAASC,yBAAyB;AAClC,SAASC,wBAAwB;AACjC,SAASC,gBAAgBC,0BAA0B;AACnD,SAASC,UAAAA,eAAc;;;ACLvB,SAASC,YAAY;AAEd,IAAMC,sBAAsBC,KAAK,MAAM,OAAO,qCAAA,CAAA;AAC9C,IAAMC,iBAAiBD,KAAK,MAAM,OAAO,gCAAA,CAAA;AACzC,IAAME,eAAeF,KAAK,MAAM,OAAO,8BAAA,CAAA;;;ACH9C,SAASG,cAAc;AAIhB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,OAAOA,OAAOC,QAAQ,GAAG;QACxB,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;;;;AFlBK,IAAMC,eAAeC,aAAaC,MAAM,MAAM;EACnDC,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,QAAOA,OAAOC;MAClBC,UAAU;QACRC,MAAM;QACNC,SAAS;MACX;IACF,CAAA;EACJ,CAAA;EACAjB,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAagB,aAAaC;IAC1Bd,UAAU,MACRC,YACEc,kBAAkBC,YAClBC,iBAAiB;MACfC,cAAcV,QAAOA;MACrBW,YAAYC;MACZC,QAAQ;MACRC,WAAW,CAACC,OAAOC,YAAYC,aAAaC,aAAaC,QAAQ;QAAE,GAAGJ;QAAOK,OAAOJ,QAAQI;MAAM,CAAA;IACpG,CAAA,CAAA;EAEN,CAAA;EACAjC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAO+B;IACpB7B,UAAU8B;EACZ,CAAA;EACAnC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOiC;IACpB/B,UAAUgC;EACZ,CAAA;EACArC,aAAa;IACXC,IAAI,GAAGF,KAAKE,EAAE;IACdC,aAAaC,OAAOmC;IACpBjC,UAAUkC;EACZ,CAAA;CACD;",
6
- "names": ["Capabilities", "Events", "contributes", "createIntent", "defineModule", "definePlugin", "ClientEvents", "SpaceCapabilities", "defineObjectForm", "translations", "kanbanTranslations", "Kanban", "lazy", "BlueprintDefinition", "lazy", "IntentResolver", "ReactSurface", "Kanban", "translations", "Kanban", "typename", "meta", "id", "KanbanPlugin", "definePlugin", "meta", "defineModule", "id", "activatesOn", "Events", "SetupTranslations", "activate", "contributes", "Capabilities", "Translations", "translations", "kanbanTranslations", "SetupMetadata", "Metadata", "Kanban", "typename", "metadata", "icon", "iconHue", "ClientEvents", "SetupSchema", "SpaceCapabilities", "ObjectForm", "defineObjectForm", "objectSchema", "formSchema", "CreateKanbanSchema", "hidden", "getIntent", "props", "options", "createIntent", "KanbanAction", "Create", "space", "SetupReactSurface", "ReactSurface", "SetupIntentResolver", "IntentResolver", "SetupArtifactDefinition", "BlueprintDefinition"]
3
+ "sources": ["../../../src/meta.ts", "../../../src/KanbanPlugin.tsx", "../../../src/translations.ts"],
4
+ "sourcesContent": ["//\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", "//\n// Copyright 2023 DXOS.org\n//\n\nimport * as Effect from 'effect/Effect';\nimport * as Option from 'effect/Option';\n\nimport { Plugin } from '@dxos/app-framework';\nimport { AppPlugin } from '@dxos/app-toolkit';\nimport { Annotation, Type } from '@dxos/echo';\nimport { Operation } from '@dxos/operation';\nimport { type CreateObject } from '@dxos/plugin-space/types';\nimport { SpaceOperation } from '@dxos/plugin-space/operations';\nimport { ViewModel } from '@dxos/schema';\n\nimport { meta } from '#meta';\nimport { translations } from './translations';\nimport { CreateKanbanSchema, Kanban } from '#types';\n\nimport { BlueprintDefinition, OperationHandler, UndoMappings, ReactSurface } from '#capabilities';\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: Annotation.IconAnnotation.get(Kanban.Kanban).pipe(Option.getOrThrow).icon,\n iconHue: Annotation.IconAnnotation.get(Kanban.Kanban).pipe(Option.getOrThrow).hue ?? 'white',\n inputSchema: CreateKanbanSchema,\n createObject: ((props, options) =>\n Effect.gen(function* () {\n const object = yield* Effect.promise(async () => {\n const { view } = await ViewModel.makeFromDatabase({\n db: options.db,\n typename: props.typename,\n pivotFieldName: props.initialPivotColumn,\n });\n return Kanban.make({ name: props.name, view });\n });\n return yield* Operation.invoke(SpaceOperation.AddObject, {\n object,\n target: options.target,\n hidden: true,\n targetNodeId: options.targetNodeId,\n });\n })) satisfies CreateObject,\n },\n },\n }),\n AppPlugin.addOperationHandlerModule({ activate: OperationHandler }),\n AppPlugin.addOperationHandlerModule({ id: 'undo-mappings', activate: UndoMappings }),\n AppPlugin.addSchemaModule({ schema: [Kanban.Kanban] }),\n AppPlugin.addSurfaceModule({ activate: ReactSurface }),\n AppPlugin.addTranslationsModule({ translations }),\n Plugin.make,\n);\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": ";;;AAKA,SAASA,YAAY;AAEd,IAAMC,OAAoB;EAC/BC,IAAI;EACJC,MAAM;EACNC,aAAaC;;;;EAIbC,MAAM;EACNC,SAAS;EACTC,QAAQ;EACRC,aAAa;IAAC;;AAChB;;;ACdA,YAAYC,YAAY;AACxB,YAAYC,YAAY;AAExB,SAASC,cAAc;AACvB,SAASC,iBAAiB;AAC1B,SAASC,YAAYC,QAAAA,aAAY;AACjC,SAASC,iBAAiB;AAE1B,SAASC,sBAAsB;AAC/B,SAASC,iBAAiB;AAE1B,SAASC,QAAAA,aAAY;;;ACXrB,SAASC,YAAY;AAGrB,SAASC,QAAAA,aAAY;AACrB,SAASC,cAAc;AAEhB,IAAMC,eAAe;EAC1B;IACE,SAAS;MACP,CAACC,KAAKC,YAAYC,OAAOA,MAAM,CAAA,GAAI;QACjC,kBAAkB;QAClB,uBAAuB;QACvB,sBAAsB;QACtB,wBAAwB;QACxB,2BAA2B;QAC3B,oBAAoB;QACpB,uBAAuB;QACvB,uBAAuB;QACvB,wBAAwB;MAC1B;MACA,CAACC,MAAKC,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;;;;ADzBF,SAASC,oBAAoBC,UAAAA,eAAc;AAE3C,SAASC,qBAAqBC,kBAAkBC,cAAcC,oBAAoB;AAE3E,IAAMC,eAAeC,OAAOC,OAAOC,KAAAA,EAAMC,KAC9CC,UAAUC,6BAA6B;EAAEC,UAAUC;AAAoB,CAAA,GACvEH,UAAUI,kBAAkB;EAC1BC,UAAU;IACRC,IAAIC,MAAKC,YAAYC,QAAOA,MAAM;IAClCJ,UAAU;MACRK,MAAMC,WAAWC,eAAeC,IAAIJ,QAAOA,MAAM,EAAEV,KAAYe,iBAAU,EAAEJ;MAC3EK,SAASJ,WAAWC,eAAeC,IAAIJ,QAAOA,MAAM,EAAEV,KAAYe,iBAAU,EAAEE,OAAO;MACrFC,aAAaC;MACbC,cAAe,CAACC,OAAOC,YACdC,WAAI,aAAA;AACT,cAAMC,SAAS,OAAcC,eAAQ,YAAA;AACnC,gBAAM,EAAEC,KAAI,IAAK,MAAMC,UAAUC,iBAAiB;YAChDC,IAAIP,QAAQO;YACZC,UAAUT,MAAMS;YAChBC,gBAAgBV,MAAMW;UACxB,CAAA;AACA,iBAAOtB,QAAOuB,KAAK;YAAEC,MAAMb,MAAMa;YAAMR;UAAK,CAAA;QAC9C,CAAA;AACA,eAAO,OAAOS,UAAUC,OAAOC,eAAeC,WAAW;UACvDd;UACAe,QAAQjB,QAAQiB;UAChBC,QAAQ;UACRC,cAAcnB,QAAQmB;QACxB,CAAA;MACF,CAAA;IACJ;EACF;AACF,CAAA,GACAxC,UAAUyC,0BAA0B;EAAEvC,UAAUwC;AAAiB,CAAA,GACjE1C,UAAUyC,0BAA0B;EAAEnC,IAAI;EAAiBJ,UAAUyC;AAAa,CAAA,GAClF3C,UAAU4C,gBAAgB;EAAEC,QAAQ;IAACpC,QAAOA;;AAAQ,CAAA,GACpDT,UAAU8C,iBAAiB;EAAE5C,UAAU6C;AAAa,CAAA,GACpD/C,UAAUgD,sBAAsB;EAAEC;AAAa,CAAA,GAC/CrD,OAAOoC,IAAI;",
6
+ "names": ["trim", "meta", "id", "name", "description", "trim", "icon", "iconHue", "source", "screenshots", "Effect", "Option", "Plugin", "AppPlugin", "Annotation", "Type", "Operation", "SpaceOperation", "ViewModel", "meta", "Type", "meta", "Kanban", "translations", "Type", "getTypename", "Kanban", "meta", "id", "CreateKanbanSchema", "Kanban", "BlueprintDefinition", "OperationHandler", "UndoMappings", "ReactSurface", "KanbanPlugin", "Plugin", "define", "meta", "pipe", "AppPlugin", "addBlueprintDefinitionModule", "activate", "BlueprintDefinition", "addMetadataModule", "metadata", "id", "Type", "getTypename", "Kanban", "icon", "Annotation", "IconAnnotation", "get", "getOrThrow", "iconHue", "hue", "inputSchema", "CreateKanbanSchema", "createObject", "props", "options", "gen", "object", "promise", "view", "ViewModel", "makeFromDatabase", "db", "typename", "pivotFieldName", "initialPivotColumn", "make", "name", "Operation", "invoke", "SpaceOperation", "AddObject", "target", "hidden", "targetNodeId", "addOperationHandlerModule", "OperationHandler", "UndoMappings", "addSchemaModule", "schema", "addSurfaceModule", "ReactSurface", "addTranslationsModule", "translations"]
7
7
  }