@dxos/plugin-kanban 0.8.3 → 0.8.4-main.1c7ec43d41

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 (274) hide show
  1. package/dist/lib/browser/blueprints/index.mjs +27 -0
  2. package/dist/lib/browser/blueprints/index.mjs.map +7 -0
  3. package/dist/lib/browser/chunk-J5LGTIGS.mjs +10 -0
  4. package/dist/lib/browser/chunk-T32TEM55.mjs +105 -0
  5. package/dist/lib/browser/chunk-T32TEM55.mjs.map +7 -0
  6. package/dist/lib/browser/delete-card-7OSCNCW2.mjs +24 -0
  7. package/dist/lib/browser/delete-card-7OSCNCW2.mjs.map +7 -0
  8. package/dist/lib/browser/delete-card-field-NSB2RE3Z.mjs +42 -0
  9. package/dist/lib/browser/delete-card-field-NSB2RE3Z.mjs.map +7 -0
  10. package/dist/lib/browser/index.mjs +21 -97
  11. package/dist/lib/browser/index.mjs.map +4 -4
  12. package/dist/lib/browser/meta.json +1 -1
  13. package/dist/lib/browser/operations/index.mjs +13 -0
  14. package/dist/lib/browser/operations/index.mjs.map +7 -0
  15. package/dist/lib/browser/restore-card-FO3WERIE.mjs +21 -0
  16. package/dist/lib/browser/restore-card-FO3WERIE.mjs.map +7 -0
  17. package/dist/lib/browser/restore-card-field-U5XYEEOW.mjs +40 -0
  18. package/dist/lib/browser/restore-card-field-U5XYEEOW.mjs.map +7 -0
  19. package/dist/lib/browser/translations.mjs +44 -0
  20. package/dist/lib/browser/translations.mjs.map +7 -0
  21. package/dist/lib/browser/types/index.mjs +160 -0
  22. package/dist/lib/browser/types/index.mjs.map +7 -0
  23. package/dist/lib/node-esm/blueprints/index.mjs +28 -0
  24. package/dist/lib/node-esm/blueprints/index.mjs.map +7 -0
  25. package/dist/lib/node-esm/chunk-HSLMI22Q.mjs +11 -0
  26. package/dist/lib/node-esm/chunk-W2RNFBMZ.mjs +106 -0
  27. package/dist/lib/node-esm/chunk-W2RNFBMZ.mjs.map +7 -0
  28. package/dist/lib/node-esm/delete-card-ZIREL6HN.mjs +25 -0
  29. package/dist/lib/node-esm/delete-card-ZIREL6HN.mjs.map +7 -0
  30. package/dist/lib/node-esm/delete-card-field-IPTEGVPP.mjs +43 -0
  31. package/dist/lib/node-esm/delete-card-field-IPTEGVPP.mjs.map +7 -0
  32. package/dist/lib/node-esm/index.mjs +21 -97
  33. package/dist/lib/node-esm/index.mjs.map +4 -4
  34. package/dist/lib/node-esm/meta.json +1 -1
  35. package/dist/lib/node-esm/operations/index.mjs +14 -0
  36. package/dist/lib/node-esm/operations/index.mjs.map +7 -0
  37. package/dist/lib/node-esm/restore-card-WJJ4YB7K.mjs +22 -0
  38. package/dist/lib/node-esm/restore-card-WJJ4YB7K.mjs.map +7 -0
  39. package/dist/lib/node-esm/restore-card-field-L24WJXAW.mjs +41 -0
  40. package/dist/lib/node-esm/restore-card-field-L24WJXAW.mjs.map +7 -0
  41. package/dist/lib/node-esm/translations.mjs +45 -0
  42. package/dist/lib/node-esm/translations.mjs.map +7 -0
  43. package/dist/lib/node-esm/types/index.mjs +161 -0
  44. package/dist/lib/node-esm/types/index.mjs.map +7 -0
  45. package/dist/types/src/KanbanPlugin.d.ts +3 -1
  46. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  47. package/dist/types/src/KanbanPlugin.node.d.ts +4 -0
  48. package/dist/types/src/KanbanPlugin.node.d.ts.map +1 -0
  49. package/dist/types/src/KanbanPlugin.test.d.ts +2 -0
  50. package/dist/types/src/KanbanPlugin.test.d.ts.map +1 -0
  51. package/dist/types/src/blueprints/index.d.ts +2 -0
  52. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  53. package/dist/types/src/blueprints/kanban-blueprint.d.ts +4 -0
  54. package/dist/types/src/blueprints/kanban-blueprint.d.ts.map +1 -0
  55. package/dist/types/src/capabilities/artifact-definition.d.ts +3 -2
  56. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  57. package/dist/types/src/capabilities/blueprint-definition.d.ts +6 -0
  58. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -0
  59. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  60. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  61. package/dist/types/src/capabilities/index.d.ts +13 -3
  62. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  63. package/dist/types/src/capabilities/migrations.d.ts +5 -0
  64. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  65. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  66. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  67. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  68. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  69. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  70. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  71. package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts +37 -0
  72. package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts.map +1 -0
  73. package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts +72 -0
  74. package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts.map +1 -0
  75. package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts +9 -0
  76. package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts.map +1 -0
  77. package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts +8 -0
  78. package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts.map +1 -0
  79. package/dist/types/src/components/KanbanBoard/context.d.ts +38 -0
  80. package/dist/types/src/components/KanbanBoard/context.d.ts.map +1 -0
  81. package/dist/types/src/components/KanbanBoard/index.d.ts +2 -0
  82. package/dist/types/src/components/KanbanBoard/index.d.ts.map +1 -0
  83. package/dist/types/src/components/index.d.ts +1 -2
  84. package/dist/types/src/components/index.d.ts.map +1 -1
  85. package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts +6 -0
  86. package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts.map +1 -0
  87. package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts +79 -0
  88. package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts.map +1 -0
  89. package/dist/types/src/containers/KanbanContainer/index.d.ts +2 -0
  90. package/dist/types/src/containers/KanbanContainer/index.d.ts.map +1 -0
  91. package/dist/types/src/containers/KanbanSettings/KanbanSettings.d.ts +13 -0
  92. package/dist/types/src/containers/KanbanSettings/KanbanSettings.d.ts.map +1 -0
  93. package/dist/types/src/containers/KanbanSettings/index.d.ts +2 -0
  94. package/dist/types/src/containers/KanbanSettings/index.d.ts.map +1 -0
  95. package/dist/types/src/containers/index.d.ts +4 -0
  96. package/dist/types/src/containers/index.d.ts.map +1 -0
  97. package/dist/types/src/hooks/index.d.ts +7 -0
  98. package/dist/types/src/hooks/index.d.ts.map +1 -0
  99. package/dist/types/src/hooks/useEchoChangeCallback.d.ts +13 -0
  100. package/dist/types/src/hooks/useEchoChangeCallback.d.ts.map +1 -0
  101. package/dist/types/src/hooks/useItemsProjection.d.ts +10 -0
  102. package/dist/types/src/hooks/useItemsProjection.d.ts.map +1 -0
  103. package/dist/types/src/hooks/useKanbanBoardModel.browser.test.d.ts +2 -0
  104. package/dist/types/src/hooks/useKanbanBoardModel.browser.test.d.ts.map +1 -0
  105. package/dist/types/src/hooks/useKanbanBoardModel.d.ts +16 -0
  106. package/dist/types/src/hooks/useKanbanBoardModel.d.ts.map +1 -0
  107. package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts +22 -0
  108. package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts.map +1 -0
  109. package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts +19 -0
  110. package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts.map +1 -0
  111. package/dist/types/src/hooks/useProjectionModel.d.ts +15 -0
  112. package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -0
  113. package/dist/types/src/index.d.ts +2 -1
  114. package/dist/types/src/index.d.ts.map +1 -1
  115. package/dist/types/src/meta.d.ts +2 -3
  116. package/dist/types/src/meta.d.ts.map +1 -1
  117. package/dist/types/src/operations/definitions.d.ts +52 -0
  118. package/dist/types/src/operations/definitions.d.ts.map +1 -0
  119. package/dist/types/src/operations/delete-card-field.d.ts +5 -0
  120. package/dist/types/src/operations/delete-card-field.d.ts.map +1 -0
  121. package/dist/types/src/operations/delete-card.d.ts +5 -0
  122. package/dist/types/src/operations/delete-card.d.ts.map +1 -0
  123. package/dist/types/src/operations/index.d.ts +4 -0
  124. package/dist/types/src/operations/index.d.ts.map +1 -0
  125. package/dist/types/src/operations/restore-card-field.d.ts +5 -0
  126. package/dist/types/src/operations/restore-card-field.d.ts.map +1 -0
  127. package/dist/types/src/operations/restore-card.d.ts +5 -0
  128. package/dist/types/src/operations/restore-card.d.ts.map +1 -0
  129. package/dist/types/src/playwright/board-manager.d.ts +5 -0
  130. package/dist/types/src/playwright/board-manager.d.ts.map +1 -0
  131. package/dist/types/src/playwright/playwright.config.d.ts +3 -0
  132. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
  133. package/dist/types/src/playwright/smoke.spec.d.ts.map +1 -0
  134. package/dist/types/src/testing/KanbanCardTileSimple.d.ts +7 -0
  135. package/dist/types/src/testing/KanbanCardTileSimple.d.ts.map +1 -0
  136. package/dist/types/src/testing/index.d.ts +1 -2
  137. package/dist/types/src/testing/index.d.ts.map +1 -1
  138. package/dist/types/src/translations.d.ts +52 -53
  139. package/dist/types/src/translations.d.ts.map +1 -1
  140. package/dist/types/src/types/Kanban.d.ts +109 -0
  141. package/dist/types/src/types/Kanban.d.ts.map +1 -0
  142. package/dist/types/src/types/constants.d.ts +6 -0
  143. package/dist/types/src/types/constants.d.ts.map +1 -0
  144. package/dist/types/src/types/index.d.ts +5 -0
  145. package/dist/types/src/types/index.d.ts.map +1 -0
  146. package/dist/types/src/types/migrations.test.d.ts +2 -0
  147. package/dist/types/src/types/migrations.test.d.ts.map +1 -0
  148. package/dist/types/src/types/schema.d.ts +33 -0
  149. package/dist/types/src/types/schema.d.ts.map +1 -0
  150. package/dist/types/src/types/types.d.ts +32 -0
  151. package/dist/types/src/types/types.d.ts.map +1 -0
  152. package/dist/types/src/util/arrangement.d.ts +72 -0
  153. package/dist/types/src/util/arrangement.d.ts.map +1 -0
  154. package/dist/types/src/util/arrangement.test.d.ts +2 -0
  155. package/dist/types/src/util/arrangement.test.d.ts.map +1 -0
  156. package/dist/types/src/util/index.d.ts +2 -0
  157. package/dist/types/src/util/index.d.ts.map +1 -0
  158. package/dist/types/tsconfig.tsbuildinfo +1 -1
  159. package/package.json +93 -51
  160. package/src/KanbanPlugin.node.ts +21 -0
  161. package/src/KanbanPlugin.test.ts +31 -0
  162. package/src/KanbanPlugin.tsx +30 -56
  163. package/src/blueprints/index.ts +5 -0
  164. package/src/blueprints/kanban-blueprint.ts +27 -0
  165. package/src/capabilities/artifact-definition.ts +123 -108
  166. package/src/capabilities/blueprint-definition.ts +19 -0
  167. package/src/capabilities/create-object.ts +40 -0
  168. package/src/capabilities/index.ts +12 -4
  169. package/src/capabilities/migrations.ts +35 -0
  170. package/src/capabilities/operation-handler.ts +14 -0
  171. package/src/capabilities/react-surface.tsx +79 -65
  172. package/src/capabilities/undo-mappings.ts +34 -0
  173. package/src/components/KanbanBoard/KanbanBoard.stories.tsx +146 -0
  174. package/src/components/KanbanBoard/KanbanBoard.tsx +164 -0
  175. package/src/components/KanbanBoard/KanbanCard.tsx +101 -0
  176. package/src/components/KanbanBoard/KanbanColumn.tsx +72 -0
  177. package/src/components/KanbanBoard/context.ts +54 -0
  178. package/src/components/KanbanBoard/index.ts +5 -0
  179. package/src/components/index.ts +1 -2
  180. package/src/containers/KanbanContainer/KanbanContainer.stories.tsx +277 -0
  181. package/src/containers/KanbanContainer/KanbanContainer.tsx +178 -0
  182. package/src/containers/KanbanContainer/index.ts +5 -0
  183. package/src/containers/KanbanSettings/KanbanSettings.tsx +94 -0
  184. package/src/containers/KanbanSettings/index.ts +5 -0
  185. package/src/containers/index.ts +8 -0
  186. package/src/hooks/index.ts +10 -0
  187. package/src/hooks/useEchoChangeCallback.ts +30 -0
  188. package/src/hooks/useItemsProjection.ts +44 -0
  189. package/src/hooks/useKanbanBoardModel.browser.test.ts +235 -0
  190. package/src/hooks/useKanbanBoardModel.ts +157 -0
  191. package/src/hooks/useKanbanColumnEventHandler.ts +106 -0
  192. package/src/hooks/useKanbanItemEventHandler.ts +133 -0
  193. package/src/hooks/useProjectionModel.ts +58 -0
  194. package/src/index.ts +6 -1
  195. package/src/meta.ts +9 -7
  196. package/src/operations/definitions.ts +63 -0
  197. package/src/operations/delete-card-field.ts +47 -0
  198. package/src/operations/delete-card.ts +23 -0
  199. package/src/operations/index.ts +12 -0
  200. package/src/operations/restore-card-field.ts +41 -0
  201. package/src/operations/restore-card.ts +21 -0
  202. package/src/playwright/board-manager.ts +13 -0
  203. package/src/playwright/playwright.config.ts +19 -0
  204. package/src/playwright/smoke.spec.ts +107 -0
  205. package/src/testing/KanbanCardTileSimple.tsx +82 -0
  206. package/src/testing/index.ts +2 -3
  207. package/src/translations.ts +31 -23
  208. package/src/types/Kanban.ts +151 -0
  209. package/src/types/constants.ts +9 -0
  210. package/src/types/index.ts +8 -0
  211. package/src/types/migrations.test.ts +83 -0
  212. package/src/types/schema.ts +62 -0
  213. package/src/types/types.ts +42 -0
  214. package/src/util/arrangement.test.ts +218 -0
  215. package/src/util/arrangement.ts +177 -0
  216. package/src/util/index.ts +5 -0
  217. package/dist/lib/browser/artifact-definition-6HNQFL2M.mjs +0 -178
  218. package/dist/lib/browser/artifact-definition-6HNQFL2M.mjs.map +0 -7
  219. package/dist/lib/browser/chunk-6JEDX6HA.mjs +0 -85
  220. package/dist/lib/browser/chunk-6JEDX6HA.mjs.map +0 -7
  221. package/dist/lib/browser/intent-resolver-QQOH5EV2.mjs +0 -297
  222. package/dist/lib/browser/intent-resolver-QQOH5EV2.mjs.map +0 -7
  223. package/dist/lib/browser/react-surface-HJL2JRJP.mjs +0 -305
  224. package/dist/lib/browser/react-surface-HJL2JRJP.mjs.map +0 -7
  225. package/dist/lib/browser/types.mjs +0 -13
  226. package/dist/lib/node/artifact-definition-GRCAYCVG.cjs +0 -193
  227. package/dist/lib/node/artifact-definition-GRCAYCVG.cjs.map +0 -7
  228. package/dist/lib/node/chunk-ATDUVDIE.cjs +0 -108
  229. package/dist/lib/node/chunk-ATDUVDIE.cjs.map +0 -7
  230. package/dist/lib/node/index.cjs +0 -128
  231. package/dist/lib/node/index.cjs.map +0 -7
  232. package/dist/lib/node/intent-resolver-6ZNOIHKY.cjs +0 -308
  233. package/dist/lib/node/intent-resolver-6ZNOIHKY.cjs.map +0 -7
  234. package/dist/lib/node/meta.json +0 -1
  235. package/dist/lib/node/react-surface-G2J6F7U5.cjs +0 -322
  236. package/dist/lib/node/react-surface-G2J6F7U5.cjs.map +0 -7
  237. package/dist/lib/node/types.cjs +0 -35
  238. package/dist/lib/node/types.cjs.map +0 -7
  239. package/dist/lib/node-esm/artifact-definition-FA2IAAUQ.mjs +0 -179
  240. package/dist/lib/node-esm/artifact-definition-FA2IAAUQ.mjs.map +0 -7
  241. package/dist/lib/node-esm/chunk-7DHZSNGQ.mjs +0 -87
  242. package/dist/lib/node-esm/chunk-7DHZSNGQ.mjs.map +0 -7
  243. package/dist/lib/node-esm/intent-resolver-4TYFDM4E.mjs +0 -298
  244. package/dist/lib/node-esm/intent-resolver-4TYFDM4E.mjs.map +0 -7
  245. package/dist/lib/node-esm/react-surface-257WTPQZ.mjs +0 -306
  246. package/dist/lib/node-esm/react-surface-257WTPQZ.mjs.map +0 -7
  247. package/dist/lib/node-esm/types.mjs +0 -14
  248. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  249. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  250. package/dist/types/src/components/KanbanContainer.d.ts +0 -7
  251. package/dist/types/src/components/KanbanContainer.d.ts.map +0 -1
  252. package/dist/types/src/components/KanbanContainer.stories.d.ts +0 -10
  253. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +0 -1
  254. package/dist/types/src/components/KanbanViewEditor.d.ts +0 -8
  255. package/dist/types/src/components/KanbanViewEditor.d.ts.map +0 -1
  256. package/dist/types/src/testing/initialize-kanban.d.ts +0 -17
  257. package/dist/types/src/testing/initialize-kanban.d.ts.map +0 -1
  258. package/dist/types/src/testing/kanban-manager.d.ts +0 -7
  259. package/dist/types/src/testing/kanban-manager.d.ts.map +0 -1
  260. package/dist/types/src/testing/playwright/smoke.spec.d.ts.map +0 -1
  261. package/dist/types/src/types.d.ts +0 -76
  262. package/dist/types/src/types.d.ts.map +0 -1
  263. package/src/capabilities/intent-resolver.ts +0 -71
  264. package/src/components/KanbanContainer.stories.tsx +0 -192
  265. package/src/components/KanbanContainer.tsx +0 -95
  266. package/src/components/KanbanViewEditor.tsx +0 -104
  267. package/src/testing/initialize-kanban.ts +0 -128
  268. package/src/testing/kanban-manager.ts +0 -13
  269. package/src/testing/playwright/playwright.config.cts +0 -18
  270. package/src/testing/playwright/smoke.spec.ts +0 -7
  271. package/src/types.ts +0 -95
  272. /package/dist/lib/browser/{types.mjs.map → chunk-J5LGTIGS.mjs.map} +0 -0
  273. /package/dist/lib/node-esm/{types.mjs.map → chunk-HSLMI22Q.mjs.map} +0 -0
  274. /package/dist/types/src/{testing/playwright → playwright}/smoke.spec.d.ts +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/types/constants.ts", "../../../../src/types/Kanban.ts", "../../../../src/types/schema.ts"],
