@draftline/react 0.1.0 → 0.1.2

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.
package/README.md ADDED
@@ -0,0 +1,51 @@
1
+ # Draftline React
2
+
3
+ React hooks and primitive components for Draftline-enabled Tauri applications.
4
+
5
+ `@draftline/react` builds on `@draftline/client` and provides provider-backed
6
+ workspace state, mutation helpers, remote/recovery surfaces, and headless-first
7
+ graph and variation primitives. The primitives are designed for host apps to keep
8
+ their own shell, copy, styling, and destructive-operation policy.
9
+
10
+ ## Install
11
+
12
+ ```powershell
13
+ npm install @draftline/client @draftline/react
14
+ ```
15
+
16
+ ## Usage
17
+
18
+ ```tsx
19
+ import { createDraftlineClient } from '@draftline/client';
20
+ import {
21
+ DraftlineHistoryGraph,
22
+ DraftlineProvider,
23
+ createDraftlineHistoryGraph,
24
+ } from '@draftline/react';
25
+
26
+ const client = createDraftlineClient();
27
+
28
+ export function App() {
29
+ const graph = createDraftlineHistoryGraph({
30
+ activeVariationId: 'main',
31
+ versions: [],
32
+ variations: [],
33
+ });
34
+
35
+ return (
36
+ <DraftlineProvider client={client} workspacePath="C:\\path\\to\\workspace">
37
+ <DraftlineHistoryGraph graph={graph} />
38
+ </DraftlineProvider>
39
+ );
40
+ }
41
+ ```
42
+
43
+ ## Design notes
44
+
45
+ - `DraftlineGraphNode` is an exported discriminated union for version, dirty, and
46
+ remote-tip nodes.
47
+ - `DraftlineHistoryGraph` is non-interactive unless the host supplies
48
+ `onSelectNode`.
49
+ - Selection callbacks receive full context: `{ node, graph, selectable,
50
+ nativeEvent }`.
51
+ - Host apps own labels, editor reloads, dirty-navigation prompts, and remote UX.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2,6 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { createDraftlineClient, } from '@draftline/client';
3
3
  import { createContext, useCallback, useContext, useEffect, useMemo, useState, } from 'react';
4
4
  const DraftlineContext = createContext(null);
5
+ function normalizeWorkspacePath(path) {
6
+ return path.replace(/\\/g, '/').replace(/\/+$/g, '');
7
+ }
5
8
  export function DraftlineProvider({ children, client: clientProp, onError, workspacePath, }) {
6
9
  const client = useMemo(() => clientProp ?? createDraftlineClient(), [clientProp]);
7
10
  const [commandResult, setCommandResult] = useState(null);
@@ -74,6 +77,37 @@ export function DraftlineProvider({ children, client: clientProp, onError, works
74
77
  setCommandResult(null);
75
78
  setError(null);
76
79
  }, [workspacePath]);
80
+ useEffect(() => {
81
+ if (!workspacePath.trim()) {
82
+ return;
83
+ }
84
+ let disposed = false;
85
+ let unlisten = null;
86
+ const activeWorkspace = normalizeWorkspacePath(workspacePath.trim());
87
+ client
88
+ .subscribeWorkspaceEvents((event) => {
89
+ if (normalizeWorkspacePath(event.workspace_id.root) !== activeWorkspace) {
90
+ return;
91
+ }
92
+ void refresh({ recordResult: false });
93
+ })
94
+ .then((nextUnlisten) => {
95
+ if (disposed) {
96
+ nextUnlisten();
97
+ return;
98
+ }
99
+ unlisten = nextUnlisten;
100
+ })
101
+ .catch((eventError) => {
102
+ if (!disposed) {
103
+ setError(eventError);
104
+ }
105
+ });
106
+ return () => {
107
+ disposed = true;
108
+ unlisten?.();
109
+ };
110
+ }, [client, refresh, workspacePath]);
77
111
  const value = useMemo(() => ({
78
112
  client,
79
113
  commandResult,
package/package.json CHANGED
@@ -1,37 +1,49 @@
1
- {
2
- "name": "@draftline/react",
3
- "version": "0.1.0",
4
- "type": "module",
5
- "main": "./dist/index.js",
6
- "types": "./dist/index.d.ts",
7
- "exports": {
8
- ".": {
9
- "types": "./dist/index.d.ts",
10
- "import": "./dist/index.js"
11
- }
12
- },
13
- "files": [
14
- "dist"
15
- ],
16
- "scripts": {
17
- "build": "tsc -p tsconfig.json",
18
- "test": "vitest run --environment jsdom"
19
- },
20
- "dependencies": {
21
- "@draftline/client": "0.1.0"
22
- },
23
- "peerDependencies": {
24
- "react": "^19.0.0"
25
- },
26
- "devDependencies": {
27
- "@testing-library/dom": "^10.4.1",
28
- "@testing-library/react": "^16.3.2",
29
- "@types/react": "^19.2.7",
30
- "jsdom": "^29.1.1",
31
- "typescript": "^6.0.3",
32
- "vitest": "^4.1.9"
33
- },
34
- "publishConfig": {
35
- "access": "public"
36
- }
37
- }
1
+ {
2
+ "name": "@draftline/react",
3
+ "version": "0.1.2",
4
+ "description": "React hooks and primitives for Draftline-enabled Tauri applications.",
5
+ "license": "MIT",
6
+ "type": "module",
7
+ "main": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "README.md",
17
+ "dist"
18
+ ],
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/sethjuarez/draftline.git",
22
+ "directory": "packages/react"
23
+ },
24
+ "bugs": {
25
+ "url": "https://github.com/sethjuarez/draftline/issues"
26
+ },
27
+ "homepage": "https://github.com/sethjuarez/draftline#readme",
28
+ "scripts": {
29
+ "build": "tsc -p tsconfig.json",
30
+ "test": "vitest run --environment jsdom"
31
+ },
32
+ "dependencies": {
33
+ "@draftline/client": "0.1.2"
34
+ },
35
+ "peerDependencies": {
36
+ "react": "^19.0.0"
37
+ },
38
+ "devDependencies": {
39
+ "@testing-library/dom": "^10.4.1",
40
+ "@testing-library/react": "^16.3.2",
41
+ "@types/react": "^19.2.7",
42
+ "jsdom": "^29.1.1",
43
+ "typescript": "^6.0.3",
44
+ "vitest": "^4.1.9"
45
+ },
46
+ "publishConfig": {
47
+ "access": "public"
48
+ }
49
+ }