gemi 0.69.1 → 0.70.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/ai/index.js +2 -2
- package/dist/ai/index.js.map +1 -1
- package/dist/app/index.js +1 -1
- package/dist/auth/AuthManager.d.ts +25 -2
- package/dist/auth/AuthManager.d.ts.map +1 -1
- package/dist/auth/config.d.ts +36 -1
- package/dist/auth/config.d.ts.map +1 -1
- package/dist/auth/sessionToken.d.ts +23 -1
- package/dist/auth/sessionToken.d.ts.map +1 -1
- package/dist/broadcasting/index.js +1 -1
- package/dist/bun/plugin.js +1 -1
- package/dist/bun/preload.js +1 -1
- package/dist/{chunk-heq6gzp4.js → chunk-083j4ktb.js} +2 -2
- package/dist/{chunk-heq6gzp4.js.map → chunk-083j4ktb.js.map} +1 -1
- package/dist/{chunk-pc3rjntj.js → chunk-2qyghpe0.js} +2 -2
- package/dist/{chunk-pc3rjntj.js.map → chunk-2qyghpe0.js.map} +1 -1
- package/dist/{chunk-5yqdkz6y.js → chunk-2yrgzmpk.js} +2 -2
- package/dist/{chunk-5yqdkz6y.js.map → chunk-2yrgzmpk.js.map} +1 -1
- package/dist/{chunk-zds05es5.js → chunk-3296fwss.js} +2 -2
- package/dist/{chunk-zds05es5.js.map → chunk-3296fwss.js.map} +1 -1
- package/dist/{chunk-xgcydqxz.js → chunk-44jp4cb2.js} +2 -2
- package/dist/{chunk-xgcydqxz.js.map → chunk-44jp4cb2.js.map} +1 -1
- package/dist/{chunk-4hw93e3y.js → chunk-4azcbkxm.js} +1 -1
- package/dist/{chunk-9f3d16m8.js → chunk-4j6vrkmj.js} +2 -2
- package/dist/{chunk-9f3d16m8.js.map → chunk-4j6vrkmj.js.map} +1 -1
- package/dist/chunk-4t9zv1rk.js +19 -0
- package/dist/{chunk-a0m2m20v.js.map → chunk-4t9zv1rk.js.map} +5 -5
- package/dist/{chunk-ynabq1zf.js → chunk-5fxz3knw.js} +2 -2
- package/dist/{chunk-ynabq1zf.js.map → chunk-5fxz3knw.js.map} +1 -1
- package/dist/{chunk-dvc9dgtg.js → chunk-5p4ywbsz.js} +2 -2
- package/dist/{chunk-dvc9dgtg.js.map → chunk-5p4ywbsz.js.map} +1 -1
- package/dist/{chunk-mwm0zfn6.js → chunk-5qnk24jy.js} +2 -2
- package/dist/{chunk-mwm0zfn6.js.map → chunk-5qnk24jy.js.map} +1 -1
- package/dist/{chunk-e5vt4nq9.js → chunk-63n765wn.js} +2 -2
- package/dist/{chunk-e5vt4nq9.js.map → chunk-63n765wn.js.map} +1 -1
- package/dist/{chunk-jvktxnxa.js → chunk-7tmqw6a5.js} +2 -2
- package/dist/{chunk-jvktxnxa.js.map → chunk-7tmqw6a5.js.map} +1 -1
- package/dist/{chunk-gapx8ft1.js → chunk-8nzcqw9n.js} +2 -2
- package/dist/{chunk-gapx8ft1.js.map → chunk-8nzcqw9n.js.map} +1 -1
- package/dist/{chunk-w8jp1t7b.js → chunk-ah13y0hy.js} +2 -2
- package/dist/{chunk-w8jp1t7b.js.map → chunk-ah13y0hy.js.map} +1 -1
- package/dist/{chunk-e2ycfg1s.js → chunk-ayja3wqv.js} +2 -2
- package/dist/{chunk-e2ycfg1s.js.map → chunk-ayja3wqv.js.map} +1 -1
- package/dist/{chunk-k2hjegjw.js → chunk-b004v4jt.js} +2 -2
- package/dist/{chunk-k2hjegjw.js.map → chunk-b004v4jt.js.map} +1 -1
- package/dist/{chunk-wz67xydv.js → chunk-bq3sc20y.js} +2 -2
- package/dist/{chunk-wz67xydv.js.map → chunk-bq3sc20y.js.map} +1 -1
- package/dist/{chunk-qz8n10v1.js → chunk-c776vm8q.js} +3 -3
- package/dist/{chunk-qz8n10v1.js.map → chunk-c776vm8q.js.map} +1 -1
- package/dist/{chunk-17grdzh5.js → chunk-ceemr927.js} +2 -2
- package/dist/{chunk-17grdzh5.js.map → chunk-ceemr927.js.map} +1 -1
- package/dist/{chunk-tthppwcz.js → chunk-crp5hsb0.js} +2 -2
- package/dist/{chunk-tthppwcz.js.map → chunk-crp5hsb0.js.map} +1 -1
- package/dist/{chunk-8n8efq3e.js → chunk-cw2wjrya.js} +3 -3
- package/dist/{chunk-8n8efq3e.js.map → chunk-cw2wjrya.js.map} +1 -1
- package/dist/{chunk-43xykgzb.js → chunk-dacq5bw8.js} +2 -2
- package/dist/{chunk-43xykgzb.js.map → chunk-dacq5bw8.js.map} +1 -1
- package/dist/{chunk-1ethvybg.js → chunk-dmxr0bt8.js} +3 -3
- package/dist/{chunk-1ethvybg.js.map → chunk-dmxr0bt8.js.map} +1 -1
- package/dist/chunk-ds8d17k6.js +5 -0
- package/dist/{chunk-654312qd.js.map → chunk-ds8d17k6.js.map} +1 -1
- package/dist/{chunk-m88haz1d.js → chunk-em9kwz08.js} +2 -2
- package/dist/{chunk-m88haz1d.js.map → chunk-em9kwz08.js.map} +1 -1
- package/dist/{chunk-fqc43fvj.js → chunk-ezd59jpg.js} +1 -1
- package/dist/{chunk-0nbrg1hn.js → chunk-f65v7rqq.js} +2 -2
- package/dist/{chunk-0nbrg1hn.js.map → chunk-f65v7rqq.js.map} +1 -1
- package/dist/{chunk-3f0ncrd4.js → chunk-f8wyyky5.js} +2 -2
- package/dist/{chunk-3f0ncrd4.js.map → chunk-f8wyyky5.js.map} +1 -1
- package/dist/{chunk-5hyfe7b3.js → chunk-fxdc34cj.js} +2 -2
- package/dist/{chunk-5hyfe7b3.js.map → chunk-fxdc34cj.js.map} +1 -1
- package/dist/{chunk-36p6nrgf.js → chunk-gj5jjmf8.js} +2 -2
- package/dist/{chunk-36p6nrgf.js.map → chunk-gj5jjmf8.js.map} +1 -1
- package/dist/{chunk-jecwqesm.js → chunk-k4vj2b98.js} +2 -2
- package/dist/{chunk-jecwqesm.js.map → chunk-k4vj2b98.js.map} +1 -1
- package/dist/{chunk-9rthn2hy.js → chunk-k7hm7f3t.js} +2 -2
- package/dist/{chunk-9rthn2hy.js.map → chunk-k7hm7f3t.js.map} +1 -1
- package/dist/{chunk-kqqj907k.js → chunk-kh64a9rh.js} +2 -2
- package/dist/{chunk-kqqj907k.js.map → chunk-kh64a9rh.js.map} +1 -1
- package/dist/{chunk-8fhzh26j.js → chunk-mpk36kdy.js} +2 -2
- package/dist/{chunk-8fhzh26j.js.map → chunk-mpk36kdy.js.map} +1 -1
- package/dist/{chunk-q7y72wr3.js → chunk-n6rjtg2q.js} +2 -2
- package/dist/{chunk-q7y72wr3.js.map → chunk-n6rjtg2q.js.map} +1 -1
- package/dist/{chunk-mkvprcnv.js → chunk-nkfj4qq5.js} +2 -2
- package/dist/{chunk-mkvprcnv.js.map → chunk-nkfj4qq5.js.map} +1 -1
- package/dist/{chunk-pzhzjx6h.js → chunk-p48th4ps.js} +2 -2
- package/dist/{chunk-pzhzjx6h.js.map → chunk-p48th4ps.js.map} +1 -1
- package/dist/{chunk-h0mazdqm.js → chunk-p9rg95p6.js} +1 -1
- package/dist/{chunk-kwkjpape.js → chunk-paqjyvjm.js} +2 -2
- package/dist/{chunk-kwkjpape.js.map → chunk-paqjyvjm.js.map} +1 -1
- package/dist/{chunk-mes9ks69.js → chunk-pmze0zcr.js} +2 -2
- package/dist/{chunk-mes9ks69.js.map → chunk-pmze0zcr.js.map} +1 -1
- package/dist/{chunk-777rbaaz.js → chunk-q8630z08.js} +2 -2
- package/dist/{chunk-777rbaaz.js.map → chunk-q8630z08.js.map} +1 -1
- package/dist/{chunk-zxbmpn71.js → chunk-qtwmbqzr.js} +2 -2
- package/dist/{chunk-zxbmpn71.js.map → chunk-qtwmbqzr.js.map} +1 -1
- package/dist/{chunk-xkg2sm12.js → chunk-qxfby5zf.js} +3 -3
- package/dist/{chunk-xkg2sm12.js.map → chunk-qxfby5zf.js.map} +1 -1
- package/dist/{chunk-yp0ah93s.js → chunk-rm5qa99y.js} +3 -3
- package/dist/{chunk-yp0ah93s.js.map → chunk-rm5qa99y.js.map} +1 -1
- package/dist/{chunk-0qrnp119.js → chunk-s7v66c70.js} +2 -2
- package/dist/{chunk-0qrnp119.js.map → chunk-s7v66c70.js.map} +1 -1
- package/dist/{chunk-9nv0nzj0.js → chunk-snheb16b.js} +2 -2
- package/dist/{chunk-9nv0nzj0.js.map → chunk-snheb16b.js.map} +1 -1
- package/dist/{chunk-wdvv88da.js → chunk-th8drc6f.js} +2 -2
- package/dist/{chunk-wdvv88da.js.map → chunk-th8drc6f.js.map} +1 -1
- package/dist/{chunk-79hpx0e7.js → chunk-tkrj74c1.js} +2 -2
- package/dist/{chunk-79hpx0e7.js.map → chunk-tkrj74c1.js.map} +1 -1
- package/dist/{chunk-t29t96a3.js → chunk-vbrbsk9b.js} +3 -3
- package/dist/{chunk-t29t96a3.js.map → chunk-vbrbsk9b.js.map} +1 -1
- package/dist/{chunk-9x3gr8k7.js → chunk-vpvde0nb.js} +2 -2
- package/dist/{chunk-9x3gr8k7.js.map → chunk-vpvde0nb.js.map} +1 -1
- package/dist/{chunk-jctjvgat.js → chunk-vxr752md.js} +2 -2
- package/dist/{chunk-jctjvgat.js.map → chunk-vxr752md.js.map} +1 -1
- package/dist/{chunk-0fmntznb.js → chunk-wbv5kyhe.js} +4 -4
- package/dist/{chunk-0fmntznb.js.map → chunk-wbv5kyhe.js.map} +1 -1
- package/dist/{chunk-6pfkdsev.js → chunk-wc4jpf86.js} +3 -3
- package/dist/{chunk-6pfkdsev.js.map → chunk-wc4jpf86.js.map} +1 -1
- package/dist/{chunk-ayvkarte.js → chunk-wqamwrrn.js} +2 -2
- package/dist/{chunk-ayvkarte.js.map → chunk-wqamwrrn.js.map} +1 -1
- package/dist/{chunk-gcg79mg1.js → chunk-wx3rx7vp.js} +2 -2
- package/dist/{chunk-gcg79mg1.js.map → chunk-wx3rx7vp.js.map} +1 -1
- package/dist/{chunk-3havx4jv.js → chunk-x2tqctjm.js} +2 -2
- package/dist/{chunk-3havx4jv.js.map → chunk-x2tqctjm.js.map} +1 -1
- package/dist/{chunk-ws6qmce0.js → chunk-xmjzrg41.js} +3 -3
- package/dist/{chunk-ws6qmce0.js.map → chunk-xmjzrg41.js.map} +1 -1
- package/dist/{chunk-74mm850r.js → chunk-y73tppyk.js} +2 -2
- package/dist/{chunk-74mm850r.js.map → chunk-y73tppyk.js.map} +1 -1
- package/dist/{chunk-znxsf63g.js → chunk-yffy1k69.js} +2 -2
- package/dist/{chunk-znxsf63g.js.map → chunk-yffy1k69.js.map} +1 -1
- package/dist/{chunk-4f8s3jda.js → chunk-ys36n4wv.js} +2 -2
- package/dist/{chunk-4f8s3jda.js.map → chunk-ys36n4wv.js.map} +1 -1
- package/dist/{chunk-73xm7k9y.js → chunk-zpjx407m.js} +3 -3
- package/dist/{chunk-73xm7k9y.js.map → chunk-zpjx407m.js.map} +1 -1
- package/dist/client/Mutation.d.ts +9 -0
- package/dist/client/Mutation.d.ts.map +1 -1
- package/dist/client/index.js +26 -5
- package/dist/client/index.js.map +1 -1
- package/dist/config/index.js +1 -1
- package/dist/console/run.js +2 -2
- package/dist/console/run.js.map +1 -1
- package/dist/container/index.js +2 -2
- package/dist/container/index.js.map +1 -1
- package/dist/database/index.js +2 -2
- package/dist/database/index.js.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/foundation/index.js +2 -2
- package/dist/foundation/index.js.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/i18n/dictionaryRuntime.js +2 -2
- package/dist/i18n/dictionaryRuntime.js.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +1 -1
- package/dist/orm/index.js +2 -2
- package/dist/orm/index.js.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +1 -1
- package/dist/services/index.d.ts +2 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -3
- package/dist/services/index.js.map +2 -2
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/support/index.js +2 -2
- package/dist/support/index.js.map +1 -1
- package/package.json +1 -1
- package/skills/gemi-react-best-practices/rules/client-form-vs-mutation-hooks.md +4 -0
- package/dist/chunk-654312qd.js +0 -5
- package/dist/chunk-a0m2m20v.js +0 -19
- /package/dist/{chunk-4hw93e3y.js.map → chunk-4azcbkxm.js.map} +0 -0
- /package/dist/{chunk-fqc43fvj.js.map → chunk-ezd59jpg.js.map} +0 -0
- /package/dist/{chunk-h0mazdqm.js.map → chunk-p9rg95p6.js.map} +0 -0
|
@@ -28,6 +28,15 @@ interface FormProps<M extends keyof Methods, K extends keyof Methods[M]> extends
|
|
|
28
28
|
action: K;
|
|
29
29
|
onSuccess?: (result: Methods[M][K], form: HTMLFormElement) => void;
|
|
30
30
|
onError?: (error: Any, form: HTMLFormElement) => void;
|
|
31
|
+
/**
|
|
32
|
+
* Called when a submit is about to send its request, with the exact
|
|
33
|
+
* `FormData` that will be sent (after `dynamicInputs`). Return `false` to
|
|
34
|
+
* skip the request. Not called for a submit swallowed because one is
|
|
35
|
+
* already in flight.
|
|
36
|
+
*/
|
|
37
|
+
onSubmitStart?: (formData: FormData, form: HTMLFormElement) => void | boolean;
|
|
38
|
+
/** Called after `onSuccess` or `onError`, whichever ran. */
|
|
39
|
+
onSettled?: (form: HTMLFormElement) => void;
|
|
31
40
|
params?: Partial<UrlParser<`${K & string}`>>;
|
|
32
41
|
search?: Record<string, string>;
|
|
33
42
|
dynamicInputs?: (formData: FormData) => Record<string, any>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mutation.d.ts","sourceRoot":"","sources":["../../client/Mutation.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,cAAc,EAMpB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAKzC,KAAK,GAAG,GAAG,GAAG,CAAC;AAef,KAAK,SAAS,CAAC,CAAC,IACd,CAAC,SAAS,gBAAgB,CAAC,GAAG,EAAE,MAAM,MAAM,EAAE,GAAG,CAAC,GAC9C,aAAa,CAAC,MAAM,CAAC,GACrB,KAAK,CAAC;AAEZ,KAAK,YAAY,GAAG;KACjB,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,QAAQ,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,CACpE,GAAG,CAAC,CAAC,CAAC,CACP;CACF,CAAC;AAEF,KAAK,WAAW,GAAG;KAChB,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,OAAO,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAC9E,CAAC;AAEF,KAAK,cAAc,GAAG;KACnB,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,UAAU,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,CACtE,GAAG,CAAC,CAAC,CAAC,CACP;CACF,CAAC;AAEF,KAAK,aAAa,GAAG;KAClB,CAAC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,SAAS,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,SAAS,CACrE,GAAG,CAAC,CAAC,CAAC,CACP;CACF,CAAC;AAEF,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,WAAW,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,EAAE,aAAa,CAAC;CACtB,CAAC;
|
|
1
|
+
{"version":3,"file":"Mutation.d.ts","sourceRoot":"","sources":["../../client/Mutation.tsx"],"names":[],"mappings":"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"}
|
package/dist/client/index.js
CHANGED
|
@@ -541,7 +541,7 @@ var MutationContext = createContext({
|
|
|
541
541
|
});
|
|
542
542
|
function Form(props) {
|
|
543
543
|
const _params = useParams();
|
|
544
|
-
const { method = "POST", action, onSuccess = () => {}, onError = () => {}, params, search = {}, className, dynamicInputs = () => ({}), ...formProps } = "params" in props ? {
|
|
544
|
+
const { method = "POST", action, onSuccess = () => {}, onError = () => {}, onSubmitStart, onSettled, onSubmit, ref, params, search = {}, className, dynamicInputs = () => ({}), ...formProps } = "params" in props ? {
|
|
545
545
|
...props,
|
|
546
546
|
params: {
|
|
547
547
|
..._params,
|
|
@@ -552,6 +552,15 @@ function Form(props) {
|
|
|
552
552
|
params: _params
|
|
553
553
|
};
|
|
554
554
|
const formRef = useRef(null);
|
|
555
|
+
const setFormRef = useCallback((node) => {
|
|
556
|
+
formRef.current = node;
|
|
557
|
+
const cleanup = assignRef(ref, node);
|
|
558
|
+
return () => {
|
|
559
|
+
formRef.current = null;
|
|
560
|
+
if (typeof cleanup === "function") cleanup();
|
|
561
|
+
else assignRef(ref, null);
|
|
562
|
+
};
|
|
563
|
+
}, [ref]);
|
|
555
564
|
const { __csrf } = useContext(ServerDataContext);
|
|
556
565
|
const formDataSubject = useRef(new Subject(new FormData()));
|
|
557
566
|
const updateFormData = useCallback(() => {
|
|
@@ -585,15 +594,23 @@ function Form(props) {
|
|
|
585
594
|
params,
|
|
586
595
|
search
|
|
587
596
|
}, {
|
|
588
|
-
onSuccess: (data) =>
|
|
589
|
-
|
|
597
|
+
onSuccess: (data) => {
|
|
598
|
+
onSuccess(data, formRef.current);
|
|
599
|
+
onSettled?.(formRef.current);
|
|
600
|
+
},
|
|
601
|
+
onError: (error) => {
|
|
602
|
+
onError(error, formRef.current);
|
|
603
|
+
onSettled?.(formRef.current);
|
|
604
|
+
}
|
|
590
605
|
});
|
|
591
606
|
const handleSubmit = async (e) => {
|
|
592
607
|
e.preventDefault();
|
|
608
|
+
onSubmit?.(e);
|
|
593
609
|
if (loading) return;
|
|
594
610
|
if (!formRef.current) return;
|
|
595
611
|
const formData = new FormData(formRef.current);
|
|
596
612
|
for (const [key, value] of Object.entries(dynamicInputs(formData))) formData.append(key, value);
|
|
613
|
+
if (onSubmitStart?.(formData, formRef.current) === false) return;
|
|
597
614
|
trigger(formData);
|
|
598
615
|
};
|
|
599
616
|
const validationErrors = error?.kind === "validation_error" ? error.messages : {};
|
|
@@ -607,11 +624,11 @@ function Form(props) {
|
|
|
607
624
|
formDataSubject
|
|
608
625
|
},
|
|
609
626
|
children: /* @__PURE__ */ jsxs("form", {
|
|
627
|
+
...formProps,
|
|
610
628
|
className: ["group", className].filter(Boolean).join(" "),
|
|
611
629
|
"data-loading": loading,
|
|
612
|
-
ref:
|
|
630
|
+
ref: setFormRef,
|
|
613
631
|
onSubmit: handleSubmit,
|
|
614
|
-
...formProps,
|
|
615
632
|
children: [/* @__PURE__ */ jsx("input", {
|
|
616
633
|
type: "hidden",
|
|
617
634
|
name: "__csrf",
|
|
@@ -620,6 +637,10 @@ function Form(props) {
|
|
|
620
637
|
})
|
|
621
638
|
});
|
|
622
639
|
}
|
|
640
|
+
function assignRef(ref, value) {
|
|
641
|
+
if (typeof ref === "function") return ref(value);
|
|
642
|
+
if (ref) ref.current = value;
|
|
643
|
+
}
|
|
623
644
|
function useMutationStatus() {
|
|
624
645
|
const { isPending } = useContext(MutationContext);
|
|
625
646
|
return { isPending };
|