@dxos/plugin-kanban 0.8.4-main.7ace549 → 0.8.4-main.8baae0fced

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 (282) hide show
  1. package/LICENSE +102 -5
  2. package/README.md +1 -1
  3. package/dist/lib/neutral/KanbanArticle-36W7ADME.mjs +133 -0
  4. package/dist/lib/neutral/KanbanArticle-36W7ADME.mjs.map +7 -0
  5. package/dist/lib/neutral/KanbanPlugin.mjs +36 -0
  6. package/dist/lib/neutral/KanbanPlugin.mjs.map +7 -0
  7. package/dist/lib/neutral/KanbanPlugin.node.mjs +27 -0
  8. package/dist/lib/neutral/KanbanPlugin.node.mjs.map +7 -0
  9. package/dist/lib/neutral/KanbanPlugin.workerd.mjs +21 -0
  10. package/dist/lib/neutral/KanbanPlugin.workerd.mjs.map +7 -0
  11. package/dist/lib/neutral/KanbanSettings-G6M47NSK.mjs +83 -0
  12. package/dist/lib/neutral/KanbanSettings-G6M47NSK.mjs.map +7 -0
  13. package/dist/lib/neutral/blueprint-definition-FHVIEKTQ.mjs +15 -0
  14. package/dist/lib/neutral/blueprint-definition-FHVIEKTQ.mjs.map +7 -0
  15. package/dist/lib/neutral/blueprints/index.mjs +8 -0
  16. package/dist/lib/neutral/capabilities/index.mjs +19 -0
  17. package/dist/lib/neutral/capabilities/index.mjs.map +7 -0
  18. package/dist/lib/neutral/chunk-6FPBLOS3.mjs +8 -0
  19. package/dist/lib/neutral/chunk-6FPBLOS3.mjs.map +7 -0
  20. package/dist/lib/neutral/chunk-J5LGTIGS.mjs +10 -0
  21. package/dist/lib/neutral/chunk-OQ72EEGU.mjs +254 -0
  22. package/dist/lib/neutral/chunk-OQ72EEGU.mjs.map +7 -0
  23. package/dist/lib/neutral/chunk-U2JP6GKP.mjs +22 -0
  24. package/dist/lib/neutral/chunk-U2JP6GKP.mjs.map +7 -0
  25. package/dist/lib/neutral/chunk-ZTQW5KQS.mjs +26 -0
  26. package/dist/lib/neutral/chunk-ZTQW5KQS.mjs.map +7 -0
  27. package/dist/lib/neutral/components/index.mjs +243 -0
  28. package/dist/lib/neutral/components/index.mjs.map +7 -0
  29. package/dist/lib/neutral/containers/index.mjs +11 -0
  30. package/dist/lib/neutral/containers/index.mjs.map +7 -0
  31. package/dist/lib/neutral/create-object-DKBSI46K.mjs +40 -0
  32. package/dist/lib/neutral/create-object-DKBSI46K.mjs.map +7 -0
  33. package/dist/lib/neutral/delete-card-356CBACE.mjs +24 -0
  34. package/dist/lib/neutral/delete-card-356CBACE.mjs.map +7 -0
  35. package/dist/lib/neutral/delete-card-field-IRCZL2BR.mjs +42 -0
  36. package/dist/lib/neutral/delete-card-field-IRCZL2BR.mjs.map +7 -0
  37. package/dist/lib/neutral/hooks/index.mjs +432 -0
  38. package/dist/lib/neutral/hooks/index.mjs.map +7 -0
  39. package/dist/lib/neutral/index.mjs +34 -0
  40. package/dist/lib/neutral/index.mjs.map +7 -0
  41. package/dist/lib/neutral/meta.json +1 -0
  42. package/dist/lib/neutral/meta.mjs +8 -0
  43. package/dist/lib/neutral/meta.mjs.map +7 -0
  44. package/dist/lib/neutral/migrations-IWBT35UT.mjs +31 -0
  45. package/dist/lib/neutral/migrations-IWBT35UT.mjs.map +7 -0
  46. package/dist/lib/neutral/operation-handler-B7IW6MXU.mjs +13 -0
  47. package/dist/lib/neutral/operation-handler-B7IW6MXU.mjs.map +7 -0
  48. package/dist/lib/neutral/operations/index.mjs +8 -0
  49. package/dist/lib/neutral/operations/index.mjs.map +7 -0
  50. package/dist/lib/neutral/plugin.mjs +16 -0
  51. package/dist/lib/neutral/plugin.mjs.map +7 -0
  52. package/dist/lib/neutral/react-surface-ULW7657D.mjs +93 -0
  53. package/dist/lib/neutral/react-surface-ULW7657D.mjs.map +7 -0
  54. package/dist/lib/neutral/restore-card-P25Y4YSE.mjs +21 -0
  55. package/dist/lib/neutral/restore-card-P25Y4YSE.mjs.map +7 -0
  56. package/dist/lib/neutral/restore-card-field-NHR3R4XI.mjs +40 -0
  57. package/dist/lib/neutral/restore-card-field-NHR3R4XI.mjs.map +7 -0
  58. package/dist/lib/neutral/testing/index.mjs +60 -0
  59. package/dist/lib/neutral/testing/index.mjs.map +7 -0
  60. package/dist/lib/neutral/translations.mjs +44 -0
  61. package/dist/lib/neutral/translations.mjs.map +7 -0
  62. package/dist/lib/neutral/types/index.mjs +22 -0
  63. package/dist/lib/neutral/types/index.mjs.map +7 -0
  64. package/dist/lib/neutral/undo-mappings-6CHW6BOF.mjs +42 -0
  65. package/dist/lib/neutral/undo-mappings-6CHW6BOF.mjs.map +7 -0
  66. package/dist/types/src/KanbanPlugin.d.ts +3 -1
  67. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  68. package/dist/types/src/KanbanPlugin.node.d.ts +4 -0
  69. package/dist/types/src/KanbanPlugin.node.d.ts.map +1 -0
  70. package/dist/types/src/KanbanPlugin.test.d.ts +2 -0
  71. package/dist/types/src/KanbanPlugin.test.d.ts.map +1 -0
  72. package/dist/types/src/KanbanPlugin.workerd.d.ts +4 -0
  73. package/dist/types/src/KanbanPlugin.workerd.d.ts.map +1 -0
  74. package/dist/types/src/blueprints/index.d.ts +2 -0
  75. package/dist/types/src/blueprints/index.d.ts.map +1 -0
  76. package/dist/types/src/blueprints/kanban-blueprint.d.ts +4 -0
  77. package/dist/types/src/blueprints/kanban-blueprint.d.ts.map +1 -0
  78. package/dist/types/src/capabilities/artifact-definition.d.ts +3 -2
  79. package/dist/types/src/capabilities/artifact-definition.d.ts.map +1 -1
  80. package/dist/types/src/capabilities/blueprint-definition.d.ts +5 -4
  81. package/dist/types/src/capabilities/blueprint-definition.d.ts.map +1 -1
  82. package/dist/types/src/capabilities/create-object.d.ts +11 -0
  83. package/dist/types/src/capabilities/create-object.d.ts.map +1 -0
  84. package/dist/types/src/capabilities/index.d.ts +13 -3
  85. package/dist/types/src/capabilities/index.d.ts.map +1 -1
  86. package/dist/types/src/capabilities/migrations.d.ts +6 -0
  87. package/dist/types/src/capabilities/migrations.d.ts.map +1 -0
  88. package/dist/types/src/capabilities/operation-handler.d.ts +6 -0
  89. package/dist/types/src/capabilities/operation-handler.d.ts.map +1 -0
  90. package/dist/types/src/capabilities/react-surface.d.ts +3 -2
  91. package/dist/types/src/capabilities/react-surface.d.ts.map +1 -1
  92. package/dist/types/src/capabilities/undo-mappings.d.ts +5 -0
  93. package/dist/types/src/capabilities/undo-mappings.d.ts.map +1 -0
  94. package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts +37 -0
  95. package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts.map +1 -0
  96. package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts +72 -0
  97. package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts.map +1 -0
  98. package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts +9 -0
  99. package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts.map +1 -0
  100. package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts +8 -0
  101. package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts.map +1 -0
  102. package/dist/types/src/components/KanbanBoard/context.d.ts +38 -0
  103. package/dist/types/src/components/KanbanBoard/context.d.ts.map +1 -0
  104. package/dist/types/src/components/KanbanBoard/index.d.ts +2 -0
  105. package/dist/types/src/components/KanbanBoard/index.d.ts.map +1 -0
  106. package/dist/types/src/components/index.d.ts +1 -2
  107. package/dist/types/src/components/index.d.ts.map +1 -1
  108. package/dist/types/src/containers/KanbanArticle/KanbanArticle.d.ts +6 -0
  109. package/dist/types/src/containers/KanbanArticle/KanbanArticle.d.ts.map +1 -0
  110. package/dist/types/src/containers/KanbanArticle/KanbanArticle.stories.d.ts +79 -0
  111. package/dist/types/src/containers/KanbanArticle/KanbanArticle.stories.d.ts.map +1 -0
  112. package/dist/types/src/containers/KanbanArticle/index.d.ts +2 -0
  113. package/dist/types/src/containers/KanbanArticle/index.d.ts.map +1 -0
  114. package/dist/types/src/containers/KanbanSettings/KanbanSettings.d.ts +13 -0
  115. package/dist/types/src/containers/KanbanSettings/KanbanSettings.d.ts.map +1 -0
  116. package/dist/types/src/containers/KanbanSettings/index.d.ts +2 -0
  117. package/dist/types/src/containers/KanbanSettings/index.d.ts.map +1 -0
  118. package/dist/types/src/containers/index.d.ts +4 -0
  119. package/dist/types/src/containers/index.d.ts.map +1 -0
  120. package/dist/types/src/hooks/index.d.ts +7 -0
  121. package/dist/types/src/hooks/index.d.ts.map +1 -0
  122. package/dist/types/src/hooks/useEchoChangeCallback.d.ts +13 -0
  123. package/dist/types/src/hooks/useEchoChangeCallback.d.ts.map +1 -0
  124. package/dist/types/src/hooks/useItemsProjection.d.ts +10 -0
  125. package/dist/types/src/hooks/useItemsProjection.d.ts.map +1 -0
  126. package/dist/types/src/hooks/useKanbanBoardModel.browser.test.d.ts +2 -0
  127. package/dist/types/src/hooks/useKanbanBoardModel.browser.test.d.ts.map +1 -0
  128. package/dist/types/src/hooks/useKanbanBoardModel.d.ts +16 -0
  129. package/dist/types/src/hooks/useKanbanBoardModel.d.ts.map +1 -0
  130. package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts +22 -0
  131. package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts.map +1 -0
  132. package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts +19 -0
  133. package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts.map +1 -0
  134. package/dist/types/src/hooks/useProjectionModel.d.ts +15 -0
  135. package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -0
  136. package/dist/types/src/index.d.ts +3 -1
  137. package/dist/types/src/index.d.ts.map +1 -1
  138. package/dist/types/src/meta.d.ts +2 -2
  139. package/dist/types/src/meta.d.ts.map +1 -1
  140. package/dist/types/src/operations/delete-card-field.d.ts +5 -0
  141. package/dist/types/src/operations/delete-card-field.d.ts.map +1 -0
  142. package/dist/types/src/operations/delete-card.d.ts +5 -0
  143. package/dist/types/src/operations/delete-card.d.ts.map +1 -0
  144. package/dist/types/src/operations/index.d.ts +3 -0
  145. package/dist/types/src/operations/index.d.ts.map +1 -0
  146. package/dist/types/src/operations/restore-card-field.d.ts +5 -0
  147. package/dist/types/src/operations/restore-card-field.d.ts.map +1 -0
  148. package/dist/types/src/operations/restore-card.d.ts +5 -0
  149. package/dist/types/src/operations/restore-card.d.ts.map +1 -0
  150. package/dist/types/src/playwright/board-manager.d.ts +5 -0
  151. package/dist/types/src/playwright/board-manager.d.ts.map +1 -0
  152. package/dist/types/src/playwright/playwright.config.d.ts +3 -0
  153. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
  154. package/dist/types/src/playwright/smoke.spec.d.ts +2 -0
  155. package/dist/types/src/playwright/smoke.spec.d.ts.map +1 -0
  156. package/dist/types/src/plugin.d.ts +4 -0
  157. package/dist/types/src/plugin.d.ts.map +1 -0
  158. package/dist/types/src/testing/KanbanCardTileSimple.d.ts +7 -0
  159. package/dist/types/src/testing/KanbanCardTileSimple.d.ts.map +1 -0
  160. package/dist/types/src/testing/index.d.ts +2 -0
  161. package/dist/types/src/testing/index.d.ts.map +1 -0
  162. package/dist/types/src/translations.d.ts +48 -32
  163. package/dist/types/src/translations.d.ts.map +1 -1
  164. package/dist/types/src/types/Kanban.d.ts +108 -0
  165. package/dist/types/src/types/Kanban.d.ts.map +1 -0
  166. package/dist/types/src/types/KanbanOperation.d.ts +52 -0
  167. package/dist/types/src/types/KanbanOperation.d.ts.map +1 -0
  168. package/dist/types/src/types/constants.d.ts +6 -0
  169. package/dist/types/src/types/constants.d.ts.map +1 -0
  170. package/dist/types/src/types/index.d.ts +3 -0
  171. package/dist/types/src/types/index.d.ts.map +1 -1
  172. package/dist/types/src/types/migrations.test.d.ts +2 -0
  173. package/dist/types/src/types/migrations.test.d.ts.map +1 -0
  174. package/dist/types/src/types/schema.d.ts +15 -53
  175. package/dist/types/src/types/schema.d.ts.map +1 -1
  176. package/dist/types/src/types/types.d.ts +28 -0
  177. package/dist/types/src/types/types.d.ts.map +1 -1
  178. package/dist/types/src/util/arrangement.d.ts +72 -0
  179. package/dist/types/src/util/arrangement.d.ts.map +1 -0
  180. package/dist/types/src/util/arrangement.test.d.ts +2 -0
  181. package/dist/types/src/util/arrangement.test.d.ts.map +1 -0
  182. package/dist/types/src/util/index.d.ts +2 -0
  183. package/dist/types/src/util/index.d.ts.map +1 -0
  184. package/dist/types/tsconfig.tsbuildinfo +1 -1
  185. package/package.json +123 -58
  186. package/src/KanbanPlugin.node.ts +21 -0
  187. package/src/KanbanPlugin.test.ts +31 -0
  188. package/src/KanbanPlugin.tsx +29 -51
  189. package/src/KanbanPlugin.workerd.ts +18 -0
  190. package/src/blueprints/index.ts +5 -0
  191. package/src/blueprints/kanban-blueprint.ts +27 -0
  192. package/src/capabilities/artifact-definition.ts +116 -114
  193. package/src/capabilities/blueprint-definition.ts +13 -24
  194. package/src/capabilities/create-object.ts +40 -0
  195. package/src/capabilities/index.ts +12 -4
  196. package/src/capabilities/migrations.ts +35 -0
  197. package/src/capabilities/operation-handler.ts +14 -0
  198. package/src/capabilities/react-surface.tsx +77 -66
  199. package/src/capabilities/undo-mappings.ts +34 -0
  200. package/src/components/KanbanBoard/KanbanBoard.stories.tsx +145 -0
  201. package/src/components/KanbanBoard/KanbanBoard.tsx +164 -0
  202. package/src/components/KanbanBoard/KanbanCard.tsx +101 -0
  203. package/src/components/KanbanBoard/KanbanColumn.tsx +72 -0
  204. package/src/components/KanbanBoard/context.ts +54 -0
  205. package/src/components/KanbanBoard/index.ts +5 -0
  206. package/src/components/index.ts +1 -2
  207. package/src/containers/KanbanArticle/KanbanArticle.stories.tsx +276 -0
  208. package/src/containers/KanbanArticle/KanbanArticle.tsx +178 -0
  209. package/src/containers/KanbanArticle/index.ts +5 -0
  210. package/src/containers/KanbanSettings/KanbanSettings.tsx +94 -0
  211. package/src/containers/KanbanSettings/index.ts +5 -0
  212. package/src/containers/index.ts +8 -0
  213. package/src/hooks/index.ts +10 -0
  214. package/src/hooks/useEchoChangeCallback.ts +30 -0
  215. package/src/hooks/useItemsProjection.ts +44 -0
  216. package/src/hooks/useKanbanBoardModel.browser.test.ts +234 -0
  217. package/src/hooks/useKanbanBoardModel.ts +157 -0
  218. package/src/hooks/useKanbanColumnEventHandler.ts +106 -0
  219. package/src/hooks/useKanbanItemEventHandler.ts +133 -0
  220. package/src/hooks/useProjectionModel.ts +58 -0
  221. package/src/index.ts +3 -2
  222. package/src/meta.ts +4 -3
  223. package/src/operations/delete-card-field.ts +47 -0
  224. package/src/operations/delete-card.ts +23 -0
  225. package/src/operations/index.ts +10 -0
  226. package/src/operations/restore-card-field.ts +41 -0
  227. package/src/operations/restore-card.ts +21 -0
  228. package/src/playwright/board-manager.ts +13 -0
  229. package/src/playwright/playwright.config.ts +19 -0
  230. package/src/playwright/smoke.spec.ts +107 -0
  231. package/src/plugin.ts +11 -0
  232. package/src/testing/KanbanCardTileSimple.tsx +82 -0
  233. package/src/testing/index.ts +5 -0
  234. package/src/translations.ts +26 -18
  235. package/src/types/Kanban.ts +150 -0
  236. package/src/types/KanbanOperation.ts +67 -0
  237. package/src/types/constants.ts +9 -0
  238. package/src/types/index.ts +4 -0
  239. package/src/types/migrations.test.ts +82 -0
  240. package/src/types/schema.ts +21 -45
  241. package/src/types/types.ts +35 -0
  242. package/src/util/arrangement.test.ts +217 -0
  243. package/src/util/arrangement.ts +177 -0
  244. package/src/util/index.ts +5 -0
  245. package/dist/lib/browser/blueprint-definition-UYVX622Q.mjs +0 -28
  246. package/dist/lib/browser/blueprint-definition-UYVX622Q.mjs.map +0 -7
  247. package/dist/lib/browser/chunk-B7EZTXV2.mjs +0 -101
  248. package/dist/lib/browser/chunk-B7EZTXV2.mjs.map +0 -7
  249. package/dist/lib/browser/index.mjs +0 -103
  250. package/dist/lib/browser/index.mjs.map +0 -7
  251. package/dist/lib/browser/intent-resolver-ANBDVEJ2.mjs +0 -114
  252. package/dist/lib/browser/intent-resolver-ANBDVEJ2.mjs.map +0 -7
  253. package/dist/lib/browser/meta.json +0 -1
  254. package/dist/lib/browser/react-surface-7ONRKYBB.mjs +0 -242
  255. package/dist/lib/browser/react-surface-7ONRKYBB.mjs.map +0 -7
  256. package/dist/lib/browser/types/index.mjs +0 -13
  257. package/dist/lib/node-esm/blueprint-definition-42P47FUY.mjs +0 -30
  258. package/dist/lib/node-esm/blueprint-definition-42P47FUY.mjs.map +0 -7
  259. package/dist/lib/node-esm/chunk-WBN5YQGD.mjs +0 -103
  260. package/dist/lib/node-esm/chunk-WBN5YQGD.mjs.map +0 -7
  261. package/dist/lib/node-esm/index.mjs +0 -104
  262. package/dist/lib/node-esm/index.mjs.map +0 -7
  263. package/dist/lib/node-esm/intent-resolver-X4UZDRI7.mjs +0 -115
  264. package/dist/lib/node-esm/intent-resolver-X4UZDRI7.mjs.map +0 -7
  265. package/dist/lib/node-esm/meta.json +0 -1
  266. package/dist/lib/node-esm/react-surface-D7XTGTZL.mjs +0 -243
  267. package/dist/lib/node-esm/react-surface-D7XTGTZL.mjs.map +0 -7
  268. package/dist/lib/node-esm/types/index.mjs +0 -14
  269. package/dist/types/src/capabilities/intent-resolver.d.ts +0 -4
  270. package/dist/types/src/capabilities/intent-resolver.d.ts.map +0 -1
  271. package/dist/types/src/components/KanbanContainer.d.ts +0 -7
  272. package/dist/types/src/components/KanbanContainer.d.ts.map +0 -1
  273. package/dist/types/src/components/KanbanContainer.stories.d.ts +0 -54
  274. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +0 -1
  275. package/dist/types/src/components/KanbanViewEditor.d.ts +0 -8
  276. package/dist/types/src/components/KanbanViewEditor.d.ts.map +0 -1
  277. package/src/capabilities/intent-resolver.ts +0 -66
  278. package/src/components/KanbanContainer.stories.tsx +0 -177
  279. package/src/components/KanbanContainer.tsx +0 -82
  280. package/src/components/KanbanViewEditor.tsx +0 -61
  281. /package/dist/lib/{browser/types → neutral/blueprints}/index.mjs.map +0 -0
  282. /package/dist/lib/{node-esm/types/index.mjs.map → neutral/chunk-J5LGTIGS.mjs.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBM,CAAC"}
1
+ {"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,YAAY;;;uCAIC,QAAQ;4CACH,SAAS;2CACV,QAAQ;6CACN,SAAS;gDACN,YAAY;yCACnB,YAAY;4CACT,eAAe;4CACf,eAAe;6CACd,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;0CAGnB,SAAS;oCACf,QAAQ;2CACD,OAAO;2CACP,cAAc;iDACR,YAAY;yCACpB,YAAY;uCACd,UAAU;8CACH,iBAAiB;0CACrB,aAAa;kDACL,qBAAqB;iDACtB,mBAAmB;4CACxB,eAAe;iDACV,oBAAoB;2CAC1B,cAAc;iDACR,6DAA6D;;;EAIlE,CAAC"}
@@ -0,0 +1,108 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { Obj, Ref, Type, View } from '@dxos/echo';
3
+ /** Column order and per-column card ids. */
4
+ export declare const Arrangement: Schema.Struct<{
5
+ order: Schema.Array$<typeof Schema.String>;
6
+ columns: Schema.Record$<typeof Schema.String, Schema.Struct<{
7
+ ids: Schema.Array$<import("@dxos/keys").ObjectIdClass>;
8
+ hidden: Schema.optional<typeof Schema.Boolean>;
9
+ }>>;
10
+ }>;
11
+ export type Arrangement = Schema.Schema.Type<typeof Arrangement>;
12
+ /**
13
+ * v1: pre-existing Kanban shape. Retained as the source for the v1→v2 migration.
14
+ */
15
+ export declare const KanbanV1: Type.Obj<{
16
+ readonly name?: string | undefined;
17
+ readonly view: import("@dxos/echo/internal").Ref<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & View.View>;
18
+ readonly arrangement: {
19
+ readonly order: readonly string[];
20
+ readonly columns: {
21
+ readonly [x: string]: {
22
+ readonly ids: readonly string[];
23
+ readonly hidden?: boolean | undefined;
24
+ };
25
+ };
26
+ };
27
+ }, Schema.Struct.Fields>;
28
+ /** View-variant: items come from running the View's query (the original behaviour). */
29
+ export declare const KanbanViewSpec: Schema.Struct<{
30
+ kind: Schema.Literal<["view"]>;
31
+ view: Ref.RefSchema<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & View.View>;
32
+ }>;
33
+ export type KanbanViewSpec = Schema.Schema.Type<typeof KanbanViewSpec>;
34
+ /** Items-variant: kanban owns its items as an explicit ref array (used by externally-synced kanbans). */
35
+ export declare const KanbanItemsSpec: Schema.Struct<{
36
+ kind: Schema.Literal<["items"]>;
37
+ /** Property path on each item that drives column membership (e.g. `'listName'`). */
38
+ pivotField: typeof Schema.String;
39
+ /** Items owned directly by the kanban. */
40
+ items: Schema.Array$<Ref.RefSchema<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown>>;
41
+ }>;
42
+ export type KanbanItemsSpec = Schema.Schema.Type<typeof KanbanItemsSpec>;
43
+ /** Discriminated union of source specs. Distinguished by `kind`. */
44
+ export declare const KanbanSpec: Schema.Union<[Schema.Struct<{
45
+ kind: Schema.Literal<["view"]>;
46
+ view: Ref.RefSchema<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & View.View>;
47
+ }>, Schema.Struct<{
48
+ kind: Schema.Literal<["items"]>;
49
+ /** Property path on each item that drives column membership (e.g. `'listName'`). */
50
+ pivotField: typeof Schema.String;
51
+ /** Items owned directly by the kanban. */
52
+ items: Schema.Array$<Ref.RefSchema<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown>>;
53
+ }>]>;
54
+ export type KanbanSpec = Schema.Schema.Type<typeof KanbanSpec>;
55
+ export declare const Kanban: Type.Obj<{
56
+ readonly name?: string | undefined;
57
+ readonly arrangement: {
58
+ readonly order: readonly string[];
59
+ readonly columns: {
60
+ readonly [x: string]: {
61
+ readonly ids: readonly string[];
62
+ readonly hidden?: boolean | undefined;
63
+ };
64
+ };
65
+ };
66
+ readonly spec: {
67
+ readonly kind: "view";
68
+ readonly view: import("@dxos/echo/internal").Ref<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & View.View>;
69
+ } | {
70
+ readonly kind: "items";
71
+ readonly pivotField: string;
72
+ readonly items: readonly import("@dxos/echo/internal").Ref<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & Obj.Unknown>[];
73
+ };
74
+ }, Schema.Struct.Fields>;
75
+ /** Instance type; narrow on `kanban.spec.kind` (or use the guards below). */
76
+ export interface Kanban extends Schema.Schema.Type<typeof Kanban> {
77
+ }
78
+ /** Narrowed view-variant kanban. */
79
+ export type KanbanView = Kanban & {
80
+ spec: KanbanViewSpec;
81
+ };
82
+ /** Narrowed items-variant kanban. */
83
+ export type KanbanItems = Kanban & {
84
+ spec: KanbanItemsSpec;
85
+ };
86
+ export declare const isKanbanView: (kanban: Kanban) => kanban is KanbanView;
87
+ export declare const isKanbanItems: (kanban: Kanban) => kanban is KanbanItems;
88
+ type MakeViewProps = {
89
+ name?: string;
90
+ view: View.View;
91
+ arrangement?: Arrangement;
92
+ };
93
+ /**
94
+ * Make a view-variant kanban (items sourced via the View's query).
95
+ */
96
+ export declare const make: (props: MakeViewProps) => Kanban;
97
+ type MakeItemsProps = {
98
+ name?: string;
99
+ arrangement?: Arrangement;
100
+ pivotField: string;
101
+ items?: ReadonlyArray<Ref.Ref<Obj.Unknown>>;
102
+ };
103
+ /**
104
+ * Make an items-variant kanban (items list owned by the kanban itself, e.g. populated by a sync integration).
105
+ */
106
+ export declare const makeItems: (props: MakeItemsProps) => Kanban;
107
+ export {};
108
+ //# sourceMappingURL=Kanban.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Kanban.d.ts","sourceRoot":"","sources":["../../../../src/types/Kanban.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAc,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAqB9D,4CAA4C;AAC5C,eAAO,MAAM,WAAW;;;;;;EAGe,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;wBASpB,CAAC;AAYF,uFAAuF;AACvF,eAAO,MAAM,cAAc;;;EAGzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC;AAEvE,yGAAyG;AACzG,eAAO,MAAM,eAAe;;IAE1B,oFAAoF;;IAEpF,0CAA0C;;EAE1C,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,eAAe,CAAC,CAAC;AAEzE,oEAAoE;AACpE,eAAO,MAAM,UAAU;;;;;IARrB,oFAAoF;;IAEpF,0CAA0C;;IAM2B,CAAC;AACxE,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,UAAU,CAAC,CAAC;AAE/D,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;wBAgBlB,CAAC;AAEF,6EAA6E;AAC7E,MAAM,WAAW,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC;CAAG;AAEpE,oCAAoC;AACpC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,cAAc,CAAA;CAAE,CAAC;AAE3D,qCAAqC;AACrC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,CAAC;AAE7D,eAAO,MAAM,YAAY,WAAY,MAAM,KAAG,MAAM,IAAI,UAAyC,CAAC;AAClG,eAAO,MAAM,aAAa,WAAY,MAAM,KAAG,MAAM,IAAI,WAA2C,CAAC;AAErG,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAChB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,UAAW,aAAa,KAAG,MAS3C,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,SAAS,UAAW,cAAc,KAAG,MASjD,CAAC"}
@@ -0,0 +1,52 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { Capability } from '@dxos/app-framework';
3
+ import { Operation } from '@dxos/compute';
4
+ import { View } from '@dxos/echo';
5
+ export declare const DeleteCardFieldOutput: Schema.Struct<{
6
+ field: Schema.Struct<{
7
+ id: typeof Schema.String;
8
+ path: Schema.Schema<import("@dxos/effect").JsonPath, import("@dxos/effect").JsonPath, never>;
9
+ visible: Schema.optional<typeof Schema.Boolean>;
10
+ referencePath: Schema.optional<Schema.Schema<import("@dxos/effect").JsonPath, import("@dxos/effect").JsonPath, never>>;
11
+ }>;
12
+ props: Schema.SchemaClass<any, any, never>;
13
+ index: Schema.SchemaClass<number, number, never>;
14
+ }>;
15
+ export type DeleteCardFieldOutput = Schema.Schema.Type<typeof DeleteCardFieldOutput>;
16
+ export declare const DeleteCardField: Operation.Definition<{
17
+ readonly view: import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & View.View;
18
+ readonly fieldId: string;
19
+ }, {
20
+ readonly field: {
21
+ readonly id: string;
22
+ readonly path: import("@dxos/effect").JsonPath;
23
+ readonly visible?: boolean | undefined;
24
+ readonly referencePath?: import("@dxos/effect").JsonPath | undefined;
25
+ };
26
+ readonly props: any;
27
+ readonly index: number;
28
+ }, Capability.Service>;
29
+ export declare const DeleteCardOutput: Schema.Struct<{
30
+ card: Schema.SchemaClass<any, any, never>;
31
+ }>;
32
+ export type DeleteCardOutput = Schema.Schema.Type<typeof DeleteCardOutput>;
33
+ export declare const DeleteCard: Operation.Definition<{
34
+ readonly card: any;
35
+ }, {
36
+ readonly card: any;
37
+ }, never>;
38
+ export declare const RestoreCardField: Operation.Definition<{
39
+ readonly view: import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & View.View;
40
+ readonly field: {
41
+ readonly id: string;
42
+ readonly path: import("@dxos/effect").JsonPath;
43
+ readonly visible?: boolean | undefined;
44
+ readonly referencePath?: import("@dxos/effect").JsonPath | undefined;
45
+ };
46
+ readonly props: any;
47
+ readonly index: number;
48
+ }, void, Capability.Service>;
49
+ export declare const RestoreCard: Operation.Definition<{
50
+ readonly card: any;
51
+ }, void, never>;
52
+ //# sourceMappingURL=KanbanOperation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanOperation.d.ts","sourceRoot":"","sources":["../../../../src/types/KanbanOperation.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAMlC,eAAO,MAAM,qBAAqB;;;;;;;;;EAIhC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAErF,eAAO,MAAM,eAAe;;;;;;;;;;;;sBAQ1B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;EAE3B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE3E,eAAO,MAAM,UAAU;;;;SAMrB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;;;;4BAU3B,CAAC;AAEH,eAAO,MAAM,WAAW;;eAMtB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const UNCATEGORIZED_VALUE: '__uncategorized__';
2
+ export declare const UNCATEGORIZED_ATTRIBUTES: {
3
+ readonly title: 'Uncategorized';
4
+ readonly color: 'neutral';
5
+ };
6
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../src/types/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,mBAAmB,EAAG,mBAA4B,CAAC;AAChE,eAAO,MAAM,wBAAwB;aACnC,KAAK,EAAE,eAAe;aACtB,KAAK,EAAE,SAAS;CACR,CAAC"}
@@ -1,3 +1,6 @@
1
+ export * from './constants';
1
2
  export * from './schema';
2
3
  export type * from './types';
4
+ export * as Kanban from './Kanban';
5
+ export * as KanbanOperation from './KanbanOperation';
3
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,UAAU,CAAC;AACzB,mBAAmB,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,mBAAmB,SAAS,CAAC;AAE7B,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=migrations.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrations.test.d.ts","sourceRoot":"","sources":["../../../../src/types/migrations.test.ts"],"names":[],"mappings":""}
@@ -1,6 +1,4 @@
1
1
  import * as Schema from 'effect/Schema';
2
- import { Kanban } from '@dxos/react-ui-kanban/types';
3
- import { View } from '@dxos/schema';
4
2
  /**
5
3
  * Kanban data model.
6
4
  * A Kanban board is a collection of columns, each of which contains a collection of items.
@@ -10,7 +8,21 @@ import { View } from '@dxos/schema';
10
8
  * by the model (e.g., a query of items based on metadata within a column object).
11
9
  */
12
10
  export declare const PivotColumnAnnotationId: unique symbol;
13
- export declare const SettingsSchema: Schema.Struct<{
11
+ /**
12
+ * Settings common to every Kanban (view or items). Rendered as form fields
13
+ * by `KanbanSettings`.
14
+ */
15
+ export declare const KanbanSettingsSchema: Schema.Struct<{
16
+ hideUncategorized: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
17
+ }>;
18
+ /**
19
+ * Settings for view-variant Kanbans only. Spreads {@link KanbanSettingsSchema}'s
20
+ * fields and adds a column-field picker that binds the View’s pivot field.
21
+ * Items-variant kanbans use a hardcoded `spec.pivotField` and don’t expose
22
+ * this control.
23
+ */
24
+ export declare const KanbanViewSettingsSchema: Schema.Struct<{
25
+ hideUncategorized: Schema.optional<Schema.SchemaClass<boolean, boolean, never>>;
14
26
  columnFieldId: Schema.SchemaClass<string, string, never>;
15
27
  }>;
16
28
  export declare const CreateKanbanSchema: Schema.Struct<{
@@ -18,54 +30,4 @@ export declare const CreateKanbanSchema: Schema.Struct<{
18
30
  typename: Schema.optional<Schema.SchemaClass<string, string, never>>;
19
31
  initialPivotColumn: Schema.optional<Schema.SchemaClass<string, string, never>>;
20
32
  }>;
21
- export declare namespace KanbanAction {
22
- const Create_base: Schema.TaggedClass<Create, `${string}/create`, {
23
- readonly _tag: Schema.tag<`${string}/create`>;
24
- } & {
25
- input: Schema.extend<Schema.Struct<{
26
- space: Schema.Schema<import("@dxos/client-protocol").Space, import("@dxos/client-protocol").Space, never>;
27
- }>, Schema.Struct<{
28
- name: Schema.optional<typeof Schema.String>;
29
- typename: Schema.optional<Schema.SchemaClass<string, string, never>>;
30
- initialPivotColumn: Schema.optional<Schema.SchemaClass<string, string, never>>;
31
- }>>;
32
- output: Schema.Struct<{
33
- object: Schema.Schema<Kanban.Kanban, Kanban.KanbanEncoded, never>;
34
- }>;
35
- }>;
36
- export class Create extends Create_base {
37
- }
38
- const DeleteCardField_base: Schema.TaggedClass<DeleteCardField, `${string}/delete-card-field`, {
39
- readonly _tag: Schema.tag<`${string}/delete-card-field`>;
40
- } & {
41
- input: Schema.Struct<{
42
- view: Schema.Schema<View.View, View.ViewEncoded, never>;
43
- fieldId: typeof Schema.String;
44
- deletionData: Schema.optional<Schema.Struct<{
45
- field: Schema.mutable<Schema.Struct<{
46
- id: typeof Schema.String;
47
- path: Schema.Schema<import("@dxos/effect").JsonPath, import("@dxos/effect").JsonPath, never>;
48
- visible: Schema.optional<typeof Schema.Boolean>;
49
- referencePath: Schema.optional<Schema.Schema<import("@dxos/effect").JsonPath, import("@dxos/effect").JsonPath, never>>;
50
- }>>;
51
- props: typeof Schema.Any;
52
- index: typeof Schema.Number;
53
- }>>;
54
- }>;
55
- output: typeof Schema.Void;
56
- }>;
57
- export class DeleteCardField extends DeleteCardField_base {
58
- }
59
- const DeleteCard_base: Schema.TaggedClass<DeleteCard, `${string}/delete-card`, {
60
- readonly _tag: Schema.tag<`${string}/delete-card`>;
61
- } & {
62
- input: Schema.Struct<{
63
- card: typeof Schema.Any;
64
- }>;
65
- output: typeof Schema.Void;
66
- }>;
67
- export class DeleteCard extends DeleteCard_base {
68
- }
69
- export {};
70
- }
71
33
  //# sourceMappingURL=schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAe,IAAI,EAAE,MAAM,cAAc,CAAC;AAIjD;;;;;;;GAOG;AAGH,eAAO,MAAM,uBAAuB,eAA2D,CAAC;AAEhG,eAAO,MAAM,cAAc;;EAIzB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;EAkB7B,CAAC;AAEH,yBAAiB,YAAY,CAAC;;;;;;;;;;;;;;;IAG5B,MAAM,OAAO,MAAO,SAAQ,WAK1B;KAAG;;;;;;;;;;;;;;;;;;;;IAEL,MAAM,OAAO,eAAgB,SAAQ,oBAgBnC;KAAG;;;;;;;;;IAEL,MAAM,OAAO,UAAW,SAAQ,eAK9B;KAAG;;CACN"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/types/schema.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC;;;;;;;GAOG;AAGH,eAAO,MAAM,uBAAuB,eAA2D,CAAC;AAEhG;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;EAK/B,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;;EAKnC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;EAiB7B,CAAC"}
@@ -1,4 +1,32 @@
1
+ import { type Obj } from '@dxos/echo';
2
+ import { type Kanban } from './Kanban';
1
3
  export type Location = {
2
4
  idx?: number;
3
5
  };
6
+ /** Snapshot shape used when reading kanban arrangement from atoms. */
7
+ export type KanbanArrangementSnapshot = Kanban | Obj.Snapshot<Kanban>;
8
+ /** Minimal item shape for arrangement; Obj.Unknown satisfies this. */
9
+ export type BaseKanbanItem = {
10
+ id: string;
11
+ };
12
+ /** Column structure without cards; used for board model column type and derived atoms. */
13
+ export type ColumnStructure = {
14
+ columnValue: string;
15
+ ids: string[];
16
+ };
17
+ export type KanbanColumn<T extends BaseKanbanItem = BaseKanbanItem> = {
18
+ columnValue: string;
19
+ cards: T[];
20
+ };
21
+ export type ArrangedCards<T extends BaseKanbanItem = BaseKanbanItem> = KanbanColumn<T>[];
22
+ /**
23
+ * Callback type for wrapping mutations in Obj.update().
24
+ * Contains separate callbacks for kanban object and item mutations.
25
+ */
26
+ export type KanbanChangeCallback<T extends BaseKanbanItem> = {
27
+ /** Callback to wrap kanban object mutations. */
28
+ kanban: (mutate: (mutableKanban: Obj.Mutable<Kanban>) => void) => void;
29
+ /** Sets a field on an item, wrapping in Obj.update() if needed. */
30
+ setItemField: (item: T, field: string, value: unknown) => void;
31
+ };
4
32
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types/types.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,sEAAsE;AACtE,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEtE,sEAAsE;AACtE,MAAM,MAAM,cAAc,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAE5C,0FAA0F;AAC1F,MAAM,MAAM,eAAe,GAAG;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,EAAE,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI;IACpE,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,CAAC,EAAE,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;AAEzF;;;GAGG;AACH,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,cAAc,IAAI;IAC3D,gDAAgD;IAChD,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,IAAI,CAAC;IAEvE,mEAAmE;IACnE,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAChE,CAAC"}
@@ -0,0 +1,72 @@
1
+ import { type SelectOption } from '@dxos/echo/internal';
2
+ import { type ArrangedCards, type BaseKanbanItem, type ColumnStructure, type Kanban } from '#types';
3
+ /**
4
+ * Column order from a raw arrangement object (e.g. when working with arrangement only).
5
+ *
6
+ * @param arrangement - Optional arrangement; reads order.
7
+ * @returns Mutable copy of order array, or empty if arrangement/order missing or empty.
8
+ */
9
+ export declare const getOrderFromArrangement: (arrangement?: Kanban.Arrangement) => string[];
10
+ /**
11
+ * Per-column card id order and optional hidden flag from a raw arrangement object.
12
+ *
13
+ * Returns mutable copies so schema readonly does not leak to callers.
14
+ *
15
+ * @param arrangement - Optional arrangement; reads columns.
16
+ * @returns Map of column value → { ids, hidden? }; empty object if not set.
17
+ */
18
+ export declare const getOrderByColumnFromArrangement: (arrangement?: Kanban.Arrangement) => Record<string, {
19
+ ids: string[];
20
+ hidden?: boolean;
21
+ }>;
22
+ /**
23
+ * Builds the ordered list of columns (value + ids) for the board model.
24
+ *
25
+ * Column order: uncategorized first, then effectiveOrder, then any
26
+ * selectOption ids not yet in order. Each entry gets the ids from
27
+ * effectiveByColumn for that column (or empty). Columns whose entry has
28
+ * `hidden: true` are dropped from the result — currently only the
29
+ * "Uncategorized" column is toggleable from settings, but the filter is
30
+ * generic so any column can be hidden via the same flag.
31
+ *
32
+ * @param effectiveOrder - Column order from arrangement (or previous merge).
33
+ * @param effectiveByColumn - Per-column card id order + hidden flag from arrangement.
34
+ * @param selectOptions - Defines valid column ids; any missing from order are appended.
35
+ * @returns ColumnStructure array in display order.
36
+ */
37
+ export declare const computeColumnStructure: (effectiveOrder: string[], effectiveByColumn: Record<string, {
38
+ ids: string[];
39
+ hidden?: boolean;
40
+ }>, selectOptions: SelectOption[]) => ColumnStructure[];
41
+ /**
42
+ * Orders items for a single column: partition by saved order vs new, sort by orderMap, concatenate.
43
+ * Uses explicit null/undefined check for itemColumn so empty string is handled consistently.
44
+ *
45
+ * @param items - All items to filter.
46
+ * @param ids - Saved id order for this column.
47
+ * @param columnValue - Column id (e.g. UNCATEGORIZED_VALUE or option id).
48
+ * @param pivotPath - Item property key for column value (undefined = no pivot).
49
+ * @param validColumnValues - Set of valid option ids.
50
+ * @returns Items belonging to this column in display order.
51
+ */
52
+ export declare const orderItemsInColumn: <T extends BaseKanbanItem>(items: T[], ids: string[], columnValue: string, pivotPath: string | undefined, validColumnValues: Set<string>) => T[];
53
+ /**
54
+ * Computes the full item arrangement for the board: one entry per column with items in display order.
55
+ *
56
+ * Columns follow selectOptions order (uncategorized first, then each option). Within each column,
57
+ * cards that appear in the kanban's saved arrangement keep that order; any other cards in that
58
+ * column are appended after them.
59
+ *
60
+ * @param object - Kanban object whose arrangement holds per-column id order.
61
+ * @param items - All items to distribute into columns.
62
+ * @param pivotPath - Optional item property key whose value is the column id (e.g. status, priority).
63
+ * @param selectOptions - Defines valid column ids and their display order.
64
+ * @returns Array of { columnValue, cards } in column order, with cards ordered as above.
65
+ */
66
+ export declare const computeItemArrangement: <T extends BaseKanbanItem = BaseKanbanItem>({ object, items, pivotPath, selectOptions, }: {
67
+ object: Kanban.Kanban;
68
+ items: T[];
69
+ pivotPath?: string;
70
+ selectOptions: SelectOption[];
71
+ }) => ArrangedCards<T>;
72
+ //# sourceMappingURL=arrangement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrangement.d.ts","sourceRoot":"","sources":["../../../../src/util/arrangement.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,MAAM,EAEZ,MAAM,QAAQ,CAAC;AAEhB;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB,iBAAkB,MAAM,CAAC,WAAW,KAAG,MAAM,EAOhF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,iBAC5B,MAAM,CAAC,WAAW,KAC/B,MAAM,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAapD,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,sBAAsB,mBACjB,MAAM,EAAE,qBACL,MAAM,CAAC,MAAM,EAAE;IAAE,GAAG,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,iBACvD,YAAY,EAAE,KAC5B,eAAe,EAkBjB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,cAAc,SAClD,CAAC,EAAE,OACL,MAAM,EAAE,eACA,MAAM,aACR,MAAM,GAAG,SAAS,qBACV,GAAG,CAAC,MAAM,CAAC,KAC7B,CAAC,EAsBH,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,GAAI,CAAC,SAAS,cAAc,GAAG,cAAc,gDAK7E;IACD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;IACtB,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B,KAAG,aAAa,CAAC,CAAC,CAmBlB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=arrangement.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrangement.test.d.ts","sourceRoot":"","sources":["../../../../src/util/arrangement.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './arrangement';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/util/index.ts"],"names":[],"mappings":"AAIA,cAAc,eAAe,CAAC"}