@lockerverse/react 0.2.64 → 0.2.66

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/payment.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import { a as LockerversePaymentRecovery, c as LockerversePaymentTheme, i as LockerversePaymentProps, l as LockerversePaymentUncertain, o as LockerversePaymentSelectionItem, r as LockerversePaymentBranding, s as LockerversePaymentStyle, u as LockerverseStripeLoader } from "./types.js";
2
- import { t as LockerversePayment } from "./lockerverse-payment.js";
3
- export { LockerversePayment, type LockerversePaymentBranding, type LockerversePaymentProps, type LockerversePaymentRecovery, type LockerversePaymentSelectionItem, type LockerversePaymentStyle, type LockerversePaymentTheme, type LockerversePaymentUncertain, type LockerverseStripeLoader };
2
+ import { n as preloadLockerversePayment, r as LockerversePayment, t as LockerversePaymentPreloadOptions } from "./preload-lockerverse-payment.js";
3
+ export { LockerversePayment, type LockerversePaymentBranding, type LockerversePaymentPreloadOptions, type LockerversePaymentProps, type LockerversePaymentRecovery, type LockerversePaymentSelectionItem, type LockerversePaymentStyle, type LockerversePaymentTheme, type LockerversePaymentUncertain, type LockerverseStripeLoader, preloadLockerversePayment };
package/dist/payment.js CHANGED
@@ -1 +1 @@
1
- import{t as e}from"./lockerverse-payment.js";export{e as LockerversePayment};
1
+ import{t as e}from"./lockerverse-payment.js";import{t}from"./preload-lockerverse-payment.js";export{e as LockerversePayment,t as preloadLockerversePayment};
@@ -0,0 +1,10 @@
1
+ import { i as LockerversePaymentProps } from "./types.js";
2
+ //#region src/lockerverse-payment.d.ts
3
+ declare function LockerversePayment({ apiBaseUrl, branding, className, communitySlug, environment, fetch, metadata, onError, onPaymentComplete, onPaymentRecoveryChange, onPaymentUncertain, requestTimeoutMs, resumePayment, selection, sentryDsn, style, stripeLoader, theme, widgetSlug, ...sectionProps }: LockerversePaymentProps): import("react").JSX.Element;
4
+ //#endregion
5
+ //#region src/preload-lockerverse-payment.d.ts
6
+ type LockerversePaymentPreloadOptions = Pick<LockerversePaymentProps, "apiBaseUrl" | "communitySlug" | "environment" | "fetch" | "onError" | "requestTimeoutMs" | "selection" | "sentryDsn" | "stripeLoader" | "widgetSlug">;
7
+ declare function preloadLockerversePayment({ apiBaseUrl, communitySlug, environment, fetch, onError, requestTimeoutMs, selection, sentryDsn, stripeLoader, widgetSlug }: LockerversePaymentPreloadOptions): Promise<void>;
8
+ //#endregion
9
+ export { preloadLockerversePayment as n, LockerversePayment as r, LockerversePaymentPreloadOptions as t };
10
+ //# sourceMappingURL=preload-lockerverse-payment.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preload-lockerverse-payment.d.ts","names":[],"sources":["../src/lockerverse-payment.tsx","../src/preload-lockerverse-payment.ts"],"mappings":";;iBAyiCgB,qBACd,YACA,UACA,WACA,eACA,aACA,OACA,UACA,SACA,mBACA,yBACA,oBACA,kBACA,eACA,WACA,WACA,OACA,cACA,OACA,eACG,gBACF,0CAAuB,IAAA;;;KCljCd,mCAAmC,KAC7C;iBAaoB,4BACpB,YACA,eACA,aACA,OACA,SACA,kBACA,WACA,WACA,cACA,cACC,mCAAmC"}
@@ -0,0 +1,2 @@
1
+ import{i as e,n as t,r as n}from"./lockerverse-payment.js";import{loadStripe as r}from"@stripe/stripe-js";async function i({apiBaseUrl:i,communitySlug:a,environment:o,fetch:s,onError:c,requestTimeoutMs:l,selection:u,sentryDsn:d,stripeLoader:f=r,widgetSlug:p}){let m=t(u);if(!m.success)throw TypeError(m.message);let h=JSON.stringify(m.value),{catalog:g,preparedCheckout:_}=await n({configuration:{apiBaseUrl:i,communitySlug:a,environment:o,fetch:s,requestTimeoutMs:l,sentryDsn:d,widgetSlug:p},onError:c,selection:m.value,selectionKey:h});await e(f,g.payment.publishableKey,_.payment.connectedAccountId)}export{i as t};
2
+ //# sourceMappingURL=preload-lockerverse-payment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preload-lockerverse-payment.js","names":[],"sources":["../src/preload-lockerverse-payment.ts"],"sourcesContent":["import { loadStripe } from \"@stripe/stripe-js\";\nimport {\n type CheckoutConfiguration,\n loadPaymentCheckout,\n} from \"./payment-checkout-resource.ts\";\nimport { parsePaymentSelection } from \"./payment-input.ts\";\nimport { loadPaymentStripe } from \"./payment-stripe-resource.ts\";\nimport type {\n LockerversePaymentProps,\n LockerverseStripeLoader,\n} from \"./types.ts\";\n\nexport type LockerversePaymentPreloadOptions = Pick<\n LockerversePaymentProps,\n | \"apiBaseUrl\"\n | \"communitySlug\"\n | \"environment\"\n | \"fetch\"\n | \"onError\"\n | \"requestTimeoutMs\"\n | \"selection\"\n | \"sentryDsn\"\n | \"stripeLoader\"\n | \"widgetSlug\"\n>;\n\nexport async function preloadLockerversePayment({\n apiBaseUrl,\n communitySlug,\n environment,\n fetch,\n onError,\n requestTimeoutMs,\n selection,\n sentryDsn,\n stripeLoader = loadStripe,\n widgetSlug,\n}: LockerversePaymentPreloadOptions): Promise<void> {\n const parsedSelection = parsePaymentSelection(selection);\n if (!parsedSelection.success) {\n throw new TypeError(parsedSelection.message);\n }\n const selectionKey = JSON.stringify(parsedSelection.value);\n const configuration: CheckoutConfiguration = {\n apiBaseUrl,\n communitySlug,\n environment,\n fetch,\n requestTimeoutMs,\n sentryDsn,\n widgetSlug,\n };\n const { catalog, preparedCheckout } = await loadPaymentCheckout({\n configuration,\n onError,\n selection: parsedSelection.value,\n selectionKey,\n });\n await loadPaymentStripe(\n stripeLoader as LockerverseStripeLoader,\n catalog.payment.publishableKey,\n preparedCheckout.payment.connectedAccountId\n );\n}\n"],"mappings":"0GA0BA,eAAsB,EAA0B,CAC9C,aACA,gBACA,cACA,QACA,UACA,mBACA,YACA,YACA,eAAe,EACf,cACkD,CAClD,IAAM,EAAkB,EAAsB,CAAS,EACvD,GAAI,CAAC,EAAgB,QACnB,MAAU,UAAU,EAAgB,OAAO,EAE7C,IAAM,EAAe,KAAK,UAAU,EAAgB,KAAK,EAUnD,CAAE,UAAS,oBAAqB,MAAM,EAAoB,CAC9D,cAAA,CATA,aACA,gBACA,cACA,QACA,mBACA,YACA,YAGY,EACZ,UACA,UAAW,EAAgB,MAC3B,cACF,CAAC,EACD,MAAM,EACJ,EACA,EAAQ,QAAQ,eAChB,EAAiB,QAAQ,kBAC3B,CACF"}
@@ -0,0 +1,17 @@
1
+ import { CreateLockerverseWidgetOptions, LockerverseCatalog } from "@lockerverse/sdk/checkout";
2
+ //#region src/use-lockerverse-widget.d.ts
3
+ type LockerverseWidgetStatus = "error" | "loading" | "ready";
4
+ type UseLockerverseWidgetResult = {
5
+ catalog: LockerverseCatalog | null;
6
+ community: LockerverseCatalog["community"] | null;
7
+ error: Error | null;
8
+ loading: boolean;
9
+ products: LockerverseCatalog["products"];
10
+ refresh: () => void;
11
+ status: LockerverseWidgetStatus;
12
+ widget: LockerverseCatalog["widget"] | null;
13
+ };
14
+ declare function useLockerverseWidget({ apiBaseUrl, communitySlug, environment, fetch, onError, requestTimeoutMs, sentryDsn, widgetSlug }: CreateLockerverseWidgetOptions): UseLockerverseWidgetResult;
15
+ //#endregion
16
+ export { UseLockerverseWidgetResult as n, useLockerverseWidget as r, LockerverseWidgetStatus as t };
17
+ //# sourceMappingURL=use-lockerverse-widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-lockerverse-widget.d.ts","names":[],"sources":["../src/use-lockerverse-widget.ts"],"mappings":";;KASY;KAEA;EACV,SAAS;EACT,WAAW;EACX,OAAO;EACP;EACA,UAAU;EACV;EACA,QAAQ;EACR,QAAQ;;iBAoBM,uBACd,YACA,eACA,aACA,OACA,SACA,kBACA,WACA,cACC,iCAAiC"}
@@ -0,0 +1,2 @@
1
+ import{createLockerverseCheckoutClient as e}from"@lockerverse/sdk/checkout";import{useCallback as t,useEffect as n,useMemo as r,useRef as i,useState as a}from"react";const o=Object.freeze([]);function s(e){return e instanceof Error?e:Error(`Unable to load the Lockerverse widget.`)}function c({apiBaseUrl:c,communitySlug:l,environment:u,fetch:d,onError:f,requestTimeoutMs:p,sentryDsn:m,widgetSlug:h}){let g=r(()=>({...c===void 0?{}:{apiBaseUrl:c},communitySlug:l,...u===void 0?{}:{environment:u},...d===void 0?{}:{fetch:d},...p===void 0?{}:{requestTimeoutMs:p},...m===void 0?{}:{sentryDsn:m},widgetSlug:h}),[c,l,u,d,p,m,h]),[_,v]=a(0),[y,b]=a({catalog:null,configuration:null,error:null,status:`loading`}),x=i(f);x.current=f,n(()=>{let t=!0;b({catalog:null,configuration:g,error:null,status:`loading`});async function n(){try{let n=await e({...g,onError:e=>x.current?.(e)}).load();t&&b({catalog:n,configuration:g,error:null,status:`ready`})}catch(e){t&&b({catalog:null,configuration:g,error:s(e),status:`error`})}}return n(),()=>{t=!1}},[g,_]);let S=t(()=>{b({catalog:null,configuration:g,error:null,status:`loading`}),v(e=>e+1)},[g]),C=y.configuration===g?y:null,w=C?.catalog??null,T=C?.status??`loading`;return{catalog:w,community:w?.community??null,error:C?.error??null,loading:T===`loading`,products:w?.products??o,refresh:S,status:T,widget:w?.widget??null}}export{c as t};
2
+ //# sourceMappingURL=use-lockerverse-widget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-lockerverse-widget.js","names":[],"sources":["../src/use-lockerverse-widget.ts"],"sourcesContent":["import type {\n CreateLockerverseWidgetOptions,\n LockerverseCatalog,\n} from \"@lockerverse/sdk/checkout\";\nimport { createLockerverseCheckoutClient } from \"@lockerverse/sdk/checkout\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\ntype WidgetConfiguration = Omit<CreateLockerverseWidgetOptions, \"onError\">;\n\nexport type LockerverseWidgetStatus = \"error\" | \"loading\" | \"ready\";\n\nexport type UseLockerverseWidgetResult = {\n catalog: LockerverseCatalog | null;\n community: LockerverseCatalog[\"community\"] | null;\n error: Error | null;\n loading: boolean;\n products: LockerverseCatalog[\"products\"];\n refresh: () => void;\n status: LockerverseWidgetStatus;\n widget: LockerverseCatalog[\"widget\"] | null;\n};\n\ntype WidgetLoadState = {\n catalog: LockerverseCatalog | null;\n configuration: WidgetConfiguration | null;\n error: Error | null;\n status: LockerverseWidgetStatus;\n};\n\nconst EMPTY_PRODUCTS = Object.freeze(\n []\n) as unknown as LockerverseCatalog[\"products\"];\n\nfunction toError(error: unknown) {\n return error instanceof Error\n ? error\n : new Error(\"Unable to load the Lockerverse widget.\");\n}\n\nexport function useLockerverseWidget({\n apiBaseUrl,\n communitySlug,\n environment,\n fetch,\n onError,\n requestTimeoutMs,\n sentryDsn,\n widgetSlug,\n}: CreateLockerverseWidgetOptions): UseLockerverseWidgetResult {\n const configuration = useMemo<WidgetConfiguration>(\n () => ({\n ...(apiBaseUrl === undefined ? {} : { apiBaseUrl }),\n communitySlug,\n ...(environment === undefined ? {} : { environment }),\n ...(fetch === undefined ? {} : { fetch }),\n ...(requestTimeoutMs === undefined ? {} : { requestTimeoutMs }),\n ...(sentryDsn === undefined ? {} : { sentryDsn }),\n widgetSlug,\n }),\n [\n apiBaseUrl,\n communitySlug,\n environment,\n fetch,\n requestTimeoutMs,\n sentryDsn,\n widgetSlug,\n ]\n );\n const [revision, setRevision] = useState(0);\n const [state, setState] = useState<WidgetLoadState>({\n catalog: null,\n configuration: null,\n error: null,\n status: \"loading\",\n });\n const onErrorRef = useRef(onError);\n onErrorRef.current = onError;\n\n useEffect(() => {\n let active = true;\n setState({\n catalog: null,\n configuration,\n error: null,\n status: \"loading\",\n });\n\n async function loadWidget() {\n try {\n const client = createLockerverseCheckoutClient({\n ...configuration,\n onError: (error) => onErrorRef.current?.(error),\n });\n const catalog = await client.load();\n if (active) {\n setState({\n catalog,\n configuration,\n error: null,\n status: \"ready\",\n });\n }\n } catch (error) {\n if (active) {\n setState({\n catalog: null,\n configuration,\n error: toError(error),\n status: \"error\",\n });\n }\n }\n }\n\n loadWidget();\n return () => {\n active = false;\n };\n }, [configuration, revision]);\n\n const refresh = useCallback(() => {\n setState({\n catalog: null,\n configuration,\n error: null,\n status: \"loading\",\n });\n setRevision((value) => value + 1);\n }, [configuration]);\n const current = state.configuration === configuration ? state : null;\n const catalog = current?.catalog ?? null;\n const status = current?.status ?? \"loading\";\n\n return {\n catalog,\n community: catalog?.community ?? null,\n error: current?.error ?? null,\n loading: status === \"loading\",\n products: catalog?.products ?? EMPTY_PRODUCTS,\n refresh,\n status,\n widget: catalog?.widget ?? null,\n };\n}\n"],"mappings":"sKA6BA,MAAM,EAAiB,OAAO,OAC5B,CAAC,CACH,EAEA,SAAS,EAAQ,EAAgB,CAC/B,OAAO,aAAiB,MACpB,EACI,MAAM,wCAAwC,CACxD,CAEA,SAAgB,EAAqB,CACnC,aACA,gBACA,cACA,QACA,UACA,mBACA,YACA,cAC6D,CAC7D,IAAM,EAAgB,OACb,CACL,GAAI,IAAe,IAAA,GAAY,CAAC,EAAI,CAAE,YAAW,EACjD,gBACA,GAAI,IAAgB,IAAA,GAAY,CAAC,EAAI,CAAE,aAAY,EACnD,GAAI,IAAU,IAAA,GAAY,CAAC,EAAI,CAAE,OAAM,EACvC,GAAI,IAAqB,IAAA,GAAY,CAAC,EAAI,CAAE,kBAAiB,EAC7D,GAAI,IAAc,IAAA,GAAY,CAAC,EAAI,CAAE,WAAU,EAC/C,YACF,GACA,CACE,EACA,EACA,EACA,EACA,EACA,EACA,CACF,CACF,EACM,CAAC,EAAU,GAAe,EAAS,CAAC,EACpC,CAAC,EAAO,GAAY,EAA0B,CAClD,QAAS,KACT,cAAe,KACf,MAAO,KACP,OAAQ,SACV,CAAC,EACK,EAAa,EAAO,CAAO,EACjC,EAAW,QAAU,EAErB,MAAgB,CACd,IAAI,EAAS,GACb,EAAS,CACP,QAAS,KACT,gBACA,MAAO,KACP,OAAQ,SACV,CAAC,EAED,eAAe,GAAa,CAC1B,GAAI,CAKF,IAAM,EAAU,MAJD,EAAgC,CAC7C,GAAG,EACH,QAAU,GAAU,EAAW,UAAU,CAAK,CAChD,CAC2B,CAAC,CAAC,KAAK,EAC9B,GACF,EAAS,CACP,UACA,gBACA,MAAO,KACP,OAAQ,OACV,CAAC,CAEL,OAAS,EAAO,CACV,GACF,EAAS,CACP,QAAS,KACT,gBACA,MAAO,EAAQ,CAAK,EACpB,OAAQ,OACV,CAAC,CAEL,CACF,CAGA,OADA,EAAW,MACE,CACX,EAAS,EACX,CACF,EAAG,CAAC,EAAe,CAAQ,CAAC,EAE5B,IAAM,EAAU,MAAkB,CAChC,EAAS,CACP,QAAS,KACT,gBACA,MAAO,KACP,OAAQ,SACV,CAAC,EACD,EAAa,GAAU,EAAQ,CAAC,CAClC,EAAG,CAAC,CAAa,CAAC,EACZ,EAAU,EAAM,gBAAkB,EAAgB,EAAQ,KAC1D,EAAU,GAAS,SAAW,KAC9B,EAAS,GAAS,QAAU,UAElC,MAAO,CACL,UACA,UAAW,GAAS,WAAa,KACjC,MAAO,GAAS,OAAS,KACzB,QAAS,IAAW,UACpB,SAAU,GAAS,UAAY,EAC/B,UACA,SACA,OAAQ,GAAS,QAAU,IAC7B,CACF"}
@@ -0,0 +1,2 @@
1
+ import { n as UseLockerverseWidgetResult, r as useLockerverseWidget, t as LockerverseWidgetStatus } from "./use-lockerverse-widget.js";
2
+ export { type LockerverseWidgetStatus, type UseLockerverseWidgetResult, useLockerverseWidget };
package/dist/widget.js ADDED
@@ -0,0 +1 @@
1
+ import{t as e}from"./use-lockerverse-widget.js";export{e as useLockerverseWidget};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lockerverse/react",
3
- "version": "0.2.64",
3
+ "version": "0.2.66",
4
4
  "description": "Tree-shakable React payment and signup UI for Lockerverse",
