@greenpay_prod/3ds-react 0.1.1-qa.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.
@@ -0,0 +1,29 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { GreenPay3DSConfig, OrderData, ThreeDSResult } from '@greenpay/3ds-sdk';
3
+ export { GreenPay3DS, GreenPay3DSConfig, GreenPay3DSError, OrderData, ThreeDSCallbacks, ThreeDSPaymentCallbacks, ThreeDSResult, ThreeDSSession } from '@greenpay/3ds-sdk';
4
+
5
+ interface ThreeDSChallengeProps {
6
+ sessionId: string;
7
+ config: GreenPay3DSConfig;
8
+ onSuccess: () => void;
9
+ onFailure?: (error: string) => void;
10
+ onError?: (error: Error | string) => void;
11
+ onStatusChange?: (status: string) => void;
12
+ className?: string;
13
+ children?: React.ReactNode;
14
+ }
15
+ declare function ThreeDSChallenge({ sessionId, config, onSuccess, onFailure, onError, onStatusChange, className, children, }: ThreeDSChallengeProps): react_jsx_runtime.JSX.Element;
16
+
17
+ interface GreenPay3DSPaymentProps {
18
+ config: GreenPay3DSConfig;
19
+ orderData: OrderData;
20
+ onSuccess: (result: ThreeDSResult) => void;
21
+ onFailure?: (error: string) => void;
22
+ onError?: (error: Error | string) => void;
23
+ onStatusChange?: (status: string) => void;
24
+ className?: string;
25
+ children?: React.ReactNode;
26
+ }
27
+ declare function GreenPay3DSPayment({ config, orderData, onSuccess, onFailure, onError, onStatusChange, className, children, }: GreenPay3DSPaymentProps): react_jsx_runtime.JSX.Element;
28
+
29
+ export { GreenPay3DSPayment, type GreenPay3DSPaymentProps, ThreeDSChallenge, type ThreeDSChallengeProps };
@@ -0,0 +1,29 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { GreenPay3DSConfig, OrderData, ThreeDSResult } from '@greenpay/3ds-sdk';
3
+ export { GreenPay3DS, GreenPay3DSConfig, GreenPay3DSError, OrderData, ThreeDSCallbacks, ThreeDSPaymentCallbacks, ThreeDSResult, ThreeDSSession } from '@greenpay/3ds-sdk';
4
+
5
+ interface ThreeDSChallengeProps {
6
+ sessionId: string;
7
+ config: GreenPay3DSConfig;
8
+ onSuccess: () => void;
9
+ onFailure?: (error: string) => void;
10
+ onError?: (error: Error | string) => void;
11
+ onStatusChange?: (status: string) => void;
12
+ className?: string;
13
+ children?: React.ReactNode;
14
+ }
15
+ declare function ThreeDSChallenge({ sessionId, config, onSuccess, onFailure, onError, onStatusChange, className, children, }: ThreeDSChallengeProps): react_jsx_runtime.JSX.Element;
16
+
17
+ interface GreenPay3DSPaymentProps {
18
+ config: GreenPay3DSConfig;
19
+ orderData: OrderData;
20
+ onSuccess: (result: ThreeDSResult) => void;
21
+ onFailure?: (error: string) => void;
22
+ onError?: (error: Error | string) => void;
23
+ onStatusChange?: (status: string) => void;
24
+ className?: string;
25
+ children?: React.ReactNode;
26
+ }
27
+ declare function GreenPay3DSPayment({ config, orderData, onSuccess, onFailure, onError, onStatusChange, className, children, }: GreenPay3DSPaymentProps): react_jsx_runtime.JSX.Element;
28
+
29
+ export { GreenPay3DSPayment, type GreenPay3DSPaymentProps, ThreeDSChallenge, type ThreeDSChallengeProps };
package/dist/index.js ADDED
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/index.ts
21
+ var index_exports = {};
22
+ __export(index_exports, {
23
+ GreenPay3DS: () => import_ds_sdk3.GreenPay3DS,
24
+ GreenPay3DSError: () => import_ds_sdk3.GreenPay3DSError,
25
+ GreenPay3DSPayment: () => GreenPay3DSPayment,
26
+ ThreeDSChallenge: () => ThreeDSChallenge
27
+ });
28
+ module.exports = __toCommonJS(index_exports);
29
+
30
+ // src/ThreeDSChallenge.tsx
31
+ var import_react = require("react");
32
+ var import_ds_sdk = require("@greenpay/3ds-sdk");
33
+ var import_jsx_runtime = require("react/jsx-runtime");
34
+ function ThreeDSChallenge({
35
+ sessionId,
36
+ config,
37
+ onSuccess,
38
+ onFailure,
39
+ onError,
40
+ onStatusChange,
41
+ className,
42
+ children
43
+ }) {
44
+ const [status, setStatus] = (0, import_react.useState)("Initializing...");
45
+ const mountedRef = (0, import_react.useRef)(false);
46
+ const stableConfig = (0, import_react.useMemo)(
47
+ () => config,
48
+ [config.teamId, config.appId]
49
+ );
50
+ const handleStatusChange = (0, import_react.useCallback)(
51
+ (newStatus) => {
52
+ setStatus(newStatus);
53
+ onStatusChange?.(newStatus);
54
+ },
55
+ [onStatusChange]
56
+ );
57
+ (0, import_react.useEffect)(() => {
58
+ if (mountedRef.current || !sessionId) return;
59
+ mountedRef.current = true;
60
+ const sdk = new import_ds_sdk.GreenPay3DS(stableConfig);
61
+ sdk.authenticate(sessionId, {
62
+ onReady: () => handleStatusChange("3DS challenge ready"),
63
+ onStatusChange: handleStatusChange
64
+ }).then(onSuccess).catch((err) => {
65
+ if (err?.code === "AUTHENTICATION_FAILED") {
66
+ onFailure?.(err.message);
67
+ } else {
68
+ onError?.(err);
69
+ }
70
+ });
71
+ }, [sessionId, stableConfig, onSuccess, onFailure, onError, handleStatusChange]);
72
+ if (children) {
73
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className, children });
74
+ }
75
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { children: status }) });
76
+ }
77
+
78
+ // src/GreenPay3DSPayment.tsx
79
+ var import_react2 = require("react");
80
+ var import_ds_sdk2 = require("@greenpay/3ds-sdk");
81
+ var import_jsx_runtime2 = require("react/jsx-runtime");
82
+ function GreenPay3DSPayment({
83
+ config,
84
+ orderData,
85
+ onSuccess,
86
+ onFailure,
87
+ onError,
88
+ onStatusChange,
89
+ className,
90
+ children
91
+ }) {
92
+ const [status, setStatus] = (0, import_react2.useState)("Initializing...");
93
+ const mountedRef = (0, import_react2.useRef)(false);
94
+ const stableConfig = (0, import_react2.useMemo)(
95
+ () => config,
96
+ [config.teamId, config.appId, config.apiUrl]
97
+ );
98
+ const stableOrderData = (0, import_react2.useMemo)(
99
+ () => orderData,
100
+ [
101
+ orderData.cardData.ed,
102
+ orderData.cardData.session,
103
+ orderData.sessionToken,
104
+ orderData.terminalId
105
+ ]
106
+ );
107
+ const handleStatusChange = (0, import_react2.useCallback)(
108
+ (newStatus) => {
109
+ setStatus(newStatus);
110
+ onStatusChange?.(newStatus);
111
+ },
112
+ [onStatusChange]
113
+ );
114
+ (0, import_react2.useEffect)(() => {
115
+ if (mountedRef.current) return;
116
+ mountedRef.current = true;
117
+ const sdk = new import_ds_sdk2.GreenPay3DS(stableConfig);
118
+ sdk.processPayment(stableOrderData, {
119
+ onReady: () => handleStatusChange("3DS challenge ready"),
120
+ onSuccess,
121
+ onStatusChange: handleStatusChange
122
+ }).catch((err) => {
123
+ if (err?.code === "AUTHENTICATION_FAILED") {
124
+ onFailure?.(err.message);
125
+ } else {
126
+ onError?.(err);
127
+ }
128
+ });
129
+ }, [stableConfig, stableOrderData, onSuccess, onFailure, onError, handleStatusChange]);
130
+ if (children) {
131
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className, children });
132
+ }
133
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className, children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("p", { children: status }) });
134
+ }
135
+
136
+ // src/index.ts
137
+ var import_ds_sdk3 = require("@greenpay/3ds-sdk");
138
+ // Annotate the CommonJS export names for ESM import in node:
139
+ 0 && (module.exports = {
140
+ GreenPay3DS,
141
+ GreenPay3DSError,
142
+ GreenPay3DSPayment,
143
+ ThreeDSChallenge
144
+ });
145
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/ThreeDSChallenge.tsx","../src/GreenPay3DSPayment.tsx"],"sourcesContent":["export { ThreeDSChallenge } from './ThreeDSChallenge'\nexport type { ThreeDSChallengeProps } from './ThreeDSChallenge'\n\nexport { GreenPay3DSPayment } from './GreenPay3DSPayment'\nexport type { GreenPay3DSPaymentProps } from './GreenPay3DSPayment'\n\nexport {\n GreenPay3DS,\n GreenPay3DSError,\n type GreenPay3DSConfig,\n type ThreeDSCallbacks,\n type ThreeDSPaymentCallbacks,\n type OrderData,\n type ThreeDSSession,\n type ThreeDSResult,\n} from '@greenpay/3ds-sdk'\n","'use client'\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react'\nimport { GreenPay3DS, type GreenPay3DSConfig } from '@greenpay/3ds-sdk'\n\nexport interface ThreeDSChallengeProps {\n sessionId: string\n config: GreenPay3DSConfig\n onSuccess: () => void\n onFailure?: (error: string) => void\n onError?: (error: Error | string) => void\n onStatusChange?: (status: string) => void\n className?: string\n children?: React.ReactNode\n}\n\nexport function ThreeDSChallenge({\n sessionId,\n config,\n onSuccess,\n onFailure,\n onError,\n onStatusChange,\n className,\n children,\n}: ThreeDSChallengeProps) {\n const [status, setStatus] = useState('Initializing...')\n const mountedRef = useRef(false)\n\n const stableConfig = useMemo(\n () => config,\n [config.teamId, config.appId]\n )\n\n const handleStatusChange = useCallback(\n (newStatus: string) => {\n setStatus(newStatus)\n onStatusChange?.(newStatus)\n },\n [onStatusChange]\n )\n\n useEffect(() => {\n if (mountedRef.current || !sessionId) return\n mountedRef.current = true\n\n const sdk = new GreenPay3DS(stableConfig)\n\n sdk\n .authenticate(sessionId, {\n onReady: () => handleStatusChange('3DS challenge ready'),\n onStatusChange: handleStatusChange,\n })\n .then(onSuccess)\n .catch((err: Error & { code?: string }) => {\n if (err?.code === 'AUTHENTICATION_FAILED') {\n onFailure?.(err.message)\n } else {\n onError?.(err)\n }\n })\n }, [sessionId, stableConfig, onSuccess, onFailure, onError, handleStatusChange])\n\n if (children) {\n return <div className={className}>{children}</div>\n }\n\n return (\n <div className={className}>\n <p>{status}</p>\n </div>\n )\n}\n","'use client'\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react'\nimport {\n GreenPay3DS,\n type GreenPay3DSConfig,\n type OrderData,\n type ThreeDSResult,\n} from '@greenpay/3ds-sdk'\n\nexport interface GreenPay3DSPaymentProps {\n config: GreenPay3DSConfig\n orderData: OrderData\n onSuccess: (result: ThreeDSResult) => void\n onFailure?: (error: string) => void\n onError?: (error: Error | string) => void\n onStatusChange?: (status: string) => void\n className?: string\n children?: React.ReactNode\n}\n\nexport function GreenPay3DSPayment({\n config,\n orderData,\n onSuccess,\n onFailure,\n onError,\n onStatusChange,\n className,\n children,\n}: GreenPay3DSPaymentProps) {\n const [status, setStatus] = useState('Initializing...')\n const mountedRef = useRef(false)\n\n const stableConfig = useMemo(\n () => config,\n [config.teamId, config.appId, config.apiUrl]\n )\n\n const stableOrderData = useMemo(\n () => orderData,\n [\n orderData.cardData.ed,\n orderData.cardData.session,\n orderData.sessionToken,\n orderData.terminalId,\n ]\n )\n\n const handleStatusChange = useCallback(\n (newStatus: string) => {\n setStatus(newStatus)\n onStatusChange?.(newStatus)\n },\n [onStatusChange]\n )\n\n useEffect(() => {\n if (mountedRef.current) return\n mountedRef.current = true\n\n const sdk = new GreenPay3DS(stableConfig)\n\n sdk\n .processPayment(stableOrderData, {\n onReady: () => handleStatusChange('3DS challenge ready'),\n onSuccess,\n onStatusChange: handleStatusChange,\n })\n .catch((err: Error & { code?: string }) => {\n if (err?.code === 'AUTHENTICATION_FAILED') {\n onFailure?.(err.message)\n } else {\n onError?.(err)\n }\n })\n }, [stableConfig, stableOrderData, onSuccess, onFailure, onError, handleStatusChange])\n\n if (children) {\n return <div className={className}>{children}</div>\n }\n\n return (\n <div className={className}>\n <p>{status}</p>\n </div>\n )\n}\n"],"mappings":"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","names":["import_react","import_ds_sdk","import_jsx_runtime","import_ds_sdk"]}
package/dist/index.mjs ADDED
@@ -0,0 +1,120 @@
1
+ // src/ThreeDSChallenge.tsx
2
+ import { useEffect, useRef, useState, useCallback, useMemo } from "react";
3
+ import { GreenPay3DS } from "@greenpay/3ds-sdk";
4
+ import { jsx } from "react/jsx-runtime";
5
+ function ThreeDSChallenge({
6
+ sessionId,
7
+ config,
8
+ onSuccess,
9
+ onFailure,
10
+ onError,
11
+ onStatusChange,
12
+ className,
13
+ children
14
+ }) {
15
+ const [status, setStatus] = useState("Initializing...");
16
+ const mountedRef = useRef(false);
17
+ const stableConfig = useMemo(
18
+ () => config,
19
+ [config.teamId, config.appId]
20
+ );
21
+ const handleStatusChange = useCallback(
22
+ (newStatus) => {
23
+ setStatus(newStatus);
24
+ onStatusChange?.(newStatus);
25
+ },
26
+ [onStatusChange]
27
+ );
28
+ useEffect(() => {
29
+ if (mountedRef.current || !sessionId) return;
30
+ mountedRef.current = true;
31
+ const sdk = new GreenPay3DS(stableConfig);
32
+ sdk.authenticate(sessionId, {
33
+ onReady: () => handleStatusChange("3DS challenge ready"),
34
+ onStatusChange: handleStatusChange
35
+ }).then(onSuccess).catch((err) => {
36
+ if (err?.code === "AUTHENTICATION_FAILED") {
37
+ onFailure?.(err.message);
38
+ } else {
39
+ onError?.(err);
40
+ }
41
+ });
42
+ }, [sessionId, stableConfig, onSuccess, onFailure, onError, handleStatusChange]);
43
+ if (children) {
44
+ return /* @__PURE__ */ jsx("div", { className, children });
45
+ }
46
+ return /* @__PURE__ */ jsx("div", { className, children: /* @__PURE__ */ jsx("p", { children: status }) });
47
+ }
48
+
49
+ // src/GreenPay3DSPayment.tsx
50
+ import { useEffect as useEffect2, useRef as useRef2, useState as useState2, useCallback as useCallback2, useMemo as useMemo2 } from "react";
51
+ import {
52
+ GreenPay3DS as GreenPay3DS2
53
+ } from "@greenpay/3ds-sdk";
54
+ import { jsx as jsx2 } from "react/jsx-runtime";
55
+ function GreenPay3DSPayment({
56
+ config,
57
+ orderData,
58
+ onSuccess,
59
+ onFailure,
60
+ onError,
61
+ onStatusChange,
62
+ className,
63
+ children
64
+ }) {
65
+ const [status, setStatus] = useState2("Initializing...");
66
+ const mountedRef = useRef2(false);
67
+ const stableConfig = useMemo2(
68
+ () => config,
69
+ [config.teamId, config.appId, config.apiUrl]
70
+ );
71
+ const stableOrderData = useMemo2(
72
+ () => orderData,
73
+ [
74
+ orderData.cardData.ed,
75
+ orderData.cardData.session,
76
+ orderData.sessionToken,
77
+ orderData.terminalId
78
+ ]
79
+ );
80
+ const handleStatusChange = useCallback2(
81
+ (newStatus) => {
82
+ setStatus(newStatus);
83
+ onStatusChange?.(newStatus);
84
+ },
85
+ [onStatusChange]
86
+ );
87
+ useEffect2(() => {
88
+ if (mountedRef.current) return;
89
+ mountedRef.current = true;
90
+ const sdk = new GreenPay3DS2(stableConfig);
91
+ sdk.processPayment(stableOrderData, {
92
+ onReady: () => handleStatusChange("3DS challenge ready"),
93
+ onSuccess,
94
+ onStatusChange: handleStatusChange
95
+ }).catch((err) => {
96
+ if (err?.code === "AUTHENTICATION_FAILED") {
97
+ onFailure?.(err.message);
98
+ } else {
99
+ onError?.(err);
100
+ }
101
+ });
102
+ }, [stableConfig, stableOrderData, onSuccess, onFailure, onError, handleStatusChange]);
103
+ if (children) {
104
+ return /* @__PURE__ */ jsx2("div", { className, children });
105
+ }
106
+ return /* @__PURE__ */ jsx2("div", { className, children: /* @__PURE__ */ jsx2("p", { children: status }) });
107
+ }
108
+
109
+ // src/index.ts
110
+ import {
111
+ GreenPay3DS as GreenPay3DS3,
112
+ GreenPay3DSError
113
+ } from "@greenpay/3ds-sdk";
114
+ export {
115
+ GreenPay3DS3 as GreenPay3DS,
116
+ GreenPay3DSError,
117
+ GreenPay3DSPayment,
118
+ ThreeDSChallenge
119
+ };
120
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ThreeDSChallenge.tsx","../src/GreenPay3DSPayment.tsx","../src/index.ts"],"sourcesContent":["'use client'\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react'\nimport { GreenPay3DS, type GreenPay3DSConfig } from '@greenpay/3ds-sdk'\n\nexport interface ThreeDSChallengeProps {\n sessionId: string\n config: GreenPay3DSConfig\n onSuccess: () => void\n onFailure?: (error: string) => void\n onError?: (error: Error | string) => void\n onStatusChange?: (status: string) => void\n className?: string\n children?: React.ReactNode\n}\n\nexport function ThreeDSChallenge({\n sessionId,\n config,\n onSuccess,\n onFailure,\n onError,\n onStatusChange,\n className,\n children,\n}: ThreeDSChallengeProps) {\n const [status, setStatus] = useState('Initializing...')\n const mountedRef = useRef(false)\n\n const stableConfig = useMemo(\n () => config,\n [config.teamId, config.appId]\n )\n\n const handleStatusChange = useCallback(\n (newStatus: string) => {\n setStatus(newStatus)\n onStatusChange?.(newStatus)\n },\n [onStatusChange]\n )\n\n useEffect(() => {\n if (mountedRef.current || !sessionId) return\n mountedRef.current = true\n\n const sdk = new GreenPay3DS(stableConfig)\n\n sdk\n .authenticate(sessionId, {\n onReady: () => handleStatusChange('3DS challenge ready'),\n onStatusChange: handleStatusChange,\n })\n .then(onSuccess)\n .catch((err: Error & { code?: string }) => {\n if (err?.code === 'AUTHENTICATION_FAILED') {\n onFailure?.(err.message)\n } else {\n onError?.(err)\n }\n })\n }, [sessionId, stableConfig, onSuccess, onFailure, onError, handleStatusChange])\n\n if (children) {\n return <div className={className}>{children}</div>\n }\n\n return (\n <div className={className}>\n <p>{status}</p>\n </div>\n )\n}\n","'use client'\n\nimport { useEffect, useRef, useState, useCallback, useMemo } from 'react'\nimport {\n GreenPay3DS,\n type GreenPay3DSConfig,\n type OrderData,\n type ThreeDSResult,\n} from '@greenpay/3ds-sdk'\n\nexport interface GreenPay3DSPaymentProps {\n config: GreenPay3DSConfig\n orderData: OrderData\n onSuccess: (result: ThreeDSResult) => void\n onFailure?: (error: string) => void\n onError?: (error: Error | string) => void\n onStatusChange?: (status: string) => void\n className?: string\n children?: React.ReactNode\n}\n\nexport function GreenPay3DSPayment({\n config,\n orderData,\n onSuccess,\n onFailure,\n onError,\n onStatusChange,\n className,\n children,\n}: GreenPay3DSPaymentProps) {\n const [status, setStatus] = useState('Initializing...')\n const mountedRef = useRef(false)\n\n const stableConfig = useMemo(\n () => config,\n [config.teamId, config.appId, config.apiUrl]\n )\n\n const stableOrderData = useMemo(\n () => orderData,\n [\n orderData.cardData.ed,\n orderData.cardData.session,\n orderData.sessionToken,\n orderData.terminalId,\n ]\n )\n\n const handleStatusChange = useCallback(\n (newStatus: string) => {\n setStatus(newStatus)\n onStatusChange?.(newStatus)\n },\n [onStatusChange]\n )\n\n useEffect(() => {\n if (mountedRef.current) return\n mountedRef.current = true\n\n const sdk = new GreenPay3DS(stableConfig)\n\n sdk\n .processPayment(stableOrderData, {\n onReady: () => handleStatusChange('3DS challenge ready'),\n onSuccess,\n onStatusChange: handleStatusChange,\n })\n .catch((err: Error & { code?: string }) => {\n if (err?.code === 'AUTHENTICATION_FAILED') {\n onFailure?.(err.message)\n } else {\n onError?.(err)\n }\n })\n }, [stableConfig, stableOrderData, onSuccess, onFailure, onError, handleStatusChange])\n\n if (children) {\n return <div className={className}>{children}</div>\n }\n\n return (\n <div className={className}>\n <p>{status}</p>\n </div>\n )\n}\n","export { ThreeDSChallenge } from './ThreeDSChallenge'\nexport type { ThreeDSChallengeProps } from './ThreeDSChallenge'\n\nexport { GreenPay3DSPayment } from './GreenPay3DSPayment'\nexport type { GreenPay3DSPaymentProps } from './GreenPay3DSPayment'\n\nexport {\n GreenPay3DS,\n GreenPay3DSError,\n type GreenPay3DSConfig,\n type ThreeDSCallbacks,\n type ThreeDSPaymentCallbacks,\n type OrderData,\n type ThreeDSSession,\n type ThreeDSResult,\n} from '@greenpay/3ds-sdk'\n"],"mappings":"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","names":["useEffect","useRef","useState","useCallback","useMemo","GreenPay3DS","jsx","GreenPay3DS"]}
package/package.json ADDED
@@ -0,0 +1,42 @@
1
+ {
2
+ "name": "@greenpay_prod/3ds-react",
3
+ "version": "0.1.1-qa.0",
4
+ "description": "GreenPay 3D Secure React component — drop-in 3DS authentication",
5
+ "main": "./dist/index.js",
6
+ "module": "./dist/index.mjs",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": {
11
+ "types": "./dist/index.d.mts",
12
+ "default": "./dist/index.mjs"
13
+ },
14
+ "require": {
15
+ "types": "./dist/index.d.ts",
16
+ "default": "./dist/index.js"
17
+ }
18
+ }
19
+ },
20
+ "files": [
21
+ "dist"
22
+ ],
23
+ "publishConfig": {
24
+ "registry": "https://registry.npmjs.org/"
25
+ },
26
+ "scripts": {
27
+ "build": "tsup",
28
+ "dev": "tsup --watch"
29
+ },
30
+ "peerDependencies": {
31
+ "@greenpay/3ds-sdk": "^0.1.0",
32
+ "react": "^18.0.0 || ^19.0.0",
33
+ "react-dom": "^18.0.0 || ^19.0.0"
34
+ },
35
+ "devDependencies": {
36
+ "@greenpay/3ds-sdk": "file:../sdk",
37
+ "@types/react": "^19.0.0",
38
+ "react": "^19.0.0",
39
+ "tsup": "^8.0.0",
40
+ "typescript": "^5.5.0"
41
+ }
42
+ }