@awesome-markdown/board-ui 0.0.0-stage → 2.0.0

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 (188) hide show
  1. package/README.md +76 -2
  2. package/dist/board/Board.d.ts +24 -0
  3. package/dist/board/Board.d.ts.map +1 -0
  4. package/dist/board/Board.js +179 -0
  5. package/dist/board/Board.js.map +1 -0
  6. package/dist/board/Cell.d.ts +23 -0
  7. package/dist/board/Cell.d.ts.map +1 -0
  8. package/dist/board/Cell.js +150 -0
  9. package/dist/board/Cell.js.map +1 -0
  10. package/dist/board/ColumnHeader.d.ts +18 -0
  11. package/dist/board/ColumnHeader.d.ts.map +1 -0
  12. package/dist/board/ColumnHeader.js +31 -0
  13. package/dist/board/ColumnHeader.js.map +1 -0
  14. package/dist/board/HomelessItemCard.d.ts +15 -0
  15. package/dist/board/HomelessItemCard.d.ts.map +1 -0
  16. package/dist/board/HomelessItemCard.js +37 -0
  17. package/dist/board/HomelessItemCard.js.map +1 -0
  18. package/dist/board/HomelessPanel.d.ts +17 -0
  19. package/dist/board/HomelessPanel.d.ts.map +1 -0
  20. package/dist/board/HomelessPanel.js +26 -0
  21. package/dist/board/HomelessPanel.js.map +1 -0
  22. package/dist/board/ItemCard.d.ts +21 -0
  23. package/dist/board/ItemCard.d.ts.map +1 -0
  24. package/dist/board/ItemCard.js +97 -0
  25. package/dist/board/ItemCard.js.map +1 -0
  26. package/dist/board/SwimlaneRow.d.ts +23 -0
  27. package/dist/board/SwimlaneRow.d.ts.map +1 -0
  28. package/dist/board/SwimlaneRow.js +30 -0
  29. package/dist/board/SwimlaneRow.js.map +1 -0
  30. package/dist/board/dnd/boardDnd.d.ts +15 -0
  31. package/dist/board/dnd/boardDnd.d.ts.map +1 -0
  32. package/dist/board/dnd/boardDnd.js +69 -0
  33. package/dist/board/dnd/boardDnd.js.map +1 -0
  34. package/dist/board/dnd/dragTypes.d.ts +24 -0
  35. package/dist/board/dnd/dragTypes.d.ts.map +1 -0
  36. package/dist/board/dnd/dragTypes.js +22 -0
  37. package/dist/board/dnd/dragTypes.js.map +1 -0
  38. package/dist/board/dnd/mutateDragDrop.d.ts +35 -0
  39. package/dist/board/dnd/mutateDragDrop.d.ts.map +1 -0
  40. package/dist/board/dnd/mutateDragDrop.js +97 -0
  41. package/dist/board/dnd/mutateDragDrop.js.map +1 -0
  42. package/dist/board/dnd/onDragEnd.d.ts +24 -0
  43. package/dist/board/dnd/onDragEnd.d.ts.map +1 -0
  44. package/dist/board/dnd/onDragEnd.js +47 -0
  45. package/dist/board/dnd/onDragEnd.js.map +1 -0
  46. package/dist/board/layout/AxisBehavior.d.ts +36 -0
  47. package/dist/board/layout/AxisBehavior.d.ts.map +1 -0
  48. package/dist/board/layout/AxisBehavior.js +86 -0
  49. package/dist/board/layout/AxisBehavior.js.map +1 -0
  50. package/dist/board/layout/AxisDrawer.d.ts +17 -0
  51. package/dist/board/layout/AxisDrawer.d.ts.map +1 -0
  52. package/dist/board/layout/AxisDrawer.js +40 -0
  53. package/dist/board/layout/AxisDrawer.js.map +1 -0
  54. package/dist/board/layout/BoardDrawer.d.ts +11 -0
  55. package/dist/board/layout/BoardDrawer.d.ts.map +1 -0
  56. package/dist/board/layout/BoardDrawer.js +27 -0
  57. package/dist/board/layout/BoardDrawer.js.map +1 -0
  58. package/dist/board/layout/Drawer.d.ts +19 -0
  59. package/dist/board/layout/Drawer.d.ts.map +1 -0
  60. package/dist/board/layout/Drawer.js +18 -0
  61. package/dist/board/layout/Drawer.js.map +1 -0
  62. package/dist/board/layout/FilterEditor.d.ts +12 -0
  63. package/dist/board/layout/FilterEditor.d.ts.map +1 -0
  64. package/dist/board/layout/FilterEditor.js +11 -0
  65. package/dist/board/layout/FilterEditor.js.map +1 -0
  66. package/dist/board/layout/InlineControls.d.ts +22 -0
  67. package/dist/board/layout/InlineControls.d.ts.map +1 -0
  68. package/dist/board/layout/InlineControls.js +39 -0
  69. package/dist/board/layout/InlineControls.js.map +1 -0
  70. package/dist/board/layout/SortableAxis.d.ts +28 -0
  71. package/dist/board/layout/SortableAxis.d.ts.map +1 -0
  72. package/dist/board/layout/SortableAxis.js +39 -0
  73. package/dist/board/layout/SortableAxis.js.map +1 -0
  74. package/dist/board/layout/axis-defaults.d.ts +22 -0
  75. package/dist/board/layout/axis-defaults.d.ts.map +1 -0
  76. package/dist/board/layout/axis-defaults.js +37 -0
  77. package/dist/board/layout/axis-defaults.js.map +1 -0
  78. package/dist/board/layout/filter-draft.d.ts +21 -0
  79. package/dist/board/layout/filter-draft.d.ts.map +1 -0
  80. package/dist/board/layout/filter-draft.js +112 -0
  81. package/dist/board/layout/filter-draft.js.map +1 -0
  82. package/dist/board/layout/useBoardLayout.d.ts +27 -0
  83. package/dist/board/layout/useBoardLayout.d.ts.map +1 -0
  84. package/dist/board/layout/useBoardLayout.js +92 -0
  85. package/dist/board/layout/useBoardLayout.js.map +1 -0
  86. package/dist/breadcrumb.d.ts +22 -0
  87. package/dist/breadcrumb.d.ts.map +1 -0
  88. package/dist/breadcrumb.js +15 -0
  89. package/dist/breadcrumb.js.map +1 -0
  90. package/dist/components/ConflictBanner.d.ts +12 -0
  91. package/dist/components/ConflictBanner.d.ts.map +1 -0
  92. package/dist/components/ConflictBanner.js +47 -0
  93. package/dist/components/ConflictBanner.js.map +1 -0
  94. package/dist/components/ConflictDiff.d.ts +13 -0
  95. package/dist/components/ConflictDiff.d.ts.map +1 -0
  96. package/dist/components/ConflictDiff.js +97 -0
  97. package/dist/components/ConflictDiff.js.map +1 -0
  98. package/dist/components/ConflictPanel.d.ts +16 -0
  99. package/dist/components/ConflictPanel.d.ts.map +1 -0
  100. package/dist/components/ConflictPanel.js +53 -0
  101. package/dist/components/ConflictPanel.js.map +1 -0
  102. package/dist/components/ItemRecovery.d.ts +9 -0
  103. package/dist/components/ItemRecovery.d.ts.map +1 -0
  104. package/dist/components/ItemRecovery.js +48 -0
  105. package/dist/components/ItemRecovery.js.map +1 -0
  106. package/dist/components/PropertyTree.d.ts +18 -0
  107. package/dist/components/PropertyTree.d.ts.map +1 -0
  108. package/dist/components/PropertyTree.js +109 -0
  109. package/dist/components/PropertyTree.js.map +1 -0
  110. package/dist/index.d.ts +32 -0
  111. package/dist/index.d.ts.map +1 -0
  112. package/dist/index.js +37 -0
  113. package/dist/index.js.map +1 -0
  114. package/dist/lib/derive-summary.d.ts +9 -0
  115. package/dist/lib/derive-summary.d.ts.map +1 -0
  116. package/dist/lib/derive-summary.js +27 -0
  117. package/dist/lib/derive-summary.js.map +1 -0
  118. package/dist/lib/item-board.d.ts +2 -0
  119. package/dist/lib/item-board.d.ts.map +1 -0
  120. package/dist/lib/item-board.js +7 -0
  121. package/dist/lib/item-board.js.map +1 -0
  122. package/dist/lib/patch-visible-item.d.ts +4 -0
  123. package/dist/lib/patch-visible-item.d.ts.map +1 -0
  124. package/dist/lib/patch-visible-item.js +10 -0
  125. package/dist/lib/patch-visible-item.js.map +1 -0
  126. package/dist/lib/property-display.d.ts +17 -0
  127. package/dist/lib/property-display.d.ts.map +1 -0
  128. package/dist/lib/property-display.js +86 -0
  129. package/dist/lib/property-display.js.map +1 -0
  130. package/dist/lib/property-tree.d.ts +23 -0
  131. package/dist/lib/property-tree.d.ts.map +1 -0
  132. package/dist/lib/property-tree.js +109 -0
  133. package/dist/lib/property-tree.js.map +1 -0
  134. package/dist/pages/BoardListPage.d.ts +9 -0
  135. package/dist/pages/BoardListPage.d.ts.map +1 -0
  136. package/dist/pages/BoardListPage.js +113 -0
  137. package/dist/pages/BoardListPage.js.map +1 -0
  138. package/dist/pages/BoardPage.d.ts +7 -0
  139. package/dist/pages/BoardPage.d.ts.map +1 -0
  140. package/dist/pages/BoardPage.js +37 -0
  141. package/dist/pages/BoardPage.js.map +1 -0
  142. package/dist/pages/ItemEditorPage.d.ts +3 -0
  143. package/dist/pages/ItemEditorPage.d.ts.map +1 -0
  144. package/dist/pages/ItemEditorPage.js +236 -0
  145. package/dist/pages/ItemEditorPage.js.map +1 -0
  146. package/dist/provider/ProviderContext.d.ts +17 -0
  147. package/dist/provider/ProviderContext.d.ts.map +1 -0
  148. package/dist/provider/ProviderContext.js +21 -0
  149. package/dist/provider/ProviderContext.js.map +1 -0
  150. package/dist/router/RouterAdapter.d.ts +43 -0
  151. package/dist/router/RouterAdapter.d.ts.map +1 -0
  152. package/dist/router/RouterAdapter.js +21 -0
  153. package/dist/router/RouterAdapter.js.map +1 -0
  154. package/dist/shell/SyncStatusDot.d.ts +8 -0
  155. package/dist/shell/SyncStatusDot.d.ts.map +1 -0
  156. package/dist/shell/SyncStatusDot.js +58 -0
  157. package/dist/shell/SyncStatusDot.js.map +1 -0
  158. package/dist/shell/ThemeToggle.d.ts +8 -0
  159. package/dist/shell/ThemeToggle.d.ts.map +1 -0
  160. package/dist/shell/ThemeToggle.js +21 -0
  161. package/dist/shell/ThemeToggle.js.map +1 -0
  162. package/dist/state/theme-store.d.ts +17 -0
  163. package/dist/state/theme-store.d.ts.map +1 -0
  164. package/dist/state/theme-store.js +58 -0
  165. package/dist/state/theme-store.js.map +1 -0
  166. package/dist/state/useBoardRender.d.ts +16 -0
  167. package/dist/state/useBoardRender.d.ts.map +1 -0
  168. package/dist/state/useBoardRender.js +53 -0
  169. package/dist/state/useBoardRender.js.map +1 -0
  170. package/dist/state/useProviderSubscribe.d.ts +22 -0
  171. package/dist/state/useProviderSubscribe.d.ts.map +1 -0
  172. package/dist/state/useProviderSubscribe.js +48 -0
  173. package/dist/state/useProviderSubscribe.js.map +1 -0
  174. package/dist/sync/conflict-api.d.ts +16 -0
  175. package/dist/sync/conflict-api.d.ts.map +1 -0
  176. package/dist/sync/conflict-api.js +35 -0
  177. package/dist/sync/conflict-api.js.map +1 -0
  178. package/dist/sync/conflict-store.d.ts +44 -0
  179. package/dist/sync/conflict-store.d.ts.map +1 -0
  180. package/dist/sync/conflict-store.js +159 -0
  181. package/dist/sync/conflict-store.js.map +1 -0
  182. package/fonts/InterTight-Medium.woff2 +0 -0
  183. package/fonts/InterTight-Regular.woff2 +0 -0
  184. package/fonts/JetBrainsMono-Medium.woff2 +0 -0
  185. package/fonts/JetBrainsMono-Regular.woff2 +0 -0
  186. package/fonts/LICENSE +14 -0
  187. package/package.json +59 -3
  188. package/styles.css +852 -0