4
+ "sourcesContent": ["//\n// Copyright 2025 DXOS.org\n//\n\nexport const UNCATEGORIZED_VALUE = '__uncategorized__' as const;\nexport const UNCATEGORIZED_ATTRIBUTES = {\n title: 'Uncategorized',\n color: 'neutral',\n} as const;\n", "//\n// Copyright 2024 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { Annotation, Obj, Ref, Type } from '@dxos/echo';\nimport { View } from '@dxos/echo';\nimport { FormInputAnnotation, LabelAnnotation } from '@dxos/echo/internal';\nimport { ViewAnnotation } from '@dxos/schema';\n\n/**\n * Per-column entry: ordered card ids plus an optional `hidden` flag that\n * removes the column from the rendered board (and from the model's column\n * list). Today only the uncategorized column is exposed in settings, but\n * the data structure supports per-column hiding generally.\n */\nconst ArrangementColumnEntry = Schema.Struct({\n ids: Schema.Array(Obj.ID),\n hidden: Schema.Boolean.pipe(Schema.optional),\n});\n\n/** Keyed by columnValue. */\nconst ArrangementColumns = Schema.Record({\n key: Schema.String,\n value: ArrangementColumnEntry,\n}).pipe(FormInputAnnotation.set(false));\n\n/** Column order and per-column card ids. */\nexport const Arrangement = Schema.Struct({\n order: Schema.Array(Schema.String).pipe(FormInputAnnotation.set(false)),\n columns: ArrangementColumns,\n}).pipe(FormInputAnnotation.set(false));\n\nexport type Arrangement = Schema.Schema.Type<typeof Arrangement>;\n\n/**\n * v1: pre-existing Kanban shape. Retained as the source for the v1→v2 migration.\n */\nexport const KanbanV1 = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),\n arrangement: Arrangement,\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.kanban',\n version: '0.1.0',\n }),\n);\n\n//\n// v2 — `spec` is a discriminated union of how items are sourced.\n//\n// Mirrors the canonical DXOS pattern (see `Trigger.Spec` in\n// `@dxos/functions/src/types/Trigger.ts` and `Sequence.Source` in\n// `@dxos/plugin-zen`): the `Type.object` schema is a flat `Schema.Struct`,\n// and the discriminated union lives one level down as a single field whose\n// variants are tagged with a `kind` literal.\n//\n\n/** View-variant: items come from running the View's query (the original behaviour). */\nexport const KanbanViewSpec = Schema.Struct({\n kind: Schema.Literal('view').pipe(FormInputAnnotation.set(false)),\n view: Ref.Ref(View.View).pipe(FormInputAnnotation.set(false)),\n});\nexport type KanbanViewSpec = Schema.Schema.Type<typeof KanbanViewSpec>;\n\n/** Items-variant: kanban owns its items as an explicit ref array (used by externally-synced kanbans). */\nexport const KanbanItemsSpec = Schema.Struct({\n kind: Schema.Literal('items').pipe(FormInputAnnotation.set(false)),\n /** Property path on each item that drives column membership (e.g. `'listName'`). */\n pivotField: Schema.String,\n /** Items owned directly by the kanban. */\n items: Schema.Array(Ref.Ref(Obj.Unknown)).pipe(FormInputAnnotation.set(false)),\n});\nexport type KanbanItemsSpec = Schema.Schema.Type<typeof KanbanItemsSpec>;\n\n/** Discriminated union of source specs. Distinguished by `kind`. */\nexport const KanbanSpec = Schema.Union(KanbanViewSpec, KanbanItemsSpec);\nexport type KanbanSpec = Schema.Schema.Type<typeof KanbanSpec>;\n\nexport const Kanban = Schema.Struct({\n name: Schema.String.pipe(Schema.optional),\n arrangement: Arrangement,\n /** How this kanban sources its items. Discriminated by `spec.kind`. */\n spec: KanbanSpec,\n}).pipe(\n Type.object({\n typename: 'org.dxos.type.kanban',\n version: '0.2.0',\n }),\n LabelAnnotation.set(['name']),\n ViewAnnotation.set(['spec', 'view']),\n Annotation.IconAnnotation.set({\n icon: 'ph--kanban--regular',\n hue: 'green',\n }),\n);\n\n/** Instance type; narrow on `kanban.spec.kind` (or use the guards below). */\nexport interface Kanban extends Schema.Schema.Type<typeof Kanban> {}\n\n/** Narrowed view-variant kanban. */\nexport type KanbanView = Kanban & { spec: KanbanViewSpec };\n\n/** Narrowed items-variant kanban. */\nexport type KanbanItems = Kanban & { spec: KanbanItemsSpec };\n\nexport const isKanbanView = (kanban: Kanban): kanban is KanbanView => kanban.spec.kind === 'view';\nexport const isKanbanItems = (kanban: Kanban): kanban is KanbanItems => kanban.spec.kind === 'items';\n\ntype MakeViewProps = {\n name?: string;\n view: View.View;\n arrangement?: Arrangement;\n};\n\n/**\n * Make a view-variant kanban (items sourced via the View's query).\n */\nexport const make = (props: MakeViewProps): Kanban => {\n const { name, view, arrangement } = props;\n const order = arrangement?.order ?? [];\n const columns = arrangement?.columns ?? {};\n return Obj.make(Kanban, {\n name,\n arrangement: { order, columns },\n spec: { kind: 'view' as const, view: Ref.make(view) },\n });\n};\n\ntype MakeItemsProps = {\n name?: string;\n arrangement?: Arrangement;\n pivotField: string;\n items?: ReadonlyArray<Ref.Ref<Obj.Unknown>>;\n};\n\n/**\n * Make an items-variant kanban (items list owned by the kanban itself, e.g. populated by a sync integration).\n */\nexport const makeItems = (props: MakeItemsProps): Kanban => {\n const { name, arrangement, pivotField, items = [] } = props;\n const order = arrangement?.order ?? [];\n const columns = arrangement?.columns ?? {};\n return Obj.make(Kanban, {\n name,\n arrangement: { order, columns },\n spec: { kind: 'items' as const, pivotField, items },\n });\n};\n", "//\n// Copyright 2025 DXOS.org\n//\n\nimport * as Schema from 'effect/Schema';\n\nimport { TypeInputOptionsAnnotation } from '@dxos/plugin-space/types';\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\n// TODO(wittjosiah): Factor out?\nexport const PivotColumnAnnotationId = Symbol.for('@dxos/plugin-kanban/annotation/PivotColumn');\n\n/**\n * Settings common to every Kanban (view or items). Rendered as form fields\n * by `KanbanSettings`.\n */\nexport const KanbanSettingsSchema = Schema.Struct({\n hideUncategorized: Schema.Boolean.annotations({\n title: 'Hide uncategorized column',\n description: 'When enabled, items without a pivot value won’t be shown as a column.',\n }).pipe(Schema.optional),\n});\n\n/**\n * Settings for view-variant Kanbans only. Spreads {@link KanbanSettingsSchema}'s\n * fields and adds a column-field picker that binds the View’s pivot field.\n * Items-variant kanbans use a hardcoded `spec.pivotField` and don’t expose\n * this control.\n */\nexport const KanbanViewSettingsSchema = Schema.Struct({\n columnFieldId: Schema.String.annotations({\n title: 'Column field',\n }),\n ...KanbanSettingsSchema.fields,\n});\n\nexport const CreateKanbanSchema = Schema.Struct({\n name: Schema.optional(Schema.String),\n // TODO(wittjosiah): This should be a query input instead.\n typename: Schema.String.pipe(\n Schema.annotations({ title: 'Select card type' }),\n TypeInputOptionsAnnotation.set({\n location: ['database', 'runtime'],\n kind: ['user'],\n }),\n Schema.optional,\n ),\n initialPivotColumn: Schema.optional(\n Schema.String.annotations({\n [PivotColumnAnnotationId]: true,\n title: 'Pivot column',\n }),\n ),\n});\n"],
5
+ "mappings": "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",
6
+ "names": ["UNCATEGORIZED_VALUE", "UNCATEGORIZED_ATTRIBUTES", "title", "color", "Schema", "Annotation", "Obj", "Ref", "Type", "View", "FormInputAnnotation", "LabelAnnotation", "ViewAnnotation", "ArrangementColumnEntry", "Struct", "ids", "Array", "ID", "hidden", "Boolean", "pipe", "optional", "ArrangementColumns", "Record", "key", "String", "value", "set", "Arrangement", "order", "columns", "KanbanV1", "name", "view", "arrangement", "object", "typename", "version", "KanbanViewSpec", "kind", "Literal", "KanbanItemsSpec", "pivotField", "items", "Unknown", "KanbanSpec", "Union", "Kanban", "spec", "IconAnnotation", "icon", "hue", "isKanbanView", "kanban", "isKanbanItems", "make", "props", "makeItems", "Schema", "TypeInputOptionsAnnotation", "PivotColumnAnnotationId", "Symbol", "for", "KanbanSettingsSchema", "Struct", "hideUncategorized", "Boolean", "annotations", "title", "description", "pipe", "optional", "KanbanViewSettingsSchema", "columnFieldId", "String", "fields", "CreateKanbanSchema", "name", "typename", "set", "location", "kind", "initialPivotColumn"]
7
+ }
@@ -1,2 +1,4 @@
1
- export declare const KanbanPlugin: () => import("@dxos/app-framework").Plugin;
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const KanbanPlugin: Plugin.PluginFactory<void>;
3
+ export default KanbanPlugin;
2
4
  //# sourceMappingURL=KanbanPlugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAeA,eAAO,MAAM,YAAY,4CA8CrB,CAAC"}
