@dxos/plugin-kanban 0.8.4-main.69d29f4 → 0.8.4-main.6fa680abb7

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 (191) hide show
  1. package/dist/lib/browser/KanbanContainer-LUFCGLXA.mjs +303 -0
  2. package/dist/lib/browser/KanbanContainer-LUFCGLXA.mjs.map +7 -0
  3. package/dist/lib/browser/KanbanViewEditor-JGJXYP6E.mjs +66 -0
  4. package/dist/lib/browser/KanbanViewEditor-JGJXYP6E.mjs.map +7 -0
  5. package/dist/lib/browser/blueprint-definition-2NNRB2ZQ.mjs +17 -0
  6. package/dist/lib/browser/blueprint-definition-2NNRB2ZQ.mjs.map +7 -0
  7. package/dist/lib/browser/blueprints/index.mjs +3 -3
  8. package/dist/lib/browser/{chunk-L6N4ZDZ7.mjs → chunk-B6RIAQMI.mjs} +11 -17
  9. package/dist/lib/browser/chunk-B6RIAQMI.mjs.map +7 -0
  10. package/dist/lib/browser/chunk-XNHYJTI4.mjs +385 -0
  11. package/dist/lib/browser/chunk-XNHYJTI4.mjs.map +7 -0
  12. package/dist/lib/browser/chunk-YCJAZ27A.mjs +210 -0
  13. package/dist/lib/browser/chunk-YCJAZ27A.mjs.map +7 -0
  14. package/dist/lib/browser/index.mjs +31 -27
  15. package/dist/lib/browser/index.mjs.map +3 -3
  16. package/dist/lib/browser/meta.json +1 -1
  17. package/dist/lib/browser/{operation-resolver-UEJHX42A.mjs → operation-resolver-ZWHXZBPF.mjs} +7 -7
  18. package/dist/lib/browser/operation-resolver-ZWHXZBPF.mjs.map +7 -0
  19. package/dist/lib/browser/react-surface-JSJYXYPF.mjs +99 -0
  20. package/dist/lib/browser/react-surface-JSJYXYPF.mjs.map +7 -0
  21. package/dist/lib/browser/types/index.mjs +9 -3
  22. package/dist/lib/node-esm/KanbanContainer-LLBEBTVG.mjs +304 -0
  23. package/dist/lib/node-esm/KanbanContainer-LLBEBTVG.mjs.map +7 -0
  24. package/dist/lib/node-esm/KanbanViewEditor-Z6PM75TB.mjs +67 -0
  25. package/dist/lib/node-esm/KanbanViewEditor-Z6PM75TB.mjs.map +7 -0
  26. package/dist/lib/node-esm/{blueprint-definition-APJQFSHJ.mjs → blueprint-definition-5GWECQLZ.mjs} +6 -6
  27. package/dist/lib/node-esm/blueprint-definition-5GWECQLZ.mjs.map +7 -0
  28. package/dist/lib/node-esm/blueprints/index.mjs +3 -3
  29. package/dist/lib/node-esm/chunk-3APLKFTO.mjs +211 -0
  30. package/dist/lib/node-esm/chunk-3APLKFTO.mjs.map +7 -0
  31. package/dist/lib/node-esm/chunk-MS6KRXNX.mjs +386 -0
  32. package/dist/lib/node-esm/chunk-MS6KRXNX.mjs.map +7 -0
  33. package/dist/lib/node-esm/{chunk-ZHRMUKTF.mjs → chunk-SD555I65.mjs} +11 -16
  34. package/dist/lib/node-esm/chunk-SD555I65.mjs.map +7 -0
  35. package/dist/lib/node-esm/index.mjs +31 -27
  36. package/dist/lib/node-esm/index.mjs.map +3 -3
  37. package/dist/lib/node-esm/meta.json +1 -1
  38. package/dist/lib/node-esm/{operation-resolver-5RPWHZCF.mjs → operation-resolver-KV5GNNHN.mjs} +7 -7
  39. package/dist/lib/node-esm/operation-resolver-KV5GNNHN.mjs.map +7 -0
  40. package/dist/lib/node-esm/react-surface-PQEYNBJY.mjs +100 -0
  41. package/dist/lib/node-esm/react-surface-PQEYNBJY.mjs.map +7 -0
  42. package/dist/lib/node-esm/types/index.mjs +9 -3
  43. package/dist/types/src/KanbanPlugin.d.ts.map +1 -1
  44. package/dist/types/src/blueprints/index.d.ts +1 -1
  45. package/dist/types/src/blueprints/index.d.ts.map +1 -1
  46. package/dist/types/src/blueprints/kanban-blueprint.d.ts +3 -21
  47. package/dist/types/src/blueprints/kanban-blueprint.d.ts.map +1 -1
  48. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts +1 -1
  49. package/dist/types/src/capabilities/artifact-definition/artifact-definition.d.ts.map +1 -1
  50. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts +3 -6
  51. package/dist/types/src/capabilities/blueprint-definition/blueprint-definition.d.ts.map +1 -1
  52. package/dist/types/src/capabilities/blueprint-definition/index.d.ts +1 -1
  53. package/dist/types/src/capabilities/blueprint-definition/index.d.ts.map +1 -1
  54. package/dist/types/src/capabilities/operation-resolver/index.d.ts +1 -1
  55. package/dist/types/src/capabilities/operation-resolver/index.d.ts.map +1 -1
  56. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts +2 -2
  57. package/dist/types/src/capabilities/operation-resolver/operation-resolver.d.ts.map +1 -1
  58. package/dist/types/src/capabilities/react-surface/index.d.ts +1 -1
  59. package/dist/types/src/capabilities/react-surface/index.d.ts.map +1 -1
  60. package/dist/types/src/capabilities/react-surface/react-surface.d.ts +2 -2
  61. package/dist/types/src/capabilities/react-surface/react-surface.d.ts.map +1 -1
  62. package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts +59 -0
  63. package/dist/types/src/components/KanbanBoard/KanbanBoard.d.ts.map +1 -0
  64. package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts +72 -0
  65. package/dist/types/src/components/KanbanBoard/KanbanBoard.stories.d.ts.map +1 -0
  66. package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts +10 -0
  67. package/dist/types/src/components/KanbanBoard/KanbanCard.d.ts.map +1 -0
  68. package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts +9 -0
  69. package/dist/types/src/components/KanbanBoard/KanbanColumn.d.ts.map +1 -0
  70. package/dist/types/src/components/KanbanBoard/index.d.ts +2 -0
  71. package/dist/types/src/components/KanbanBoard/index.d.ts.map +1 -0
  72. package/dist/types/src/components/index.d.ts +1 -2
  73. package/dist/types/src/components/index.d.ts.map +1 -1
  74. package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts +6 -0
  75. package/dist/types/src/containers/KanbanContainer/KanbanContainer.d.ts.map +1 -0
  76. package/dist/types/src/{components → containers/KanbanContainer}/KanbanContainer.stories.d.ts +18 -14
  77. package/dist/types/src/containers/KanbanContainer/KanbanContainer.stories.d.ts.map +1 -0
  78. package/dist/types/src/containers/KanbanContainer/index.d.ts +3 -0
  79. package/dist/types/src/containers/KanbanContainer/index.d.ts.map +1 -0
  80. package/dist/types/src/containers/KanbanViewEditor/KanbanViewEditor.d.ts +6 -0
  81. package/dist/types/src/containers/KanbanViewEditor/KanbanViewEditor.d.ts.map +1 -0
  82. package/dist/types/src/containers/KanbanViewEditor/index.d.ts +3 -0
  83. package/dist/types/src/containers/KanbanViewEditor/index.d.ts.map +1 -0
  84. package/dist/types/src/containers/index.d.ts +4 -0
  85. package/dist/types/src/containers/index.d.ts.map +1 -0
  86. package/dist/types/src/hooks/index.d.ts +6 -0
  87. package/dist/types/src/hooks/index.d.ts.map +1 -0
  88. package/dist/types/src/hooks/useEchoChangeCallback.d.ts +13 -0
  89. package/dist/types/src/hooks/useEchoChangeCallback.d.ts.map +1 -0
  90. package/dist/types/src/hooks/useKanbanBoardModel.d.ts +16 -0
  91. package/dist/types/src/hooks/useKanbanBoardModel.d.ts.map +1 -0
  92. package/dist/types/src/hooks/useKanbanBoardModel.test.d.ts +2 -0
  93. package/dist/types/src/hooks/useKanbanBoardModel.test.d.ts.map +1 -0
  94. package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts +22 -0
  95. package/dist/types/src/hooks/useKanbanColumnEventHandler.d.ts.map +1 -0
  96. package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts +19 -0
  97. package/dist/types/src/hooks/useKanbanItemEventHandler.d.ts.map +1 -0
  98. package/dist/types/src/hooks/useProjectionModel.d.ts +15 -0
  99. package/dist/types/src/hooks/useProjectionModel.d.ts.map +1 -0
  100. package/dist/types/src/playwright/board-manager.d.ts +5 -0
  101. package/dist/types/src/playwright/board-manager.d.ts.map +1 -0
  102. package/dist/types/src/playwright/playwright.config.d.ts +3 -0
  103. package/dist/types/src/playwright/playwright.config.d.ts.map +1 -0
  104. package/dist/types/src/playwright/smoke.spec.d.ts +2 -0
  105. package/dist/types/src/playwright/smoke.spec.d.ts.map +1 -0
  106. package/dist/types/src/testing/KanbanCardTileSimple.d.ts +5 -0
  107. package/dist/types/src/testing/KanbanCardTileSimple.d.ts.map +1 -0
  108. package/dist/types/src/testing/index.d.ts +2 -0
  109. package/dist/types/src/testing/index.d.ts.map +1 -0
  110. package/dist/types/src/translations.d.ts +16 -0
  111. package/dist/types/src/translations.d.ts.map +1 -1
  112. package/dist/types/src/types/Kanban.d.ts +37 -0
  113. package/dist/types/src/types/Kanban.d.ts.map +1 -0
  114. package/dist/types/src/types/constants.d.ts +6 -0
  115. package/dist/types/src/types/constants.d.ts.map +1 -0
  116. package/dist/types/src/types/index.d.ts +2 -0
  117. package/dist/types/src/types/index.d.ts.map +1 -1
  118. package/dist/types/src/types/schema.d.ts +5 -5
  119. package/dist/types/src/types/schema.d.ts.map +1 -1
  120. package/dist/types/src/types/types.d.ts +28 -0
  121. package/dist/types/src/types/types.d.ts.map +1 -1
  122. package/dist/types/src/util/arrangement.d.ts +68 -0
  123. package/dist/types/src/util/arrangement.d.ts.map +1 -0
  124. package/dist/types/src/util/arrangement.test.d.ts +2 -0
  125. package/dist/types/src/util/arrangement.test.d.ts.map +1 -0
  126. package/dist/types/src/util/index.d.ts +2 -0
  127. package/dist/types/src/util/index.d.ts.map +1 -0
  128. package/dist/types/tsconfig.tsbuildinfo +1 -1
  129. package/package.json +47 -42
  130. package/src/KanbanPlugin.tsx +11 -12
  131. package/src/blueprints/index.ts +1 -1
  132. package/src/blueprints/kanban-blueprint.ts +14 -7
  133. package/src/capabilities/artifact-definition/artifact-definition.ts +8 -7
  134. package/src/capabilities/blueprint-definition/blueprint-definition.ts +6 -12
  135. package/src/capabilities/operation-resolver/operation-resolver.ts +5 -5
  136. package/src/capabilities/react-surface/react-surface.tsx +14 -14
  137. package/src/components/KanbanBoard/KanbanBoard.stories.tsx +142 -0
  138. package/src/components/KanbanBoard/KanbanBoard.tsx +183 -0
  139. package/src/components/KanbanBoard/KanbanCard.tsx +87 -0
  140. package/src/components/KanbanBoard/KanbanColumn.tsx +69 -0
  141. package/src/components/KanbanBoard/index.ts +5 -0
  142. package/src/components/index.ts +1 -2
  143. package/src/{components → containers/KanbanContainer}/KanbanContainer.stories.tsx +62 -85
  144. package/src/containers/KanbanContainer/KanbanContainer.tsx +87 -0
  145. package/src/containers/KanbanContainer/index.ts +7 -0
  146. package/src/{components → containers/KanbanViewEditor}/KanbanViewEditor.tsx +23 -19
  147. package/src/containers/KanbanViewEditor/index.ts +7 -0
  148. package/src/containers/index.ts +8 -0
  149. package/src/hooks/index.ts +9 -0
  150. package/src/hooks/useEchoChangeCallback.ts +30 -0
  151. package/src/hooks/useKanbanBoardModel.test.ts +235 -0
  152. package/src/hooks/useKanbanBoardModel.ts +143 -0
  153. package/src/hooks/useKanbanColumnEventHandler.ts +106 -0
  154. package/src/hooks/useKanbanItemEventHandler.ts +133 -0
  155. package/src/hooks/useProjectionModel.ts +58 -0
  156. package/src/meta.ts +1 -1
  157. package/src/playwright/board-manager.ts +13 -0
  158. package/src/playwright/playwright.config.ts +19 -0
  159. package/src/playwright/smoke.spec.ts +107 -0
  160. package/src/testing/KanbanCardTileSimple.tsx +76 -0
  161. package/src/testing/index.ts +5 -0
  162. package/src/translations.ts +9 -1
  163. package/src/types/Kanban.ts +67 -0
  164. package/src/types/constants.ts +9 -0
  165. package/src/types/index.ts +2 -0
  166. package/src/types/schema.ts +8 -9
  167. package/src/types/types.ts +35 -0
  168. package/src/util/arrangement.test.ts +208 -0
  169. package/src/util/arrangement.ts +167 -0
  170. package/src/util/index.ts +5 -0
  171. package/dist/lib/browser/blueprint-definition-T2544VMJ.mjs +0 -17
  172. package/dist/lib/browser/blueprint-definition-T2544VMJ.mjs.map +0 -7
  173. package/dist/lib/browser/chunk-L6N4ZDZ7.mjs.map +0 -7
  174. package/dist/lib/browser/chunk-XYQO4VL7.mjs +0 -150
  175. package/dist/lib/browser/chunk-XYQO4VL7.mjs.map +0 -7
  176. package/dist/lib/browser/operation-resolver-UEJHX42A.mjs.map +0 -7
  177. package/dist/lib/browser/react-surface-LFUJAPRL.mjs +0 -236
  178. package/dist/lib/browser/react-surface-LFUJAPRL.mjs.map +0 -7
  179. package/dist/lib/node-esm/blueprint-definition-APJQFSHJ.mjs.map +0 -7
  180. package/dist/lib/node-esm/chunk-NN6JMKIT.mjs +0 -152
  181. package/dist/lib/node-esm/chunk-NN6JMKIT.mjs.map +0 -7
  182. package/dist/lib/node-esm/chunk-ZHRMUKTF.mjs.map +0 -7
  183. package/dist/lib/node-esm/operation-resolver-5RPWHZCF.mjs.map +0 -7
  184. package/dist/lib/node-esm/react-surface-7TSGBRJL.mjs +0 -237
  185. package/dist/lib/node-esm/react-surface-7TSGBRJL.mjs.map +0 -7
  186. package/dist/types/src/components/KanbanContainer.d.ts +0 -6
  187. package/dist/types/src/components/KanbanContainer.d.ts.map +0 -1
  188. package/dist/types/src/components/KanbanContainer.stories.d.ts.map +0 -1
  189. package/dist/types/src/components/KanbanViewEditor.d.ts +0 -8
  190. package/dist/types/src/components/KanbanViewEditor.d.ts.map +0 -1
  191. package/src/components/KanbanContainer.tsx +0 -86
