@easypayment/medusa-payment-paypal 0.9.28 → 0.9.30

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.
Files changed (117) hide show
  1. package/.medusa/server/src/admin/index.js +12 -10
  2. package/.medusa/server/src/admin/index.mjs +12 -10
  3. package/.medusa/server/src/api/admin/paypal/onboarding-link/route.d.ts.map +1 -1
  4. package/.medusa/server/src/api/admin/paypal/onboarding-link/route.js +24 -4
  5. package/.medusa/server/src/api/admin/paypal/onboarding-link/route.js.map +1 -1
  6. package/.medusa/server/src/api/store/paypal/capture-order/route.d.ts.map +1 -1
  7. package/.medusa/server/src/api/store/paypal/capture-order/route.js +4 -2
  8. package/.medusa/server/src/api/store/paypal/capture-order/route.js.map +1 -1
  9. package/.medusa/server/src/api/store/paypal/webhook/route.js +1 -1
  10. package/.medusa/server/src/api/store/paypal/webhook/route.js.map +1 -1
  11. package/.medusa/server/src/modules/paypal/migrations/20270301000000_add_webhook_transmission_id_index.d.ts +6 -0
  12. package/.medusa/server/src/modules/paypal/migrations/20270301000000_add_webhook_transmission_id_index.d.ts.map +1 -0
  13. package/.medusa/server/src/modules/paypal/migrations/20270301000000_add_webhook_transmission_id_index.js +14 -0
  14. package/.medusa/server/src/modules/paypal/migrations/20270301000000_add_webhook_transmission_id_index.js.map +1 -0
  15. package/.medusa/server/src/modules/paypal/payment-provider/card-service.d.ts +1 -1
  16. package/.medusa/server/src/modules/paypal/payment-provider/card-service.d.ts.map +1 -1
  17. package/.medusa/server/src/modules/paypal/payment-provider/card-service.js +9 -35
  18. package/.medusa/server/src/modules/paypal/payment-provider/card-service.js.map +1 -1
  19. package/.medusa/server/src/modules/paypal/payment-provider/service.d.ts +2 -5
  20. package/.medusa/server/src/modules/paypal/payment-provider/service.d.ts.map +1 -1
  21. package/.medusa/server/src/modules/paypal/payment-provider/service.js +14 -66
  22. package/.medusa/server/src/modules/paypal/payment-provider/service.js.map +1 -1
  23. package/.medusa/server/src/modules/paypal/service.d.ts +1 -1
  24. package/.medusa/server/src/modules/paypal/service.d.ts.map +1 -1
  25. package/.medusa/server/src/modules/paypal/service.js +41 -22
  26. package/.medusa/server/src/modules/paypal/service.js.map +1 -1
  27. package/.medusa/server/src/modules/paypal/utils/amounts.d.ts +1 -1
  28. package/.medusa/server/src/modules/paypal/utils/amounts.d.ts.map +1 -1
  29. package/.medusa/server/src/modules/paypal/utils/amounts.js +17 -6
  30. package/.medusa/server/src/modules/paypal/utils/amounts.js.map +1 -1
  31. package/.medusa/server/src/modules/paypal/utils/credential-resolver.d.ts +42 -0
  32. package/.medusa/server/src/modules/paypal/utils/credential-resolver.d.ts.map +1 -0
  33. package/.medusa/server/src/modules/paypal/utils/credential-resolver.js +186 -0
  34. package/.medusa/server/src/modules/paypal/utils/credential-resolver.js.map +1 -0
  35. package/.medusa/server/src/modules/paypal/utils/payment-session.d.ts.map +1 -1
  36. package/.medusa/server/src/modules/paypal/utils/payment-session.js +7 -1
  37. package/.medusa/server/src/modules/paypal/utils/payment-session.js.map +1 -1
  38. package/.medusa/server/src/modules/paypal/utils/paypal-fetch.d.ts +3 -11
  39. package/.medusa/server/src/modules/paypal/utils/paypal-fetch.d.ts.map +1 -1
  40. package/.medusa/server/src/modules/paypal/utils/paypal-fetch.js +119 -18
  41. package/.medusa/server/src/modules/paypal/utils/paypal-fetch.js.map +1 -1
  42. package/.medusa/server/src/modules/paypal/utils/secret-crypto.d.ts.map +1 -1
  43. package/.medusa/server/src/modules/paypal/utils/secret-crypto.js +6 -0
  44. package/.medusa/server/src/modules/paypal/utils/secret-crypto.js.map +1 -1
  45. package/.medusa/server/src/modules/paypal/webhook-processor.d.ts.map +1 -1
  46. package/.medusa/server/src/modules/paypal/webhook-processor.js +10 -9
  47. package/.medusa/server/src/modules/paypal/webhook-processor.js.map +1 -1
  48. package/package.json +16 -16
  49. package/src/admin/routes/settings/paypal/connection/page.tsx +6 -4
  50. package/src/api/admin/paypal/onboarding-link/route.ts +30 -5
  51. package/src/api/store/paypal/capture-order/route.ts +4 -2
  52. package/src/api/store/paypal/webhook/route.ts +1 -1
  53. package/src/modules/paypal/migrations/20270301000000_add_webhook_transmission_id_index.ts +15 -0
  54. package/src/modules/paypal/payment-provider/card-service.ts +9 -40
  55. package/src/modules/paypal/payment-provider/service.ts +18 -68
  56. package/src/modules/paypal/service.ts +43 -23
  57. package/src/modules/paypal/utils/amounts.ts +17 -6
  58. package/src/modules/paypal/utils/credential-resolver.ts +257 -0
  59. package/src/modules/paypal/utils/payment-session.ts +11 -2
  60. package/src/modules/paypal/utils/paypal-fetch.ts +139 -17
  61. package/src/modules/paypal/utils/secret-crypto.ts +5 -0
  62. package/src/modules/paypal/webhook-processor.ts +15 -10
  63. package/.medusa/server/src/admin/index.d.ts +0 -2
  64. package/.medusa/server/src/admin/index.d.ts.map +0 -1
  65. package/.medusa/server/src/admin/index.js.map +0 -1
  66. package/.medusa/server/src/admin/routes/settings/paypal/_components/FieldRow.d.ts +0 -8
  67. package/.medusa/server/src/admin/routes/settings/paypal/_components/FieldRow.d.ts.map +0 -1
  68. package/.medusa/server/src/admin/routes/settings/paypal/_components/FieldRow.js +0 -8
  69. package/.medusa/server/src/admin/routes/settings/paypal/_components/FieldRow.js.map +0 -1
  70. package/.medusa/server/src/admin/routes/settings/paypal/_components/SectionCard.d.ts +0 -8
  71. package/.medusa/server/src/admin/routes/settings/paypal/_components/SectionCard.d.ts.map +0 -1
  72. package/.medusa/server/src/admin/routes/settings/paypal/_components/SectionCard.js +0 -8
  73. package/.medusa/server/src/admin/routes/settings/paypal/_components/SectionCard.js.map +0 -1
  74. package/.medusa/server/src/admin/routes/settings/paypal/_components/Tabs.d.ts +0 -2
  75. package/.medusa/server/src/admin/routes/settings/paypal/_components/Tabs.d.ts.map +0 -1
  76. package/.medusa/server/src/admin/routes/settings/paypal/_components/Tabs.js +0 -25
  77. package/.medusa/server/src/admin/routes/settings/paypal/_components/Tabs.js.map +0 -1
  78. package/.medusa/server/src/admin/routes/settings/paypal/_components/Toast.d.ts +0 -12
  79. package/.medusa/server/src/admin/routes/settings/paypal/_components/Toast.d.ts.map +0 -1
  80. package/.medusa/server/src/admin/routes/settings/paypal/_components/Toast.js +0 -22
  81. package/.medusa/server/src/admin/routes/settings/paypal/_components/Toast.js.map +0 -1
  82. package/.medusa/server/src/admin/routes/settings/paypal/_utils/adminFetch.d.ts +0 -7
  83. package/.medusa/server/src/admin/routes/settings/paypal/_utils/adminFetch.d.ts.map +0 -1
  84. package/.medusa/server/src/admin/routes/settings/paypal/_utils/adminFetch.js +0 -40
  85. package/.medusa/server/src/admin/routes/settings/paypal/_utils/adminFetch.js.map +0 -1
  86. package/.medusa/server/src/admin/routes/settings/paypal/additional-settings/page.d.ts +0 -2
  87. package/.medusa/server/src/admin/routes/settings/paypal/additional-settings/page.d.ts.map +0 -1
  88. package/.medusa/server/src/admin/routes/settings/paypal/additional-settings/page.js +0 -76
  89. package/.medusa/server/src/admin/routes/settings/paypal/additional-settings/page.js.map +0 -1
  90. package/.medusa/server/src/admin/routes/settings/paypal/advanced-card-payments/page.d.ts +0 -2
  91. package/.medusa/server/src/admin/routes/settings/paypal/advanced-card-payments/page.d.ts.map +0 -1
  92. package/.medusa/server/src/admin/routes/settings/paypal/advanced-card-payments/page.js +0 -81
  93. package/.medusa/server/src/admin/routes/settings/paypal/advanced-card-payments/page.js.map +0 -1
  94. package/.medusa/server/src/admin/routes/settings/paypal/apple-pay/page.d.ts +0 -2
  95. package/.medusa/server/src/admin/routes/settings/paypal/apple-pay/page.d.ts.map +0 -1
  96. package/.medusa/server/src/admin/routes/settings/paypal/apple-pay/page.js +0 -9
  97. package/.medusa/server/src/admin/routes/settings/paypal/apple-pay/page.js.map +0 -1
  98. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.d.ts +0 -22
  99. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.d.ts.map +0 -1
  100. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.js +0 -595
  101. package/.medusa/server/src/admin/routes/settings/paypal/connection/page.js.map +0 -1
  102. package/.medusa/server/src/admin/routes/settings/paypal/google-pay/page.d.ts +0 -2
  103. package/.medusa/server/src/admin/routes/settings/paypal/google-pay/page.d.ts.map +0 -1
  104. package/.medusa/server/src/admin/routes/settings/paypal/google-pay/page.js +0 -9
  105. package/.medusa/server/src/admin/routes/settings/paypal/google-pay/page.js.map +0 -1
  106. package/.medusa/server/src/admin/routes/settings/paypal/page.d.ts +0 -4
  107. package/.medusa/server/src/admin/routes/settings/paypal/page.d.ts.map +0 -1
  108. package/.medusa/server/src/admin/routes/settings/paypal/page.js +0 -14
  109. package/.medusa/server/src/admin/routes/settings/paypal/page.js.map +0 -1
  110. package/.medusa/server/src/admin/routes/settings/paypal/pay-later-messaging/page.d.ts +0 -2
  111. package/.medusa/server/src/admin/routes/settings/paypal/pay-later-messaging/page.d.ts.map +0 -1
  112. package/.medusa/server/src/admin/routes/settings/paypal/pay-later-messaging/page.js +0 -9
  113. package/.medusa/server/src/admin/routes/settings/paypal/pay-later-messaging/page.js.map +0 -1
  114. package/.medusa/server/src/admin/routes/settings/paypal/paypal-settings/page.d.ts +0 -2
  115. package/.medusa/server/src/admin/routes/settings/paypal/paypal-settings/page.d.ts.map +0 -1
  116. package/.medusa/server/src/admin/routes/settings/paypal/paypal-settings/page.js +0 -109
  117. package/.medusa/server/src/admin/routes/settings/paypal/paypal-settings/page.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Tabs.js","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/_components/Tabs.tsx"],"names":[],"mappings":";;AAqBA,6BA0BC;;AA9CD,uDAAoD;AAOpD,MAAM,IAAI,GAAG,kBAAkB,CAAA;AAE/B,MAAM,IAAI,GAAU;IAClB,EAAE,KAAK,EAAE,mBAAmB,EAAE,EAAE,EAAE,GAAG,IAAI,aAAa,EAAE;IACxD,EAAE,KAAK,EAAE,iBAAiB,EAAE,EAAE,EAAE,GAAG,IAAI,kBAAkB,EAAE;IAC3D,EAAE,KAAK,EAAE,wBAAwB,EAAE,EAAE,EAAE,GAAG,IAAI,yBAAyB,EAAE;IACzE,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE,EAAE,GAAG,IAAI,sBAAsB,EAAE;CACpE,CAAA;AAED,SAAS,QAAQ,CAAC,QAAgB,EAAE,EAAU;IAC5C,OAAO,QAAQ,KAAK,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,CAAC,CAAA;AACzD,CAAC;AAED,SAAwB,UAAU;IAChC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAA,8BAAW,GAAE,CAAA;IAElC,OAAO,CACL,gCAAK,SAAS,EAAC,gCAAgC,YAC7C,gCAAK,SAAS,EAAC,8BAA8B,YAC1C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACd,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;gBAEvC,OAAO,CACL,uBAAC,uBAAI,IAEH,EAAE,EAAE,CAAC,CAAC,EAAE,EACR,SAAS,EACP,MAAM;wBACJ,CAAC,CAAC,+DAA+D;wBACjE,CAAC,CAAC,8CAA8C,YAGnD,CAAC,CAAC,KAAK,IARH,CAAC,CAAC,EAAE,CASJ,CACR,CAAA;YACH,CAAC,CAAC,GACE,GACF,CACP,CAAA;AACH,CAAC"}