@@ -0,0 +1,159 @@
1
+ import React, { createContext, useContext, useReducer, useEffect, useCallback, useRef, } from 'react';
2
+ import { fetchConflictState, submitDecisions } from './conflict-api.js';
3
+ const initialState = {
4
+ activeConflict: null,
5
+ submitting: false,
6
+ error: null,
7
+ };
8
+ function conflictReducer(state, action) {
9
+ switch (action.type) {
10
+ case 'SET_CONFLICT':
11
+ return { ...state, activeConflict: action.conflict, error: null };
12
+ case 'CLEAR_CONFLICT':
13
+ return { ...state, activeConflict: null, submitting: false, error: null };
14
+ case 'SET_SUBMITTING':
15
+ return { ...state, submitting: action.value };
16
+ case 'SET_ERROR':
17
+ return { ...state, error: action.message, submitting: false };
18
+ default:
19
+ return state;
20
+ }
21
+ }
22
+ const ConflictCtx = createContext(null);
23
+ /**
24
+ * Provides the conflict store to the component tree.
25
+ *
26
+ * On mount:
27
+ * 1. Fetches GET /sync/conflict/state to hydrate any in-flight conflict.
28
+ * 2. Subscribes to SSE events (conflict / synced) via EventSource.
29
+ *
30
+ * The EventSource is reconnect-safe: duplicate `conflict` events for the same
31
+ * mergeId are coalesced (idempotent set-state).
32
+ */
33
+ export function ConflictProvider({ syncEngineUrl, children, }) {
34
+ const [state, dispatch] = useReducer(conflictReducer, initialState);
35
+ const esRef = useRef(null);
36
+ // Hydrate from server on mount
37
+ useEffect(() => {
38
+ let cancelled = false;
39
+ fetchConflictState(syncEngineUrl).then((conflict) => {
40
+ if (!cancelled) {
41
+ dispatch({ type: 'SET_CONFLICT', conflict });
42
+ }
43
+ }).catch(() => {
44
+ // Sync-engine not running — ignore silently
45
+ });
46
+ return () => { cancelled = true; };
47
+ }, [syncEngineUrl]);
48
+ // Subscribe to SSE events
49
+ useEffect(() => {
50
+ let cancelled = false;
51
+ const base = syncEngineUrl;
52
+ // Defer EventSource creation past React StrictMode's synchronous
53
+ // cleanup pass so the connection isn't opened then immediately aborted.
54
+ const timer = setTimeout(() => {
55
+ if (cancelled)
56
+ return;
57
+ const es = new EventSource(`${base}/events`);
58
+ esRef.current = es;
59
+ es.addEventListener('conflict', (e) => {
60
+ try {
61
+ const data = JSON.parse(e.data);
62
+ // If same mergeId, coalesce (don't re-render unnecessarily)
63
+ // Fetch fresh state so we have the full ConflictState shape
64
+ fetchConflictState(syncEngineUrl).then((conflict) => {
65
+ dispatch({ type: 'SET_CONFLICT', conflict });
66
+ }).catch(() => { });
67
+ }
68
+ catch {
69
+ // Malformed event — ignore
70
+ }
71
+ });
72
+ es.addEventListener('synced', () => {
73
+ dispatch({ type: 'CLEAR_CONFLICT' });
74
+ });
75
+ es.addEventListener('change', () => {
76
+ window.dispatchEvent(new CustomEvent('sync-engine:change'));
77
+ });
78
+ }, 0);
79
+ // Clean up on unmount
80
+ return () => {
81
+ cancelled = true;
82
+ clearTimeout(timer);
83
+ if (esRef.current) {
84
+ esRef.current.close();
85
+ esRef.current = null;
86
+ }
87
+ };
88
+ }, [syncEngineUrl]);
89
+ const isPathAffected = useCallback((filePath) => {
90
+ if (!state.activeConflict)
91
+ return false;
92
+ return state.activeConflict.pendingPaths.includes(filePath) ||
93
+ state.activeConflict.paths.some((p) => p.path === filePath);
94
+ }, [state.activeConflict]);
95
+ const isItemAffected = useCallback((itemId) => {
96
+ if (!state.activeConflict)
97
+ return false;
98
+ return state.activeConflict.paths.some((p) => p.path.includes(itemId));
99
+ }, [state.activeConflict]);
100
+ const decisionFor = useCallback((filePath) => {
101
+ if (!state.activeConflict)
102
+ return null;
103
+ const entry = state.activeConflict.paths.find((p) => p.path === filePath);
104
+ return entry?.decision ?? null;
105
+ }, [state.activeConflict]);
106
+ const resolve = useCallback(async (decisions) => {
107
+ if (!state.activeConflict)
108
+ return;
109
+ dispatch({ type: 'SET_SUBMITTING', value: true });
110
+ try {
111
+ const result = await submitDecisions(syncEngineUrl, state.activeConflict.mergeId, decisions);
112
+ if (result.status === 'completed') {
113
+ dispatch({ type: 'CLEAR_CONFLICT' });
114
+ }
115
+ else {
116
+ // Partial — refresh state
117
+ const updated = await fetchConflictState(syncEngineUrl);
118
+ dispatch({ type: 'SET_CONFLICT', conflict: updated });
119
+ }
120
+ }
121
+ catch (err) {
122
+ dispatch({
123
+ type: 'SET_ERROR',
124
+ message: err instanceof Error ? err.message : 'Resolution failed',
125
+ });
126
+ }
127
+ finally {
128
+ dispatch({ type: 'SET_SUBMITTING', value: false });
129
+ }
130
+ }, [state.activeConflict, syncEngineUrl]);
131
+ const dismissError = useCallback(() => {
132
+ dispatch({ type: 'SET_ERROR', message: null });
133
+ }, []);
134
+ const value = {
135
+ ...state,
136
+ isPathAffected,
137
+ isItemAffected,
138
+ decisionFor,
139
+ resolve,
140
+ dismissError,
141
+ };
142
+ return React.createElement(ConflictCtx.Provider, { value }, children);
143
+ }
144
+ /** Access the conflict store. Must be used inside <ConflictProvider>. */
145
+ export function useConflict() {
146
+ const ctx = useContext(ConflictCtx);
147
+ if (!ctx) {
148
+ throw new Error('useConflict must be used inside <ConflictProvider>');
149
+ }
150
+ return ctx;
151
+ }
152
+ /**
153
+ * Like useConflict but returns null when not inside <ConflictProvider>.
154
+ * Useful for components that are also rendered outside a provider (e.g. tests).
155
+ */
156
+ export function useOptionalConflict() {
157
+ return useContext(ConflictCtx);
158
+ }
159
+ //# sourceMappingURL=conflict-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conflict-store.js","sourceRoot":"","sources":["../../src/sync/conflict-store.ts"],"names":[],"mappings":"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"}
Binary file
Binary file
Binary file
package/fonts/LICENSE ADDED
@@ -0,0 +1,14 @@
1
+ Font licenses
2
+ =============
3
+
4
+ JetBrains Mono
5
+ --------------
6
+ Copyright 2020 The JetBrains Mono Project Authors (https://github.com/JetBrains/JetBrainsMono)
7
+ Licensed under the SIL Open Font License, Version 1.1.
8
+ https://scripts.sil.org/OFL
9
+
10
+ Inter Tight
11
+ -----------
12
+ Copyright 2020 The Inter Project Authors (https://github.com/rsms/inter)
13
+ Licensed under the SIL Open Font License, Version 1.1.
14
+ https://scripts.sil.org/OFL
package/package.json CHANGED
@@ -1,6 +1,62 @@
1
1
  {
2
2
  "name": "@awesome-markdown/board-ui",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "2.0.0",
4
+ "license": "MIT",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/Pjore/awesome-markdown",
8
+ "directory": "packages/board-ui"
9
+ },
10
+ "publishConfig": {
11
+ "access": "public"
12
+ },
13
+ "type": "module",
14
+ "sideEffects": [
15
+ "*.css"
16
+ ],
17
+ "exports": {
18
+ ".": {
19
+ "types": "./dist/index.d.ts",
20
+ "import": "./dist/index.js",
21
+ "default": "./dist/index.js"
22
+ },
23
+ "./styles.css": "./styles.css"
24
+ },
25
+ "main": "./dist/index.js",
26
+ "types": "./dist/index.d.ts",
27
+ "files": [
28
+ "dist",
29
+ "styles.css",
30
+ "fonts"
31
+ ],
32
+ "peerDependencies": {
33
+ "react": "^19.0.0",
34
+ "react-dom": "^19.0.0"
35
+ },
36
+ "dependencies": {
37
+ "@dnd-kit/core": "^6.3.1",
38
+ "@dnd-kit/sortable": "^10.0.0",
39
+ "@dnd-kit/utilities": "^3.2.2",
40
+ "diff": "^7.0.0",
41
+ "react-markdown": "^10.1.0",
42
+ "@awesome-markdown/contracts": "2.0.0",
43
+ "@awesome-markdown/filter-engine": "2.0.1",
44
+ "@awesome-markdown/provider-http": "2.0.0"
45
+ },
46
+ "devDependencies": {
47
+ "@types/react": "^19.0.0",
48
+ "@types/react-dom": "^19.0.0",
49
+ "jsdom": "^26.0.0",
50
+ "react": "^19.0.0",
51
+ "react-dom": "^19.0.0",
52
+ "typescript": "^5.7.3",
53
+ "vitest": "^3.0.0",
54
+ "@awesome-markdown/provider-localstorage": "2.0.0"
55
+ },
56
+ "scripts": {
57
+ "build": "tsc --build",
58
+ "dev": "tsc --build --watch --preserveWatchOutput",
59
+ "typecheck": "tsc --build",
60
+ "test": "vitest run"
61
+ }
6
62
  }