5
5
  "repository": {
6
6
  "type": "git",
@@ -33,6 +33,11 @@
33
33
  "import": "./dist/signup.js",
34
34
  "default": "./dist/signup.js"
35
35
  },
36
+ "./widget": {
37
+ "types": "./dist/widget.d.ts",
38
+ "import": "./dist/widget.js",
39
+ "default": "./dist/widget.js"
40
+ },
36
41
  "./styles.css": {
37
42
  "types": "./dist/styles.d.ts",
38
43
  "default": "./dist/styles.css"
@@ -55,7 +60,7 @@
55
60
  "dependencies": {
56
61
  "@base-ui/react": "1.6.0",
57
62
  "valibot": "1.4.2",
58
- "@lockerverse/sdk": "0.2.64"
63
+ "@lockerverse/sdk": "0.2.66"
59
64
  },
60
65
  "devDependencies": {
61
66
  "@size-limit/file": "13.0.3",
@@ -95,10 +100,11 @@
95
100
  "size-limit": [
96
101
  {
97
102
  "name": "React payment UI",
98
- "limit": "12 kB",
103
+ "limit": "13 kB",
99
104
  "path": [
100
105
  "dist/payment.js",
101
106
  "dist/lockerverse-payment.js",
107
+ "dist/preload-lockerverse-payment.js",
102
108
  "dist/contact-validation.js"
103
109
  ]
104
110
  },
@@ -125,6 +131,14 @@
125
131
  "dist/contact-validation.js"
126
132
  ]
127
133
  },
134
+ {
135
+ "name": "React widget data",
136
+ "limit": "2 kB",
137
+ "path": [
138
+ "dist/widget.js",
139
+ "dist/use-lockerverse-widget.js"
140
+ ]
141
+ },
128
142
  {
129
143
  "name": "React signup styles",
130
144
  "limit": "4 kB",
@@ -1,6 +0,0 @@
1
- import { i as LockerversePaymentProps } from "./types.js";
2
- //#region src/lockerverse-payment.d.ts
3
- declare function LockerversePayment({ apiBaseUrl, branding, className, communitySlug, environment, fetch, metadata, onError, onPaymentComplete, onPaymentRecoveryChange, onPaymentUncertain, requestTimeoutMs, resumePayment, selection, sentryDsn, style, stripeLoader, theme, widgetSlug, ...sectionProps }: LockerversePaymentProps): import("react").JSX.Element;
4
- //#endregion
5
- export { LockerversePayment as t };
6
- //# sourceMappingURL=lockerverse-payment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lockerverse-payment.d.ts","names":[],"sources":["../src/lockerverse-payment.tsx"],"mappings":";;iBAuiCgB,qBACd,YACA,UACA,WACA,eACA,aACA,OACA,UACA,SACA,mBACA,yBACA,oBACA,kBACA,eACA,WACA,WACA,OACA,cACA,OACA,eACG,gBACF,0CAAuB,IAAA"}