1
+ {"version":3,"file":"KanbanPlugin.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAgB7C,eAAO,MAAM,YAAY,4BAaxB,CAAC;eAEa,YAAY"}
@@ -0,0 +1,4 @@
1
+ import { Plugin } from '@dxos/app-framework';
2
+ export declare const KanbanPlugin: Plugin.PluginFactory<void>;
3
+ export default KanbanPlugin;
4
+ //# sourceMappingURL=KanbanPlugin.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanPlugin.node.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.node.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAO7C,eAAO,MAAM,YAAY,4BAOxB,CAAC;eAEa,YAAY"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=KanbanPlugin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanPlugin.test.d.ts","sourceRoot":"","sources":["../../../src/KanbanPlugin.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export { default as KanbanBlueprint } from './kanban-blueprint';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/blueprints/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { Blueprint } from '@dxos/compute';
2
+ declare const blueprint: Blueprint.Definition;
3
+ export default blueprint;
4
+ //# sourceMappingURL=kanban-blueprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"kanban-blueprint.d.ts","sourceRoot":"","sources":["../../../../src/blueprints/kanban-blueprint.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAY,MAAM,eAAe,CAAC;AAiBpD,QAAA,MAAM,SAAS,EAAE,SAAS,CAAC,UAG1B,CAAC;eAEa,SAAS"}
@@ -1,4 +1,5 @@
1
- import { type PromiseIntentDispatcher } from '@dxos/app-framework';
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability, type PromiseIntentDispatcher } from '@dxos/app-framework';
2
3
  import { type Space } from '@dxos/react-client/echo';
