@flamingo-stack/openframe-frontend-core 0.0.672 → 0.0.673-2406.7238.1
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/{chunk-PSL2WBEO.cjs → chunk-26NSIJMT.cjs} +33 -33
- package/dist/{chunk-PSL2WBEO.cjs.map → chunk-26NSIJMT.cjs.map} +1 -1
- package/dist/{chunk-UOQRNZIB.cjs → chunk-6QUKYN4K.cjs} +17 -17
- package/dist/{chunk-UOQRNZIB.cjs.map → chunk-6QUKYN4K.cjs.map} +1 -1
- package/dist/{chunk-AL4I5HHB.js → chunk-BF7GZ6BS.js} +4 -4
- package/dist/{chunk-CBCETEB4.cjs → chunk-DRURJCEY.cjs} +6 -6
- package/dist/{chunk-CBCETEB4.cjs.map → chunk-DRURJCEY.cjs.map} +1 -1
- package/dist/{chunk-GV7R2NTS.cjs → chunk-G262S3Q5.cjs} +23 -23
- package/dist/{chunk-GV7R2NTS.cjs.map → chunk-G262S3Q5.cjs.map} +1 -1
- package/dist/{chunk-HVEX4BSC.cjs → chunk-HJ532KQR.cjs} +60 -45
- package/dist/chunk-HJ532KQR.cjs.map +1 -0
- package/dist/{chunk-TQPKNG2E.js → chunk-HRM6242Y.js} +3 -3
- package/dist/{chunk-HOEVEB7N.cjs → chunk-IFQMIYFO.cjs} +50 -23
- package/dist/chunk-IFQMIYFO.cjs.map +1 -0
- package/dist/{chunk-Z6E45TJM.js → chunk-IG7M3XKX.js} +5 -5
- package/dist/{chunk-EKABOXNB.js → chunk-II6ABVLK.js} +2 -2
- package/dist/{chunk-ZRIVCLPR.js → chunk-JD5TKRCU.js} +1 -1
- package/dist/chunk-JD5TKRCU.js.map +1 -0
- package/dist/{chunk-SNWAN52K.cjs → chunk-K365MY6G.cjs} +3 -3
- package/dist/{chunk-SNWAN52K.cjs.map → chunk-K365MY6G.cjs.map} +1 -1
- package/dist/{chunk-NETIHUEY.cjs → chunk-KV7W5T6U.cjs} +10 -10
- package/dist/{chunk-NETIHUEY.cjs.map → chunk-KV7W5T6U.cjs.map} +1 -1
- package/dist/{chunk-H54F476P.cjs → chunk-KYF5EONP.cjs} +3 -3
- package/dist/{chunk-H54F476P.cjs.map → chunk-KYF5EONP.cjs.map} +1 -1
- package/dist/{chunk-D55IENZJ.cjs → chunk-LCMT2GZK.cjs} +1 -1
- package/dist/chunk-LCMT2GZK.cjs.map +1 -0
- package/dist/{chunk-TFSGYKWG.js → chunk-LMUZZUYC.js} +34 -7
- package/dist/chunk-LMUZZUYC.js.map +1 -0
- package/dist/{chunk-XLJNYTUW.cjs → chunk-N6TC6IPV.cjs} +56 -55
- package/dist/chunk-N6TC6IPV.cjs.map +1 -0
- package/dist/{chunk-IBGHJLNT.js → chunk-OGOMAK7B.js} +2 -2
- package/dist/{chunk-PWPYCJ33.js → chunk-P4GUIOLP.js} +2 -2
- package/dist/{chunk-7KM34VWL.js → chunk-RRU46J3N.js} +3 -3
- package/dist/{chunk-RD3I5PBB.cjs → chunk-THSIFQGS.cjs} +15 -15
- package/dist/{chunk-RD3I5PBB.cjs.map → chunk-THSIFQGS.cjs.map} +1 -1
- package/dist/{chunk-4AZWVS7F.js → chunk-TTHBFT7Q.js} +7 -6
- package/dist/{chunk-4AZWVS7F.js.map → chunk-TTHBFT7Q.js.map} +1 -1
- package/dist/{chunk-YNGAJGYB.cjs → chunk-TZP2OXHG.cjs} +346 -6
- package/dist/chunk-TZP2OXHG.cjs.map +1 -0
- package/dist/{chunk-VZRVQEMT.cjs → chunk-U2H3C4NT.cjs} +7 -7
- package/dist/{chunk-VZRVQEMT.cjs.map → chunk-U2H3C4NT.cjs.map} +1 -1
- package/dist/{chunk-KSBDARII.js → chunk-UFMXQKVT.js} +5 -5
- package/dist/{chunk-42OVTTOM.js → chunk-UMTXGEPU.js} +18 -3
- package/dist/{chunk-42OVTTOM.js.map → chunk-UMTXGEPU.js.map} +1 -1
- package/dist/{chunk-3PVOF3IB.js → chunk-UTHZ7DLN.js} +343 -3
- package/dist/{chunk-3PVOF3IB.js.map → chunk-UTHZ7DLN.js.map} +1 -1
- package/dist/{chunk-UUOBCUHW.cjs → chunk-UXT5EK27.cjs} +3 -3
- package/dist/{chunk-UUOBCUHW.cjs.map → chunk-UXT5EK27.cjs.map} +1 -1
- package/dist/{chunk-T3KXCOB2.js → chunk-VK5737GE.js} +2 -2
- package/dist/{chunk-O5PYXQ6H.js → chunk-VKLM5UKG.js} +3 -3
- package/dist/{chunk-6S2KLT7O.js → chunk-X2DR3XNN.js} +4 -4
- package/dist/{chunk-JREG4T6K.cjs → chunk-YCYOZAB5.cjs} +3 -3
- package/dist/{chunk-JREG4T6K.cjs.map → chunk-YCYOZAB5.cjs.map} +1 -1
- package/dist/{chunk-XDTU23P4.js → chunk-YWQVL5VJ.js} +2 -2
- package/dist/{chunk-BODMICIH.cjs → chunk-Z5K4IQZU.cjs} +40 -40
- package/dist/{chunk-BODMICIH.cjs.map → chunk-Z5K4IQZU.cjs.map} +1 -1
- package/dist/components/case-studies/index.cjs +15 -14
- package/dist/components/case-studies/index.cjs.map +1 -1
- package/dist/components/case-studies/index.js +6 -5
- package/dist/components/case-studies/index.js.map +1 -1
- package/dist/components/case-studies/share-experience-section.d.ts.map +1 -1
- package/dist/components/contact/contact-form.d.ts +6 -1
- package/dist/components/contact/contact-form.d.ts.map +1 -1
- package/dist/components/contact/index.cjs +5 -5
- package/dist/components/contact/index.js +4 -4
- package/dist/components/docs/index.cjs +8 -8
- package/dist/components/docs/index.js +7 -7
- package/dist/components/embeds/index.cjs +5 -5
- package/dist/components/embeds/index.js +4 -4
- package/dist/components/faq/index.cjs +5 -5
- package/dist/components/faq/index.js +4 -4
- package/dist/components/features/index.cjs +4 -4
- package/dist/components/features/index.js +3 -3
- package/dist/components/features/waitlist-form.d.ts +7 -2
- package/dist/components/features/waitlist-form.d.ts.map +1 -1
- package/dist/components/help-center-pages/index.cjs +53 -52
- package/dist/components/help-center-pages/index.cjs.map +1 -1
- package/dist/components/help-center-pages/index.js +16 -15
- package/dist/components/help-center-pages/index.js.map +1 -1
- package/dist/components/help-center-pages/trust-center-sections.d.ts.map +1 -1
- package/dist/components/index.cjs +35 -35
- package/dist/components/index.js +14 -14
- package/dist/components/meeting-scheduler/booking-form.d.ts +4 -1
- package/dist/components/meeting-scheduler/booking-form.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.cjs +72 -37
- package/dist/components/meeting-scheduler/index.cjs.map +1 -1
- package/dist/components/meeting-scheduler/index.d.ts +5 -1
- package/dist/components/meeting-scheduler/index.d.ts.map +1 -1
- package/dist/components/meeting-scheduler/index.js +45 -10
- package/dist/components/meeting-scheduler/index.js.map +1 -1
- package/dist/components/navigation/index.cjs +7 -7
- package/dist/components/navigation/index.js +6 -6
- package/dist/components/onboarding-guides/index.cjs +7 -7
- package/dist/components/onboarding-guides/index.js +6 -6
- package/dist/components/tickets/help-center-create-form.d.ts.map +1 -1
- package/dist/components/tickets/index.cjs +8 -8
- package/dist/components/tickets/index.js +7 -7
- package/dist/components/ui/index.cjs +4 -4
- package/dist/components/ui/index.js +3 -3
- package/dist/contexts/endpoints-runtime-context.d.ts +5 -0
- package/dist/contexts/endpoints-runtime-context.d.ts.map +1 -1
- package/dist/contexts/index.cjs +2 -2
- package/dist/contexts/index.js +1 -1
- package/dist/hooks/index.cjs +5 -3
- package/dist/hooks/index.cjs.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +4 -2
- package/dist/hooks/use-form-rescue.d.ts +37 -0
- package/dist/hooks/use-form-rescue.d.ts.map +1 -0
- package/dist/index.cjs +52 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +51 -7
- package/dist/index.js.map +1 -1
- package/dist/utils/form-rescue.cjs +123 -0
- package/dist/utils/form-rescue.cjs.map +1 -0
- package/dist/utils/form-rescue.d.ts +105 -0
- package/dist/utils/form-rescue.d.ts.map +1 -0
- package/dist/utils/form-rescue.js +101 -0
- package/dist/utils/form-rescue.js.map +1 -0
- package/dist/utils/index.cjs +119 -0
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +99 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +7 -1
- package/src/components/case-studies/share-experience-section.tsx +1 -0
- package/src/components/contact/contact-form.tsx +38 -2
- package/src/components/features/waitlist-form.tsx +27 -2
- package/src/components/help-center-pages/trust-center-sections.tsx +1 -0
- package/src/components/meeting-scheduler/booking-form.tsx +14 -0
- package/src/components/meeting-scheduler/index.tsx +38 -3
- package/src/components/tickets/help-center-create-form.tsx +2 -0
- package/src/contexts/endpoints-runtime-context.tsx +5 -0
- package/src/hooks/__tests__/use-form-rescue.test.tsx +189 -0
- package/src/hooks/index.ts +3 -0
- package/src/hooks/use-form-rescue.ts +315 -0
- package/src/utils/__tests__/form-rescue.test.ts +106 -0
- package/src/utils/form-rescue.ts +198 -0
- package/src/utils/index.ts +5 -0
- package/dist/chunk-D55IENZJ.cjs.map +0 -1
- package/dist/chunk-HOEVEB7N.cjs.map +0 -1
- package/dist/chunk-HVEX4BSC.cjs.map +0 -1
- package/dist/chunk-TFSGYKWG.js.map +0 -1
- package/dist/chunk-XLJNYTUW.cjs.map +0 -1
- package/dist/chunk-YNGAJGYB.cjs.map +0 -1
- package/dist/chunk-ZRIVCLPR.js.map +0 -1
- /package/dist/{chunk-AL4I5HHB.js.map → chunk-BF7GZ6BS.js.map} +0 -0
- /package/dist/{chunk-TQPKNG2E.js.map → chunk-HRM6242Y.js.map} +0 -0
- /package/dist/{chunk-Z6E45TJM.js.map → chunk-IG7M3XKX.js.map} +0 -0
- /package/dist/{chunk-EKABOXNB.js.map → chunk-II6ABVLK.js.map} +0 -0
- /package/dist/{chunk-IBGHJLNT.js.map → chunk-OGOMAK7B.js.map} +0 -0
- /package/dist/{chunk-PWPYCJ33.js.map → chunk-P4GUIOLP.js.map} +0 -0
- /package/dist/{chunk-7KM34VWL.js.map → chunk-RRU46J3N.js.map} +0 -0
- /package/dist/{chunk-KSBDARII.js.map → chunk-UFMXQKVT.js.map} +0 -0
- /package/dist/{chunk-T3KXCOB2.js.map → chunk-VK5737GE.js.map} +0 -0
- /package/dist/{chunk-O5PYXQ6H.js.map → chunk-VKLM5UKG.js.map} +0 -0
- /package/dist/{chunk-6S2KLT7O.js.map → chunk-X2DR3XNN.js.map} +0 -0
- /package/dist/{chunk-XDTU23P4.js.map → chunk-YWQVL5VJ.js.map} +0 -0
package/dist/hooks/index.js
CHANGED
|
@@ -32,6 +32,7 @@ import {
|
|
|
32
32
|
useDeferredError,
|
|
33
33
|
useDragAndDropEnabled,
|
|
34
34
|
useFocusTrap,
|
|
35
|
+
useFormRescue,
|
|
35
36
|
useHorizontalScrollbar,
|
|
36
37
|
useHumanitySignals,
|
|
37
38
|
useKeyboardCollisionPadding,
|
|
@@ -54,8 +55,8 @@ import {
|
|
|
54
55
|
validateSchema,
|
|
55
56
|
validateVariables,
|
|
56
57
|
variablesToUrlParams
|
|
57
|
-
} from "../chunk-
|
|
58
|
-
import "../chunk-
|
|
58
|
+
} from "../chunk-UTHZ7DLN.js";
|
|
59
|
+
import "../chunk-JD5TKRCU.js";
|
|
59
60
|
import {
|
|
60
61
|
createSearchParams,
|
|
61
62
|
shouldIncludeInUrl
|
|
@@ -136,6 +137,7 @@ export {
|
|
|
136
137
|
useDeferredError,
|
|
137
138
|
useDragAndDropEnabled,
|
|
138
139
|
useFocusTrap,
|
|
140
|
+
useFormRescue,
|
|
139
141
|
useHeaderHeight,
|
|
140
142
|
useHorizontalScrollbar,
|
|
141
143
|
useHumanitySignals,
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { type FormRescueFormId } from '../utils/form-rescue';
|
|
2
|
+
export interface UseFormRescueOptions {
|
|
3
|
+
/** Which form this is; `null` turns rescue off (e.g. a signed-in ticket form). */
|
|
4
|
+
formId: FormRescueFormId | null;
|
|
5
|
+
/** Every field the visitor can see. Hidden fields are never listed, so never sent. */
|
|
6
|
+
fieldNames: readonly string[];
|
|
7
|
+
/** Called once after mount with values from a resume link, else from this device's local draft. */
|
|
8
|
+
onRestore?: (values: Record<string, string>) => void;
|
|
9
|
+
/** The form's humanity signals, so the draft endpoint can run the same bot gate as the submit. */
|
|
10
|
+
getSignals?: () => Record<string, string | number>;
|
|
11
|
+
}
|
|
12
|
+
export interface FormRescueHandle {
|
|
13
|
+
/** Report the form's current values after a change (`lastField` = the field just edited). */
|
|
14
|
+
track: (values: Record<string, unknown>, lastField?: string | null) => void;
|
|
15
|
+
/** Keys to spread into the SUBMIT body so the host closes this attempt's draft. */
|
|
16
|
+
submitFields: () => Record<string, string>;
|
|
17
|
+
/** Call after a successful submit: clears the local draft and starts a fresh attempt. */
|
|
18
|
+
complete: () => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* useFormRescue — saves a public form's progress so a visitor who leaves
|
|
22
|
+
* before submitting can be followed up with, and restores it when they return.
|
|
23
|
+
*
|
|
24
|
+
* Every public lead form calls it the same way (next to `useHumanitySignals`):
|
|
25
|
+
*
|
|
26
|
+
* const rescue = useFormRescue({ formId: 'contact', fieldNames, onRestore, getSignals })
|
|
27
|
+
* // on change: rescue.track(values, changedField)
|
|
28
|
+
* // submit: body = { ...data, ...getSignals(), ...rescue.submitFields() }
|
|
29
|
+
* // success: rescue.complete()
|
|
30
|
+
*
|
|
31
|
+
* Saves go to the host's `EndpointsRuntime.formDraftsUrl` (debounced, plus one
|
|
32
|
+
* final keepalive save when the tab is hidden). A host that does not provide
|
|
33
|
+
* the url gets the local draft only. Nothing here can block or delay a submit:
|
|
34
|
+
* every network and storage call is fire-and-forget and swallows its errors.
|
|
35
|
+
*/
|
|
36
|
+
export declare function useFormRescue({ formId, fieldNames, onRestore, getSignals }: UseFormRescueOptions): FormRescueHandle;
|
|
37
|
+
//# sourceMappingURL=use-form-rescue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-form-rescue.d.ts","sourceRoot":"","sources":["../../src/hooks/use-form-rescue.ts"],"names":[],"mappings":"AAKA,OAAO,EAgBL,KAAK,gBAAgB,EACtB,MAAM,sBAAsB,CAAC;AAa9B,MAAM,WAAW,oBAAoB;IACnC,kFAAkF;IAClF,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,sFAAsF;IACtF,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,mGAAmG;IACnG,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;IACrD,kGAAkG;IAClG,UAAU,CAAC,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAC/B,6FAA6F;IAC7F,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC5E,mFAAmF;IACnF,YAAY,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,yFAAyF;IACzF,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAwDD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,oBAAoB,GAAG,gBAAgB,CA6LnH"}
|