@dxos/plugin-kanban 0.8.4-main.2c6827d → 0.8.4-main.3c1ae3b

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 (50) hide show
  1. package/dist/lib/browser/{chunk-HO3LQ5T7.mjs → chunk-PEQVHFOX.mjs} +24 -9
  2. package/dist/lib/browser/chunk-PEQVHFOX.mjs.map +7 -0
  3. package/dist/lib/browser/index.mjs +22 -24
  4. package/dist/lib/browser/index.mjs.map +3 -3
  5. package/dist/lib/browser/{intent-resolver-OPYUDNSU.mjs → intent-resolver-NHCWHMPW.mjs} +11 -11
  6. package/dist/lib/browser/intent-resolver-NHCWHMPW.mjs.map +7 -0
  7. package/dist/lib/browser/meta.json +1 -1
  8. package/dist/lib/browser/{react-surface-X54TNDDN.mjs → react-surface-NSCKM4QW.mjs} +74 -92
  9. package/dist/lib/browser/react-surface-NSCKM4QW.mjs.map +7 -0
  10. package/dist/lib/browser/types/index.mjs +5 -3
  11. package/dist/lib/node-esm/{chunk-QZMZU5HM.mjs → chunk-LTCOYU73.mjs} +24 -9
  12. package/dist/lib/node-esm/chunk-LTCOYU73.mjs.map +7 -0
  13. package/dist/lib/node-esm/index.mjs +22 -24
  14. package/dist/lib/node-esm/index.mjs.map +3 -3
  15. package/dist/lib/node-esm/{intent-resolver-BDKNXV3R.mjs → intent-resolver-L2OEBOJW.mjs} +11 -11
  16. package/dist/lib/node-esm/intent-resolver-L2OEBOJW.mjs.map +7 -0
  17. package/dist/lib/node-esm/meta.json +1 -1
  18. package/dist/lib/node-esm/{react-surface-CVDMIHSC.mjs → react-surface-WXYTWOY2.mjs} +74 -92
  19. package/dist/lib/node-esm/react-surface-WXYTWOY2.mjs.map +7 -0
  20. package/dist/lib/node-esm/types/index.mjs +5 -3
  21. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  22. package/dist/types/src/capabilities/intent-resolver.d.ts.map +1 -1
  23. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  24. package/dist/types/src/components/KanbanContainer.d.ts +3 -3
  25. package/dist/types/src/components/KanbanContainer.d.ts.map +1 -1
  26. package/dist/types/src/components/KanbanContainer.stories.d.ts +21 -8
  27. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +1 -1
  28. package/dist/types/src/components/KanbanViewEditor.d.ts +3 -3
  29. package/dist/types/src/components/KanbanViewEditor.d.ts.map +1 -1
  30. package/dist/types/src/translations.d.ts +21 -9
  31. package/dist/types/src/translations.d.ts.map +1 -1
  32. package/dist/types/src/types/schema.d.ts +5 -1
  33. package/dist/types/src/types/schema.d.ts.map +1 -1
  34. package/dist/types/tsconfig.tsbuildinfo +1 -1
  35. package/package.json +32 -32
  36. package/src/KanbanPlugin.tsx +9 -15
  37. package/src/capabilities/artifact-definition.ts +1 -1
  38. package/src/capabilities/intent-resolver.ts +4 -11
  39. package/src/capabilities/react-surface.tsx +15 -21
  40. package/src/components/KanbanContainer.stories.tsx +21 -47
  41. package/src/components/KanbanContainer.tsx +16 -30
  42. package/src/components/KanbanViewEditor.tsx +24 -34
  43. package/src/translations.ts +5 -5
  44. package/src/types/schema.ts +17 -6
  45. package/dist/lib/browser/chunk-HO3LQ5T7.mjs.map +0 -7
  46. package/dist/lib/browser/intent-resolver-OPYUDNSU.mjs.map +0 -7
  47. package/dist/lib/browser/react-surface-X54TNDDN.mjs.map +0 -7
  48. package/dist/lib/node-esm/chunk-QZMZU5HM.mjs.map +0 -7
  49. package/dist/lib/node-esm/intent-resolver-BDKNXV3R.mjs.map +0 -7
  50. package/dist/lib/node-esm/react-surface-CVDMIHSC.mjs.map +0 -7
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/intent-resolver.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport { Capabilities, type PluginContext, contributes, createResolver } from '@dxos/app-framework';\nimport { invariant } from '@dxos/invariant';\nimport { getSpace } from '@dxos/react-client/echo';\nimport { Kanban } from '@dxos/react-ui-kanban/types';\nimport { ProjectionModel, View, getTypenameFromQuery } from '@dxos/schema';\n\nimport { meta } from '../meta';\nimport { KanbanAction } from '../types';\n\nexport default (context: PluginContext) =>\n contributes(Capabilities.IntentResolver, [\n createResolver({\n intent: KanbanAction.Create,\n resolve: async ({ space, name, typename, initialPivotColumn }) => {\n const { view } = await View.makeFromSpace({ space, typename, pivotFieldName: initialPivotColumn });\n const kanban = Kanban.make({ name, view });\n return { data: { object: kanban } };\n },\n }),\n createResolver({\n intent: KanbanAction.DeleteCardField,\n resolve: async ({ view, fieldId, deletionData }, undo) => {\n const schema = getSpace(view)?.db.schemaRegistry.getSchema(getTypenameFromQuery(view.query.ast)!);\n invariant(schema);\n const projection = new ProjectionModel(schema.jsonSchema, view.projection);\n\n if (!undo) {\n const { deleted, index } = projection.deleteFieldProjection(fieldId);\n return {\n undoable: {\n message: ['card field deleted label', { ns: meta.id }],\n data: { deletionData: { ...deleted, index } },\n },\n };\n } else if (undo && deletionData) {\n const { field, props, index } = deletionData;\n projection.setFieldProjection({ field, props }, index);\n }\n },\n }),\n createResolver({\n intent: KanbanAction.DeleteCard,\n resolve: ({ card }, undo) => {\n const space = getSpace(card);\n invariant(space);\n\n if (!undo) {\n space.db.remove(card);\n return {\n undoable: {\n message: ['card deleted label', { ns: meta.id }],\n data: { card },\n },\n };\n } else {\n space.db.add(card);\n }\n },\n }),\n ]);\n"],
5
+ "mappings": ";;;;;;;AAIA,SAASA,cAAkCC,aAAaC,sBAAsB;AAC9E,SAASC,iBAAiB;AAC1B,SAASC,gBAAgB;AACzB,SAASC,cAAc;AACvB,SAASC,iBAAiBC,MAAMC,4BAA4B;;AAK5D,IAAA,2BAAe,CAACC,YACdC,YAAYC,aAAaC,gBAAgB;EACvCC,eAAe;IACbC,QAAQC,aAAaC;IACrBC,SAAS,OAAO,EAAEC,OAAOC,MAAMC,UAAUC,mBAAkB,MAAE;AAC3D,YAAM,EAAEC,KAAI,IAAK,MAAMC,KAAKC,cAAc;QAAEN;QAAOE;QAAUK,gBAAgBJ;MAAmB,CAAA;AAChG,YAAMK,SAASC,OAAOC,KAAK;QAAET;QAAMG;MAAK,CAAA;AACxC,aAAO;QAAEO,MAAM;UAAEC,QAAQJ;QAAO;MAAE;IACpC;EACF,CAAA;EACAb,eAAe;IACbC,QAAQC,aAAagB;IACrBd,SAAS,OAAO,EAAEK,MAAMU,SAASC,aAAY,GAAIC,SAAAA;AAC/C,YAAMC,SAASC,SAASd,IAAAA,GAAOe,GAAGC,eAAeC,UAAUC,qBAAqBlB,KAAKmB,MAAMC,GAAG,CAAA;AAC9FC,gBAAUR,QAAAA,QAAAA;;;;;;;;;AACV,YAAMS,aAAa,IAAIC,gBAAgBV,OAAOW,YAAYxB,KAAKsB,UAAU;AAEzE,UAAI,CAACV,MAAM;AACT,cAAM,EAAEa,SAASC,MAAK,IAAKJ,WAAWK,sBAAsBjB,OAAAA;AAC5D,eAAO;UACLkB,UAAU;YACRC,SAAS;cAAC;cAA4B;gBAAEC,IAAIC,KAAKC;cAAG;;YACpDzB,MAAM;cAAEI,cAAc;gBAAE,GAAGc;gBAASC;cAAM;YAAE;UAC9C;QACF;MACF,WAAWd,QAAQD,cAAc;AAC/B,cAAM,EAAEsB,OAAOC,OAAOR,MAAK,IAAKf;AAChCW,mBAAWa,mBAAmB;UAAEF;UAAOC;QAAM,GAAGR,KAAAA;MAClD;IACF;EACF,CAAA;EACAnC,eAAe;IACbC,QAAQC,aAAa2C;IACrBzC,SAAS,CAAC,EAAE0C,KAAI,GAAIzB,SAAAA;AAClB,YAAMhB,QAAQkB,SAASuB,IAAAA;AACvBhB,gBAAUzB,OAAAA,QAAAA;;;;;;;;;AAEV,UAAI,CAACgB,MAAM;AACThB,cAAMmB,GAAGuB,OAAOD,IAAAA;AAChB,eAAO;UACLT,UAAU;YACRC,SAAS;cAAC;cAAsB;gBAAEC,IAAIC,KAAKC;cAAG;;YAC9CzB,MAAM;cAAE8B;YAAK;UACf;QACF;MACF,OAAO;AACLzC,cAAMmB,GAAGwB,IAAIF,IAAAA;MACf;IACF;EACF,CAAA;CACD;",
6
+ "names": ["Capabilities", "contributes", "createResolver", "invariant", "getSpace", "Kanban", "ProjectionModel", "View", "getTypenameFromQuery", "context", "contributes", "Capabilities", "IntentResolver", "createResolver", "intent", "KanbanAction", "Create", "resolve", "space", "name", "typename", "initialPivotColumn", "view", "View", "makeFromSpace", "pivotFieldName", "kanban", "Kanban", "make", "data", "object", "DeleteCardField", "fieldId", "deletionData", "undo", "schema", "getSpace", "db", "schemaRegistry", "getSchema", "getTypenameFromQuery", "query", "ast", "invariant", "projection", "ProjectionModel", "jsonSchema", "deleted", "index", "deleteFieldProjection", "undoable", "message", "ns", "meta", "id", "field", "props", "setFieldProjection", "DeleteCard", "card", "remove", "add"]
7
+ }
@@ -1 +1 @@
1
- {"inputs":{"src/meta.ts":{"bytes":2139,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/blueprint-definition.ts":{"bytes":3077,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/blueprints","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/types/schema.ts":{"bytes":8714,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/index.ts":{"bytes":501,"imports":[{"path":"src/types/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":10476,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/KanbanContainer.tsx":{"bytes":12619,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/KanbanViewEditor.tsx":{"bytes":8670,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"format":"esm"},"src/components/index.ts":{"bytes":599,"imports":[{"path":"src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"},{"path":"src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./KanbanViewEditor"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":12961,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1323,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/blueprint-definition.ts","kind":"dynamic-import","original":"./blueprint-definition"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/translations.ts":{"bytes":3589,"imports":[{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/KanbanPlugin.tsx":{"bytes":8467,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/index.ts":{"bytes":553,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6303},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-QZMZU5HM.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/plugin-space","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/blueprint-definition-42P47FUY.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/intent-resolver-BDKNXV3R.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/react-surface-CVDMIHSC.mjs","kind":"dynamic-import"},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true}],"exports":["KanbanPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/KanbanPlugin.tsx":{"bytesInOutput":1830},"src/capabilities/index.ts":{"bytesInOutput":275},"src/translations.ts":{"bytesInOutput":917}},"bytes":3373},"dist/lib/node-esm/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/types/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-QZMZU5HM.mjs","kind":"import-statement"}],"exports":["CreateKanbanSchema","KanbanAction","PivotColumnAnnotationId"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":308},"dist/lib/node-esm/blueprint-definition-42P47FUY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1614},"dist/lib/node-esm/blueprint-definition-42P47FUY.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/blueprints","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/blueprint-definition.ts","inputs":{"src/capabilities/blueprint-definition.ts":{"bytesInOutput":710}},"bytes":960},"dist/lib/node-esm/intent-resolver-BDKNXV3R.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4801},"dist/lib/node-esm/intent-resolver-BDKNXV3R.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-QZMZU5HM.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":2750}},"bytes":3048},"dist/lib/node-esm/react-surface-CVDMIHSC.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":17677},"dist/lib/node-esm/react-surface-CVDMIHSC.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-QZMZU5HM.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/plugin-search","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-stack","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/react-client","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":3039},"src/components/KanbanContainer.tsx":{"bytesInOutput":3254},"src/components/index.ts":{"bytesInOutput":0},"src/components/KanbanViewEditor.tsx":{"bytesInOutput":2409}},"bytes":9140},"dist/lib/node-esm/chunk-QZMZU5HM.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5111},"dist/lib/node-esm/chunk-QZMZU5HM.mjs":{"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["CreateKanbanSchema","KanbanAction","PivotColumnAnnotationId","meta"],"inputs":{"src/types/schema.ts":{"bytesInOutput":1919},"src/meta.ts":{"bytesInOutput":554},"src/types/index.ts":{"bytesInOutput":0}},"bytes":2758}}}
1
+ {"inputs":{"src/meta.ts":{"bytes":2139,"imports":[{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/capabilities/blueprint-definition.ts":{"bytes":3077,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/blueprints","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"format":"esm"},"src/types/schema.ts":{"bytes":9915,"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"}],"format":"esm"},"src/types/index.ts":{"bytes":501,"imports":[{"path":"src/types/schema.ts","kind":"import-statement","original":"./schema"}],"format":"esm"},"src/capabilities/intent-resolver.ts":{"bytes":10138,"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/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/KanbanContainer.tsx":{"bytes":11121,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","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":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/KanbanViewEditor.tsx":{"bytes":7682,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/components/index.ts":{"bytes":599,"imports":[{"path":"src/components/KanbanContainer.tsx","kind":"import-statement","original":"./KanbanContainer"},{"path":"src/components/KanbanViewEditor.tsx","kind":"import-statement","original":"./KanbanViewEditor"}],"format":"esm"},"src/capabilities/react-surface.tsx":{"bytes":11269,"imports":[{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"src/components/index.ts","kind":"import-statement","original":"../components"},{"path":"src/meta.ts","kind":"import-statement","original":"../meta"},{"path":"src/types/index.ts","kind":"import-statement","original":"../types"}],"format":"esm"},"src/capabilities/index.ts":{"bytes":1323,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"src/capabilities/blueprint-definition.ts","kind":"dynamic-import","original":"./blueprint-definition"},{"path":"src/capabilities/intent-resolver.ts","kind":"dynamic-import","original":"./intent-resolver"},{"path":"src/capabilities/react-surface.tsx","kind":"dynamic-import","original":"./react-surface"}],"format":"esm"},"src/translations.ts":{"bytes":3669,"imports":[{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"}],"format":"esm"},"src/KanbanPlugin.tsx":{"bytes":8202,"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"src/capabilities/index.ts","kind":"import-statement","original":"./capabilities"},{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/types/index.ts","kind":"import-statement","original":"./types"}],"format":"esm"},"src/index.ts":{"bytes":553,"imports":[{"path":"src/meta.ts","kind":"import-statement","original":"./meta"},{"path":"src/KanbanPlugin.tsx","kind":"import-statement","original":"./KanbanPlugin"}],"format":"esm"}},"outputs":{"dist/lib/node-esm/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":6237},"dist/lib/node-esm/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-LTCOYU73.mjs","kind":"import-statement"},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"dist/lib/node-esm/blueprint-definition-42P47FUY.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/intent-resolver-L2OEBOJW.mjs","kind":"dynamic-import"},{"path":"dist/lib/node-esm/react-surface-WXYTWOY2.mjs","kind":"dynamic-import"},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true}],"exports":["KanbanPlugin","meta"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":0},"src/KanbanPlugin.tsx":{"bytesInOutput":1747},"src/capabilities/index.ts":{"bytesInOutput":275},"src/translations.ts":{"bytesInOutput":937}},"bytes":3310},"dist/lib/node-esm/types/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":93},"dist/lib/node-esm/types/index.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-LTCOYU73.mjs","kind":"import-statement"}],"exports":["CreateKanbanSchema","KanbanAction","PivotColumnAnnotationId","SettingsSchema"],"entryPoint":"src/types/index.ts","inputs":{},"bytes":344},"dist/lib/node-esm/blueprint-definition-42P47FUY.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":1614},"dist/lib/node-esm/blueprint-definition-42P47FUY.mjs":{"imports":[{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/blueprints","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/blueprint-definition.ts","inputs":{"src/capabilities/blueprint-definition.ts":{"bytesInOutput":710}},"bytes":960},"dist/lib/node-esm/intent-resolver-L2OEBOJW.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":4595},"dist/lib/node-esm/intent-resolver-L2OEBOJW.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-LTCOYU73.mjs","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/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/intent-resolver.ts","inputs":{"src/capabilities/intent-resolver.ts":{"bytesInOutput":2674}},"bytes":2972},"dist/lib/node-esm/react-surface-WXYTWOY2.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15415},"dist/lib/node-esm/react-surface-WXYTWOY2.mjs":{"imports":[{"path":"dist/lib/node-esm/chunk-LTCOYU73.mjs","kind":"import-statement"},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/effect","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/app-framework","kind":"import-statement","external":true},{"path":"@dxos/app-framework/react","kind":"import-statement","external":true},{"path":"@dxos/echo","kind":"import-statement","external":true},{"path":"@dxos/plugin-client","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":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/echo/internal","kind":"import-statement","external":true},{"path":"@dxos/invariant","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-form","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true}],"exports":["default"],"entryPoint":"src/capabilities/react-surface.tsx","inputs":{"src/capabilities/react-surface.tsx":{"bytesInOutput":2609},"src/components/KanbanContainer.tsx":{"bytesInOutput":2867},"src/components/index.ts":{"bytesInOutput":0},"src/components/KanbanViewEditor.tsx":{"bytesInOutput":2207}},"bytes":8139},"dist/lib/node-esm/chunk-LTCOYU73.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":5699},"dist/lib/node-esm/chunk-LTCOYU73.mjs":{"imports":[{"path":"effect/Schema","kind":"import-statement","external":true},{"path":"@dxos/plugin-space/types","kind":"import-statement","external":true},{"path":"@dxos/react-client/echo","kind":"import-statement","external":true},{"path":"@dxos/react-ui-kanban/types","kind":"import-statement","external":true},{"path":"@dxos/schema","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["CreateKanbanSchema","KanbanAction","PivotColumnAnnotationId","SettingsSchema","meta"],"inputs":{"src/types/schema.ts":{"bytesInOutput":2217},"src/meta.ts":{"bytesInOutput":554},"src/types/index.ts":{"bytesInOutput":0}},"bytes":3074}}}
@@ -2,53 +2,41 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  KanbanAction,
4
4
  PivotColumnAnnotationId,
5
+ SettingsSchema,
5
6
  meta
6
- } from "./chunk-QZMZU5HM.mjs";
7
+ } from "./chunk-LTCOYU73.mjs";
7
8
 