3
4
  declare global {
4
5
  interface ToolContextExtensions {
@@ -6,6 +7,6 @@ declare global {
6
7
  dispatch?: PromiseIntentDispatcher;
7
8
  }
8
9
  }
9
- declare const _default: () => import("@dxos/app-framework").Capability<import("@dxos/artifact").ArtifactDefinition>;
10
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<any>, never, never>;
10
11
  export default _default;
11
12
  //# sourceMappingURL=artifact-definition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/artifact-definition.ts"],"names":[],"mappings":"AAOA,OAAO,EAAkD,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAMnH,OAAO,EAA4B,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAU/E,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF;;AAED,wBAyGE"}
1
+ {"version":3,"file":"artifact-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/artifact-definition.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAgB,UAAU,EAAE,KAAK,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAO7F,OAAO,EAAU,KAAK,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAW7D,OAAO,CAAC,MAAM,CAAC,CAAC;IACd,UAAU,qBAAqB;QAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;QACd,QAAQ,CAAC,EAAE,uBAAuB,CAAC;KACpC;CACF"}
@@ -0,0 +1,6 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability } from '@dxos/app-framework';
3
+ import type { Blueprint } from '@dxos/compute';
4
+ declare const blueprintDefinition: (props: []) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Blueprint.Definition>>[], Error, Capability.Service>;
5
+ export default blueprintDefinition;
6
+ //# sourceMappingURL=blueprint-definition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blueprint-definition.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/blueprint-definition.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAI/C,QAAA,MAAM,mBAAmB,iIAG8E,CAAC;eAEzF,mBAAmB"}
@@ -0,0 +1,11 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability } from '@dxos/app-framework';
3
+ import { SpaceCapabilities } from '@dxos/plugin-space/types';
4
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Readonly<{
5
+ id: string;
6
+ createObject: import("@dxos/plugin-space/types").CreateObject;
7
+ inputSchema?: import("effect/Schema").Schema.AnyNoContext;
8
+ customPanel?: import("react").ComponentType<SpaceCapabilities.CreateObjectCustomPanelProps>;
9
+ }>>>, never, never>;
10
+ export default _default;
11
+ //# sourceMappingURL=create-object.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-object.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/create-object.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1,4 +1,14 @@
1
- export declare const ArtifactDefinition: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/artifact").ArtifactDefinition> | import("@dxos/app-framework").AnyCapability[]>>;
2
- export declare const IntentResolver: (props?: import("@dxos/app-framework").PluginContext | undefined) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.IntentResolver> | import("@dxos/app-framework").AnyCapability[]>>;
3
- export declare const ReactSurface: (props?: unknown) => Promise<() => Promise<import("@dxos/app-framework").Capability<import("@dxos/app-framework").Capabilities.ReactSurface> | import("@dxos/app-framework").AnyCapability[]>>;
1
+ import { Capability } from '@dxos/app-framework';
2
+ import type { Blueprint, OperationHandlerSet } from '@dxos/compute';
3
+ export declare const BlueprintDefinition: Capability.LazyCapability<[], Capability.Capability<Capability.InterfaceDef<Blueprint.Definition>>[], Error>;
4
+ export declare const CreateObject: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<Readonly<{
5
+ id: string;
6
+ createObject: import("@dxos/plugin-space/types").CreateObject;
7
+ inputSchema?: import("effect/Schema").Schema.AnyNoContext;
8
+ customPanel?: import("react").ComponentType<import("@dxos/plugin-space/types").SpaceCapabilities.CreateObjectCustomPanelProps>;
9
+ }>>>, Error>;
10
+ export declare const Migrations: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/echo/Migration").ObjectMigration[]>>, Error>;
11
+ export declare const OperationHandler: Capability.LazyCapability<OperationHandlerSet.OperationHandlerSet, Capability.ModuleReturn, Error>;
12
+ export declare const ReactSurface: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Capabilities").ReactSurface>>, Error>;
13
+ export declare const UndoMappings: Capability.LazyCapability<void, Capability.Capability<Capability.InterfaceDef<import("@dxos/app-framework/Capabilities").UndoMapping[]>>, Error>;
4
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,kBAAkB,oLAA8C,CAAC;AAC9E,eAAO,MAAM,cAAc,kPAA0C,CAAC;AACtE,eAAO,MAAM,YAAY,gMAAwC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpE,eAAO,MAAM,mBAAmB,8GAAiF,CAAC;AAClH,eAAO,MAAM,YAAY;;;;;YAAmE,CAAC;AAC7F,eAAO,MAAM,UAAU,0IAA8D,CAAC;AACtF,eAAO,MAAM,gBAAgB,oGAG5B,CAAC;AACF,eAAO,MAAM,YAAY,iJAAmE,CAAC;AAC7F,eAAO,MAAM,YAAY,kJAAmE,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability } from '@dxos/app-framework';
3
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<import("@dxos/echo/Migration").ObjectMigration[]>>, never, never>;
4
+ export default _default;
5
+ //# sourceMappingURL=migrations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/migrations.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capability } from '@dxos/app-framework';
3
+ import type { OperationHandlerSet } from '@dxos/compute';
4
+ declare const _default: (props: OperationHandlerSet.OperationHandlerSet) => Effect.Effect<Capability.ModuleReturn, Error, Capability.Service>;
5
+ export default _default;
6
+ //# sourceMappingURL=operation-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-handler.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/operation-handler.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAgB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,4 +1,5 @@
1
- import { Capabilities } from '@dxos/app-framework';
2
- declare const _default: () => import("@dxos/app-framework").Capability<Capabilities.ReactSurface>;
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capabilities, Capability } from '@dxos/app-framework';
3
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Capabilities.ReactSurface>>, never, never>;
3
4
  export default _default;