@@ -0,0 +1,59 @@
1
+ import { type Atom } from '@effect-atom/atom-react';
2
+ import React, { type ComponentPropsWithoutRef, type ComponentType, type PropsWithChildren } from 'react';
3
+ import { Obj } from '@dxos/echo';
4
+ import type { ProjectionModel } from '@dxos/schema';
5
+ import { type Kanban, type KanbanChangeCallback } from '../../types';
6
+ import { type KanbanCardProps } from './KanbanCard';
7
+ import { type KanbanColumnProps } from './KanbanColumn';
8
+ /**
9
+ * Context value for the Kanban board.
10
+ * Items are Echo objects (Obj.Unknown).
11
+ */
12
+ type KanbanBoardContextValue = {
13
+ kanbanId: string;
14
+ projection: ProjectionModel | undefined;
15
+ columnFieldPath: string | undefined;
16
+ change: KanbanChangeCallback<Obj.Unknown>;
17
+ pivotFieldId: string | undefined;
18
+ getPivotAttributes: (columnValue: string) => {
19
+ title: string;
20
+ color: string;
21
+ };
22
+ itemTile?: ComponentType<KanbanCardProps>;
23
+ onCardAdd?: (columnValue: string | undefined) => string | undefined;
24
+ onCardRemove?: (card: Obj.Unknown) => void;
25
+ };
26
+ declare const useKanbanBoard: (consumerName: string) => KanbanBoardContextValue;
27
+ type KanbanBoardRootProps = PropsWithChildren<Pick<KanbanBoardContextValue, 'change' | 'itemTile'> & {
28
+ kanban: Kanban.Kanban;
29
+ /** Required when providing context; Root derives columnFieldPath, pivotFieldId, getPivotAttributes from kanban + projection. */
30
+ projection: ProjectionModel;
31
+ /** Atom of items (e.g. from AtomQuery for DB, or Atom.make([]) for in-memory). */
32
+ items: Atom.Atom<Obj.Unknown[]>;
33
+ onCardAdd?: (columnValue: string | undefined) => string | undefined;
34
+ onCardRemove?: (card: Obj.Unknown) => void;
35
+ } & ComponentPropsWithoutRef<'div'>>;
36
+ export declare const KanbanBoardRoot: {
37
+ ({ children, change, itemTile, kanban, projection, items, onCardAdd, onCardRemove, }: KanbanBoardRootProps): React.JSX.Element;
38
+ displayName: string;
39
+ };
40
+ type KanbanBoardContentProps = {};
41
+ export declare const KanbanBoardContent: {
42
+ (props: KanbanBoardContentProps): React.JSX.Element;
43
+ displayName: string;
44
+ };
45
+ export declare const KanbanBoard: {
46
+ Root: {
47
+ ({ children, change, itemTile, kanban, projection, items, onCardAdd, onCardRemove, }: KanbanBoardRootProps): React.JSX.Element;
48
+ displayName: string;
49
+ };
50
+ Content: {
51
+ (props: KanbanBoardContentProps): React.JSX.Element;
52
+ displayName: string;
53
+ };
54
+ Column: React.ForwardRefExoticComponent<KanbanColumnProps & React.RefAttributes<HTMLDivElement>>;
55
+ Card: React.ForwardRefExoticComponent<KanbanCardProps & React.RefAttributes<HTMLDivElement>>;
56
+ };
57
+ export { useKanbanBoard };
58
+ export type { KanbanBoardRootProps as KanbanBoardProps, KanbanCardProps, KanbanColumnProps };
59
+ //# 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;AAErE,OAAO,KAAK,EAAE,EACZ,KAAK,wBAAwB,EAC7B,KAAK,aAAa,EAClB,KAAK,iBAAiB,EAIvB,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAIpD,OAAO,EAAE,KAAK,MAAM,EAAE,KAAK,oBAAoB,EAAiD,MAAM,aAAa,CAAC;AAEpH,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAUtE;;;GAGG;AACH,KAAK,uBAAuB,GAAG;IAC7B,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,QAAA,MAA2B,cAAc,mDASvC,CAAC;AAQH,KAAK,oBAAoB,GAAG,iBAAiB,CAC3C,IAAI,CAAC,uBAAuB,EAAE,QAAQ,GAAG,UAAU,CAAC,GAAG;IACrD,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,wBAAwB,CAAC,KAAK,CAAC,CACpC,CAAC;AAEF,eAAO,MAAM,eAAe;0FASzB,oBAAoB;;CAmDtB,CAAC;AAUF,KAAK,uBAAuB,GAAG,EAAE,CAAC;AAElC,eAAO,MAAM,kBAAkB;YAAW,uBAAuB;;CAahE,CAAC;AAQF,eAAO,MAAM,WAAW;;8FApFrB,oBAAoB;;;;gBA+DmB,uBAAuB;;;;;CA0BhE,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 'action menu label': "Actions";
38
+ readonly 'plugin name': "Kanban";
39
+ readonly 'kanban title label': "Title";
40
+ readonly 'column title label': "Column title";
41
+ readonly 'column title placeholder': "New column";
42
+ readonly 'add column label': "Add column";
43
+ readonly 'add card label': "Add card";
44
+ readonly 'new column name label': "New column name";
45
+ readonly 'remove card label': "Remove card";
46
+ readonly 'remove empty column label': "Remove empty column";
47
+ readonly 'column drag handle label': "Drag to rearrange";
48
+ readonly 'delete column label': "Delete column";
49
+ readonly 'card field deleted label': "Card field deleted";
50
+ readonly 'card deleted label': "Card deleted";
51
+ readonly 'select pivot placeholder': "Select a pivot column in board settings to display columns.";
52
+ readonly 'typename label'?: undefined;
53
+ readonly 'typename label_zero'?: undefined;
54
+ readonly 'typename label_one'?: undefined;
55
+ readonly 'typename label_other'?: undefined;
56
+ readonly 'object name placeholder'?: undefined;
57
+ readonly 'add object label'?: undefined;
58
+ readonly 'rename object label'?: undefined;
59
+ readonly 'delete object label'?: undefined;
60
+ readonly 'object deleted label'?: undefined;
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;AAsHrF,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQ2B,CAAC;AAEtC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,KAAU,CAAC"}
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import { Obj } from '@dxos/echo';
3
+ import { type MosaicTileProps } from '@dxos/react-ui-mosaic';
4
+ export type KanbanCardProps = Pick<MosaicTileProps<Obj.Unknown>, 'location' | 'data' | 'debug'>;
5
+ /**
6
+ * Mosaic Tile for Kanban card.
7
+ * Uses Surface for content; requires plugin manager context.
8
+ */
9
+ export declare const KanbanCard: React.ForwardRefExoticComponent<KanbanCardProps & React.RefAttributes<HTMLDivElement>>;
10
+ //# 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;AAI1E,OAAO,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AAGjC,OAAO,EAAiB,KAAK,eAAe,EAAY,MAAM,uBAAuB,CAAC;AAQtF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAEhG;;;GAGG;AACH,eAAO,MAAM,UAAU,wFA2DrB,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { type MosaicTileProps } from '@dxos/react-ui-mosaic';
3
+ import { type ColumnStructure } from '../../types';
4
+ export type KanbanColumnProps = Pick<MosaicTileProps<ColumnStructure>, 'location' | 'data' | 'debug'>;
5
+ /**
6
+ * Mosaic Tile for Kanban column.
7
+ */
8
+ export declare const KanbanColumn: React.ForwardRefExoticComponent<KanbanColumnProps & React.RefAttributes<HTMLDivElement>>;
9
+ //# 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,KAA6B,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAS,KAAK,eAAe,EAAY,MAAM,uBAAuB,CAAC;AAG9E,OAAO,EAAE,KAAK,eAAe,EAAuB,MAAM,aAAa,CAAC;AAMxE,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;AAEtG;;GAEG;AACH,eAAO,MAAM,YAAY,0FA6CxB,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 SurfaceComponentProps } from '@dxos/app-toolkit/ui';
3
+ import { type Kanban } from '../../types';
4
+ export type KanbanContainerProps = SurfaceComponentProps<Kanban.Kanban>;
5
+ export declare const KanbanContainer: ({ role, subject: object }: KanbanContainerProps) => React.JSX.Element | null;
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,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AASlE,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,aAAa,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAExE,eAAO,MAAM,eAAe,GAAI,2BAA2B,oBAAoB,6BAgE9E,CAAC"}
@@ -7,7 +7,7 @@ declare const meta: {
7
7
  decorators: Decorator[];
8
8
  parameters: {
9
9
  layout: string;
10
- translations: ({
10
+ translations: [{
11
11
  readonly 'en-US': {
12
12
  readonly [x: string]: {
13
13
  readonly 'typename label': "Kanban";
@@ -15,49 +15,53 @@ declare const meta: {
15
15
  readonly 'typename label_one': "Kanban";
16
16
  readonly 'typename label_other': "Kanbans";
17
17
  readonly 'object name placeholder': "New kanban";
18
+ readonly 'add object label': "Add kanban";
18
19
  readonly 'rename object label': "Rename kanban";
19
20
  readonly 'delete object label': "Delete kanban";
20
21
  readonly 'object deleted label': "Kanban deleted";
22
+ readonly 'action menu label'?: undefined;
21
23
  readonly 'plugin name'?: undefined;
22
24
  readonly 'kanban title label'?: undefined;
23
25
  readonly 'column title label'?: undefined;
24
26
  readonly 'column title placeholder'?: undefined;
25
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;
26
33
  readonly 'delete column label'?: undefined;
27
34
  readonly 'card field deleted label'?: undefined;
28
35
  readonly 'card deleted label'?: undefined;
36
+ readonly 'select pivot placeholder'?: undefined;
29
37
  } | {
38
+ readonly 'action menu label': "Actions";
30
39
  readonly 'plugin name': "Kanban";
31
40
  readonly 'kanban title label': "Title";
32
41
  readonly 'column title label': "Column title";
33
42
  readonly 'column title placeholder': "New column";
34
43
  readonly 'add column label': "Add column";
44
+ readonly 'add card label': "Add card";
45
+ readonly 'new column name label': "New column name";
46
+ readonly 'remove card label': "Remove card";
47
+ readonly 'remove empty column label': "Remove empty column";
48
+ readonly 'column drag handle label': "Drag to rearrange";
35
49
  readonly 'delete column label': "Delete column";
36
50
  readonly 'card field deleted label': "Card field deleted";
37
51
  readonly 'card deleted label': "Card deleted";
52
+ readonly 'select pivot placeholder': "Select a pivot column in board settings to display columns.";
38
53
  readonly 'typename label'?: undefined;
39
54
  readonly 'typename label_zero'?: undefined;
40
55
  readonly 'typename label_one'?: undefined;
41
56
  readonly 'typename label_other'?: undefined;
42
57
  readonly 'object name placeholder'?: undefined;
58
+ readonly 'add object label'?: undefined;
43
59
  readonly 'rename object label'?: undefined;
44
60
  readonly 'delete object label'?: undefined;
45
61
  readonly 'object deleted label'?: undefined;
46
62
  };
47
63
  };
48
- } | {
49
- readonly 'en-US': {
50
- readonly "@dxos/react-ui-kanban": {
51
- readonly "add card label": "Add card";
52
- readonly "add column label": "Add column";
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 "action menu label": "Action menu";
58
- };
59
- };
60
- })[];
64
+ }];
61
65
  };
62
66
  };
63
67
  export default meta;
@@ -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;AAsIhE,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAS+B,CAAC;AAE1C,eAAe,IAAI,CAAC;AAEpB,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,3 @@
1
+ import { KanbanContainer } from './KanbanContainer';
2
+ export default KanbanContainer;
3
+ //# 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,EAAE,MAAM,mBAAmB,CAAC;AAEpD,eAAe,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import { type SurfaceComponentProps } from '@dxos/app-toolkit/ui';
3
+ import { type Kanban } from '../../types';
4
+ export type KanbanViewEditorProps = SurfaceComponentProps<Kanban.Kanban>;
5
+ export declare const KanbanViewEditor: ({ subject: object }: KanbanViewEditorProps) => React.JSX.Element;
6
+ //# sourceMappingURL=KanbanViewEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanViewEditor.d.ts","sourceRoot":"","sources":["../../../../../src/containers/KanbanViewEditor/KanbanViewEditor.tsx"],"names":[],"mappings":"AAKA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAEhE,OAAO,EAAE,KAAK,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAQlE,OAAO,EAAE,KAAK,MAAM,EAAkB,MAAM,aAAa,CAAC;AAE1D,MAAM,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAEzE,eAAO,MAAM,gBAAgB,GAAI,qBAAqB,qBAAqB,sBA2C1E,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { KanbanViewEditor } from './KanbanViewEditor';
2
+ export default KanbanViewEditor;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/containers/KanbanViewEditor/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { type ComponentType } from 'react';
2
+ export declare const KanbanContainer: ComponentType<any>;
3
+ export declare const KanbanViewEditor: 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,gBAAgB,EAAE,aAAa,CAAC,GAAG,CAA4C,CAAC"}
@@ -0,0 +1,6 @@
1
+ export * from './useEchoChangeCallback';
2
+ export * from './useKanbanBoardModel';
3
+ export * from './useKanbanColumnEventHandler';
4
+ export * from './useKanbanItemEventHandler';
5
+ export * from './useProjectionModel';
6
+ //# 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,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,UAAU,CAAC;AAElE;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAAI,CAAC,SAAS,GAAG,CAAC,OAAO,EAAE,QAAQ,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,EACvE,QAAQ,MAAM,CAAC,MAAM,GAAG,SAAS,KAChC,oBAAoB,CAAC,CAAC,CAAC,GAAG,IAAsF,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { Atom, type Registry } from '@effect-atom/atom-react';
2
+ import type { BoardModel } from '@dxos/react-ui-mosaic';
3
+ import type { ProjectionModel } from '@dxos/schema';
4
+ import { type BaseKanbanItem, type ColumnStructure, type Kanban } from '../types';
5
+ /**
6
+ * Builds a board model that maps kanban arrangement and projection onto columns and per-column items.
7
+ *
8
+ * @template T - Item type (must have id; defaults to BaseKanbanItem).
9
+ * @param kanban - Kanban object (arrangement, view).
10
+ * @param projection - ProjectionModel for pivot field and options.
11
+ * @param itemsAtom - Atom holding the full item list.
12
+ * @param registry - Registry for reading atom values.
13
+ * @returns BoardModel with columns atom, items family, and getColumns/getItems.
14
+ */
15
+ export declare function useKanbanBoardModel<T extends BaseKanbanItem = BaseKanbanItem>(kanban: Kanban.Kanban, projection: ProjectionModel, itemsAtom: Atom.Atom<T[]>, registry: Registry.Registry): BoardModel<ColumnStructure, T>;
16
+ //# sourceMappingURL=useKanbanBoardModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKanbanBoardModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useKanbanBoardModel.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAK9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAQlF;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAC3E,MAAM,EAAE,MAAM,CAAC,MAAM,EACrB,UAAU,EAAE,eAAe,EAC3B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EACzB,QAAQ,EAAE,QAAQ,CAAC,QAAQ,GAC1B,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CA2GhC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=useKanbanBoardModel.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKanbanBoardModel.test.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useKanbanBoardModel.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,22 @@
1
+ import type { BoardModel, MosaicEventHandler } from '@dxos/react-ui-mosaic';
2
+ import type { ProjectionModel } from '@dxos/schema';
3
+ import { type BaseKanbanItem, type ColumnStructure, type KanbanChangeCallback } from '../types';
4
+ /**
5
+ * Builds the column drag-and-drop handler for the kanban board (reorder columns).
6
+ *
7
+ * @template T - Item type (extends BaseKanbanItem).
8
+ * @param id - Handler id.
9
+ * @param model - Board model for getColumns / getColumnId.
10
+ * @param projection - ProjectionModel for pivot field options (column order).
11
+ * @param pivotFieldId - Pivot field id; undefined disables drop.
12
+ * @param change - Callback to persist kanban.arrangement.order.
13
+ * @returns MosaicEventHandler for column tiles.
14
+ */
15
+ export declare function useKanbanColumnEventHandler<T extends BaseKanbanItem>({ id, model, projection, pivotFieldId, change, }: {
16
+ id: string;
17
+ model: BoardModel<ColumnStructure, T>;
18
+ projection: ProjectionModel | undefined;
19
+ pivotFieldId: string | undefined;
20
+ change: KanbanChangeCallback<T>;
21
+ }): MosaicEventHandler<ColumnStructure>;
22
+ //# sourceMappingURL=useKanbanColumnEventHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKanbanColumnEventHandler.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useKanbanColumnEventHandler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAkB,MAAM,uBAAuB,CAAC;AAC5F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGpD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,KAAK,oBAAoB,EAAuB,MAAM,UAAU,CAAC;AAErH;;;;;;;;;;GAUG;AACH,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,cAAc,EAAE,EACpE,EAAE,EACF,KAAK,EACL,UAAU,EACV,YAAY,EACZ,MAAM,GACP,EAAE;IACD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IACtC,UAAU,EAAE,eAAe,GAAG,SAAS,CAAC;IACxC,YAAY,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACjC,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAsEtC"}
@@ -0,0 +1,19 @@
1
+ import type { BoardModel, MosaicEventHandler } from '@dxos/react-ui-mosaic';
2
+ import { type BaseKanbanItem, type ColumnStructure, type KanbanChangeCallback } from '../types';
3
+ /**
4
+ * Builds the item drag-and-drop handler for a single column (reorder and move between columns).
5
+ *
6
+ * @template T - Item type (extends BaseKanbanItem).
7
+ * @param column - Column structure for this tile.
8
+ * @param columnFieldPath - Item property path for the pivot field (used when moving to another column).
9
+ * @param model - Board model for getColumns / getItems.
10
+ * @param change - Callback to persist arrangement and item field updates.
11
+ * @returns MosaicEventHandler for item tiles in this column.
12
+ */
13
+ export declare function useKanbanItemEventHandler<T extends BaseKanbanItem>({ column, columnFieldPath, model, change, }: {
14
+ column: ColumnStructure;
15
+ columnFieldPath: string | undefined;
16
+ model: BoardModel<ColumnStructure, T>;
17
+ change: KanbanChangeCallback<T>;
18
+ }): MosaicEventHandler<T>;
19
+ //# sourceMappingURL=useKanbanItemEventHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useKanbanItemEventHandler.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useKanbanItemEventHandler.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAkB,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,oBAAoB,EAE1B,MAAM,UAAU,CAAC;AASlB;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,cAAc,EAAE,EAClE,MAAM,EACN,eAAe,EACf,KAAK,EACL,MAAM,GACP,EAAE;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,KAAK,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACjC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAyFxB"}
@@ -0,0 +1,15 @@
1
+ import { type Registry } from '@effect-atom/atom-react';
2
+ import { Type } from '@dxos/echo';
3
+ import { ProjectionModel } from '@dxos/schema';
4
+ import { type Kanban } from '../types';
5
+ /**
6
+ * Loads the kanban view and builds a ProjectionModel for field projections and pivot.
7
+ *
8
+ * @template S - Entity schema type.
9
+ * @param schema - Echo schema for the viewed type (or undefined).
10
+ * @param kanban - Kanban object whose view to load (or undefined).
11
+ * @param registry - Atom registry for reactive state.
12
+ * @returns ProjectionModel when loaded, or undefined while loading or when schema/kanban are missing.
13
+ */
14
+ export declare const useProjectionModel: <S extends Type.AnyEntity>(schema: S | undefined, kanban: Kanban.Kanban | undefined, registry: Registry.Registry) => ProjectionModel | undefined;
15
+ //# sourceMappingURL=useProjectionModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProjectionModel.d.ts","sourceRoot":"","sources":["../../../../src/hooks/useProjectionModel.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAGxD,OAAO,EAAc,IAAI,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EAAE,eAAe,EAA4B,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,IAAI,CAAC,SAAS,EACzD,QAAQ,CAAC,GAAG,SAAS,EACrB,QAAQ,MAAM,CAAC,MAAM,GAAG,SAAS,EACjC,UAAU,QAAQ,CAAC,QAAQ,gCA+B5B,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { BoardManager as MosaicBoardManager } from '@dxos/react-ui-mosaic/playwright';
2
+ export declare class BoardManager extends MosaicBoardManager {
3
+ waitUntilReady(): Promise<void>;
4
+ }
5
+ //# sourceMappingURL=board-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"board-manager.d.ts","sourceRoot":"","sources":["../../../../src/playwright/board-manager.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,IAAI,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtF,qBAAa,YAAa,SAAQ,kBAAkB;IAC5C,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAKtC"}
@@ -0,0 +1,3 @@
1
+ declare const _default: import("@playwright/test").PlaywrightTestConfig<{}, {}>;
2
+ export default _default;
3
+ //# sourceMappingURL=playwright.config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playwright.config.d.ts","sourceRoot":"","sources":["../../../../src/playwright/playwright.config.ts"],"names":[],"mappings":";AAQA,wBAUG"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=smoke.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smoke.spec.d.ts","sourceRoot":"","sources":["../../../../src/playwright/smoke.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { type KanbanCardProps } from '../components';
3
+ /** Card tile without Surface; for stories and tests when plugin manager is not available. */
4
+ export declare const KanbanCardTileSimple: React.ForwardRefExoticComponent<KanbanCardProps & React.RefAttributes<HTMLDivElement>>;
5
+ //# sourceMappingURL=KanbanCardTileSimple.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KanbanCardTileSimple.d.ts","sourceRoot":"","sources":["../../../../src/testing/KanbanCardTileSimple.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAO1E,OAAO,EAAE,KAAK,eAAe,EAAkB,MAAM,eAAe,CAAC;AAKrE,6FAA6F;AAC7F,eAAO,MAAM,oBAAoB,wFAwDhC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { KanbanCardTileSimple } from './KanbanCardTileSimple';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/testing/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -6,31 +6,47 @@ export declare const translations: [{
6
6
  readonly 'typename label_one': "Kanban";
7
7
  readonly 'typename label_other': "Kanbans";
8
8
  readonly 'object name placeholder': "New kanban";
9
+ readonly 'add object label': "Add kanban";
9
10
  readonly 'rename object label': "Rename kanban";
10
11
  readonly 'delete object label': "Delete kanban";
11
12
  readonly 'object deleted label': "Kanban deleted";
13
+ readonly 'action menu label'?: undefined;
12
14
  readonly 'plugin name'?: undefined;
13
15
  readonly 'kanban title label'?: undefined;
14
16
  readonly 'column title label'?: undefined;
15
17
  readonly 'column title placeholder'?: undefined;
16
18
  readonly 'add column label'?: undefined;
19
+ readonly 'add card label'?: undefined;
20
+ readonly 'new column name label'?: undefined;
21
+ readonly 'remove card label'?: undefined;
22
+ readonly 'remove empty column label'?: undefined;
23
+ readonly 'column drag handle label'?: undefined;
17
24
  readonly 'delete column label'?: undefined;
18
25
  readonly 'card field deleted label'?: undefined;
19
26
  readonly 'card deleted label'?: undefined;
27
+ readonly 'select pivot placeholder'?: undefined;
20
28
  } | {
29
+ readonly 'action menu label': "Actions";
21
30
  readonly 'plugin name': "Kanban";
22
31
  readonly 'kanban title label': "Title";
23
32
  readonly 'column title label': "Column title";
24
33
  readonly 'column title placeholder': "New column";
25
34
  readonly 'add column label': "Add column";
35
+ readonly 'add card label': "Add card";
36
+ readonly 'new column name label': "New column name";
37
+ readonly 'remove card label': "Remove card";
38
+ readonly 'remove empty column label': "Remove empty column";
39
+ readonly 'column drag handle label': "Drag to rearrange";
26
40
  readonly 'delete column label': "Delete column";
27
41
  readonly 'card field deleted label': "Card field deleted";
28
42
  readonly 'card deleted label': "Card deleted";
43
+ readonly 'select pivot placeholder': "Select a pivot column in board settings to display columns.";
29
44
  readonly 'typename label'?: undefined;
30
45
  readonly 'typename label_zero'?: undefined;
31
46
  readonly 'typename label_one'?: undefined;
32
47
  readonly 'typename label_other'?: undefined;
33
48
  readonly 'object name placeholder'?: undefined;
49
+ readonly 'add object label'?: undefined;
34
50
  readonly 'rename object label'?: undefined;
35
51
  readonly 'delete object label'?: undefined;
36
52
  readonly 'object deleted label'?: undefined;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCM,CAAC"}
@@ -0,0 +1,37 @@
1
+ import * as Schema from 'effect/Schema';
2
+ import { Obj, Type } from '@dxos/echo';
3
+ import { View } from '@dxos/echo';
4
+ /** Column order and per-column card ids. */
5
+ export declare const Arrangement: Schema.Struct<{
6
+ order: Schema.Array$<typeof Schema.String>;
7
+ columns: Schema.Record$<typeof Schema.String, Schema.Struct<{
8
+ ids: Schema.Array$<import("@dxos/keys").ObjectIdClass>;
9
+ hidden: Schema.optional<typeof Schema.Boolean>;
10
+ }>>;
11
+ }>;
12
+ export type Arrangement = Schema.Schema.Type<typeof Arrangement>;
13
+ export declare const Kanban: Type.Obj<{
14
+ readonly name?: string | undefined;
15
+ readonly view: import("@dxos/echo/internal").Ref<import("@dxos/echo/Entity").OfKind<import("@dxos/echo/internal").EntityKind.Object> & View.View>;
16
+ readonly arrangement: {
17
+ readonly order: readonly string[];
18
+ readonly columns: {
19
+ readonly [x: string]: {
20
+ readonly ids: readonly string[];
21
+ readonly hidden?: boolean | undefined;
22
+ };
23
+ };
24
+ };
25
+ }, Schema.Struct.Fields>;
26
+ /** Instance type; use Kanban.Kanban in type position so namespace has .Kanban as type and .KanbanSchema as schema. */
27
+ export interface Kanban extends Schema.Schema.Type<typeof Kanban> {
28
+ }
29
+ type MakeProps = Omit<Partial<Obj.MakeProps<typeof Kanban>>, 'view'> & {
30
+ view: View.View;
31
+ };
32
+ /**
33
+ * Make a kanban as a view of a data set.
34
+ */
35
+ export declare const make: (props: MakeProps) => Kanban;
36
+ export {};
37
+ //# 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,EAAE,GAAG,EAAO,IAAI,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAgBlC,4CAA4C;AAC5C,eAAO,MAAM,WAAW;;;;;;EAGe,CAAC;AAExC,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;AAEjE,eAAO,MAAM,MAAM;;;;;;;;;;;;wBAclB,CAAC;AAEF,sHAAsH;AACtH,MAAM,WAAW,MAAO,SAAQ,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,MAAM,CAAC;CAAG;AAEpE,KAAK,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IACrE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,IAAI,GAAI,OAAO,SAAS,KAAG,MASvC,CAAC"}