@@ -1,12 +0,0 @@
1
- export type ToastKind = "success" | "error";
2
- export type ToastState = {
3
- kind: ToastKind;
4
- message: string;
5
- } | null;
6
- type Props = {
7
- toast: ToastState;
8
- onClose: () => void;
9
- };
10
- export default function Toast({ toast, onClose }: Props): import("react/jsx-runtime").JSX.Element | null;
11
- export {};
12
- //# sourceMappingURL=Toast.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/_components/Toast.tsx"],"names":[],"mappings":"AAEA,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,CAAA;AAE3C,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,SAAS,CAAA;IACf,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,IAAI,CAAA;AAER,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,UAAU,CAAA;IACjB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,kDAqCtD"}
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = Toast;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_1 = require("react");
6
- function Toast({ toast, onClose }) {
7
- (0, react_1.useEffect)(() => {
8
- if (!toast)
9
- return;
10
- const duration = toast.kind === "error" ? 5000 : 2500;
11
- const t = setTimeout(() => onClose(), duration);
12
- return () => clearTimeout(t);
13
- }, [toast, onClose]);
14
- if (!toast)
15
- return null;
16
- const isSuccess = toast.kind === "success";
17
- return ((0, jsx_runtime_1.jsx)("div", { className: "fixed right-6 top-6 z-[9999]", children: (0, jsx_runtime_1.jsx)("div", { className: [
18
- "min-w-[280px] max-w-[420px] rounded-lg border px-4 py-3 shadow-md",
19
- isSuccess ? "border-emerald-500/30 bg-emerald-500/10" : "border-rose-500/30 bg-rose-500/10",
20
- ].join(" "), role: isSuccess ? "status" : "alert", "aria-live": isSuccess ? "polite" : "assertive", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex items-start gap-3", children: [(0, jsx_runtime_1.jsx)("div", { className: ["mt-0.5 h-2.5 w-2.5 rounded-full", isSuccess ? "bg-emerald-500" : "bg-rose-500"].join(" ") }), (0, jsx_runtime_1.jsx)("div", { className: "flex-1 text-sm text-ui-fg-base", children: toast.message }), (0, jsx_runtime_1.jsx)("button", { type: "button", onClick: onClose, className: "text-ui-fg-subtle hover:text-ui-fg-base", "aria-label": "Close", children: "\u00D7" })] }) }) }));
21
- }
22
- //# sourceMappingURL=Toast.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Toast.js","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/_components/Toast.tsx"],"names":[],"mappings":";;AAcA,wBAqCC;;AAnDD,iCAAwC;AAcxC,SAAwB,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,EAAS;IACrD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QACrD,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAA;QAC/C,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;IAC9B,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;IAEpB,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAA;IAEvB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAA;IAE1C,OAAO,CACL,gCAAK,SAAS,EAAC,8BAA8B,YAC3C,gCACE,SAAS,EAAE;gBACT,mEAAmE;gBACnE,SAAS,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC,CAAC,mCAAmC;aAC5F,CAAC,IAAI,CAAC,GAAG,CAAC,EACX,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,eACzB,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,YAE7C,iCAAK,SAAS,EAAC,wBAAwB,aACrC,gCAAK,SAAS,EAAE,CAAC,iCAAiC,EAAE,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAI,EAC/G,gCAAK,SAAS,EAAC,gCAAgC,YAAE,KAAK,CAAC,OAAO,GAAO,EACrE,mCACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAC,yCAAyC,gBACxC,OAAO,uBAGX,IACL,GACF,GACF,CACP,CAAA;AACH,CAAC"}
@@ -1,7 +0,0 @@
1
- export type AdminFetchOptions = {
2
- method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
3
- body?: Record<string, unknown>;
4
- query?: Record<string, string>;
5
- };
6
- export declare function adminFetch<T = unknown>(path: string, opts?: AdminFetchOptions): Promise<T>;
7
- //# sourceMappingURL=adminFetch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adminFetch.d.ts","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/_utils/adminFetch.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAA;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC/B,CAAA;AAED,wBAAsB,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,iBAAsB,GAAG,OAAO,CAAC,CAAC,CAAC,CAyBpG"}
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.adminFetch = adminFetch;
4
- async function adminFetch(path, opts = {}) {
5
- const { method = "GET", body, query } = opts;
6
- let url = path;
7
- if (query && Object.keys(query).length > 0) {
8
- const params = new URLSearchParams(query);
9
- url = `${path}?${params.toString()}`;
10
- }
11
- const headers = { Accept: "application/json" };
12
- if (body !== undefined)
13
- headers["Content-Type"] = "application/json";
14
- if (typeof window !== "undefined") {
15
- const token = window.__medusa__?.token;
16
- if (token)
17
- headers["Authorization"] = `Bearer ${token}`;
18
- }
19
- const res = await fetch(url, {
20
- method, headers, credentials: "include",
21
- body: body !== undefined ? JSON.stringify(body) : undefined,
22
- });
23
- const text = await res.text().catch(() => "");
24
- if (!res.ok) {
25
- if (res.status === 401)
26
- throw new Error("Unauthorized (401) - session may have expired. Please reload and log in again.");
27
- if (res.status === 403)
28
- throw new Error("Forbidden (403) - you do not have permission to perform this action.");
29
- throw new Error(text || `Request failed with status ${res.status}`);
30
- }
31
- if (!text)
32
- return {};
33
- try {
34
- return JSON.parse(text);
35
- }
36
- catch {
37
- return {};
38
- }
39
- }
40
- //# sourceMappingURL=adminFetch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"adminFetch.js","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/_utils/adminFetch.ts"],"names":[],"mappings":";;AAMA,gCAyBC;AAzBM,KAAK,UAAU,UAAU,CAAc,IAAY,EAAE,OAA0B,EAAE;IACtF,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,IAAI,CAAA;IAC5C,IAAI,GAAG,GAAG,IAAI,CAAA;IACd,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAA;QACzC,GAAG,GAAG,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAA;IACtC,CAAC;IACD,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAA;IACtE,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;IACpE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,MAAM,KAAK,GAAI,MAAc,CAAC,UAAU,EAAE,KAAK,CAAA;QAC/C,IAAI,KAAK;YAAE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,KAAK,EAAE,CAAA;IACzD,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;QAC3B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS;QACvC,IAAI,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;KAC5D,CAAC,CAAA;IACF,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;IAC7C,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,gFAAgF,CAAC,CAAA;QACzH,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAA;QAC/G,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,8BAA8B,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;IACrE,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAO,CAAA;IACzB,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAM,CAAA;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,EAAO,CAAA;IAAC,CAAC;AAC/D,CAAC"}
@@ -1,2 +0,0 @@
1
- export default function AdditionalSettingsTab(): import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/additional-settings/page.tsx"],"names":[],"mappings":"AAoCA,MAAM,CAAC,OAAO,UAAU,qBAAqB,4CAsG5C"}
@@ -1,76 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = AdditionalSettingsTab;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const react_1 = require("react");
9
- const Tabs_1 = __importDefault(require("../_components/Tabs"));
10
- const SectionCard_1 = __importDefault(require("../_components/SectionCard"));
11
- const FieldRow_1 = __importDefault(require("../_components/FieldRow"));
12
- const Toast_1 = __importDefault(require("../_components/Toast"));
13
- const adminFetch_1 = require("../_utils/adminFetch");
14
- const DEFAULT_FORM = {
15
- paymentAction: "capture",
16
- brandName: "PayPal",
17
- landingPage: "no_preference",
18
- requireInstantPayment: false,
19
- sendItemDetails: true,
20
- invoicePrefix: "PP-",
21
- creditCardStatementName: "PayPal",
22
- };
23
- function mergeWithDefaults(saved) {
24
- if (!saved)
25
- return { ...DEFAULT_FORM };
26
- const entries = Object.entries(saved).filter(([, value]) => value !== undefined);
27
- return { ...DEFAULT_FORM, ...Object.fromEntries(entries) };
28
- }
29
- function AdditionalSettingsTab() {
30
- const [form, setForm] = (0, react_1.useState)(() => ({ ...DEFAULT_FORM }));
31
- const [loading, setLoading] = (0, react_1.useState)(false);
32
- const [saving, setSaving] = (0, react_1.useState)(false);
33
- const [toast, setToast] = (0, react_1.useState)(null);
34
- const didInit = (0, react_1.useRef)(false);
35
- const dismissToast = (0, react_1.useCallback)(() => setToast(null), []);
36
- (0, react_1.useEffect)(() => {
37
- if (didInit.current)
38
- return;
39
- didInit.current = true;
40
- (async () => {
41
- try {
42
- setLoading(true);
43
- const json = await (0, adminFetch_1.adminFetch)("/admin/paypal/settings");
44
- const payload = json?.data ?? json;
45
- const saved = payload?.additional_settings;
46
- if (saved && typeof saved === "object")
47
- setForm(mergeWithDefaults(saved));
48
- }
49
- catch {
50
- }
51
- finally {
52
- setLoading(false);
53
- }
54
- })();
55
- }, []);
56
- async function onSave() {
57
- try {
58
- setSaving(true);
59
- setToast(null);
60
- const json = await (0, adminFetch_1.adminFetch)("/admin/paypal/settings", { method: "POST", body: { additional_settings: form } });
61
- const payload = json?.data ?? json;
62
- const saved = payload?.additional_settings;
63
- if (saved && typeof saved === "object")
64
- setForm(mergeWithDefaults(saved));
65
- setToast({ kind: "success", message: "Settings saved" });
66
- }
67
- catch (e) {
68
- setToast({ kind: "error", message: e instanceof Error ? e.message : "Failed to save settings" });
69
- }
70
- finally {
71
- setSaving(false);
72
- }
73
- }
74
- return ((0, jsx_runtime_1.jsx)("div", { className: "p-6", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-6", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex items-start justify-between gap-4", children: (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("h1", { className: "text-xl font-semibold text-ui-fg-base", children: "PayPal Gateway By Easy Payment" }) }) }), (0, jsx_runtime_1.jsx)(Tabs_1.default, {}), (0, jsx_runtime_1.jsx)(Toast_1.default, { toast: toast, onClose: dismissToast }), (0, jsx_runtime_1.jsx)(SectionCard_1.default, { title: "Additional Settings", description: "These settings control checkout behavior and PayPal experience.", right: ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)("button", { type: "button", onClick: onSave, disabled: saving || loading, className: "transition-fg relative inline-flex w-fit items-center justify-center overflow-hidden rounded-md outline-none shadow-buttons-neutral text-ui-fg-base bg-ui-button-neutral after:transition-fg after:absolute after:inset-0 after:content-[''] after:button-neutral-gradient hover:bg-ui-button-neutral-hover hover:after:button-neutral-hover-gradient active:bg-ui-button-neutral-pressed active:after:button-neutral-pressed-gradient focus-visible:shadow-buttons-neutral-focus disabled:bg-ui-bg-disabled disabled:border-ui-border-base disabled:text-ui-fg-disabled disabled:shadow-buttons-neutral disabled:after:hidden txt-compact-small-plus px-3 py-1.5", children: saving ? "Saving..." : "Save settings" }), loading ? (0, jsx_runtime_1.jsx)("span", { className: "text-sm text-ui-fg-subtle", children: "Loading\u2026" }) : null] })), children: (0, jsx_runtime_1.jsxs)("div", { className: "divide-y divide-ui-border-base", children: [(0, jsx_runtime_1.jsx)(FieldRow_1.default, { label: "Payment action", htmlFor: "as-payment-action", children: (0, jsx_runtime_1.jsxs)("select", { id: "as-payment-action", value: form.paymentAction, onChange: (e) => setForm((p) => ({ ...p, paymentAction: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", children: [(0, jsx_runtime_1.jsx)("option", { value: "capture", children: "Capture" }), (0, jsx_runtime_1.jsx)("option", { value: "authorize", children: "Authorize" })] }) }), (0, jsx_runtime_1.jsx)(FieldRow_1.default, { label: "Brand Name", htmlFor: "as-brand-name", children: (0, jsx_runtime_1.jsx)("input", { id: "as-brand-name", value: form.brandName, onChange: (e) => setForm((p) => ({ ...p, brandName: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "PayPal" }) }), (0, jsx_runtime_1.jsx)(FieldRow_1.default, { label: "Landing Page", htmlFor: "as-landing-page", children: (0, jsx_runtime_1.jsxs)("select", { id: "as-landing-page", value: form.landingPage, onChange: (e) => setForm((p) => ({ ...p, landingPage: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", children: [(0, jsx_runtime_1.jsx)("option", { value: "no_preference", children: "No Preference" }), (0, jsx_runtime_1.jsx)("option", { value: "login", children: "Login" }), (0, jsx_runtime_1.jsx)("option", { value: "billing", children: "Billing" })] }) }), (0, jsx_runtime_1.jsx)(FieldRow_1.default, { label: "Instant Payments", children: (0, jsx_runtime_1.jsxs)("label", { className: "inline-flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: form.requireInstantPayment, onChange: (e) => setForm((p) => ({ ...p, requireInstantPayment: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }), (0, jsx_runtime_1.jsx)("span", { className: "text-sm text-ui-fg-base", children: "Require Instant Payment" })] }) }), (0, jsx_runtime_1.jsx)(FieldRow_1.default, { label: "Send Item Details", hint: "Include all line item details in the payment request to PayPal so that they can be seen from the PayPal transaction details page.", children: (0, jsx_runtime_1.jsxs)("label", { className: "inline-flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: form.sendItemDetails, onChange: (e) => setForm((p) => ({ ...p, sendItemDetails: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }), (0, jsx_runtime_1.jsx)("span", { className: "text-sm text-ui-fg-base", children: "Send line item details to PayPal" })] }) }), (0, jsx_runtime_1.jsx)(FieldRow_1.default, { label: "Invoice prefix", htmlFor: "as-invoice-prefix", children: (0, jsx_runtime_1.jsx)("input", { id: "as-invoice-prefix", value: form.invoicePrefix, onChange: (e) => setForm((p) => ({ ...p, invoicePrefix: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "PP-" }) }), (0, jsx_runtime_1.jsx)(FieldRow_1.default, { label: "Credit Card Statement Name", htmlFor: "as-cc-statement", children: (0, jsx_runtime_1.jsx)("input", { id: "as-cc-statement", value: form.creditCardStatementName, onChange: (e) => setForm((p) => ({ ...p, creditCardStatementName: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "PayPal" }) })] }) })] }) }));
75
- }
76
- //# sourceMappingURL=page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/additional-settings/page.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export default function AdvancedCardPaymentsTab(): import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/advanced-card-payments/page.tsx"],"names":[],"mappings":"AAiCA,MAAM,CAAC,OAAO,UAAU,uBAAuB,4CAyF9C"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.default = AdvancedCardPaymentsTab;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const react_1 = require("react");
9
- const Tabs_1 = __importDefault(require("../_components/Tabs"));
10
- const SectionCard_1 = __importDefault(require("../_components/SectionCard"));
11
- const FieldRow_1 = __importDefault(require("../_components/FieldRow"));
12
- const Toast_1 = __importDefault(require("../_components/Toast"));
13
- const adminFetch_1 = require("../_utils/adminFetch");
14
- const DEFAULT_FORM = {
15
- enabled: true,
16
- title: "Credit or Debit Card",
17
- threeDS: "when_required",
18
- };
19
- function mergeWithDefaults(saved) {
20
- if (!saved)
21
- return { ...DEFAULT_FORM };
22
- const entries = Object.entries(saved).filter(([, value]) => value !== undefined);
23
- return { ...DEFAULT_FORM, ...Object.fromEntries(entries) };
24
- }
25
- const THREE_DS_OPTIONS = [
26
- { value: "when_required", label: "3D Secure when required", hint: "Triggers 3DS only when the card / issuer requires it." },
27
- { value: "sli", label: "3D Secure (SCA) / liability shift (recommended)", hint: "Attempts to optimize for liability shift while remaining compliant." },
28
- { value: "always", label: "Always request 3D Secure", hint: "Forces 3DS challenge whenever possible (may reduce conversion)." },
29
- ];
30
- function AdvancedCardPaymentsTab() {
31
- const [form, setForm] = (0, react_1.useState)(() => ({ ...DEFAULT_FORM }));
32
- const [loading, setLoading] = (0, react_1.useState)(false);
33
- const [saving, setSaving] = (0, react_1.useState)(false);
34
- const [toast, setToast] = (0, react_1.useState)(null);
35
- const didInit = (0, react_1.useRef)(false);
36
- const dismissToast = (0, react_1.useCallback)(() => setToast(null), []);
37
- (0, react_1.useEffect)(() => {
38
- if (didInit.current)
39
- return;
40
- didInit.current = true;
41
- (async () => {
42
- try {
43
- setLoading(true);
44
- const json = await (0, adminFetch_1.adminFetch)("/admin/paypal/settings");
45
- const payload = json?.data ?? json;
46
- const saved = payload?.advanced_card_payments;
47
- if (saved && typeof saved === "object")
48
- setForm(mergeWithDefaults(saved));
49
- }
50
- catch {
51
- }
52
- finally {
53
- setLoading(false);
54
- }
55
- })();
56
- }, []);
57
- async function onSave() {
58
- try {
59
- setSaving(true);
60
- const json = await (0, adminFetch_1.adminFetch)("/admin/paypal/settings", {
61
- method: "POST",
62
- body: { advanced_card_payments: form },
63
- });
64
- const payload = json?.data ?? json;
65
- const saved = payload?.advanced_card_payments;
66
- if (saved && typeof saved === "object")
67
- setForm(mergeWithDefaults(saved));
68
- setToast({ kind: "success", message: "Settings saved" });
69
- }
70
- catch (e) {
71
- setToast({ kind: "error", message: (e instanceof Error ? e.message : "") || "Failed to save settings." });
72
- }
73
- finally {
74
- setSaving(false);
75
- }
76
- }
77
- return ((0, jsx_runtime_1.jsx)("div", { className: "p-6", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-6", children: [(0, jsx_runtime_1.jsx)("div", { className: "flex items-start justify-between gap-4", children: (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)("h1", { className: "text-xl font-semibold text-ui-fg-base", children: "PayPal Gateway By Easy Payment" }) }) }), (0, jsx_runtime_1.jsx)(Tabs_1.default, {}), (0, jsx_runtime_1.jsx)(Toast_1.default, { toast: toast, onClose: dismissToast }), (0, jsx_runtime_1.jsx)(SectionCard_1.default, { title: "Advanced Card Payments", description: "Control card checkout settings and 3D Secure behavior.", right: ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)("button", { type: "button", onClick: onSave, disabled: saving || loading, className: "transition-fg relative inline-flex w-fit items-center justify-center overflow-hidden rounded-md outline-none shadow-buttons-neutral text-ui-fg-base bg-ui-button-neutral after:transition-fg after:absolute after:inset-0 after:content-[''] after:button-neutral-gradient hover:bg-ui-button-neutral-hover hover:after:button-neutral-hover-gradient active:bg-ui-button-neutral-pressed active:after:button-neutral-pressed-gradient focus-visible:shadow-buttons-neutral-focus disabled:bg-ui-bg-disabled disabled:border-ui-border-base disabled:text-ui-fg-disabled disabled:shadow-buttons-neutral disabled:after:hidden txt-compact-small-plus px-3 py-1.5", children: saving ? "Saving..." : "Save settings" }), loading ? (0, jsx_runtime_1.jsx)("span", { className: "text-sm text-ui-fg-subtle", children: "Loading\u2026" }) : null] })), children: (0, jsx_runtime_1.jsxs)("div", { className: "divide-y divide-ui-border-base", children: [(0, jsx_runtime_1.jsx)(FieldRow_1.default, { label: "Enable/Disable", children: (0, jsx_runtime_1.jsxs)("label", { className: "inline-flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: form.enabled, onChange: (e) => setForm((p) => ({ ...p, enabled: e.target.checked })), className: "h-4 w-4 rounded border-ui-border-base" }), (0, jsx_runtime_1.jsx)("span", { className: "text-sm text-ui-fg-base", children: "Enable Advanced Credit/Debit Card" })] }) }), (0, jsx_runtime_1.jsx)(FieldRow_1.default, { label: "Title", htmlFor: "acp-title", children: (0, jsx_runtime_1.jsx)("input", { id: "acp-title", value: form.title, onChange: (e) => setForm((p) => ({ ...p, title: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", placeholder: "Credit or Debit Card" }) }), (0, jsx_runtime_1.jsx)(FieldRow_1.default, { label: "Contingency for 3D Secure", hint: "Choose when 3D Secure should be triggered during card payments.", htmlFor: "acp-threeds", children: (0, jsx_runtime_1.jsxs)("div", { className: "flex flex-col gap-2", children: [(0, jsx_runtime_1.jsx)("select", { id: "acp-threeds", value: form.threeDS, onChange: (e) => setForm((p) => ({ ...p, threeDS: e.target.value })), className: "w-full rounded-md border border-ui-border-base bg-ui-bg-base px-3 py-2 text-sm text-ui-fg-base outline-none focus:ring-2 focus:ring-ui-border-interactive", children: THREE_DS_OPTIONS.map((o) => (0, jsx_runtime_1.jsx)("option", { value: o.value, children: o.label }, o.value)) }), THREE_DS_OPTIONS.find((o) => o.value === form.threeDS)?.hint
78
- ? (0, jsx_runtime_1.jsx)("div", { className: "text-xs text-ui-fg-subtle", children: THREE_DS_OPTIONS.find((o) => o.value === form.threeDS)?.hint })
79
- : null] }) })] }) })] }) }));
80
- }
81
- //# sourceMappingURL=page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/advanced-card-payments/page.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export default function PayPalApplePayPage(): import("react/jsx-runtime").JSX.Element;
2
- //# sourceMappingURL=page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/apple-pay/page.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,kBAAkB,4CAEzC"}
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = PayPalApplePayPage;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_router_dom_1 = require("react-router-dom");
6
- function PayPalApplePayPage() {
7
- return (0, jsx_runtime_1.jsx)(react_router_dom_1.Navigate, { to: "/settings/paypal/connection", replace: true });
8
- }
9
- //# sourceMappingURL=page.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/apple-pay/page.tsx"],"names":[],"mappings":";;AAEA,qCAEC;;AAJD,uDAA2C;AAE3C,SAAwB,kBAAkB;IACxC,OAAO,uBAAC,2BAAQ,IAAC,EAAE,EAAC,6BAA6B,EAAC,OAAO,SAAG,CAAA;AAC9D,CAAC"}
@@ -1,22 +0,0 @@
1
- export declare const config: import("@medusajs/admin-sdk").RouteConfig;
2
- declare global {
3
- interface Window {
4
- PAYPAL?: {
5
- apps?: {
6
- Signup?: {
7
- miniBrowser?: {
8
- init?: () => void;
9
- closeFlow?: () => void;
10
- };
11
- MiniBrowser?: {
12
- init?: () => void;
13
- closeFlow?: () => void;
14
- };
15
- };
16
- };
17
- };
18
- onboardingCallback?: (authCode: string, sharedId: string) => void;
19
- }
20
- }
21
- export default function PayPalConnectionPage(): import("react/jsx-runtime").JSX.Element;
22
- //# sourceMappingURL=page.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page.d.ts","sourceRoot":"","sources":["../../../../../../../../src/admin/routes/settings/paypal/connection/page.tsx"],"names":[],"mappings":"AAWA,eAAO,MAAM,MAAM,2CAEjB,CAAA;AAaF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,MAAM,CAAC,EAAE;YACP,IAAI,CAAC,EAAE;gBACL,MAAM,CAAC,EAAE;oBACP,WAAW,CAAC,EAAE;wBAAE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;wBAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;qBAAE,CAAA;oBAC3D,WAAW,CAAC,EAAE;wBAAE,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;wBAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;qBAAE,CAAA;iBAC5D,CAAA;aACF,CAAA;SACF,CAAA;QACD,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;KAClE;CACF;AAwDD,MAAM,CAAC,OAAO,UAAU,oBAAoB,4CA2yB3C"}