@dxos/plugin-kanban 0.7.4 → 0.7.5-main.499c70c

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 (81) hide show
  1. package/dist/lib/browser/chunk-JZBAL6SW.mjs +56 -0
  2. package/dist/lib/browser/chunk-JZBAL6SW.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +218 -109
  4. package/dist/lib/browser/index.mjs.map +4 -4
  5. package/dist/lib/browser/meta.json +1 -1
  6. package/dist/lib/browser/types.mjs +12 -0
  7. package/dist/lib/node/chunk-BE2FRW7E.cjs +77 -0
  8. package/dist/lib/node/chunk-BE2FRW7E.cjs.map +7 -0
  9. package/dist/lib/node/index.cjs +210 -102
  10. package/dist/lib/node/index.cjs.map +4 -4
  11. package/dist/lib/node/meta.json +1 -1
  12. package/dist/lib/node/{types/index.cjs → types.cjs} +8 -10
  13. package/dist/lib/node/types.cjs.map +7 -0
  14. package/dist/lib/node-esm/chunk-L7JM7LGJ.mjs +57 -0
  15. package/dist/lib/node-esm/chunk-L7JM7LGJ.mjs.map +7 -0
  16. package/dist/lib/node-esm/index.mjs +218 -109
  17. package/dist/lib/node-esm/index.mjs.map +4 -4
  18. package/dist/lib/node-esm/meta.json +1 -1
  19. package/dist/lib/node-esm/types.mjs +13 -0
  20. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  21. package/dist/types/src/components/KanbanContainer.d.ts +7 -0
  22. package/dist/types/src/components/KanbanContainer.d.ts.map +1 -0
  23. package/dist/types/src/components/KanbanViewEditor.d.ts +8 -0
  24. package/dist/types/src/components/KanbanViewEditor.d.ts.map +1 -0
  25. package/dist/types/src/components/index.d.ts +1 -3
  26. package/dist/types/src/components/index.d.ts.map +1 -1
  27. package/dist/types/src/translations.d.ts +32 -0
  28. package/dist/types/src/translations.d.ts.map +1 -1
  29. package/dist/types/src/types.d.ts +61 -0
  30. package/dist/types/src/types.d.ts.map +1 -0
  31. package/dist/types/tsconfig.tsbuildinfo +1 -0
  32. package/package.json +21 -23
  33. package/src/KanbanPlugin.tsx +50 -78
  34. package/src/components/KanbanContainer.tsx +79 -0
  35. package/src/components/KanbanViewEditor.tsx +72 -0
  36. package/src/components/index.ts +2 -4
  37. package/src/translations.ts +8 -2
  38. package/src/{types/types.ts → types.ts} +42 -11
  39. package/dist/lib/browser/KanbanMain-I5TMXNIY.mjs +0 -444
  40. package/dist/lib/browser/KanbanMain-I5TMXNIY.mjs.map +0 -7
  41. package/dist/lib/browser/chunk-4Y4TZ47E.mjs +0 -47
  42. package/dist/lib/browser/chunk-4Y4TZ47E.mjs.map +0 -7
  43. package/dist/lib/browser/types/index.mjs +0 -14
  44. package/dist/lib/node/KanbanMain-4OWAWTS4.cjs +0 -453
  45. package/dist/lib/node/KanbanMain-4OWAWTS4.cjs.map +0 -7
  46. package/dist/lib/node/chunk-LTR4WYI2.cjs +0 -67
  47. package/dist/lib/node/chunk-LTR4WYI2.cjs.map +0 -7
  48. package/dist/lib/node/types/index.cjs.map +0 -7
  49. package/dist/lib/node-esm/KanbanMain-PJC2JMJH.mjs +0 -445
  50. package/dist/lib/node-esm/KanbanMain-PJC2JMJH.mjs.map +0 -7
  51. package/dist/lib/node-esm/chunk-2ZBX5F7L.mjs +0 -48
  52. package/dist/lib/node-esm/chunk-2ZBX5F7L.mjs.map +0 -7
  53. package/dist/lib/node-esm/types/index.mjs +0 -15
  54. package/dist/types/src/components/KanbanBoard.d.ts +0 -6
  55. package/dist/types/src/components/KanbanBoard.d.ts.map +0 -1
  56. package/dist/types/src/components/KanbanCard.d.ts +0 -9
  57. package/dist/types/src/components/KanbanCard.d.ts.map +0 -1
  58. package/dist/types/src/components/KanbanColumn.d.ts +0 -14
  59. package/dist/types/src/components/KanbanColumn.d.ts.map +0 -1
  60. package/dist/types/src/components/KanbanMain.d.ts +0 -7
  61. package/dist/types/src/components/KanbanMain.d.ts.map +0 -1
  62. package/dist/types/src/components/util.d.ts +0 -7
  63. package/dist/types/src/components/util.d.ts.map +0 -1
  64. package/dist/types/src/stories/testing.d.ts +0 -19
  65. package/dist/types/src/stories/testing.d.ts.map +0 -1
  66. package/dist/types/src/types/index.d.ts +0 -3
  67. package/dist/types/src/types/index.d.ts.map +0 -1
  68. package/dist/types/src/types/kanban.d.ts +0 -76
  69. package/dist/types/src/types/kanban.d.ts.map +0 -1
  70. package/dist/types/src/types/types.d.ts +0 -18
  71. package/dist/types/src/types/types.d.ts.map +0 -1
  72. package/src/components/KanbanBoard.tsx +0 -195
  73. package/src/components/KanbanCard.tsx +0 -82
  74. package/src/components/KanbanColumn.tsx +0 -143
  75. package/src/components/KanbanMain.tsx +0 -37
  76. package/src/components/util.ts +0 -38
  77. package/src/stories/testing.ts +0 -29
  78. package/src/types/index.ts +0 -6
  79. package/src/types/kanban.ts +0 -22
  80. /package/dist/lib/browser/{types/index.mjs.map → types.mjs.map} +0 -0
  81. /package/dist/lib/node-esm/{types/index.mjs.map → types.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"inputs":{"packages/plugins/experimental/plugin-kanban/src/meta.ts":{"bytes":1585,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/KanbanCard.tsx":{"bytes":11021,"imports":[{"path":"@dnd-kit/sortable","kind":"import-statement","external":true},{"path":"@dnd-kit/utilities","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/util.ts":{"bytes":4112,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/KanbanColumn.tsx":{"bytes":18468,"imports":[{"path":"@dnd-kit/core","kind":"import-statement","external":true},{"path":"@dnd-kit/sortable","kind":"import-statement","external":true},{"path":"@dnd-kit/utilities","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanCard.tsx","kind":"import-statement","original":"./KanbanCard"},{"path":"packages/plugins/experimental/plugin-kanban/src/components/util.ts","kind":"import-statement","original":"./util"},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/KanbanBoard.tsx":{"bytes":23457,"imports":[{"path":"@dnd-kit/core","kind":"import-statement","external":true},{"path":"@dnd-kit/sortable","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanCard.tsx","kind":"import-statement","original":"./KanbanCard"},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanColumn.tsx","kind":"import-statement","original":"./KanbanColumn"},{"path":"packages/plugins/experimental/plugin-kanban/src/components/util.ts","kind":"import-statement","original":"./util"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/types/kanban.ts":{"bytes":3260,"imports":[{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/types/types.ts":{"bytes":3935,"imports":[{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/types/index.ts":{"bytes":600,"imports":[{"path":"packages/plugins/experimental/plugin-kanban/src/types/kanban.ts","kind":"import-statement","original":"./kanban"},{"path":"packages/plugins/experimental/plugin-kanban/src/types/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/KanbanMain.tsx":{"bytes":4739,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanBoard.tsx","kind":"import-statement","original":"./KanbanBoard"},{"path":"packages/plugins/experimental/plugin-kanban/src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/index.ts":{"bytes":784,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanMain.tsx","kind":"dynamic-import","original":"./KanbanMain"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/translations.ts":{"bytes":2509,"imports":[{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx":{"bytes":16523,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/experimental/plugin-kanban/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/experimental/plugin-kanban/src/types/index.ts","kind":"import-statement","original":"./types"},{"path":"packages/plugins/experimental/plugin-kanban/src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/index.ts":{"bytes":795,"imports":[{"path":"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"},{"path":"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/experimental/plugin-kanban/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":8898},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-4Y4TZ47E.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-graph","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/KanbanMain-I5TMXNIY.mjs","kind":"dynamic-import"}],"exports":["KanbanPlugin","default"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/index.ts","inputs":{"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx":{"bytesInOutput":4199},"packages/plugins/experimental/plugin-kanban/src/components/index.ts":{"bytesInOutput":96},"packages/plugins/experimental/plugin-kanban/src/translations.ts":{"bytesInOutput":619},"packages/plugins/experimental/plugin-kanban/src/index.ts":{"bytesInOutput":32}},"bytes":5552},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs","kind":"import-statement"}],"exports":["KANBAN_PLUGIN","default"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/meta.ts","inputs":{},"bytes":161},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/types/index.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-4Y4TZ47E.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs","kind":"import-statement"}],"exports":["KanbanAction","KanbanColumnType","KanbanItemType","KanbanType"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/types/index.ts","inputs":{},"bytes":254},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/KanbanMain-I5TMXNIY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":31751},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/KanbanMain-I5TMXNIY.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-4Y4TZ47E.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/live-object","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dnd-kit/core","kind":"import-statement","external":true},{"path":"@dnd-kit/sortable","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"@dnd-kit/sortable","kind":"import-statement","external":true},{"path":"@dnd-kit/utilities","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dnd-kit/core","kind":"import-statement","external":true},{"path":"@dnd-kit/sortable","kind":"import-statement","external":true},{"path":"@dnd-kit/utilities","kind":"import-statement","external":true},{"path":"@phosphor-icons/react","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/components/KanbanMain.tsx","inputs":{"packages/plugins/experimental/plugin-kanban/src/components/KanbanMain.tsx":{"bytesInOutput":964},"packages/plugins/experimental/plugin-kanban/src/components/KanbanBoard.tsx":{"bytesInOutput":5200},"packages/plugins/experimental/plugin-kanban/src/components/KanbanCard.tsx":{"bytesInOutput":2924},"packages/plugins/experimental/plugin-kanban/src/components/KanbanColumn.tsx":{"bytesInOutput":5070},"packages/plugins/experimental/plugin-kanban/src/components/util.ts":{"bytesInOutput":755}},"bytes":15762},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-4Y4TZ47E.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":3909},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-4Y4TZ47E.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs","kind":"import-statement"},{"path":"@dxos/echo-schema","kind":"import-statement","external":true}],"exports":["KanbanAction","KanbanColumnType","KanbanItemType","KanbanType"],"inputs":{"packages/plugins/experimental/plugin-kanban/src/types/kanban.ts":{"bytesInOutput":714},"packages/plugins/experimental/plugin-kanban/src/types/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-kanban/src/types/types.ts":{"bytesInOutput":214}},"bytes":1243},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":746},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs":{"imports":[],"exports":["KANBAN_PLUGIN","meta_default"],"inputs":{"packages/plugins/experimental/plugin-kanban/src/meta.ts":{"bytesInOutput":320}},"bytes":468}}}
1
+ {"inputs":{"packages/plugins/experimental/plugin-kanban/src/components/KanbanContainer.tsx":{"bytes":8391,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","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}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/index.ts":{"bytes":545,"imports":[{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/meta.ts":{"bytes":1585,"imports":[],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/types.ts":{"bytes":7681,"imports":[{"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/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytes":8135,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","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":"packages/plugins/experimental/plugin-kanban/src/types.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/translations.ts":{"bytes":3142,"imports":[{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx":{"bytes":13760,"imports":[{"path":"react","kind":"import-statement","external":true},{"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/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"packages/plugins/experimental/plugin-kanban/src/components/index.ts","kind":"import-statement","original":"./components"},{"path":"packages/plugins/experimental/plugin-kanban/src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./components/KanbanViewEditor"},{"path":"packages/plugins/experimental/plugin-kanban/src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"packages/plugins/experimental/plugin-kanban/src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"packages/plugins/experimental/plugin-kanban/src/types.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"packages/plugins/experimental/plugin-kanban/src/index.ts":{"bytes":795,"imports":[{"path":"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"},{"path":"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"}],"format":"esm"}},"outputs":{"packages/plugins/experimental/plugin-kanban/dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15978},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/index.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-JZBAL6SW.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"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/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/invariant","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":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","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/react-ui-kanban","kind":"import-statement","external":true}],"exports":["KanbanPlugin","default"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/index.ts","inputs":{"packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx":{"bytesInOutput":3653},"packages/plugins/experimental/plugin-kanban/src/components/KanbanContainer.tsx":{"bytesInOutput":2185},"packages/plugins/experimental/plugin-kanban/src/components/index.ts":{"bytesInOutput":0},"packages/plugins/experimental/plugin-kanban/src/components/KanbanViewEditor.tsx":{"bytesInOutput":1900},"packages/plugins/experimental/plugin-kanban/src/translations.ts":{"bytesInOutput":804},"packages/plugins/experimental/plugin-kanban/src/index.ts":{"bytesInOutput":32}},"bytes":9251},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/meta.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/meta.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs","kind":"import-statement"}],"exports":["KANBAN_PLUGIN","default"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/meta.ts","inputs":{},"bytes":161},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/types.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/types.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-JZBAL6SW.mjs","kind":"import-statement"},{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs","kind":"import-statement"}],"exports":["KanbanAction","createKanban","isKanban"],"entryPoint":"packages/plugins/experimental/plugin-kanban/src/types.ts","inputs":{},"bytes":204},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-JZBAL6SW.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4307},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-JZBAL6SW.mjs":{"imports":[{"path":"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs","kind":"import-statement"},{"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":["KanbanAction","createKanban","isKanban"],"inputs":{"packages/plugins/experimental/plugin-kanban/src/types.ts":{"bytesInOutput":1368}},"bytes":1585},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":746},"packages/plugins/experimental/plugin-kanban/dist/lib/browser/chunk-LG4OMN5S.mjs":{"imports":[],"exports":["KANBAN_PLUGIN","meta_default"],"inputs":{"packages/plugins/experimental/plugin-kanban/src/meta.ts":{"bytesInOutput":320}},"bytes":468}}}
@@ -0,0 +1,12 @@
1
+ import {
2
+ KanbanAction,
3
+ createKanban,
4
+ isKanban
5
+ } from "./chunk-JZBAL6SW.mjs";
6
+ import "./chunk-LG4OMN5S.mjs";
7
+ export {
8
+ KanbanAction,
9
+ createKanban,
10
+ isKanban
11
+ };
12
+ //# sourceMappingURL=types.mjs.map
@@ -0,0 +1,77 @@
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 chunk_BE2FRW7E_exports = {};
20
+ __export(chunk_BE2FRW7E_exports, {
21
+ KanbanAction: () => KanbanAction,
22
+ createKanban: () => createKanban,
23
+ isKanban: () => isKanban
24
+ });
25
+ module.exports = __toCommonJS(chunk_BE2FRW7E_exports);
26
+ var import_chunk_MBAGHRFM = require("./chunk-MBAGHRFM.cjs");
27
+ var import_echo_schema = require("@dxos/echo-schema");
28
+ var import_echo = require("@dxos/react-client/echo");
29
+ var import_react_ui_kanban = require("@dxos/react-ui-kanban");
30
+ var import_testing = require("@dxos/react-ui-kanban/testing");
31
+ var import_schema = require("@dxos/schema");
32
+ var KanbanAction;
33
+ (function(KanbanAction2) {
34
+ const KANBAN_ACTION = `${import_chunk_MBAGHRFM.KANBAN_PLUGIN}/action`;
35
+ class Create extends import_echo_schema.S.TaggedClass()(`${KANBAN_ACTION}/create`, {
36
+ input: import_echo_schema.S.Struct({
37
+ name: import_echo_schema.S.optional(import_echo_schema.S.String),
38
+ space: import_echo.SpaceSchema
39
+ }),
40
+ output: import_echo_schema.S.Struct({
41
+ object: import_react_ui_kanban.KanbanType
42
+ })
43
+ }) {
44
+ }
45
+ KanbanAction2.Create = Create;
46
+ class DeleteCardField extends import_echo_schema.S.TaggedClass()(`${KANBAN_ACTION}/delete-card-field`, {
47
+ input: import_echo_schema.S.Struct({
48
+ kanban: import_react_ui_kanban.KanbanType,
49
+ fieldId: import_echo_schema.S.String,
50
+ // TODO(wittjosiah): Separate fields for undo data?
51
+ deletionData: import_echo_schema.S.optional(import_echo_schema.S.Struct({
52
+ field: import_schema.FieldSchema,
53
+ // TODO(wittjosiah): This creates a type error.
54
+ // props: PropertySchema,
55
+ props: import_echo_schema.S.Any,
56
+ index: import_echo_schema.S.Number
57
+ }))
58
+ }),
59
+ output: import_echo_schema.S.Void
60
+ }) {
61
+ }
62
+ KanbanAction2.DeleteCardField = DeleteCardField;
63
+ })(KanbanAction || (KanbanAction = {}));
64
+ var isKanban = (object) => object != null && object instanceof import_react_ui_kanban.KanbanType;
65
+ var createKanban = async (space) => {
66
+ const { kanban } = await (0, import_testing.initializeKanban)({
67
+ space
68
+ });
69
+ return kanban;
70
+ };
71
+ // Annotate the CommonJS export names for ESM import in node:
72
+ 0 && (module.exports = {
73
+ KanbanAction,
74
+ createKanban,
75
+ isKanban
76
+ });
77
+ //# sourceMappingURL=chunk-BE2FRW7E.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/types.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport type {\n IntentResolverProvides,\n MetadataRecordsProvides,\n SurfaceProvides,\n TranslationsProvides,\n} from '@dxos/app-framework';\nimport { S } from '@dxos/echo-schema';\nimport { type SchemaProvides } from '@dxos/plugin-space';\nimport { type Space, SpaceSchema } from '@dxos/react-client/echo';\nimport { KanbanType } from '@dxos/react-ui-kanban';\nimport { initializeKanban } from '@dxos/react-ui-kanban/testing';\nimport { FieldSchema } from '@dxos/schema';\n\nimport { KANBAN_PLUGIN } from './meta';\n\n/**\n * Kanban data model.\n * A Kanban board is a collection of columns, each of which contains a collection of items.\n * The layout of columns and items is controlled by models.\n * The underlying data model may be represented by direct object relationships\n * (e.g., a column object containing an array of ordered items) or projections constructed\n * by the model (e.g., a query of items based on metadata within a column object).\n */\n\nexport namespace KanbanAction {\n const KANBAN_ACTION = `${KANBAN_PLUGIN}/action`;\n\n export class Create extends S.TaggedClass<Create>()(`${KANBAN_ACTION}/create`, {\n input: S.Struct({\n name: S.optional(S.String),\n space: SpaceSchema,\n }),\n output: S.Struct({\n object: KanbanType,\n }),\n }) {}\n\n export class DeleteCardField extends S.TaggedClass<DeleteCardField>()(`${KANBAN_ACTION}/delete-card-field`, {\n input: S.Struct({\n kanban: KanbanType,\n fieldId: S.String,\n // TODO(wittjosiah): Separate fields for undo data?\n deletionData: S.optional(\n S.Struct({\n field: FieldSchema,\n // TODO(wittjosiah): This creates a type error.\n // props: PropertySchema,\n props: S.Any,\n index: S.Number,\n }),\n ),\n }),\n output: S.Void,\n }) {}\n}\n\nexport type KanbanPluginProvides = SurfaceProvides &\n IntentResolverProvides &\n MetadataRecordsProvides &\n TranslationsProvides &\n SchemaProvides;\n\n// TODO(burdon): Undo?\n// TODO(burdon): Typescript types (replace proto with annotations?)\n// TODO(burdon): Should pure components depend on ECHO? Relationship between ECHO object/array and Observable.\n// TODO(burdon): Can the plugin configure the object based on the data? E.g., how are the models constructed?\n// TODO(burdon): Create models. Simple first based on actual data.\n// Model is always a projection since the dragging state is tentative.\n\n// TODO(burdon): Extend model for moving items (in and across columns).\nexport interface KanbanModel {\n root: KanbanType;\n}\n\nexport type Location = {\n idx?: number;\n};\n\nexport const isKanban = (object: unknown): object is KanbanType => object != null && object instanceof KanbanType;\n\nexport const createKanban = async (space: Space) => {\n const { kanban } = await initializeKanban({ space });\n return kanban;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,yBAAkB;AAElB,kBAAwC;AACxC,6BAA2B;AAC3B,qBAAiC;AACjC,oBAA4B;;UAaXA,eAAAA;AACf,QAAMC,gBAAgB,GAAGC,mCAAAA;EAElB,MAAMC,eAAeC,qBAAEC,YAAW,EAAW,GAAGJ,aAAAA,WAAwB;IAC7EK,OAAOF,qBAAEG,OAAO;MACdC,MAAMJ,qBAAEK,SAASL,qBAAEM,MAAM;MACzBC,OAAOC;IACT,CAAA;IACAC,QAAQT,qBAAEG,OAAO;MACfO,QAAQC;IACV,CAAA;EACF,CAAA,EAAA;EAAI;gBARSZ,SAAAA;EAUN,MAAMa,wBAAwBZ,qBAAEC,YAAW,EAAoB,GAAGJ,aAAAA,sBAAmC;IAC1GK,OAAOF,qBAAEG,OAAO;MACdU,QAAQF;MACRG,SAASd,qBAAEM;;MAEXS,cAAcf,qBAAEK,SACdL,qBAAEG,OAAO;QACPa,OAAOC;;;QAGPC,OAAOlB,qBAAEmB;QACTC,OAAOpB,qBAAEqB;MACX,CAAA,CAAA;IAEJ,CAAA;IACAZ,QAAQT,qBAAEsB;EACZ,CAAA,EAAA;EAAI;gBAhBSV,kBAAAA;AAiBf,GA9BiBhB,iBAAAA,eAAAA,CAAAA,EAAAA;AAsDV,IAAM2B,WAAW,CAACb,WAA0CA,UAAU,QAAQA,kBAAkBC;AAEhG,IAAMa,eAAe,OAAOjB,UAAAA;AACjC,QAAM,EAAEM,OAAM,IAAK,UAAMY,iCAAiB;IAAElB;EAAM,CAAA;AAClD,SAAOM;AACT;",
6
+ "names": ["KanbanAction", "KANBAN_ACTION", "KANBAN_PLUGIN", "Create", "S", "TaggedClass", "input", "Struct", "name", "optional", "String", "space", "SpaceSchema", "output", "object", "KanbanType", "DeleteCardField", "kanban", "fieldId", "deletionData", "field", "FieldSchema", "props", "Any", "index", "Number", "Void", "isKanban", "createKanban", "initializeKanban"]
7
+ }
@@ -32,20 +32,142 @@ __export(node_exports, {
32
32
  default: () => src_default
33
33
  });
34
34
  module.exports = __toCommonJS(node_exports);
35
- var import_chunk_LTR4WYI2 = require("./chunk-LTR4WYI2.cjs");
35
+ var import_chunk_BE2FRW7E = require("./chunk-BE2FRW7E.cjs");
36
36
  var import_chunk_MBAGHRFM = require("./chunk-MBAGHRFM.cjs");
37
37
  var import_react = __toESM(require("react"));
38
38
  var import_app_framework = require("@dxos/app-framework");
39
- var import_live_object = require("@dxos/live-object");
40
- var import_plugin_client = require("@dxos/plugin-client");
41
- var import_plugin_graph = require("@dxos/plugin-graph");
42
- var import_plugin_space = require("@dxos/plugin-space");
39
+ var import_invariant = require("@dxos/invariant");
43
40
  var import_echo = require("@dxos/react-client/echo");
44
- var import_react2 = require("react");
45
- var KanbanMain = (0, import_react2.lazy)(() => import("./KanbanMain-4OWAWTS4.cjs"));
41
+ var import_react_ui_kanban = require("@dxos/react-ui-kanban");
42
+ var import_schema = require("@dxos/schema");
43
+ var import_react2 = __toESM(require("react"));
44
+ var import_invariant2 = require("@dxos/invariant");
45
+ var import_plugin_search = require("@dxos/plugin-search");
46
+ var import_echo2 = require("@dxos/react-client/echo");
47
+ var import_react_ui_kanban2 = require("@dxos/react-ui-kanban");
48
+ var import_react_ui_stack = require("@dxos/react-ui-stack");
49
+ var import_react3 = __toESM(require("react"));
50
+ var import_app_framework2 = require("@dxos/app-framework");
51
+ var import_echo3 = require("@dxos/react-client/echo");
52
+ var import_react_ui_form = require("@dxos/react-ui-form");
53
+ var import_react_ui_kanban3 = require("@dxos/react-ui-kanban");
54
+ var import_react_ui_kanban4 = require("@dxos/react-ui-kanban");
55
+ var __dxlog_file = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-kanban/src/components/KanbanContainer.tsx";
56
+ var KanbanContainer = ({ kanban }) => {
57
+ const [cardSchema, setCardSchema] = (0, import_react2.useState)();
58
+ const space = (0, import_echo2.getSpace)(kanban);
59
+ (0, import_react2.useEffect)(() => {
60
+ if (kanban.cardView && space) {
61
+ setCardSchema(space.db.schemaRegistry.getSchema(kanban.cardView.target.query.type));
62
+ }
63
+ }, [
64
+ kanban.cardView,
65
+ space
66
+ ]);
67
+ const objects = (0, import_echo2.useQuery)(space, cardSchema ? import_echo2.Filter.schema(cardSchema) : import_echo2.Filter.nothing());
68
+ const filteredObjects = (0, import_plugin_search.useGlobalFilteredObjects)(objects);
69
+ const model = (0, import_react_ui_kanban2.useKanbanModel)({
70
+ kanban,
71
+ cardSchema,
72
+ items: filteredObjects
73
+ });
74
+ const handleAddColumn = (0, import_react2.useCallback)((columnValue) => model?.addEmptyColumn(columnValue), [
75
+ model
76
+ ]);
77
+ const handleAddCard = (0, import_react2.useCallback)((columnValue) => {
78
+ if (space && cardSchema) {
79
+ space.db.add((0, import_echo2.create)(cardSchema, {
80
+ title: "",
81
+ description: "",
82
+ state: columnValue
83
+ }));
84
+ }
85
+ }, [
86
+ space,
87
+ cardSchema
88
+ ]);
89
+ const handleRemoveCard = (0, import_react2.useCallback)((card) => {
90
+ (0, import_invariant2.invariant)(space, void 0, {
91
+ F: __dxlog_file,
92
+ L: 51,
93
+ S: void 0,
94
+ A: [
95
+ "space",
96
+ ""
97
+ ]
98
+ });
99
+ space.db.remove(card);
100
+ }, [
101
+ space
102
+ ]);
103
+ const handleRemoveEmptyColumn = (0, import_react2.useCallback)((columnValue) => {
104
+ model?.removeColumnFromArrangement(columnValue);
105
+ }, [
106
+ model
107
+ ]);
108
+ return /* @__PURE__ */ import_react2.default.createElement(import_react_ui_stack.StackItem.Content, {
109
+ toolbar: false
110
+ }, model ? /* @__PURE__ */ import_react2.default.createElement(import_react_ui_kanban2.Kanban, {
111
+ model,
112
+ onAddCard: handleAddCard,
113
+ onAddColumn: handleAddColumn,
114
+ onRemoveCard: handleRemoveCard,
115
+ onRemoveEmptyColumn: handleRemoveEmptyColumn
116
+ }) : /* @__PURE__ */ import_react2.default.createElement("span", null, "Loading"));
117
+ };
118
+ var KanbanViewEditor = ({ kanban }) => {
119
+ const { dispatchPromise: dispatch } = (0, import_app_framework2.useIntentDispatcher)();
120
+ const space = (0, import_echo3.getSpace)(kanban);
121
+ const [schema, setSchema] = (0, import_react3.useState)(space && kanban?.cardView?.target?.query?.type ? space.db.schemaRegistry.getSchema(kanban.cardView.target.query.type) : void 0);
122
+ (0, import_react3.useEffect)(() => {
123
+ if (space && kanban?.cardView?.target?.query?.type) {
124
+ const unsubscribe = space.db.schemaRegistry.query({
125
+ typename: kanban?.cardView?.target?.query?.type
126
+ }).subscribe((query) => {
127
+ const [schema2] = query.results;
128
+ if (schema2) {
129
+ setSchema(schema2);
130
+ }
131
+ });
132
+ return unsubscribe;
133
+ }
134
+ }, [
135
+ space,
136
+ kanban?.cardView?.target?.query?.type
137
+ ]);
138
+ const handleDelete = (0, import_react3.useCallback)((fieldId) => dispatch?.((0, import_app_framework2.createIntent)(import_chunk_BE2FRW7E.KanbanAction.DeleteCardField, {
139
+ kanban,
140
+ fieldId
141
+ })), [
142
+ dispatch,
143
+ kanban
144
+ ]);
145
+ if (!space || !schema || !kanban.cardView?.target) {
146
+ return null;
147
+ }
148
+ return /* @__PURE__ */ import_react3.default.createElement(import_react3.default.Fragment, null, /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form.Form, {
149
+ schema: import_react_ui_kanban3.KanbanPropsSchema,
150
+ values: {
151
+ columnField: kanban.columnField
152
+ },
153
+ onSave: ({ columnField }) => {
154
+ kanban.columnField = columnField;
155
+ kanban.arrangement = void 0;
156
+ }
157
+ }), /* @__PURE__ */ import_react3.default.createElement(import_react_ui_form.ViewEditor, {
158
+ registry: space.db.schemaRegistry,
159
+ schema,
160
+ view: kanban.cardView.target,
161
+ onDelete: handleDelete
162
+ }));
163
+ };
164
+ var KanbanViewEditor_default = KanbanViewEditor;
46
165
  var translations_default = [
47
166
  {
48
167
  "en-US": {
168
+ [import_react_ui_kanban4.KanbanType.typename]: {
169
+ "typename label": "Kanban"
170
+ },
49
171
  [import_chunk_MBAGHRFM.KANBAN_PLUGIN]: {
50
172
  "plugin name": "Kanban",
51
173
  "kanban title label": "Title",
@@ -55,131 +177,117 @@ var translations_default = [
55
177
  "item title label": "Item title",
56
178
  "item title placeholder": "New item",
57
179
  "add column label": "Add column",
58
- "add item label": "Add item",
180
+ "add item label": "Add card",
59
181
  "delete column label": "Delete column",
60
- "delete item label": "Delete item",
61
- "create kanban label": "Create kanban"
182
+ "delete item label": "Delete card",
183
+ "create kanban label": "Create kanban",
184
+ "card field deleted label": "Card field deleted"
62
185
  }
63
186
  }
64
187
  }
65
188
  ];
189
+ var __dxlog_file2 = "/home/runner/work/dxos/dxos/packages/plugins/experimental/plugin-kanban/src/KanbanPlugin.tsx";
66
190
  var KanbanPlugin = () => {
67
191
  return {
68
192
  meta: import_chunk_MBAGHRFM.meta_default,
69
193
  provides: {
70
194
  metadata: {
71
195
  records: {
72
- [import_chunk_LTR4WYI2.KanbanType.typename]: {
73
- createObject: import_chunk_LTR4WYI2.KanbanAction.CREATE,
196
+ [import_react_ui_kanban.KanbanType.typename]: {
197
+ createObject: (props) => (0, import_app_framework.createIntent)(import_chunk_BE2FRW7E.KanbanAction.Create, props),
74
198
  placeholder: [
75
199
  "kanban title placeholder",
76
200
  {
77
201
  ns: import_chunk_MBAGHRFM.KANBAN_PLUGIN
78
202
  }
79
203
  ],
80
- icon: "ph--kanban--regular",
81
- // TODO(wittjosiah): Move out of metadata.
82
- loadReferences: (kanban) => (0, import_echo.loadObjectReferences)(kanban, (kanban2) => kanban2.columns)
83
- },
84
- [import_chunk_LTR4WYI2.KanbanColumnType.typename]: {
85
- // TODO(wittjosiah): Move out of metadata.
86
- loadReferences: (column) => (0, import_echo.loadObjectReferences)(column, (column2) => column2.items)
87
- },
88
- [import_chunk_LTR4WYI2.KanbanItemType.typename]: {
89
- // TODO(wittjosiah): Move out of metadata.
90
- loadReferences: (item) => []
204
+ icon: "ph--kanban--regular"
91
205
  }
92
206
  }
93
207
  },
94
208
  echo: {
95
209
  schema: [
96
- import_chunk_LTR4WYI2.KanbanType
97
- ],
98
- system: [
99
- import_chunk_LTR4WYI2.KanbanColumnType,
100
- import_chunk_LTR4WYI2.KanbanItemType
210
+ import_react_ui_kanban.KanbanType
101
211
  ]
102
212
  },
103
- translations: translations_default,
104
- graph: {
105
- builder: (plugins) => {
106
- const client = (0, import_app_framework.resolvePlugin)(plugins, import_plugin_client.parseClientPlugin)?.provides.client;
107
- const dispatch = (0, import_app_framework.resolvePlugin)(plugins, import_app_framework.parseIntentPlugin)?.provides.intent.dispatch;
108
- if (!client || !dispatch) {
109
- return [];
110
- }
111
- return (0, import_plugin_graph.createExtension)({
112
- id: import_chunk_LTR4WYI2.KanbanAction.CREATE,
113
- filter: (node) => (0, import_plugin_graph.isActionGroup)(node) && node.id.startsWith(import_plugin_space.SpaceAction.ADD_OBJECT),
114
- actions: ({ node }) => {
115
- const id = node.id.split("/").at(-1);
116
- const [spaceId, objectId] = id?.split(":") ?? [];
117
- const space = client.spaces.get().find((space2) => space2.id === spaceId);
118
- const object = objectId && space?.db.getObjectById(objectId);
119
- const target = objectId ? object : space;
120
- if (!target) {
121
- return;
122
- }
123
- return [
124
- {
125
- id: `${import_chunk_MBAGHRFM.KANBAN_PLUGIN}/create/${node.id}`,
126
- data: async () => {
127
- await dispatch([
128
- {
129
- plugin: import_chunk_MBAGHRFM.KANBAN_PLUGIN,
130
- action: import_chunk_LTR4WYI2.KanbanAction.CREATE
131
- },
132
- {
133
- action: import_plugin_space.SpaceAction.ADD_OBJECT,
134
- data: {
135
- target
136
- }
137
- },
138
- {
139
- action: import_app_framework.NavigationAction.OPEN
140
- }
141
- ]);
142
- },
143
- properties: {
144
- label: [
145
- "create kanban label",
146
- {
147
- ns: import_chunk_MBAGHRFM.KANBAN_PLUGIN
148
- }
149
- ],
150
- icon: "ph--kanban--regular",
151
- testId: "kanbanPlugin.createObject"
152
- }
153
- }
154
- ];
155
- }
156
- });
157
- }
158
- },
213
+ translations: [
214
+ ...translations_default,
215
+ ...import_react_ui_kanban.translations
216
+ ],
159
217
  surface: {
160
- component: ({ data, role }) => {
161
- switch (role) {
162
- case "main":
163
- return data.active instanceof import_chunk_LTR4WYI2.KanbanType ? /* @__PURE__ */ import_react.default.createElement(KanbanMain, {
164
- kanban: data.active
165
- }) : null;
166
- default:
167
- return null;
168
- }
169
- }
218
+ definitions: () => [
219
+ (0, import_app_framework.createSurface)({
220
+ id: `${import_chunk_MBAGHRFM.KANBAN_PLUGIN}/kanban`,
221
+ role: [
222
+ "article",
223
+ "section"
224
+ ],
225
+ filter: (data) => (0, import_chunk_BE2FRW7E.isKanban)(data.subject),
226
+ component: ({ data, role }) => /* @__PURE__ */ import_react.default.createElement(KanbanContainer, {
227
+ kanban: data.subject,
228
+ role
229
+ })
230
+ }),
231
+ (0, import_app_framework.createSurface)({
232
+ id: `${import_chunk_MBAGHRFM.KANBAN_PLUGIN}/settings`,
233
+ role: "complementary--settings",
234
+ filter: (data) => (0, import_chunk_BE2FRW7E.isKanban)(data.subject),
235
+ component: ({ data }) => /* @__PURE__ */ import_react.default.createElement(KanbanViewEditor_default, {
236
+ kanban: data.subject
237
+ })
238
+ })
239
+ ]
170
240
  },
171
241
  intent: {
172
- resolver: (intent) => {
173
- switch (intent.action) {
174
- case import_chunk_LTR4WYI2.KanbanAction.CREATE: {
242
+ resolvers: () => [
243
+ (0, import_app_framework.createResolver)(import_chunk_BE2FRW7E.KanbanAction.Create, async ({ space }) => ({
244
+ data: {
245
+ object: await (0, import_chunk_BE2FRW7E.createKanban)(space)
246
+ }
247
+ })),
248
+ (0, import_app_framework.createResolver)(import_chunk_BE2FRW7E.KanbanAction.DeleteCardField, ({ kanban, fieldId, deletionData }, undo) => {
249
+ (0, import_invariant.invariant)(kanban.cardView, void 0, {
250
+ F: __dxlog_file2,
251
+ L: 58,
252
+ S: void 0,
253
+ A: [
254
+ "kanban.cardView",
255
+ ""
256
+ ]
257
+ });
258
+ const schema = kanban.cardView.target && (0, import_echo.getSpace)(kanban)?.db.schemaRegistry.getSchema(kanban.cardView.target.query.type);
259
+ (0, import_invariant.invariant)(schema, void 0, {
260
+ F: __dxlog_file2,
261
+ L: 63,
262
+ S: void 0,
263
+ A: [
264
+ "schema",
265
+ ""
266
+ ]
267
+ });
268
+ const projection = new import_schema.ViewProjection(schema, kanban.cardView.target);
269
+ if (!undo) {
270
+ const { deleted, index } = projection.deleteFieldProjection(fieldId);
175
271
  return {
176
- data: (0, import_live_object.create)(import_chunk_LTR4WYI2.KanbanType, {
177
- columns: []
178
- })
272
+ undoable: {
273
+ message: translations_default[0]["en-US"][import_chunk_MBAGHRFM.KANBAN_PLUGIN]["card field deleted label"],
274
+ data: {
275
+ deletionData: {
276
+ ...deleted,
277
+ index
278
+ }
279
+ }
280
+ }
179
281
  };
282
+ } else if (undo && deletionData) {
283
+ const { field, props, index } = deletionData;
284
+ projection.setFieldProjection({
285
+ field,
286
+ props
287
+ }, index);
180
288
  }
181
- }
182
- }
289
+ })
290
+ ]
183
291
  }
184
292
  }
185
293
  };