@dxos/plugin-kanban 0.8.4-main.5ea62a8 → 0.8.4-main.66e292d

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 (60) hide show
  1. package/dist/lib/browser/{blueprint-definition-GFG7LX2C.mjs → blueprint-definition-UYVX622Q.mjs} +3 -3
  2. package/dist/lib/browser/{blueprint-definition-GFG7LX2C.mjs.map → blueprint-definition-UYVX622Q.mjs.map} +1 -1
  3. package/dist/lib/browser/{chunk-NCNNL74W.mjs → chunk-B7EZTXV2.mjs} +35 -16
  4. package/dist/lib/browser/chunk-B7EZTXV2.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +25 -28
  6. package/dist/lib/browser/index.mjs.map +3 -3
  7. package/dist/lib/browser/{intent-resolver-2IYZ7TZE.mjs → intent-resolver-ANBDVEJ2.mjs} +18 -15
  8. package/dist/lib/browser/intent-resolver-ANBDVEJ2.mjs.map +7 -0
  9. package/dist/lib/browser/meta.json +1 -1
  10. package/dist/lib/browser/{react-surface-XRHHQ4OI.mjs → react-surface-7ONRKYBB.mjs} +63 -76
  11. package/dist/lib/browser/react-surface-7ONRKYBB.mjs.map +7 -0
  12. package/dist/lib/browser/types/index.mjs +5 -3
  13. package/dist/lib/node-esm/{blueprint-definition-MIMDXMUM.mjs → blueprint-definition-42P47FUY.mjs} +3 -3
  14. package/dist/lib/node-esm/{blueprint-definition-MIMDXMUM.mjs.map → blueprint-definition-42P47FUY.mjs.map} +1 -1
  15. package/dist/lib/node-esm/{chunk-5B3LKGA7.mjs → chunk-WBN5YQGD.mjs} +35 -16
  16. package/dist/lib/node-esm/chunk-WBN5YQGD.mjs.map +7 -0
  17. package/dist/lib/node-esm/index.mjs +25 -28
  18. package/dist/lib/node-esm/index.mjs.map +3 -3
  19. package/dist/lib/node-esm/{intent-resolver-T7CEL6EN.mjs → intent-resolver-X4UZDRI7.mjs} +18 -15
  20. package/dist/lib/node-esm/intent-resolver-X4UZDRI7.mjs.map +7 -0
  21. package/dist/lib/node-esm/meta.json +1 -1
  22. package/dist/lib/node-esm/{react-surface-BTB5JAKG.mjs → react-surface-D7XTGTZL.mjs} +63 -76
  23. package/dist/lib/node-esm/react-surface-D7XTGTZL.mjs.map +7 -0
  24. package/dist/lib/node-esm/types/index.mjs +5 -3
  25. package/dist/types/src/KanbanPlugin.d.ts +1 -1
  26. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  27. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  28. package/dist/types/src/capabilities/blueprint-definition.d.ts +1 -1
  29. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  30. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  31. package/dist/types/src/components/KanbanContainer.d.ts +3 -3
  32. package/dist/types/src/components/KanbanContainer.d.ts.map +1 -1
  33. package/dist/types/src/components/KanbanContainer.stories.d.ts +23 -10
  34. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +1 -1
  35. package/dist/types/src/components/KanbanViewEditor.d.ts +3 -3
  36. package/dist/types/src/components/KanbanViewEditor.d.ts.map +1 -1
  37. package/dist/types/src/meta.d.ts +0 -1
  38. package/dist/types/src/meta.d.ts.map +1 -1
  39. package/dist/types/src/translations.d.ts +21 -9
  40. package/dist/types/src/translations.d.ts.map +1 -1
  41. package/dist/types/src/types/schema.d.ts +14 -43
  42. package/dist/types/src/types/schema.d.ts.map +1 -1
  43. package/dist/types/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +41 -41
  45. package/src/KanbanPlugin.tsx +45 -51
  46. package/src/capabilities/artifact-definition.ts +9 -8
  47. package/src/capabilities/intent-resolver.ts +8 -13
  48. package/src/capabilities/react-surface.tsx +19 -20
  49. package/src/components/KanbanContainer.stories.tsx +41 -53
  50. package/src/components/KanbanContainer.tsx +14 -27
  51. package/src/components/KanbanViewEditor.tsx +18 -19
  52. package/src/meta.ts +7 -5
  53. package/src/translations.ts +5 -5
  54. package/src/types/schema.ts +22 -10
  55. package/dist/lib/browser/chunk-NCNNL74W.mjs.map +0 -7
  56. package/dist/lib/browser/intent-resolver-2IYZ7TZE.mjs.map +0 -7
  57. package/dist/lib/browser/react-surface-XRHHQ4OI.mjs.map +0 -7
  58. package/dist/lib/node-esm/chunk-5B3LKGA7.mjs.map +0 -7
  59. package/dist/lib/node-esm/intent-resolver-T7CEL6EN.mjs.map +0 -7
  60. package/dist/lib/node-esm/react-surface-BTB5JAKG.mjs.map +0 -7
@@ -1,8 +1,8 @@
1
1
  import { createRequire } from 'node:module';const require = createRequire(import.meta.url);
2
2
  import {
3
- KANBAN_PLUGIN,
4
- KanbanAction
5
- } from "./chunk-5B3LKGA7.mjs";
3
+ KanbanAction,
4
+ meta
5
+ } from "./chunk-WBN5YQGD.mjs";
6
6
 
7
7
  // src/capabilities/intent-resolver.ts
8
8
  import { Capabilities, contributes, createResolver } from "@dxos/app-framework";
@@ -10,23 +10,26 @@ import { invariant } from "@dxos/invariant";
10
10
  import { ClientCapabilities } from "@dxos/plugin-client";