4
5
  //# sourceMappingURL=react-surface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAOA,OAAO,EAAE,YAAY,EAA+C,MAAM,qBAAqB,CAAC;;AAahG,wBA4DK"}
1
+ {"version":3,"file":"react-surface.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/react-surface.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAKxC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,5 @@
1
+ import * as Effect from 'effect/Effect';
2
+ import { Capabilities, Capability } from '@dxos/app-framework';
3
+ declare const _default: (props: void) => Effect.Effect<Capability.Capability<Capability.InterfaceDef<Capabilities.UndoMapping[]>>, never, never>;
4
+ export default _default;
5
+ //# sourceMappingURL=undo-mappings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"undo-mappings.d.ts","sourceRoot":"","sources":["../../../../src/capabilities/undo-mappings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAe,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { type Atom } from '@effect-atom/atom-react';
2
+ import React, { type ComponentPropsWithoutRef, type PropsWithChildren } from 'react';
3
+ import { Obj } from '@dxos/echo';
4
+ import type { ProjectionModel } from '@dxos/schema';
5
+ import { type Kanban } from '#types';
6
+ import { type KanbanBoardContextValue, type KanbanCardProps, type KanbanColumnProps, useKanbanBoard } from './context';
7
+ type KanbanBoardRootProps = PropsWithChildren<{
8
+ kanban: Kanban.Kanban;
9
+ /** Required when providing context; Root derives columnFieldPath, pivotFieldId, getPivotAttributes from kanban + projection. */
10
+ projection: ProjectionModel;
11
+ /** Atom of items (e.g. from AtomQuery for DB, or Atom.make([]) for in-memory). */
12
+ items: Atom.Atom<Obj.Unknown[]>;
13
+ onCardAdd?: (columnValue: string | undefined) => string | undefined;
14
+ onCardRemove?: (card: Obj.Unknown) => void;
15
+ } & Pick<KanbanBoardContextValue, 'change' | 'itemTile'> & ComponentPropsWithoutRef<'div'>>;
16
+ export declare function KanbanBoardRoot({ children, kanban, projection, items, change, itemTile, onCardAdd, onCardRemove }: KanbanBoardRootProps): React.JSX.Element;
17
+ export declare namespace KanbanBoardRoot {
18
+ var displayName: string;
19
+ }
20
+ type KanbanBoardContentProps = {};
21
+ export declare const KanbanBoardContent: React.ForwardRefExoticComponent<Omit<KanbanBoardContentProps, "className"> & {
22
+ classNames?: import("@dxos/ui-types").ClassNameValue;
23
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
24
+ export declare const KanbanBoard: {
25
+ Root: {
26
+ ({ children, kanban, projection, items, change, itemTile, onCardAdd, onCardRemove, }: KanbanBoardRootProps): React.JSX.Element;
27
+ displayName: string;
28
+ };
29
+ Content: React.ForwardRefExoticComponent<Omit<KanbanBoardContentProps, "className"> & {
30
+ classNames?: import("@dxos/ui-types").ClassNameValue;
31
+ } & Pick<React.HTMLAttributes<Element>, "children" | "className" | "role" | "style"> & React.RefAttributes<HTMLDivElement>>;
32
+ Column: React.ForwardRefExoticComponent<KanbanColumnProps & React.RefAttributes<HTMLDivElement>>;
33
+ Card: React.ForwardRefExoticComponent<KanbanCardProps & React.RefAttributes<HTMLDivElement>>;
34
+ };
35
+ export { useKanbanBoard };
36
+ export type { KanbanBoardRootProps as KanbanBoardProps, KanbanCardProps, KanbanColumnProps };
37
+ //# sourceMappingURL=KanbanBoard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanBoard.d.ts","sourceRoot":"","sources":["../../../../../src/components/KanbanBoard/KanbanBoard.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,IAAI,EAAmB,MAAM,yBAAyB,CAAC;AACrE,OAAO,KAAK,EAAE,EAAE,KAAK,wBAAwB,EAAE,KAAK,iBAAiB,EAAoC,MAAM,OAAO,CAAC;AAEvH,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAKpD,OAAO,EAAE,KAAK,MAAM,EAAiD,MAAM,QAAQ,CAAC;AAEpF,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,cAAc,EACf,MAAM,WAAW,CAAC;AAYnB,KAAK,oBAAoB,GAAG,iBAAiB,CAC3C;IACE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,gIAAgI;IAChI,UAAU,EAAE,eAAe,CAAC;IAC5B,kFAAkF;IAClF,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;IACpE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;CAC5C,GAAG,IAAI,CAAC,uBAAuB,EAAE,QAAQ,GAAG,UAAU,CAAC,GACtD,wBAAwB,CAAC,KAAK,CAAC,CAClC,CAAC;wCAE8B,EAC9B,QAAQ,EACR,MAAM,EACN,UAAU,EACV,KAAK,EACL,MAAM,EACN,QAAqB,EACrB,SAAS,EACT,YAAY,EACb,EAAE,oBAAoB;;;;AAkEvB,KAAK,uBAAuB,GAAG,EAAE,CAAC;AAElC,eAAO,MAAM,kBAAkB;;2HAqB7B,CAAC;AAQH,eAAO,MAAM,WAAW;IACtB,IAAI;8FAlGH,oBAAoB;;;IAmGrB,OAAO;;;IACP,MAAM;IACN,IAAI;CACL,CAAC;AAEF,OAAO,EAAE,cAAc,EAAE,CAAC;AAE1B,YAAY,EAAE,oBAAoB,IAAI,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { type StoryObj } from '@storybook/react-vite';
2
+ import React from 'react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: () => React.JSX.Element;
6
+ decorators: import("@storybook/react").Decorator[];
7
+ parameters: {
8
+ layout: string;
9
+ translations: [{
10
+ readonly 'en-US': {
11
+ readonly [x: string]: {
12
+ readonly 'typename.label': 'Kanban';
13
+ readonly 'typename.label_zero': 'Kanbans';
14
+ readonly 'typename.label_one': 'Kanban';
15
+ readonly 'typename.label_other': 'Kanbans';
16
+ readonly 'object-name.placeholder': 'New kanban';
17
+ readonly 'add-object.label': 'Add kanban';
18
+ readonly 'rename-object.label': 'Rename kanban';
19
+ readonly 'delete-object.label': 'Delete kanban';
20
+ readonly 'object-deleted.label': 'Kanban deleted';
21
+ readonly 'action-menu.label'?: undefined;
22
+ readonly 'plugin.name'?: undefined;
23
+ readonly 'kanban-title.label'?: undefined;
24
+ readonly 'column-title.label'?: undefined;
25
+ readonly 'column-title.placeholder'?: undefined;
26
+ readonly 'add-column.label'?: undefined;
27
+ readonly 'add-card.label'?: undefined;
28
+ readonly 'new-column-name.label'?: undefined;
29
+ readonly 'remove-card.label'?: undefined;
30
+ readonly 'remove-empty-column.label'?: undefined;
31
+ readonly 'column-drag-handle.label'?: undefined;
32
+ readonly 'delete-column.label'?: undefined;
33
+ readonly 'card-field-deleted.label'?: undefined;
34
+ readonly 'card-deleted.label'?: undefined;
35
+ readonly 'select-pivot.placeholder'?: undefined;
36
+ } | {
37
+ readonly 'typename.label'?: undefined;
38
+ readonly 'typename.label_zero'?: undefined;
39
+ readonly 'typename.label_one'?: undefined;
40
+ readonly 'typename.label_other'?: undefined;
41
+ readonly 'object-name.placeholder'?: undefined;
42
+ readonly 'add-object.label'?: undefined;
43
+ readonly 'rename-object.label'?: undefined;
44
+ readonly 'delete-object.label'?: undefined;
45
+ readonly 'object-deleted.label'?: undefined;
46
+ readonly 'action-menu.label': 'Actions';
47
+ readonly 'plugin.name': 'Kanban';
48
+ readonly 'kanban-title.label': 'Title';
49
+ readonly 'column-title.label': 'Column title';
50
+ readonly 'column-title.placeholder': 'New column';
51
+ readonly 'add-column.label': 'Add column';
52
+ readonly 'add-card.label': 'Add card';
53
+ readonly 'new-column-name.label': 'New column name';
54
+ readonly 'remove-card.label': 'Remove card';
55
+ readonly 'remove-empty-column.label': 'Remove empty column';
56
+ readonly 'column-drag-handle.label': 'Drag to rearrange';
57
+ readonly 'delete-column.label': 'Delete column';
58
+ readonly 'card-field-deleted.label': 'Card field deleted';
59
+ readonly 'card-deleted.label': 'Card deleted';
60
+ readonly 'select-pivot.placeholder': 'Select a pivot column in board settings to display columns.';
61
+ };
62
+ };
63
+ }];
64
+ };
65
+ };
66
+ export default meta;
67
+ type Story = StoryObj<typeof meta>;
68
+ /**
69
+ * In-memory board with Echo-shaped objects. No plugin manager, client, or Space.
70
+ */
71
+ export declare const Default: Story;
72
+ //# sourceMappingURL=KanbanBoard.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanBoard.stories.d.ts","sourceRoot":"","sources":["../../../../../src/components/KanbanBoard/KanbanBoard.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAgE,MAAM,OAAO,CAAC;AA0HrF,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ2B,CAAC;eAEvB,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { type KanbanCardProps } from './context';
3
+ export { type KanbanCardProps };
4
+ /**
5
+ * Mosaic Tile for Kanban card.
6
+ * Uses Surface for content; requires plugin manager context.
7
+ */
8
+ export declare const KanbanCard: React.ForwardRefExoticComponent<KanbanCardProps & React.RefAttributes<HTMLDivElement>>;
9
+ //# sourceMappingURL=KanbanCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanCard.d.ts","sourceRoot":"","sources":["../../../../../src/components/KanbanBoard/KanbanCard.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAW1E,OAAO,EAAE,KAAK,eAAe,EAAkB,MAAM,WAAW,CAAC;AAEjE,OAAO,EAAE,KAAK,eAAe,EAAE,CAAC;AAIhC;;;GAGG;AACH,eAAO,MAAM,UAAU,wFAyEtB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { type KanbanColumnProps } from './context';
3
+ export { type KanbanColumnProps };
4
+ /**
5
+ * Mosaic Tile for Kanban column.
6
+ */
7
+ export declare const KanbanColumn: React.ForwardRefExoticComponent<KanbanColumnProps & React.RefAttributes<HTMLDivElement>>;
8
+ //# sourceMappingURL=KanbanColumn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/KanbanBoard/KanbanColumn.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAmC,MAAM,OAAO,CAAC;AAQxD,OAAO,EAAE,KAAK,iBAAiB,EAAkB,MAAM,WAAW,CAAC;AAEnE,OAAO,EAAE,KAAK,iBAAiB,EAAE,CAAC;AAIlC;;GAEG;AACH,eAAO,MAAM,YAAY,0FAgDxB,CAAC"}
@@ -0,0 +1,38 @@
1
+ import { type ComponentType } from 'react';
2
+ import { type Obj } from '@dxos/echo';
3
+ import { type MosaicTileProps } from '@dxos/react-ui-mosaic';
4
+ import { type ProjectionModel } from '@dxos/schema';
5
+ import { type ColumnStructure, type KanbanChangeCallback } from '#types';
6
+ /**
7
+ * Card tile props. Defined here (rather than in `KanbanCard.tsx`) so the
8
+ * context type can reference it without forming a cycle through that
9
+ * module's runtime exports — webkit treats the resulting TDZ as a hard
10
+ * error while other engines are lenient.
11
+ */
12
+ export type KanbanCardProps = Pick<MosaicTileProps<Obj.Unknown>, 'location' | 'data' | 'debug' | 'draggable'>;
13
+ /**
14
+ * Column tile props. See note on {@link KanbanCardProps}.
15
+ */
16
+ export type KanbanColumnProps = Pick<MosaicTileProps<ColumnStructure>, 'location' | 'data' | 'debug' | 'draggable'>;
17
+ /**
18
+ * Context value for the Kanban board.
19
+ * Items are Echo objects (Obj.Unknown).
20
+ */
21
+ export type KanbanBoardContextValue = {
22
+ kanbanId: string;
23
+ projection: ProjectionModel | undefined;
24
+ columnFieldPath: string | undefined;
25
+ change: KanbanChangeCallback<Obj.Unknown>;
26
+ pivotFieldId: string | undefined;
27
+ getPivotAttributes: (columnValue: string) => {
28
+ title: string;
29
+ color: string;
30
+ };
31
+ itemTile?: ComponentType<KanbanCardProps>;
32
+ onCardAdd?: (columnValue: string | undefined) => string | undefined;
33
+ onCardRemove?: (card: Obj.Unknown) => void;
34
+ };
35
+ export declare const KanbanBoardContext: import("react").FC<KanbanBoardContextValue & {
36
+ children: React.ReactNode;
37
+ }>, useKanbanBoard: (consumerName: string) => KanbanBoardContextValue;
38
+ //# sourceMappingURL=context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../../src/components/KanbanBoard/context.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAiD,MAAM,QAAQ,CAAC;AAIxH;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC;AAE9G;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC,CAAC;AAEpH;;;GAGG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;IACxC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,MAAM,EAAE,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC1C,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,kBAAkB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9E,QAAQ,CAAC,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;IACpE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAO,kBAAkB;;IAAE,cAAc,mDAS9C,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './KanbanBoard';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/KanbanBoard/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC"}
@@ -1,3 +1,2 @@
1
- export * from './KanbanContainer';
2
- export * from './KanbanViewEditor';
1
+ export * from './KanbanBoard';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
3
+ import { Kanban } from '#types';
4
+ export type KanbanContainerProps = AppSurface.ObjectArticleProps<Kanban.Kanban>;
5
+ export declare const KanbanContainer: (props: KanbanContainerProps) => React.JSX.Element;
6
+ //# sourceMappingURL=KanbanContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanContainer.d.ts","sourceRoot":"","sources":["../../../../../src/containers/KanbanContainer/KanbanContainer.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAIhE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAUvD,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAEhF,eAAO,MAAM,eAAe,UAAW,oBAAoB,sBAS1D,CAAC"}
@@ -0,0 +1,79 @@
1
+ import { type Decorator, type StoryObj } from '@storybook/react-vite';
2
+ import React from 'react';
3
+ declare const meta: {
4
+ title: string;
5
+ component: () => React.JSX.Element | null;
6
+ render: () => React.JSX.Element;
7
+ decorators: Decorator[];
8
+ parameters: {
9
+ layout: string;
10
+ translations: [{
11
+ readonly 'en-US': {
12
+ readonly [x: string]: {
13
+ readonly 'typename.label': 'Kanban';
14
+ readonly 'typename.label_zero': 'Kanbans';
15
+ readonly 'typename.label_one': 'Kanban';
16
+ readonly 'typename.label_other': 'Kanbans';
17
+ readonly 'object-name.placeholder': 'New kanban';
18
+ readonly 'add-object.label': 'Add kanban';
19
+ readonly 'rename-object.label': 'Rename kanban';
20
+ readonly 'delete-object.label': 'Delete kanban';
21
+ readonly 'object-deleted.label': 'Kanban deleted';
22
+ readonly 'action-menu.label'?: undefined;
23
+ readonly 'plugin.name'?: undefined;
24
+ readonly 'kanban-title.label'?: undefined;
25
+ readonly 'column-title.label'?: undefined;
26
+ readonly 'column-title.placeholder'?: undefined;
27
+ readonly 'add-column.label'?: undefined;
28
+ readonly 'add-card.label'?: undefined;
29
+ readonly 'new-column-name.label'?: undefined;
30
+ readonly 'remove-card.label'?: undefined;
31
+ readonly 'remove-empty-column.label'?: undefined;
32
+ readonly 'column-drag-handle.label'?: undefined;
33
+ readonly 'delete-column.label'?: undefined;
34
+ readonly 'card-field-deleted.label'?: undefined;
35
+ readonly 'card-deleted.label'?: undefined;
36
+ readonly 'select-pivot.placeholder'?: undefined;
37
+ } | {
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 'add-object.label'?: undefined;
44
+ readonly 'rename-object.label'?: undefined;
45
+ readonly 'delete-object.label'?: undefined;
46
+ readonly 'object-deleted.label'?: undefined;
47
+ readonly 'action-menu.label': 'Actions';
48
+ readonly 'plugin.name': 'Kanban';
49
+ readonly 'kanban-title.label': 'Title';
50
+ readonly 'column-title.label': 'Column title';
51
+ readonly 'column-title.placeholder': 'New column';
52
+ readonly 'add-column.label': 'Add column';
53
+ readonly 'add-card.label': 'Add card';
54
+ readonly 'new-column-name.label': 'New column name';
55
+ readonly 'remove-card.label': 'Remove card';
56
+ readonly 'remove-empty-column.label': 'Remove empty column';
57
+ readonly 'column-drag-handle.label': 'Drag to rearrange';
58
+ readonly 'delete-column.label': 'Delete column';
59
+ readonly 'card-field-deleted.label': 'Card field deleted';
60
+ readonly 'card-deleted.label': 'Card deleted';
61
+ readonly 'select-pivot.placeholder': 'Select a pivot column in board settings to display columns.';
62
+ };
63
+ };
64
+ }];
65
+ };
66
+ };
67
+ export default meta;
68
+ type Story = StoryObj<typeof meta>;
69
+ /**
70
+ * Default story using static runtime schema (immutable).
71
+ * Schema mutations are not allowed.
72
+ */
73
+ export declare const Default: Story;
74
+ /**
75
+ * Story variant that uses a mutable database schema (EchoSchema).
76
+ * This allows testing schema mutations like adding/removing fields.
77
+ */
78
+ export declare const MutableSchema: Story;
79
+ //# sourceMappingURL=KanbanContainer.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanContainer.stories.d.ts","sourceRoot":"","sources":["../../../../../src/containers/KanbanContainer/KanbanContainer.stories.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,SAAS,EAAa,KAAK,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjF,OAAO,KAA2C,MAAM,OAAO,CAAC;AAoJhE,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS+B,CAAC;eAE3B,IAAI;AAEnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,KAiErB,CAAC;AAEF;;;GAGG;AAKH,eAAO,MAAM,aAAa,EAAE,KA2B3B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { KanbanContainer as default } from './KanbanContainer';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/containers/KanbanContainer/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,IAAI,OAAO,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { type AppSurface } from '@dxos/app-toolkit/ui';
3
+ import { type Kanban } from '#types';
4
+ export type KanbanSettingsProps = AppSurface.ObjectPropertiesProps<Kanban.Kanban>;
5
+ /**
6
+ * Settings panel for a Kanban. Renders fields common to every kanban
7
+ * (currently the "Hide uncategorized column" toggle); for view-variant
8
+ * kanbans an additional "Column field" picker drives the View's pivot
9
+ * field. Items-variant kanbans use a hardcoded `spec.pivotField`, so that
10
+ * field is omitted there.
11
+ */
12
+ export declare const KanbanSettings: ({ subject: object }: KanbanSettingsProps) => React.JSX.Element;
13
+ //# sourceMappingURL=KanbanSettings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanSettings.d.ts","sourceRoot":"","sources":["../../../../../src/containers/KanbanSettings/KanbanSettings.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAQvD,OAAO,EAAE,KAAK,MAAM,EAAuE,MAAM,QAAQ,CAAC;AAE1G,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAElF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,wBAAyB,mBAAmB,sBAmEtE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { KanbanSettings as default } from './KanbanSettings';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/containers/KanbanSettings/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,cAAc,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type ComponentType } from 'react';
2
+ export declare const KanbanContainer: ComponentType<any>;
3
+ export declare const KanbanSettings: ComponentType<any>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/containers/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAQ,MAAM,OAAO,CAAC;AAEjD,eAAO,MAAM,eAAe,EAAE,aAAa,CAAC,GAAG,CAA2C,CAAC;AAC3F,eAAO,MAAM,cAAc,EAAE,aAAa,CAAC,GAAG,CAA0C,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './useEchoChangeCallback';
2
+ export * from './useItemsProjection';
3
+ export * from './useKanbanBoardModel';
4
+ export * from './useKanbanColumnEventHandler';
5
+ export * from './useKanbanItemEventHandler';
6
+ export * from './useProjectionModel';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":"AAIA,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { Obj } from '@dxos/echo';
2
+ import { type Kanban, type KanbanChangeCallback } from '#types';
3
+ /**
4
+ * Creates a change callback for ECHO-backed kanban and items (plain function, no hooks).
5
+ * Use this when the kanban and items are stored in the ECHO database.
6
+ */
7
+ export declare const createEchoChangeCallback: <T extends Obj.Unknown>(kanban: Kanban.Kanban) => KanbanChangeCallback<T>;
8
+ /**
9
+ * Returns a memoized ECHO change callback for the given kanban.
10
+ * Returns null when kanban is undefined.
11
+ */
12
+ export declare const useEchoChangeCallback: <T extends Obj.Unknown = Obj.Unknown>(kanban: Kanban.Kanban | undefined) => KanbanChangeCallback<T> | null;
13
+ //# sourceMappingURL=useEchoChangeCallback.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEchoChangeCallback.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useEchoChangeCallback.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAEhE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,GAAG,CAAC,OAAO,UAAU,MAAM,CAAC,MAAM,KAAG,oBAAoB,CAAC,CAAC,CAO5G,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAI,CAAC,SAAS,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC,OAAO,UAC/D,MAAM,CAAC,MAAM,GAAG,SAAS,KAChC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAsF,CAAC"}