8
9
  // src/capabilities/react-surface.tsx
9
- import React3, { useMemo as useMemo3 } from "react";
10
+ import React3, { useMemo as useMemo2 } from "react";
10
11
  import { Capabilities, contributes, createSurface } from "@dxos/app-framework";
11
- import { useCapabilities } from "@dxos/app-framework/react";
12
- import { Obj as Obj2, Type as Type3 } from "@dxos/echo";
12
+ import { Obj as Obj2, Type as Type2 } from "@dxos/echo";
13
13
  import { findAnnotation } from "@dxos/effect";
14
- import { ClientCapabilities } from "@dxos/plugin-client";
15
14
  import { getSpace as getSpace3, isSpace } from "@dxos/react-client/echo";
16
- import { SelectInput as SelectInput2, useFormValues } from "@dxos/react-ui-form";
17
- import { Kanban as Kanban3 } from "@dxos/react-ui-kanban/types";
18
- import { View } from "@dxos/schema";
15
+ import { SelectField as SelectField2, useFormValues } from "@dxos/react-ui-form";
16
+ import { Kanban } from "@dxos/react-ui-kanban/types";
19
17
 
20
18
  // src/components/KanbanContainer.tsx
21
19
  import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
22
- import React, { useCallback, useEffect, useMemo, useState } from "react";
20
+ import React, { useCallback, useEffect, useState } from "react";
23
21
  import { createIntent } from "@dxos/app-framework";