11
11
  import { getSpace } from "@dxos/react-client/echo";
12
12
  import { Kanban } from "@dxos/react-ui-kanban/types";
13
- import { ProjectionModel } from "@dxos/schema";
13
+ import { ProjectionModel, View, getTypenameFromQuery } from "@dxos/schema";
14
14
  var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts";
15
- var intent_resolver_default = (context) => contributes(Capabilities.IntentResolver, [
15
+ var intent_resolver_default = ((context) => contributes(Capabilities.IntentResolver, [
16
16
  createResolver({
17
17
  intent: KanbanAction.Create,
18
18
  resolve: async ({ space, name, typename, initialPivotColumn }) => {
19
19
  const client = context.getCapability(ClientCapabilities.Client);
20
- const { view } = await Kanban.makeView({
20
+ const { view } = await View.makeFromSpace({
21
21
  client,
22
22
  space,
23
- name,
24
23
  typename,
25
24
  pivotFieldName: initialPivotColumn
26
25
  });
26
+ const kanban = Kanban.make({
27
+ name,
28
+ view
29
+ });
27
30
  return {
28
31
  data: {
29
- object: view
32
+ object: kanban
30
33
  }
31
34
  };
32
35
  }
@@ -34,10 +37,10 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
34
37
  createResolver({
35
38
  intent: KanbanAction.DeleteCardField,
36
39
  resolve: async ({ view, fieldId, deletionData }, undo) => {
37
- const schema = getSpace(view)?.db.schemaRegistry.getSchema(view.query.typename);
40
+ const schema = getSpace(view)?.db.schemaRegistry.getSchema(getTypenameFromQuery(view.query.ast));
38
41
  invariant(schema, void 0, {
39
42
  F: __dxlog_file,
40
- L: 35,
43
+ L: 30,
41
44
  S: void 0,
42
45
  A: [
43
46
  "schema",
@@ -52,7 +55,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
52
55
  message: [
53
56
  "card field deleted label",
54
57
  {
55
- ns: KANBAN_PLUGIN
58
+ ns: meta.id
56
59
  }
57
60
  ],
58
61
  data: {
@@ -78,7 +81,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
78
81
  const space = getSpace(card);
79
82
  invariant(space, void 0, {
80
83
  F: __dxlog_file,
81
- L: 56,
84
+ L: 51,
82
85
  S: void 0,
83
86
  A: [
84
87
  "space",
@@ -92,7 +95,7 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
92
95
  message: [
93
96
  "card deleted label",
94
97
  {
95
- ns: KANBAN_PLUGIN
98
+ ns: meta.id
96
99
  }
97
100
  ],
98
101
  data: {
@@ -105,8 +108,8 @@ var intent_resolver_default = (context) => contributes(Capabilities.IntentResolv
105
108
  }
106
109
  }
107
110
  })
108
- ]);
111
+ ]));
109
112
  export {
110
113
  intent_resolver_default as default
111
114
  };
112
- //# sourceMappingURL=intent-resolver-T7CEL6EN.mjs.map
115
+ //# sourceMappingURL=intent-resolver-X4UZDRI7.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes, createResolver } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Kanban } from '@dxos/react-ui-kanban/types';\nimport { ProjectionModel, View, getTypenameFromQuery } from '@dxos/schema';\n\nimport { meta } from '../meta';\nimport { KanbanAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: KanbanAction.Create,\n resolve: async ({ space, name, typename, initialPivotColumn }) => {\n const client = context.getCapability(ClientCapabilities.Client);\n const { view } = await View.makeFromSpace({ client, space, typename, pivotFieldName: initialPivotColumn });\n const kanban = Kanban.make({ name, view });\n return { data: { object: kanban } };\n },\n }),\n createResolver({\n intent: KanbanAction.DeleteCardField,\n resolve: async ({ view, fieldId, deletionData }, undo) => {\n const schema = getSpace(view)?.db.schemaRegistry.getSchema(getTypenameFromQuery(view.query.ast)!);\n invariant(schema);\n const projection = new ProjectionModel(schema.jsonSchema, view.projection);\n\n if (!undo) {\n const { deleted, index } = projection.deleteFieldProjection(fieldId);\n return {\n undoable: {\n message: ['card field deleted label', { ns: meta.id }],\n data: { deletionData: { ...deleted, index } },\n },\n };\n } else if (undo && deletionData) {\n const { field, props, index } = deletionData;\n projection.setFieldProjection({ field, props }, index);\n }\n },\n }),\n createResolver({\n intent: KanbanAction.DeleteCard,\n resolve: ({ card }, undo) => {\n const space = getSpace(card);\n invariant(space);\n\n if (!undo) {\n space.db.remove(card);\n return {\n undoable: {\n message: ['card deleted label', { ns: meta.id }],\n data: { card },\n },\n };\n } else {\n space.db.add(card);\n }\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;AAIA,SAASA,cAAkCC,aAAaC,sBAAsB;AAC9E,SAASC,iBAAiB;AAC1B,SAASC,0BAA0B;AACnC,SAASC,gBAAgB;AACzB,SAASC,cAAc;AACvB,SAASC,iBAAiBC,MAAMC,4BAA4B;;AAK5D,IAAA,2BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,aAAaC;IACrBC,SAAS,OAAO,EAAEC,OAAOC,MAAMC,UAAUC,mBAAkB,MAAE;AAC3D,YAAMC,SAASb,QAAQc,cAAcC,mBAAmBC,MAAM;AAC9D,YAAM,EAAEC,KAAI,IAAK,MAAMC,KAAKC,cAAc;QAAEN;QAAQJ;QAAOE;QAAUS,gBAAgBR;MAAmB,CAAA;AACxG,YAAMS,SAASC,OAAOC,KAAK;QAAEb;QAAMO;MAAK,CAAA;AACxC,aAAO;QAAEO,MAAM;UAAEC,QAAQJ;QAAO;MAAE;IACpC;EACF,CAAA;EACAjB,eAAe;IACbC,QAAQC,aAAaoB;IACrBlB,SAAS,OAAO,EAAES,MAAMU,SAASC,aAAY,GAAIC,SAAAA;AAC/C,YAAMC,SAASC,SAASd,IAAAA,GAAOe,GAAGC,eAAeC,UAAUC,qBAAqBlB,KAAKmB,MAAMC,GAAG,CAAA;AAC9FC,gBAAUR,QAAAA,QAAAA;;;;;;;;;AACV,YAAMS,aAAa,IAAIC,gBAAgBV,OAAOW,YAAYxB,KAAKsB,UAAU;AAEzE,UAAI,CAACV,MAAM;AACT,cAAM,EAAEa,SAASC,MAAK,IAAKJ,WAAWK,sBAAsBjB,OAAAA;AAC5D,eAAO;UACLkB,UAAU;YACRC,SAAS;cAAC;cAA4B;gBAAEC,IAAIC,KAAKC;cAAG;;YACpDzB,MAAM;cAAEI,cAAc;gBAAE,GAAGc;gBAASC;cAAM;YAAE;UAC9C;QACF;MACF,WAAWd,QAAQD,cAAc;AAC/B,cAAM,EAAEsB,OAAOC,OAAOR,MAAK,IAAKf;AAChCW,mBAAWa,mBAAmB;UAAEF;UAAOC;QAAM,GAAGR,KAAAA;MAClD;IACF;EACF,CAAA;EACAvC,eAAe;IACbC,QAAQC,aAAa+C;IACrB7C,SAAS,CAAC,EAAE8C,KAAI,GAAIzB,SAAAA;AAClB,YAAMpB,QAAQsB,SAASuB,IAAAA;AACvBhB,gBAAU7B,OAAAA,QAAAA;;;;;;;;;AAEV,UAAI,CAACoB,MAAM;AACTpB,cAAMuB,GAAGuB,OAAOD,IAAAA;AAChB,eAAO;UACLT,UAAU;YACRC,SAAS;cAAC;cAAsB;gBAAEC,IAAIC,KAAKC;cAAG;;YAC9CzB,MAAM;cAAE8B;YAAK;UACf;QACF;MACF,OAAO;AACL7C,cAAMuB,GAAGwB,IAAIF,IAAAA;MACf;IACF;EACF,CAAA;CACD;",
6
+ "names": ["Capabilities", "contributes", "createResolver", "invariant", "ClientCapabilities", "getSpace", "Kanban", "ProjectionModel", "View", "getTypenameFromQuery", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "KanbanAction", "Create", "resolve", "space", "name", "typename", "initialPivotColumn", "client", "getCapability", "ClientCapabilities", "Client", "view", "View", "makeFromSpace", "pivotFieldName", "kanban", "Kanban", "make", "data", "object", "DeleteCardField", "fieldId", "deletionData", "undo", "schema", "getSpace", "db", "schemaRegistry", "getSchema", "getTypenameFromQuery", "query", "ast", "invariant", "projection", "ProjectionModel", "jsonSchema", "deleted", "index", "deleteFieldProjection", "undoable", "message", "ns", "meta", "id", "field", "props", "setFieldProjection", "DeleteCard", "card", "remove", "add"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"src/meta.ts":{"bytes":2037,"imports":[],"format":"esm"},"src/capabilities/blueprint-definition.ts":{"bytes":3077,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/blueprints","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/types/schema.ts":{"bytes":8606,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/index.ts":{"bytes":501,"imports":[{"path":"src/types/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":10338,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/KanbanContainer.tsx":{"bytes":12312,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/KanbanViewEditor.tsx":{"bytes":8343,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/components/index.ts":{"bytes":599,"imports":[{"path":"src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"},{"path":"src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./KanbanViewEditor"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":12805,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1323,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/blueprint-definition.ts","kind":"dynamic-import","original":"./blueprint-definition"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/translations.ts":{"bytes":3589,"imports":[{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/KanbanPlugin.tsx":{"bytes":8485,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/index.ts":{"bytes":553,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6348},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-5B3LKGA7.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/blueprint-definition-MIMDXMUM.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/intent-resolver-T7CEL6EN.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/react-surface-BTB5JAKG.mjs","kind":"dynamic-import"},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true}],"exports":["KANBAN_PLUGIN","KanbanPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/KanbanPlugin.tsx":{"bytesInOutput":1804},"src/capabilities/index.ts":{"bytesInOutput":275},"src/translations.ts":{"bytesInOutput":917}},"bytes":3381},"dist/lib/node-esm/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/types/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-5B3LKGA7.mjs","kind":"import-statement"}],"exports":["CreateKanbanSchema","KanbanAction","PivotColumnAnnotationId"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":308},"dist/lib/node-esm/blueprint-definition-MIMDXMUM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1614},"dist/lib/node-esm/blueprint-definition-MIMDXMUM.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/blueprints","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/blueprint-definition.ts","inputs":{"src/capabilities/blueprint-definition.ts":{"bytesInOutput":708}},"bytes":958},"dist/lib/node-esm/intent-resolver-T7CEL6EN.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4697},"dist/lib/node-esm/intent-resolver-T7CEL6EN.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-5B3LKGA7.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":2721}},"bytes":3028},"dist/lib/node-esm/react-surface-BTB5JAKG.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":17191},"dist/lib/node-esm/react-surface-BTB5JAKG.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-5B3LKGA7.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":3005},"src/components/KanbanContainer.tsx":{"bytesInOutput":3160},"src/components/index.ts":{"bytesInOutput":0},"src/components/KanbanViewEditor.tsx":{"bytesInOutput":2293}},"bytes":8896},"dist/lib/node-esm/chunk-5B3LKGA7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5185},"dist/lib/node-esm/chunk-5B3LKGA7.mjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["CreateKanbanSchema","KANBAN_PLUGIN","KanbanAction","PivotColumnAnnotationId","meta"],"inputs":{"src/types/schema.ts":{"bytesInOutput":1868},"src/meta.ts":{"bytesInOutput":517},"src/types/index.ts":{"bytesInOutput":0}},"bytes":2687}}}
1
+ {"inputs":{"src/meta.ts":{"bytes":2139,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/blueprint-definition.ts":{"bytes":3077,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/blueprints","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/types/schema.ts":{"bytes":9942,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/index.ts":{"bytes":501,"imports":[{"path":"src/types/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":10693,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/KanbanContainer.tsx":{"bytes":10938,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/KanbanViewEditor.tsx":{"bytes":8085,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/index.ts":{"bytes":599,"imports":[{"path":"src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"},{"path":"src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./KanbanViewEditor"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":11197,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1323,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/blueprint-definition.ts","kind":"dynamic-import","original":"./blueprint-definition"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/translations.ts":{"bytes":3669,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/KanbanPlugin.tsx":{"bytes":8202,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/index.ts":{"bytes":553,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6237},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-WBN5YQGD.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/blueprint-definition-42P47FUY.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/intent-resolver-X4UZDRI7.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/react-surface-D7XTGTZL.mjs","kind":"dynamic-import"},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true}],"exports":["KanbanPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/KanbanPlugin.tsx":{"bytesInOutput":1747},"src/capabilities/index.ts":{"bytesInOutput":275},"src/translations.ts":{"bytesInOutput":937}},"bytes":3310},"dist/lib/node-esm/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/types/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-WBN5YQGD.mjs","kind":"import-statement"}],"exports":["CreateKanbanSchema","KanbanAction","PivotColumnAnnotationId","SettingsSchema"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":344},"dist/lib/node-esm/blueprint-definition-42P47FUY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1614},"dist/lib/node-esm/blueprint-definition-42P47FUY.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/blueprints","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/blueprint-definition.ts","inputs":{"src/capabilities/blueprint-definition.ts":{"bytesInOutput":710}},"bytes":960},"dist/lib/node-esm/intent-resolver-X4UZDRI7.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4887},"dist/lib/node-esm/intent-resolver-X4UZDRI7.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-WBN5YQGD.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":2819}},"bytes":3117},"dist/lib/node-esm/react-surface-D7XTGTZL.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15482},"dist/lib/node-esm/react-surface-D7XTGTZL.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-WBN5YQGD.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":2597},"src/components/KanbanContainer.tsx":{"bytesInOutput":2814},"src/components/index.ts":{"bytesInOutput":0},"src/components/KanbanViewEditor.tsx":{"bytesInOutput":2320}},"bytes":8187},"dist/lib/node-esm/chunk-WBN5YQGD.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5710},"dist/lib/node-esm/chunk-WBN5YQGD.mjs":{"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["CreateKanbanSchema","KanbanAction","PivotColumnAnnotationId","SettingsSchema","meta"],"inputs":{"src/types/schema.ts":{"bytesInOutput":2228},"src/meta.ts":{"bytesInOutput":554},"src/types/index.ts":{"bytesInOutput":0}},"bytes":3085}}}
@@ -2,50 +2,40 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  KanbanAction,
4
4
  PivotColumnAnnotationId,
5
+ SettingsSchema,
5
6
  meta
6
- } from "./chunk-5B3LKGA7.mjs";
7
+ } from "./chunk-WBN5YQGD.mjs";
7
8
 
8
9
  // src/capabilities/react-surface.tsx
9
- import React3, { useMemo as useMemo3 } from "react";
10
- import { Capabilities, contributes, createSurface, useCapabilities } from "@dxos/app-framework";
11
- import { Obj as Obj2, Type as Type3 } from "@dxos/echo";
10
+ import React3, { useMemo as useMemo2 } from "react";
11
+ import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
12
+ import { Obj as Obj2, Type as Type2 } from "@dxos/echo";
12
13
  import { findAnnotation } from "@dxos/effect";
13
- import { ClientCapabilities } from "@dxos/plugin-client";
14
14
  import { getSpace as getSpace3, isSpace } from "@dxos/react-client/echo";
15
15
  import { SelectInput as SelectInput2, useFormValues } from "@dxos/react-ui-form";
16
- import { Kanban as Kanban3 } from "@dxos/react-ui-kanban/types";
17
- import { DataType } from "@dxos/schema";
16
+ import { Kanban } from "@dxos/react-ui-kanban/types";
18
17
 
19
18
  // src/components/KanbanContainer.tsx
20
19
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
21
- import React, { useCallback, useEffect, useMemo, useState } from "react";
22
- import { createIntent, useIntentDispatcher } from "@dxos/app-framework";
20
+ import React, { useCallback, useEffect, useState } from "react";
21
+ import { createIntent } from "@dxos/app-framework";
22
+ import { useIntentDispatcher } from "@dxos/app-framework/react";
23
23
  import { Filter, Obj, Type } from "@dxos/echo";
24
- import { EchoSchema } from "@dxos/echo-schema";
25
24
  import { useGlobalFilteredObjects } from "@dxos/plugin-search";
26
25
  import { useClient } from "@dxos/react-client";
27
26
  import { getSpace, useQuery } from "@dxos/react-client/echo";
28
- import { Kanban, useKanbanModel } from "@dxos/react-ui-kanban";
27
+ import { Kanban as KanbanComponent, useKanbanModel, useProjectionModel } from "@dxos/react-ui-kanban";
29
28
  import { StackItem } from "@dxos/react-ui-stack";
30
- import { ProjectionModel } from "@dxos/schema";
31
- var KanbanContainer = ({ view }) => {
29
+ import { getTypenameFromQuery } from "@dxos/schema";
30
+ var KanbanContainer = ({ object }) => {
32
31
  var _effect = _useSignals();
33
32
  try {
34
33
  const client = useClient();
35
34
  const [cardSchema, setCardSchema] = useState();
36
- const [projection, setProjection] = useState();
37
- const space = getSpace(view);
35
+ const space = getSpace(object);
38
36
  const { dispatchPromise: dispatch } = useIntentDispatcher();
39
- const jsonSchema = useMemo(() => {
40
- if (!cardSchema) {
41
- return void 0;
42
- }
43
- return cardSchema instanceof EchoSchema ? cardSchema.jsonSchema : Type.toJsonSchema(cardSchema);
44
- }, [
45
- cardSchema
46
- ]);
37
+ const typename = object.view.target?.query ? getTypenameFromQuery(object.view.target.query.ast) : void 0;
47
38
  useEffect(() => {
48
- const typename = view.query.typename;
49
39
  const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);
50
40
  if (staticSchema) {
51
41
  setCardSchema(() => staticSchema);
@@ -65,22 +55,14 @@ var KanbanContainer = ({ view }) => {
65
55
  return unsubscribe;
66
56
  }
67
57
  }, [
68
- view.query.typename,
58
+ typename,
69
59
  space
70
60
  ]);
71
- useEffect(() => {
72
- if (jsonSchema) {
73
- setProjection(new ProjectionModel(jsonSchema, view.projection));
74
- }
75
- }, [
76
- view.projection,
77
- JSON.stringify(jsonSchema)
78
- ]);
79
61
  const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());
80
62
  const filteredObjects = useGlobalFilteredObjects(objects);
63
+ const projection = useProjectionModel(cardSchema, object);
81
64
  const model = useKanbanModel({
82
- view,
83
- schema: cardSchema,
65
+ object,
84
66
  projection,
85
67
  items: filteredObjects
86
68
  });
@@ -105,7 +87,7 @@ var KanbanContainer = ({ view }) => {
105
87
  }, [
106
88
  dispatch
107
89
  ]);
108
- return /* @__PURE__ */ React.createElement(StackItem.Content, null, model && /* @__PURE__ */ React.createElement(Kanban, {
90
+ return /* @__PURE__ */ React.createElement(StackItem.Content, null, model && /* @__PURE__ */ React.createElement(KanbanComponent, {
109
91
  model,
110
92
  onAddCard: handleAddCard,
111
93
  onRemoveCard: handleRemoveCard
@@ -117,48 +99,49 @@ var KanbanContainer = ({ view }) => {
117
99
 
118
100
  // src/components/KanbanViewEditor.tsx
119
101
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
120
- import React2, { useCallback as useCallback2, useMemo as useMemo2 } from "react";
121
- import { Type as Type2 } from "@dxos/echo";
122
- import { EchoSchema as EchoSchema2, FormatEnum } from "@dxos/echo-schema";
102
+ import React2, { useCallback as useCallback2, useMemo } from "react";
103
+ import { Format } from "@dxos/echo/internal";
104
+ import { invariant } from "@dxos/invariant";
123
105
  import { useClient as useClient2 } from "@dxos/react-client";
124
106
  import { getSpace as getSpace2, useSchema } from "@dxos/react-client/echo";
125
107
  import { Form, SelectInput } from "@dxos/react-ui-form";
126
- import { Kanban as Kanban2 } from "@dxos/react-ui-kanban/types";
127
- import { ProjectionModel as ProjectionModel2 } from "@dxos/schema";
128
- var KanbanViewEditor = ({ view }) => {
108
+ import { useProjectionModel as useProjectionModel2 } from "@dxos/react-ui-kanban";
109
+ import { getTypenameFromQuery as getTypenameFromQuery2 } from "@dxos/schema";
110
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx";
111
+ var KanbanViewEditor = ({ object }) => {
129
112
  var _effect = _useSignals2();
130
113
  try {
131
114
  const client = useClient2();
132
- const space = getSpace2(view);
133
- const currentTypename = useMemo2(() => view.query.typename, [
134
- view.query.typename
135
- ]);
115
+ const space = getSpace2(object);
116
+ const view = object.view.target;
117
+ const currentTypename = view?.query ? getTypenameFromQuery2(view.query.ast) : void 0;
136
118
  const schema = useSchema(client, space, currentTypename);
137
- const projection = useMemo2(() => {
138
- if (schema) {
139
- const jsonSchema = schema instanceof EchoSchema2 ? schema.jsonSchema : Type2.toJsonSchema(schema);
140
- return new ProjectionModel2(jsonSchema, view.projection);
141
- }
142
- }, [
143
- view.projection,
144
- JSON.stringify(schema)
145
- ]);
119
+ const projection = useProjectionModel2(schema, object);
146
120
  const fieldProjections = projection?.getFieldProjections() || [];
147
- const selectFields = fieldProjections.filter((field) => field.props.format === FormatEnum.SingleSelect).map(({ field }) => ({
121
+ const selectFields = fieldProjections.filter((field) => field.props.format === Format.TypeFormat.SingleSelect).map(({ field }) => ({
148
122
  value: field.id,
149
123
  label: field.path
150
124
  }));
151
125
  const handleSave = useCallback2((values) => {
126
+ invariant(view, void 0, {
127
+ F: __dxlog_file,
128
+ L: 35,
129
+ S: void 0,
130
+ A: [
131
+ "view",
132
+ ""
133
+ ]
134
+ });
152
135
  view.projection.pivotFieldId = values.columnFieldId;
153
136
  }, [
154
137
  view
155
138
  ]);
156
- const initialValues = useMemo2(() => ({
157
- columnFieldId: view.projection.pivotFieldId
139
+ const initialValues = useMemo(() => ({
140
+ columnFieldId: view?.projection.pivotFieldId
158
141
  }), [
159
- view.projection.pivotFieldId
142
+ view?.projection.pivotFieldId
160
143
  ]);
161
- const custom = useMemo2(() => ({
144
+ const custom = useMemo(() => ({
162
145
  columnFieldId: (props) => /* @__PURE__ */ React2.createElement(SelectInput, {
163
146
  ...props,
164
147
  options: selectFields
@@ -168,7 +151,7 @@ var KanbanViewEditor = ({ view }) => {
168
151
  ]);
169
152
  return /* @__PURE__ */ React2.createElement(Form, {
170
153
  Custom: custom,
171
- schema: Kanban2.SettingsSchema,
154
+ schema: SettingsSchema,
172
155
  values: initialValues,
173
156
  onSave: handleSave,
174
157
  autoSave: true,
@@ -181,16 +164,16 @@ var KanbanViewEditor = ({ view }) => {
181
164
  };
182
165
 
183
166
  // src/capabilities/react-surface.tsx
184
- var react_surface_default = () => contributes(Capabilities.ReactSurface, [
167
+ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
185
168
  createSurface({
186
169
  id: meta.id,
187
170
  role: [
188
171
  "article",
189
172
  "section"
190
173
  ],
191
- filter: (data) => Obj2.instanceOf(DataType.View, data.subject) && Obj2.instanceOf(Kanban3.Kanban, data.subject.presentation.target),
174
+ filter: (data) => Obj2.instanceOf(Kanban.Kanban, data.subject),
192
175
  component: ({ data, role }) => /* @__PURE__ */ React3.createElement(KanbanContainer, {
193
- view: data.subject,
176
+ object: data.subject,
194
177
  role
195
178
  })
196
179
  }),
@@ -198,9 +181,9 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
198
181
  id: `${meta.id}/object-settings`,
199
182
  role: "object-settings",
200
183
  position: "hoist",
201
- filter: (data) => Obj2.instanceOf(DataType.View, data.subject) && Obj2.instanceOf(Kanban3.Kanban, data.subject.presentation.target),
184
+ filter: (data) => Obj2.instanceOf(Kanban.Kanban, data.subject),
202
185
  component: ({ data }) => /* @__PURE__ */ React3.createElement(KanbanViewEditor, {
203
- view: data.subject
186
+ object: data.subject
204
187
  })
205
188
  }),
206
189
  createSurface({
@@ -217,13 +200,18 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
217
200
  return null;
218
201
  }
219
202
  const { typename } = useFormValues();
220
- const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);
221
- const staticSchema = schemaWhitelists.flat().find((schema) => Type3.getTypename(schema) === typename);
222
- const [selectedSchema] = space?.db.schemaRegistry.query({
203
+ const [selectedSchema] = useMemo2(() => space?.db.schemaRegistry.query({
204
+ location: [
205
+ "database",
206
+ "runtime"
207
+ ],
208
+ typename
209
+ }).runSync(), [
210
+ space,
223
211
  typename
224
- }).runSync();
225
- const singleSelectColumns = useMemo3(() => {
226
- const properties = staticSchema ? Type3.toJsonSchema(staticSchema).properties : selectedSchema?.jsonSchema?.properties;
212
+ ]);
213
+ const singleSelectColumns = useMemo2(() => {
214
+ const properties = Type2.toJsonSchema(selectedSchema).properties;
227
215
  if (!properties) {
228
216
  return [];
229
217
  }
@@ -235,8 +223,7 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
235
223
  }, []);
236
224
  return columns;
237
225
  }, [
238
- selectedSchema?.jsonSchema,
239
- staticSchema
226
+ selectedSchema
240
227
  ]);
241
228
  if (!typename) {
242
229
  return null;
@@ -249,8 +236,8 @@ var react_surface_default = () => contributes(Capabilities.ReactSurface, [
249
236
  });
250
237
  }
251
238
  })
252
- ]);
239
+ ]));
253
240
  export {
254
241
  react_surface_default as default
255
242
  };
256
- //# sourceMappingURL=react-surface-BTB5JAKG.mjs.map
243
+ //# sourceMappingURL=react-surface-D7XTGTZL.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/KanbanContainer.tsx", "../../../src/components/KanbanViewEditor.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as Schema from 'effect/Schema';\nimport React, { useMemo } from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { type Space, getSpace, isSpace } from '@dxos/react-client/echo';\nimport { type InputProps, SelectInput, useFormValues } from '@dxos/react-ui-form';\nimport { Kanban } from '@dxos/react-ui-kanban/types';\nimport { type Collection } from '@dxos/schema';\n\nimport { KanbanContainer, KanbanViewEditor } from '../components';\nimport { meta } from '../meta';\nimport { PivotColumnAnnotationId } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: meta.id,\n role: ['article', 'section'],\n filter: (data): data is { subject: Kanban.Kanban } => Obj.instanceOf(Kanban.Kanban, data.subject),\n component: ({ data, role }) => <KanbanContainer object={data.subject} role={role} />,\n }),\n createSurface({\n id: `${meta.id}/object-settings`,\n role: 'object-settings',\n position: 'hoist',\n filter: (data): data is { subject: Kanban.Kanban } => Obj.instanceOf(Kanban.Kanban, data.subject),\n component: ({ data }) => <KanbanViewEditor object={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/create-initial-schema-form-[pivot-column]`,\n role: 'form-input',\n filter: (\n data,\n ): data is {\n prop: string;\n schema: Schema.Schema<any>;\n target: Space | Collection.Collection | undefined;\n } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, PivotColumnAnnotationId);\n return !!annotation;\n },\n component: ({ data: { target }, ...inputProps }) => {\n const props = inputProps as any as InputProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n\n const { typename } = useFormValues();\n const [selectedSchema] = useMemo(\n () => space?.db.schemaRegistry.query({ location: ['database', 'runtime'], typename }).runSync(),\n [space, typename],\n );\n const singleSelectColumns = useMemo(() => {\n const properties = Type.toJsonSchema(selectedSchema).properties;\n if (!properties) {\n return [];\n }\n\n const columns = Object.entries(properties).reduce<string[]>((acc, [key, value]) => {\n if (typeof value === 'object' && value?.format === 'single-select') {\n acc.push(key);\n }\n return acc;\n }, []);\n\n return columns;\n }, [selectedSchema]);\n\n if (!typename) {\n return null;\n }\n\n return <SelectInput {...props} options={singleSelectColumns.map((column) => ({ value: column }))} />;\n },\n }),\n ]);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { createIntent } from '@dxos/app-framework';\nimport { useIntentDispatcher } from '@dxos/app-framework/react';\nimport { Filter, Obj, Type } from '@dxos/echo';\nimport { type TypedObject } from '@dxos/echo/internal';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace, useQuery } from '@dxos/react-client/echo';\nimport { Kanban as KanbanComponent, useKanbanModel, useProjectionModel } from '@dxos/react-ui-kanban';\nimport { type Kanban } from '@dxos/react-ui-kanban/types';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { getTypenameFromQuery } from '@dxos/schema';\n\nimport { KanbanAction } from '../types';\n\nexport const KanbanContainer = ({ object }: { object: Kanban.Kanban; role: string }) => {\n const client = useClient();\n const [cardSchema, setCardSchema] = useState<TypedObject<any, any>>();\n const space = getSpace(object);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const typename = object.view.target?.query ? getTypenameFromQuery(object.view.target.query.ast) : undefined;\n\n useEffect(() => {\n const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);\n if (staticSchema) {\n setCardSchema(() => staticSchema as TypedObject<any, any>);\n }\n if (!staticSchema && typename && space) {\n const query = space.db.schemaRegistry.query({ typename });\n const unsubscribe = query.subscribe(\n () => {\n const [schema] = query.results;\n if (schema) {\n setCardSchema(schema);\n }\n },\n { fire: true },\n );\n return unsubscribe;\n }\n }, [typename, space]);\n\n const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n const projection = useProjectionModel(cardSchema, object);\n const model = useKanbanModel({\n object,\n projection,\n items: filteredObjects,\n });\n\n const handleAddCard = useCallback(\n (columnValue: string | undefined) => {\n const path = model?.columnFieldPath;\n if (space && cardSchema && path) {\n const card = Obj.make(cardSchema, { [path]: columnValue });\n space.db.add(card);\n return card.id;\n }\n },\n [space, cardSchema, model],\n );\n\n const handleRemoveCard = useCallback(\n (card: { id: string }) => {\n void dispatch(createIntent(KanbanAction.DeleteCard, { card }));\n },\n [dispatch],\n );\n\n return (\n <StackItem.Content>\n {model && <KanbanComponent model={model} onAddCard={handleAddCard} onRemoveCard={handleRemoveCard} />}\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Format } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { useClient } from '@dxos/react-client';\nimport { getSpace, useSchema } from '@dxos/react-client/echo';\nimport { type CustomInputMap, Form, SelectInput } from '@dxos/react-ui-form';\nimport { useProjectionModel } from '@dxos/react-ui-kanban';\nimport { type Kanban } from '@dxos/react-ui-kanban/types';\nimport { getTypenameFromQuery } from '@dxos/schema';\n\nimport { SettingsSchema } from '../types';\n\ntype KanbanViewEditorProps = { object: Kanban.Kanban };\n\nexport const KanbanViewEditor = ({ object }: KanbanViewEditorProps) => {\n const client = useClient();\n const space = getSpace(object);\n const view = object.view.target;\n const currentTypename = view?.query ? getTypenameFromQuery(view.query.ast) : undefined;\n const schema = useSchema(client, space, currentTypename);\n const projection = useProjectionModel(schema, object);\n\n const fieldProjections = projection?.getFieldProjections() || [];\n const selectFields = fieldProjections\n .filter((field) => field.props.format === Format.TypeFormat.SingleSelect)\n .map(({ field }) => ({ value: field.id, label: field.path }));\n\n const handleSave = useCallback(\n (values: Partial<{ columnFieldId: string }>) => {\n invariant(view);\n view.projection.pivotFieldId = values.columnFieldId;\n },\n [view],\n );\n\n const initialValues = useMemo(\n () => ({ columnFieldId: view?.projection.pivotFieldId }),\n [view?.projection.pivotFieldId],\n );\n const custom: CustomInputMap = useMemo(\n () => ({ columnFieldId: (props) => <SelectInput {...props} options={selectFields} /> }),\n [selectFields],\n );\n\n return (\n <Form\n Custom={custom}\n schema={SettingsSchema}\n values={initialValues}\n onSave={handleSave}\n autoSave\n outerSpacing={false}\n classNames='pbs-inputSpacingBlock'\n />\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useMemo", "Capabilities", "contributes", "createSurface", "Obj", "Type", "findAnnotation", "getSpace", "isSpace", "SelectInput", "useFormValues", "Kanban", "React", "useCallback", "useEffect", "useState", "createIntent", "useIntentDispatcher", "Filter", "Obj", "Type", "useGlobalFilteredObjects", "useClient", "getSpace", "useQuery", "Kanban", "KanbanComponent", "useKanbanModel", "useProjectionModel", "StackItem", "getTypenameFromQuery", "KanbanContainer", "object", "client", "useClient", "cardSchema", "setCardSchema", "useState", "space", "getSpace", "dispatchPromise", "dispatch", "useIntentDispatcher", "typename", "view", "target", "query", "getTypenameFromQuery", "ast", "undefined", "useEffect", "staticSchema", "graph", "schemaRegistry", "schemas", "find", "schema", "Type", "getTypename", "db", "unsubscribe", "subscribe", "results", "fire", "objects", "useQuery", "Filter", "type", "nothing", "filteredObjects", "useGlobalFilteredObjects", "projection", "useProjectionModel", "model", "useKanbanModel", "items", "handleAddCard", "useCallback", "columnValue", "path", "columnFieldPath", "card", "Obj", "make", "add", "id", "handleRemoveCard", "createIntent", "KanbanAction", "DeleteCard", "StackItem", "Content", "KanbanComponent", "onAddCard", "onRemoveCard", "React", "useCallback", "useMemo", "Format", "invariant", "useClient", "getSpace", "useSchema", "Form", "SelectInput", "useProjectionModel", "getTypenameFromQuery", "KanbanViewEditor", "object", "client", "useClient", "space", "getSpace", "view", "target", "currentTypename", "query", "getTypenameFromQuery", "ast", "undefined", "schema", "useSchema", "projection", "useProjectionModel", "fieldProjections", "getFieldProjections", "selectFields", "filter", "field", "props", "format", "Format", "TypeFormat", "SingleSelect", "map", "value", "id", "label", "path", "handleSave", "useCallback", "values", "invariant", "pivotFieldId", "columnFieldId", "initialValues", "useMemo", "custom", "React", "SelectInput", "options", "Form", "Custom", "SettingsSchema", "onSave", "autoSave", "outerSpacing", "classNames", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "Kanban", "subject", "component", "React", "KanbanContainer", "object", "position", "KanbanViewEditor", "annotation", "findAnnotation", "schema", "ast", "PivotColumnAnnotationId", "target", "inputProps", "props", "space", "isSpace", "getSpace", "typename", "useFormValues", "selectedSchema", "useMemo", "db", "schemaRegistry", "query", "location", "runSync", "singleSelectColumns", "properties", "Type", "toJsonSchema", "columns", "Object", "entries", "reduce", "acc", "key", "value", "format", "push", "SelectInput", "options", "map", "column"]
7
+ }
@@ -2,11 +2,13 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  CreateKanbanSchema,
4
4
  KanbanAction,
5
- PivotColumnAnnotationId
6
- } from "../chunk-5B3LKGA7.mjs";
5
+ PivotColumnAnnotationId,
6
+ SettingsSchema
7
+ } from "../chunk-WBN5YQGD.mjs";
7
8
  export {
8
9
  CreateKanbanSchema,
9
10
  KanbanAction,
10
- PivotColumnAnnotationId
11
+ PivotColumnAnnotationId,
12
+ SettingsSchema
11
13
  };
12
14
  //# sourceMappingURL=index.mjs.map
@@ -1,2 +1,2 @@
1
- export declare const KanbanPlugin: () => import("@dxos/app-framework").Plugin;
1
+ export declare const KanbanPlugin: import("@dxos/app-framework").PluginFactory<void>;
2
2
  //# sourceMappingURL=KanbanPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,YAAY,4CA+CrB,CAAC"}
1
+ {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,YAAY,mDAyCvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/artifact-definition.ts"],"names":[],"mappings":"AAUA,OAAO,EAAgB,KAAK,uBAAuB,EAAoC,MAAM,qBAAqB,CAAC;AAMnH,OAAO,EAAU,KAAK,KAAK,EAAoB,MAAM,yBAAyB,CAAC;AAY/E,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;;AAED,wBA+GE"}
1
+ {"version":3,"file":"artifact-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/artifact-definition.ts"],"names":[],"mappings":"AAWA,OAAO,EAAgB,KAAK,uBAAuB,EAAoC,MAAM,qBAAqB,CAAC;AAMnH,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAY7D,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;;AAED,wBA+GE"}
@@ -1,5 +1,5 @@
1
1
  import { Blueprint } from '@dxos/blueprints';
2
2
  import { type FunctionDefinition } from '@dxos/functions';
3
- declare const _default: () => (import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<FunctionDefinition<any, any>[]>> | import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Blueprint.Blueprint>>)[];
3
+ declare const _default: () => (import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<FunctionDefinition.Any[]>> | import("@dxos/app-framework").Capability<import("@dxos/app-framework").InterfaceDef<Blueprint.Blueprint>>)[];
4
4
  export default _default;
5
5
  //# sourceMappingURL=blueprint-definition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAA+B,MAAM,qBAAqB,CAAC;yBAUpF,SAAS,aAAa;AAAtC,wBAwDK"}
1
+ {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAA+B,MAAM,qBAAqB,CAAC;yBAUpF,SAAS,aAAa;AAAtC,wBAmDK"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAA+C,MAAM,qBAAqB,CAAC;;AAahG,wBA+DK"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAA8B,MAAM,qBAAqB,CAAC;;AAY/E,wBA+DK"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { type DataType } from '@dxos/schema';
3
- export declare const KanbanContainer: ({ view }: {
4
- view: DataType.View;
2
+ import { type Kanban } from '@dxos/react-ui-kanban/types';
3
+ export declare const KanbanContainer: ({ object }: {
4
+ object: Kanban.Kanban;
5
5
  role: string;
6
6
  }) => React.JSX.Element;
7
7
  //# sourceMappingURL=KanbanContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAUzE,OAAO,EAAE,KAAK,QAAQ,EAAmB,MAAM,cAAc,CAAC;AAI9D,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBA4E9E,CAAC"}
1
+ {"version":3,"file":"KanbanContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAUhE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAM1D,eAAO,MAAM,eAAe,GAAI,YAAY;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBA6DlF,CAAC"}