@archipelago-js/react 0.9.0 → 0.11.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.
- package/README.md +22 -1
- package/dist/IslandForm.js +51 -11
- package/dist/IslandForm.js.map +1 -1
- package/dist/useIslandForm.d.ts +2 -5
- package/dist/useIslandForm.js +6 -4
- package/dist/useIslandForm.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -107,7 +107,7 @@ const form = useIslandForm({
|
|
|
107
107
|
| `processing` | `boolean` | True while request is in flight |
|
|
108
108
|
| `wasSuccessful` | `boolean` | True after an ok/redirect response |
|
|
109
109
|
| `recentlySuccessful` | `boolean` | True for `recentlySuccessfulDuration` ms after success |
|
|
110
|
-
| `progress` | `
|
|
110
|
+
| `progress` | `UploadProgress \| null` | Upload progress (`{ percentage, loaded, total }`) |
|
|
111
111
|
| `transportError` | `Error \| null` | Network/parse error (not a validation error) |
|
|
112
112
|
| `defaults(...)` | Getter/setter for default values | `defaults()` returns defaults; `defaults(next)` updates them |
|
|
113
113
|
| `reset(...fields?)` | `(...fields?) => void` | Reset all or specific fields to defaults |
|
|
@@ -144,6 +144,21 @@ Render-prop children get access to the full form object:
|
|
|
144
144
|
</IslandForm>
|
|
145
145
|
```
|
|
146
146
|
|
|
147
|
+
**Rails-style nested params** are supported for common bracket patterns. Input names with brackets are parsed into nested objects:
|
|
148
|
+
|
|
149
|
+
```tsx
|
|
150
|
+
<IslandForm operation="update_profile" method="patch">
|
|
151
|
+
<input name="user[email]" defaultValue={props.email} />
|
|
152
|
+
<input name="user[name]" defaultValue={props.name} />
|
|
153
|
+
<input name="tags[]" defaultValue="react" />
|
|
154
|
+
<input name="tags[]" defaultValue="rails" />
|
|
155
|
+
<button type="submit">Save</button>
|
|
156
|
+
</IslandForm>
|
|
157
|
+
// submits: { user: { email: "...", name: "..." }, tags: ["react", "rails"] }
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
Supported patterns: `field[key]` (nested object), `field[]` (array append), and `field[key][nested]` (deep nesting). This covers the most common Rails form conventions. Exotic Rack edge cases (e.g. mixing numeric indices with array append on the same key) may not match Rack's behavior exactly.
|
|
161
|
+
|
|
147
162
|
**Props:**
|
|
148
163
|
|
|
149
164
|
| Prop | Type | Default |
|
|
@@ -259,3 +274,9 @@ Each island is wrapped in an `ErrorBoundary`. If an island crashes, the error is
|
|
|
259
274
|
| `FORM_ERROR` | client | `"_base"` constant for base errors |
|
|
260
275
|
| `ArchipelagoTransportError` | client | Typed transport error class |
|
|
261
276
|
| `parseIslandResponse` | client | Parse raw JSON into typed response |
|
|
277
|
+
|
|
278
|
+
## Stability
|
|
279
|
+
|
|
280
|
+
This library follows [Semantic Versioning](https://semver.org/). The public API — `bootArchipelagoIslands`, `useIslandProps`, `useIslandForm`, `IslandForm`, `defineIslandLoader`, `ErrorBoundary`, and `useIslandContext` — is considered stable. The discriminated response types (`ok` / `error` / `redirect` / `forbidden`), `FORM_ERROR = "_base"`, and stream terminology are part of the public contract.
|
|
281
|
+
|
|
282
|
+
`IslandForm` bracket param parsing supports common Rails conventions (`field[key]`, `field[]`, `field[key][nested]`). Exotic Rack edge cases are not guaranteed.
|
package/dist/IslandForm.js
CHANGED
|
@@ -1,21 +1,61 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useRef } from "react";
|
|
3
3
|
import { useIslandForm } from "./useIslandForm";
|
|
4
|
-
function
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
function setNestedValue(root, keys, value) {
|
|
5
|
+
let current = root;
|
|
6
|
+
for (let i = 0; i < keys.length - 1; i++) {
|
|
7
|
+
const key = keys[i];
|
|
8
|
+
const nextKey = keys[i + 1];
|
|
9
|
+
const wantArray = nextKey === "";
|
|
10
|
+
if (Array.isArray(current)) {
|
|
11
|
+
const idx = key === "" ? current.length : Number(key);
|
|
12
|
+
if (current[idx] == null) {
|
|
13
|
+
current[idx] = wantArray ? [] : {};
|
|
14
14
|
}
|
|
15
|
+
current = current[idx];
|
|
15
16
|
}
|
|
16
17
|
else {
|
|
17
|
-
|
|
18
|
+
if (!(key in current) || current[key] == null) {
|
|
19
|
+
current[key] = wantArray ? [] : {};
|
|
20
|
+
}
|
|
21
|
+
current = current[key];
|
|
18
22
|
}
|
|
23
|
+
}
|
|
24
|
+
const lastKey = keys[keys.length - 1];
|
|
25
|
+
if (lastKey === "" && Array.isArray(current)) {
|
|
26
|
+
current.push(value);
|
|
27
|
+
}
|
|
28
|
+
else if (Array.isArray(current)) {
|
|
29
|
+
const idx = Number(lastKey);
|
|
30
|
+
current[idx] = value;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
current[lastKey] = value;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const BRACKET_RE = /^([^[]+)((?:\[[^\]]*\])*)$/;
|
|
37
|
+
function parseBracketKeys(name) {
|
|
38
|
+
const match = name.match(BRACKET_RE);
|
|
39
|
+
if (!match)
|
|
40
|
+
return [name];
|
|
41
|
+
const root = match[1];
|
|
42
|
+
const brackets = match[2];
|
|
43
|
+
if (!brackets)
|
|
44
|
+
return [root];
|
|
45
|
+
const keys = [root];
|
|
46
|
+
const bracketParts = brackets.match(/\[([^\]]*)\]/g);
|
|
47
|
+
if (bracketParts) {
|
|
48
|
+
for (const part of bracketParts) {
|
|
49
|
+
keys.push(part.slice(1, -1));
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return keys;
|
|
53
|
+
}
|
|
54
|
+
function formDataToObject(formData) {
|
|
55
|
+
const result = {};
|
|
56
|
+
formData.forEach((value, key) => {
|
|
57
|
+
const keys = parseBracketKeys(key);
|
|
58
|
+
setNestedValue(result, keys, value);
|
|
19
59
|
});
|
|
20
60
|
return result;
|
|
21
61
|
}
|
package/dist/IslandForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IslandForm.js","sourceRoot":"","sources":["../src/IslandForm.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAElD,OAAO,EAAE,aAAa,EAA+B,MAAM,iBAAiB,CAAA;AAiB5E,SAAS,
|
|
1
|
+
{"version":3,"file":"IslandForm.js","sourceRoot":"","sources":["../src/IslandForm.tsx"],"names":[],"mappings":"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"}
|
package/dist/useIslandForm.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type IslandResponse } from "@archipelago-js/client";
|
|
1
|
+
import { type IslandResponse, type UploadProgress } from "@archipelago-js/client";
|
|
2
|
+
export type { UploadProgress } from "@archipelago-js/client";
|
|
2
3
|
type SubmitOverrides = {
|
|
3
4
|
payload?: Record<string, unknown>;
|
|
4
5
|
navigate?: (location: string) => void;
|
|
@@ -16,9 +17,6 @@ export interface UseIslandFormOptions<TData extends Record<string, unknown>> ext
|
|
|
16
17
|
recentlySuccessfulDuration?: number;
|
|
17
18
|
transform?: (payload: TData) => Record<string, unknown>;
|
|
18
19
|
}
|
|
19
|
-
export type UploadProgress = {
|
|
20
|
-
percentage: number;
|
|
21
|
-
};
|
|
22
20
|
export declare function useIslandForm<TData extends Record<string, unknown>>({ initialData, clearFieldErrorsOnChange, fixedParams, recentlySuccessfulDuration, transform, onSuccess, onError, onForbidden, onFinish }: UseIslandFormOptions<TData>): {
|
|
23
21
|
data: TData;
|
|
24
22
|
setData: <K extends keyof TData>(field: K, value: TData[K]) => void;
|
|
@@ -38,4 +36,3 @@ export declare function useIslandForm<TData extends Record<string, unknown>>({ i
|
|
|
38
36
|
patch: (operation: string, overrides?: SubmitOverrides) => Promise<IslandResponse | undefined>;
|
|
39
37
|
delete: (operation: string, overrides?: SubmitOverrides) => Promise<IslandResponse | undefined>;
|
|
40
38
|
};
|
|
41
|
-
export {};
|
package/dist/useIslandForm.js
CHANGED
|
@@ -7,9 +7,6 @@ function deepClone(value) {
|
|
|
7
7
|
}
|
|
8
8
|
return JSON.parse(JSON.stringify(value));
|
|
9
9
|
}
|
|
10
|
-
function isFormDataLike(value) {
|
|
11
|
-
return typeof FormData !== "undefined" && value instanceof FormData;
|
|
12
|
-
}
|
|
13
10
|
export function useIslandForm({ initialData, clearFieldErrorsOnChange = true, fixedParams = {}, recentlySuccessfulDuration = 2000, transform, onSuccess, onError, onForbidden, onFinish }) {
|
|
14
11
|
const { component, params, stream, setState } = useIslandContext();
|
|
15
12
|
const [data, setDataState] = useState(initialData);
|
|
@@ -128,7 +125,12 @@ export function useIslandForm({ initialData, clearFieldErrorsOnChange = true, fi
|
|
|
128
125
|
},
|
|
129
126
|
overridePayload: overrides.payload,
|
|
130
127
|
navigate: overrides.navigate,
|
|
131
|
-
stream: stream ?? undefined
|
|
128
|
+
stream: stream ?? undefined,
|
|
129
|
+
onUploadProgress: (p) => {
|
|
130
|
+
if (requestRef.current?.id === requestId && mountedRef.current) {
|
|
131
|
+
setProgress(p);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
132
134
|
});
|
|
133
135
|
if (requestRef.current?.id !== requestId) {
|
|
134
136
|
return response;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIslandForm.js","sourceRoot":"","sources":["../src/useIslandForm.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"useIslandForm.js","sourceRoot":"","sources":["../src/useIslandForm.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@archipelago-js/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "React bindings for Archipelago islands",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
25
25
|
},
|
|
26
26
|
"peerDependencies": {
|
|
27
|
-
"@archipelago-js/client": "^0.
|
|
28
|
-
"react": "^19.0.0",
|
|
29
|
-
"react-dom": "^19.0.0"
|
|
27
|
+
"@archipelago-js/client": "^0.11.0",
|
|
28
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
29
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
30
30
|
},
|
|
31
31
|
"publishConfig": {
|
|
32
32
|
"access": "public"
|