24
- import { useIntentDispatcher } from "@dxos/app-framework/react";
22
+ import { useCapabilities, useIntentDispatcher } from "@dxos/app-framework/react";
25
23
  import { Filter, Obj, Type } from "@dxos/echo";
26
- import { EchoSchema } from "@dxos/echo/internal";
24
+ import { ClientCapabilities } from "@dxos/plugin-client";
27
25
  import { useGlobalFilteredObjects } from "@dxos/plugin-search";
28
- import { useClient } from "@dxos/react-client";
29
26
  import { getSpace, useQuery } from "@dxos/react-client/echo";
30
- import { Kanban, useKanbanModel } from "@dxos/react-ui-kanban";
27
+ import { Kanban as KanbanComponent, useKanbanModel, useProjectionModel } from "@dxos/react-ui-kanban";
31
28
  import { StackItem } from "@dxos/react-ui-stack";
32
- import { ProjectionModel, getTypenameFromQuery } from "@dxos/schema";
33
- var KanbanContainer = ({ view }) => {
29
+ import { getTypenameFromQuery } from "@dxos/schema";
30
+ var KanbanContainer = ({ object }) => {
34
31
  var _effect = _useSignals();
35
32
  try {
36
- const client = useClient();
33
+ const schemas = useCapabilities(ClientCapabilities.Schema);
37
34
  const [cardSchema, setCardSchema] = useState();
38
- const [projection, setProjection] = useState();
39
- const space = getSpace(view);
35
+ const space = getSpace(object);
40
36
  const { dispatchPromise: dispatch } = useIntentDispatcher();
41
- const typename = view.query ? getTypenameFromQuery(view.query.ast) : void 0;
42
- const jsonSchema = useMemo(() => {
43
- if (!cardSchema) {
44
- return void 0;
45
- }
46
- return cardSchema instanceof EchoSchema ? cardSchema.jsonSchema : Type.toJsonSchema(cardSchema);
47
- }, [
48
- cardSchema
49
- ]);
37
+ const typename = object.view.target?.query ? getTypenameFromQuery(object.view.target.query.ast) : void 0;
50
38
  useEffect(() => {
51
- const staticSchema = client.graph.schemaRegistry.schemas.find((schema) => Type.getTypename(schema) === typename);
39
+ const staticSchema = schemas.flat().find((schema) => Type.getTypename(schema) === typename);
52
40
  if (staticSchema) {
53
41
  setCardSchema(() => staticSchema);
54
42
  }
@@ -67,22 +55,15 @@ var KanbanContainer = ({ view }) => {
67
55
  return unsubscribe;
68
56
  }
69
57
  }, [
70
- typename,
71
- space
72
- ]);
73
- useEffect(() => {
74
- if (jsonSchema) {
75
- setProjection(new ProjectionModel(jsonSchema, view.projection));
76
- }
77
- }, [
78
- view.projection,
79
- JSON.stringify(jsonSchema)
58
+ schemas,
59
+ space,
60
+ typename
80
61
  ]);
81
62
  const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());
82
63
  const filteredObjects = useGlobalFilteredObjects(objects);
64
+ const projection = useProjectionModel(cardSchema, object);
83
65
  const model = useKanbanModel({
84
- view,
85
- schema: cardSchema,
66
+ object,
86
67
  projection,
87
68
  items: filteredObjects
88
69
  });
@@ -107,7 +88,7 @@ var KanbanContainer = ({ view }) => {
107
88
  }, [
108
89
  dispatch
109
90
  ]);
110
- return /* @__PURE__ */ React.createElement(StackItem.Content, null, model && /* @__PURE__ */ React.createElement(Kanban, {
91
+ return /* @__PURE__ */ React.createElement(StackItem.Content, null, model && /* @__PURE__ */ React.createElement(KanbanComponent, {
111
92
  model,
112
93
  onAddCard: handleAddCard,
113
94
  onRemoveCard: handleRemoveCard
@@ -119,64 +100,61 @@ var KanbanContainer = ({ view }) => {
119
100
 
120
101
  // src/components/KanbanViewEditor.tsx
121
102
  import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
122
- import React2, { useCallback as useCallback2, useMemo as useMemo2 } from "react";
123
- import { Type as Type2 } from "@dxos/echo";
124
- import { EchoSchema as EchoSchema2, FormatEnum } from "@dxos/echo/internal";
125
- import { useClient as useClient2 } from "@dxos/react-client";
103
+ import React2, { useCallback as useCallback2, useMemo } from "react";
104
+ import { Format } from "@dxos/echo/internal";
105
+ import { invariant } from "@dxos/invariant";
126
106
  import { getSpace as getSpace2, useSchema } from "@dxos/react-client/echo";
127
- import { Form, SelectInput } from "@dxos/react-ui-form";
128
- import { Kanban as Kanban2 } from "@dxos/react-ui-kanban/types";
129
- import { ProjectionModel as ProjectionModel2, getTypenameFromQuery as getTypenameFromQuery2 } from "@dxos/schema";
130
- var KanbanViewEditor = ({ view }) => {
107
+ import { Form, SelectField } from "@dxos/react-ui-form";
108
+ import { useProjectionModel as useProjectionModel2 } from "@dxos/react-ui-kanban";
109
+ import { getTypenameFromQuery as getTypenameFromQuery2 } from "@dxos/schema";
110
+ var __dxlog_file = "/__w/dxos/dxos/packages/plugins/plugin-kanban/src/components/KanbanViewEditor.tsx";
111
+ var KanbanViewEditor = ({ object }) => {
131
112
  var _effect = _useSignals2();
132
113
  try {
133
- const client = useClient2();
134
- const space = getSpace2(view);
135
- const currentTypename = view.query ? getTypenameFromQuery2(view.query.ast) : void 0;
136
- const schema = useSchema(client, space, currentTypename);
137
- const projection = useMemo2(() => {
138
- if (schema) {
139
- const jsonSchema = schema instanceof EchoSchema2 ? schema.jsonSchema : Type2.toJsonSchema(schema);
140
- const projection2 = new ProjectionModel2(jsonSchema, view.projection);
141
- projection2.normalizeView();
142
- return projection2;
143
- }
144
- }, [
145
- view.projection,
146
- JSON.stringify(schema)
147
- ]);
114
+ const space = getSpace2(object);
115
+ const view = object.view.target;
116
+ const currentTypename = view?.query ? getTypenameFromQuery2(view.query.ast) : void 0;
117
+ const schema = useSchema(space, currentTypename);
118
+ const projection = useProjectionModel2(schema, object);
148
119
  const fieldProjections = projection?.getFieldProjections() || [];
149
- const selectFields = fieldProjections.filter((field) => field.props.format === FormatEnum.SingleSelect).map(({ field }) => ({
120
+ const selectFields = fieldProjections.filter((field) => field.props.format === Format.TypeFormat.SingleSelect).map(({ field }) => ({
150
121
  value: field.id,
151
122
  label: field.path
152
123
  }));
153
124
  const handleSave = useCallback2((values) => {
125
+ invariant(view, void 0, {
126
+ F: __dxlog_file,
127
+ L: 33,
128
+ S: void 0,
129
+ A: [
130
+ "view",
131
+ ""
132
+ ]
133
+ });
154
134
  view.projection.pivotFieldId = values.columnFieldId;
155
135
  }, [
156
136
  view
157
137
  ]);
158
- const initialValues = useMemo2(() => ({
159
- columnFieldId: view.projection.pivotFieldId
138
+ const initialValues = useMemo(() => ({
139
+ columnFieldId: view?.projection.pivotFieldId
160
140
  }), [
161
- view.projection.pivotFieldId
141
+ view?.projection.pivotFieldId
162
142
  ]);
163
- const custom = useMemo2(() => ({
164
- columnFieldId: (props) => /* @__PURE__ */ React2.createElement(SelectInput, {
143
+ const fieldMap = useMemo(() => ({
144
+ columnFieldId: (props) => /* @__PURE__ */ React2.createElement(SelectField, {
165
145
  ...props,
166
146
  options: selectFields
167
147
  })
168
148
  }), [
169
149
  selectFields
170
150
  ]);
171
- return /* @__PURE__ */ React2.createElement(Form, {
172
- Custom: custom,
173
- schema: Kanban2.SettingsSchema,
151
+ return /* @__PURE__ */ React2.createElement(Form.Root, {
152
+ schema: SettingsSchema,
174
153
  values: initialValues,
175
- onSave: handleSave,
154
+ fieldMap,
176
155
  autoSave: true,
177
- outerSpacing: false,
178
- classNames: "pbs-inputSpacingBlock"
179
- });
156
+ onSave: handleSave
157
+ }, /* @__PURE__ */ React2.createElement(Form.FieldSet, null));
180
158
  } finally {
181
159
  _effect.f();
182
160
  }
@@ -190,9 +168,9 @@ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
190
168
  "article",
191
169
  "section"
192
170
  ],
193
- filter: (data) => Obj2.instanceOf(View.View, data.subject) && Obj2.instanceOf(Kanban3.Kanban, data.subject.presentation.target),
171
+ filter: (data) => Obj2.instanceOf(Kanban.Kanban, data.subject),
194
172
  component: ({ data, role }) => /* @__PURE__ */ React3.createElement(KanbanContainer, {
195
- view: data.subject,
173
+ object: data.subject,
196
174
  role
197
175
  })
198
176
  }),
@@ -200,9 +178,9 @@ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
200
178
  id: `${meta.id}/object-settings`,
201
179
  role: "object-settings",
202
180
  position: "hoist",
203
- filter: (data) => Obj2.instanceOf(View.View, data.subject) && Obj2.instanceOf(Kanban3.Kanban, data.subject.presentation.target),
181
+ filter: (data) => Obj2.instanceOf(Kanban.Kanban, data.subject),
204
182
  component: ({ data }) => /* @__PURE__ */ React3.createElement(KanbanViewEditor, {
205
- view: data.subject
183
+ object: data.subject
206
184
  })
207
185
  }),
208
186
  createSurface({
@@ -218,14 +196,19 @@ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
218
196
  if (!space) {
219
197
  return null;
220
198
  }
221
- const { typename } = useFormValues();
222
- const schemaWhitelists = useCapabilities(ClientCapabilities.SchemaWhiteList);
223
- const staticSchema = schemaWhitelists.flat().find((schema) => Type3.getTypename(schema) === typename);
224
- const [selectedSchema] = space?.db.schemaRegistry.query({
199
+ const { typename } = useFormValues("KanbanForm");
200
+ const [selectedSchema] = useMemo2(() => space?.db.schemaRegistry.query({
201
+ location: [
202
+ "database",
203
+ "runtime"
204
+ ],
225
205
  typename
226
- }).runSync();
227
- const singleSelectColumns = useMemo3(() => {
228
- const properties = staticSchema ? Type3.toJsonSchema(staticSchema).properties : selectedSchema?.jsonSchema?.properties;
206
+ }).runSync(), [
207
+ space,
208
+ typename
209
+ ]);
210
+ const singleSelectColumns = useMemo2(() => {
211
+ const properties = Type2.toJsonSchema(selectedSchema).properties;
229
212
  if (!properties) {
230
213
  return [];
231
214
  }
@@ -237,13 +220,12 @@ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
237
220
  }, []);
238
221
  return columns;
239
222
  }, [
240
- selectedSchema?.jsonSchema,
241
- staticSchema
223
+ selectedSchema
242
224
  ]);
243
225
  if (!typename) {
244
226
  return null;
245
227
  }
246
- return /* @__PURE__ */ React3.createElement(SelectInput2, {
228
+ return /* @__PURE__ */ React3.createElement(SelectField2, {
247
229
  ...props,
248
230
  options: singleSelectColumns.map((column) => ({
249
231
  value: column
@@ -255,4 +237,4 @@ var react_surface_default = (() => contributes(Capabilities.ReactSurface, [
255
237
  export {
256
238
  react_surface_default as default
257
239
  };
258
- //# sourceMappingURL=react-surface-CVDMIHSC.mjs.map
240
+ //# sourceMappingURL=react-surface-WXYTWOY2.mjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/capabilities/react-surface.tsx", "../../../src/components/KanbanContainer.tsx", "../../../src/components/KanbanViewEditor.tsx"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nimport type * as Schema from 'effect/Schema';\nimport React, { useMemo } from 'react';\n\nimport { Capabilities, contributes, createSurface } from '@dxos/app-framework';\nimport { Obj, Type } from '@dxos/echo';\nimport { findAnnotation } from '@dxos/effect';\nimport { type Space, getSpace, isSpace } from '@dxos/react-client/echo';\nimport { type FormFieldComponentProps, SelectField, useFormValues } from '@dxos/react-ui-form';\nimport { Kanban } from '@dxos/react-ui-kanban/types';\nimport { type Collection } from '@dxos/schema';\n\nimport { KanbanContainer, KanbanViewEditor } from '../components';\nimport { meta } from '../meta';\nimport { PivotColumnAnnotationId } from '../types';\n\nexport default () =>\n contributes(Capabilities.ReactSurface, [\n createSurface({\n id: meta.id,\n role: ['article', 'section'],\n filter: (data): data is { subject: Kanban.Kanban } => Obj.instanceOf(Kanban.Kanban, data.subject),\n component: ({ data, role }) => <KanbanContainer object={data.subject} role={role} />,\n }),\n createSurface({\n id: `${meta.id}/object-settings`,\n role: 'object-settings',\n position: 'hoist',\n filter: (data): data is { subject: Kanban.Kanban } => Obj.instanceOf(Kanban.Kanban, data.subject),\n component: ({ data }) => <KanbanViewEditor object={data.subject} />,\n }),\n createSurface({\n id: `${meta.id}/create-initial-schema-form-[pivot-column]`,\n role: 'form-input',\n filter: (\n data,\n ): data is {\n prop: string;\n schema: Schema.Schema<any>;\n target: Space | Collection.Collection | undefined;\n } => {\n const annotation = findAnnotation<boolean>((data.schema as Schema.Schema.All).ast, PivotColumnAnnotationId);\n return !!annotation;\n },\n component: ({ data: { target }, ...inputProps }) => {\n const props = inputProps as any as FormFieldComponentProps;\n const space = isSpace(target) ? target : getSpace(target);\n if (!space) {\n return null;\n }\n\n const { typename } = useFormValues('KanbanForm');\n const [selectedSchema] = useMemo(\n () => space?.db.schemaRegistry.query({ location: ['database', 'runtime'], typename }).runSync(),\n [space, typename],\n );\n const singleSelectColumns = useMemo(() => {\n const properties = Type.toJsonSchema(selectedSchema).properties;\n if (!properties) {\n return [];\n }\n\n const columns = Object.entries(properties).reduce<string[]>((acc, [key, value]) => {\n if (typeof value === 'object' && value?.format === 'single-select') {\n acc.push(key);\n }\n return acc;\n }, []);\n\n return columns;\n }, [selectedSchema]);\n\n if (!typename) {\n return null;\n }\n\n return <SelectField {...props} options={singleSelectColumns.map((column) => ({ value: column }))} />;\n },\n }),\n ]);\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport React, { useCallback, useEffect, useState } from 'react';\n\nimport { createIntent } from '@dxos/app-framework';\nimport { useCapabilities, useIntentDispatcher } from '@dxos/app-framework/react';\nimport { Filter, Obj, Type } from '@dxos/echo';\nimport { type TypedObject } from '@dxos/echo/internal';\nimport { ClientCapabilities } from '@dxos/plugin-client';\nimport { useGlobalFilteredObjects } from '@dxos/plugin-search';\nimport { getSpace, useQuery } from '@dxos/react-client/echo';\nimport { Kanban as KanbanComponent, useKanbanModel, useProjectionModel } from '@dxos/react-ui-kanban';\nimport { type Kanban } from '@dxos/react-ui-kanban/types';\nimport { StackItem } from '@dxos/react-ui-stack';\nimport { getTypenameFromQuery } from '@dxos/schema';\n\nimport { KanbanAction } from '../types';\n\nexport const KanbanContainer = ({ object }: { object: Kanban.Kanban; role: string }) => {\n const schemas = useCapabilities(ClientCapabilities.Schema);\n const [cardSchema, setCardSchema] = useState<TypedObject<any, any>>();\n const space = getSpace(object);\n const { dispatchPromise: dispatch } = useIntentDispatcher();\n const typename = object.view.target?.query ? getTypenameFromQuery(object.view.target.query.ast) : undefined;\n\n useEffect(() => {\n const staticSchema = schemas.flat().find((schema) => Type.getTypename(schema) === typename);\n if (staticSchema) {\n setCardSchema(() => staticSchema as TypedObject<any, any>);\n }\n if (!staticSchema && typename && space) {\n const query = space.db.schemaRegistry.query({ typename });\n const unsubscribe = query.subscribe(\n () => {\n const [schema] = query.results;\n if (schema) {\n setCardSchema(schema);\n }\n },\n { fire: true },\n );\n return unsubscribe;\n }\n }, [schemas, space, typename]);\n\n const objects = useQuery(space, cardSchema ? Filter.type(cardSchema) : Filter.nothing());\n const filteredObjects = useGlobalFilteredObjects(objects);\n\n const projection = useProjectionModel(cardSchema, object);\n const model = useKanbanModel({\n object,\n projection,\n items: filteredObjects,\n });\n\n const handleAddCard = useCallback(\n (columnValue: string | undefined) => {\n const path = model?.columnFieldPath;\n if (space && cardSchema && path) {\n const card = Obj.make(cardSchema, { [path]: columnValue });\n space.db.add(card);\n return card.id;\n }\n },\n [space, cardSchema, model],\n );\n\n const handleRemoveCard = useCallback(\n (card: { id: string }) => {\n void dispatch(createIntent(KanbanAction.DeleteCard, { card }));\n },\n [dispatch],\n );\n\n return (\n <StackItem.Content>\n {model && <KanbanComponent model={model} onAddCard={handleAddCard} onRemoveCard={handleRemoveCard} />}\n </StackItem.Content>\n );\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport React, { useCallback, useMemo } from 'react';\n\nimport { Format } from '@dxos/echo/internal';\nimport { invariant } from '@dxos/invariant';\nimport { getSpace, useSchema } from '@dxos/react-client/echo';\nimport { Form, type FormFieldMap, SelectField } from '@dxos/react-ui-form';\nimport { useProjectionModel } from '@dxos/react-ui-kanban';\nimport { type Kanban } from '@dxos/react-ui-kanban/types';\nimport { getTypenameFromQuery } from '@dxos/schema';\n\nimport { SettingsSchema } from '../types';\n\ntype KanbanViewEditorProps = { object: Kanban.Kanban };\n\nexport const KanbanViewEditor = ({ object }: KanbanViewEditorProps) => {\n const space = getSpace(object);\n const view = object.view.target;\n const currentTypename = view?.query ? getTypenameFromQuery(view.query.ast) : undefined;\n const schema = useSchema(space, currentTypename);\n const projection = useProjectionModel(schema, object);\n\n const fieldProjections = projection?.getFieldProjections() || [];\n const selectFields = fieldProjections\n .filter((field) => field.props.format === Format.TypeFormat.SingleSelect)\n .map(({ field }) => ({ value: field.id, label: field.path }));\n\n const handleSave = useCallback(\n (values: Partial<{ columnFieldId: string }>) => {\n invariant(view);\n view.projection.pivotFieldId = values.columnFieldId;\n },\n [view],\n );\n\n const initialValues = useMemo(\n () => ({ columnFieldId: view?.projection.pivotFieldId }),\n [view?.projection.pivotFieldId],\n );\n\n const fieldMap: FormFieldMap = useMemo(\n () => ({ columnFieldId: (props) => <SelectField {...props} options={selectFields} /> }),\n [selectFields],\n );\n\n return (\n <Form.Root schema={SettingsSchema} values={initialValues} fieldMap={fieldMap} autoSave onSave={handleSave}>\n <Form.FieldSet />\n </Form.Root>\n );\n};\n"],
5
+ "mappings": "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",
6
+ "names": ["React", "useMemo", "Capabilities", "contributes", "createSurface", "Obj", "Type", "findAnnotation", "getSpace", "isSpace", "SelectField", "useFormValues", "Kanban", "React", "useCallback", "useEffect", "useState", "createIntent", "useCapabilities", "useIntentDispatcher", "Filter", "Obj", "Type", "ClientCapabilities", "useGlobalFilteredObjects", "getSpace", "useQuery", "Kanban", "KanbanComponent", "useKanbanModel", "useProjectionModel", "StackItem", "getTypenameFromQuery", "KanbanContainer", "object", "schemas", "useCapabilities", "ClientCapabilities", "Schema", "cardSchema", "setCardSchema", "useState", "space", "getSpace", "dispatchPromise", "dispatch", "useIntentDispatcher", "typename", "view", "target", "query", "getTypenameFromQuery", "ast", "undefined", "useEffect", "staticSchema", "flat", "find", "schema", "Type", "getTypename", "db", "schemaRegistry", "unsubscribe", "subscribe", "results", "fire", "objects", "useQuery", "Filter", "type", "nothing", "filteredObjects", "useGlobalFilteredObjects", "projection", "useProjectionModel", "model", "useKanbanModel", "items", "handleAddCard", "useCallback", "columnValue", "path", "columnFieldPath", "card", "Obj", "make", "add", "id", "handleRemoveCard", "createIntent", "KanbanAction", "DeleteCard", "StackItem", "Content", "KanbanComponent", "onAddCard", "onRemoveCard", "React", "useCallback", "useMemo", "Format", "invariant", "getSpace", "useSchema", "Form", "SelectField", "useProjectionModel", "getTypenameFromQuery", "KanbanViewEditor", "object", "space", "getSpace", "view", "target", "currentTypename", "query", "getTypenameFromQuery", "ast", "undefined", "schema", "useSchema", "projection", "useProjectionModel", "fieldProjections", "getFieldProjections", "selectFields", "filter", "field", "props", "format", "Format", "TypeFormat", "SingleSelect", "map", "value", "id", "label", "path", "handleSave", "useCallback", "values", "invariant", "pivotFieldId", "columnFieldId", "initialValues", "useMemo", "fieldMap", "React", "SelectField", "options", "Form", "Root", "SettingsSchema", "autoSave", "onSave", "FieldSet", "contributes", "Capabilities", "ReactSurface", "createSurface", "id", "meta", "role", "filter", "data", "Obj", "instanceOf", "Kanban", "subject", "component", "React", "KanbanContainer", "object", "position", "KanbanViewEditor", "annotation", "findAnnotation", "schema", "ast", "PivotColumnAnnotationId", "target", "inputProps", "props", "space", "isSpace", "getSpace", "typename", "useFormValues", "selectedSchema", "useMemo", "db", "schemaRegistry", "query", "location", "runSync", "singleSelectColumns", "properties", "Type", "toJsonSchema", "columns", "Object", "entries", "reduce", "acc", "key", "value", "format", "push", "SelectField", "options", "map", "column"]
7
+ }
@@ -2,11 +2,13 @@ import { createRequire } from 'node:module';const require = createRequire(import
2
2
  import {
3
3
  CreateKanbanSchema,
4
4
  KanbanAction,
5
- PivotColumnAnnotationId
6
- } from "../chunk-QZMZU5HM.mjs";
5
+ PivotColumnAnnotationId,
6
+ SettingsSchema
7
+ } from "../chunk-LTCOYU73.mjs";
7
8
  export {
8
9
  CreateKanbanSchema,
9
10
  KanbanAction,
10
- PivotColumnAnnotationId
11
+ PivotColumnAnnotationId,
12
+ SettingsSchema
11
13
  };
12
14
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,YAAY,mDA+CvB,CAAC"}
1
+ {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAgBA,eAAO,MAAM,YAAY,mDAyCvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAA+B,MAAM,qBAAqB,CAAC;yBAUpF,SAAS,aAAa;AAAtC,wBAwDK"}
1
+ {"version":3,"file":"intent-resolver.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/intent-resolver.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,KAAK,aAAa,EAA+B,MAAM,qBAAqB,CAAC;yBASpF,SAAS,aAAa;AAAtC,wBAkDK"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAA8B,MAAM,qBAAqB,CAAC;;AAc/E,wBAmEK"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAA8B,MAAM,qBAAqB,CAAC;;AAY/E,wBA+DK"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
- import { type View } from '@dxos/schema';
3
- export declare const KanbanContainer: ({ view }: {
4
- view: View.View;
2
+ import { type Kanban } from '@dxos/react-ui-kanban/types';
3
+ export declare const KanbanContainer: ({ object }: {
4
+ object: Kanban.Kanban;
5
5
  role: string;
6
6
  }) => React.JSX.Element;
7
7
  //# sourceMappingURL=KanbanContainer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAWzE,OAAO,EAAmB,KAAK,IAAI,EAAwB,MAAM,cAAc,CAAC;AAIhF,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBA4E1E,CAAC"}
1
+ {"version":3,"file":"KanbanContainer.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAUhE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAM1D,eAAO,MAAM,eAAe,GAAI,YAAY;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,sBA6DlF,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import { type StoryObj } from '@storybook/react-vite';
2
2
  import React from 'react';
3
- import { Kanban } from '@dxos/react-ui-kanban/types';
4
3
  declare const meta: {
5
4
  title: string;
6
5
  component: () => React.JSX.Element | null;
@@ -10,26 +9,40 @@ declare const meta: {
10
9
  layout: string;
11
10
  translations: [{
12
11
  readonly 'en-US': {
13
- readonly [Kanban.Kanban.typename]: {
12
+ readonly [x: string]: {
14
13
  readonly 'typename label': "Kanban";
15
14
  readonly 'typename label_zero': "Kanbans";
16
15
  readonly 'typename label_one': "Kanban";
17
16
  readonly 'typename label_other': "Kanbans";
18
17
  readonly 'object name placeholder': "New kanban";
19
- };
20
- readonly [meta.id]: {
18
+ readonly 'rename object label': "Rename kanban";
19
+ readonly 'delete object label': "Delete kanban";
20
+ readonly 'object deleted label': "Kanban deleted";
21
+ readonly 'plugin name'?: undefined;
22
+ readonly 'kanban title label'?: undefined;
23
+ readonly 'column title label'?: undefined;
24
+ readonly 'column title placeholder'?: undefined;
25
+ readonly 'add column label'?: undefined;
26
+ readonly 'delete column label'?: undefined;
27
+ readonly 'card field deleted label'?: undefined;
28
+ readonly 'card deleted label'?: undefined;
29
+ } | {
21
30
  readonly 'plugin name': "Kanban";
22
31
  readonly 'kanban title label': "Title";
23
32
  readonly 'column title label': "Column title";
24
33
  readonly 'column title placeholder': "New column";
25
- readonly 'item title label': "Item title";
26
- readonly 'item title placeholder': "New item";
27
34
  readonly 'add column label': "Add column";
28
- readonly 'add item label': "Add card";
29
35
  readonly 'delete column label': "Delete column";
30
- readonly 'delete item label': "Delete card";
31
36
  readonly 'card field deleted label': "Card field deleted";
32
37
  readonly 'card deleted label': "Card deleted";
38
+ readonly 'typename label'?: undefined;
39
+ readonly 'typename label_zero'?: undefined;
40
+ readonly 'typename label_one'?: undefined;
41
+ readonly 'typename label_other'?: undefined;
42
+ readonly 'object name placeholder'?: undefined;
43
+ readonly 'rename object label'?: undefined;
44
+ readonly 'delete object label'?: undefined;
45
+ readonly 'object deleted label'?: undefined;
33
46
  };
34
47
  };
35
48
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanContainer.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAA2C,MAAM,OAAO,CAAC;AAkBhE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAyHrD,QAAA,MAAM,IAAI;;;;;;;;;yBAzIyC,CAAQ,MAAM,CAAC,MAC9D,CAAC,QAAQ,CAAC;;;;;;;yBAIK,CAAQ,IAAI,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;CA+KK,CAAC;AAEzC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
1
+ {"version":3,"file":"KanbanContainer.stories.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanContainer.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAsB,MAAM,OAAO,CAAC;AAiH3C,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2C8B,CAAC;AAEzC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
- import { type View } from '@dxos/schema';
2
+ import { type Kanban } from '@dxos/react-ui-kanban/types';
3
3
  type KanbanViewEditorProps = {
4
- view: View.View;
4
+ object: Kanban.Kanban;
5
5
  };
6
- export declare const KanbanViewEditor: ({ view }: KanbanViewEditorProps) => React.JSX.Element;
6
+ export declare const KanbanViewEditor: ({ object }: KanbanViewEditorProps) => React.JSX.Element;
7
7
  export {};
8
8
  //# sourceMappingURL=KanbanViewEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanViewEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanViewEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAQpD,OAAO,EAAmB,KAAK,IAAI,EAAwB,MAAM,cAAc,CAAC;AAEhF,KAAK,qBAAqB,GAAG;IAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAA;CAAE,CAAC;AAEjD,eAAO,MAAM,gBAAgB,GAAI,UAAU,qBAAqB,sBA+C/D,CAAC"}
1
+ {"version":3,"file":"KanbanViewEditor.d.ts","sourceRoot":"","sources":["../../../../src/components/KanbanViewEditor.tsx"],"names":[],"mappings":"AAIA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAOpD,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAK1D,KAAK,qBAAqB,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAA;CAAE,CAAC;AAEvD,eAAO,MAAM,gBAAgB,GAAI,YAAY,qBAAqB,sBAmCjE,CAAC"}