@rpcbase/form 0.91.0 → 0.93.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/dist/index.js CHANGED
@@ -1,281 +1,276 @@
1
- import { useFormState, useForm as useForm$1, get, set, appendErrors } from "react-hook-form";
2
- export * from "react-hook-form";
1
+ import { appendErrors, get, set, useForm as useForm$1, useFormState } from "react-hook-form";
3
2
  import { c } from "react/compiler-runtime";
4
3
  import { useId } from "react";
5
4
  import { useRegisterNavigationGuard } from "@rpcbase/router";
6
5
  import env from "@rpcbase/env";
7
- import * as n$1 from "zod/v4/core";
8
- const isFormNavigationGuardDisabledByEnv = () => {
9
- const raw = env.RB_PUBLIC_DISABLE_FORM_GUARD;
10
- if (typeof raw !== "string") return false;
11
- const val = raw.trim().toLowerCase();
12
- return val === "1" || val === "true" || val === "yes";
6
+ import * as n from "zod/v4/core";
7
+ export * from "react-hook-form";
8
+ //#region src/navigationGuard.ts
9
+ var isFormNavigationGuardDisabledByEnv = () => {
10
+ const raw = env.RB_PUBLIC_DISABLE_FORM_GUARD;
11
+ if (typeof raw !== "string") return false;
12
+ const val = raw.trim().toLowerCase();
13
+ return val === "1" || val === "true" || val === "yes";
13
14
  };
14
- const normalizeFormNavigationGuardOptions = (input) => {
15
- if (isFormNavigationGuardDisabledByEnv()) {
16
- return {
17
- enabled: false,
18
- blockOnSearch: false
19
- };
20
- }
21
- if (input === false) {
22
- return {
23
- enabled: false,
24
- blockOnSearch: false
25
- };
26
- }
27
- return {
28
- enabled: input?.enabled ?? true,
29
- message: input?.message,
30
- blockOnSearch: input?.blockOnSearch ?? false,
31
- priority: input?.priority
32
- };
15
+ var normalizeFormNavigationGuardOptions = (input) => {
16
+ if (isFormNavigationGuardDisabledByEnv()) return {
17
+ enabled: false,
18
+ blockOnSearch: false
19
+ };
20
+ if (input === false) return {
21
+ enabled: false,
22
+ blockOnSearch: false
23
+ };
24
+ return {
25
+ enabled: input?.enabled ?? true,
26
+ message: input?.message,
27
+ blockOnSearch: input?.blockOnSearch ?? false,
28
+ priority: input?.priority
29
+ };
33
30
  };
34
- const shouldBlockFormNavigation = ({
35
- args,
36
- shouldBlockUnload,
37
- blockOnSearch
38
- }) => {
39
- if (!shouldBlockUnload) return false;
40
- if (args.currentLocation.pathname !== args.nextLocation.pathname) return true;
41
- if (blockOnSearch && args.currentLocation.search !== args.nextLocation.search) return true;
42
- return false;
31
+ var shouldBlockFormNavigation = ({ args, shouldBlockUnload, blockOnSearch }) => {
32
+ if (!shouldBlockUnload) return false;
33
+ if (args.currentLocation.pathname !== args.nextLocation.pathname) return true;
34
+ if (blockOnSearch && args.currentLocation.search !== args.nextLocation.search) return true;
35
+ return false;
43
36
  };
44
- const DEFAULT_FORM_NAVIGATION_GUARD_MESSAGE = "You have unsaved changes. Leave without saving?";
45
- const useFormNavigationGuard = (form, opts) => {
46
- const $ = c(15);
47
- let t0;
48
- if ($[0] !== form.control) {
49
- t0 = {
50
- control: form.control
51
- };
52
- $[0] = form.control;
53
- $[1] = t0;
54
- } else {
55
- t0 = $[1];
56
- }
57
- const {
58
- isDirty,
59
- isSubmitting
60
- } = useFormState(t0);
61
- let t1;
62
- if ($[2] !== opts) {
63
- t1 = normalizeFormNavigationGuardOptions(opts);
64
- $[2] = opts;
65
- $[3] = t1;
66
- } else {
67
- t1 = $[3];
68
- }
69
- const normalized = t1;
70
- const reactId = useId();
71
- const id = `rpcbase:form:${reactId}`;
72
- const shouldBlockUnload = normalized.enabled && isDirty && !isSubmitting;
73
- let t2;
74
- if ($[4] !== normalized.blockOnSearch || $[5] !== shouldBlockUnload) {
75
- t2 = (args) => shouldBlockFormNavigation({
76
- args,
77
- shouldBlockUnload,
78
- blockOnSearch: normalized.blockOnSearch
79
- });
80
- $[4] = normalized.blockOnSearch;
81
- $[5] = shouldBlockUnload;
82
- $[6] = t2;
83
- } else {
84
- t2 = $[6];
85
- }
86
- const shouldBlockNavigation = t2;
87
- const t3 = normalized.message ?? DEFAULT_FORM_NAVIGATION_GUARD_MESSAGE;
88
- let t4;
89
- if ($[7] !== id || $[8] !== normalized.blockOnSearch || $[9] !== normalized.enabled || $[10] !== normalized.priority || $[11] !== shouldBlockNavigation || $[12] !== shouldBlockUnload || $[13] !== t3) {
90
- t4 = {
91
- id,
92
- enabled: normalized.enabled,
93
- priority: normalized.priority,
94
- message: t3,
95
- blockOnSearch: normalized.blockOnSearch,
96
- shouldBlockNavigation,
97
- shouldBlockUnload
98
- };
99
- $[7] = id;
100
- $[8] = normalized.blockOnSearch;
101
- $[9] = normalized.enabled;
102
- $[10] = normalized.priority;
103
- $[11] = shouldBlockNavigation;
104
- $[12] = shouldBlockUnload;
105
- $[13] = t3;
106
- $[14] = t4;
107
- } else {
108
- t4 = $[14];
109
- }
110
- useRegisterNavigationGuard(t4);
37
+ //#endregion
38
+ //#region src/useFormNavigationGuard.ts
39
+ var DEFAULT_FORM_NAVIGATION_GUARD_MESSAGE = "You have unsaved changes. Leave without saving?";
40
+ var useFormNavigationGuard = (form, opts) => {
41
+ const $ = c(15);
42
+ let t0;
43
+ if ($[0] !== form.control) {
44
+ t0 = { control: form.control };
45
+ $[0] = form.control;
46
+ $[1] = t0;
47
+ } else t0 = $[1];
48
+ const { isDirty, isSubmitting } = useFormState(t0);
49
+ let t1;
50
+ if ($[2] !== opts) {
51
+ t1 = normalizeFormNavigationGuardOptions(opts);
52
+ $[2] = opts;
53
+ $[3] = t1;
54
+ } else t1 = $[3];
55
+ const normalized = t1;
56
+ const id = `rpcbase:form:${useId()}`;
57
+ const shouldBlockUnload = normalized.enabled && isDirty && !isSubmitting;
58
+ let t2;
59
+ if ($[4] !== normalized.blockOnSearch || $[5] !== shouldBlockUnload) {
60
+ t2 = (args) => shouldBlockFormNavigation({
61
+ args,
62
+ shouldBlockUnload,
63
+ blockOnSearch: normalized.blockOnSearch
64
+ });
65
+ $[4] = normalized.blockOnSearch;
66
+ $[5] = shouldBlockUnload;
67
+ $[6] = t2;
68
+ } else t2 = $[6];
69
+ const shouldBlockNavigation = t2;
70
+ const t3 = normalized.message ?? "You have unsaved changes. Leave without saving?";
71
+ let t4;
72
+ if ($[7] !== id || $[8] !== normalized.blockOnSearch || $[9] !== normalized.enabled || $[10] !== normalized.priority || $[11] !== shouldBlockNavigation || $[12] !== shouldBlockUnload || $[13] !== t3) {
73
+ t4 = {
74
+ id,
75
+ enabled: normalized.enabled,
76
+ priority: normalized.priority,
77
+ message: t3,
78
+ blockOnSearch: normalized.blockOnSearch,
79
+ shouldBlockNavigation,
80
+ shouldBlockUnload
81
+ };
82
+ $[7] = id;
83
+ $[8] = normalized.blockOnSearch;
84
+ $[9] = normalized.enabled;
85
+ $[10] = normalized.priority;
86
+ $[11] = shouldBlockNavigation;
87
+ $[12] = shouldBlockUnload;
88
+ $[13] = t3;
89
+ $[14] = t4;
90
+ } else t4 = $[14];
91
+ useRegisterNavigationGuard(t4);
111
92
  };
112
- const useForm = (props) => {
113
- const $ = c(10);
114
- let t0;
115
- if ($[0] !== props) {
116
- t0 = props ?? {};
117
- $[0] = props;
118
- $[1] = t0;
119
- } else {
120
- t0 = $[1];
121
- }
122
- let navigationGuard;
123
- let rhfProps;
124
- if ($[2] !== t0) {
125
- ({
126
- navigationGuard,
127
- ...rhfProps
128
- } = t0);
129
- $[2] = t0;
130
- $[3] = navigationGuard;
131
- $[4] = rhfProps;
132
- } else {
133
- navigationGuard = $[3];
134
- rhfProps = $[4];
135
- }
136
- const form = useForm$1(rhfProps);
137
- let t1;
138
- if ($[5] !== navigationGuard) {
139
- t1 = normalizeFormNavigationGuardOptions(navigationGuard);
140
- $[5] = navigationGuard;
141
- $[6] = t1;
142
- } else {
143
- t1 = $[6];
144
- }
145
- const normalized = t1;
146
- let t2;
147
- if ($[7] !== navigationGuard || $[8] !== normalized.enabled) {
148
- t2 = normalized.enabled ? navigationGuard : {
149
- enabled: false
150
- };
151
- $[7] = navigationGuard;
152
- $[8] = normalized.enabled;
153
- $[9] = t2;
154
- } else {
155
- t2 = $[9];
156
- }
157
- useFormNavigationGuard(form, t2);
158
- return form;
93
+ //#endregion
94
+ //#region src/useForm.ts
95
+ var useForm = (props) => {
96
+ const $ = c(10);
97
+ let t0;
98
+ if ($[0] !== props) {
99
+ t0 = props ?? {};
100
+ $[0] = props;
101
+ $[1] = t0;
102
+ } else t0 = $[1];
103
+ let navigationGuard;
104
+ let rhfProps;
105
+ if ($[2] !== t0) {
106
+ ({navigationGuard, ...rhfProps} = t0);
107
+ $[2] = t0;
108
+ $[3] = navigationGuard;
109
+ $[4] = rhfProps;
110
+ } else {
111
+ navigationGuard = $[3];
112
+ rhfProps = $[4];
113
+ }
114
+ const form = useForm$1(rhfProps);
115
+ let t1;
116
+ if ($[5] !== navigationGuard) {
117
+ t1 = normalizeFormNavigationGuardOptions(navigationGuard);
118
+ $[5] = navigationGuard;
119
+ $[6] = t1;
120
+ } else t1 = $[6];
121
+ const normalized = t1;
122
+ let t2;
123
+ if ($[7] !== navigationGuard || $[8] !== normalized.enabled) {
124
+ t2 = normalized.enabled ? navigationGuard : { enabled: false };
125
+ $[7] = navigationGuard;
126
+ $[8] = normalized.enabled;
127
+ $[9] = t2;
128
+ } else t2 = $[9];
129
+ useFormNavigationGuard(form, t2);
130
+ return form;
159
131
  };
160
- const r = (t2, r2, o2) => {
161
- if (t2 && "reportValidity" in t2) {
162
- const s2 = get(o2, r2);
163
- t2.setCustomValidity(s2 && s2.message || ""), t2.reportValidity();
164
- }
165
- }, o = (e, t2) => {
166
- for (const o2 in t2.fields) {
167
- const s2 = t2.fields[o2];
168
- s2 && s2.ref && "reportValidity" in s2.ref ? r(s2.ref, o2, e) : s2 && s2.refs && s2.refs.forEach((t3) => r(t3, o2, e));
169
- }
170
- }, s$1 = (r2, s2) => {
171
- s2.shouldUseNativeValidation && o(r2, s2);
172
- const n2 = {};
173
- for (const o2 in r2) {
174
- const f = get(s2.fields, o2), c2 = Object.assign(r2[o2] || {}, { ref: f && f.ref });
175
- if (i$1(s2.names || Object.keys(r2), o2)) {
176
- const r3 = Object.assign({}, get(n2, o2));
177
- set(r3, "root", c2), set(n2, o2, r3);
178
- } else set(n2, o2, c2);
179
- }
180
- return n2;
181
- }, i$1 = (e, t2) => {
182
- const r2 = n(t2);
183
- return e.some((e2) => n(e2).match(`^${r2}\\.\\d+`));
132
+ //#endregion
133
+ //#region ../../node_modules/@hookform/resolvers/dist/resolvers.mjs
134
+ var r = (t, r, o) => {
135
+ if (t && "reportValidity" in t) {
136
+ const s = get(o, r);
137
+ t.setCustomValidity(s && s.message || ""), t.reportValidity();
138
+ }
139
+ }, o = (e, t) => {
140
+ for (const o in t.fields) {
141
+ const s = t.fields[o];
142
+ s && s.ref && "reportValidity" in s.ref ? r(s.ref, o, e) : s && s.refs && s.refs.forEach((t) => r(t, o, e));
143
+ }
144
+ }, s$1 = (r, s) => {
145
+ s.shouldUseNativeValidation && o(r, s);
146
+ const n = {};
147
+ for (const o in r) {
148
+ const f = get(s.fields, o), c = Object.assign(r[o] || {}, { ref: f && f.ref });
149
+ if (i$1(s.names || Object.keys(r), o)) {
150
+ const r = Object.assign({}, get(n, o));
151
+ set(r, "root", c), set(n, o, r);
152
+ } else set(n, o, c);
153
+ }
154
+ return n;
155
+ }, i$1 = (e, t) => {
156
+ const r = n$1(t);
157
+ return e.some((e) => n$1(e).match(`^${r}\\.\\d+`));
184
158
  };
185
- function n(e) {
186
- return e.replace(/\]|\[/g, "");
159
+ function n$1(e) {
160
+ return e.replace(/\]|\[/g, "");
187
161
  }
188
- function t(r2, e) {
189
- try {
190
- var o2 = r2();
191
- } catch (r3) {
192
- return e(r3);
193
- }
194
- return o2 && o2.then ? o2.then(void 0, e) : o2;
162
+ //#endregion
163
+ //#region ../../node_modules/@hookform/resolvers/zod/dist/zod.mjs
164
+ function t(r, e) {
165
+ try {
166
+ var o = r();
167
+ } catch (r) {
168
+ return e(r);
169
+ }
170
+ return o && o.then ? o.then(void 0, e) : o;
195
171
  }
196
- function s(r2, e) {
197
- for (var n2 = {}; r2.length; ) {
198
- var t2 = r2[0], s2 = t2.code, i2 = t2.message, a2 = t2.path.join(".");
199
- if (!n2[a2]) if ("unionErrors" in t2) {
200
- var u = t2.unionErrors[0].errors[0];
201
- n2[a2] = { message: u.message, type: u.code };
202
- } else n2[a2] = { message: i2, type: s2 };
203
- if ("unionErrors" in t2 && t2.unionErrors.forEach(function(e2) {
204
- return e2.errors.forEach(function(e3) {
205
- return r2.push(e3);
206
- });
207
- }), e) {
208
- var c2 = n2[a2].types, f = c2 && c2[t2.code];
209
- n2[a2] = appendErrors(a2, e, n2, s2, f ? [].concat(f, t2.message) : t2.message);
210
- }
211
- r2.shift();
212
- }
213
- return n2;
172
+ function s(r, e) {
173
+ for (var n = {}; r.length;) {
174
+ var t = r[0], s = t.code, i = t.message, a = t.path.join(".");
175
+ if (!n[a]) if ("unionErrors" in t) {
176
+ var u = t.unionErrors[0].errors[0];
177
+ n[a] = {
178
+ message: u.message,
179
+ type: u.code
180
+ };
181
+ } else n[a] = {
182
+ message: i,
183
+ type: s
184
+ };
185
+ if ("unionErrors" in t && t.unionErrors.forEach(function(e) {
186
+ return e.errors.forEach(function(e) {
187
+ return r.push(e);
188
+ });
189
+ }), e) {
190
+ var c = n[a].types, f = c && c[t.code];
191
+ n[a] = appendErrors(a, e, n, s, f ? [].concat(f, t.message) : t.message);
192
+ }
193
+ r.shift();
194
+ }
195
+ return n;
214
196
  }
215
- function i(r2, e) {
216
- for (var n2 = {}; r2.length; ) {
217
- var t2 = r2[0], s2 = t2.code, i2 = t2.message, a2 = t2.path.join(".");
218
- if (!n2[a2]) if ("invalid_union" === t2.code && t2.errors.length > 0) {
219
- var u = t2.errors[0][0];
220
- n2[a2] = { message: u.message, type: u.code };
221
- } else n2[a2] = { message: i2, type: s2 };
222
- if ("invalid_union" === t2.code && t2.errors.forEach(function(e2) {
223
- return e2.forEach(function(e3) {
224
- return r2.push(e3);
225
- });
226
- }), e) {
227
- var c2 = n2[a2].types, f = c2 && c2[t2.code];
228
- n2[a2] = appendErrors(a2, e, n2, s2, f ? [].concat(f, t2.message) : t2.message);
229
- }
230
- r2.shift();
231
- }
232
- return n2;
197
+ function i(r, e) {
198
+ for (var n = {}; r.length;) {
199
+ var t = r[0], s = t.code, i = t.message, a = t.path.join(".");
200
+ if (!n[a]) if ("invalid_union" === t.code && t.errors.length > 0) {
201
+ var u = t.errors[0][0];
202
+ n[a] = {
203
+ message: u.message,
204
+ type: u.code
205
+ };
206
+ } else n[a] = {
207
+ message: i,
208
+ type: s
209
+ };
210
+ if ("invalid_union" === t.code && t.errors.forEach(function(e) {
211
+ return e.forEach(function(e) {
212
+ return r.push(e);
213
+ });
214
+ }), e) {
215
+ var c = n[a].types, f = c && c[t.code];
216
+ n[a] = appendErrors(a, e, n, s, f ? [].concat(f, t.message) : t.message);
217
+ }
218
+ r.shift();
219
+ }
220
+ return n;
233
221
  }
234
- function a(o$1, a2, u) {
235
- if (void 0 === u && (u = {}), (function(r2) {
236
- return "_def" in r2 && "object" == typeof r2._def && "typeName" in r2._def;
237
- })(o$1)) return function(n2, i2, c2) {
238
- try {
239
- return Promise.resolve(t(function() {
240
- return Promise.resolve(o$1["sync" === u.mode ? "parse" : "parseAsync"](n2, a2)).then(function(e) {
241
- return c2.shouldUseNativeValidation && o({}, c2), { errors: {}, values: u.raw ? Object.assign({}, n2) : e };
242
- });
243
- }, function(r2) {
244
- if ((function(r3) {
245
- return Array.isArray(null == r3 ? void 0 : r3.issues);
246
- })(r2)) return { values: {}, errors: s$1(s(r2.errors, !c2.shouldUseNativeValidation && "all" === c2.criteriaMode), c2) };
247
- throw r2;
248
- }));
249
- } catch (r2) {
250
- return Promise.reject(r2);
251
- }
252
- };
253
- if ((function(r2) {
254
- return "_zod" in r2 && "object" == typeof r2._zod;
255
- })(o$1)) return function(s2, c2, f) {
256
- try {
257
- return Promise.resolve(t(function() {
258
- return Promise.resolve(("sync" === u.mode ? n$1.parse : n$1.parseAsync)(o$1, s2, a2)).then(function(e) {
259
- return f.shouldUseNativeValidation && o({}, f), { errors: {}, values: u.raw ? Object.assign({}, s2) : e };
260
- });
261
- }, function(r2) {
262
- if ((function(r3) {
263
- return r3 instanceof n$1.$ZodError;
264
- })(r2)) return { values: {}, errors: s$1(i(r2.issues, !f.shouldUseNativeValidation && "all" === f.criteriaMode), f) };
265
- throw r2;
266
- }));
267
- } catch (r2) {
268
- return Promise.reject(r2);
269
- }
270
- };
271
- throw new Error("Invalid input: not a Zod schema");
222
+ function a(o$1, a, u) {
223
+ if (void 0 === u && (u = {}), function(r) {
224
+ return "_def" in r && "object" == typeof r._def && "typeName" in r._def;
225
+ }(o$1)) return function(n, i, c) {
226
+ try {
227
+ return Promise.resolve(t(function() {
228
+ return Promise.resolve(o$1["sync" === u.mode ? "parse" : "parseAsync"](n, a)).then(function(e) {
229
+ return c.shouldUseNativeValidation && o({}, c), {
230
+ errors: {},
231
+ values: u.raw ? Object.assign({}, n) : e
232
+ };
233
+ });
234
+ }, function(r) {
235
+ if (function(r) {
236
+ return Array.isArray(null == r ? void 0 : r.issues);
237
+ }(r)) return {
238
+ values: {},
239
+ errors: s$1(s(r.errors, !c.shouldUseNativeValidation && "all" === c.criteriaMode), c)
240
+ };
241
+ throw r;
242
+ }));
243
+ } catch (r) {
244
+ return Promise.reject(r);
245
+ }
246
+ };
247
+ if (function(r) {
248
+ return "_zod" in r && "object" == typeof r._zod;
249
+ }(o$1)) return function(s, c, f) {
250
+ try {
251
+ return Promise.resolve(t(function() {
252
+ return Promise.resolve(("sync" === u.mode ? n.parse : n.parseAsync)(o$1, s, a)).then(function(e) {
253
+ return f.shouldUseNativeValidation && o({}, f), {
254
+ errors: {},
255
+ values: u.raw ? Object.assign({}, s) : e
256
+ };
257
+ });
258
+ }, function(r) {
259
+ if (function(r) {
260
+ return r instanceof n.$ZodError;
261
+ }(r)) return {
262
+ values: {},
263
+ errors: s$1(i(r.issues, !f.shouldUseNativeValidation && "all" === f.criteriaMode), f)
264
+ };
265
+ throw r;
266
+ }));
267
+ } catch (r) {
268
+ return Promise.reject(r);
269
+ }
270
+ };
271
+ throw new Error("Invalid input: not a Zod schema");
272
272
  }
273
- export {
274
- DEFAULT_FORM_NAVIGATION_GUARD_MESSAGE,
275
- normalizeFormNavigationGuardOptions,
276
- shouldBlockFormNavigation,
277
- useForm,
278
- useFormNavigationGuard,
279
- a as zodResolver
280
- };
281
- //# sourceMappingURL=index.js.map
273
+ //#endregion
274
+ export { DEFAULT_FORM_NAVIGATION_GUARD_MESSAGE, normalizeFormNavigationGuardOptions, shouldBlockFormNavigation, useForm, useFormNavigationGuard, a as zodResolver };
275
+
276
+ //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/navigationGuard.ts","../src/useFormNavigationGuard.ts","../src/useForm.ts","../../../node_modules/@hookform/resolvers/dist/resolvers.mjs","../../../node_modules/@hookform/resolvers/zod/dist/zod.mjs"],"sourcesContent":["import type { BlockerFunction } from \"@rpcbase/router\"\nimport env from \"@rpcbase/env\"\n\n\nconst isFormNavigationGuardDisabledByEnv = (): boolean => {\n const raw = env.RB_PUBLIC_DISABLE_FORM_GUARD\n\n if (typeof raw !== \"string\") return false\n\n const val = raw.trim().toLowerCase()\n return val === \"1\" || val === \"true\" || val === \"yes\"\n}\n\n\nexport type FormNavigationGuardOptions =\n | false\n | {\n enabled?: boolean\n message?: string\n blockOnSearch?: boolean\n priority?: number\n }\n\nexport type NormalizedFormNavigationGuardOptions = {\n enabled: boolean\n message?: string\n blockOnSearch: boolean\n priority?: number\n}\n\nexport const normalizeFormNavigationGuardOptions = (\n input: FormNavigationGuardOptions | undefined,\n): NormalizedFormNavigationGuardOptions => {\n if (isFormNavigationGuardDisabledByEnv()) {\n return { enabled: false, blockOnSearch: false }\n }\n\n if (input === false) {\n return { enabled: false, blockOnSearch: false }\n }\n\n return {\n enabled: input?.enabled ?? true,\n message: input?.message,\n blockOnSearch: input?.blockOnSearch ?? false,\n priority: input?.priority,\n }\n}\n\nexport const shouldBlockFormNavigation = ({\n args,\n shouldBlockUnload,\n blockOnSearch,\n}: {\n args: Parameters<BlockerFunction>[0]\n shouldBlockUnload: boolean\n blockOnSearch: boolean\n}): boolean => {\n if (!shouldBlockUnload) return false\n if (args.currentLocation.pathname !== args.nextLocation.pathname) return true\n if (blockOnSearch && args.currentLocation.search !== args.nextLocation.search) return true\n return false\n}\n","import { useCallback, useId, useMemo } from \"react\"\nimport type { FieldValues, UseFormReturn } from \"react-hook-form\"\nimport { useFormState } from \"react-hook-form\"\nimport { useRegisterNavigationGuard } from \"@rpcbase/router\"\n\nimport {\n normalizeFormNavigationGuardOptions,\n shouldBlockFormNavigation,\n type FormNavigationGuardOptions,\n} from \"./navigationGuard\"\n\n\nexport const DEFAULT_FORM_NAVIGATION_GUARD_MESSAGE =\n \"You have unsaved changes. Leave without saving?\"\n\nexport const useFormNavigationGuard = <\n TFieldValues extends FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(\n form: UseFormReturn<TFieldValues, TContext, TTransformedValues>,\n opts?: FormNavigationGuardOptions,\n): void => {\n const { isDirty, isSubmitting } = useFormState({ control: form.control })\n\n const normalized = normalizeFormNavigationGuardOptions(opts)\n\n const reactId = useId()\n const id = useMemo(() => `rpcbase:form:${reactId}`, [reactId])\n\n const shouldBlockUnload = normalized.enabled && isDirty && !isSubmitting\n\n const shouldBlockNavigation = useCallback(\n (args: Parameters<typeof shouldBlockFormNavigation>[0][\"args\"]) =>\n shouldBlockFormNavigation({\n args,\n shouldBlockUnload,\n blockOnSearch: normalized.blockOnSearch,\n }),\n [normalized.blockOnSearch, shouldBlockUnload],\n )\n\n useRegisterNavigationGuard({\n id,\n enabled: normalized.enabled,\n priority: normalized.priority,\n message: normalized.message ?? DEFAULT_FORM_NAVIGATION_GUARD_MESSAGE,\n blockOnSearch: normalized.blockOnSearch,\n shouldBlockNavigation,\n shouldBlockUnload,\n })\n}\n","import { useForm as rhfUseForm } from \"react-hook-form\"\nimport type { FieldValues, UseFormProps, UseFormReturn } from \"react-hook-form\"\n\nimport { useFormNavigationGuard } from \"./useFormNavigationGuard\"\nimport {\n normalizeFormNavigationGuardOptions,\n type FormNavigationGuardOptions,\n} from \"./navigationGuard\"\n\n\nexport type UseFormPropsWithNavigationGuard<\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n> = UseFormProps<TFieldValues, TContext, TTransformedValues> & {\n navigationGuard?: FormNavigationGuardOptions\n}\n\nexport const useForm = <\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(\n props?: UseFormPropsWithNavigationGuard<TFieldValues, TContext, TTransformedValues>,\n): UseFormReturn<TFieldValues, TContext, TTransformedValues> => {\n const { navigationGuard, ...rhfProps } = props ?? {}\n\n const form = rhfUseForm<TFieldValues, TContext, TTransformedValues>(\n rhfProps as UseFormProps<TFieldValues, TContext, TTransformedValues>,\n )\n\n const normalized = normalizeFormNavigationGuardOptions(navigationGuard)\n useFormNavigationGuard(form, normalized.enabled ? navigationGuard : { enabled: false })\n\n return form\n}\n","import{get as e,set as t}from\"react-hook-form\";const r=(t,r,o)=>{if(t&&\"reportValidity\"in t){const s=e(o,r);t.setCustomValidity(s&&s.message||\"\"),t.reportValidity()}},o=(e,t)=>{for(const o in t.fields){const s=t.fields[o];s&&s.ref&&\"reportValidity\"in s.ref?r(s.ref,o,e):s&&s.refs&&s.refs.forEach(t=>r(t,o,e))}},s=(r,s)=>{s.shouldUseNativeValidation&&o(r,s);const n={};for(const o in r){const f=e(s.fields,o),c=Object.assign(r[o]||{},{ref:f&&f.ref});if(i(s.names||Object.keys(r),o)){const r=Object.assign({},e(n,o));t(r,\"root\",c),t(n,o,r)}else t(n,o,c)}return n},i=(e,t)=>{const r=n(t);return e.some(e=>n(e).match(`^${r}\\\\.\\\\d+`))};function n(e){return e.replace(/\\]|\\[/g,\"\")}export{s as toNestErrors,o as validateFieldsNatively};\n//# sourceMappingURL=resolvers.mjs.map\n","import{validateFieldsNatively as r,toNestErrors as e}from\"@hookform/resolvers\";import{appendErrors as o}from\"react-hook-form\";import*as n from\"zod/v4/core\";function t(r,e){try{var o=r()}catch(r){return e(r)}return o&&o.then?o.then(void 0,e):o}function s(r,e){for(var n={};r.length;){var t=r[0],s=t.code,i=t.message,a=t.path.join(\".\");if(!n[a])if(\"unionErrors\"in t){var u=t.unionErrors[0].errors[0];n[a]={message:u.message,type:u.code}}else n[a]={message:i,type:s};if(\"unionErrors\"in t&&t.unionErrors.forEach(function(e){return e.errors.forEach(function(e){return r.push(e)})}),e){var c=n[a].types,f=c&&c[t.code];n[a]=o(a,e,n,s,f?[].concat(f,t.message):t.message)}r.shift()}return n}function i(r,e){for(var n={};r.length;){var t=r[0],s=t.code,i=t.message,a=t.path.join(\".\");if(!n[a])if(\"invalid_union\"===t.code&&t.errors.length>0){var u=t.errors[0][0];n[a]={message:u.message,type:u.code}}else n[a]={message:i,type:s};if(\"invalid_union\"===t.code&&t.errors.forEach(function(e){return e.forEach(function(e){return r.push(e)})}),e){var c=n[a].types,f=c&&c[t.code];n[a]=o(a,e,n,s,f?[].concat(f,t.message):t.message)}r.shift()}return n}function a(o,a,u){if(void 0===u&&(u={}),function(r){return\"_def\"in r&&\"object\"==typeof r._def&&\"typeName\"in r._def}(o))return function(n,i,c){try{return Promise.resolve(t(function(){return Promise.resolve(o[\"sync\"===u.mode?\"parse\":\"parseAsync\"](n,a)).then(function(e){return c.shouldUseNativeValidation&&r({},c),{errors:{},values:u.raw?Object.assign({},n):e}})},function(r){if(function(r){return Array.isArray(null==r?void 0:r.issues)}(r))return{values:{},errors:e(s(r.errors,!c.shouldUseNativeValidation&&\"all\"===c.criteriaMode),c)};throw r}))}catch(r){return Promise.reject(r)}};if(function(r){return\"_zod\"in r&&\"object\"==typeof r._zod}(o))return function(s,c,f){try{return Promise.resolve(t(function(){return Promise.resolve((\"sync\"===u.mode?n.parse:n.parseAsync)(o,s,a)).then(function(e){return f.shouldUseNativeValidation&&r({},f),{errors:{},values:u.raw?Object.assign({},s):e}})},function(r){if(function(r){return r instanceof n.$ZodError}(r))return{values:{},errors:e(i(r.issues,!f.shouldUseNativeValidation&&\"all\"===f.criteriaMode),f)};throw r}))}catch(r){return Promise.reject(r)}};throw new Error(\"Invalid input: not a Zod schema\")}export{a as zodResolver};\n//# sourceMappingURL=zod.module.js.map\n"],"names":["isFormNavigationGuardDisabledByEnv","raw","env","RB_PUBLIC_DISABLE_FORM_GUARD","val","trim","toLowerCase","normalizeFormNavigationGuardOptions","input","enabled","blockOnSearch","message","priority","shouldBlockFormNavigation","args","shouldBlockUnload","currentLocation","pathname","nextLocation","search","DEFAULT_FORM_NAVIGATION_GUARD_MESSAGE","useFormNavigationGuard","form","opts","$","_c","t0","control","isDirty","isSubmitting","useFormState","t1","normalized","reactId","useId","id","t2","shouldBlockNavigation","t3","t4","useRegisterNavigationGuard","useForm","props","navigationGuard","rhfProps","rhfUseForm","t","r","o","s","e","n","c","i","a"],"mappings":"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","x_google_ignoreList":[3,4]}
1
+ {"version":3,"file":"index.js","names":["BlockerFunction","env","isFormNavigationGuardDisabledByEnv","raw","RB_PUBLIC_DISABLE_FORM_GUARD","val","trim","toLowerCase","FormNavigationGuardOptions","enabled","message","blockOnSearch","priority","NormalizedFormNavigationGuardOptions","normalizeFormNavigationGuardOptions","input","shouldBlockFormNavigation","args","shouldBlockUnload","Parameters","currentLocation","pathname","nextLocation","search","useCallback","useId","useMemo","FieldValues","UseFormReturn","useFormState","useRegisterNavigationGuard","normalizeFormNavigationGuardOptions","shouldBlockFormNavigation","FormNavigationGuardOptions","DEFAULT_FORM_NAVIGATION_GUARD_MESSAGE","useFormNavigationGuard","form","opts","$","_c","t0","control","isDirty","isSubmitting","t1","normalized","reactId","id","shouldBlockUnload","enabled","t2","blockOnSearch","args","shouldBlockNavigation","t3","message","t4","priority","useForm","rhfUseForm","FieldValues","UseFormProps","UseFormReturn","useFormNavigationGuard","normalizeFormNavigationGuardOptions","FormNavigationGuardOptions","UseFormPropsWithNavigationGuard","TFieldValues","TContext","TTransformedValues","navigationGuard","props","$","_c","t0","rhfProps","form","t1","normalized","t2","enabled","e","s","i","t","n","o","r","e"],"sources":["../src/navigationGuard.ts","../src/useFormNavigationGuard.ts","../src/useForm.ts","../../../node_modules/@hookform/resolvers/dist/resolvers.mjs","../../../node_modules/@hookform/resolvers/zod/dist/zod.mjs"],"sourcesContent":["import type { BlockerFunction } from \"@rpcbase/router\"\nimport env from \"@rpcbase/env\"\n\n\nconst isFormNavigationGuardDisabledByEnv = (): boolean => {\n const raw = env.RB_PUBLIC_DISABLE_FORM_GUARD\n\n if (typeof raw !== \"string\") return false\n\n const val = raw.trim().toLowerCase()\n return val === \"1\" || val === \"true\" || val === \"yes\"\n}\n\n\nexport type FormNavigationGuardOptions =\n | false\n | {\n enabled?: boolean\n message?: string\n blockOnSearch?: boolean\n priority?: number\n }\n\nexport type NormalizedFormNavigationGuardOptions = {\n enabled: boolean\n message?: string\n blockOnSearch: boolean\n priority?: number\n}\n\nexport const normalizeFormNavigationGuardOptions = (\n input: FormNavigationGuardOptions | undefined,\n): NormalizedFormNavigationGuardOptions => {\n if (isFormNavigationGuardDisabledByEnv()) {\n return { enabled: false, blockOnSearch: false }\n }\n\n if (input === false) {\n return { enabled: false, blockOnSearch: false }\n }\n\n return {\n enabled: input?.enabled ?? true,\n message: input?.message,\n blockOnSearch: input?.blockOnSearch ?? false,\n priority: input?.priority,\n }\n}\n\nexport const shouldBlockFormNavigation = ({\n args,\n shouldBlockUnload,\n blockOnSearch,\n}: {\n args: Parameters<BlockerFunction>[0]\n shouldBlockUnload: boolean\n blockOnSearch: boolean\n}): boolean => {\n if (!shouldBlockUnload) return false\n if (args.currentLocation.pathname !== args.nextLocation.pathname) return true\n if (blockOnSearch && args.currentLocation.search !== args.nextLocation.search) return true\n return false\n}\n","import { useCallback, useId, useMemo } from \"react\"\nimport type { FieldValues, UseFormReturn } from \"react-hook-form\"\nimport { useFormState } from \"react-hook-form\"\nimport { useRegisterNavigationGuard } from \"@rpcbase/router\"\n\nimport {\n normalizeFormNavigationGuardOptions,\n shouldBlockFormNavigation,\n type FormNavigationGuardOptions,\n} from \"./navigationGuard\"\n\n\nexport const DEFAULT_FORM_NAVIGATION_GUARD_MESSAGE =\n \"You have unsaved changes. Leave without saving?\"\n\nexport const useFormNavigationGuard = <\n TFieldValues extends FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(\n form: UseFormReturn<TFieldValues, TContext, TTransformedValues>,\n opts?: FormNavigationGuardOptions,\n): void => {\n const { isDirty, isSubmitting } = useFormState({ control: form.control })\n\n const normalized = normalizeFormNavigationGuardOptions(opts)\n\n const reactId = useId()\n const id = useMemo(() => `rpcbase:form:${reactId}`, [reactId])\n\n const shouldBlockUnload = normalized.enabled && isDirty && !isSubmitting\n\n const shouldBlockNavigation = useCallback(\n (args: Parameters<typeof shouldBlockFormNavigation>[0][\"args\"]) =>\n shouldBlockFormNavigation({\n args,\n shouldBlockUnload,\n blockOnSearch: normalized.blockOnSearch,\n }),\n [normalized.blockOnSearch, shouldBlockUnload],\n )\n\n useRegisterNavigationGuard({\n id,\n enabled: normalized.enabled,\n priority: normalized.priority,\n message: normalized.message ?? DEFAULT_FORM_NAVIGATION_GUARD_MESSAGE,\n blockOnSearch: normalized.blockOnSearch,\n shouldBlockNavigation,\n shouldBlockUnload,\n })\n}\n","import { useForm as rhfUseForm } from \"react-hook-form\"\nimport type { FieldValues, UseFormProps, UseFormReturn } from \"react-hook-form\"\n\nimport { useFormNavigationGuard } from \"./useFormNavigationGuard\"\nimport {\n normalizeFormNavigationGuardOptions,\n type FormNavigationGuardOptions,\n} from \"./navigationGuard\"\n\n\nexport type UseFormPropsWithNavigationGuard<\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n> = UseFormProps<TFieldValues, TContext, TTransformedValues> & {\n navigationGuard?: FormNavigationGuardOptions\n}\n\nexport const useForm = <\n TFieldValues extends FieldValues = FieldValues,\n TContext = any,\n TTransformedValues = TFieldValues,\n>(\n props?: UseFormPropsWithNavigationGuard<TFieldValues, TContext, TTransformedValues>,\n): UseFormReturn<TFieldValues, TContext, TTransformedValues> => {\n const { navigationGuard, ...rhfProps } = props ?? {}\n\n const form = rhfUseForm<TFieldValues, TContext, TTransformedValues>(\n rhfProps as UseFormProps<TFieldValues, TContext, TTransformedValues>,\n )\n\n const normalized = normalizeFormNavigationGuardOptions(navigationGuard)\n useFormNavigationGuard(form, normalized.enabled ? navigationGuard : { enabled: false })\n\n return form\n}\n","import{get as e,set as t}from\"react-hook-form\";const r=(t,r,o)=>{if(t&&\"reportValidity\"in t){const s=e(o,r);t.setCustomValidity(s&&s.message||\"\"),t.reportValidity()}},o=(e,t)=>{for(const o in t.fields){const s=t.fields[o];s&&s.ref&&\"reportValidity\"in s.ref?r(s.ref,o,e):s&&s.refs&&s.refs.forEach(t=>r(t,o,e))}},s=(r,s)=>{s.shouldUseNativeValidation&&o(r,s);const n={};for(const o in r){const f=e(s.fields,o),c=Object.assign(r[o]||{},{ref:f&&f.ref});if(i(s.names||Object.keys(r),o)){const r=Object.assign({},e(n,o));t(r,\"root\",c),t(n,o,r)}else t(n,o,c)}return n},i=(e,t)=>{const r=n(t);return e.some(e=>n(e).match(`^${r}\\\\.\\\\d+`))};function n(e){return e.replace(/\\]|\\[/g,\"\")}export{s as toNestErrors,o as validateFieldsNatively};\n//# sourceMappingURL=resolvers.mjs.map\n","import{validateFieldsNatively as r,toNestErrors as e}from\"@hookform/resolvers\";import{appendErrors as o}from\"react-hook-form\";import*as n from\"zod/v4/core\";function t(r,e){try{var o=r()}catch(r){return e(r)}return o&&o.then?o.then(void 0,e):o}function s(r,e){for(var n={};r.length;){var t=r[0],s=t.code,i=t.message,a=t.path.join(\".\");if(!n[a])if(\"unionErrors\"in t){var u=t.unionErrors[0].errors[0];n[a]={message:u.message,type:u.code}}else n[a]={message:i,type:s};if(\"unionErrors\"in t&&t.unionErrors.forEach(function(e){return e.errors.forEach(function(e){return r.push(e)})}),e){var c=n[a].types,f=c&&c[t.code];n[a]=o(a,e,n,s,f?[].concat(f,t.message):t.message)}r.shift()}return n}function i(r,e){for(var n={};r.length;){var t=r[0],s=t.code,i=t.message,a=t.path.join(\".\");if(!n[a])if(\"invalid_union\"===t.code&&t.errors.length>0){var u=t.errors[0][0];n[a]={message:u.message,type:u.code}}else n[a]={message:i,type:s};if(\"invalid_union\"===t.code&&t.errors.forEach(function(e){return e.forEach(function(e){return r.push(e)})}),e){var c=n[a].types,f=c&&c[t.code];n[a]=o(a,e,n,s,f?[].concat(f,t.message):t.message)}r.shift()}return n}function a(o,a,u){if(void 0===u&&(u={}),function(r){return\"_def\"in r&&\"object\"==typeof r._def&&\"typeName\"in r._def}(o))return function(n,i,c){try{return Promise.resolve(t(function(){return Promise.resolve(o[\"sync\"===u.mode?\"parse\":\"parseAsync\"](n,a)).then(function(e){return c.shouldUseNativeValidation&&r({},c),{errors:{},values:u.raw?Object.assign({},n):e}})},function(r){if(function(r){return Array.isArray(null==r?void 0:r.issues)}(r))return{values:{},errors:e(s(r.errors,!c.shouldUseNativeValidation&&\"all\"===c.criteriaMode),c)};throw r}))}catch(r){return Promise.reject(r)}};if(function(r){return\"_zod\"in r&&\"object\"==typeof r._zod}(o))return function(s,c,f){try{return Promise.resolve(t(function(){return Promise.resolve((\"sync\"===u.mode?n.parse:n.parseAsync)(o,s,a)).then(function(e){return f.shouldUseNativeValidation&&r({},f),{errors:{},values:u.raw?Object.assign({},s):e}})},function(r){if(function(r){return r instanceof n.$ZodError}(r))return{values:{},errors:e(i(r.issues,!f.shouldUseNativeValidation&&\"all\"===f.criteriaMode),f)};throw r}))}catch(r){return Promise.reject(r)}};throw new Error(\"Invalid input: not a Zod schema\")}export{a as zodResolver};\n//# sourceMappingURL=zod.module.js.map\n"],"x_google_ignoreList":[3,4],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpcbase/form",
3
- "version": "0.91.0",
3
+ "version": "0.93.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"