@cedros/pay-react 1.1.30 → 1.1.32
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/README.md +53 -30
- package/dist/{AISettingsSection-BMh3hAb5.mjs → AISettingsSection-ChBtZVz7.mjs} +4 -4
- package/dist/{AISettingsSection-C0zqPbd6.js → AISettingsSection-DSROL7Lg.js} +2 -2
- package/dist/{AutosaveIndicator-3ctAnz8Y.mjs → AutosaveIndicator-BTa2YPNH.mjs} +1 -1
- package/dist/AutosaveIndicator-BgDnlrCW.js +1 -0
- package/dist/CedrosContext-3Dz7_9Ct.js +3 -0
- package/dist/{CedrosContext-5Gjveoba.mjs → CedrosContext-DQc_k5PG.mjs} +430 -314
- package/dist/ChatLogsSection-B5AdoZls.js +1 -0
- package/dist/{ChatLogsSection-BtJixYAp.mjs → ChatLogsSection-D8FX7Dmn.mjs} +2 -2
- package/dist/{ComplianceSection-BMnb1p4w.mjs → ComplianceSection-A1hgI_X2.mjs} +3 -3
- package/dist/ComplianceSection-UWfkNrmW.js +1 -0
- package/dist/CryptoButton-BQceZhbn.js +1 -0
- package/dist/{CryptoButton-Cl2kZbOP.mjs → CryptoButton-BuO_RZLj.mjs} +4 -5
- package/dist/{CustomersSection-dmwoBhcf.mjs → CustomersSection-BuSVgS16.mjs} +2 -2
- package/dist/CustomersSection-Rh552kcC.js +1 -0
- package/dist/DisputesSection-BtMdxOuD.js +1 -0
- package/dist/{DisputesSection-CHyLne76.mjs → DisputesSection-DqWrBCyC.mjs} +2 -2
- package/dist/Dropdown-CWYy2Rtt.js +1 -0
- package/dist/{Dropdown-BRSZlhik.mjs → Dropdown-DHCHYuTB.mjs} +1 -1
- package/dist/{ErrorBanner-lZJhCmDX.mjs → ErrorBanner-7naZtdtD.mjs} +1 -1
- package/dist/ErrorBanner-BOS1XAPu.js +1 -0
- package/dist/FAQSection-DczKj0C3.js +1 -0
- package/dist/{FAQSection-Di2xE9Sm.mjs → FAQSection-x0ya8PvI.mjs} +3 -3
- package/dist/{ImagesSection-D63PEjR6.mjs → ImagesSection-CMvHgbtL.mjs} +2 -2
- package/dist/ImagesSection-tRpBN-ls.js +1 -0
- package/dist/{InventorySection-Dp5Yu4TA.mjs → InventorySection-5PEOXciZ.mjs} +2 -2
- package/dist/InventorySection-clEVFr_r.js +1 -0
- package/dist/MessagingSection-BpwTsNW1.js +1 -0
- package/dist/{MessagingSection-BLCnCpEv.mjs → MessagingSection-Bt84iW-5.mjs} +3 -3
- package/dist/OrdersSection-Bsou3cwl.js +1 -0
- package/dist/{OrdersSection-Bd56F3cj.mjs → OrdersSection-kJzPO6CP.mjs} +2 -2
- package/dist/{PaymentSettingsSection-B5J56VAk.js → PaymentSettingsSection-CUgUJ7tm.js} +1 -1
- package/dist/{PaymentSettingsSection-52iw47Su.mjs → PaymentSettingsSection-s_XMFPik.mjs} +3 -3
- package/dist/{ReturnsSection-DUVeKrCd.mjs → ReturnsSection-BcwsQbrU.mjs} +2 -2
- package/dist/ReturnsSection-BwHv1HkV.js +1 -0
- package/dist/{SettingsSection-DKkHykaC.js → SettingsSection-B_feZEzU.js} +1 -1
- package/dist/{SettingsSection-vK9WIwXE.mjs → SettingsSection-OI1G3b40.mjs} +1 -1
- package/dist/{ShippingSection-CZRrXrlh.mjs → ShippingSection-B2GtSEvn.mjs} +2 -2
- package/dist/ShippingSection-DyTGH_Fh.js +1 -0
- package/dist/{SingleCategorySettings-C8xJ47_T.mjs → SingleCategorySettings-Cd76sY00.mjs} +4 -4
- package/dist/SingleCategorySettings-Ci6hJ0Xu.js +3 -0
- package/dist/{StatsBar-D4cOKG2e.mjs → StatsBar-B_lf0ph0.mjs} +1 -1
- package/dist/StatsBar-CVqsD8j2.js +1 -0
- package/dist/StorefrontSection-BxaWrsPc.js +1 -0
- package/dist/{StorefrontSection-uXSVbEAa.mjs → StorefrontSection-DW0q9GsC.mjs} +4 -4
- package/dist/{SubscriptionsSection-Ci_AZrWA.mjs → SubscriptionsSection-CNHPCync.mjs} +3 -3
- package/dist/SubscriptionsSection-QMoSKKot.js +1 -0
- package/dist/TaxSection-BKhh7kOv.js +1 -0
- package/dist/{TaxSection-BTukS_cU.mjs → TaxSection-BwLpiery.mjs} +2 -2
- package/dist/Token22Section-B_URxab9.js +1 -0
- package/dist/{Token22Section-DRsPJuTq.mjs → Token22Section-DyNDKGdU.mjs} +227 -212
- package/dist/{WalletManager-D-eoqUDy.mjs → WalletManager-CGR69MiR.mjs} +1 -1
- package/dist/{WalletManager-DXChB9LA.js → WalletManager-ZJbGQHrn.js} +1 -1
- package/dist/WebhooksSection-BIs2Qh-o.js +1 -0
- package/dist/{WebhooksSection-A8Y4ZGcj.mjs → WebhooksSection-bDVQE9Qp.mjs} +2 -2
- package/dist/admin.js +1 -1
- package/dist/admin.mjs +1 -1
- package/dist/crypto-only.js +1 -1
- package/dist/crypto-only.mjs +102 -105
- package/dist/{index-9QF_UfSN.mjs → index-CU6M10Rs.mjs} +13 -14
- package/dist/{index-Cq9ya93W.js → index-DVxx_62C.js} +10 -10
- package/dist/index.js +1 -1
- package/dist/index.mjs +31 -34
- package/dist/pay-react.css +1 -1
- package/dist/plugin-CuoGEYWr.mjs +339 -0
- package/dist/plugin-DNhaPAbC.js +1 -0
- package/dist/sections-BYdyCKFF.js +1 -0
- package/dist/{sections-more-Ixw6mM6R.mjs → sections-vLd_ind5.mjs} +263 -270
- package/dist/src/admin/plugin.d.ts.map +1 -1
- package/dist/src/admin/sectionIds.d.ts.map +1 -1
- package/dist/src/admin.d.ts +0 -7
- package/dist/src/admin.d.ts.map +1 -1
- package/dist/src/components/admin/LiquidityPoolTab.d.ts.map +1 -1
- package/dist/src/components/admin/PoolManagementView.d.ts.map +1 -1
- package/dist/src/components/admin/index.d.ts +0 -1
- package/dist/src/components/admin/index.d.ts.map +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/managers/MeteoraPoolManager.d.ts.map +1 -1
- package/dist/src/utils/optionalPeerImport.d.ts +6 -0
- package/dist/src/utils/optionalPeerImport.d.ts.map +1 -0
- package/dist/stripe-only.js +1 -1
- package/dist/stripe-only.mjs +18 -19
- package/dist/styles-BwaDljnz.js +1 -0
- package/dist/{styles-DGagylUj.mjs → styles-fihm6qVA.mjs} +51 -52
- package/dist/testing/index.js +1 -1
- package/dist/testing/index.mjs +1 -1
- package/package.json +6 -8
- package/dist/AutosaveIndicator-DXRPr4P7.js +0 -1
- package/dist/CedrosContext-CCakH2SZ.js +0 -3
- package/dist/CedrosPayAdminDashboard-DaJ9JoGn.mjs +0 -250
- package/dist/CedrosPayAdminDashboard-Uvyh9p7A.js +0 -1
- package/dist/ChatLogsSection-FC3O536G.js +0 -1
- package/dist/ComplianceSection-BioTKm7k.js +0 -1
- package/dist/CryptoButton-DxFCYDlJ.js +0 -1
- package/dist/CustomersSection-z6ARxuex.js +0 -1
- package/dist/DisputesSection-BjHHQAi7.js +0 -1
- package/dist/Dropdown-j8o0OO5L.js +0 -1
- package/dist/ErrorBanner-CAgPnj62.js +0 -1
- package/dist/FAQSection-b34DMzgV.js +0 -1
- package/dist/ImagesSection-DGBA7iKY.js +0 -1
- package/dist/InventorySection-bVCECzX5.js +0 -1
- package/dist/LazyCedrosPayAdminDashboard-BqJDNrDI.mjs +0 -9
- package/dist/LazyCedrosPayAdminDashboard-CpfTtOBc.js +0 -1
- package/dist/MessagingSection-DU0dYNMy.js +0 -1
- package/dist/OrdersSection-FOFEAgs1.js +0 -1
- package/dist/ReturnsSection-BjpIVFfN.js +0 -1
- package/dist/ShippingSection-B5lk7zpS.js +0 -1
- package/dist/SingleCategorySettings-g7D-9lG1.js +0 -3
- package/dist/StatsBar-CWXw2ZT3.js +0 -1
- package/dist/StorefrontSection-BWnMB9k-.js +0 -1
- package/dist/SubscriptionsSection-DQfXkuDv.js +0 -1
- package/dist/TaxSection-cuPQISxZ.js +0 -1
- package/dist/ThemeContext-CFXyYx7A.js +0 -1
- package/dist/ThemeContext-l0bqcOGW.mjs +0 -126
- package/dist/Token22Section-CCfkDm8W.js +0 -1
- package/dist/WebhooksSection-CnEmaGH1.js +0 -1
- package/dist/icons-C3yDMnKE.mjs +0 -235
- package/dist/icons-Cjgd9YVo.js +0 -1
- package/dist/pay-react_false-CPX8Vyp9.mjs +0 -5
- package/dist/pay-react_false-DaeIe3_l.js +0 -1
- package/dist/sectionIds-D46-_-h-.js +0 -1
- package/dist/sectionIds-YktNxmRt.mjs +0 -124
- package/dist/sections-511_XBh4.js +0 -1
- package/dist/sections-CRaMa8ZB.mjs +0 -9
- package/dist/sections-more-Cgw2qJlA.js +0 -1
- package/dist/src/components/admin/CedrosPayAdminDashboard.d.ts +0 -40
- package/dist/src/components/admin/CedrosPayAdminDashboard.d.ts.map +0 -1
- package/dist/src/components/admin/LazyCedrosPayAdminDashboard.d.ts +0 -4
- package/dist/src/components/admin/LazyCedrosPayAdminDashboard.d.ts.map +0 -1
- package/dist/src/standalone-admin.d.ts +0 -8
- package/dist/src/standalone-admin.d.ts.map +0 -1
- package/dist/standalone-admin.d.ts +0 -2
- package/dist/standalone-admin.js +0 -1
- package/dist/standalone-admin.mjs +0 -4
- package/dist/styles--fxb3lCl.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/admin/plugin.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAiD,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/admin/plugin.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAiD,MAAM,SAAS,CAAC;AAwC1F;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,WA8G7B,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sectionIds.d.ts","sourceRoot":"","sources":["../../../src/admin/sectionIds.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC;IACjC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,
|
|
1
|
+
{"version":3,"file":"sectionIds.d.ts","sourceRoot":"","sources":["../../../src/admin/sectionIds.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,gDAAgD;AAChD,MAAM,WAAW,gBAAgB;IAC/B,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,mEAAmE;IACnE,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,EAAE,OAAO,GAAG,eAAe,CAAC;IACjC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EA0BjD,CAAC;AAEX,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,UAA8C,CAAC;AAElF,qBAAqB;AACrB,eAAO,MAAM,iBAAiB;;;;;;;;;;EAGpB,CAAC"}
|
package/dist/src/admin.d.ts
CHANGED
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Plugin-focused admin entrypoint.
|
|
3
|
-
*
|
|
4
|
-
* Use `@cedros/pay-react/admin` for AdminShell composition and the
|
|
5
|
-
* cedros-pay plugin contract. For the standalone dashboard runtime,
|
|
6
|
-
* use `@cedros/pay-react/standalone-admin` or the root package export.
|
|
7
|
-
*/
|
|
8
1
|
export { cedrosPayPlugin, CEDROS_PAY_SECTIONS, CEDROS_PAY_SECTION_IDS, CEDROS_PAY_GROUPS, type AdminHostContext, type AdminHostServiceBag, type SectionReference, type AdminPlugin, type AdminSectionConfig, type AdminGroupConfig, type AdminSectionProps, type HostContext, type PluginContext, type PluginRegistry, type PluginId, type SectionId, type QualifiedSectionId, type PluginPermission, } from './admin/index';
|
|
9
2
|
//# sourceMappingURL=admin.d.ts.map
|
package/dist/src/admin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/admin.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/admin.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiquidityPoolTab.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/LiquidityPoolTab.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"LiquidityPoolTab.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/LiquidityPoolTab.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAI5D,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAeD,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAiB,GAClB,EAAE,qBAAqB,2CAgMvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PoolManagementView.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/PoolManagementView.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"PoolManagementView.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/PoolManagementView.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAQ5D,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAYD,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,WAAW,EACX,WAAW,EACX,cAAc,EACd,UAAU,EACV,UAAU,EACV,WAAW,EACX,aAAiB,EACjB,eAAe,GAChB,EAAE,uBAAuB,2CA2NzB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ComponentType } from 'react';
|
|
2
2
|
import { SectionProps } from './types';
|
|
3
3
|
import { SettingsSectionProps } from './SettingsSection';
|
|
4
|
-
export { CedrosPayAdminDashboard, type CedrosPayAdminDashboardProps, type DashboardSection, } from './LazyCedrosPayAdminDashboard';
|
|
5
4
|
export { ConfigEditor, type ConfigEditorProps } from './ConfigEditor';
|
|
6
5
|
export declare const SettingsSection: ComponentType<SettingsSectionProps>;
|
|
7
6
|
export { type SettingsSectionProps } from './SettingsSection';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/admin/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAIL,KAAK,aAAa,EAGnB,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAmB9D,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,eAAO,MAAM,eAAe,qCAE3B,CAAC;AACF,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,eAAO,MAAM,oBAAoB,6BAEhC,CAAC;AACF,eAAO,MAAM,iBAAiB,6BAE7B,CAAC;AACF,eAAO,MAAM,UAAU,6BAEtB,CAAC;AAGF,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAChH,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AAGrB,eAAO,MAAM,eAAe,6BAE3B,CAAC;AACF,eAAO,MAAM,sBAAsB,6BAElC,CAAC;AACF,OAAO,EAAE,qBAAqB,EAAE,KAAK,gBAAgB,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG7G,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,cAAc,GACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,YAAY,EACZ,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,gBAAgB,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
* Main library exports
|
|
5
5
|
*/
|
|
6
6
|
export { CedrosPay } from './components/CedrosPay';
|
|
7
|
-
export { CedrosPayAdminDashboard, type CedrosPayAdminDashboardProps, type DashboardSection, } from './components/admin';
|
|
8
7
|
export { cedrosPayPlugin, CEDROS_PAY_SECTIONS, CEDROS_PAY_SECTION_IDS, CEDROS_PAY_GROUPS, type AdminHostContext, type AdminHostServiceBag, type SectionReference, type AdminPlugin, type AdminSectionConfig, type AdminGroupConfig, type AdminSectionProps, type HostContext, type PluginContext, type PluginRegistry, type PluginId, type SectionId, type QualifiedSectionId, type PluginPermission, } from './admin/index';
|
|
9
8
|
export { StripeButton } from './components/StripeButton';
|
|
10
9
|
export { ComplianceGatePage } from './components/ComplianceGatePage';
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MeteoraPoolManager.d.ts","sourceRoot":"","sources":["../../../src/managers/MeteoraPoolManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"MeteoraPoolManager.d.ts","sourceRoot":"","sources":["../../../src/managers/MeteoraPoolManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AA2D1E,qCAAqC;AACrC,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,8BAA8B;AAC9B,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,SAAS,CAAC;CACxB;AAED,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,eAAe,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,UAAU,CAAA;KAAE,CAAC;CAClE;AAKD;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,UAAU,CAA0B;IAC5C,OAAO,CAAC,OAAO,CAA0D;IACzE,OAAO,CAAC,YAAY,CAAgF;IAEpG,qFAAqF;YACvE,QAAQ;IAatB,6DAA6D;YAC/C,MAAM;IAOpB,gCAAgC;YAClB,WAAW;IAOzB;;;;;;;;OAQG;IACG,YAAY,CAChB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,EACpB,OAAO,SAAI,GACV,OAAO,CAAC,MAAM,CAAC;IAMlB;;;;OAIG;IACG,mBAAmB,CACvB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC;IAcrB;;;;;;;;;;;OAWG;IACG,UAAU,CACd,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,SAAS,EACvB,QAAQ,EAAE,SAAS,EACnB,WAAW,EAAE,MAAM,EACnB,OAAO,SAAI,EACX,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,gBAAgB,CAAC;IA4B5B;;;;;;;;;;OAUG;IACG,mBAAmB,CACvB,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,SAAS,EACtB,kBAAkB,EAAE,MAAM,EAC1B,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,kBAAkB,CAAC;IAgC9B;;;;OAIG;IACG,aAAa,CACjB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,SAAS,EACtB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,UAAU,CAAC;CAcvB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function importOptionalPeer<T>(parts: readonly string[]): Promise<T>;
|
|
2
|
+
export declare function setOptionalPeerImportOverride(specifier: string, value: unknown): void;
|
|
3
|
+
export declare function resetOptionalPeerImportOverrides(): void;
|
|
4
|
+
export declare const OPTIONAL_SOLANA_WEB3_SPECIFIER: readonly ["@solana", "/web3.js"];
|
|
5
|
+
export declare const OPTIONAL_METEORA_DLMM_SPECIFIER: readonly ["@meteora-ag", "/dlmm"];
|
|
6
|
+
//# sourceMappingURL=optionalPeerImport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optionalPeerImport.d.ts","sourceRoot":"","sources":["../../../src/utils/optionalPeerImport.ts"],"names":[],"mappings":"AAWA,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAY1E;AAED,wBAAgB,6BAA6B,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAErF;AAED,wBAAgB,gCAAgC,IAAI,IAAI,CAEvD;AAED,eAAO,MAAM,8BAA8B,kCAAmC,CAAC;AAC/E,eAAO,MAAM,+BAA+B,mCAAoC,CAAC"}
|
package/dist/stripe-only.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./styles
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./styles-BwaDljnz.js"),t=require("./CedrosContext-3Dz7_9Ct.js"),r=require("./fetchWithTimeout-CG0EKbhf.js");exports.CEDROS_EVENTS=e.CEDROS_EVENTS;exports.CSP_PRESETS=e.CSP_PRESETS;exports.CedrosPay=e.CedrosPay;exports.CreditsButton=e.CreditsButton;exports.CreditsSubscribeButton=e.CreditsSubscribeButton;exports.PaymentMethodBadge=e.PaymentMethodBadge;exports.PaymentModal=e.PaymentModal;exports.ProductPrice=e.ProductPrice;exports.PurchaseButton=e.PurchaseButton;exports.RPC_PROVIDERS=e.RPC_PROVIDERS;exports.SECURITY_RECOMMENDATIONS=e.SECURITY_RECOMMENDATIONS;exports.StripeButton=e.StripeButton;exports.SubscribeButton=e.SubscribeButton;exports.SubscriptionManagementPanel=e.SubscriptionManagementPanel;exports.calculateDiscountPercentage=e.calculateDiscountPercentage;exports.createTranslator=e.createTranslator;exports.detectLocale=e.detectLocale;exports.emitPaymentError=e.emitPaymentError;exports.emitPaymentProcessing=e.emitPaymentProcessing;exports.emitPaymentStart=e.emitPaymentStart;exports.emitPaymentSuccess=e.emitPaymentSuccess;exports.emitWalletConnect=e.emitWalletConnect;exports.emitWalletConnected=e.emitWalletConnected;exports.emitWalletError=e.emitWalletError;exports.formatCSP=e.formatCSP;exports.formatCouponCodes=e.formatCouponCodes;exports.generateCSP=e.generateCSP;exports.generateCSPDirectives=e.generateCSPDirectives;exports.getAvailableLocales=e.getAvailableLocales;exports.getLocalizedError=e.getLocalizedError;exports.getUserErrorMessage=e.getUserErrorMessage;exports.isRetryableError=e.isRetryableError;exports.loadLocale=e.loadLocale;exports.logSecurityReport=e.logSecurityReport;exports.parseCouponCodes=e.parseCouponCodes;exports.stackCheckoutCoupons=e.stackCheckoutCoupons;exports.useCreditsPayment=e.useCreditsPayment;exports.useCreditsSubscription=e.useCreditsSubscription;exports.useLocalizedError=e.useLocalizedError;exports.usePaymentMode=e.usePaymentMode;exports.useStripeCheckout=e.useStripeCheckout;exports.useSubscription=e.useSubscription;exports.useSubscriptionManagement=e.useSubscriptionManagement;exports.useTranslation=e.useTranslation;exports.validateSecurity=e.validateSecurity;exports.CIRCUIT_BREAKER_PRESETS=t.CIRCUIT_BREAKER_PRESETS;exports.CedrosProvider=t.CedrosProvider;exports.CircuitBreakerOpenError=t.CircuitBreakerOpenError;exports.CircuitState=t.CircuitState;exports.ERROR_CATEGORIES=t.ERROR_CATEGORIES;exports.RATE_LIMITER_PRESETS=t.RATE_LIMITER_PRESETS;exports.RETRY_PRESETS=t.RETRY_PRESETS;exports.createCircuitBreaker=t.createCircuitBreaker;exports.createRateLimiter=t.createRateLimiter;exports.retryWithBackoff=t.retryWithBackoff;exports.useCedrosContext=t.useCedrosContext;exports.useCedrosTheme=t.useCedrosTheme;exports.validateConfig=t.validateConfig;exports.LogLevel=r.LogLevel;exports.Logger=r.Logger;exports.createLogger=r.createLogger;exports.getLogger=r.getLogger;
|
package/dist/stripe-only.mjs
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { C as s, a as t, b as r, c as o, d as i, P as c, e as n, f as u, g as C, R as E, S, h as
|
|
2
|
-
import { C as H, a as J, b as Q, c as X, E as Z, R as $, e as ee, f as ae, g as se, k as te, u as re,
|
|
3
|
-
import { L as
|
|
4
|
-
import { u as Se } from "./ThemeContext-l0bqcOGW.mjs";
|
|
1
|
+
import { C as s, a as t, b as r, c as o, d as i, P as c, e as n, f as u, g as C, R as E, S, h as l, i as P, j as R, k as m, l as d, m as g, n as p, o as T, p as y, q as L, r as b, s as B, t as f, u as M, v as _, w as I, x as k, y as v, z as O, A as h, B as A, D, E as x, F as N, G as W, H as z, I as U, J as G, K, L as V, M as Y, N as j, O as q, Q as w } from "./styles-fihm6qVA.mjs";
|
|
2
|
+
import { C as H, a as J, b as Q, c as X, E as Z, R as $, e as ee, f as ae, g as se, k as te, u as re, l as oe, v as ie } from "./CedrosContext-DQc_k5PG.mjs";
|
|
3
|
+
import { L as ne, a as ue, c as Ce, g as Ee } from "./fetchWithTimeout-DmMOwL0Q.mjs";
|
|
5
4
|
export {
|
|
6
5
|
s as CEDROS_EVENTS,
|
|
7
6
|
H as CIRCUIT_BREAKER_PRESETS,
|
|
@@ -13,8 +12,8 @@ export {
|
|
|
13
12
|
o as CreditsButton,
|
|
14
13
|
i as CreditsSubscribeButton,
|
|
15
14
|
Z as ERROR_CATEGORIES,
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
ne as LogLevel,
|
|
16
|
+
ue as Logger,
|
|
18
17
|
c as PaymentMethodBadge,
|
|
19
18
|
n as PaymentModal,
|
|
20
19
|
u as ProductPrice,
|
|
@@ -23,12 +22,12 @@ export {
|
|
|
23
22
|
ee as RETRY_PRESETS,
|
|
24
23
|
E as RPC_PROVIDERS,
|
|
25
24
|
S as SECURITY_RECOMMENDATIONS,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
25
|
+
l as StripeButton,
|
|
26
|
+
P as SubscribeButton,
|
|
27
|
+
R as SubscriptionManagementPanel,
|
|
28
|
+
m as calculateDiscountPercentage,
|
|
30
29
|
ae as createCircuitBreaker,
|
|
31
|
-
|
|
30
|
+
Ce as createLogger,
|
|
32
31
|
se as createRateLimiter,
|
|
33
32
|
d as createTranslator,
|
|
34
33
|
g as detectLocale,
|
|
@@ -37,24 +36,24 @@ export {
|
|
|
37
36
|
y as emitPaymentStart,
|
|
38
37
|
L as emitPaymentSuccess,
|
|
39
38
|
b as emitWalletConnect,
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
B as emitWalletConnected,
|
|
40
|
+
f as emitWalletError,
|
|
42
41
|
M as formatCSP,
|
|
43
42
|
_ as formatCouponCodes,
|
|
44
43
|
I as generateCSP,
|
|
45
44
|
k as generateCSPDirectives,
|
|
46
45
|
v as getAvailableLocales,
|
|
47
46
|
O as getLocalizedError,
|
|
48
|
-
|
|
47
|
+
Ee as getLogger,
|
|
49
48
|
h as getUserErrorMessage,
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
49
|
+
A as isRetryableError,
|
|
50
|
+
D as loadLocale,
|
|
51
|
+
x as logSecurityReport,
|
|
53
52
|
N as parseCouponCodes,
|
|
54
53
|
te as retryWithBackoff,
|
|
55
54
|
W as stackCheckoutCoupons,
|
|
56
55
|
re as useCedrosContext,
|
|
57
|
-
|
|
56
|
+
oe as useCedrosTheme,
|
|
58
57
|
z as useCreditsPayment,
|
|
59
58
|
U as useCreditsSubscription,
|
|
60
59
|
G as useLocalizedError,
|
|
@@ -63,6 +62,6 @@ export {
|
|
|
63
62
|
Y as useSubscription,
|
|
64
63
|
j as useSubscriptionManagement,
|
|
65
64
|
q as useTranslation,
|
|
66
|
-
|
|
65
|
+
ie as validateConfig,
|
|
67
66
|
w as validateSecurity
|
|
68
67
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var Ae=Object.create;var be=Object.defineProperty;var ze=Object.getOwnPropertyDescriptor;var Ue=Object.getOwnPropertyNames;var Oe=Object.getPrototypeOf,Fe=Object.prototype.hasOwnProperty;var We=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Ue(t))!Fe.call(e,n)&&n!==r&&be(e,n,{get:()=>t[n],enumerable:!(s=ze(t,n))||s.enumerable});return e};var He=(e,t,r)=>(r=e!=null?Ae(Oe(e)):{},We(t||!e||!e.__esModule?be(r,"default",{value:e,enumerable:!0}):r,e));const I=require("./CedrosContext-3Dz7_9Ct.js"),i=require("react/jsx-runtime"),f=require("react"),L=require("./fetchWithTimeout-CG0EKbhf.js");function Ye(e){return!e||!e.coupon_codes?[]:e.coupon_codes.split(",").map(t=>t.trim()).filter(t=>t.length>0)}function Qe(e,t=", "){return e.join(t)}function Ve(e,t){return e<=0?0:(e-t)/e*100}function Ge(e,t){if(!t||t.length===0)return e;let r=e,s=0;for(const n of t)if(n.discountType==="percentage"){const u=1-n.discountValue/100;r=r*u}else n.discountType==="fixed"&&(s+=n.discountValue);return r=r-s,r<0&&(r=0),Math.ceil(r*100)/100}function xe(e){const t=Number(e);if(!Number.isFinite(t)||t<=0)return 1;const r=Math.floor(t);return r>0?r:1}function ae(e){return e.map(t=>({resource:t.resource,quantity:xe(t.quantity),variantId:t.variantId,metadata:t.metadata}))}function te(e){return e.reduce((t,r)=>t+xe(r.quantity),0)}function Ke(e){return!!(e&&e.length>0&&(e.length>1||e.length===1&&(e[0].quantity??1)>1))}const K=new Map,ue=new Map,Y=new Map,ce=1e3,we=200,de=2e3;function Xe(e){const t=Y.get(e);return t?Date.now()<t?!0:(Y.delete(e),!1):!1}function Je(e,t=we){const r=Date.now()+t;if(Y.set(e,r),Y.size>ce){const s=Array.from(Y.keys()).slice(0,Y.size-ce);for(const n of s)Y.delete(n)}}function Ze(e,t=de){const r=K.get(e);if(!r)return!1;const n=Date.now()-r;return n<t?(L.getLogger().debug(`[Deduplication] Duplicate request blocked: ${e} (${n}ms ago)`),!0):!1}function et(e){if(K.set(e,Date.now()),K.size>ce){const t=Array.from(K.keys()).slice(0,K.size-ce);for(const r of t)K.delete(r)}}function tt(e){return ue.get(e)||null}function rt(e,t){ue.set(e,t);const r=()=>{ue.delete(e),et(e)};return t.then(r,r),t}async function st(e,t,r={}){const{windowMs:s=de,throwOnDuplicate:n=!0}=r,u=tt(e);if(u)return L.getLogger().debug(`[Deduplication] Reusing in-flight request: ${e}`),u;if(Ze(e,s)){if(n)throw new Error(`Duplicate request blocked: ${e}`);L.getLogger().warn(`[Deduplication] Duplicate request blocked but not throwing: ${e}`);return}const h=t();return rt(e,h)}function X(e,t,r={}){const{cooldownMs:s=we,deduplicationWindowMs:n=de}=r;return async()=>{if(Xe(e)){L.getLogger().debug(`[Deduplication] Button in cooldown: ${e}`);return}Je(e,s);try{await st(e,async()=>{const u=t();u instanceof Promise&&await u},{windowMs:n,throwOnDuplicate:!1})}catch(u){if(u instanceof Error&&u.message.includes("Duplicate request"))return;throw u}}}function Se(e){return{background:"none",border:"none",fontSize:"1.5rem",cursor:"pointer",color:e,opacity:.6,padding:"0.25rem",lineHeight:1}}const H={PAYMENT_START:"cedros:payment:start",WALLET_CONNECT:"cedros:wallet:connect",WALLET_CONNECTED:"cedros:wallet:connected",WALLET_ERROR:"cedros:wallet:error",PAYMENT_PROCESSING:"cedros:payment:processing",PAYMENT_SUCCESS:"cedros:payment:success",PAYMENT_ERROR:"cedros:payment:error"};function V(e,t){if(typeof window>"u")return;const r=new CustomEvent(e,{detail:t,bubbles:!0,cancelable:!1});window.dispatchEvent(r)}function J(e,t,r){V(H.PAYMENT_START,{timestamp:Date.now(),method:e,resource:t,itemCount:r})}function nt(e){V(H.WALLET_CONNECT,{timestamp:Date.now(),wallet:e})}function ot(e,t){V(H.WALLET_CONNECTED,{timestamp:Date.now(),wallet:e,publicKey:t})}function it(e,t){V(H.WALLET_ERROR,{timestamp:Date.now(),wallet:t,error:e})}function Z(e,t,r){V(H.PAYMENT_PROCESSING,{timestamp:Date.now(),method:e,resource:t,itemCount:r})}function ee(e,t,r,s){V(H.PAYMENT_SUCCESS,{timestamp:Date.now(),method:e,transactionId:t,resource:r,itemCount:s})}function W(e,t,r,s){V(H.PAYMENT_ERROR,{timestamp:Date.now(),method:e,error:t,resource:r,itemCount:s})}function at(e){return e instanceof I.PaymentError&&e.canRetry()}function ct(e){return e instanceof I.PaymentError?e.getUserMessage():e instanceof Error?e.message:String(e)}function lt(e){switch(e){case"mainnet-beta":return"https://api.mainnet-beta.solana.com";case"devnet":return"https://api.devnet.solana.com";case"testnet":return"https://api.testnet.solana.com";default:return"https://api.mainnet-beta.solana.com"}}function ut(e){try{const t=new URL(e);return`${t.protocol}//${t.host}`}catch{return e}}function Pe(e={}){const{solanaCluster:t="mainnet-beta",solanaEndpoint:r,customRpcProviders:s=[],allowUnsafeScripts:n=!1,additionalScriptSrc:u=[],additionalConnectSrc:h=[],additionalFrameSrc:x=[],includeStripe:C=!0,includeSolana:l=!0}=e;n&&console.warn("[CedrosPay] SECURITY WARNING: allowUnsafeScripts is enabled. This adds 'unsafe-inline' and 'unsafe-eval' to script-src, which significantly weakens CSP protection against XSS attacks. Only use this in development or if absolutely required by your framework.");const a=["'self'"];n&&a.push("'unsafe-inline'","'unsafe-eval'"),C&&a.push("https://js.stripe.com"),a.push(...u);const o=["'self'"];if(C&&o.push("https://api.stripe.com","https://*.stripe.com"),l){const p=lt(t);if(o.push(p),r){const c=ut(r);o.includes(c)||o.push(c)}s.forEach(c=>{o.includes(c)||o.push(c)})}o.push(...h);const d=["'self'"];return C&&d.push("https://js.stripe.com","https://checkout.stripe.com"),d.push(...x),{scriptSrc:a,connectSrc:o,frameSrc:d}}function ve(e,t="header"){const{scriptSrc:r,connectSrc:s,frameSrc:n}=e;switch(t){case"header":case"meta":case"nextjs":case"nginx":{const u=[];return r.length>0&&u.push(`script-src ${r.join(" ")}`),s.length>0&&u.push(`connect-src ${s.join(" ")}`),n.length>0&&u.push(`frame-src ${n.join(" ")}`),u.join("; ")}case"helmet":{const u={};return r.length>0&&(u.scriptSrc=r),s.length>0&&(u.connectSrc=s),n.length>0&&(u.frameSrc=n),u}case"directives":return{scriptSrc:r,connectSrc:s,frameSrc:n};default:throw new Error(`Unknown CSP format: ${t}`)}}function dt(e={},t="header"){const r=Pe(e);return ve(r,t)}const pt={HELIUS:"https://*.helius-rpc.com",QUICKNODE:"https://*.quicknode.pro",ALCHEMY:"https://*.alchemy.com",ANKR:"https://rpc.ankr.com",TRITON:"https://*.rpcpool.com"},ft={MAINNET_CUSTOM_RPC:e=>({solanaCluster:"mainnet-beta",solanaEndpoint:e,allowUnsafeScripts:!1}),MAINNET_NEXTJS:e=>({solanaCluster:"mainnet-beta",solanaEndpoint:e,allowUnsafeScripts:!1}),DEVNET:()=>({solanaCluster:"devnet",allowUnsafeScripts:!1}),CRYPTO_ONLY:e=>({solanaCluster:"mainnet-beta",solanaEndpoint:e,includeStripe:!1}),STRIPE_ONLY:()=>({includeStripe:!0,includeSolana:!1})};function pe(){const{stripeManager:e}=I.useCedrosContext(),[t,r]=f.useState({status:"idle",error:null,transactionId:null}),s=f.useRef(!1),n=f.useCallback(async(x,C,l,a,o,d)=>{if(s.current)return{success:!1,error:"Payment already in progress"};s.current=!0,r({status:"loading",error:null,transactionId:null});const p={resource:x,successUrl:C,cancelUrl:l,metadata:a,customerEmail:o,couponCode:d};try{const c=await e.processPayment(p);return r({status:c.success?"success":"error",error:c.success?null:c.error||"Payment failed",transactionId:c.success&&c.transactionId||null}),c}catch(c){const m=c instanceof Error?c.message:"Payment failed";return r({status:"error",error:m,transactionId:null}),{success:!1,error:m}}finally{s.current=!1}},[e]),u=f.useCallback(async(x,C,l,a,o,d,p,c,m,g,y,b,M)=>{if(s.current)return{success:!1,error:"Payment already in progress"};s.current=!0,r({status:"loading",error:null,transactionId:null});const S=ae(x);try{const P=await e.processCartCheckout({items:S,successUrl:C,cancelUrl:l,metadata:a,customerEmail:o,customerName:p,customerPhone:c,shippingAddress:m,billingAddress:g,couponCode:d,tipAmount:y,shippingMethodId:b,paymentMethodId:M});return r({status:P.success?"success":"error",error:P.success?null:P.error||"Cart checkout failed",transactionId:P.success&&P.transactionId||null}),P}catch(P){const _=P instanceof Error?P.message:"Cart checkout failed";return r({status:"error",error:_,transactionId:null}),{success:!1,error:_}}finally{s.current=!1}},[e]),h=f.useCallback(()=>{r({status:"idle",error:null,transactionId:null}),s.current=!1},[]);return{...t,processPayment:n,processCartCheckout:u,reset:h}}function re(e,t){return f.useMemo(()=>{const r=Ke(t),s=e||(t?.length===1?t[0].resource:"");return{isCartMode:r,effectiveResource:s}},[e,t])}const mt=(e,t,r)=>{const s=e[t];return s?typeof s=="function"?s():Promise.resolve(s):new Promise((n,u)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(u.bind(null,new Error("Unknown variable dynamic import: "+t+(t.split("/").length!==r?". Note that variables only represent file names one level deep.":""))))})},le=new Map;let ie=null;async function Ce(e){if(le.has(e))return le.get(e);try{const t=await mt(Object.assign({"./translations/ar.json":()=>Promise.resolve().then(()=>require("./ar-LVoQZTFI.js")),"./translations/bn.json":()=>Promise.resolve().then(()=>require("./bn-BR5Cv1T4.js")),"./translations/de.json":()=>Promise.resolve().then(()=>require("./de-pQxy-oD1.js")),"./translations/en.json":()=>Promise.resolve().then(()=>require("./en-Yikrt96u.js")),"./translations/es.json":()=>Promise.resolve().then(()=>require("./es-D24cg8dD.js")),"./translations/fil.json":()=>Promise.resolve().then(()=>require("./fil-BOBft9G-.js")),"./translations/fr.json":()=>Promise.resolve().then(()=>require("./fr-Ct9ub8Fa.js")),"./translations/he.json":()=>Promise.resolve().then(()=>require("./he-DtQqRKRq.js")),"./translations/id.json":()=>Promise.resolve().then(()=>require("./id-CiM2mL7C.js")),"./translations/in.json":()=>Promise.resolve().then(()=>require("./in-Bzcjmxcc.js")),"./translations/it.json":()=>Promise.resolve().then(()=>require("./it-Blb_pIJl.js")),"./translations/jp.json":()=>Promise.resolve().then(()=>require("./jp-9NHyIuwY.js")),"./translations/kr.json":()=>Promise.resolve().then(()=>require("./kr-DvzJ-0yX.js")),"./translations/ms.json":()=>Promise.resolve().then(()=>require("./ms-BOAu5pUB.js")),"./translations/nl.json":()=>Promise.resolve().then(()=>require("./nl-WHh_DfO8.js")),"./translations/pa.json":()=>Promise.resolve().then(()=>require("./pa-B7kIhZCF.js")),"./translations/pl.json":()=>Promise.resolve().then(()=>require("./pl-H0hBKdvF.js")),"./translations/pt.json":()=>Promise.resolve().then(()=>require("./pt-DwGrViQ3.js")),"./translations/ru.json":()=>Promise.resolve().then(()=>require("./ru-CB2m0UDT.js")),"./translations/ta.json":()=>Promise.resolve().then(()=>require("./ta-CAS197uN.js")),"./translations/th.json":()=>Promise.resolve().then(()=>require("./th-Cpz2cFcg.js")),"./translations/tr.json":()=>Promise.resolve().then(()=>require("./tr-hQrEFk86.js")),"./translations/uk.json":()=>Promise.resolve().then(()=>require("./uk-DrK2Sv8C.js")),"./translations/ur.json":()=>Promise.resolve().then(()=>require("./ur-D5-7mN9a.js")),"./translations/vn.json":()=>Promise.resolve().then(()=>require("./vn-B_iut9YL.js")),"./translations/zh.json":()=>Promise.resolve().then(()=>require("./zh-PR82dCHr.js"))}),`./translations/${e}.json`,3),r=t.default||t;return le.set(e,r),r}catch{return null}}async function gt(){if(ie)return ie;const e=Object.assign({"./translations/ar.json":()=>Promise.resolve().then(()=>require("./ar-LVoQZTFI.js")),"./translations/bn.json":()=>Promise.resolve().then(()=>require("./bn-BR5Cv1T4.js")),"./translations/de.json":()=>Promise.resolve().then(()=>require("./de-pQxy-oD1.js")),"./translations/en.json":()=>Promise.resolve().then(()=>require("./en-Yikrt96u.js")),"./translations/es.json":()=>Promise.resolve().then(()=>require("./es-D24cg8dD.js")),"./translations/fil.json":()=>Promise.resolve().then(()=>require("./fil-BOBft9G-.js")),"./translations/fr.json":()=>Promise.resolve().then(()=>require("./fr-Ct9ub8Fa.js")),"./translations/he.json":()=>Promise.resolve().then(()=>require("./he-DtQqRKRq.js")),"./translations/id.json":()=>Promise.resolve().then(()=>require("./id-CiM2mL7C.js")),"./translations/in.json":()=>Promise.resolve().then(()=>require("./in-Bzcjmxcc.js")),"./translations/it.json":()=>Promise.resolve().then(()=>require("./it-Blb_pIJl.js")),"./translations/jp.json":()=>Promise.resolve().then(()=>require("./jp-9NHyIuwY.js")),"./translations/kr.json":()=>Promise.resolve().then(()=>require("./kr-DvzJ-0yX.js")),"./translations/ms.json":()=>Promise.resolve().then(()=>require("./ms-BOAu5pUB.js")),"./translations/nl.json":()=>Promise.resolve().then(()=>require("./nl-WHh_DfO8.js")),"./translations/pa.json":()=>Promise.resolve().then(()=>require("./pa-B7kIhZCF.js")),"./translations/pl.json":()=>Promise.resolve().then(()=>require("./pl-H0hBKdvF.js")),"./translations/pt.json":()=>Promise.resolve().then(()=>require("./pt-DwGrViQ3.js")),"./translations/ru.json":()=>Promise.resolve().then(()=>require("./ru-CB2m0UDT.js")),"./translations/ta.json":()=>Promise.resolve().then(()=>require("./ta-CAS197uN.js")),"./translations/th.json":()=>Promise.resolve().then(()=>require("./th-Cpz2cFcg.js")),"./translations/tr.json":()=>Promise.resolve().then(()=>require("./tr-hQrEFk86.js")),"./translations/uk.json":()=>Promise.resolve().then(()=>require("./uk-DrK2Sv8C.js")),"./translations/ur.json":()=>Promise.resolve().then(()=>require("./ur-D5-7mN9a.js")),"./translations/vn.json":()=>Promise.resolve().then(()=>require("./vn-B_iut9YL.js")),"./translations/zh.json":()=>Promise.resolve().then(()=>require("./zh-PR82dCHr.js"))}),t=[];for(const r in e){const s=r.match(/\.\/translations\/([a-z]{2,3}(?:-[A-Z]{2})?)\.json$/);s&&t.push(s[1])}return ie=t.length>0?t:["en"],ie}function je(){return typeof navigator>"u"?"en":(navigator.language||navigator.userLanguage||"en").split("-")[0].toLowerCase()}async function ke(e){let t=await Ce(e);if(t||(t=await Ce("en"),t))return t;throw new Error("Critical: No translation files found, not even en.json")}function Ee(e){return(t,r)=>{const s=t.split(".");let n=e;for(const u of s)if(n&&typeof n=="object"&&u in n)n=n[u];else return t;return typeof n!="string"?t:r?Object.entries(r).reduce((u,[h,x])=>u.replace(new RegExp(`\\{${h}\\}`,"g"),x),n):n}}function ht(e,t,r=!0){const s=t.errors[e];if(!s){const n=I.getUserFriendlyError(e);return r&&n.action?`${n.message} ${n.action}`:n.message}return r&&s.action?`${s.message} ${s.action}`:s.message}function G(e){const[t,r]=f.useState(null),[s,n]=f.useState(!0),u=f.useMemo(()=>e||je(),[e]);return f.useEffect(()=>{let x=!1;return(async()=>{n(!0);try{const l=await ke(u);x||(r(l),n(!1))}catch(l){console.error("[CedrosPay] Failed to load translations:",l),x||n(!1)}})(),()=>{x=!0}},[u]),{t:f.useMemo(()=>t?Ee(t):x=>({"ui.purchase":"Purchase","ui.pay_with_card":"Pay with Card","ui.pay_with_crypto":"Pay with USDC","ui.pay_with_usdc":"Pay with USDC","ui.card":"Card","ui.usdc_solana":"USDC (Solana)","ui.crypto":"Crypto","ui.processing":"Processing...","ui.loading":"Loading...","ui.connect_wallet":"Connect Wallet","ui.connecting":"Connecting..."})[x]||x,[t]),locale:u,isLoading:s,translations:t}}function yt(e,t=!0){const{translations:r}=G();if(!r){const n=I.getUserFriendlyError(e);return t&&n.action?`${n.message} ${n.action}`:n.message}const s=r.errors[e];if(!s){const n=I.getUserFriendlyError(e);return t&&n.action?`${n.message} ${n.action}`:n.message}return t&&s.action?`${s.message} ${s.action}`:s.message}function fe({resource:e,items:t,successUrl:r,cancelUrl:s,metadata:n,customerEmail:u,couponCode:h,label:x,disabled:C=!1,onAttempt:l,onSuccess:a,onError:o,className:d=""}){const{status:p,error:c,transactionId:m,processPayment:g,processCartCheckout:y}=pe(),b=I.useCedrosTheme(),{isCartMode:M,effectiveResource:S}=re(e,t),{t:P,translations:_}=G(),$=x||P("ui.pay_with_card"),z=b.unstyled?d:`${b.className} cedros-theme__stripe-button ${d}`.trim(),A=c&&typeof c!="string"?c?.code??null:null,w=c?typeof c=="string"?c:(v=>{if(!v||!_)return"";const E=_.errors[v];return E?E.action?`${E.message} ${E.action}`:E.message:""})(A):null,j=f.useCallback(async()=>{L.getLogger().debug("[StripeButton] executePayment with couponCode:",h);const v=M&&t?te(t):void 0;if(J("stripe",S,v),l&&l("stripe"),!M&&!S){const O="Invalid payment configuration: missing resource or items";L.getLogger().error("[StripeButton]",O),W("stripe",O,S,v),o&&o(O);return}let E;Z("stripe",S,v),M&&t?(L.getLogger().debug("[StripeButton] Processing cart checkout with coupon:",h),E=await y(t,r,s,n,u,h)):S&&(L.getLogger().debug("[StripeButton] Processing single payment with coupon:",h),E=await g(S,r,s,n,u,h)),E&&E.success&&E.transactionId?(ee("stripe",E.transactionId,S,v),a&&a(E.transactionId)):E&&!E.success&&E.error&&(W("stripe",E.error,S,v),o&&o(E.error))},[h,M,S,t,r,s,n,u,y,g,l,a,o]),B=f.useMemo(()=>M&&t?`stripe-cart-${t.map(v=>v.resource).join("-")}`:`stripe-${S||"unknown"}`,[M,t,S]),k=f.useMemo(()=>X(B,j),[B,j]),T=p==="loading",R=C||T;return i.jsxs("div",{className:z,style:b.unstyled?{}:b.style,children:[i.jsx("button",{onClick:k,disabled:R,className:b.unstyled?d:"cedros-theme__button cedros-theme__stripe",type:"button",children:T?P("ui.processing"):$}),w&&i.jsx("div",{className:b.unstyled?"":"cedros-theme__error",children:w}),m&&i.jsx("div",{className:b.unstyled?"":"cedros-theme__success",children:P("ui.payment_successful")})]})}function Me(){const{creditsManager:e}=I.useCedrosContext(),[t,r]=f.useState({status:"idle",error:null,transactionId:null,requirement:null,holdId:null}),s=f.useRef(!1),n=f.useCallback(async(l,a)=>{r(o=>({...o,status:"loading",error:null}));try{const o=await e.requestQuote(l,a);return r(d=>({...d,status:"idle",requirement:o})),o}catch(o){const d=o instanceof Error?o.message:"Failed to fetch credits quote";return r(p=>({...p,status:"error",error:d})),null}},[e]),u=f.useCallback(async(l,a)=>{r(o=>({...o,status:"loading",error:null}));try{const o=ae(l),d=await e.requestCartQuote(o,a);return r(p=>({...p,status:"idle"})),d}catch(o){const d=o instanceof Error?o.message:"Failed to fetch cart credits quote";return r(p=>({...p,status:"error",error:d})),null}},[e]),h=f.useCallback(async(l,a,o,d)=>{if(s.current)return{success:!1,error:"Payment already in progress"};s.current=!0,r({status:"loading",error:null,transactionId:null,requirement:null,holdId:null});try{const p=await e.processPayment(l,a,o,d);return r({status:p.success?"success":"error",error:p.success?null:p.error||"Credits payment failed",transactionId:p.success&&p.transactionId||null,requirement:null,holdId:null}),p}catch(p){const c=p instanceof Error?p.message:"Credits payment failed";return r({status:"error",error:c,transactionId:null,requirement:null,holdId:null}),{success:!1,error:c}}finally{s.current=!1}},[e]),x=f.useCallback(async(l,a,o,d)=>{if(s.current)return{success:!1,error:"Payment already in progress"};s.current=!0,r({status:"loading",error:null,transactionId:null,requirement:null,holdId:null});let p=null;try{const c=ae(l),m=await e.requestCartQuote(c,o);if(!m)return r({status:"error",error:"Credits payment not available for this cart",transactionId:null,requirement:null,holdId:null}),{success:!1,error:"Credits payment not available"};p=(await e.createCartHold({cartId:m.cartId,authToken:a})).holdId,r(b=>({...b,holdId:p}));const y=await e.authorizeCartPayment({cartId:m.cartId,holdId:p,authToken:a,metadata:d});if(!y.success&&p)try{await e.releaseHold(p,a)}catch(b){L.getLogger().warn("[useCreditsPayment] Hold release failed, will expire server-side",{holdId:p,error:b instanceof Error?b.message:String(b)})}return r({status:y.success?"success":"error",error:y.success?null:y.error||"Cart credits payment failed",transactionId:y.success&&y.transactionId||null,requirement:null,holdId:null}),{success:y.success,transactionId:y.transactionId,error:y.error}}catch(c){const m=c instanceof Error?c.message:"Cart credits payment failed";if(p)try{await e.releaseHold(p,a)}catch(g){L.getLogger().warn("[useCreditsPayment] Hold release failed, will expire server-side",{holdId:p,error:g instanceof Error?g.message:String(g)})}return r({status:"error",error:m,transactionId:null,requirement:null,holdId:null}),{success:!1,error:m}}finally{s.current=!1}},[e]),C=f.useCallback(()=>{r({status:"idle",error:null,transactionId:null,requirement:null,holdId:null}),s.current=!1},[]);return{...t,fetchQuote:n,fetchCartQuote:u,processPayment:h,processCartPayment:x,reset:C}}function me({resource:e,items:t,authToken:r,metadata:s,couponCode:n,label:u,disabled:h=!1,onAttempt:x,onSuccess:C,onError:l,className:a=""}){const{status:o,error:d,transactionId:p,processPayment:c,processCartPayment:m}=Me(),g=I.useCedrosTheme(),{isCartMode:y,effectiveResource:b}=re(e,t),{t:M,translations:S}=G(),P=u||M("ui.pay_with_credits")||"Pay with Credits",_=g.unstyled?a:`${g.className} cedros-theme__credits-button ${a}`.trim(),$=d&&typeof d!="string"?d?.code??null:null,A=d?typeof d=="string"?d:(T=>{if(!T||!S)return"";const R=S.errors[T];return R?R.action?`${R.message} ${R.action}`:R.message:""})($):null,q=f.useCallback(async()=>{L.getLogger().debug("[CreditsButton] executePayment");const T=y&&t?te(t):void 0;if(J("credits",b,T),x&&x("credits"),!r){const v="Authentication required: please log in to pay with credits";L.getLogger().error("[CreditsButton]",v),W("credits",v,b,T),l&&l(v);return}if(!y&&!b){const v="Invalid payment configuration: missing resource";L.getLogger().error("[CreditsButton]",v),W("credits",v,b,T),l&&l(v);return}let R;Z("credits",b,T),y&&t?(L.getLogger().debug("[CreditsButton] Processing cart checkout"),R=await m(t,r,n,s)):b&&(L.getLogger().debug("[CreditsButton] Processing single payment"),R=await c(b,r,n,s)),R&&R.success&&R.transactionId?(ee("credits",R.transactionId,b,T),C&&C(R.transactionId)):R&&!R.success&&R.error&&(W("credits",R.error,b,T),l&&l(R.error))},[r,y,b,t,n,s,c,m,x,C,l]),w=f.useMemo(()=>y&&t?`credits-cart-${t.map(T=>T.resource).join("-")}`:`credits-${b||"unknown"}`,[y,t,b]),j=f.useMemo(()=>X(w,q),[w,q]),B=o==="loading",k=h||B;return i.jsxs("div",{className:_,style:g.unstyled?{}:g.style,children:[i.jsx("button",{onClick:j,disabled:k,className:g.unstyled?a:"cedros-theme__button cedros-theme__credits",type:"button",children:B?M("ui.processing"):P}),A&&i.jsx("div",{className:g.unstyled?"":"cedros-theme__error",children:A}),p&&i.jsx("div",{className:g.unstyled?"":"cedros-theme__success",children:M("ui.payment_successful")})]})}const bt=f.lazy(()=>Promise.resolve().then(()=>require("./CryptoButton-BQceZhbn.js")).then(e=>e.CryptoButton$1).then(e=>({default:e.CryptoButton}))),Re=({isOpen:e,onClose:t,resource:r,items:s,cardLabel:n="Card",cryptoLabel:u="USDC (Solana)",creditsLabel:h="Pay with Credits",showCard:x=!0,showCrypto:C=!0,showCredits:l=!1,onPaymentAttempt:a,onPaymentSuccess:o,onPaymentError:d,onStripeSuccess:p,onCryptoSuccess:c,onCreditsSuccess:m,onStripeError:g,onCryptoError:y,onCreditsError:b,customerEmail:M,successUrl:S,cancelUrl:P,metadata:_,couponCode:$,authToken:z,testPageUrl:A,hideMessages:q=!1})=>{const{tokens:w}=I.useCedrosTheme();return f.useEffect(()=>{const j=B=>{B.key==="Escape"&&e&&t()};return window.addEventListener("keydown",j),()=>window.removeEventListener("keydown",j)},[e,t]),f.useEffect(()=>{if(e){const j=window.scrollY;return document.body.style.position="fixed",document.body.style.top=`-${j}px`,document.body.style.width="100%",document.body.style.overflowY="scroll",()=>{const B=document.body.style.top?Math.abs(parseInt(document.body.style.top.replace("px",""),10)):0;document.body.style.position="",document.body.style.top="",document.body.style.width="",document.body.style.overflowY="",window.scrollTo(0,B)}}},[e]),e?i.jsx("div",{className:"cedros-modal-overlay",style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:w.modalOverlay,display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999,padding:"1rem"},onClick:t,children:i.jsxs("div",{className:"cedros-modal-content",style:{backgroundColor:w.modalBackground,borderRadius:"12px",padding:"2rem",maxWidth:"400px",width:"100%",boxShadow:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",border:`1px solid ${w.modalBorder}`},onClick:j=>j.stopPropagation(),children:[i.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1.5rem"},children:[i.jsx("h3",{style:{margin:0,fontSize:"1.25rem",fontWeight:600,color:w.surfaceText},children:"Choose Payment Method"}),i.jsx("button",{type:"button",onClick:t,style:Se(w.surfaceText),"aria-label":"Close modal",children:"×"})]}),i.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1rem"},children:[x&&i.jsx(fe,{resource:r,items:s,label:n,onAttempt:a,onSuccess:p||o,onError:g||d,customerEmail:M,successUrl:S,cancelUrl:P,metadata:_,couponCode:$}),C&&i.jsx(f.Suspense,{fallback:null,children:i.jsx(bt,{resource:r,items:s,label:u,onAttempt:a,onSuccess:c||o,onError:y||d,testPageUrl:A,hideMessages:q,metadata:_,couponCode:$})}),l&&i.jsx(me,{resource:r,items:s,label:h,authToken:z,onAttempt:a?()=>a("credits"):void 0,onSuccess:m||o,onError:b||d,metadata:_,couponCode:$})]})]})}):null},Te=({resource:e,items:t,label:r,cardLabel:s,cryptoLabel:n,creditsLabel:u,showCard:h=!0,showCrypto:x=!0,showCredits:C=!1,onPaymentAttempt:l,onPaymentSuccess:a,onPaymentError:o,onStripeSuccess:d,onCryptoSuccess:p,onCreditsSuccess:c,onStripeError:m,onCryptoError:g,onCreditsError:y,customerEmail:b,successUrl:M,cancelUrl:S,metadata:P,couponCode:_,authToken:$,autoDetectWallets:z=!0,testPageUrl:A,hideMessages:q=!1,renderModal:w})=>{const j=I.useCedrosTheme(),[B,k]=f.useState(!1),{status:T,processPayment:R,processCartCheckout:v}=pe(),{isCartMode:E,effectiveResource:O}=re(e,t),{t:N}=G(),F=r||N("ui.purchase"),Ne=s||N("ui.card"),De=n||N("ui.usdc_solana"),Be=u||N("ui.pay_with_credits")||"Pay with Credits",ge=f.useCallback(async()=>{if(z&&h){const{detectSolanaWallets:D}=await Promise.resolve().then(()=>require("./walletDetection-bNmV5ItZ.js"));if(!D()){const ne=E?void 0:O,oe=E&&t?te(t):void 0;J("stripe",ne,oe),l&&l("stripe"),Z("stripe",ne,oe);let U;E&&t?U=await v(t,M,S,P,b,_):O&&(U=await R(O,M,S,P,b,_)),U&&U.success&&U.transactionId?(ee("stripe",U.transactionId,ne,oe),d?d(U.transactionId):a&&a(U.transactionId)):U&&!U.success&&U.error&&(W("stripe",U.error,ne,oe),m?m(U.error):o&&o(U.error));return}}k(!0)},[z,h,E,t,O,v,R,M,S,P,b,_,a,o,d,m,l]),he=f.useMemo(()=>E&&t?`purchase-cart-${t.map(D=>D.resource).join("-")}`:`purchase-${O||"unknown"}`,[E,t,O]),$e=f.useMemo(()=>X(he,ge),[he,ge]),se=T==="loading",ye={isOpen:B,onClose:()=>k(!1),resource:E?void 0:O,items:E?t:void 0,cardLabel:Ne,cryptoLabel:De,creditsLabel:Be,showCard:h,showCrypto:x,showCredits:C,onPaymentAttempt:l,onPaymentSuccess:D=>{k(!1),a?.(D)},onPaymentError:D=>{k(!1),o?.(D)},onStripeSuccess:D=>{k(!1),d?.(D)},onCryptoSuccess:D=>{k(!1),p?.(D)},onCreditsSuccess:D=>{k(!1),c?.(D)},onStripeError:D=>{k(!1),m?.(D)},onCryptoError:D=>{k(!1),g?.(D)},onCreditsError:D=>{k(!1),y?.(D)},customerEmail:b,successUrl:M,cancelUrl:S,metadata:P,couponCode:_,authToken:$,testPageUrl:A,hideMessages:q};return i.jsxs("div",{className:j.unstyled?"":j.className,style:j.unstyled?{}:j.style,children:[i.jsx("button",{onClick:$e,disabled:se,className:j.unstyled?"":"cedros-theme__button cedros-theme__stripe",style:{width:"100%",cursor:se?"not-allowed":"pointer",opacity:se?.6:1},type:"button",children:se?N("ui.processing"):F}),w?w(ye):i.jsx(Re,{...ye})]})},Ct={"mainnet-beta":"https://api.mainnet-beta.solana.com",devnet:"https://api.devnet.solana.com",testnet:"https://api.testnet.solana.com"};function xt(){const[e,t]=f.useState(null);return f.useEffect(()=>{let r=!1;return import("@solana/wallet-adapter-react").then(s=>{r||t(s)}),()=>{r=!0}},[]),e}function wt({endpoint:e,wallets:t,children:r}){const s=xt();if(!s)return i.jsx(i.Fragment,{children:r});const{ConnectionProvider:n,WalletProvider:u}=s;return i.jsx(n,{endpoint:e,children:i.jsx(u,{wallets:t,autoConnect:!1,children:r})})}const St=f.lazy(()=>Promise.resolve().then(()=>require("./CryptoButton-BQceZhbn.js")).then(e=>e.CryptoButton$1).then(e=>({default:e.CryptoButton})));function Pt(e){const{resource:t,items:r,checkout:s={},display:n={},callbacks:u={},advanced:h={}}=e,{config:x,walletPool:C}=I.useCedrosContext(),l=I.useCedrosTheme(),{isCartMode:a}=re(t,r),o=n.showCrypto??!0,d=f.useMemo(()=>({marginTop:"0.5rem",fontSize:"0.875rem",color:l.tokens.surfaceText,opacity:.7,textAlign:"center"}),[l.tokens.surfaceText]),p=f.useMemo(()=>o?h.wallets&&h.wallets.length>0?h.wallets:C.getAdapters():[],[h.wallets,C,o]),c=f.useMemo(()=>r?te(r):0,[r]),{onPaymentSuccess:m,onPaymentError:g,onPaymentAttempt:y}=u,b=f.useCallback(v=>m?.({transactionId:v,method:"stripe"}),[m]),M=f.useCallback(v=>m?.({transactionId:v,method:"crypto"}),[m]),S=f.useCallback(v=>g?.({message:v,method:"stripe"}),[g]),P=f.useCallback(v=>g?.({message:v,method:"crypto"}),[g]),_=f.useCallback(v=>m?.({transactionId:v,method:"credits"}),[m]),$=f.useCallback(v=>g?.({message:v,method:"credits"}),[g]),z=f.useCallback(()=>y?.("credits"),[y]),A=o?x.solanaEndpoint??Ct[x.solanaCluster]:"";if(!t&&(!r||r.length===0))return L.getLogger().error('CedrosPay: Must provide either "resource" or "items" prop'),i.jsx("div",{className:n.className,style:{color:l.tokens.errorText},children:"Configuration error: No resource or items provided"});const q=n.showCard??!0,w=n.showCredits??!1,j=n.showPurchaseButton??!1,B=n.layout??"vertical",k=n.hideMessages??!1,T=h.autoDetectWallets??!0,R=i.jsx("div",{className:l.unstyled?n.className:`cedros-theme__pay ${n.className||""}`,children:i.jsxs("div",{className:l.unstyled?"":`cedros-theme__pay-content cedros-theme__pay-content--${B}`,children:[j?i.jsx(Te,{resource:a?void 0:t||r?.[0]?.resource,items:a?r:void 0,label:n.purchaseLabel,cardLabel:n.cardLabel,cryptoLabel:n.cryptoLabel,showCard:q,showCrypto:o,onPaymentAttempt:u.onPaymentAttempt,onPaymentSuccess:b,onPaymentError:S,onStripeSuccess:b,onCryptoSuccess:M,onStripeError:S,onCryptoError:P,customerEmail:s.customerEmail,successUrl:s.successUrl,cancelUrl:s.cancelUrl,metadata:s.metadata,couponCode:s.couponCode,autoDetectWallets:T,testPageUrl:h.testPageUrl,hideMessages:k,renderModal:n.renderModal}):i.jsxs(i.Fragment,{children:[q&&i.jsx(fe,{resource:a?void 0:t||r?.[0]?.resource,items:a?r:void 0,customerEmail:s.customerEmail,successUrl:s.successUrl,cancelUrl:s.cancelUrl,metadata:s.metadata,couponCode:s.couponCode,label:n.cardLabel,onAttempt:u.onPaymentAttempt,onSuccess:b,onError:S}),o&&i.jsx(f.Suspense,{fallback:null,children:i.jsx(St,{resource:a?void 0:t||r?.[0]?.resource,items:a?r:void 0,metadata:s.metadata,couponCode:s.couponCode,label:n.cryptoLabel,onAttempt:u.onPaymentAttempt,onSuccess:M,onError:P,testPageUrl:h.testPageUrl,hideMessages:k})}),w&&i.jsx(me,{resource:a?void 0:t||r?.[0]?.resource,items:a?r:void 0,authToken:s.authToken,metadata:s.metadata,couponCode:s.couponCode,label:n.creditsLabel,onAttempt:z,onSuccess:_,onError:$})]}),a&&r&&r.length>1&&!k&&i.jsxs("div",{style:d,children:["Checking out ",c," items"]})]})});return i.jsx("div",{className:l.unstyled?n.className:l.className,style:l.unstyled?{}:l.style,children:i.jsx(wt,{endpoint:A||"https://api.devnet.solana.com",wallets:p,children:R})})}function vt({product:e,paymentMethod:t,showOriginalPrice:r=!1,className:s="",style:n={}}){const u=t==="stripe",h=u?e.fiatAmount:e.cryptoAmount,x=u?e.effectiveFiatAmount:e.effectiveCryptoAmount,C=u?e.fiatCurrency.toUpperCase():e.cryptoToken,l=u?e.hasStripeCoupon:e.hasCryptoCoupon,a=u?e.stripeDiscountPercent:e.cryptoDiscountPercent;return i.jsxs("div",{className:s,style:n,children:[r&&l&&i.jsxs("span",{style:{textDecoration:"line-through",opacity:.6,marginRight:"0.5rem",fontSize:"0.875em"},children:[h.toFixed(2)," ",C]}),i.jsxs("span",{style:{fontWeight:600},children:[x.toFixed(2)," ",C]}),l&&a>0&&i.jsxs("span",{style:{marginLeft:"0.5rem",padding:"0.125rem 0.375rem",backgroundColor:"#10b981",color:"white",borderRadius:"0.25rem",fontSize:"0.75em",fontWeight:600},children:[a,"% OFF"]})]})}function jt({product:e,paymentMethod:t,className:r="",style:s={}}){const n=t==="stripe",u=n?e.hasStripeCoupon:e.hasCryptoCoupon,h=n?e.stripeDiscountPercent:e.cryptoDiscountPercent,x=n?e.stripeCouponCode:e.cryptoCouponCode;if(!u||h===0)return null;const C=n?`${h}% off with card!`:`${h}% off with crypto!`;return i.jsxs("div",{className:r,style:{display:"inline-flex",alignItems:"center",padding:"0.5rem 0.75rem",backgroundColor:n?"#6366f1":"#10b981",color:"white",borderRadius:"0.375rem",fontSize:"0.875rem",fontWeight:600,...s},children:[C,x&&i.jsxs("span",{style:{marginLeft:"0.5rem",opacity:.8,fontSize:"0.75em",fontWeight:400},children:["(",x,")"]})]})}function _e(){const{subscriptionManager:e}=I.useCedrosContext(),[t,r]=f.useState({status:"idle",error:null,sessionId:null,subscriptionStatus:null,expiresAt:null}),s=f.useRef(!1),n=f.useCallback(async C=>{if(s.current)return{success:!1,error:"Payment already in progress"};s.current=!0,r(l=>({...l,status:"loading",error:null}));try{const l=await e.processSubscription(C);return r(a=>({...a,status:l.success?"success":"error",error:l.success?null:l.error||"Subscription failed",sessionId:l.success&&l.transactionId||null})),l}catch(l){const a=I.formatError(l,"Subscription failed");return r(o=>({...o,status:"error",error:a})),{success:!1,error:a}}finally{s.current=!1}},[e]),u=f.useCallback(async C=>{r(l=>({...l,status:"checking",error:null}));try{const l=await e.checkSubscriptionStatus(C);return r(a=>({...a,status:l.active?"success":"idle",subscriptionStatus:l.status,expiresAt:l.expiresAt||l.currentPeriodEnd||null})),l}catch(l){const a=l instanceof Error?l.message:"Failed to check subscription status";throw r(o=>({...o,status:"error",error:a})),l}},[e]),h=f.useCallback(async(C,l,a)=>{r(o=>({...o,status:"loading",error:null}));try{const o=await e.requestSubscriptionQuote(C,l,a);return r(d=>({...d,status:"idle"})),o}catch(o){const d=o instanceof Error?o.message:"Failed to get subscription quote";throw r(p=>({...p,status:"error",error:d})),o}},[e]),x=f.useCallback(()=>{r({status:"idle",error:null,sessionId:null,subscriptionStatus:null,expiresAt:null})},[]);return{...t,processSubscription:n,checkStatus:u,requestQuote:h,reset:x}}function kt({resource:e,interval:t,intervalDays:r,trialDays:s,successUrl:n,cancelUrl:u,customerEmail:h,label:x,disabled:C=!1,onAttempt:l,onSuccess:a,onError:o,className:d=""}){const{status:p,error:c,sessionId:m,processSubscription:g}=_e(),y=I.useCedrosTheme(),{t:b,translations:M}=G(),S=x||b("ui.subscribe"),P=y.unstyled?d:`${y.className} cedros-theme__stripe-button ${d}`.trim(),_=c&&typeof c!="string"?c?.code??null:null,z=c?typeof c=="string"?c:(k=>{if(!k||!M)return"";const T=M.errors[k];return T?T.action?`${T.message} ${T.action}`:T.message:""})(_):null,A=f.useCallback(async()=>{L.getLogger().debug("[SubscribeButton] executeSubscription:",{resource:e,interval:t,intervalDays:r,trialDays:s}),J("stripe",e),l&&l("stripe"),Z("stripe",e);const k=await g({resource:e,interval:t,intervalDays:r,trialDays:s,customerEmail:h,successUrl:n,cancelUrl:u});k.success&&k.transactionId?(ee("stripe",k.transactionId,e),a&&a(k.transactionId)):!k.success&&k.error&&(W("stripe",k.error,e),o&&o(k.error))},[e,t,r,s,h,n,u,g,l,a,o]),q=f.useMemo(()=>`subscribe-${e}-${t}`,[e,t]),w=f.useMemo(()=>X(q,A),[q,A]),j=p==="loading",B=C||j;return i.jsxs("div",{className:P,style:y.unstyled?{}:y.style,children:[i.jsx("button",{onClick:w,disabled:B,className:y.unstyled?d:"cedros-theme__button cedros-theme__stripe",type:"button",children:j?b("ui.processing"):S}),z&&i.jsx("div",{className:y.unstyled?"":"cedros-theme__error",children:z}),m&&i.jsx("div",{className:y.unstyled?"":"cedros-theme__success",children:b("ui.redirecting_to_checkout")})]})}function Ie(){const{subscriptionManager:e,creditsManager:t}=I.useCedrosContext(),[r,s]=f.useState({status:"idle",error:null,sessionId:null,subscriptionStatus:null,expiresAt:null,creditsRequirement:null}),n=f.useRef(!1),u=f.useCallback(async(l,a)=>{s(o=>({...o,status:"checking",error:null}));try{const o=await e.checkSubscriptionStatus({resource:l,userId:a});return s(d=>({...d,status:o.active?"success":"idle",subscriptionStatus:o.status,expiresAt:o.expiresAt||o.currentPeriodEnd||null})),o}catch(o){const d=I.formatError(o,"Failed to check subscription status");return s(p=>({...p,status:"error",error:d})),null}},[e]),h=f.useCallback(async(l,a,o)=>{s(d=>({...d,status:"loading",error:null}));try{const d=await t.requestQuote(l,o?.couponCode);return s(p=>({...p,status:"idle",creditsRequirement:d})),d}catch(d){const p=I.formatError(d,"Failed to get subscription quote");return s(c=>({...c,status:"error",error:p})),null}},[t]),x=f.useCallback(async(l,a,o,d)=>{if(n.current)return{success:!1,error:"Payment already in progress"};if(!o){const p="Authentication required for credits payment";return s(c=>({...c,status:"error",error:p})),{success:!1,error:p}}n.current=!0,s(p=>({...p,status:"loading",error:null}));try{const p=await t.processPayment(l,o,d?.couponCode,{interval:a,...d?.intervalDays&&{intervalDays:String(d.intervalDays)}});return p.success?s({status:"success",error:null,sessionId:p.transactionId||null,subscriptionStatus:"active",expiresAt:null,creditsRequirement:null}):s(c=>({...c,status:"error",error:p.error||"Credits subscription payment failed"})),p}catch(p){const c=I.formatError(p,"Credits subscription payment failed");return s(m=>({...m,status:"error",error:c})),{success:!1,error:c}}finally{n.current=!1}},[t]),C=f.useCallback(()=>{s({status:"idle",error:null,sessionId:null,subscriptionStatus:null,expiresAt:null,creditsRequirement:null})},[]);return{...r,checkStatus:u,requestQuote:h,processPayment:x,reset:C}}function Et({resource:e,interval:t,intervalDays:r,authToken:s,userId:n,couponCode:u,label:h,disabled:x=!1,onAttempt:C,onSuccess:l,onError:a,className:o="",hideMessages:d=!1,autoCheckStatus:p=!1}){const{status:c,error:m,subscriptionStatus:g,expiresAt:y,checkStatus:b,processPayment:M}=Ie(),S=I.useCedrosTheme(),{t:P,translations:_}=G(),$=f.useRef(b);f.useEffect(()=>{$.current=b},[b]),f.useEffect(()=>{p&&n&&(L.getLogger().debug("[CreditsSubscribeButton] Auto-checking subscription status",{resource:e,userId:n}),$.current(e,n))},[p,n,e]);const z=h||P("ui.subscribe_with_credits")||"Subscribe with Credits",A=m&&typeof m!="string"?m?.code??null:null,w=m?typeof m=="string"?m:(N=>{if(!N||!_)return"";const F=_.errors[N];return F?F.action?`${F.message} ${F.action}`:F.message:""})(A):null,j=f.useCallback(async()=>{if(L.getLogger().debug("[CreditsSubscribeButton] executeSubscriptionFlow",{resource:e,interval:t,intervalDays:r,hasAuthToken:!!s}),J("credits",e),C&&C("credits"),!s){const F="Authentication required: please log in to subscribe with credits";L.getLogger().error("[CreditsSubscribeButton]",F),W("credits",F,e),a&&a(F);return}Z("credits",e);const N=await M(e,t,s,{couponCode:u,intervalDays:r});N.success&&N.transactionId?(ee("credits",N.transactionId,e),l&&l(N.transactionId)):!N.success&&N.error&&(W("credits",N.error,e),a&&a(N.error))},[e,t,r,s,u,M,C,l,a]),B=f.useMemo(()=>`credits-subscribe-${e}-${t}`,[e,t]),k=f.useMemo(()=>X(B,j,{cooldownMs:200,deduplicationWindowMs:0}),[B,j]),T=c==="loading"||c==="checking",R=g==="active"||g==="trialing",v=x||T||R;let E=z;if(T)E=P("ui.processing");else if(R&&y){const N=new Date(y).toLocaleDateString();E=`${P("ui.subscribed_until")} ${N}`}else R&&(E=P("ui.subscribed"));const O=S.unstyled?o:`${S.className} cedros-theme__credits-button ${o}`.trim();return i.jsxs("div",{className:O,style:S.unstyled?{}:S.style,children:[i.jsx("button",{onClick:k,disabled:v,className:S.unstyled?o:"cedros-theme__button cedros-theme__credits",type:"button",children:E}),!d&&w&&i.jsx("div",{className:S.unstyled?"":"cedros-theme__error",children:w}),!d&&R&&i.jsx("div",{className:S.unstyled?"":"cedros-theme__success",children:P("ui.subscription_active")})]})}function qe(){const{subscriptionChangeManager:e}=I.useCedrosContext(),[t,r]=f.useState({status:"idle",error:null,subscription:null,changePreview:null,userId:null}),s=f.useRef(t);s.current=t;const n=f.useCallback(async(o,d)=>{r(p=>({...p,status:"loading",error:null}));try{const p=await e.getDetails(o,d);return r(c=>({...c,status:"success",subscription:p,userId:d})),p}catch(p){const c=p instanceof Error?p.message:"Failed to load subscription";return r(m=>({...m,status:"error",error:c})),null}},[e]),u=f.useCallback(async(o,d,p,c)=>{r(m=>({...m,status:"loading",error:null}));try{const m={currentResource:o,newResource:d,userId:p,newInterval:c},g=await e.previewChange(m);return r(y=>({...y,status:"idle",changePreview:g})),g}catch(m){const g=m instanceof Error?m.message:"Failed to preview change";return r(y=>({...y,status:"error",error:g})),null}},[e]),h=f.useCallback(async o=>{const{subscription:d,userId:p}=s.current;if(!d||!p)return r(c=>({...c,status:"error",error:"No subscription loaded"})),null;r(c=>({...c,status:"loading",error:null}));try{const c={subscriptionId:d.id,newResource:o.newResource,prorationBehavior:o.prorationBehavior},m=await e.changeSubscription(c);return m.success?r(g=>({...g,status:"success",subscription:g.subscription?{...g.subscription,resource:m.newResource,interval:g.subscription.interval,status:m.status,currentPeriodEnd:m.currentPeriodEnd}:null,changePreview:null})):r(g=>({...g,status:"error",error:m.error||"Failed to change subscription"})),m}catch(c){const m=c instanceof Error?c.message:"Failed to change subscription";return r(g=>({...g,status:"error",error:m})),null}},[e]),x=f.useCallback(async o=>{const{subscription:d,userId:p}=s.current;if(!d||!p)return r(c=>({...c,status:"error",error:"No subscription loaded"})),null;r(c=>({...c,status:"loading",error:null}));try{const c={subscriptionId:d.id,atPeriodEnd:!o},m=await e.cancel(c);if(m.success){const g=m.atPeriodEnd?d.status:"canceled";r(y=>({...y,status:"success",subscription:y.subscription?{...y.subscription,status:g,cancelAtPeriodEnd:m.atPeriodEnd}:null}))}else r(g=>({...g,status:"error",error:m.error||"Failed to cancel subscription"}));return m}catch(c){const m=c instanceof Error?c.message:"Failed to cancel subscription";return r(g=>({...g,status:"error",error:m})),null}},[e]),C=f.useCallback(async(o,d)=>{const p=s.current.subscription?.customerId??(o.startsWith("cus_")?o:null);if(!p)return r(c=>({...c,status:"error",error:"No Stripe customer ID available for billing portal"})),null;r(c=>({...c,status:"loading",error:null}));try{const c=await e.getBillingPortalUrl({customerId:p,returnUrl:d});try{if(new URL(c.url).protocol!=="https:")throw new Error("Billing portal URL must use HTTPS")}catch{throw new Error("Invalid billing portal URL")}return window.location.href=c.url,c}catch(c){const m=c instanceof Error?c.message:"Failed to open billing portal";return r(g=>({...g,status:"error",error:m})),null}},[e]),l=f.useCallback(()=>{r(o=>({...o,changePreview:null}))},[]),a=f.useCallback(()=>{r({status:"idle",error:null,subscription:null,changePreview:null,userId:null})},[]);return{...t,loadSubscription:n,previewChange:u,changeSubscription:h,cancelSubscription:x,openBillingPortal:C,clearPreview:l,reset:a}}const Mt={bg:"#fff",bgMuted:"#f9fafb",bgHighlight:"#eff6ff",text:"#111827",textMuted:"#6b7280",textFaint:"#9ca3af",border:"#e5e7eb",borderLight:"#f3f4f6",primary:"#3b82f6",error:"#ef4444",errorBg:"#fef2f2",errorBorder:"#fecaca",warningBg:"#fef3c7",warningBorder:"#fcd34d",warningText:"#92400e",buttonBg:"#f3f4f6",buttonBorder:"#d1d5db",buttonText:"#374151"},Rt={bg:"#1e293b",bgMuted:"#334155",bgHighlight:"rgba(59, 130, 246, 0.15)",text:"#f1f5f9",textMuted:"#94a3b8",textFaint:"#64748b",border:"#475569",borderLight:"#334155",primary:"#3b82f6",error:"#ef4444",errorBg:"rgba(239, 68, 68, 0.15)",errorBorder:"rgba(239, 68, 68, 0.3)",warningBg:"rgba(245, 158, 11, 0.15)",warningBorder:"rgba(245, 158, 11, 0.3)",warningText:"#fbbf24",buttonBg:"#334155",buttonBorder:"#475569",buttonText:"#e2e8f0"};function Tt(e){const t=e?Rt:Mt;return{container:{padding:"24px",backgroundColor:t.bg,borderRadius:"8px",border:`1px solid ${t.border}`,fontFamily:"system-ui, -apple-system, sans-serif",color:t.text},error:{padding:"12px 16px",backgroundColor:t.errorBg,border:`1px solid ${t.errorBorder}`,borderRadius:"6px",color:t.error,marginBottom:"16px"},loading:{padding:"24px",textAlign:"center",color:t.textMuted},details:{marginBottom:"24px"},title:{margin:"0 0 16px 0",fontSize:"18px",fontWeight:600,color:t.text},detailRow:{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"8px 0",borderBottom:`1px solid ${t.borderLight}`},label:{color:t.textMuted,fontSize:"14px"},value:{color:t.text,fontSize:"14px",fontWeight:500},statusBadge:{padding:"4px 8px",borderRadius:"4px",color:"#fff",fontSize:"12px",fontWeight:500,textTransform:"capitalize"},cancelNotice:{marginTop:"12px",padding:"8px 12px",backgroundColor:t.warningBg,border:`1px solid ${t.warningBorder}`,borderRadius:"6px",color:t.warningText,fontSize:"13px"},prorationPreview:{padding:"16px",backgroundColor:t.bgMuted,borderRadius:"8px",marginBottom:"24px"},previewTitle:{margin:"0 0 12px 0",fontSize:"16px",fontWeight:600,color:t.text},previewDetails:{marginBottom:"16px"},previewRow:{display:"flex",justifyContent:"space-between",padding:"6px 0",fontSize:"14px",color:t.textMuted},previewTotal:{borderTop:`1px solid ${t.border}`,marginTop:"8px",paddingTop:"12px",fontWeight:600,color:t.text},previewActions:{display:"flex",gap:"12px",justifyContent:"flex-end"},cancelButton:{padding:"8px 16px",backgroundColor:t.bg,border:`1px solid ${t.buttonBorder}`,borderRadius:"6px",color:t.buttonText,cursor:"pointer",fontSize:"14px"},confirmButton:{padding:"8px 16px",backgroundColor:t.primary,border:"none",borderRadius:"6px",color:"#fff",cursor:"pointer",fontSize:"14px",fontWeight:500},plansSection:{marginBottom:"24px"},plansTitle:{margin:"0 0 12px 0",fontSize:"16px",fontWeight:600,color:t.text},plansList:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(200px, 1fr))",gap:"16px"},planCard:{padding:"16px",backgroundColor:t.bg,border:`1px solid ${t.border}`,borderRadius:"8px",textAlign:"center"},currentPlan:{borderColor:t.primary,backgroundColor:t.bgHighlight},planName:{fontSize:"16px",fontWeight:600,color:t.text,marginBottom:"4px"},planPrice:{fontSize:"14px",color:t.textMuted,marginBottom:"8px"},planDescription:{fontSize:"12px",color:t.textFaint,marginBottom:"12px"},currentBadge:{display:"inline-block",padding:"4px 8px",backgroundColor:t.primary,color:"#fff",borderRadius:"4px",fontSize:"12px",fontWeight:500},changePlanButton:{padding:"8px 16px",backgroundColor:t.buttonBg,border:`1px solid ${t.buttonBorder}`,borderRadius:"6px",color:t.buttonText,cursor:"pointer",fontSize:"14px",width:"100%"},actions:{display:"flex",gap:"12px",justifyContent:"flex-end",paddingTop:"16px",borderTop:`1px solid ${t.border}`},portalButton:{padding:"10px 20px",backgroundColor:t.primary,border:"none",borderRadius:"6px",color:"#fff",cursor:"pointer",fontSize:"14px",fontWeight:500},cancelSubscriptionButton:{padding:"10px 20px",backgroundColor:t.bg,border:`1px solid ${t.error}`,borderRadius:"6px",color:t.error,cursor:"pointer",fontSize:"14px"}}}function Q(e,t){return new Intl.NumberFormat("en-US",{style:"currency",currency:t.toUpperCase()}).format(e/100)}function Le(e){return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function _t(e){switch(e){case"active":return"#22c55e";case"trialing":return"#3b82f6";case"past_due":return"#f59e0b";case"canceled":case"expired":return"#ef4444";default:return"#6b7280"}}function It({preview:e,onConfirm:t,onCancel:r,isLoading:s,styles:n}){const u=e.immediateAmount<0;return i.jsxs("div",{className:"cedros-proration-preview",style:n.prorationPreview,children:[i.jsx("h4",{style:n.previewTitle,children:"Change Preview"}),i.jsxs("div",{style:n.previewDetails,children:[i.jsxs("div",{style:n.previewRow,children:[i.jsx("span",{children:"Current plan:"}),i.jsxs("span",{children:[Q(e.currentPlanPrice,e.currency),"/period"]})]}),i.jsxs("div",{style:n.previewRow,children:[i.jsx("span",{children:"New plan:"}),i.jsxs("span",{children:[Q(e.newPlanPrice,e.currency),"/period"]})]}),i.jsxs("div",{style:n.previewRow,children:[i.jsx("span",{children:"Days remaining:"}),i.jsxs("span",{children:[e.daysRemaining," days"]})]}),e.prorationDetails&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{style:n.previewRow,children:[i.jsx("span",{children:"Unused credit:"}),i.jsxs("span",{children:["-",Q(e.prorationDetails.unusedCredit,e.currency)]})]}),i.jsxs("div",{style:n.previewRow,children:[i.jsx("span",{children:"New plan cost:"}),i.jsx("span",{children:Q(e.prorationDetails.newPlanCost,e.currency)})]})]}),i.jsxs("div",{style:{...n.previewRow,...n.previewTotal},children:[i.jsx("span",{children:u?"Credit to account:":"Amount due now:"}),i.jsx("span",{style:{color:u?"#22c55e":"#ef4444"},children:Q(Math.abs(e.immediateAmount),e.currency)})]}),i.jsxs("div",{style:n.previewRow,children:[i.jsx("span",{children:"Effective date:"}),i.jsx("span",{children:Le(e.effectiveDate)})]})]}),i.jsxs("div",{style:n.previewActions,children:[i.jsx("button",{onClick:r,style:n.cancelButton,disabled:s,children:"Cancel"}),i.jsx("button",{onClick:t,style:n.confirmButton,disabled:s,children:s?"Processing...":"Confirm Change"})]})]})}function qt({resource:e,userId:t,availablePlans:r=[],onSubscriptionChanged:s,onSubscriptionCanceled:n,billingPortalReturnUrl:u,showBillingPortal:h=!1,className:x,style:C}){const{mode:l}=I.useCedrosTheme(),a=f.useMemo(()=>Tt(l==="dark"),[l]),{subscription:o,changePreview:d,status:p,error:c,loadSubscription:m,previewChange:g,changeSubscription:y,cancelSubscription:b,openBillingPortal:M,clearPreview:S}=qe();f.useEffect(()=>{m(e,t)},[e,t,m]);const P=f.useRef(null),_=f.useCallback(async(w,j)=>{P.current={resource:w,interval:j},await g(e,w,t,j)},[e,t,g]),$=f.useCallback(async()=>{if(!d)return;const w=P.current;(await y({newResource:w?.resource||e,newInterval:w?.interval,immediate:!0}))?.success&&w&&w.interval&&(s?.(w.resource,w.interval),P.current=null)},[d,e,y,s]),z=f.useCallback(async w=>{(await b(w))?.success&&n?.()},[b,n]),A=f.useCallback(()=>{M(t,u)},[t,u,M]),q=p==="loading";return i.jsxs("div",{className:`cedros-subscription-panel ${x||""}`,style:{...a.container,...C},children:[c&&i.jsx("div",{className:"cedros-subscription-error",style:a.error,children:c}),q&&!o&&i.jsx("div",{className:"cedros-subscription-loading",style:a.loading,children:"Loading subscription..."}),o&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"cedros-subscription-details",style:a.details,children:[i.jsx("h3",{style:a.title,children:"Current Subscription"}),i.jsxs("div",{style:a.detailRow,children:[i.jsx("span",{style:a.label,children:"Plan:"}),i.jsx("span",{style:a.value,children:o.resource})]}),i.jsxs("div",{style:a.detailRow,children:[i.jsx("span",{style:a.label,children:"Status:"}),i.jsx("span",{style:{...a.statusBadge,backgroundColor:_t(o.status)},children:o.status})]}),i.jsxs("div",{style:a.detailRow,children:[i.jsx("span",{style:a.label,children:"Price:"}),i.jsxs("span",{style:a.value,children:[Q(o.pricePerPeriod,o.currency),"/",o.interval]})]}),i.jsxs("div",{style:a.detailRow,children:[i.jsx("span",{style:a.label,children:"Current period ends:"}),i.jsx("span",{style:a.value,children:Le(o.currentPeriodEnd)})]}),o.cancelAtPeriodEnd&&i.jsx("div",{style:a.cancelNotice,children:"Subscription will cancel at end of current period"})]}),d&&i.jsx(It,{preview:d,onConfirm:$,onCancel:S,isLoading:q,styles:a}),r.length>0&&!d&&i.jsxs("div",{className:"cedros-available-plans",style:a.plansSection,children:[i.jsx("h4",{style:a.plansTitle,children:"Available Plans"}),i.jsx("div",{style:a.plansList,children:r.map(w=>{const j=w.resource===o.resource;return i.jsxs("div",{style:{...a.planCard,...j?a.currentPlan:{}},children:[i.jsx("div",{style:a.planName,children:w.name}),i.jsxs("div",{style:a.planPrice,children:[Q(w.price,w.currency),"/",w.interval]}),w.description&&i.jsx("div",{style:a.planDescription,children:w.description}),j?i.jsx("span",{style:a.currentBadge,children:"Current Plan"}):i.jsx("button",{onClick:()=>_(w.resource,w.interval),style:a.changePlanButton,disabled:q,children:w.price>o.pricePerPeriod?"Upgrade":"Downgrade"})]},w.resource)})})]}),i.jsxs("div",{className:"cedros-subscription-actions",style:a.actions,children:[h&&o.paymentMethod==="stripe"&&i.jsx("button",{onClick:A,style:a.portalButton,disabled:q,children:"Manage Billing"}),o.status==="active"&&!o.cancelAtPeriodEnd&&i.jsx("button",{onClick:()=>z(!1),style:a.cancelSubscriptionButton,disabled:q,children:"Cancel Subscription"})]})]})]})}function Lt(){if(typeof window>"u")return{passed:!0,severity:"info",message:"HTTPS check skipped (SSR environment)"};const e=window.location.protocol==="https:",t=window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1";return e||t?{passed:!0,severity:"info",message:"HTTPS enforced"}:{passed:!1,severity:"error",message:"Page not served over HTTPS",recommendation:"Enable HTTPS for all payment pages. Stripe.js requires HTTPS in production."}}function Nt(){return typeof document>"u"?{passed:!0,severity:"info",message:"CSP check skipped (SSR environment)"}:document.querySelector('meta[http-equiv="Content-Security-Policy"]')?{passed:!0,severity:"info",message:"Content Security Policy detected"}:{passed:!1,severity:"warning",message:"No Content Security Policy detected",recommendation:"Configure CSP headers to protect against XSS and CDN compromise. Use generateCSP() helper from @cedros/pay-react."}}function Dt(){return process.env.NODE_ENV==="development"||typeof window<"u"&&window.location.hostname==="localhost"?{passed:!0,severity:"info",message:"Running in development mode (some security checks relaxed)"}:{passed:!0,severity:"info",message:"Running in production mode"}}function Bt(){return{passed:!0,severity:"info",message:"Stripe.js loaded via @stripe/stripe-js package (CSP recommended, not SRI)",recommendation:"Ensure CSP script-src includes https://js.stripe.com"}}function $t(){return typeof window>"u"?{passed:!0,severity:"info",message:"Mixed content check skipped (SSR environment)"}:window.location.protocol==="https:"?{passed:!0,severity:"info",message:"Mixed content protection active (HTTPS page)"}:{passed:!0,severity:"info",message:"Mixed content check skipped (HTTP page)"}}function At(){const e=[Lt(),Nt(),Dt(),Bt(),$t()],t=e.some(u=>u.severity==="error"&&!u.passed),r=e.some(u=>u.severity==="warning"&&!u.passed);let s,n;return t?(s="vulnerable",n="Security issues detected. Review errors and apply recommendations."):r?(s="warnings",n="Minor security warnings detected. Consider applying recommendations."):(s="secure",n="All security checks passed."),{checks:e,overallStatus:s,summary:n}}function zt(e){process.env.NODE_ENV!=="production"&&(console.group("🔒 Cedros Pay Security Report"),console.log(`Status: ${e.overallStatus.toUpperCase()}`),console.log(`Summary: ${e.summary}`),console.log(""),e.checks.forEach(t=>{const r=t.passed?"✅":t.severity==="error"?"❌":"⚠️";console.log(`${r} ${t.message}`),t.recommendation&&console.log(` → ${t.recommendation}`)}),console.groupEnd())}const Ut={CSP:"Use generateCSP() from @cedros/pay-react to generate Content Security Policy headers",HTTPS:"Always serve payment pages over HTTPS in production",PACKAGE_UPDATES:"Keep @stripe/stripe-js and @cedros/pay-react updated for security patches",AUDIT:"Run npm audit regularly to check for known vulnerabilities",MONITORING:"Monitor Stripe security advisories and apply updates promptly",NO_SRI:"Do NOT use SRI hashes for Stripe.js - use CSP instead"};exports.CEDROS_EVENTS=H;exports.CSP_PRESETS=ft;exports.CedrosPay=Pt;exports.CreditsButton=me;exports.CreditsSubscribeButton=Et;exports.PaymentMethodBadge=jt;exports.PaymentModal=Re;exports.ProductPrice=vt;exports.PurchaseButton=Te;exports.RPC_PROVIDERS=pt;exports.SECURITY_RECOMMENDATIONS=Ut;exports.StripeButton=fe;exports.SubscribeButton=kt;exports.SubscriptionManagementPanel=qt;exports.calculateDiscountPercentage=Ve;exports.createDedupedClickHandler=X;exports.createTranslator=Ee;exports.detectLocale=je;exports.emitPaymentError=W;exports.emitPaymentProcessing=Z;exports.emitPaymentStart=J;exports.emitPaymentSuccess=ee;exports.emitWalletConnect=nt;exports.emitWalletConnected=ot;exports.emitWalletError=it;exports.formatCSP=ve;exports.formatCouponCodes=Qe;exports.generateCSP=dt;exports.generateCSPDirectives=Pe;exports.getAvailableLocales=gt;exports.getCartItemCount=te;exports.getLocalizedError=ht;exports.getModalCloseButtonStyles=Se;exports.getUserErrorMessage=ct;exports.isRetryableError=at;exports.loadLocale=ke;exports.logSecurityReport=zt;exports.normalizeCartItems=ae;exports.parseCouponCodes=Ye;exports.stackCheckoutCoupons=Ge;exports.useCreditsPayment=Me;exports.useCreditsSubscription=Ie;exports.useLocalizedError=yt;exports.usePaymentMode=re;exports.useStripeCheckout=pe;exports.useSubscription=_e;exports.useSubscriptionManagement=qe;exports.useTranslation=G;exports.validateSecurity=At;
|