@rpcbase/form 0.100.0 → 0.102.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,276 +1,281 @@
1
- import { appendErrors, get, set, useForm as useForm$1, useFormState } from "react-hook-form";
1
+ import { useFormState, useForm as useForm$1, get, set, appendErrors } from "react-hook-form";
2
+ export * from "react-hook-form";
2
3
  import { c } from "react/compiler-runtime";
3
4
  import { useId } from "react";
4
5
  import { useRegisterNavigationGuard } from "@rpcbase/router";
5
6
  import env from "@rpcbase/env";
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";
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";
14
13
  };
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
- };
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
+ };
30
33
  };
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;
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;
36
43
  };
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);
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);
92
111
  };
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;
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;
131
159
  };
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+`));
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+`));
158
184
  };
159
- function n$1(e) {
160
- return e.replace(/\]|\[/g, "");
185
+ function n(e) {
186
+ return e.replace(/\]|\[/g, "");
161
187
  }
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;
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;
171
195
  }
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;
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;
196
214
  }
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;
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;
221
233
  }
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");
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");
272
272
  }
273
- //#endregion
274
- export { DEFAULT_FORM_NAVIGATION_GUARD_MESSAGE, normalizeFormNavigationGuardOptions, shouldBlockFormNavigation, useForm, useFormNavigationGuard, a as zodResolver };
275
-
276
- //# sourceMappingURL=index.js.map
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
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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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"}
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]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rpcbase/form",
3
- "version": "0.100.0",
3
+ "version": "0.102.0",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"