@dxos/plugin-kanban 0.8.2-main.2f9c567 → 0.8.2-main.36232bc

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 (79) hide show
  1. package/dist/lib/browser/{artifact-definition-VGRBHXJ6.mjs → artifact-definition-SVNHDJQT.mjs} +10 -10
  2. package/dist/lib/browser/artifact-definition-SVNHDJQT.mjs.map +7 -0
  3. package/dist/lib/browser/{chunk-6JAA7YSW.mjs → chunk-K5BYEZ4Z.mjs} +35 -23
  4. package/dist/lib/browser/chunk-K5BYEZ4Z.mjs.map +7 -0
  5. package/dist/lib/browser/index.mjs +4 -4
  6. package/dist/lib/browser/intent-resolver-XCDQ5N3Q.mjs +132 -0
  7. package/dist/lib/browser/intent-resolver-XCDQ5N3Q.mjs.map +7 -0
  8. package/dist/lib/browser/meta.json +1 -1
  9. package/dist/lib/browser/{react-surface-H5UD7LKX.mjs → react-surface-R25PYWQV.mjs} +26 -56
  10. package/dist/lib/browser/react-surface-R25PYWQV.mjs.map +7 -0
  11. package/dist/lib/browser/types.mjs +3 -1
  12. package/dist/lib/node/{artifact-definition-KDTULJLX.cjs → artifact-definition-M2XAYUI2.cjs} +17 -17
  13. package/dist/lib/node/artifact-definition-M2XAYUI2.cjs.map +7 -0
  14. package/dist/lib/node/{chunk-O4U7ZQ2I.cjs → chunk-3EUR6ZR2.cjs} +38 -25
  15. package/dist/lib/node/chunk-3EUR6ZR2.cjs.map +7 -0
  16. package/dist/lib/node/index.cjs +16 -16
  17. package/dist/lib/node/intent-resolver-P3PSZO7H.cjs +146 -0
  18. package/dist/lib/node/intent-resolver-P3PSZO7H.cjs.map +7 -0
  19. package/dist/lib/node/meta.json +1 -1
  20. package/dist/lib/node/{react-surface-LKFQ3TZH.cjs → react-surface-FVM64YAQ.cjs} +31 -61
  21. package/dist/lib/node/react-surface-FVM64YAQ.cjs.map +7 -0
  22. package/dist/lib/node/types.cjs +8 -6
  23. package/dist/lib/node/types.cjs.map +2 -2
  24. package/dist/lib/node-esm/{artifact-definition-G2R5LF26.mjs → artifact-definition-HQ5I2OO5.mjs} +10 -10
  25. package/dist/lib/node-esm/artifact-definition-HQ5I2OO5.mjs.map +7 -0
  26. package/dist/lib/node-esm/{chunk-NOC32MF5.mjs → chunk-2N7CO3DI.mjs} +35 -23
  27. package/dist/lib/node-esm/chunk-2N7CO3DI.mjs.map +7 -0
  28. package/dist/lib/node-esm/index.mjs +4 -4
  29. package/dist/lib/node-esm/intent-resolver-4G47V67J.mjs +133 -0
  30. package/dist/lib/node-esm/intent-resolver-4G47V67J.mjs.map +7 -0
  31. package/dist/lib/node-esm/meta.json +1 -1
  32. package/dist/lib/node-esm/{react-surface-TUKDSY4T.mjs → react-surface-LZ7MP3CQ.mjs} +26 -56
  33. package/dist/lib/node-esm/react-surface-LZ7MP3CQ.mjs.map +7 -0
  34. package/dist/lib/node-esm/types.mjs +3 -1
  35. package/dist/types/src/capabilities/index.d.ts +1 -1
  36. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  37. package/dist/types/src/capabilities/intent-resolver.d.ts +2 -2
  38. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  39. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  40. package/dist/types/src/components/KanbanContainer.d.ts.map +1 -1
  41. package/dist/types/src/types.d.ts +41 -34
  42. package/dist/types/src/types.d.ts.map +1 -1
  43. package/package.json +25 -29
  44. package/src/capabilities/artifact-definition.ts +8 -8
  45. package/src/capabilities/intent-resolver.ts +6 -10
  46. package/src/capabilities/react-surface.tsx +12 -46
  47. package/src/components/KanbanContainer.tsx +8 -21
  48. package/src/types.ts +43 -26
  49. package/dist/lib/browser/artifact-definition-VGRBHXJ6.mjs.map +0 -7
  50. package/dist/lib/browser/chunk-6JAA7YSW.mjs.map +0 -7
  51. package/dist/lib/browser/intent-resolver-44SXCRIH.mjs +0 -297
  52. package/dist/lib/browser/intent-resolver-44SXCRIH.mjs.map +0 -7
  53. package/dist/lib/browser/react-surface-H5UD7LKX.mjs.map +0 -7
  54. package/dist/lib/node/artifact-definition-KDTULJLX.cjs.map +0 -7
  55. package/dist/lib/node/chunk-O4U7ZQ2I.cjs.map +0 -7
  56. package/dist/lib/node/intent-resolver-23TVN46D.cjs +0 -308
  57. package/dist/lib/node/intent-resolver-23TVN46D.cjs.map +0 -7
  58. package/dist/lib/node/react-surface-LKFQ3TZH.cjs.map +0 -7
  59. package/dist/lib/node-esm/artifact-definition-G2R5LF26.mjs.map +0 -7
  60. package/dist/lib/node-esm/chunk-NOC32MF5.mjs.map +0 -7
  61. package/dist/lib/node-esm/intent-resolver-SUADAOIJ.mjs +0 -298
  62. package/dist/lib/node-esm/intent-resolver-SUADAOIJ.mjs.map +0 -7
  63. package/dist/lib/node-esm/react-surface-TUKDSY4T.mjs.map +0 -7
  64. package/dist/types/src/components/KanbanContainer.stories.d.ts +0 -10
  65. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +0 -1
  66. package/dist/types/src/testing/index.d.ts +0 -3
  67. package/dist/types/src/testing/index.d.ts.map +0 -1
  68. package/dist/types/src/testing/initialize-kanban.d.ts +0 -17
  69. package/dist/types/src/testing/initialize-kanban.d.ts.map +0 -1
  70. package/dist/types/src/testing/kanban-manager.d.ts +0 -7
  71. package/dist/types/src/testing/kanban-manager.d.ts.map +0 -1
  72. package/dist/types/src/testing/playwright/smoke.spec.d.ts +0 -2
  73. package/dist/types/src/testing/playwright/smoke.spec.d.ts.map +0 -1
  74. package/src/components/KanbanContainer.stories.tsx +0 -186
  75. package/src/testing/index.ts +0 -6
  76. package/src/testing/initialize-kanban.ts +0 -139
  77. package/src/testing/kanban-manager.ts +0 -13
  78. package/src/testing/playwright/playwright.config.cts +0 -18
  79. package/src/testing/playwright/smoke.spec.ts +0 -7
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var intent_resolver_P3PSZO7H_exports = {};
20
+ __export(intent_resolver_P3PSZO7H_exports, {
21
+ default: () => intent_resolver_default
22
+ });
23
+ module.exports = __toCommonJS(intent_resolver_P3PSZO7H_exports);
24
+ var import_chunk_3EUR6ZR2 = require("./chunk-3EUR6ZR2.cjs");
25
+ var import_app_framework = require("@dxos/app-framework");
26
+ var import_invariant = require("@dxos/invariant");
27
+ var import_echo = require("@dxos/react-client/echo");
28
+ var import_schema = require("@dxos/schema");
29
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts";
30
+ var intent_resolver_default = () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.IntentResolver, [
31
+ (0, import_app_framework.createResolver)({
32
+ intent: import_chunk_3EUR6ZR2.KanbanAction.Create,
33
+ resolve: async ({ space, name, typename, initialPivotColumn }) => ({
34
+ data: {
35
+ object: await (0, import_chunk_3EUR6ZR2.createKanban)({
36
+ space,
37
+ name,
38
+ typename,
39
+ initialPivotColumn
40
+ })
41
+ }
42
+ })
43
+ }),
44
+ (0, import_app_framework.createResolver)({
45
+ intent: import_chunk_3EUR6ZR2.KanbanAction.DeleteCardField,
46
+ resolve: ({ kanban, fieldId, deletionData }, undo) => {
47
+ (0, import_invariant.invariant)(kanban.cardView, void 0, {
48
+ F: __dxlog_file,
49
+ L: 24,
50
+ S: void 0,
51
+ A: [
52
+ "kanban.cardView",
53
+ ""
54
+ ]
55
+ });
56
+ (0, import_invariant.invariant)(kanban.cardView.target?.query.typename, void 0, {
57
+ F: __dxlog_file,
58
+ L: 25,
59
+ S: void 0,
60
+ A: [
61
+ "kanban.cardView.target?.query.typename",
62
+ ""
63
+ ]
64
+ });
65
+ const schema = kanban.cardView.target && (0, import_echo.getSpace)(kanban)?.db.schemaRegistry.getSchema(kanban.cardView.target.query.typename);
66
+ (0, import_invariant.invariant)(schema, void 0, {
67
+ F: __dxlog_file,
68
+ L: 30,
69
+ S: void 0,
70
+ A: [
71
+ "schema",
72
+ ""
73
+ ]
74
+ });
75
+ (0, import_invariant.invariant)(kanban.cardView.target, void 0, {
76
+ F: __dxlog_file,
77
+ L: 31,
78
+ S: void 0,
79
+ A: [
80
+ "kanban.cardView.target",
81
+ ""
82
+ ]
83
+ });
84
+ const projection = new import_schema.ViewProjection(schema.jsonSchema, kanban.cardView.target);
85
+ if (!undo) {
86
+ const { deleted, index } = projection.deleteFieldProjection(fieldId);
87
+ return {
88
+ undoable: {
89
+ message: [
90
+ "card field deleted label",
91
+ {
92
+ ns: import_chunk_3EUR6ZR2.KANBAN_PLUGIN
93
+ }
94
+ ],
95
+ data: {
96
+ deletionData: {
97
+ ...deleted,
98
+ index
99
+ }
100
+ }
101
+ }
102
+ };
103
+ } else if (undo && deletionData) {
104
+ const { field, props, index } = deletionData;
105
+ projection.setFieldProjection({
106
+ field,
107
+ props
108
+ }, index);
109
+ }
110
+ }
111
+ }),
112
+ (0, import_app_framework.createResolver)({
113
+ intent: import_chunk_3EUR6ZR2.KanbanAction.DeleteCard,
114
+ resolve: ({ card }, undo) => {
115
+ const space = (0, import_echo.getSpace)(card);
116
+ (0, import_invariant.invariant)(space, void 0, {
117
+ F: __dxlog_file,
118
+ L: 52,
119
+ S: void 0,
120
+ A: [
121
+ "space",
122
+ ""
123
+ ]
124
+ });
125
+ if (!undo) {
126
+ space.db.remove(card);
127
+ return {
128
+ undoable: {
129
+ message: [
130
+ "card deleted label",
131
+ {
132
+ ns: import_chunk_3EUR6ZR2.KANBAN_PLUGIN
133
+ }
134
+ ],
135
+ data: {
136
+ card
137
+ }
138
+ }
139
+ };
140
+ } else {
141
+ space.db.add(card);
142
+ }
143
+ }
144
+ })
145
+ ]);
146
+ //# sourceMappingURL=intent-resolver-P3PSZO7H.cjs.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 { contributes, Capabilities, createResolver } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { ViewProjection } from '@dxos/schema';\n\nimport { KANBAN_PLUGIN } from '../meta';\nimport { createKanban, KanbanAction } from '../types';\n\nexport default () =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: KanbanAction.Create,\n resolve: async ({ space, name, typename, initialPivotColumn }) => ({\n data: { object: await createKanban({ space, name, typename, initialPivotColumn }) },\n }),\n }),\n createResolver({\n intent: KanbanAction.DeleteCardField,\n resolve: ({ kanban, fieldId, deletionData }, undo) => {\n invariant(kanban.cardView);\n invariant(kanban.cardView.target?.query.typename);\n\n const schema =\n kanban.cardView.target &&\n getSpace(kanban)?.db.schemaRegistry.getSchema(kanban.cardView.target.query.typename);\n invariant(schema);\n invariant(kanban.cardView.target);\n const projection = new ViewProjection(schema.jsonSchema, kanban.cardView.target);\n\n if (!undo) {\n const { deleted, index } = projection.deleteFieldProjection(fieldId);\n return {\n undoable: {\n message: ['card field deleted label', { ns: KANBAN_PLUGIN }],\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: KANBAN_PLUGIN }],\n data: { card },\n },\n };\n } else {\n space.db.add(card);\n }\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAIA,2BAA0D;AAC1D,uBAA0B;AAC1B,kBAAyB;AACzB,oBAA+B;;AAK/B,IAAA,0BAAe,UACbA,kCAAYC,kCAAaC,gBAAgB;MACvCC,qCAAe;IACbC,QAAQC,mCAAaC;IACrBC,SAAS,OAAO,EAAEC,OAAOC,MAAMC,UAAUC,mBAAkB,OAAQ;MACjEC,MAAM;QAAEC,QAAQ,UAAMC,oCAAa;UAAEN;UAAOC;UAAMC;UAAUC;QAAmB,CAAA;MAAG;IACpF;EACF,CAAA;MACAR,qCAAe;IACbC,QAAQC,mCAAaU;IACrBR,SAAS,CAAC,EAAES,QAAQC,SAASC,aAAY,GAAIC,SAAAA;AAC3CC,sCAAUJ,OAAOK,UAAQ,QAAA;;;;;;;;;AACzBD,sCAAUJ,OAAOK,SAASC,QAAQC,MAAMb,UAAAA,QAAAA;;;;;;;;;AAExC,YAAMc,SACJR,OAAOK,SAASC,cAChBG,sBAAST,MAAAA,GAASU,GAAGC,eAAeC,UAAUZ,OAAOK,SAASC,OAAOC,MAAMb,QAAQ;AACrFU,sCAAUI,QAAAA,QAAAA;;;;;;;;;AACVJ,sCAAUJ,OAAOK,SAASC,QAAM,QAAA;;;;;;;;;AAChC,YAAMO,aAAa,IAAIC,6BAAeN,OAAOO,YAAYf,OAAOK,SAASC,MAAM;AAE/E,UAAI,CAACH,MAAM;AACT,cAAM,EAAEa,SAASC,MAAK,IAAKJ,WAAWK,sBAAsBjB,OAAAA;AAC5D,eAAO;UACLkB,UAAU;YACRC,SAAS;cAAC;cAA4B;gBAAEC,IAAIC;cAAc;;YAC1D1B,MAAM;cAAEM,cAAc;gBAAE,GAAGc;gBAASC;cAAM;YAAE;UAC9C;QACF;MACF,WAAWd,QAAQD,cAAc;AAC/B,cAAM,EAAEqB,OAAOC,OAAOP,MAAK,IAAKf;AAChCW,mBAAWY,mBAAmB;UAAEF;UAAOC;QAAM,GAAGP,KAAAA;MAClD;IACF;EACF,CAAA;MACA9B,qCAAe;IACbC,QAAQC,mCAAaqC;IACrBnC,SAAS,CAAC,EAAEoC,KAAI,GAAIxB,SAAAA;AAClB,YAAMX,YAAQiB,sBAASkB,IAAAA;AACvBvB,sCAAUZ,OAAAA,QAAAA;;;;;;;;;AAEV,UAAI,CAACW,MAAM;AACTX,cAAMkB,GAAGkB,OAAOD,IAAAA;AAChB,eAAO;UACLR,UAAU;YACRC,SAAS;cAAC;cAAsB;gBAAEC,IAAIC;cAAc;;YACpD1B,MAAM;cAAE+B;YAAK;UACf;QACF;MACF,OAAO;AACLnC,cAAMkB,GAAGmB,IAAIF,IAAAA;MACf;IACF;EACF,CAAA;CACD;",
6
+ "names": ["contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "KanbanAction", "Create", "resolve", "space", "name", "typename", "initialPivotColumn", "data", "object", "createKanban", "DeleteCardField", "kanban", "fieldId", "deletionData", "undo", "invariant", "cardView", "target", "query", "schema", "getSpace", "db", "schemaRegistry", "getSchema", "projection", "ViewProjection", "jsonSchema", "deleted", "index", "deleteFieldProjection", "undoable", "message", "ns", "KANBAN_PLUGIN", "field", "props", "setFieldProjection", "DeleteCard", "card", "remove", "add"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/plugin-kanban/src/meta.ts":{"bytes":2245,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/types.ts":{"bytes":10497,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts":{"bytes":19961,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","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","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/kanban-manager.ts":{"bytes":1119,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts":{"bytes":17040,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","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-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/plugin-kanban/src/testing/index.ts":{"bytes":641,"imports":[{"path":"packages/plugins/plugin-kanban/src/testing/kanban-manager.ts","kind":"import-statement","original":"./kanban-manager"},{"path":"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts","kind":"import-statement","original":"./initialize-kanban"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytes":11925,"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/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/testing/index.ts","kind":"import-statement","original":"../testing"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytes":11998,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","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":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytes":12425,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","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":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytes":644,"imports":[{"path":"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"},{"path":"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./KanbanViewEditor"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytes":17888,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","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","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":"packages/plugins/plugin-kanban/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/index.ts":{"bytes":1366,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","kind":"dynamic-import","original":"./artifact-definition"},{"path":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-kanban/src/translations.ts":{"bytes":3122,"imports":[{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx":{"bytes":8396,"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":"packages/plugins/plugin-kanban/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-kanban/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/index.ts":{"bytes":594,"imports":[{"path":"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-kanban/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5969},"packages/plugins/plugin-kanban/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-O4U7ZQ2I.cjs","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/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-KDTULJLX.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-23TVN46D.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/react-surface-LKFQ3TZH.cjs","kind":"dynamic-import"},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true}],"exports":["KANBAN_PLUGIN","KanbanPlugin","meta"],"entryPoint":"packages/plugins/plugin-kanban/src/index.ts","inputs":{"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx":{"bytesInOutput":1757},"packages/plugins/plugin-kanban/src/capabilities/index.ts":{"bytesInOutput":273},"packages/plugins/plugin-kanban/src/translations.ts":{"bytesInOutput":801},"packages/plugins/plugin-kanban/src/index.ts":{"bytesInOutput":0}},"bytes":3248},"packages/plugins/plugin-kanban/dist/lib/node/types.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-kanban/dist/lib/node/types.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-O4U7ZQ2I.cjs","kind":"import-statement"}],"exports":["CreateKanbanSchema","KanbanAction","PivotColumnAnnotationId","TypenameAnnotationId","isKanban"],"entryPoint":"packages/plugins/plugin-kanban/src/types.ts","inputs":{},"bytes":287},"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-KDTULJLX.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8950},"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-KDTULJLX.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-O4U7ZQ2I.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","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","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","inputs":{"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts":{"bytesInOutput":6031}},"bytes":6280},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-23TVN46D.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":13242},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-23TVN46D.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-O4U7ZQ2I.cjs","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/schema","kind":"import-statement","external":true},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","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-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytesInOutput":3356},"packages/plugins/plugin-kanban/src/testing/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/testing/initialize-kanban.ts":{"bytesInOutput":4595}},"bytes":8336},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-LKFQ3TZH.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":22093},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-LKFQ3TZH.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-O4U7ZQ2I.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","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","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":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","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":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","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":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytesInOutput":4227},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytesInOutput":2874},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytesInOutput":3391}},"bytes":11007},"packages/plugins/plugin-kanban/dist/lib/node/chunk-O4U7ZQ2I.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6370},"packages/plugins/plugin-kanban/dist/lib/node/chunk-O4U7ZQ2I.cjs":{"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["CreateKanbanSchema","KANBAN_PLUGIN","KanbanAction","PivotColumnAnnotationId","TypenameAnnotationId","isKanban","meta"],"inputs":{"packages/plugins/plugin-kanban/src/types.ts":{"bytesInOutput":2055},"packages/plugins/plugin-kanban/src/meta.ts":{"bytesInOutput":564}},"bytes":2943}}}
1
+ {"inputs":{"packages/plugins/plugin-kanban/src/meta.ts":{"bytes":2245,"imports":[],"format":"esm"},"packages/plugins/plugin-kanban/src/types.ts":{"bytes":11430,"imports":[{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts":{"bytes":19853,"imports":[{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","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","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytes":10985,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytes":10174,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytes":12425,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","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":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytes":644,"imports":[{"path":"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"},{"path":"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./KanbanViewEditor"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytes":13173,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","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":"packages/plugins/plugin-kanban/src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/capabilities/index.ts":{"bytes":1366,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","kind":"dynamic-import","original":"./artifact-definition"},{"path":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"packages/plugins/plugin-kanban/src/translations.ts":{"bytes":3122,"imports":[{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx":{"bytes":8396,"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":"packages/plugins/plugin-kanban/src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/plugin-kanban/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/plugin-kanban/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/plugin-kanban/src/index.ts":{"bytes":594,"imports":[{"path":"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"},{"path":"packages/plugins/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"}},"outputs":{"packages/plugins/plugin-kanban/dist/lib/node/index.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5969},"packages/plugins/plugin-kanban/dist/lib/node/index.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3EUR6ZR2.cjs","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/app-framework","kind":"import-statement","external":true},{"path":"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-M2XAYUI2.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-P3PSZO7H.cjs","kind":"dynamic-import"},{"path":"packages/plugins/plugin-kanban/dist/lib/node/react-surface-FVM64YAQ.cjs","kind":"dynamic-import"},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true}],"exports":["KANBAN_PLUGIN","KanbanPlugin","meta"],"entryPoint":"packages/plugins/plugin-kanban/src/index.ts","inputs":{"packages/plugins/plugin-kanban/src/KanbanPlugin.tsx":{"bytesInOutput":1757},"packages/plugins/plugin-kanban/src/capabilities/index.ts":{"bytesInOutput":273},"packages/plugins/plugin-kanban/src/translations.ts":{"bytesInOutput":801},"packages/plugins/plugin-kanban/src/index.ts":{"bytesInOutput":0}},"bytes":3248},"packages/plugins/plugin-kanban/dist/lib/node/types.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/plugin-kanban/dist/lib/node/types.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3EUR6ZR2.cjs","kind":"import-statement"}],"exports":["CreateKanbanSchema","KanbanAction","PivotColumnAnnotationId","TypenameAnnotationId","createKanban","isKanban"],"entryPoint":"packages/plugins/plugin-kanban/src/types.ts","inputs":{},"bytes":319},"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-M2XAYUI2.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8897},"packages/plugins/plugin-kanban/dist/lib/node/artifact-definition-M2XAYUI2.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3EUR6ZR2.cjs","kind":"import-statement"},{"path":"effect","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/artifact","kind":"import-statement","external":true},{"path":"@dxos/assistant","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/invariant","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","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts","inputs":{"packages/plugins/plugin-kanban/src/capabilities/artifact-definition.ts":{"bytesInOutput":5991}},"bytes":6240},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-P3PSZO7H.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4474},"packages/plugins/plugin-kanban/dist/lib/node/intent-resolver-P3PSZO7H.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3EUR6ZR2.cjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts","inputs":{"packages/plugins/plugin-kanban/src/capabilities/intent-resolver.ts":{"bytesInOutput":3100}},"bytes":3362},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-FVM64YAQ.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":18461},"packages/plugins/plugin-kanban/dist/lib/node/react-surface-FVM64YAQ.cjs":{"imports":[{"path":"packages/plugins/plugin-kanban/dist/lib/node/chunk-3EUR6ZR2.cjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","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":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","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":"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx","inputs":{"packages/plugins/plugin-kanban/src/capabilities/react-surface.tsx":{"bytesInOutput":3019},"packages/plugins/plugin-kanban/src/components/KanbanContainer.tsx":{"bytesInOutput":2379},"packages/plugins/plugin-kanban/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytesInOutput":3360}},"bytes":9273},"packages/plugins/plugin-kanban/dist/lib/node/chunk-3EUR6ZR2.cjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6877},"packages/plugins/plugin-kanban/dist/lib/node/chunk-3EUR6ZR2.cjs":{"imports":[{"path":"effect/SchemaAST","kind":"import-statement","external":true},{"path":"@dxos/echo-schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/testing","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["CreateKanbanSchema","KANBAN_PLUGIN","KanbanAction","PivotColumnAnnotationId","TypenameAnnotationId","createKanban","isKanban","meta"],"inputs":{"packages/plugins/plugin-kanban/src/types.ts":{"bytesInOutput":2243},"packages/plugins/plugin-kanban/src/meta.ts":{"bytesInOutput":564}},"bytes":3147}}}
@@ -26,56 +26,42 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
26
26
  mod
27
27
  ));
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var react_surface_LKFQ3TZH_exports = {};
30
- __export(react_surface_LKFQ3TZH_exports, {
29
+ var react_surface_FVM64YAQ_exports = {};
30
+ __export(react_surface_FVM64YAQ_exports, {
31
31
  default: () => react_surface_default
32
32
  });
33
- module.exports = __toCommonJS(react_surface_LKFQ3TZH_exports);
34
- var import_chunk_O4U7ZQ2I = require("./chunk-O4U7ZQ2I.cjs");
33
+ module.exports = __toCommonJS(react_surface_FVM64YAQ_exports);
34
+ var import_chunk_3EUR6ZR2 = require("./chunk-3EUR6ZR2.cjs");
35
35
  var import_react = __toESM(require("react"));
36
36
  var import_app_framework = require("@dxos/app-framework");
37
- var import_echo_schema = require("@dxos/echo-schema");
38
37
  var import_effect = require("@dxos/effect");
39
- var import_plugin_client = require("@dxos/plugin-client");
40
- var import_react_client = require("@dxos/react-client");
41
38
  var import_echo = require("@dxos/react-client/echo");
42
39
  var import_react_ui_form = require("@dxos/react-ui-form");
43
40
  var import_react2 = __toESM(require("react"));
44
41
  var import_app_framework2 = require("@dxos/app-framework");
45
- var import_echo_schema2 = require("@dxos/echo-schema");
46
42
  var import_plugin_search = require("@dxos/plugin-search");
47
- var import_react_client2 = require("@dxos/react-client");
48
43
  var import_echo2 = require("@dxos/react-client/echo");
49
44
  var import_react_ui_kanban = require("@dxos/react-ui-kanban");
50
45
  var import_react_ui_stack = require("@dxos/react-ui-stack");
51
46
  var import_schema = require("@dxos/schema");
52
47
  var import_react3 = __toESM(require("react"));
53
48
  var import_app_framework3 = require("@dxos/app-framework");
54
- var import_echo_schema3 = require("@dxos/echo-schema");
49
+ var import_echo_schema = require("@dxos/echo-schema");
55
50
  var import_invariant = require("@dxos/invariant");
56
- var import_react_client3 = require("@dxos/react-client");
51
+ var import_react_client = require("@dxos/react-client");
57
52
  var import_echo3 = require("@dxos/react-client/echo");
58
53
  var import_react_ui_form2 = require("@dxos/react-ui-form");
59
54
  var import_react_ui_kanban2 = require("@dxos/react-ui-kanban");
60
55
  var import_schema2 = require("@dxos/schema");
61
56
  var KanbanContainer = ({ kanban }) => {
62
- const client = (0, import_react_client2.useClient)();
63
57
  const [cardSchema, setCardSchema] = (0, import_react2.useState)();
64
58
  const [projection, setProjection] = (0, import_react2.useState)();
65
59
  const space = (0, import_echo2.getSpace)(kanban);
66
60
  const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
67
- const jsonSchema = (0, import_react2.useMemo)(() => cardSchema instanceof import_echo_schema2.EchoSchema ? cardSchema.jsonSchema : cardSchema ? (0, import_echo_schema2.toJsonSchema)(cardSchema) : void 0, [
68
- cardSchema
69
- ]);
70
61
  (0, import_react2.useEffect)(() => {
71
- const typename = kanban.cardView?.target?.query?.typename;
72
- const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => (0, import_echo_schema2.getTypenameOrThrow)(schema) === typename);
73
- if (staticSchema) {
74
- setCardSchema(() => staticSchema);
75
- }
76
- if (!staticSchema && typename && space) {
62
+ if (kanban.cardView?.target?.query?.typename && space) {
77
63
  const query = space.db.schemaRegistry.query({
78
- typename
64
+ typename: kanban.cardView.target.query.typename
79
65
  });
80
66
  const unsubscribe = query.subscribe(() => {
81
67
  const [schema] = query.results;
@@ -92,12 +78,13 @@ var KanbanContainer = ({ kanban }) => {
92
78
  space
93
79
  ]);
94
80
  (0, import_react2.useEffect)(() => {
95
- if (kanban.cardView?.target && jsonSchema) {
96
- setProjection(new import_schema.ViewProjection(jsonSchema, kanban.cardView.target));
81
+ if (kanban.cardView?.target && cardSchema) {
82
+ setProjection(new import_schema.ViewProjection(cardSchema.jsonSchema, kanban.cardView.target));
97
83
  }
98
84
  }, [
99
85
  kanban.cardView?.target,
100
- JSON.stringify(jsonSchema)
86
+ cardSchema,
87
+ JSON.stringify(cardSchema?.jsonSchema)
101
88
  ]);
102
89
  const objects = (0, import_echo2.useQuery)(space, cardSchema ? import_echo2.Filter.schema(cardSchema) : import_echo2.Filter.nothing());
103
90
  const filteredObjects = (0, import_plugin_search.useGlobalFilteredObjects)(objects);
@@ -122,7 +109,7 @@ var KanbanContainer = ({ kanban }) => {
122
109
  model
123
110
  ]);
124
111
  const handleRemoveCard = (0, import_react2.useCallback)((card) => {
125
- void dispatch((0, import_app_framework2.createIntent)(import_chunk_O4U7ZQ2I.KanbanAction.DeleteCard, {
112
+ void dispatch((0, import_app_framework2.createIntent)(import_chunk_3EUR6ZR2.KanbanAction.DeleteCard, {
126
113
  card
127
114
  }));
128
115
  }, [
@@ -137,7 +124,7 @@ var KanbanContainer = ({ kanban }) => {
137
124
  var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx";
138
125
  var KanbanViewEditor = ({ kanban }) => {
139
126
  const { dispatchPromise: dispatch } = (0, import_app_framework3.useIntentDispatcher)();
140
- const client = (0, import_react_client3.useClient)();
127
+ const client = (0, import_react_client.useClient)();
141
128
  const space = (0, import_echo3.getSpace)(kanban);
142
129
  const currentTypename = (0, import_react3.useMemo)(() => kanban?.cardView?.target?.query?.typename, [
143
130
  kanban?.cardView?.target?.query?.typename
@@ -164,7 +151,7 @@ var KanbanViewEditor = ({ kanban }) => {
164
151
  schema
165
152
  ]);
166
153
  const handleDelete = (0, import_react3.useCallback)((fieldId) => {
167
- void dispatch?.((0, import_app_framework3.createIntent)(import_chunk_O4U7ZQ2I.KanbanAction.DeleteCardField, {
154
+ void dispatch?.((0, import_app_framework3.createIntent)(import_chunk_3EUR6ZR2.KanbanAction.DeleteCardField, {
168
155
  kanban,
169
156
  fieldId
170
157
  }));
@@ -182,7 +169,7 @@ var KanbanViewEditor = ({ kanban }) => {
182
169
  JSON.stringify(schema)
183
170
  ]);
184
171
  const fieldProjections = projection?.getFieldProjections() || [];
185
- const selectFields = fieldProjections.filter((field) => field.props.format === import_echo_schema3.FormatEnum.SingleSelect).map(({ field }) => ({
172
+ const selectFields = fieldProjections.filter((field) => field.props.format === import_echo_schema.FormatEnum.SingleSelect).map(({ field }) => ({
186
173
  value: field.id,
187
174
  label: field.path
188
175
  }));
@@ -223,65 +210,52 @@ var KanbanViewEditor = ({ kanban }) => {
223
210
  };
224
211
  var react_surface_default = () => (0, import_app_framework.contributes)(import_app_framework.Capabilities.ReactSurface, [
225
212
  (0, import_app_framework.createSurface)({
226
- id: `${import_chunk_O4U7ZQ2I.KANBAN_PLUGIN}/kanban`,
213
+ id: `${import_chunk_3EUR6ZR2.KANBAN_PLUGIN}/kanban`,
227
214
  role: [
228
215
  "article",
229
216
  "section"
230
217
  ],
231
- filter: (data) => (0, import_chunk_O4U7ZQ2I.isKanban)(data.subject),
218
+ filter: (data) => (0, import_chunk_3EUR6ZR2.isKanban)(data.subject),
232
219
  component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(KanbanContainer, {
233
220
  kanban: data.subject,
234
221
  role
235
222
  })
236
223
  }),
237
224
  (0, import_app_framework.createSurface)({
238
- id: `${import_chunk_O4U7ZQ2I.KANBAN_PLUGIN}/object-settings`,
225
+ id: `${import_chunk_3EUR6ZR2.KANBAN_PLUGIN}/object-settings`,
239
226
  role: "object-settings",
240
- filter: (data) => (0, import_chunk_O4U7ZQ2I.isKanban)(data.subject),
227
+ filter: (data) => (0, import_chunk_3EUR6ZR2.isKanban)(data.subject),
241
228
  component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(KanbanViewEditor, {
242
229
  kanban: data.subject
243
230
  })
244
231
  }),
245
232
  (0, import_app_framework.createSurface)({
246
- id: `${import_chunk_O4U7ZQ2I.KANBAN_PLUGIN}/create-initial-schema-form`,
233
+ id: `${import_chunk_3EUR6ZR2.KANBAN_PLUGIN}/create-initial-schema-form-[schema]`,
247
234
  role: "form-input",
248
235
  filter: (data) => {
249
- if (data.prop !== "typename") {
250
- return false;
251
- }
252
- const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_chunk_O4U7ZQ2I.TypenameAnnotationId);
236
+ const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_chunk_3EUR6ZR2.TypenameAnnotationId);
253
237
  return !!annotation;
254
238
  },
255
239
  component: ({ data: { target }, ...inputProps }) => {
256
- const client = (0, import_react_client.useClient)();
257
240
  const props = inputProps;
258
241
  const space = (0, import_echo.isSpace)(target) ? target : (0, import_echo.getSpace)(target);
259
242
  if (!space) {
260
243
  return null;
261
244
  }
262
- const schemaWhitelists = (0, import_app_framework.useCapabilities)(import_plugin_client.ClientCapabilities.SchemaWhiteList);
263
- const whitelistedTypenames = (0, import_react.useMemo)(() => new Set(schemaWhitelists.flatMap((typeArray) => typeArray.map((type) => type.typename))), [
264
- schemaWhitelists
265
- ]);
266
- const fixed = client.graph.schemaRegistry.schemas.filter((schema) => whitelistedTypenames.has((0, import_echo_schema.getTypenameOrThrow)(schema)));
267
- const dynamic = space?.db.schemaRegistry.query().runSync();
268
- const typenames = Array.from(/* @__PURE__ */ new Set([
269
- ...fixed.map((schema) => (0, import_echo_schema.getTypenameOrThrow)(schema)),
270
- ...dynamic.map((schema) => schema.typename)
271
- ])).sort();
245
+ const schemata = space?.db.schemaRegistry.query().runSync();
272
246
  return /* @__PURE__ */ import_react.default.createElement(import_react_ui_form.SelectInput, {
273
247
  ...props,
274
- options: typenames.map((typename) => ({
275
- value: typename
248
+ options: schemata.map((schema) => ({
249
+ value: schema.typename
276
250
  }))
277
251
  });
278
252
  }
279
253
  }),
280
254
  (0, import_app_framework.createSurface)({
281
- id: `${import_chunk_O4U7ZQ2I.KANBAN_PLUGIN}/create-initial-schema-form-[pivot-column]`,
255
+ id: `${import_chunk_3EUR6ZR2.KANBAN_PLUGIN}/create-initial-schema-form-[pivot-column]`,
282
256
  role: "form-input",
283
257
  filter: (data) => {
284
- const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_chunk_O4U7ZQ2I.PivotColumnAnnotationId);
258
+ const annotation = (0, import_effect.findAnnotation)(data.schema.ast, import_chunk_3EUR6ZR2.PivotColumnAnnotationId);
285
259
  return !!annotation;
286
260
  },
287
261
  component: ({ data: { target }, ...inputProps }) => {
@@ -291,17 +265,14 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
291
265
  return null;
292
266
  }
293
267
  const { typename } = (0, import_react_ui_form.useFormValues)();
294
- const schemaWhitelists = (0, import_app_framework.useCapabilities)(import_plugin_client.ClientCapabilities.SchemaWhiteList);
295
- const staticSchema = schemaWhitelists.flat().find((schema) => (0, import_echo_schema.getTypenameOrThrow)(schema) === typename);
296
268
  const [selectedSchema] = space?.db.schemaRegistry.query({
297
269
  typename
298
270
  }).runSync();
299
271
  const singleSelectColumns = (0, import_react.useMemo)(() => {
300
- const properties = staticSchema ? (0, import_echo_schema.toJsonSchema)(staticSchema).properties : selectedSchema?.jsonSchema?.properties;
301
- if (!properties) {
272
+ if (!selectedSchema?.jsonSchema?.properties) {
302
273
  return [];
303
274
  }
304
- const columns = Object.entries(properties).reduce((acc, [key, value]) => {
275
+ const columns = Object.entries(selectedSchema.jsonSchema.properties).reduce((acc, [key, value]) => {
305
276
  if (typeof value === "object" && value?.format === "single-select") {
306
277
  acc.push(key);
307
278
  }
@@ -309,8 +280,7 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
309
280
  }, []);
310
281
  return columns;
311
282
  }, [
312
- selectedSchema?.jsonSchema,
313
- staticSchema
283
+ selectedSchema?.jsonSchema
314
284
  ]);
315
285
  if (!typename) {
316
286
  return null;
@@ -324,4 +294,4 @@ var react_surface_default = () => (0, import_app_framework.contributes)(import_a
324
294
  }
325
295
  })
326
296
  ]);
327
- //# sourceMappingURL=react-surface-LKFQ3TZH.cjs.map
297
+ //# sourceMappingURL=react-surface-FVM64YAQ.cjs.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 React, { useMemo } from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { type S } from '@dxos/echo-schema';\nimport { findAnnotation } from '@dxos/effect';\nimport { type CollectionType } from '@dxos/plugin-space/types';\nimport { getSpace, isSpace, type Space } from '@dxos/react-client/echo';\nimport { type InputProps, SelectInput, useFormValues } from '@dxos/react-ui-form';\nimport { type KanbanType } from '@dxos/react-ui-kanban';\n\nimport { KanbanContainer, KanbanViewEditor } from '../components';\nimport { KANBAN_PLUGIN } from '../meta';\nimport { isKanban, TypenameAnnotationId, PivotColumnAnnotationId } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: `${KANBAN_PLUGIN}/kanban`,\n role: ['article', 'section'],\n filter: (data): data is { subject: KanbanType } => isKanban(data.subject),\n component: ({ data, role }) => <KanbanContainer kanban={data.subject} role={role} />,\n }),\n createSurface({\n id: `${KANBAN_PLUGIN}/object-settings`,\n role: 'object-settings',\n filter: (data): data is { subject: KanbanType } => isKanban(data.subject),\n component: ({ data }) => <KanbanViewEditor kanban={data.subject} />,\n }),\n createSurface({\n id: `${KANBAN_PLUGIN}/create-initial-schema-form-[schema]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: S.Schema<any>; target: Space | CollectionType | undefined } => {\n const annotation = findAnnotation<boolean>((data.schema as S.Schema.All).ast, TypenameAnnotationId);\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 schemata = space?.db.schemaRegistry.query().runSync();\n return <SelectInput {...props} options={schemata.map((schema) => ({ value: schema.typename }))} />;\n },\n }),\n createSurface({\n id: `${KANBAN_PLUGIN}/create-initial-schema-form-[pivot-column]`,\n role: 'form-input',\n filter: (data): data is { prop: string; schema: S.Schema<any>; target: Space | CollectionType | undefined } => {\n const annotation = findAnnotation<boolean>((data.schema as S.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 const { typename } = useFormValues();\n const [selectedSchema] = space?.db.schemaRegistry.query({ typename }).runSync();\n\n const singleSelectColumns = useMemo(() => {\n if (!selectedSchema?.jsonSchema?.properties) {\n return [];\n }\n\n const columns = Object.entries(selectedSchema.jsonSchema.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?.jsonSchema]);\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, useIntentDispatcher } from '@dxos/app-framework';\nimport { type EchoSchema } from '@dxos/echo-schema';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { Filter, useQuery, getSpace, live } from '@dxos/react-client/echo';\nimport { type KanbanType, useKanbanModel, Kanban } from '@dxos/react-ui-kanban';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { ViewProjection } from '@dxos/schema';\n\nimport { KanbanAction } from '../types';\n\nexport const KanbanContainer = ({ kanban }: { kanban: KanbanType; role: string }) => {\n const [cardSchema, setCardSchema] = useState<EchoSchema>();\n const [projection, setProjection] = useState<ViewProjection>();\n const space = getSpace(kanban);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n\n useEffect(() => {\n if (kanban.cardView?.target?.query?.typename && space) {\n const query = space.db.schemaRegistry.query({ typename: kanban.cardView.target.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 }, [kanban.cardView?.target?.query, space]);\n\n useEffect(() => {\n if (kanban.cardView?.target && cardSchema) {\n setProjection(new ViewProjection(cardSchema.jsonSchema, kanban.cardView.target));\n }\n // TODO(ZaymonFC): Is there a better way to get notified about deep changes in the json schema?\n }, [kanban.cardView?.target, cardSchema, JSON.stringify(cardSchema?.jsonSchema)]);\n\n const objects = useQuery(space, cardSchema ? Filter.schema(cardSchema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n const model = useKanbanModel({\n kanban,\n schema: cardSchema,\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 = live(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 && <Kanban 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 { createIntent, useIntentDispatcher } from '@dxos/app-framework';\nimport { FormatEnum } from '@dxos/echo-schema';\nimport { invariant } from '@dxos/invariant';\nimport { useClient } from '@dxos/react-client';\nimport { Filter, getSpace, useQuery, useSchema } from '@dxos/react-client/echo';\nimport { ViewEditor, Form, SelectInput, type CustomInputMap } from '@dxos/react-ui-form';\nimport { type KanbanType, KanbanSettingsSchema } from '@dxos/react-ui-kanban';\nimport { ViewType, ViewProjection } from '@dxos/schema';\n\nimport { KanbanAction } from '../types';\n\ntype KanbanViewEditorProps = { kanban: KanbanType };\n\nexport const KanbanViewEditor = ({ kanban }: KanbanViewEditorProps) => {\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const client = useClient();\n const space = getSpace(kanban);\n const currentTypename = useMemo(\n () => kanban?.cardView?.target?.query?.typename,\n [kanban?.cardView?.target?.query?.typename],\n );\n const schema = useSchema(client, space, currentTypename);\n const views = useQuery(space, Filter.schema(ViewType));\n\n const handleUpdateTypename = useCallback(\n (newTypename: string) => {\n invariant(schema);\n const matchingViews = views.filter((view) => view.query.typename === currentTypename);\n for (const view of matchingViews) {\n view.query.typename = newTypename;\n }\n\n schema.mutable.updateTypename(newTypename);\n },\n [views, schema],\n );\n\n const handleDelete = useCallback(\n (fieldId: string) => {\n void dispatch?.(createIntent(KanbanAction.DeleteCardField, { kanban, fieldId }));\n },\n [dispatch, kanban],\n );\n\n const projection = useMemo(() => {\n if (kanban?.cardView?.target && schema) {\n return new ViewProjection(schema.jsonSchema, kanban.cardView.target);\n }\n }, [kanban?.cardView?.target, schema, JSON.stringify(schema)]);\n\n const fieldProjections = projection?.getFieldProjections() || [];\n const selectFields = fieldProjections\n .filter((field) => field.props.format === FormatEnum.SingleSelect)\n .map(({ field }) => ({ value: field.id, label: field.path }));\n\n const onSave = useCallback(\n (values: Partial<{ columnFieldId: string }>) => {\n kanban.columnFieldId = values.columnFieldId;\n },\n [kanban],\n );\n\n const initialValues = useMemo(() => ({ columnFieldId: kanban.columnFieldId }), [kanban.columnFieldId]);\n const custom: CustomInputMap = useMemo(\n () => ({ columnFieldId: (props) => <SelectInput {...props} options={selectFields} /> }),\n [selectFields],\n );\n\n if (!space || !schema || !kanban.cardView?.target) {\n return null;\n }\n\n return (\n <>\n <Form schema={KanbanSettingsSchema} values={initialValues} onSave={onSave} autoSave Custom={custom} />\n <ViewEditor\n registry={space.db.schemaRegistry}\n schema={schema}\n view={kanban.cardView.target}\n onTypenameChanged={schema.readonly ? undefined : handleUpdateTypename}\n onDelete={schema.readonly ? undefined : handleDelete}\n />\n </>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["import_react", "import_app_framework", "import_echo", "import_react_ui_form", "import_react_ui_kanban", "import_schema", "KanbanContainer", "kanban", "cardSchema", "setCardSchema", "useState", "projection", "setProjection", "space", "getSpace", "dispatchPromise", "dispatch", "useIntentDispatcher", "useEffect", "cardView", "target", "query", "typename", "db", "schemaRegistry", "unsubscribe", "subscribe", "schema", "results", "fire", "ViewProjection", "jsonSchema", "JSON", "stringify", "objects", "useQuery", "Filter", "nothing", "filteredObjects", "useGlobalFilteredObjects", "model", "useKanbanModel", "items", "handleAddCard", "useCallback", "columnValue", "path", "columnFieldPath", "card", "live", "add", "id", "handleRemoveCard", "createIntent", "KanbanAction", "DeleteCard", "React", "StackItem", "Content", "Kanban", "onAddCard", "onRemoveCard", "KanbanViewEditor", "client", "useClient", "currentTypename", "useMemo", "useSchema", "views", "ViewType", "handleUpdateTypename", "newTypename", "invariant", "matchingViews", "filter", "view", "mutable", "updateTypename", "handleDelete", "fieldId", "DeleteCardField", "fieldProjections", "getFieldProjections", "selectFields", "field", "props", "format", "FormatEnum", "SingleSelect", "map", "value", "label", "onSave", "values", "columnFieldId", "initialValues", "custom", "SelectInput", "options", "Form", "KanbanSettingsSchema", "autoSave", "Custom", "ViewEditor", "registry", "onTypenameChanged", "readonly", "undefined", "onDelete", "contributes", "Capabilities", "ReactSurface", "createSurface", "KANBAN_PLUGIN", "role", "data", "isKanban", "subject", "component", "annotation", "findAnnotation", "ast", "TypenameAnnotationId", "inputProps", "isSpace", "schemata", "runSync", "PivotColumnAnnotationId", "useFormValues", "selectedSchema", "singleSelectColumns", "properties", "columns", "Object", "entries", "reduce", "acc", "key", "push", "column"]
7
+ }
@@ -18,20 +18,22 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
- CreateKanbanSchema: () => import_chunk_O4U7ZQ2I.CreateKanbanSchema,
22
- KanbanAction: () => import_chunk_O4U7ZQ2I.KanbanAction,
23
- PivotColumnAnnotationId: () => import_chunk_O4U7ZQ2I.PivotColumnAnnotationId,
24
- TypenameAnnotationId: () => import_chunk_O4U7ZQ2I.TypenameAnnotationId,
25
- isKanban: () => import_chunk_O4U7ZQ2I.isKanban
21
+ CreateKanbanSchema: () => import_chunk_3EUR6ZR2.CreateKanbanSchema,
22
+ KanbanAction: () => import_chunk_3EUR6ZR2.KanbanAction,
23
+ PivotColumnAnnotationId: () => import_chunk_3EUR6ZR2.PivotColumnAnnotationId,
24
+ TypenameAnnotationId: () => import_chunk_3EUR6ZR2.TypenameAnnotationId,
25
+ createKanban: () => import_chunk_3EUR6ZR2.createKanban,
26
+ isKanban: () => import_chunk_3EUR6ZR2.isKanban
26
27
  });
27
28
  module.exports = __toCommonJS(types_exports);
28
- var import_chunk_O4U7ZQ2I = require("./chunk-O4U7ZQ2I.cjs");
29
+ var import_chunk_3EUR6ZR2 = require("./chunk-3EUR6ZR2.cjs");
29
30
  // Annotate the CommonJS export names for ESM import in node:
30
31
  0 && (module.exports = {
31
32
  CreateKanbanSchema,
32
33
  KanbanAction,
33
34
  PivotColumnAnnotationId,
34
35
  TypenameAnnotationId,
36
+ createKanban,
35
37
  isKanban
36
38
  });
37
39
  //# sourceMappingURL=types.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["types.cjs"],
4
- "sourcesContent": ["import {\n CreateKanbanSchema,\n KanbanAction,\n PivotColumnAnnotationId,\n TypenameAnnotationId,\n isKanban\n} from \"./chunk-O4U7ZQ2I.cjs\";\nexport {\n CreateKanbanSchema,\n KanbanAction,\n PivotColumnAnnotationId,\n TypenameAnnotationId,\n isKanban\n};\n//# sourceMappingURL=types.cjs.map\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAMO;",
4
+ "sourcesContent": ["import {\n CreateKanbanSchema,\n KanbanAction,\n PivotColumnAnnotationId,\n TypenameAnnotationId,\n createKanban,\n isKanban\n} from \"./chunk-3EUR6ZR2.cjs\";\nexport {\n CreateKanbanSchema,\n KanbanAction,\n PivotColumnAnnotationId,\n TypenameAnnotationId,\n createKanban,\n isKanban\n};\n//# sourceMappingURL=types.cjs.map\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,4BAOO;",
6
6
  "names": []
7
7
  }