@cedros/pay-react 1.1.18 → 1.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AISettingsSection-CD9IRyR1.mjs → AISettingsSection-BH-RXvk1.mjs} +10 -10
- package/dist/{AISettingsSection-C-thWh51.js → AISettingsSection-f5K0nUoQ.js} +1 -1
- package/dist/{AutosaveIndicator-DxemlKnX.js → AutosaveIndicator-CpTVtJIz.js} +1 -1
- package/dist/{AutosaveIndicator-G2CRN8hH.mjs → AutosaveIndicator-DTOaopUP.mjs} +1 -1
- package/dist/{CedrosContext-BnJ2Cf7R.mjs → CedrosContext-BE6P5PQ0.mjs} +241 -245
- package/dist/{CedrosContext-C26DlvLF.js → CedrosContext-D-lnoEkR.js} +3 -3
- package/dist/{CryptoButton-BdOtL7w-.mjs → CryptoButton-CksMkZjL.mjs} +48 -48
- package/dist/CryptoButton-Dy-g3bR0.js +1 -0
- package/dist/{FAQSection-CyYK9OAN.mjs → FAQSection-BO7ZfQMN.mjs} +4 -4
- package/dist/{FAQSection-_pm1ekTe.js → FAQSection-CVJ5w6cB.js} +1 -1
- package/dist/{MessagingSection-BHzf1Mhu.js → MessagingSection-CRFtSoE8.js} +1 -1
- package/dist/{MessagingSection-DO2yPTvs.mjs → MessagingSection-CmFYFdaw.mjs} +5 -5
- package/dist/{PaymentSettingsSection-DpENgoca.js → PaymentSettingsSection-BKDiep-C.js} +1 -1
- package/dist/{PaymentSettingsSection--Aqlne1F.mjs → PaymentSettingsSection-VDcgpOkp.mjs} +1 -1
- package/dist/{SettingsSection-CGKKGXWz.mjs → SettingsSection-B0TpaIOG.mjs} +1 -1
- package/dist/{SettingsSection-DNoODw7i.js → SettingsSection-DSlW47o4.js} +1 -1
- package/dist/SingleCategorySettings-BTXR7zex.js +3 -0
- package/dist/{SingleCategorySettings-8DCtLcow.mjs → SingleCategorySettings-Cwlehl0u.mjs} +62 -69
- package/dist/{StorefrontSection-Mzr1H51w.mjs → StorefrontSection-BAY9V1j6.mjs} +8 -8
- package/dist/{StorefrontSection-BEOMtSAg.js → StorefrontSection-DfN5yxkV.js} +1 -1
- package/dist/{SubscriptionsSection-4b29i-41.js → SubscriptionsSection-BboudRYv.js} +1 -1
- package/dist/{SubscriptionsSection-Dy1e15fe.mjs → SubscriptionsSection-D_RKCILr.mjs} +6 -6
- package/dist/{WalletManager-HXXyARQ7.mjs → WalletManager-D78miaJ2.mjs} +1 -1
- package/dist/{WalletManager-D6BYTwXn.js → WalletManager-QcfgQmap.js} +1 -1
- package/dist/crypto-only.d.ts +2 -23
- package/dist/crypto-only.js +1 -1
- package/dist/crypto-only.mjs +64 -63
- package/dist/{index-bbSf3B7-.mjs → index-75RhiLDq.mjs} +7192 -9782
- package/dist/index-B5ck27xb.js +84 -0
- package/dist/index.d.ts +2 -45
- package/dist/index.js +1 -1
- package/dist/index.mjs +64 -63
- package/dist/pay-react.css +1 -1
- package/dist/sections-BCdzdqlG.js +1 -0
- package/dist/sections-BIBMX6KS.mjs +8 -0
- package/dist/src/admin/index.d.ts.map +1 -0
- package/dist/src/admin/plugin.d.ts.map +1 -0
- package/dist/src/admin/types.d.ts.map +1 -0
- package/dist/src/components/CedrosPay.d.ts.map +1 -0
- package/dist/src/components/CreditsButton.d.ts.map +1 -0
- package/dist/src/components/CreditsSubscribeButton.d.ts.map +1 -0
- package/dist/src/components/CryptoButton.d.ts.map +1 -0
- package/dist/src/components/CryptoSubscribeButton.d.ts.map +1 -0
- package/dist/src/components/PaymentModal.d.ts.map +1 -0
- package/dist/src/components/ProductPrice.d.ts.map +1 -0
- package/dist/src/components/PurchaseButton.d.ts.map +1 -0
- package/dist/src/components/StripeButton.d.ts.map +1 -0
- package/dist/src/components/SubscribeButton.d.ts.map +1 -0
- package/dist/src/components/SubscriptionManagementPanel.d.ts.map +1 -0
- package/dist/src/components/admin/AISettingsSection.d.ts.map +1 -0
- package/dist/src/components/admin/AdminAuthManager.d.ts.map +1 -0
- package/dist/src/components/admin/AutosaveIndicator.d.ts.map +1 -0
- package/dist/src/components/admin/CedrosPayAdminDashboard.d.ts.map +1 -0
- package/dist/src/components/admin/ConfigEditor.d.ts.map +1 -0
- package/dist/src/components/admin/CouponsSection.d.ts.map +1 -0
- package/dist/src/components/admin/Dropdown.d.ts.map +1 -0
- package/dist/src/components/admin/ErrorBanner.d.ts.map +1 -0
- package/dist/src/components/admin/FAQSection.d.ts.map +1 -0
- package/dist/src/components/admin/MessagingSection.d.ts.map +1 -0
- package/dist/src/components/admin/OverviewSection.d.ts.map +1 -0
- package/dist/src/components/admin/PaymentSettingsSection.d.ts.map +1 -0
- package/dist/src/components/admin/ProductVariationsEditor.d.ts.map +1 -0
- package/dist/src/components/admin/ProductsSection.d.ts.map +1 -0
- package/dist/src/components/admin/RefundsSection.d.ts.map +1 -0
- package/dist/src/components/admin/SecretArrayEditor.d.ts.map +1 -0
- package/dist/src/components/admin/SettingsSection.d.ts.map +1 -0
- package/dist/src/components/admin/SingleCategorySettings.d.ts.map +1 -0
- package/dist/src/components/admin/StatsBar.d.ts.map +1 -0
- package/dist/src/components/admin/StorefrontSection.d.ts.map +1 -0
- package/dist/src/components/admin/SubscriptionsSection.d.ts.map +1 -0
- package/dist/src/components/admin/Toggle.d.ts.map +1 -0
- package/dist/{components → src/components}/admin/TokenMintSelector.d.ts +1 -1
- package/dist/src/components/admin/TokenMintSelector.d.ts.map +1 -0
- package/dist/src/components/admin/TransactionsSection.d.ts.map +1 -0
- package/dist/src/components/admin/VariantInventoryGrid.d.ts.map +1 -0
- package/dist/src/components/admin/VariationTypeEditor.d.ts.map +1 -0
- package/dist/src/components/admin/configApi.d.ts.map +1 -0
- package/dist/src/components/admin/icons.d.ts.map +1 -0
- package/dist/{components → src/components}/admin/index.d.ts +1 -1
- package/dist/src/components/admin/index.d.ts.map +1 -0
- package/dist/src/components/admin/sections-more.d.ts.map +1 -0
- package/dist/src/components/admin/sections.d.ts.map +1 -0
- package/dist/src/components/admin/types.d.ts.map +1 -0
- package/dist/{components → src/components}/admin/useAdminAuth.d.ts +11 -23
- package/dist/src/components/admin/useAdminAuth.d.ts.map +1 -0
- package/dist/src/components/admin/useAutosave.d.ts.map +1 -0
- package/dist/src/components/admin/useProductVariations.d.ts.map +1 -0
- package/dist/src/components/subscriptionPanelStyles.d.ts.map +1 -0
- package/dist/src/context/CedrosContext.d.ts.map +1 -0
- package/dist/src/context/ThemeContext.d.ts.map +1 -0
- package/dist/src/context/index.d.ts.map +1 -0
- package/dist/src/crypto-only.d.ts +23 -0
- package/dist/src/crypto-only.d.ts.map +1 -0
- package/dist/src/ecommerce/__tests__/cartCheckoutRequirements.test.d.ts.map +1 -0
- package/dist/src/ecommerce/__tests__/cartProviderPersistence.test.d.ts.map +1 -0
- package/dist/src/ecommerce/__tests__/cartReducer.test.d.ts.map +1 -0
- package/dist/src/ecommerce/__tests__/cartServerMerge.test.d.ts.map +1 -0
- package/dist/src/ecommerce/__tests__/checkoutPaymentMethods.test.d.ts.map +1 -0
- package/dist/src/ecommerce/__tests__/checkoutReturn.test.d.ts.map +1 -0
- package/dist/src/ecommerce/__tests__/checkoutSchema.test.d.ts.map +1 -0
- package/dist/src/ecommerce/__tests__/inventoryHooks.test.d.ts.map +1 -0
- package/dist/src/ecommerce/__tests__/mockAdapter.test.d.ts.map +1 -0
- package/dist/src/ecommerce/__tests__/storage.test.d.ts.map +1 -0
- package/dist/src/ecommerce/adapters/CommerceAdapter.d.ts.map +1 -0
- package/dist/src/ecommerce/adapters/mock/mockAdapter.d.ts.map +1 -0
- package/dist/src/ecommerce/adapters/paywall/paywallAdapter.d.ts.map +1 -0
- package/dist/src/ecommerce/adapters/paywall/paywallAdapter.test.d.ts.map +1 -0
- package/dist/src/ecommerce/components/cart/CartLineItem.d.ts.map +1 -0
- package/dist/src/ecommerce/components/cart/CartPageContent.d.ts.map +1 -0
- package/dist/src/ecommerce/components/cart/CartPanel.d.ts.map +1 -0
- package/dist/src/ecommerce/components/cart/CartSidebar.d.ts.map +1 -0
- package/dist/src/ecommerce/components/cart/CartSummary.d.ts.map +1 -0
- package/dist/src/ecommerce/components/cart/PromoCodeInput.d.ts.map +1 -0
- package/dist/src/ecommerce/components/catalog/Breadcrumbs.d.ts.map +1 -0
- package/dist/src/ecommerce/components/catalog/CategoryNav.d.ts.map +1 -0
- package/dist/src/ecommerce/components/catalog/FilterPanel.d.ts.map +1 -0
- package/dist/src/ecommerce/components/catalog/Price.d.ts.map +1 -0
- package/dist/src/ecommerce/components/catalog/ProductCard.d.ts.map +1 -0
- package/dist/src/ecommerce/components/catalog/ProductGallery.d.ts.map +1 -0
- package/dist/src/ecommerce/components/catalog/ProductGrid.d.ts.map +1 -0
- package/dist/src/ecommerce/components/catalog/QuantitySelector.d.ts.map +1 -0
- package/dist/src/ecommerce/components/catalog/QuickViewDialog.d.ts.map +1 -0
- package/dist/src/ecommerce/components/catalog/SearchInput.d.ts.map +1 -0
- package/dist/src/ecommerce/components/catalog/VariantSelector.d.ts.map +1 -0
- package/dist/src/ecommerce/components/chat/ShopChatPanel.d.ts.map +1 -0
- package/dist/src/ecommerce/components/checkout/AddressForm.d.ts.map +1 -0
- package/dist/src/ecommerce/components/checkout/CheckoutCancelPage.d.ts.map +1 -0
- package/dist/src/ecommerce/components/checkout/CheckoutForm.d.ts.map +1 -0
- package/dist/src/ecommerce/components/checkout/CheckoutLayout.d.ts.map +1 -0
- package/dist/src/ecommerce/components/checkout/CheckoutReceipt.d.ts.map +1 -0
- package/dist/src/ecommerce/components/checkout/CheckoutSuccessPage.d.ts.map +1 -0
- package/dist/src/ecommerce/components/checkout/InventoryVerificationDialog.d.ts.map +1 -0
- package/dist/src/ecommerce/components/checkout/OrderReview.d.ts.map +1 -0
- package/dist/src/ecommerce/components/checkout/PaymentStep.d.ts.map +1 -0
- package/dist/src/ecommerce/components/checkout/ShippingMethodSelector.d.ts.map +1 -0
- package/dist/src/ecommerce/components/faq/FAQItem.d.ts.map +1 -0
- package/dist/src/ecommerce/components/faq/FAQItem.test.d.ts.map +1 -0
- package/dist/src/ecommerce/components/faq/FAQList.d.ts.map +1 -0
- package/dist/src/ecommerce/components/faq/index.d.ts.map +1 -0
- package/dist/src/ecommerce/components/general/EmptyState.d.ts.map +1 -0
- package/dist/src/ecommerce/components/general/ErrorBoundary.d.ts.map +1 -0
- package/dist/src/ecommerce/components/general/ErrorState.d.ts.map +1 -0
- package/dist/src/ecommerce/components/general/toast.d.ts.map +1 -0
- package/dist/src/ecommerce/components/orders/OrderCard.d.ts.map +1 -0
- package/dist/src/ecommerce/components/orders/OrderDetails.d.ts.map +1 -0
- package/dist/src/ecommerce/components/orders/OrderList.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/accordion.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/badge.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/button.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/card.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/dialog.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/input.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/label.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/select.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/separator.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/sheet.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/skeleton.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/tabs.d.ts.map +1 -0
- package/dist/src/ecommerce/components/ui/textarea.d.ts.map +1 -0
- package/dist/src/ecommerce/config/context.d.ts.map +1 -0
- package/dist/src/ecommerce/config/types.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/checkoutReturn.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useAIRelatedProducts.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useCartInventory.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useCatalogUrlState.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useCategories.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useCheckoutResultFromUrl.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useHoldExpiry.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useInventoryVerification.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useOrders.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/usePaymentMethodsConfig.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useProduct.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useProducts.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useShippingMethods.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useStorefrontSettings.d.ts.map +1 -0
- package/dist/src/ecommerce/hooks/useSubscriptionData.d.ts.map +1 -0
- package/dist/src/ecommerce/index.d.ts.map +1 -0
- package/dist/src/ecommerce/integrations/cedros-pay/useCedrosPayCheckoutAdapter.d.ts.map +1 -0
- package/dist/src/ecommerce/state/cart/CartProvider.d.ts.map +1 -0
- package/dist/src/ecommerce/state/cart/cartReducer.d.ts.map +1 -0
- package/dist/src/ecommerce/state/checkout/checkoutSchema.d.ts.map +1 -0
- package/dist/src/ecommerce/state/checkout/useCheckout.d.ts.map +1 -0
- package/dist/src/ecommerce/templates/CartTemplate.d.ts.map +1 -0
- package/dist/src/ecommerce/templates/CategoryTemplate.d.ts.map +1 -0
- package/dist/src/ecommerce/templates/CheckoutTemplate.d.ts.map +1 -0
- package/dist/src/ecommerce/templates/ProductTemplate.d.ts.map +1 -0
- package/dist/src/ecommerce/templates/PurchaseHistoryTemplate.d.ts.map +1 -0
- package/dist/src/ecommerce/templates/ReceiptTemplate.d.ts.map +1 -0
- package/dist/src/ecommerce/templates/ShopTemplate.d.ts.map +1 -0
- package/dist/src/ecommerce/templates/SubscriptionTemplate.d.ts.map +1 -0
- package/dist/src/ecommerce/testing/adapterContract.d.ts.map +1 -0
- package/dist/src/ecommerce/types.d.ts.map +1 -0
- package/dist/src/ecommerce/utils/cartCheckoutRequirements.d.ts.map +1 -0
- package/dist/src/ecommerce/utils/cartItemMetadata.d.ts.map +1 -0
- package/dist/src/ecommerce/utils/cn.d.ts.map +1 -0
- package/dist/src/ecommerce/utils/money.d.ts.map +1 -0
- package/dist/src/ecommerce/utils/storage.d.ts.map +1 -0
- package/dist/src/hooks/useCreditsPayment.d.ts.map +1 -0
- package/dist/src/hooks/useCreditsSubscription.d.ts.map +1 -0
- package/dist/src/hooks/useCryptoSubscription.d.ts.map +1 -0
- package/dist/src/hooks/usePaymentMode.d.ts.map +1 -0
- package/dist/src/hooks/useRefundVerification.d.ts.map +1 -0
- package/dist/src/hooks/useStripeCheckout.d.ts.map +1 -0
- package/dist/src/hooks/useSubscription.d.ts.map +1 -0
- package/dist/src/hooks/useSubscriptionManagement.d.ts.map +1 -0
- package/dist/src/hooks/useX402Payment.d.ts.map +1 -0
- package/dist/src/i18n/index.d.ts.map +1 -0
- package/dist/src/i18n/useTranslation.d.ts.map +1 -0
- package/dist/src/index.d.ts +45 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/managers/CreditsManager.d.ts.map +1 -0
- package/dist/src/managers/ManagerCache.d.ts.map +1 -0
- package/dist/src/managers/RouteDiscoveryManager.d.ts +6 -0
- package/dist/src/managers/RouteDiscoveryManager.d.ts.map +1 -0
- package/dist/src/managers/StripeManager.d.ts.map +1 -0
- package/dist/src/managers/SubscriptionChangeManager.d.ts.map +1 -0
- package/dist/src/managers/SubscriptionManager.d.ts.map +1 -0
- package/dist/src/managers/WalletManager.d.ts.map +1 -0
- package/dist/src/managers/X402Manager.d.ts.map +1 -0
- package/dist/src/stripe-only.d.ts +49 -0
- package/dist/src/stripe-only.d.ts.map +1 -0
- package/dist/src/telemetry.d.ts +27 -0
- package/dist/src/telemetry.d.ts.map +1 -0
- package/dist/src/testing/__tests__/providers.test.d.ts.map +1 -0
- package/dist/src/testing/helpers.d.ts.map +1 -0
- package/dist/src/testing/index.d.ts +12 -0
- package/dist/src/testing/index.d.ts.map +1 -0
- package/dist/src/testing/mocks.d.ts.map +1 -0
- package/dist/src/testing/providers.d.ts.map +1 -0
- package/dist/src/types/componentOptions.d.ts.map +1 -0
- package/dist/src/types/errors.d.ts.map +1 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/subscription.d.ts.map +1 -0
- package/dist/src/utils/__tests__/couponHelpers.test.d.ts.map +1 -0
- package/dist/src/utils/__tests__/cspHelper.test.d.ts.map +1 -0
- package/dist/src/utils/__tests__/fetchWithTimeout.test.d.ts.map +1 -0
- package/dist/src/utils/cartHelpers.d.ts.map +1 -0
- package/dist/src/utils/circuitBreaker.d.ts.map +1 -0
- package/dist/src/utils/couponHelpers.d.ts.map +1 -0
- package/dist/src/utils/cspHelper.d.ts.map +1 -0
- package/dist/src/utils/csvHelpers.d.ts.map +1 -0
- package/dist/src/utils/csvHelpers.test.d.ts.map +1 -0
- package/dist/src/utils/dateHelpers.d.ts.map +1 -0
- package/dist/src/utils/deprecation.d.ts.map +1 -0
- package/dist/src/utils/errorHandling.d.ts.map +1 -0
- package/dist/src/utils/errorMessages.d.ts.map +1 -0
- package/dist/src/utils/errorParser.d.ts.map +1 -0
- package/dist/src/utils/eventEmitter.d.ts.map +1 -0
- package/dist/src/utils/exponentialBackoff.d.ts.map +1 -0
- package/dist/src/utils/fetchWithTimeout.d.ts.map +1 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/modalStyles.d.ts.map +1 -0
- package/dist/src/utils/rateLimiter.d.ts.map +1 -0
- package/dist/src/utils/requestDeduplication.d.ts.map +1 -0
- package/dist/src/utils/securityValidation.d.ts.map +1 -0
- package/dist/src/utils/solanaCheck.d.ts.map +1 -0
- package/dist/src/utils/telemetry.d.ts.map +1 -0
- package/dist/src/utils/tokenMintValidator.d.ts.map +1 -0
- package/dist/src/utils/uuid.d.ts.map +1 -0
- package/dist/src/utils/validateConfig.d.ts.map +1 -0
- package/dist/src/utils/walletDetection.d.ts.map +1 -0
- package/dist/src/utils/walletPool.d.ts.map +1 -0
- package/dist/stripe-only.d.ts +2 -14
- package/dist/stripe-only.js +1 -1
- package/dist/stripe-only.mjs +59 -62
- package/dist/styles--eKKnfdj.mjs +2578 -0
- package/dist/styles-BWrLnaUW.js +1 -0
- package/dist/telemetry.d.ts +2 -27
- package/dist/testing/index.d.ts +2 -12
- package/dist/testing/index.js +1 -1
- package/dist/testing/index.mjs +1 -1
- package/dist/{walletPool-DjA7J3a9.js → walletPool-BqNfOhB0.js} +1 -1
- package/dist/{walletPool-BV_z1lEA.mjs → walletPool-DShNjCQ6.mjs} +1 -1
- package/package.json +8 -3
- package/dist/CryptoButton-N8kRfNDO.js +0 -1
- package/dist/SingleCategorySettings-NLBYxM0O.js +0 -3
- package/dist/admin/index.d.ts.map +0 -1
- package/dist/admin/plugin.d.ts.map +0 -1
- package/dist/admin/types.d.ts.map +0 -1
- package/dist/components/CedrosPay.d.ts.map +0 -1
- package/dist/components/CreditsButton.d.ts.map +0 -1
- package/dist/components/CreditsSubscribeButton.d.ts.map +0 -1
- package/dist/components/CryptoButton.d.ts.map +0 -1
- package/dist/components/CryptoSubscribeButton.d.ts.map +0 -1
- package/dist/components/PaymentModal.d.ts.map +0 -1
- package/dist/components/ProductPrice.d.ts.map +0 -1
- package/dist/components/PurchaseButton.d.ts.map +0 -1
- package/dist/components/StripeButton.d.ts.map +0 -1
- package/dist/components/SubscribeButton.d.ts.map +0 -1
- package/dist/components/SubscriptionManagementPanel.d.ts.map +0 -1
- package/dist/components/admin/AISettingsSection.d.ts.map +0 -1
- package/dist/components/admin/AdminAuthManager.d.ts.map +0 -1
- package/dist/components/admin/AutosaveIndicator.d.ts.map +0 -1
- package/dist/components/admin/CedrosPayAdminDashboard.d.ts.map +0 -1
- package/dist/components/admin/ConfigEditor.d.ts.map +0 -1
- package/dist/components/admin/CouponsSection.d.ts.map +0 -1
- package/dist/components/admin/Dropdown.d.ts.map +0 -1
- package/dist/components/admin/ErrorBanner.d.ts.map +0 -1
- package/dist/components/admin/FAQSection.d.ts.map +0 -1
- package/dist/components/admin/MessagingSection.d.ts.map +0 -1
- package/dist/components/admin/OverviewSection.d.ts.map +0 -1
- package/dist/components/admin/PaymentSettingsSection.d.ts.map +0 -1
- package/dist/components/admin/ProductVariationsEditor.d.ts.map +0 -1
- package/dist/components/admin/ProductsSection.d.ts.map +0 -1
- package/dist/components/admin/RefundsSection.d.ts.map +0 -1
- package/dist/components/admin/SecretArrayEditor.d.ts.map +0 -1
- package/dist/components/admin/SettingsSection.d.ts.map +0 -1
- package/dist/components/admin/SingleCategorySettings.d.ts.map +0 -1
- package/dist/components/admin/StatsBar.d.ts.map +0 -1
- package/dist/components/admin/StorefrontSection.d.ts.map +0 -1
- package/dist/components/admin/SubscriptionsSection.d.ts.map +0 -1
- package/dist/components/admin/Toggle.d.ts.map +0 -1
- package/dist/components/admin/TokenMintSelector.d.ts.map +0 -1
- package/dist/components/admin/TransactionsSection.d.ts.map +0 -1
- package/dist/components/admin/VariantInventoryGrid.d.ts.map +0 -1
- package/dist/components/admin/VariationTypeEditor.d.ts.map +0 -1
- package/dist/components/admin/configApi.d.ts.map +0 -1
- package/dist/components/admin/icons.d.ts.map +0 -1
- package/dist/components/admin/index.d.ts.map +0 -1
- package/dist/components/admin/sections-more.d.ts.map +0 -1
- package/dist/components/admin/sections.d.ts.map +0 -1
- package/dist/components/admin/types.d.ts.map +0 -1
- package/dist/components/admin/useAdminAuth.d.ts.map +0 -1
- package/dist/components/admin/useAutosave.d.ts.map +0 -1
- package/dist/components/admin/useProductVariations.d.ts.map +0 -1
- package/dist/components/subscriptionPanelStyles.d.ts.map +0 -1
- package/dist/context/CedrosContext.d.ts.map +0 -1
- package/dist/context/ThemeContext.d.ts.map +0 -1
- package/dist/context/index.d.ts.map +0 -1
- package/dist/crypto-only.d.ts.map +0 -1
- package/dist/ecommerce/__tests__/cartCheckoutRequirements.test.d.ts.map +0 -1
- package/dist/ecommerce/__tests__/cartProviderPersistence.test.d.ts.map +0 -1
- package/dist/ecommerce/__tests__/cartReducer.test.d.ts.map +0 -1
- package/dist/ecommerce/__tests__/cartServerMerge.test.d.ts.map +0 -1
- package/dist/ecommerce/__tests__/checkoutPaymentMethods.test.d.ts.map +0 -1
- package/dist/ecommerce/__tests__/checkoutReturn.test.d.ts.map +0 -1
- package/dist/ecommerce/__tests__/checkoutSchema.test.d.ts.map +0 -1
- package/dist/ecommerce/__tests__/inventoryHooks.test.d.ts.map +0 -1
- package/dist/ecommerce/__tests__/mockAdapter.test.d.ts.map +0 -1
- package/dist/ecommerce/__tests__/storage.test.d.ts.map +0 -1
- package/dist/ecommerce/adapters/CommerceAdapter.d.ts.map +0 -1
- package/dist/ecommerce/adapters/mock/mockAdapter.d.ts.map +0 -1
- package/dist/ecommerce/adapters/paywall/paywallAdapter.d.ts.map +0 -1
- package/dist/ecommerce/adapters/paywall/paywallAdapter.test.d.ts.map +0 -1
- package/dist/ecommerce/components/cart/CartLineItem.d.ts.map +0 -1
- package/dist/ecommerce/components/cart/CartPageContent.d.ts.map +0 -1
- package/dist/ecommerce/components/cart/CartPanel.d.ts.map +0 -1
- package/dist/ecommerce/components/cart/CartSidebar.d.ts.map +0 -1
- package/dist/ecommerce/components/cart/CartSummary.d.ts.map +0 -1
- package/dist/ecommerce/components/cart/PromoCodeInput.d.ts.map +0 -1
- package/dist/ecommerce/components/catalog/Breadcrumbs.d.ts.map +0 -1
- package/dist/ecommerce/components/catalog/CategoryNav.d.ts.map +0 -1
- package/dist/ecommerce/components/catalog/FilterPanel.d.ts.map +0 -1
- package/dist/ecommerce/components/catalog/Price.d.ts.map +0 -1
- package/dist/ecommerce/components/catalog/ProductCard.d.ts.map +0 -1
- package/dist/ecommerce/components/catalog/ProductGallery.d.ts.map +0 -1
- package/dist/ecommerce/components/catalog/ProductGrid.d.ts.map +0 -1
- package/dist/ecommerce/components/catalog/QuantitySelector.d.ts.map +0 -1
- package/dist/ecommerce/components/catalog/QuickViewDialog.d.ts.map +0 -1
- package/dist/ecommerce/components/catalog/SearchInput.d.ts.map +0 -1
- package/dist/ecommerce/components/catalog/VariantSelector.d.ts.map +0 -1
- package/dist/ecommerce/components/chat/ShopChatPanel.d.ts.map +0 -1
- package/dist/ecommerce/components/checkout/AddressForm.d.ts.map +0 -1
- package/dist/ecommerce/components/checkout/CheckoutCancelPage.d.ts.map +0 -1
- package/dist/ecommerce/components/checkout/CheckoutForm.d.ts.map +0 -1
- package/dist/ecommerce/components/checkout/CheckoutLayout.d.ts.map +0 -1
- package/dist/ecommerce/components/checkout/CheckoutReceipt.d.ts.map +0 -1
- package/dist/ecommerce/components/checkout/CheckoutSuccessPage.d.ts.map +0 -1
- package/dist/ecommerce/components/checkout/InventoryVerificationDialog.d.ts.map +0 -1
- package/dist/ecommerce/components/checkout/OrderReview.d.ts.map +0 -1
- package/dist/ecommerce/components/checkout/PaymentStep.d.ts.map +0 -1
- package/dist/ecommerce/components/checkout/ShippingMethodSelector.d.ts.map +0 -1
- package/dist/ecommerce/components/faq/FAQItem.d.ts.map +0 -1
- package/dist/ecommerce/components/faq/FAQItem.test.d.ts.map +0 -1
- package/dist/ecommerce/components/faq/FAQList.d.ts.map +0 -1
- package/dist/ecommerce/components/faq/index.d.ts.map +0 -1
- package/dist/ecommerce/components/general/EmptyState.d.ts.map +0 -1
- package/dist/ecommerce/components/general/ErrorBoundary.d.ts.map +0 -1
- package/dist/ecommerce/components/general/ErrorState.d.ts.map +0 -1
- package/dist/ecommerce/components/general/toast.d.ts.map +0 -1
- package/dist/ecommerce/components/orders/OrderCard.d.ts.map +0 -1
- package/dist/ecommerce/components/orders/OrderDetails.d.ts.map +0 -1
- package/dist/ecommerce/components/orders/OrderList.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/accordion.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/badge.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/button.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/card.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/dialog.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/input.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/label.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/select.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/separator.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/sheet.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/skeleton.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/tabs.d.ts.map +0 -1
- package/dist/ecommerce/components/ui/textarea.d.ts.map +0 -1
- package/dist/ecommerce/config/context.d.ts.map +0 -1
- package/dist/ecommerce/config/types.d.ts.map +0 -1
- package/dist/ecommerce/hooks/checkoutReturn.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useAIRelatedProducts.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useCartInventory.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useCatalogUrlState.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useCategories.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useCheckoutResultFromUrl.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useHoldExpiry.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useInventoryVerification.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useOrders.d.ts.map +0 -1
- package/dist/ecommerce/hooks/usePaymentMethodsConfig.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useProduct.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useProducts.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useShippingMethods.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useStorefrontSettings.d.ts.map +0 -1
- package/dist/ecommerce/hooks/useSubscriptionData.d.ts.map +0 -1
- package/dist/ecommerce/index.d.ts.map +0 -1
- package/dist/ecommerce/integrations/cedros-pay/useCedrosPayCheckoutAdapter.d.ts.map +0 -1
- package/dist/ecommerce/state/cart/CartProvider.d.ts.map +0 -1
- package/dist/ecommerce/state/cart/cartReducer.d.ts.map +0 -1
- package/dist/ecommerce/state/checkout/checkoutSchema.d.ts.map +0 -1
- package/dist/ecommerce/state/checkout/useCheckout.d.ts.map +0 -1
- package/dist/ecommerce/templates/CartTemplate.d.ts.map +0 -1
- package/dist/ecommerce/templates/CategoryTemplate.d.ts.map +0 -1
- package/dist/ecommerce/templates/CheckoutTemplate.d.ts.map +0 -1
- package/dist/ecommerce/templates/ProductTemplate.d.ts.map +0 -1
- package/dist/ecommerce/templates/PurchaseHistoryTemplate.d.ts.map +0 -1
- package/dist/ecommerce/templates/ReceiptTemplate.d.ts.map +0 -1
- package/dist/ecommerce/templates/ShopTemplate.d.ts.map +0 -1
- package/dist/ecommerce/templates/SubscriptionTemplate.d.ts.map +0 -1
- package/dist/ecommerce/testing/adapterContract.d.ts.map +0 -1
- package/dist/ecommerce/types.d.ts.map +0 -1
- package/dist/ecommerce/utils/cartCheckoutRequirements.d.ts.map +0 -1
- package/dist/ecommerce/utils/cartItemMetadata.d.ts.map +0 -1
- package/dist/ecommerce/utils/cn.d.ts.map +0 -1
- package/dist/ecommerce/utils/money.d.ts.map +0 -1
- package/dist/ecommerce/utils/storage.d.ts.map +0 -1
- package/dist/hooks/useCreditsPayment.d.ts.map +0 -1
- package/dist/hooks/useCreditsSubscription.d.ts.map +0 -1
- package/dist/hooks/useCryptoSubscription.d.ts.map +0 -1
- package/dist/hooks/usePaymentMode.d.ts.map +0 -1
- package/dist/hooks/useRefundVerification.d.ts.map +0 -1
- package/dist/hooks/useStripeCheckout.d.ts.map +0 -1
- package/dist/hooks/useSubscription.d.ts.map +0 -1
- package/dist/hooks/useSubscriptionManagement.d.ts.map +0 -1
- package/dist/hooks/useX402Payment.d.ts.map +0 -1
- package/dist/i18n/index.d.ts.map +0 -1
- package/dist/i18n/useTranslation.d.ts.map +0 -1
- package/dist/index-B-0trqeD.js +0 -84
- package/dist/index.d.ts.map +0 -1
- package/dist/managers/CreditsManager.d.ts.map +0 -1
- package/dist/managers/ManagerCache.d.ts.map +0 -1
- package/dist/managers/RouteDiscoveryManager.d.ts +0 -75
- package/dist/managers/RouteDiscoveryManager.d.ts.map +0 -1
- package/dist/managers/StripeManager.d.ts.map +0 -1
- package/dist/managers/SubscriptionChangeManager.d.ts.map +0 -1
- package/dist/managers/SubscriptionManager.d.ts.map +0 -1
- package/dist/managers/WalletManager.d.ts.map +0 -1
- package/dist/managers/X402Manager.d.ts.map +0 -1
- package/dist/sections-CKwGmrzV.js +0 -1
- package/dist/sections-DpEdFL1B.mjs +0 -10
- package/dist/stripe-only.d.ts.map +0 -1
- package/dist/telemetry.d.ts.map +0 -1
- package/dist/testing/__tests__/providers.test.d.ts.map +0 -1
- package/dist/testing/helpers.d.ts.map +0 -1
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/mocks.d.ts.map +0 -1
- package/dist/testing/providers.d.ts.map +0 -1
- package/dist/types/componentOptions.d.ts.map +0 -1
- package/dist/types/errors.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/subscription.d.ts.map +0 -1
- package/dist/utils/__tests__/couponHelpers.test.d.ts.map +0 -1
- package/dist/utils/__tests__/cspHelper.test.d.ts.map +0 -1
- package/dist/utils/__tests__/fetchWithTimeout.test.d.ts.map +0 -1
- package/dist/utils/cartHelpers.d.ts.map +0 -1
- package/dist/utils/circuitBreaker.d.ts.map +0 -1
- package/dist/utils/couponHelpers.d.ts.map +0 -1
- package/dist/utils/cspHelper.d.ts.map +0 -1
- package/dist/utils/csvHelpers.d.ts.map +0 -1
- package/dist/utils/csvHelpers.test.d.ts.map +0 -1
- package/dist/utils/dateHelpers.d.ts.map +0 -1
- package/dist/utils/deprecation.d.ts.map +0 -1
- package/dist/utils/errorHandling.d.ts.map +0 -1
- package/dist/utils/errorMessages.d.ts.map +0 -1
- package/dist/utils/errorParser.d.ts.map +0 -1
- package/dist/utils/eventEmitter.d.ts.map +0 -1
- package/dist/utils/exponentialBackoff.d.ts.map +0 -1
- package/dist/utils/fetchWithTimeout.d.ts.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/logger.d.ts.map +0 -1
- package/dist/utils/modalStyles.d.ts.map +0 -1
- package/dist/utils/rateLimiter.d.ts.map +0 -1
- package/dist/utils/requestDeduplication.d.ts.map +0 -1
- package/dist/utils/securityValidation.d.ts.map +0 -1
- package/dist/utils/solanaCheck.d.ts.map +0 -1
- package/dist/utils/telemetry.d.ts.map +0 -1
- package/dist/utils/tokenMintValidator.d.ts.map +0 -1
- package/dist/utils/uuid.d.ts.map +0 -1
- package/dist/utils/validateConfig.d.ts.map +0 -1
- package/dist/utils/walletDetection.d.ts.map +0 -1
- package/dist/utils/walletPool.d.ts.map +0 -1
- /package/dist/{admin → src/admin}/index.d.ts +0 -0
- /package/dist/{admin → src/admin}/plugin.d.ts +0 -0
- /package/dist/{admin → src/admin}/types.d.ts +0 -0
- /package/dist/{components → src/components}/CedrosPay.d.ts +0 -0
- /package/dist/{components → src/components}/CreditsButton.d.ts +0 -0
- /package/dist/{components → src/components}/CreditsSubscribeButton.d.ts +0 -0
- /package/dist/{components → src/components}/CryptoButton.d.ts +0 -0
- /package/dist/{components → src/components}/CryptoSubscribeButton.d.ts +0 -0
- /package/dist/{components → src/components}/PaymentModal.d.ts +0 -0
- /package/dist/{components → src/components}/ProductPrice.d.ts +0 -0
- /package/dist/{components → src/components}/PurchaseButton.d.ts +0 -0
- /package/dist/{components → src/components}/StripeButton.d.ts +0 -0
- /package/dist/{components → src/components}/SubscribeButton.d.ts +0 -0
- /package/dist/{components → src/components}/SubscriptionManagementPanel.d.ts +0 -0
- /package/dist/{components → src/components}/admin/AISettingsSection.d.ts +0 -0
- /package/dist/{components → src/components}/admin/AdminAuthManager.d.ts +0 -0
- /package/dist/{components → src/components}/admin/AutosaveIndicator.d.ts +0 -0
- /package/dist/{components → src/components}/admin/CedrosPayAdminDashboard.d.ts +0 -0
- /package/dist/{components → src/components}/admin/ConfigEditor.d.ts +0 -0
- /package/dist/{components → src/components}/admin/CouponsSection.d.ts +0 -0
- /package/dist/{components → src/components}/admin/Dropdown.d.ts +0 -0
- /package/dist/{components → src/components}/admin/ErrorBanner.d.ts +0 -0
- /package/dist/{components → src/components}/admin/FAQSection.d.ts +0 -0
- /package/dist/{components → src/components}/admin/MessagingSection.d.ts +0 -0
- /package/dist/{components → src/components}/admin/OverviewSection.d.ts +0 -0
- /package/dist/{components → src/components}/admin/PaymentSettingsSection.d.ts +0 -0
- /package/dist/{components → src/components}/admin/ProductVariationsEditor.d.ts +0 -0
- /package/dist/{components → src/components}/admin/ProductsSection.d.ts +0 -0
- /package/dist/{components → src/components}/admin/RefundsSection.d.ts +0 -0
- /package/dist/{components → src/components}/admin/SecretArrayEditor.d.ts +0 -0
- /package/dist/{components → src/components}/admin/SettingsSection.d.ts +0 -0
- /package/dist/{components → src/components}/admin/SingleCategorySettings.d.ts +0 -0
- /package/dist/{components → src/components}/admin/StatsBar.d.ts +0 -0
- /package/dist/{components → src/components}/admin/StorefrontSection.d.ts +0 -0
- /package/dist/{components → src/components}/admin/SubscriptionsSection.d.ts +0 -0
- /package/dist/{components → src/components}/admin/Toggle.d.ts +0 -0
- /package/dist/{components → src/components}/admin/TransactionsSection.d.ts +0 -0
- /package/dist/{components → src/components}/admin/VariantInventoryGrid.d.ts +0 -0
- /package/dist/{components → src/components}/admin/VariationTypeEditor.d.ts +0 -0
- /package/dist/{components → src/components}/admin/configApi.d.ts +0 -0
- /package/dist/{components → src/components}/admin/icons.d.ts +0 -0
- /package/dist/{components → src/components}/admin/sections-more.d.ts +0 -0
- /package/dist/{components → src/components}/admin/sections.d.ts +0 -0
- /package/dist/{components → src/components}/admin/types.d.ts +0 -0
- /package/dist/{components → src/components}/admin/useAutosave.d.ts +0 -0
- /package/dist/{components → src/components}/admin/useProductVariations.d.ts +0 -0
- /package/dist/{components → src/components}/subscriptionPanelStyles.d.ts +0 -0
- /package/dist/{context → src/context}/CedrosContext.d.ts +0 -0
- /package/dist/{context → src/context}/ThemeContext.d.ts +0 -0
- /package/dist/{context → src/context}/index.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/__tests__/cartCheckoutRequirements.test.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/__tests__/cartProviderPersistence.test.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/__tests__/cartReducer.test.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/__tests__/cartServerMerge.test.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/__tests__/checkoutPaymentMethods.test.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/__tests__/checkoutReturn.test.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/__tests__/checkoutSchema.test.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/__tests__/inventoryHooks.test.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/__tests__/mockAdapter.test.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/__tests__/storage.test.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/adapters/CommerceAdapter.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/adapters/mock/mockAdapter.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/adapters/paywall/paywallAdapter.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/adapters/paywall/paywallAdapter.test.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/cart/CartLineItem.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/cart/CartPageContent.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/cart/CartPanel.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/cart/CartSidebar.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/cart/CartSummary.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/cart/PromoCodeInput.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/catalog/Breadcrumbs.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/catalog/CategoryNav.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/catalog/FilterPanel.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/catalog/Price.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/catalog/ProductCard.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/catalog/ProductGallery.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/catalog/ProductGrid.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/catalog/QuantitySelector.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/catalog/QuickViewDialog.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/catalog/SearchInput.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/catalog/VariantSelector.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/chat/ShopChatPanel.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/checkout/AddressForm.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/checkout/CheckoutCancelPage.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/checkout/CheckoutForm.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/checkout/CheckoutLayout.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/checkout/CheckoutReceipt.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/checkout/CheckoutSuccessPage.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/checkout/InventoryVerificationDialog.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/checkout/OrderReview.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/checkout/PaymentStep.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/checkout/ShippingMethodSelector.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/faq/FAQItem.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/faq/FAQItem.test.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/faq/FAQList.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/faq/index.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/general/EmptyState.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/general/ErrorBoundary.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/general/ErrorState.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/general/toast.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/orders/OrderCard.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/orders/OrderDetails.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/orders/OrderList.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/accordion.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/badge.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/button.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/card.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/dialog.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/input.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/label.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/select.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/separator.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/sheet.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/skeleton.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/tabs.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/components/ui/textarea.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/config/context.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/config/types.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/checkoutReturn.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useAIRelatedProducts.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useCartInventory.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useCatalogUrlState.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useCategories.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useCheckoutResultFromUrl.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useHoldExpiry.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useInventoryVerification.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useOrders.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/usePaymentMethodsConfig.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useProduct.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useProducts.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useShippingMethods.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useStorefrontSettings.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/hooks/useSubscriptionData.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/index.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/integrations/cedros-pay/useCedrosPayCheckoutAdapter.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/state/cart/CartProvider.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/state/cart/cartReducer.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/state/checkout/checkoutSchema.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/state/checkout/useCheckout.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/templates/CartTemplate.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/templates/CategoryTemplate.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/templates/CheckoutTemplate.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/templates/ProductTemplate.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/templates/PurchaseHistoryTemplate.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/templates/ReceiptTemplate.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/templates/ShopTemplate.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/templates/SubscriptionTemplate.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/testing/adapterContract.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/types.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/utils/cartCheckoutRequirements.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/utils/cartItemMetadata.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/utils/cn.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/utils/money.d.ts +0 -0
- /package/dist/{ecommerce → src/ecommerce}/utils/storage.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/useCreditsPayment.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/useCreditsSubscription.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/useCryptoSubscription.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/usePaymentMode.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/useRefundVerification.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/useStripeCheckout.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/useSubscription.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/useSubscriptionManagement.d.ts +0 -0
- /package/dist/{hooks → src/hooks}/useX402Payment.d.ts +0 -0
- /package/dist/{i18n → src/i18n}/index.d.ts +0 -0
- /package/dist/{i18n → src/i18n}/useTranslation.d.ts +0 -0
- /package/dist/{managers → src/managers}/CreditsManager.d.ts +0 -0
- /package/dist/{managers → src/managers}/ManagerCache.d.ts +0 -0
- /package/dist/{managers → src/managers}/StripeManager.d.ts +0 -0
- /package/dist/{managers → src/managers}/SubscriptionChangeManager.d.ts +0 -0
- /package/dist/{managers → src/managers}/SubscriptionManager.d.ts +0 -0
- /package/dist/{managers → src/managers}/WalletManager.d.ts +0 -0
- /package/dist/{managers → src/managers}/X402Manager.d.ts +0 -0
- /package/dist/{testing → src/testing}/__tests__/providers.test.d.ts +0 -0
- /package/dist/{testing → src/testing}/helpers.d.ts +0 -0
- /package/dist/{testing → src/testing}/mocks.d.ts +0 -0
- /package/dist/{testing → src/testing}/providers.d.ts +0 -0
- /package/dist/{types → src/types}/componentOptions.d.ts +0 -0
- /package/dist/{types → src/types}/errors.d.ts +0 -0
- /package/dist/{types → src/types}/index.d.ts +0 -0
- /package/dist/{types → src/types}/subscription.d.ts +0 -0
- /package/dist/{utils → src/utils}/__tests__/couponHelpers.test.d.ts +0 -0
- /package/dist/{utils → src/utils}/__tests__/cspHelper.test.d.ts +0 -0
- /package/dist/{utils → src/utils}/__tests__/fetchWithTimeout.test.d.ts +0 -0
- /package/dist/{utils → src/utils}/cartHelpers.d.ts +0 -0
- /package/dist/{utils → src/utils}/circuitBreaker.d.ts +0 -0
- /package/dist/{utils → src/utils}/couponHelpers.d.ts +0 -0
- /package/dist/{utils → src/utils}/cspHelper.d.ts +0 -0
- /package/dist/{utils → src/utils}/csvHelpers.d.ts +0 -0
- /package/dist/{utils → src/utils}/csvHelpers.test.d.ts +0 -0
- /package/dist/{utils → src/utils}/dateHelpers.d.ts +0 -0
- /package/dist/{utils → src/utils}/deprecation.d.ts +0 -0
- /package/dist/{utils → src/utils}/errorHandling.d.ts +0 -0
- /package/dist/{utils → src/utils}/errorMessages.d.ts +0 -0
- /package/dist/{utils → src/utils}/errorParser.d.ts +0 -0
- /package/dist/{utils → src/utils}/eventEmitter.d.ts +0 -0
- /package/dist/{utils → src/utils}/exponentialBackoff.d.ts +0 -0
- /package/dist/{utils → src/utils}/fetchWithTimeout.d.ts +0 -0
- /package/dist/{utils → src/utils}/index.d.ts +0 -0
- /package/dist/{utils → src/utils}/logger.d.ts +0 -0
- /package/dist/{utils → src/utils}/modalStyles.d.ts +0 -0
- /package/dist/{utils → src/utils}/rateLimiter.d.ts +0 -0
- /package/dist/{utils → src/utils}/requestDeduplication.d.ts +0 -0
- /package/dist/{utils → src/utils}/securityValidation.d.ts +0 -0
- /package/dist/{utils → src/utils}/solanaCheck.d.ts +0 -0
- /package/dist/{utils → src/utils}/telemetry.d.ts +0 -0
- /package/dist/{utils → src/utils}/tokenMintValidator.d.ts +0 -0
- /package/dist/{utils → src/utils}/uuid.d.ts +0 -0
- /package/dist/{utils → src/utils}/validateConfig.d.ts +0 -0
- /package/dist/{utils → src/utils}/walletDetection.d.ts +0 -0
- /package/dist/{utils → src/utils}/walletPool.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var $e=Object.create;var ye=Object.defineProperty;var Ae=Object.getOwnPropertyDescriptor;var ze=Object.getOwnPropertyNames;var Ue=Object.getPrototypeOf,Oe=Object.prototype.hasOwnProperty;var Fe=(e,t,r,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of ze(t))!Oe.call(e,n)&&n!==r&&ye(e,n,{get:()=>t[n],enumerable:!(s=Ae(t,n))||s.enumerable});return e};var We=(e,t,r)=>(r=e!=null?$e(Ue(e)):{},Fe(t||!e||!e.__esModule?ye(r,"default",{value:e,enumerable:!0}):r,e));const S=require("./CedrosContext-D-lnoEkR.js"),i=require("react/jsx-runtime"),f=require("react");function He(e){return!e||!e.coupon_codes?[]:e.coupon_codes.split(",").map(t=>t.trim()).filter(t=>t.length>0)}function Ye(e,t=", "){return e.join(t)}function Qe(e,t){return e<=0?0:(e-t)/e*100}function Ve(e,t){if(!t||t.length===0)return e;let r=e,s=0;for(const n of t)if(n.discountType==="percentage"){const d=1-n.discountValue/100;r=r*d}else n.discountType==="fixed"&&(s+=n.discountValue);return r=r-s,r<0&&(r=0),Math.ceil(r*100)/100}function Ce(e){const t=Number(e);if(!Number.isFinite(t)||t<=0)return 1;const r=Math.floor(t);return r>0?r:1}function ie(e){return e.map(t=>({resource:t.resource,quantity:Ce(t.quantity),variantId:t.variantId,metadata:t.metadata}))}function ee(e){return e.reduce((t,r)=>t+Ce(r.quantity),0)}function Ge(e){return!!(e&&e.length>0&&(e.length>1||e.length===1&&(e[0].quantity??1)>1))}const G=new Map,le=new Map,H=new Map,ae=1e3,xe=200,ue=2e3;function Ke(e){const t=H.get(e);return t?Date.now()<t?!0:(H.delete(e),!1):!1}function Xe(e,t=xe){const r=Date.now()+t;if(H.set(e,r),H.size>ae){const s=Array.from(H.keys()).slice(0,H.size-ae);for(const n of s)H.delete(n)}}function Je(e,t=ue){const r=G.get(e);if(!r)return!1;const n=Date.now()-r;return n<t?(S.getLogger().debug(`[Deduplication] Duplicate request blocked: ${e} (${n}ms ago)`),!0):!1}function Ze(e){if(G.set(e,Date.now()),G.size>ae){const t=Array.from(G.keys()).slice(0,G.size-ae);for(const r of t)G.delete(r)}}function et(e){return le.get(e)||null}function tt(e,t){le.set(e,t);const r=()=>{le.delete(e),Ze(e)};return t.then(r,r),t}async function rt(e,t,r={}){const{windowMs:s=ue,throwOnDuplicate:n=!0}=r,d=et(e);if(d)return S.getLogger().debug(`[Deduplication] Reusing in-flight request: ${e}`),d;if(Je(e,s)){if(n)throw new Error(`Duplicate request blocked: ${e}`);S.getLogger().warn(`[Deduplication] Duplicate request blocked but not throwing: ${e}`);return}const h=t();return tt(e,h)}function K(e,t,r={}){const{cooldownMs:s=xe,deduplicationWindowMs:n=ue}=r;return async()=>{if(Ke(e)){S.getLogger().debug(`[Deduplication] Button in cooldown: ${e}`);return}Xe(e,s);try{await rt(e,async()=>{const d=t();d instanceof Promise&&await d},{windowMs:n,throwOnDuplicate:!1})}catch(d){if(d instanceof Error&&d.message.includes("Duplicate request"))return;throw d}}}function we(e){return{background:"none",border:"none",fontSize:"1.5rem",cursor:"pointer",color:e,opacity:.6,padding:"0.25rem",lineHeight:1}}const W={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 Q(e,t){if(typeof window>"u")return;const r=new CustomEvent(e,{detail:t,bubbles:!0,cancelable:!1});window.dispatchEvent(r)}function X(e,t,r){Q(W.PAYMENT_START,{timestamp:Date.now(),method:e,resource:t,itemCount:r})}function st(e){Q(W.WALLET_CONNECT,{timestamp:Date.now(),wallet:e})}function nt(e,t){Q(W.WALLET_CONNECTED,{timestamp:Date.now(),wallet:e,publicKey:t})}function ot(e,t){Q(W.WALLET_ERROR,{timestamp:Date.now(),wallet:t,error:e})}function J(e,t,r){Q(W.PAYMENT_PROCESSING,{timestamp:Date.now(),method:e,resource:t,itemCount:r})}function Z(e,t,r,s){Q(W.PAYMENT_SUCCESS,{timestamp:Date.now(),method:e,transactionId:t,resource:r,itemCount:s})}function F(e,t,r,s){Q(W.PAYMENT_ERROR,{timestamp:Date.now(),method:e,error:t,resource:r,itemCount:s})}function it(e){return e instanceof S.PaymentError&&e.canRetry()}function at(e){return e instanceof S.PaymentError?e.getUserMessage():e instanceof Error?e.message:String(e)}function ct(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 lt(e){try{const t=new URL(e);return`${t.protocol}//${t.host}`}catch{return e}}function Se(e={}){const{solanaCluster:t="mainnet-beta",solanaEndpoint:r,customRpcProviders:s=[],allowUnsafeScripts:n=!1,additionalScriptSrc:d=[],additionalConnectSrc:h=[],additionalFrameSrc:C=[],includeStripe:y=!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'"),y&&a.push("https://js.stripe.com"),a.push(...d);const o=["'self'"];if(y&&o.push("https://api.stripe.com","https://*.stripe.com"),l){const c=ct(t);if(o.push(c),r){const u=lt(r);o.includes(u)||o.push(u)}s.forEach(u=>{o.includes(u)||o.push(u)})}o.push(...h);const p=["'self'"];return y&&p.push("https://js.stripe.com","https://checkout.stripe.com"),p.push(...C),{scriptSrc:a,connectSrc:o,frameSrc:p}}function ve(e,t="header"){const{scriptSrc:r,connectSrc:s,frameSrc:n}=e;switch(t){case"header":case"meta":case"nextjs":case"nginx":{const d=[];return r.length>0&&d.push(`script-src ${r.join(" ")}`),s.length>0&&d.push(`connect-src ${s.join(" ")}`),n.length>0&&d.push(`frame-src ${n.join(" ")}`),d.join("; ")}case"helmet":{const d={};return r.length>0&&(d.scriptSrc=r),s.length>0&&(d.connectSrc=s),n.length>0&&(d.frameSrc=n),d}case"directives":return{scriptSrc:r,connectSrc:s,frameSrc:n};default:throw new Error(`Unknown CSP format: ${t}`)}}function ut(e={},t="header"){const r=Se(e);return ve(r,t)}const dt={HELIUS:"https://*.helius-rpc.com",QUICKNODE:"https://*.quicknode.pro",ALCHEMY:"https://*.alchemy.com",ANKR:"https://rpc.ankr.com",TRITON:"https://*.rpcpool.com"},pt={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 de(){const{stripeManager:e}=S.useCedrosContext(),[t,r]=f.useState({status:"idle",error:null,transactionId:null}),s=f.useRef(!1),n=f.useCallback(async(C,y,l,a,o,p)=>{if(s.current)return{success:!1,error:"Payment already in progress"};s.current=!0,r({status:"loading",error:null,transactionId:null});const c={resource:C,successUrl:y,cancelUrl:l,metadata:a,customerEmail:o,couponCode:p};try{const u=await e.processPayment(c);return r({status:u.success?"success":"error",error:u.success?null:u.error||"Payment failed",transactionId:u.success&&u.transactionId||null}),u}catch(u){const g=u instanceof Error?u.message:"Payment failed";return r({status:"error",error:g,transactionId:null}),{success:!1,error:g}}finally{s.current=!1}},[e]),d=f.useCallback(async(C,y,l,a,o,p,c,u,g,m,w,b,E)=>{if(s.current)return{success:!1,error:"Payment already in progress"};s.current=!0,r({status:"loading",error:null,transactionId:null});const P=ie(C);try{const k=await e.processCartCheckout({items:P,successUrl:y,cancelUrl:l,metadata:a,customerEmail:o,customerName:c,customerPhone:u,shippingAddress:g,billingAddress:m,couponCode:p,tipAmount:w,shippingMethodId:b,paymentMethodId:E});return r({status:k.success?"success":"error",error:k.success?null:k.error||"Cart checkout failed",transactionId:k.success&&k.transactionId||null}),k}catch(k){const T=k instanceof Error?k.message:"Cart checkout failed";return r({status:"error",error:T,transactionId:null}),{success:!1,error:T}}finally{s.current=!1}},[e]),h=f.useCallback(()=>{r({status:"idle",error:null,transactionId:null}),s.current=!1},[]);return{...t,processPayment:n,processCartCheckout:d,reset:h}}function te(e,t){return f.useMemo(()=>{const r=Ge(t),s=e||(t?.length===1?t[0].resource:"");return{isCartMode:r,effectiveResource:s}},[e,t])}const ft=(e,t,r)=>{const s=e[t];return s?typeof s=="function"?s():Promise.resolve(s):new Promise((n,d)=>{(typeof queueMicrotask=="function"?queueMicrotask:setTimeout)(d.bind(null,new Error("Unknown variable dynamic import: "+t+(t.split("/").length!==r?". Note that variables only represent file names one level deep.":""))))})},ce=new Map;let oe=null;async function be(e){if(ce.has(e))return ce.get(e);try{const t=await ft(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 ce.set(e,r),r}catch{return null}}async function gt(){if(oe)return oe;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 oe=t.length>0?t:["en"],oe}function Pe(){return typeof navigator>"u"?"en":(navigator.language||navigator.userLanguage||"en").split("-")[0].toLowerCase()}async function je(e){let t=await be(e);if(t||(t=await be("en"),t))return t;throw new Error("Critical: No translation files found, not even en.json")}function ke(e){return(t,r)=>{const s=t.split(".");let n=e;for(const d of s)if(n&&typeof n=="object"&&d in n)n=n[d];else return t;return typeof n!="string"?t:r?Object.entries(r).reduce((d,[h,C])=>d.replace(new RegExp(`\\{${h}\\}`,"g"),C),n):n}}function mt(e,t,r=!0){const s=t.errors[e];if(!s){const n=S.getUserFriendlyError(e);return r&&n.action?`${n.message} ${n.action}`:n.message}return r&&s.action?`${s.message} ${s.action}`:s.message}function V(e){const[t,r]=f.useState(null),[s,n]=f.useState(!0),d=f.useMemo(()=>e||Pe(),[e]);return f.useEffect(()=>{let C=!1;return(async()=>{n(!0);try{const l=await je(d);C||(r(l),n(!1))}catch(l){console.error("[CedrosPay] Failed to load translations:",l),C||n(!1)}})(),()=>{C=!0}},[d]),{t:f.useMemo(()=>t?ke(t):C=>({"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..."})[C]||C,[t]),locale:d,isLoading:s,translations:t}}function ht(e,t=!0){const{translations:r}=V();if(!r){const n=S.getUserFriendlyError(e);return t&&n.action?`${n.message} ${n.action}`:n.message}const s=r.errors[e];if(!s){const n=S.getUserFriendlyError(e);return t&&n.action?`${n.message} ${n.action}`:n.message}return t&&s.action?`${s.message} ${s.action}`:s.message}function pe({resource:e,items:t,successUrl:r,cancelUrl:s,metadata:n,customerEmail:d,couponCode:h,label:C,disabled:y=!1,onAttempt:l,onSuccess:a,onError:o,className:p=""}){const{status:c,error:u,transactionId:g,processPayment:m,processCartCheckout:w}=de(),b=S.useCedrosTheme(),{isCartMode:E,effectiveResource:P}=te(e,t),{t:k,translations:T}=V(),D=C||k("ui.pay_with_card"),$=b.unstyled?p:`${b.className} cedros-theme__stripe-button ${p}`.trim(),A=u&&typeof u!="string"?u?.code??null:null,x=u?typeof u=="string"?u:(j=>{if(!j||!T)return"";const R=T.errors[j];return R?R.action?`${R.message} ${R.action}`:R.message:""})(A):null,M=f.useCallback(async()=>{S.getLogger().debug("[StripeButton] executePayment with couponCode:",h);const j=E&&t?ee(t):void 0;if(X("stripe",P,j),l&&l("stripe"),!E&&!P){const U="Invalid payment configuration: missing resource or items";S.getLogger().error("[StripeButton]",U),F("stripe",U,P,j),o&&o(U);return}let R;J("stripe",P,j),E&&t?(S.getLogger().debug("[StripeButton] Processing cart checkout with coupon:",h),R=await w(t,r,s,n,d,h)):P&&(S.getLogger().debug("[StripeButton] Processing single payment with coupon:",h),R=await m(P,r,s,n,d,h)),R&&R.success&&R.transactionId?(Z("stripe",R.transactionId,P,j),a&&a(R.transactionId)):R&&!R.success&&R.error&&(F("stripe",R.error,P,j),o&&o(R.error))},[h,E,P,t,r,s,n,d,w,m,l,a,o]),B=f.useMemo(()=>E&&t?`stripe-cart-${t.map(j=>j.resource).join("-")}`:`stripe-${P||"unknown"}`,[E,t,P]),_=f.useMemo(()=>K(B,M),[B,M]),I=c==="loading",v=y||I;return i.jsxs("div",{className:$,style:b.unstyled?{}:b.style,children:[i.jsx("button",{onClick:_,disabled:v,className:b.unstyled?p:"cedros-theme__button cedros-theme__stripe",type:"button",children:I?k("ui.processing"):D}),x&&i.jsx("div",{className:b.unstyled?"":"cedros-theme__error",children:x}),g&&i.jsx("div",{className:b.unstyled?"":"cedros-theme__success",children:k("ui.payment_successful")})]})}function Ee(){const{creditsManager:e}=S.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(p=>({...p,status:"idle",requirement:o})),o}catch(o){const p=o instanceof Error?o.message:"Failed to fetch credits quote";return r(c=>({...c,status:"error",error:p})),null}},[e]),d=f.useCallback(async(l,a)=>{r(o=>({...o,status:"loading",error:null}));try{const o=ie(l),p=await e.requestCartQuote(o,a);return r(c=>({...c,status:"idle"})),p}catch(o){const p=o instanceof Error?o.message:"Failed to fetch cart credits quote";return r(c=>({...c,status:"error",error:p})),null}},[e]),h=f.useCallback(async(l,a,o,p)=>{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 c=await e.processPayment(l,a,o,p);return r({status:c.success?"success":"error",error:c.success?null:c.error||"Credits payment failed",transactionId:c.success&&c.transactionId||null,requirement:null,holdId:null}),c}catch(c){const u=c instanceof Error?c.message:"Credits payment failed";return r({status:"error",error:u,transactionId:null,requirement:null,holdId:null}),{success:!1,error:u}}finally{s.current=!1}},[e]),C=f.useCallback(async(l,a,o,p)=>{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 c=null;try{const u=ie(l),g=await e.requestCartQuote(u,o);if(!g)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"};c=(await e.createCartHold({cartId:g.cartId,authToken:a})).holdId,r(b=>({...b,holdId:c}));const w=await e.authorizeCartPayment({cartId:g.cartId,holdId:c,authToken:a,metadata:p});if(!w.success&&c)try{await e.releaseHold(c,a)}catch(b){S.getLogger().warn("[useCreditsPayment] Hold release failed, will expire server-side",{holdId:c,error:b instanceof Error?b.message:String(b)})}return r({status:w.success?"success":"error",error:w.success?null:w.error||"Cart credits payment failed",transactionId:w.success&&w.transactionId||null,requirement:null,holdId:null}),{success:w.success,transactionId:w.transactionId,error:w.error}}catch(u){const g=u instanceof Error?u.message:"Cart credits payment failed";if(c)try{await e.releaseHold(c,a)}catch(m){S.getLogger().warn("[useCreditsPayment] Hold release failed, will expire server-side",{holdId:c,error:m instanceof Error?m.message:String(m)})}return r({status:"error",error:g,transactionId:null,requirement:null,holdId:null}),{success:!1,error:g}}finally{s.current=!1}},[e]),y=f.useCallback(()=>{r({status:"idle",error:null,transactionId:null,requirement:null,holdId:null}),s.current=!1},[]);return{...t,fetchQuote:n,fetchCartQuote:d,processPayment:h,processCartPayment:C,reset:y}}function fe({resource:e,items:t,authToken:r,metadata:s,couponCode:n,label:d,disabled:h=!1,onAttempt:C,onSuccess:y,onError:l,className:a=""}){const{status:o,error:p,transactionId:c,processPayment:u,processCartPayment:g}=Ee(),m=S.useCedrosTheme(),{isCartMode:w,effectiveResource:b}=te(e,t),{t:E,translations:P}=V(),k=d||E("ui.pay_with_credits")||"Pay with Credits",T=m.unstyled?a:`${m.className} cedros-theme__credits-button ${a}`.trim(),D=p&&typeof p!="string"?p?.code??null:null,A=p?typeof p=="string"?p:(I=>{if(!I||!P)return"";const v=P.errors[I];return v?v.action?`${v.message} ${v.action}`:v.message:""})(D):null,q=f.useCallback(async()=>{S.getLogger().debug("[CreditsButton] executePayment");const I=w&&t?ee(t):void 0;if(X("credits",b,I),C&&C("credits"),!r){const j="Authentication required: please log in to pay with credits";S.getLogger().error("[CreditsButton]",j),F("credits",j,b,I),l&&l(j);return}if(!w&&!b){const j="Invalid payment configuration: missing resource";S.getLogger().error("[CreditsButton]",j),F("credits",j,b,I),l&&l(j);return}let v;J("credits",b,I),w&&t?(S.getLogger().debug("[CreditsButton] Processing cart checkout"),v=await g(t,r,n,s)):b&&(S.getLogger().debug("[CreditsButton] Processing single payment"),v=await u(b,r,n,s)),v&&v.success&&v.transactionId?(Z("credits",v.transactionId,b,I),y&&y(v.transactionId)):v&&!v.success&&v.error&&(F("credits",v.error,b,I),l&&l(v.error))},[r,w,b,t,n,s,u,g,C,y,l]),x=f.useMemo(()=>w&&t?`credits-cart-${t.map(I=>I.resource).join("-")}`:`credits-${b||"unknown"}`,[w,t,b]),M=f.useMemo(()=>K(x,q),[x,q]),B=o==="loading",_=h||B;return i.jsxs("div",{className:T,style:m.unstyled?{}:m.style,children:[i.jsx("button",{onClick:M,disabled:_,className:m.unstyled?a:"cedros-theme__button cedros-theme__credits",type:"button",children:B?E("ui.processing"):k}),A&&i.jsx("div",{className:m.unstyled?"":"cedros-theme__error",children:A}),c&&i.jsx("div",{className:m.unstyled?"":"cedros-theme__success",children:E("ui.payment_successful")})]})}const yt=f.lazy(()=>Promise.resolve().then(()=>require("./CryptoButton-Dy-g3bR0.js")).then(e=>e.CryptoButton$1).then(e=>({default:e.CryptoButton}))),Me=({isOpen:e,onClose:t,resource:r,items:s,cardLabel:n="Card",cryptoLabel:d="USDC (Solana)",creditsLabel:h="Pay with Credits",showCard:C=!0,showCrypto:y=!0,showCredits:l=!1,onPaymentAttempt:a,onPaymentSuccess:o,onPaymentError:p,onStripeSuccess:c,onCryptoSuccess:u,onCreditsSuccess:g,onStripeError:m,onCryptoError:w,onCreditsError:b,customerEmail:E,successUrl:P,cancelUrl:k,metadata:T,couponCode:D,authToken:$,testPageUrl:A,hideMessages:q=!1})=>{const{tokens:x}=S.useCedrosTheme();return f.useEffect(()=>{const M=B=>{B.key==="Escape"&&e&&t()};return window.addEventListener("keydown",M),()=>window.removeEventListener("keydown",M)},[e,t]),f.useEffect(()=>{if(e){const M=window.scrollY;return document.body.style.position="fixed",document.body.style.top=`-${M}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:x.modalOverlay,display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999,padding:"1rem"},onClick:t,children:i.jsxs("div",{className:"cedros-modal-content",style:{backgroundColor:x.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 ${x.modalBorder}`},onClick:M=>M.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:x.surfaceText},children:"Choose Payment Method"}),i.jsx("button",{type:"button",onClick:t,style:we(x.surfaceText),"aria-label":"Close modal",children:"×"})]}),i.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"1rem"},children:[C&&i.jsx(pe,{resource:r,items:s,label:n,onAttempt:a,onSuccess:c||o,onError:m||p,customerEmail:E,successUrl:P,cancelUrl:k,metadata:T,couponCode:D}),y&&i.jsx(f.Suspense,{fallback:null,children:i.jsx(yt,{resource:r,items:s,label:d,onAttempt:a,onSuccess:u||o,onError:w||p,testPageUrl:A,hideMessages:q,metadata:T,couponCode:D})}),l&&i.jsx(fe,{resource:r,items:s,label:h,authToken:$,onAttempt:a?()=>a("credits"):void 0,onSuccess:g||o,onError:b||p,metadata:T,couponCode:D})]})]})}):null},Re=({resource:e,items:t,label:r,cardLabel:s,cryptoLabel:n,creditsLabel:d,showCard:h=!0,showCrypto:C=!0,showCredits:y=!1,onPaymentAttempt:l,onPaymentSuccess:a,onPaymentError:o,onStripeSuccess:p,onCryptoSuccess:c,onCreditsSuccess:u,onStripeError:g,onCryptoError:m,onCreditsError:w,customerEmail:b,successUrl:E,cancelUrl:P,metadata:k,couponCode:T,authToken:D,autoDetectWallets:$=!0,testPageUrl:A,hideMessages:q=!1,renderModal:x})=>{const M=S.useCedrosTheme(),[B,_]=f.useState(!1),{status:I,processPayment:v,processCartCheckout:j}=de(),{isCartMode:R,effectiveResource:U}=te(e,t),{t:L}=V(),O=r||L("ui.purchase"),Le=s||L("ui.card"),Ne=n||L("ui.usdc_solana"),De=d||L("ui.pay_with_credits")||"Pay with Credits",ge=f.useCallback(async()=>{if($&&h){const{detectSolanaWallets:N}=await Promise.resolve().then(()=>require("./walletDetection-bNmV5ItZ.js"));if(!N()){const se=R?void 0:U,ne=R&&t?ee(t):void 0;X("stripe",se,ne),l&&l("stripe"),J("stripe",se,ne);let z;R&&t?z=await j(t,E,P,k,b,T):U&&(z=await v(U,E,P,k,b,T)),z&&z.success&&z.transactionId?(Z("stripe",z.transactionId,se,ne),p?p(z.transactionId):a&&a(z.transactionId)):z&&!z.success&&z.error&&(F("stripe",z.error,se,ne),g?g(z.error):o&&o(z.error));return}}_(!0)},[$,h,R,t,U,j,v,E,P,k,b,T,a,o,p,g,l]),me=f.useMemo(()=>R&&t?`purchase-cart-${t.map(N=>N.resource).join("-")}`:`purchase-${U||"unknown"}`,[R,t,U]),Be=f.useMemo(()=>K(me,ge),[me,ge]),re=I==="loading",he={isOpen:B,onClose:()=>_(!1),resource:R?void 0:U,items:R?t:void 0,cardLabel:Le,cryptoLabel:Ne,creditsLabel:De,showCard:h,showCrypto:C,showCredits:y,onPaymentAttempt:l,onPaymentSuccess:N=>{_(!1),a?.(N)},onPaymentError:N=>{_(!1),o?.(N)},onStripeSuccess:N=>{_(!1),p?.(N)},onCryptoSuccess:N=>{_(!1),c?.(N)},onCreditsSuccess:N=>{_(!1),u?.(N)},onStripeError:N=>{_(!1),g?.(N)},onCryptoError:N=>{_(!1),m?.(N)},onCreditsError:N=>{_(!1),w?.(N)},customerEmail:b,successUrl:E,cancelUrl:P,metadata:k,couponCode:T,authToken:D,testPageUrl:A,hideMessages:q};return i.jsxs("div",{className:M.unstyled?"":M.className,style:M.unstyled?{}:M.style,children:[i.jsx("button",{onClick:Be,disabled:re,className:M.unstyled?"":"cedros-theme__button cedros-theme__stripe",style:{width:"100%",cursor:re?"not-allowed":"pointer",opacity:re?.6:1},type:"button",children:re?L("ui.processing"):O}),x?x(he):i.jsx(Me,{...he})]})},bt={"mainnet-beta":"https://api.mainnet-beta.solana.com",devnet:"https://api.devnet.solana.com",testnet:"https://api.testnet.solana.com"};function Ct(){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 xt({endpoint:e,wallets:t,children:r}){const s=Ct();if(!s)return i.jsx(i.Fragment,{children:r});const{ConnectionProvider:n,WalletProvider:d}=s;return i.jsx(n,{endpoint:e,children:i.jsx(d,{wallets:t,autoConnect:!1,children:r})})}const wt=f.lazy(()=>Promise.resolve().then(()=>require("./CryptoButton-Dy-g3bR0.js")).then(e=>e.CryptoButton$1).then(e=>({default:e.CryptoButton})));function St(e){const{resource:t,items:r,checkout:s={},display:n={},callbacks:d={},advanced:h={}}=e,{config:C,walletPool:y}=S.useCedrosContext(),l=S.useCedrosTheme(),{isCartMode:a}=te(t,r),o=n.showCrypto??!0,p=f.useMemo(()=>({marginTop:"0.5rem",fontSize:"0.875rem",color:l.tokens.surfaceText,opacity:.7,textAlign:"center"}),[l.tokens.surfaceText]),c=f.useMemo(()=>o?h.wallets&&h.wallets.length>0?h.wallets:y.getAdapters():[],[h.wallets,y,o]),u=f.useMemo(()=>r?ee(r):0,[r]),{onPaymentSuccess:g,onPaymentError:m,onPaymentAttempt:w}=d,b=f.useCallback(j=>g?.({transactionId:j,method:"stripe"}),[g]),E=f.useCallback(j=>g?.({transactionId:j,method:"crypto"}),[g]),P=f.useCallback(j=>m?.({message:j,method:"stripe"}),[m]),k=f.useCallback(j=>m?.({message:j,method:"crypto"}),[m]),T=f.useCallback(j=>g?.({transactionId:j,method:"credits"}),[g]),D=f.useCallback(j=>m?.({message:j,method:"credits"}),[m]),$=f.useCallback(()=>w?.("credits"),[w]),A=o?C.solanaEndpoint??bt[C.solanaCluster]:"";if(!t&&(!r||r.length===0))return S.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,x=n.showCredits??!1,M=n.showPurchaseButton??!1,B=n.layout??"vertical",_=n.hideMessages??!1,I=h.autoDetectWallets??!0,v=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:[M?i.jsx(Re,{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:d.onPaymentAttempt,onPaymentSuccess:b,onPaymentError:P,onStripeSuccess:b,onCryptoSuccess:E,onStripeError:P,onCryptoError:k,customerEmail:s.customerEmail,successUrl:s.successUrl,cancelUrl:s.cancelUrl,metadata:s.metadata,couponCode:s.couponCode,autoDetectWallets:I,testPageUrl:h.testPageUrl,hideMessages:_,renderModal:n.renderModal}):i.jsxs(i.Fragment,{children:[q&&i.jsx(pe,{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:d.onPaymentAttempt,onSuccess:b,onError:P}),o&&i.jsx(f.Suspense,{fallback:null,children:i.jsx(wt,{resource:a?void 0:t||r?.[0]?.resource,items:a?r:void 0,metadata:s.metadata,couponCode:s.couponCode,label:n.cryptoLabel,onAttempt:d.onPaymentAttempt,onSuccess:E,onError:k,testPageUrl:h.testPageUrl,hideMessages:_})}),x&&i.jsx(fe,{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:$,onSuccess:T,onError:D})]}),a&&r&&r.length>1&&!_&&i.jsxs("div",{style:p,children:["Checking out ",u," items"]})]})});return i.jsx("div",{className:l.unstyled?n.className:l.className,style:l.unstyled?{}:l.style,children:i.jsx(xt,{endpoint:A||"https://api.devnet.solana.com",wallets:c,children:v})})}function vt({product:e,paymentMethod:t,showOriginalPrice:r=!1,className:s="",style:n={}}){const d=t==="stripe",h=d?e.fiatAmount:e.cryptoAmount,C=d?e.effectiveFiatAmount:e.effectiveCryptoAmount,y=d?e.fiatCurrency.toUpperCase():e.cryptoToken,l=d?e.hasStripeCoupon:e.hasCryptoCoupon,a=d?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)," ",y]}),i.jsxs("span",{style:{fontWeight:600},children:[C.toFixed(2)," ",y]}),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 Pt({product:e,paymentMethod:t,className:r="",style:s={}}){const n=t==="stripe",d=n?e.hasStripeCoupon:e.hasCryptoCoupon,h=n?e.stripeDiscountPercent:e.cryptoDiscountPercent,C=n?e.stripeCouponCode:e.cryptoCouponCode;if(!d||h===0)return null;const y=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:[y,C&&i.jsxs("span",{style:{marginLeft:"0.5rem",opacity:.8,fontSize:"0.75em",fontWeight:400},children:["(",C,")"]})]})}function Te(){const{subscriptionManager:e}=S.useCedrosContext(),[t,r]=f.useState({status:"idle",error:null,sessionId:null,subscriptionStatus:null,expiresAt:null}),s=f.useRef(!1),n=f.useCallback(async y=>{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(y);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=S.formatError(l,"Subscription failed");return r(o=>({...o,status:"error",error:a})),{success:!1,error:a}}finally{s.current=!1}},[e]),d=f.useCallback(async y=>{r(l=>({...l,status:"checking",error:null}));try{const l=await e.checkSubscriptionStatus(y);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(y,l,a)=>{r(o=>({...o,status:"loading",error:null}));try{const o=await e.requestSubscriptionQuote(y,l,a);return r(p=>({...p,status:"idle"})),o}catch(o){const p=o instanceof Error?o.message:"Failed to get subscription quote";throw r(c=>({...c,status:"error",error:p})),o}},[e]),C=f.useCallback(()=>{r({status:"idle",error:null,sessionId:null,subscriptionStatus:null,expiresAt:null})},[]);return{...t,processSubscription:n,checkStatus:d,requestQuote:h,reset:C}}function jt({resource:e,interval:t,intervalDays:r,trialDays:s,successUrl:n,cancelUrl:d,metadata:h,customerEmail:C,couponCode:y,label:l,disabled:a=!1,onAttempt:o,onSuccess:p,onError:c,className:u=""}){const{status:g,error:m,sessionId:w,processSubscription:b}=Te(),E=S.useCedrosTheme(),{t:P,translations:k}=V(),T=l||P("ui.subscribe"),D=E.unstyled?u:`${E.className} cedros-theme__stripe-button ${u}`.trim(),$=m&&typeof m!="string"?m?.code??null:null,q=m?typeof m=="string"?m:(v=>{if(!v||!k)return"";const j=k.errors[v];return j?j.action?`${j.message} ${j.action}`:j.message:""})($):null,x=f.useCallback(async()=>{S.getLogger().debug("[SubscribeButton] executeSubscription:",{resource:e,interval:t,intervalDays:r,trialDays:s,couponCode:y}),X("stripe",e),o&&o("stripe"),J("stripe",e);const v=await b({resource:e,interval:t,intervalDays:r,trialDays:s,customerEmail:C,metadata:h,couponCode:y,successUrl:n,cancelUrl:d});v.success&&v.transactionId?(Z("stripe",v.transactionId,e),p&&p(v.transactionId)):!v.success&&v.error&&(F("stripe",v.error,e),c&&c(v.error))},[e,t,r,s,C,h,y,n,d,b,o,p,c]),M=f.useMemo(()=>`subscribe-${e}-${t}`,[e,t]),B=f.useMemo(()=>K(M,x),[M,x]),_=g==="loading",I=a||_;return i.jsxs("div",{className:D,style:E.unstyled?{}:E.style,children:[i.jsx("button",{onClick:B,disabled:I,className:E.unstyled?u:"cedros-theme__button cedros-theme__stripe",type:"button",children:_?P("ui.processing"):T}),q&&i.jsx("div",{className:E.unstyled?"":"cedros-theme__error",children:q}),w&&i.jsx("div",{className:E.unstyled?"":"cedros-theme__success",children:P("ui.redirecting_to_checkout")})]})}function _e(){const{subscriptionManager:e,creditsManager:t}=S.useCedrosContext(),[r,s]=f.useState({status:"idle",error:null,sessionId:null,subscriptionStatus:null,expiresAt:null,creditsRequirement:null}),n=f.useRef(!1),d=f.useCallback(async(l,a)=>{s(o=>({...o,status:"checking",error:null}));try{const o=await e.checkSubscriptionStatus({resource:l,userId:a});return s(p=>({...p,status:o.active?"success":"idle",subscriptionStatus:o.status,expiresAt:o.expiresAt||o.currentPeriodEnd||null})),o}catch(o){const p=S.formatError(o,"Failed to check subscription status");return s(c=>({...c,status:"error",error:p})),null}},[e]),h=f.useCallback(async(l,a,o)=>{s(p=>({...p,status:"loading",error:null}));try{const p=await t.requestQuote(l,o?.couponCode);return s(c=>({...c,status:"idle",creditsRequirement:p})),p}catch(p){const c=S.formatError(p,"Failed to get subscription quote");return s(u=>({...u,status:"error",error:c})),null}},[t]),C=f.useCallback(async(l,a,o,p)=>{if(n.current)return{success:!1,error:"Payment already in progress"};if(!o){const c="Authentication required for credits payment";return s(u=>({...u,status:"error",error:c})),{success:!1,error:c}}n.current=!0,s(c=>({...c,status:"loading",error:null}));try{const c=await t.processPayment(l,o,p?.couponCode,{interval:a,...p?.intervalDays&&{intervalDays:String(p.intervalDays)}});return c.success?s({status:"success",error:null,sessionId:c.transactionId||null,subscriptionStatus:"active",expiresAt:null,creditsRequirement:null}):s(u=>({...u,status:"error",error:c.error||"Credits subscription payment failed"})),c}catch(c){const u=S.formatError(c,"Credits subscription payment failed");return s(g=>({...g,status:"error",error:u})),{success:!1,error:u}}finally{n.current=!1}},[t]),y=f.useCallback(()=>{s({status:"idle",error:null,sessionId:null,subscriptionStatus:null,expiresAt:null,creditsRequirement:null})},[]);return{...r,checkStatus:d,requestQuote:h,processPayment:C,reset:y}}function kt({resource:e,interval:t,intervalDays:r,authToken:s,userId:n,couponCode:d,label:h,disabled:C=!1,onAttempt:y,onSuccess:l,onError:a,className:o="",hideMessages:p=!1,autoCheckStatus:c=!1}){const{status:u,error:g,subscriptionStatus:m,expiresAt:w,checkStatus:b,processPayment:E}=_e(),P=S.useCedrosTheme(),{t:k,translations:T}=V(),D=f.useRef(b);f.useEffect(()=>{D.current=b},[b]),f.useEffect(()=>{c&&n&&(S.getLogger().debug("[CreditsSubscribeButton] Auto-checking subscription status",{resource:e,userId:n}),D.current(e,n))},[c,n,e]);const $=h||k("ui.subscribe_with_credits")||"Subscribe with Credits",A=g&&typeof g!="string"?g?.code??null:null,x=g?typeof g=="string"?g:(L=>{if(!L||!T)return"";const O=T.errors[L];return O?O.action?`${O.message} ${O.action}`:O.message:""})(A):null,M=f.useCallback(async()=>{if(S.getLogger().debug("[CreditsSubscribeButton] executeSubscriptionFlow",{resource:e,interval:t,intervalDays:r,hasAuthToken:!!s}),X("credits",e),y&&y("credits"),!s){const O="Authentication required: please log in to subscribe with credits";S.getLogger().error("[CreditsSubscribeButton]",O),F("credits",O,e),a&&a(O);return}J("credits",e);const L=await E(e,t,s,{couponCode:d,intervalDays:r});L.success&&L.transactionId?(Z("credits",L.transactionId,e),l&&l(L.transactionId)):!L.success&&L.error&&(F("credits",L.error,e),a&&a(L.error))},[e,t,r,s,d,E,y,l,a]),B=f.useMemo(()=>`credits-subscribe-${e}-${t}`,[e,t]),_=f.useMemo(()=>K(B,M,{cooldownMs:200,deduplicationWindowMs:0}),[B,M]),I=u==="loading"||u==="checking",v=m==="active"||m==="trialing",j=C||I||v;let R=$;if(I)R=k("ui.processing");else if(v&&w){const L=new Date(w).toLocaleDateString();R=`${k("ui.subscribed_until")} ${L}`}else v&&(R=k("ui.subscribed"));const U=P.unstyled?o:`${P.className} cedros-theme__credits-button ${o}`.trim();return i.jsxs("div",{className:U,style:P.unstyled?{}:P.style,children:[i.jsx("button",{onClick:_,disabled:j,className:P.unstyled?o:"cedros-theme__button cedros-theme__credits",type:"button",children:R}),!p&&x&&i.jsx("div",{className:P.unstyled?"":"cedros-theme__error",children:x}),!p&&v&&i.jsx("div",{className:P.unstyled?"":"cedros-theme__success",children:k("ui.subscription_active")})]})}function Ie(){const{subscriptionChangeManager:e}=S.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,p)=>{r(c=>({...c,status:"loading",error:null}));try{const c=await e.getDetails(o,p);return r(u=>({...u,status:"success",subscription:c,userId:p})),c}catch(c){const u=c instanceof Error?c.message:"Failed to load subscription";return r(g=>({...g,status:"error",error:u})),null}},[e]),d=f.useCallback(async(o,p,c,u)=>{r(g=>({...g,status:"loading",error:null}));try{const g={currentResource:o,newResource:p,userId:c,newInterval:u},m=await e.previewChange(g);return r(w=>({...w,status:"idle",changePreview:m})),m}catch(g){const m=g instanceof Error?g.message:"Failed to preview change";return r(w=>({...w,status:"error",error:m})),null}},[e]),h=f.useCallback(async o=>{const{subscription:p,userId:c}=s.current;if(!p||!c)return r(u=>({...u,status:"error",error:"No subscription loaded"})),null;r(u=>({...u,status:"loading",error:null}));try{const u={currentResource:p.resource,newResource:o.newResource,userId:c,newInterval:o.newInterval,prorationBehavior:o.prorationBehavior,immediate:o.immediate},g=await e.changeSubscription(u);return g.success?r(m=>({...m,status:"success",subscription:m.subscription?{...m.subscription,resource:g.newResource,interval:g.newInterval,status:g.status}:null,changePreview:null})):r(m=>({...m,status:"error",error:g.error||"Failed to change subscription"})),g}catch(u){const g=u instanceof Error?u.message:"Failed to change subscription";return r(m=>({...m,status:"error",error:g})),null}},[e]),C=f.useCallback(async o=>{const{subscription:p,userId:c}=s.current;if(!p||!c)return r(u=>({...u,status:"error",error:"No subscription loaded"})),null;r(u=>({...u,status:"loading",error:null}));try{const u={resource:p.resource,userId:c,immediate:o},g=await e.cancel(u);if(g.success){const m=o?"canceled":p.status;r(w=>({...w,status:"success",subscription:w.subscription?{...w.subscription,status:m,cancelAtPeriodEnd:!o}:null}))}else r(m=>({...m,status:"error",error:g.error||"Failed to cancel subscription"}));return g}catch(u){const g=u instanceof Error?u.message:"Failed to cancel subscription";return r(m=>({...m,status:"error",error:g})),null}},[e]),y=f.useCallback(async(o,p)=>{r(c=>({...c,status:"loading",error:null}));try{const c=await e.getBillingPortalUrl({userId:o,returnUrl:p});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 u=c instanceof Error?c.message:"Failed to open billing portal";return r(g=>({...g,status:"error",error:u})),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:d,changeSubscription:h,cancelSubscription:C,openBillingPortal:y,clearPreview:l,reset:a}}const Et={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"},Mt={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 Rt(e){const t=e?Mt:Et;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 Y(e,t){return new Intl.NumberFormat("en-US",{style:"currency",currency:t.toUpperCase()}).format(e/100)}function qe(e){return new Date(e).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric"})}function Tt(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 _t({preview:e,onConfirm:t,onCancel:r,isLoading:s,styles:n}){const d=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:[Y(e.currentPlanPrice,e.currency),"/period"]})]}),i.jsxs("div",{style:n.previewRow,children:[i.jsx("span",{children:"New plan:"}),i.jsxs("span",{children:[Y(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:["-",Y(e.prorationDetails.unusedCredit,e.currency)]})]}),i.jsxs("div",{style:n.previewRow,children:[i.jsx("span",{children:"New plan cost:"}),i.jsx("span",{children:Y(e.prorationDetails.newPlanCost,e.currency)})]})]}),i.jsxs("div",{style:{...n.previewRow,...n.previewTotal},children:[i.jsx("span",{children:d?"Credit to account:":"Amount due now:"}),i.jsx("span",{style:{color:d?"#22c55e":"#ef4444"},children:Y(Math.abs(e.immediateAmount),e.currency)})]}),i.jsxs("div",{style:n.previewRow,children:[i.jsx("span",{children:"Effective date:"}),i.jsx("span",{children:qe(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 It({resource:e,userId:t,availablePlans:r=[],onSubscriptionChanged:s,onSubscriptionCanceled:n,billingPortalReturnUrl:d,showBillingPortal:h=!1,className:C,style:y}){const{mode:l}=S.useCedrosTheme(),a=f.useMemo(()=>Rt(l==="dark"),[l]),{subscription:o,changePreview:p,status:c,error:u,loadSubscription:g,previewChange:m,changeSubscription:w,cancelSubscription:b,openBillingPortal:E,clearPreview:P}=Ie();f.useEffect(()=>{g(e,t)},[e,t,g]);const k=f.useRef(null),T=f.useCallback(async(x,M)=>{k.current={resource:x,interval:M},await m(e,x,t,M)},[e,t,m]),D=f.useCallback(async()=>{if(!p)return;const x=k.current;(await w({newResource:x?.resource||e,newInterval:x?.interval,immediate:!0}))?.success&&x&&x.interval&&(s?.(x.resource,x.interval),k.current=null)},[p,e,w,s]),$=f.useCallback(async x=>{(await b(x))?.success&&n?.()},[b,n]),A=f.useCallback(()=>{E(t,d)},[t,d,E]),q=c==="loading";return i.jsxs("div",{className:`cedros-subscription-panel ${C||""}`,style:{...a.container,...y},children:[u&&i.jsx("div",{className:"cedros-subscription-error",style:a.error,children:u}),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:Tt(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:[Y(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:qe(o.currentPeriodEnd)})]}),o.cancelAtPeriodEnd&&i.jsx("div",{style:a.cancelNotice,children:"Subscription will cancel at end of current period"})]}),p&&i.jsx(_t,{preview:p,onConfirm:D,onCancel:P,isLoading:q,styles:a}),r.length>0&&!p&&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(x=>{const M=x.resource===o.resource;return i.jsxs("div",{style:{...a.planCard,...M?a.currentPlan:{}},children:[i.jsx("div",{style:a.planName,children:x.name}),i.jsxs("div",{style:a.planPrice,children:[Y(x.price,x.currency),"/",x.interval]}),x.description&&i.jsx("div",{style:a.planDescription,children:x.description}),M?i.jsx("span",{style:a.currentBadge,children:"Current Plan"}):i.jsx("button",{onClick:()=>T(x.resource,x.interval),style:a.changePlanButton,disabled:q,children:x.price>o.pricePerPeriod?"Upgrade":"Downgrade"})]},x.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:()=>$(!1),style:a.cancelSubscriptionButton,disabled:q,children:"Cancel Subscription"})]})]})]})}function qt(){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 Lt(){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 Nt(){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 Dt(){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 Bt(){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 $t(){const e=[qt(),Lt(),Nt(),Dt(),Bt()],t=e.some(d=>d.severity==="error"&&!d.passed),r=e.some(d=>d.severity==="warning"&&!d.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 At(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 zt={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=W;exports.CSP_PRESETS=pt;exports.CedrosPay=St;exports.CreditsButton=fe;exports.CreditsSubscribeButton=kt;exports.PaymentMethodBadge=Pt;exports.PaymentModal=Me;exports.ProductPrice=vt;exports.PurchaseButton=Re;exports.RPC_PROVIDERS=dt;exports.SECURITY_RECOMMENDATIONS=zt;exports.StripeButton=pe;exports.SubscribeButton=jt;exports.SubscriptionManagementPanel=It;exports.calculateDiscountPercentage=Qe;exports.createDedupedClickHandler=K;exports.createTranslator=ke;exports.detectLocale=Pe;exports.emitPaymentError=F;exports.emitPaymentProcessing=J;exports.emitPaymentStart=X;exports.emitPaymentSuccess=Z;exports.emitWalletConnect=st;exports.emitWalletConnected=nt;exports.emitWalletError=ot;exports.formatCSP=ve;exports.formatCouponCodes=Ye;exports.generateCSP=ut;exports.generateCSPDirectives=Se;exports.getAvailableLocales=gt;exports.getCartItemCount=ee;exports.getLocalizedError=mt;exports.getModalCloseButtonStyles=we;exports.getUserErrorMessage=at;exports.isRetryableError=it;exports.loadLocale=je;exports.logSecurityReport=At;exports.normalizeCartItems=ie;exports.parseCouponCodes=He;exports.stackCheckoutCoupons=Ve;exports.useCreditsPayment=Ee;exports.useCreditsSubscription=_e;exports.useLocalizedError=ht;exports.usePaymentMode=te;exports.useStripeCheckout=de;exports.useSubscription=Te;exports.useSubscriptionManagement=Ie;exports.useTranslation=V;exports.validateSecurity=$t;
|
package/dist/telemetry.d.ts
CHANGED
|
@@ -1,27 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* This module is opt-in and provides error tracking, correlation IDs,
|
|
5
|
-
* and PII sanitization for integration with monitoring services.
|
|
6
|
-
*
|
|
7
|
-
* **Usage:**
|
|
8
|
-
* ```typescript
|
|
9
|
-
* import { configureTelemetry, ErrorSeverity } from '@cedros/pay-react/telemetry';
|
|
10
|
-
* import * as Sentry from '@sentry/react';
|
|
11
|
-
*
|
|
12
|
-
* configureTelemetry({
|
|
13
|
-
* enabled: true,
|
|
14
|
-
* sanitizePII: true,
|
|
15
|
-
* onError: (error) => {
|
|
16
|
-
* Sentry.captureException(error.error, {
|
|
17
|
-
* extra: { correlationId: error.correlationId },
|
|
18
|
-
* });
|
|
19
|
-
* },
|
|
20
|
-
* });
|
|
21
|
-
* ```
|
|
22
|
-
*
|
|
23
|
-
* By default, telemetry is **disabled** and this module adds **no overhead**
|
|
24
|
-
* unless explicitly imported and configured.
|
|
25
|
-
*/
|
|
26
|
-
export { configureTelemetry, getTelemetryConfig, generateCorrelationId, sanitizePII, sanitizeError, enrichError, reportError, createErrorReporter, resetTelemetry, ErrorSeverity, type CorrelationId, type PaymentContext, type EnrichedError, type TelemetryHook, } from './utils/telemetry';
|
|
27
|
-
//# sourceMappingURL=telemetry.d.ts.map
|
|
1
|
+
export * from './src/telemetry'
|
|
2
|
+
export {}
|
package/dist/testing/index.d.ts
CHANGED
|
@@ -1,12 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* Export mock providers and helpers to make testing payment flows easier.
|
|
5
|
-
* Import from '@cedros/pay-react/testing' in your tests.
|
|
6
|
-
*
|
|
7
|
-
* @packageDocumentation
|
|
8
|
-
*/
|
|
9
|
-
export * from './mocks';
|
|
10
|
-
export * from './providers';
|
|
11
|
-
export * from './helpers';
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
|
1
|
+
export * from '../src/testing/index'
|
|
2
|
+
export {}
|
package/dist/testing/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Wr=require("react/jsx-runtime"),Wu=require("../CedrosContext-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Wr=require("react/jsx-runtime"),Wu=require("../CedrosContext-D-lnoEkR.js");var xs={reset:[0,0],bold:[1,22,"\x1B[22m\x1B[1m"],dim:[2,22,"\x1B[22m\x1B[2m"],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29],black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]};function yo(e){return String(e)}yo.open="";yo.close="";function Vu(){let e=typeof process<"u"?process:void 0,t=e?.env||{},n=t.FORCE_TTY!=="false",r=e?.argv||[];return!("NO_COLOR"in t||r.includes("--no-color"))&&("FORCE_COLOR"in t||r.includes("--color")||e?.platform==="win32"||n&&t.TERM!=="dumb"||"CI"in t)||typeof window<"u"&&!!window.chrome}function Uu(){let e=Vu(),t=(s,i,a,u)=>{let c="",l=0;do c+=s.substring(l,u)+a,l=u+i.length,u=s.indexOf(i,l);while(~u);return c+s.substring(l)},n=(s,i,a=s)=>{let u=c=>{let l=String(c),f=l.indexOf(i,s.length);return~f?s+t(l,i,a,f)+i:s+l+i};return u.open=s,u.close=i,u},r={isColorSupported:e},o=s=>`\x1B[${s}m`;for(let s in xs){let i=xs[s];r[s]=e?n(o(i[0]),o(i[1]),i[2]):yo}return r}var ce=Uu();function Pc(e,t){return t.forEach(function(n){n&&typeof n!="string"&&!Array.isArray(n)&&Object.keys(n).forEach(function(r){if(r!=="default"&&!(r in e)){var o=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(e,r,o.get?o:{enumerable:!0,get:function(){return n[r]}})}})}),Object.freeze(e)}function Ku(e,t){const n=Object.keys(e),r=t===null?n:n.sort(t);if(Object.getOwnPropertySymbols)for(const o of Object.getOwnPropertySymbols(e))Object.getOwnPropertyDescriptor(e,o).enumerable&&r.push(o);return r}function rn(e,t,n,r,o,s,i=": "){let a="",u=0,c=e.next();if(!c.done){a+=t.spacingOuter;const l=n+t.indent;for(;!c.done;){if(a+=l,u++===t.maxWidth){a+="…";break}const f=s(c.value[0],t,l,r,o),h=s(c.value[1],t,l,r,o);a+=f+i+h,c=e.next(),c.done?t.min||(a+=","):a+=`,${t.spacingInner}`}a+=t.spacingOuter+n}return a}function bo(e,t,n,r,o,s){let i="",a=0,u=e.next();if(!u.done){i+=t.spacingOuter;const c=n+t.indent;for(;!u.done;){if(i+=c,a++===t.maxWidth){i+="…";break}i+=s(u.value,t,c,r,o),u=e.next(),u.done?t.min||(i+=","):i+=`,${t.spacingInner}`}i+=t.spacingOuter+n}return i}function $n(e,t,n,r,o,s){let i="";e=e instanceof ArrayBuffer?new DataView(e):e;const a=c=>c instanceof DataView,u=a(e)?e.byteLength:e.length;if(u>0){i+=t.spacingOuter;const c=n+t.indent;for(let l=0;l<u;l++){if(i+=c,l===t.maxWidth){i+="…";break}(a(e)||l in e)&&(i+=s(a(e)?e.getInt8(l):e[l],t,c,r,o)),l<u-1?i+=`,${t.spacingInner}`:t.min||(i+=",")}i+=t.spacingOuter+n}return i}function wo(e,t,n,r,o,s){let i="";const a=Ku(e,t.compareKeys);if(a.length>0){i+=t.spacingOuter;const u=n+t.indent;for(let c=0;c<a.length;c++){const l=a[c],f=s(l,t,u,r,o),h=s(e[l],t,u,r,o);i+=`${u+f}: ${h}`,c<a.length-1?i+=`,${t.spacingInner}`:t.min||(i+=",")}i+=t.spacingOuter+n}return i}const Gu=typeof Symbol=="function"&&Symbol.for?Symbol.for("jest.asymmetricMatcher"):1267621,fn=" ",Yu=(e,t,n,r,o,s)=>{const i=e.toString();if(i==="ArrayContaining"||i==="ArrayNotContaining")return++r>t.maxDepth?`[${i}]`:`${i+fn}[${$n(e.sample,t,n,r,o,s)}]`;if(i==="ObjectContaining"||i==="ObjectNotContaining")return++r>t.maxDepth?`[${i}]`:`${i+fn}{${wo(e.sample,t,n,r,o,s)}}`;if(i==="StringMatching"||i==="StringNotMatching"||i==="StringContaining"||i==="StringNotContaining")return i+fn+s(e.sample,t,n,r,o);if(typeof e.toAsymmetricMatcher!="function")throw new TypeError(`Asymmetric matcher ${e.constructor.name} does not implement toAsymmetricMatcher()`);return e.toAsymmetricMatcher()},Ju=e=>e&&e.$$typeof===Gu,Xu={serialize:Yu,test:Ju},Hu=" ",Ic=new Set(["DOMStringMap","NamedNodeMap"]),Zu=/^(?:HTML\w*Collection|NodeList)$/;function Qu(e){return Ic.has(e)||Zu.test(e)}const el=e=>e&&e.constructor&&!!e.constructor.name&&Qu(e.constructor.name);function tl(e){return e.constructor.name==="NamedNodeMap"}const nl=(e,t,n,r,o,s)=>{const i=e.constructor.name;return++r>t.maxDepth?`[${i}]`:(t.min?"":i+Hu)+(Ic.has(i)?`{${wo(tl(e)?[...e].reduce((a,u)=>(a[u.name]=u.value,a),{}):{...e},t,n,r,o,s)}}`:`[${$n([...e],t,n,r,o,s)}]`)},rl={serialize:nl,test:el};function Nc(e){return e.replaceAll("<","<").replaceAll(">",">")}function To(e,t,n,r,o,s,i){const a=r+n.indent,u=n.colors;return e.map(c=>{const l=t[c];let f=i(l,n,a,o,s);return typeof l!="string"&&(f.includes(`
|
|
2
2
|
`)&&(f=n.spacingOuter+a+f+n.spacingOuter+r),f=`{${f}}`),`${n.spacingInner+r+u.prop.open+c+u.prop.close}=${u.value.open}${f}${u.value.close}`}).join("")}function Rn(e,t,n,r,o,s){return e.map(i=>t.spacingOuter+n+(typeof i=="string"?jc(i,t):s(i,t,n,r,o))).join("")}function ol(e,t,n,r,o,s){return t.printShadowRoot===!1?"":[`${t.spacingOuter+n}#shadow-root`,Rn(e,t,n+t.indent,r,o,s)].join("")}function jc(e,t){const n=t.colors.content;return n.open+Nc(e)+n.close}function sl(e,t){const n=t.colors.comment;return`${n.open}<!--${Nc(e)}-->${n.close}`}function So(e,t,n,r,o){const s=r.colors.tag;return`${s.open}<${e}${t&&s.close+t+r.spacingOuter+o+s.open}${n?`>${s.close}${n}${r.spacingOuter}${o}${s.open}</${e}`:`${t&&!r.min?"":" "}/`}>${s.close}`}function Eo(e,t){const n=t.colors.tag;return`${n.open}<${e}${n.close} …${n.open} />${n.close}`}const il=1,Rc=3,Fc=8,Dc=11,cl=/^(?:(?:HTML|SVG)\w*)?Element$/;function al(e){try{return typeof e.hasAttribute=="function"&&e.hasAttribute("is")}catch{return!1}}function ul(e){const t=e.constructor.name,{nodeType:n,tagName:r}=e,o=typeof r=="string"&&r.includes("-")||al(e);return n===il&&(cl.test(t)||o)||n===Rc&&t==="Text"||n===Fc&&t==="Comment"||n===Dc&&t==="DocumentFragment"}const ll=e=>e?.constructor?.name&&ul(e);function fl(e){return e.nodeType===Rc}function hl(e){return e.nodeType===Fc}function hn(e){return e.nodeType===Dc}const pl=(e,t,n,r,o,s)=>{if(fl(e))return jc(e.data,t);if(hl(e))return sl(e.data,t);const i=hn(e)?"DocumentFragment":e.tagName.toLowerCase();return++r>t.maxDepth?Eo(i,t):So(i,To(hn(e)?[]:Array.from(e.attributes,a=>a.name).sort(),hn(e)?{}:[...e.attributes].reduce((a,u)=>(a[u.name]=u.value,a),{}),t,n+t.indent,r,o,s),(hn(e)||!e.shadowRoot?"":ol(Array.prototype.slice.call(e.shadowRoot.children),t,n+t.indent,r,o,s))+Rn(Array.prototype.slice.call(e.childNodes||e.children),t,n+t.indent,r,o,s),t,n)},dl={serialize:pl,test:ll},ml="@@__IMMUTABLE_ITERABLE__@@",gl="@@__IMMUTABLE_LIST__@@",yl="@@__IMMUTABLE_KEYED__@@",bl="@@__IMMUTABLE_MAP__@@",Ms="@@__IMMUTABLE_ORDERED__@@",wl="@@__IMMUTABLE_RECORD__@@",Tl="@@__IMMUTABLE_SEQ__@@",Sl="@@__IMMUTABLE_SET__@@",El="@@__IMMUTABLE_STACK__@@",At=e=>`Immutable.${e}`,Fn=e=>`[${e}]`,Qt=" ",_s="…";function vl(e,t,n,r,o,s,i){return++r>t.maxDepth?Fn(At(i)):`${At(i)+Qt}{${rn(e.entries(),t,n,r,o,s)}}`}function $l(e){let t=0;return{next(){if(t<e._keys.length){const n=e._keys[t++];return{done:!1,value:[n,e.get(n)]}}return{done:!0,value:void 0}}}}function xl(e,t,n,r,o,s){const i=At(e._name||"Record");return++r>t.maxDepth?Fn(i):`${i+Qt}{${rn($l(e),t,n,r,o,s)}}`}function Ml(e,t,n,r,o,s){const i=At("Seq");return++r>t.maxDepth?Fn(i):e[yl]?`${i+Qt}{${e._iter||e._object?rn(e.entries(),t,n,r,o,s):_s}}`:`${i+Qt}[${e._iter||e._array||e._collection||e._iterable?bo(e.values(),t,n,r,o,s):_s}]`}function sr(e,t,n,r,o,s,i){return++r>t.maxDepth?Fn(At(i)):`${At(i)+Qt}[${bo(e.values(),t,n,r,o,s)}]`}const _l=(e,t,n,r,o,s)=>e[bl]?vl(e,t,n,r,o,s,e[Ms]?"OrderedMap":"Map"):e[gl]?sr(e,t,n,r,o,s,"List"):e[Sl]?sr(e,t,n,r,o,s,e[Ms]?"OrderedSet":"Set"):e[El]?sr(e,t,n,r,o,s,"Stack"):e[Tl]?Ml(e,t,n,r,o,s):xl(e,t,n,r,o,s),Ol=e=>e&&(e[ml]===!0||e[wl]===!0),kl={serialize:_l,test:Ol};function Lc(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ir={exports:{}},Z={};var Os;function Al(){if(Os)return Z;Os=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),i=Symbol.for("react.context"),a=Symbol.for("react.forward_ref"),u=Symbol.for("react.suspense"),c=Symbol.for("react.suspense_list"),l=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),h=Symbol.for("react.view_transition"),p=Symbol.for("react.client.reference");function d(g){if(typeof g=="object"&&g!==null){var w=g.$$typeof;switch(w){case e:switch(g=g.type,g){case n:case o:case r:case u:case c:case h:return g;default:switch(g=g&&g.$$typeof,g){case i:case a:case f:case l:return g;case s:return g;default:return w}}case t:return w}}}return Z.ContextConsumer=s,Z.ContextProvider=i,Z.Element=e,Z.ForwardRef=a,Z.Fragment=n,Z.Lazy=f,Z.Memo=l,Z.Portal=t,Z.Profiler=o,Z.StrictMode=r,Z.Suspense=u,Z.SuspenseList=c,Z.isContextConsumer=function(g){return d(g)===s},Z.isContextProvider=function(g){return d(g)===i},Z.isElement=function(g){return typeof g=="object"&&g!==null&&g.$$typeof===e},Z.isForwardRef=function(g){return d(g)===a},Z.isFragment=function(g){return d(g)===n},Z.isLazy=function(g){return d(g)===f},Z.isMemo=function(g){return d(g)===l},Z.isPortal=function(g){return d(g)===t},Z.isProfiler=function(g){return d(g)===o},Z.isStrictMode=function(g){return d(g)===r},Z.isSuspense=function(g){return d(g)===u},Z.isSuspenseList=function(g){return d(g)===c},Z.isValidElementType=function(g){return typeof g=="string"||typeof g=="function"||g===n||g===o||g===r||g===u||g===c||typeof g=="object"&&g!==null&&(g.$$typeof===f||g.$$typeof===l||g.$$typeof===i||g.$$typeof===s||g.$$typeof===a||g.$$typeof===p||g.getModuleId!==void 0)},Z.typeOf=d,Z}var ks;function Cl(){return ks||(ks=1,ir.exports=Al()),ir.exports}var qc=Cl(),Pl=Lc(qc),Il=Pc({__proto__:null,default:Pl},[qc]),cr={exports:{}},J={};var As;function Nl(){if(As)return J;As=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),i=Symbol.for("react.context"),a=Symbol.for("react.server_context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),l=Symbol.for("react.suspense_list"),f=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),p=Symbol.for("react.offscreen"),d;d=Symbol.for("react.module.reference");function g(w){if(typeof w=="object"&&w!==null){var T=w.$$typeof;switch(T){case e:switch(w=w.type,w){case n:case o:case r:case c:case l:return w;default:switch(w=w&&w.$$typeof,w){case a:case i:case u:case h:case f:case s:return w;default:return T}}case t:return T}}}return J.ContextConsumer=i,J.ContextProvider=s,J.Element=e,J.ForwardRef=u,J.Fragment=n,J.Lazy=h,J.Memo=f,J.Portal=t,J.Profiler=o,J.StrictMode=r,J.Suspense=c,J.SuspenseList=l,J.isAsyncMode=function(){return!1},J.isConcurrentMode=function(){return!1},J.isContextConsumer=function(w){return g(w)===i},J.isContextProvider=function(w){return g(w)===s},J.isElement=function(w){return typeof w=="object"&&w!==null&&w.$$typeof===e},J.isForwardRef=function(w){return g(w)===u},J.isFragment=function(w){return g(w)===n},J.isLazy=function(w){return g(w)===h},J.isMemo=function(w){return g(w)===f},J.isPortal=function(w){return g(w)===t},J.isProfiler=function(w){return g(w)===o},J.isStrictMode=function(w){return g(w)===r},J.isSuspense=function(w){return g(w)===c},J.isSuspenseList=function(w){return g(w)===l},J.isValidElementType=function(w){return typeof w=="string"||typeof w=="function"||w===n||w===o||w===r||w===c||w===l||w===p||typeof w=="object"&&w!==null&&(w.$$typeof===h||w.$$typeof===f||w.$$typeof===s||w.$$typeof===i||w.$$typeof===u||w.$$typeof===d||w.getModuleId!==void 0)},J.typeOf=g,J}var Cs;function jl(){return Cs||(Cs=1,cr.exports=Nl()),cr.exports}var Bc=jl(),Rl=Lc(Bc),Fl=Pc({__proto__:null,default:Rl},[Bc]);const Dl=["isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","isSuspenseList","isValidElementType"],ut=Object.fromEntries(Dl.map(e=>[e,t=>Fl[e](t)||Il[e](t)]));function zc(e,t=[]){if(Array.isArray(e))for(const n of e)zc(n,t);else e!=null&&e!==!1&&e!==""&&t.push(e);return t}function Ps(e){const t=e.type;if(typeof t=="string")return t;if(typeof t=="function")return t.displayName||t.name||"Unknown";if(ut.isFragment(e))return"React.Fragment";if(ut.isSuspense(e))return"React.Suspense";if(typeof t=="object"&&t!==null){if(ut.isContextProvider(e))return"Context.Provider";if(ut.isContextConsumer(e))return"Context.Consumer";if(ut.isForwardRef(e)){if(t.displayName)return t.displayName;const n=t.render.displayName||t.render.name||"";return n===""?"ForwardRef":`ForwardRef(${n})`}if(ut.isMemo(e)){const n=t.displayName||t.type.displayName||t.type.name||"";return n===""?"Memo":`Memo(${n})`}}return"UNDEFINED"}function Ll(e){const{props:t}=e;return Object.keys(t).filter(n=>n!=="children"&&t[n]!==void 0).sort()}const ql=(e,t,n,r,o,s)=>++r>t.maxDepth?Eo(Ps(e),t):So(Ps(e),To(Ll(e),e.props,t,n+t.indent,r,o,s),Rn(zc(e.props.children),t,n+t.indent,r,o,s),t,n),Bl=e=>e!=null&&ut.isElement(e),zl={serialize:ql,test:Bl},Wl=typeof Symbol=="function"&&Symbol.for?Symbol.for("react.test.json"):245830487;function Vl(e){const{props:t}=e;return t?Object.keys(t).filter(n=>t[n]!==void 0).sort():[]}const Ul=(e,t,n,r,o,s)=>++r>t.maxDepth?Eo(e.type,t):So(e.type,e.props?To(Vl(e),e.props,t,n+t.indent,r,o,s):"",e.children?Rn(e.children,t,n+t.indent,r,o,s):"",t,n),Kl=e=>e&&e.$$typeof===Wl,Gl={serialize:Ul,test:Kl},Wc=Object.prototype.toString,Yl=Date.prototype.toISOString,Jl=Error.prototype.toString,Is=RegExp.prototype.toString;function bn(e){return typeof e.constructor=="function"&&e.constructor.name||"Object"}function Xl(e){return typeof window<"u"&&e===window}const Hl=/^Symbol\((.*)\)(.*)$/,Zl=/\n/g;class Vc extends Error{constructor(t,n){super(t),this.stack=n,this.name=this.constructor.name}}function Ql(e){return e==="[object Array]"||e==="[object ArrayBuffer]"||e==="[object DataView]"||e==="[object Float32Array]"||e==="[object Float64Array]"||e==="[object Int8Array]"||e==="[object Int16Array]"||e==="[object Int32Array]"||e==="[object Uint8Array]"||e==="[object Uint8ClampedArray]"||e==="[object Uint16Array]"||e==="[object Uint32Array]"}function ef(e){return Object.is(e,-0)?"-0":String(e)}function tf(e){return`${e}n`}function Ns(e,t){return t?`[Function ${e.name||"anonymous"}]`:"[Function]"}function js(e){return String(e).replace(Hl,"Symbol($1)")}function Rs(e){return`[${Jl.call(e)}]`}function Uc(e,t,n,r){if(e===!0||e===!1)return`${e}`;if(e===void 0)return"undefined";if(e===null)return"null";const o=typeof e;if(o==="number")return ef(e);if(o==="bigint")return tf(e);if(o==="string")return r?`"${e.replaceAll(/"|\\/g,"\\$&")}"`:`"${e}"`;if(o==="function")return Ns(e,t);if(o==="symbol")return js(e);const s=Wc.call(e);return s==="[object WeakMap]"?"WeakMap {}":s==="[object WeakSet]"?"WeakSet {}":s==="[object Function]"||s==="[object GeneratorFunction]"?Ns(e,t):s==="[object Symbol]"?js(e):s==="[object Date]"?Number.isNaN(+e)?"Date { NaN }":Yl.call(e):s==="[object Error]"?Rs(e):s==="[object RegExp]"?n?Is.call(e).replaceAll(/[$()*+.?[\\\]^{|}]/g,"\\$&"):Is.call(e):e instanceof Error?Rs(e):null}function Kc(e,t,n,r,o,s){if(o.includes(e))return"[Circular]";o=[...o],o.push(e);const i=++r>t.maxDepth,a=t.min;if(t.callToJSON&&!i&&e.toJSON&&typeof e.toJSON=="function"&&!s)return tt(e.toJSON(),t,n,r,o,!0);const u=Wc.call(e);return u==="[object Arguments]"?i?"[Arguments]":`${a?"":"Arguments "}[${$n(e,t,n,r,o,tt)}]`:Ql(u)?i?`[${e.constructor.name}]`:`${a||!t.printBasicPrototype&&e.constructor.name==="Array"?"":`${e.constructor.name} `}[${$n(e,t,n,r,o,tt)}]`:u==="[object Map]"?i?"[Map]":`Map {${rn(e.entries(),t,n,r,o,tt," => ")}}`:u==="[object Set]"?i?"[Set]":`Set {${bo(e.values(),t,n,r,o,tt)}}`:i||Xl(e)?`[${bn(e)}]`:`${a||!t.printBasicPrototype&&bn(e)==="Object"?"":`${bn(e)} `}{${wo(e,t,n,r,o,tt)}}`}const nf={test:e=>e&&e instanceof Error,serialize(e,t,n,r,o,s){if(o.includes(e))return"[Circular]";o=[...o,e];const i=++r>t.maxDepth,{message:a,cause:u,...c}=e,l={message:a,...typeof u<"u"?{cause:u}:{},...e instanceof AggregateError?{errors:e.errors}:{},...c},f=e.name!=="Error"?e.name:bn(e);return i?`[${f}]`:`${f} {${rn(Object.entries(l).values(),t,n,r,o,s)}}`}};function rf(e){return e.serialize!=null}function Gc(e,t,n,r,o,s){let i;try{i=rf(e)?e.serialize(t,n,r,o,s,tt):e.print(t,a=>tt(a,n,r,o,s),a=>{const u=r+n.indent;return u+a.replaceAll(Zl,`
|
|
3
3
|
${u}`)},{edgeSpacing:n.spacingOuter,min:n.min,spacing:n.spacingInner},n.colors)}catch(a){throw new Vc(a.message,a.stack)}if(typeof i!="string")throw new TypeError(`pretty-format: Plugin must return type "string" but instead returned "${typeof i}".`);return i}function Yc(e,t){for(const n of e)try{if(n.test(t))return n}catch(r){throw new Vc(r.message,r.stack)}return null}function tt(e,t,n,r,o,s){const i=Yc(t.plugins,e);if(i!==null)return Gc(i,e,t,n,r,o);const a=Uc(e,t.printFunctionName,t.escapeRegex,t.escapeString);return a!==null?a:Kc(e,t,n,r,o,s)}const vo={comment:"gray",content:"reset",prop:"yellow",tag:"cyan",value:"green"},Jc=Object.keys(vo),Fe={callToJSON:!0,compareKeys:void 0,escapeRegex:!1,escapeString:!0,highlight:!1,indent:2,maxDepth:Number.POSITIVE_INFINITY,maxWidth:Number.POSITIVE_INFINITY,min:!1,plugins:[],printBasicPrototype:!0,printFunctionName:!0,printShadowRoot:!0,theme:vo};function of(e){for(const t of Object.keys(e))if(!Object.hasOwn(Fe,t))throw new Error(`pretty-format: Unknown option "${t}".`);if(e.min&&e.indent!==void 0&&e.indent!==0)throw new Error('pretty-format: Options "min" and "indent" cannot be used together.')}function sf(){return Jc.reduce((e,t)=>{const n=vo[t],r=n&&ce[n];if(r&&typeof r.close=="string"&&typeof r.open=="string")e[t]=r;else throw new Error(`pretty-format: Option "theme" has a key "${t}" whose value "${n}" is undefined in ansi-styles.`);return e},Object.create(null))}function cf(){return Jc.reduce((e,t)=>(e[t]={close:"",open:""},e),Object.create(null))}function Xc(e){return e?.printFunctionName??Fe.printFunctionName}function Hc(e){return e?.escapeRegex??Fe.escapeRegex}function Zc(e){return e?.escapeString??Fe.escapeString}function Fs(e){return{callToJSON:e?.callToJSON??Fe.callToJSON,colors:e?.highlight?sf():cf(),compareKeys:typeof e?.compareKeys=="function"||e?.compareKeys===null?e.compareKeys:Fe.compareKeys,escapeRegex:Hc(e),escapeString:Zc(e),indent:e?.min?"":af(e?.indent??Fe.indent),maxDepth:e?.maxDepth??Fe.maxDepth,maxWidth:e?.maxWidth??Fe.maxWidth,min:e?.min??Fe.min,plugins:e?.plugins??Fe.plugins,printBasicPrototype:e?.printBasicPrototype??!0,printFunctionName:Xc(e),printShadowRoot:e?.printShadowRoot??!0,spacingInner:e?.min?" ":`
|
|
4
4
|
`,spacingOuter:e?.min?"":`
|
package/dist/testing/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@solana/wallet-adapter-wallets"),e=require("./CedrosContext-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@solana/wallet-adapter-wallets"),e=require("./CedrosContext-D-lnoEkR.js");class r{adapters=null;poolId;isCleanedUp=!1;constructor(l){this.poolId=l??`pool_${Date.now()}_${Math.random().toString(36).slice(2,11)}`,e.getLogger().debug(`[WalletPool] Created pool: ${this.poolId}`)}getAdapters(){return typeof window>"u"?[]:this.isCleanedUp?(e.getLogger().warn(`[WalletPool] Attempted to use pool after cleanup: ${this.poolId}`),[]):this.adapters!==null?this.adapters:(e.getLogger().debug(`[WalletPool] Initializing adapters for pool: ${this.poolId}`),this.adapters=[new a.PhantomWalletAdapter,new a.SolflareWalletAdapter],this.adapters)}async cleanup(){if(this.isCleanedUp){e.getLogger().debug(`[WalletPool] Pool already cleaned up: ${this.poolId}`);return}if(e.getLogger().debug(`[WalletPool] Cleaning up pool: ${this.poolId}`),this.isCleanedUp=!0,this.adapters===null)return;const l=this.adapters.map(async t=>{try{t.connected&&(e.getLogger().debug(`[WalletPool] Disconnecting wallet: ${t.name}`),await t.disconnect())}catch(n){e.getLogger().warn(`[WalletPool] Failed to disconnect wallet ${t.name}:`,n)}});await Promise.allSettled(l),this.adapters=null,e.getLogger().debug(`[WalletPool] Pool cleanup complete: ${this.poolId}`)}isInitialized(){return this.adapters!==null}getId(){return this.poolId}}function i(o){return new r(o)}exports.WalletPool=r;exports.createWalletPool=i;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cedros/pay-react",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.20",
|
|
4
4
|
"description": "React frontend library for Cedros Pay - unified Stripe and Solana x402 payments",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|
|
@@ -38,6 +38,9 @@
|
|
|
38
38
|
},
|
|
39
39
|
"./style.css": "./dist/pay-react.css"
|
|
40
40
|
},
|
|
41
|
+
"sideEffects": [
|
|
42
|
+
"*.css"
|
|
43
|
+
],
|
|
41
44
|
"files": [
|
|
42
45
|
"dist"
|
|
43
46
|
],
|
|
@@ -162,6 +165,8 @@
|
|
|
162
165
|
"ci:checks": "npm run lint && npm run type-check && npm test && npm run check:duplication",
|
|
163
166
|
"analyze": "ANALYZE=true vite build",
|
|
164
167
|
"storybook": "storybook dev -p 6006",
|
|
165
|
-
"build-storybook": "storybook build"
|
|
168
|
+
"build-storybook": "storybook build",
|
|
169
|
+
"prepublishOnly": "npm run lint && npm run type-check && npm test && npm run build",
|
|
170
|
+
"prepare": "husky"
|
|
166
171
|
}
|
|
167
|
-
}
|
|
172
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const p=require("react/jsx-runtime"),a=require("react"),ce=require("@solana/wallet-adapter-react"),le=require("@solana/wallet-adapter-base"),be=require("@solana/wallet-adapter-react-ui"),t=require("./CedrosContext-C26DlvLF.js"),i=require("./index-B-0trqeD.js");function ie(){const{x402Manager:C,walletManager:l}=t.useCedrosContext(),{publicKey:W,signTransaction:j}=ce.useWallet(),[N,y]=a.useState({status:"idle",error:null,transactionId:null}),[R,L]=a.useState(null),[K,k]=a.useState(null),P=a.useRef(W);P.current=W;const h=a.useRef(j);h.current=j;const g=a.useRef(0),X=6e4,I=()=>{const o=g.current;return o>0&&Date.now()-o<X},S=a.useCallback(()=>{if(!W){const o="Wallet not connected";return y({status:"error",error:o,transactionId:null}),{valid:!1,error:o}}if(!j){const o="Wallet does not support signing";return y({status:"error",error:o,transactionId:null}),{valid:!1,error:o}}return{valid:!0}},[W,j]),q=a.useCallback(async o=>{try{y(d=>({...d,status:"loading"}));const c=await C.requestQuote({resource:o});if(!C.validateRequirement(c))throw new Error("Invalid requirement received from server");return L(c),y(d=>({...d,status:"idle"})),c}catch(c){const d=t.formatError(c,"Failed to fetch requirement");throw y({status:"error",error:d,transactionId:null}),c}},[C]),B=a.useCallback(async(o,c,d,x,n="regular")=>{const s=P.current,m=h.current;if(!s||!m)throw new Error("Wallet disconnected during payment flow");if(!!o.extra?.feePayer){t.getLogger().debug("[useX402Payment] Gasless flow enabled"),t.getLogger().debug("[useX402Payment] Building gasless transaction");const{transaction:b,blockhash:M}=await C.buildGaslessTransaction({resourceId:c,userWallet:s.toString(),feePayer:o.extra.feePayer,couponCode:d});t.getLogger().debug("[useX402Payment] Deserializing backend transaction");const A=l.deserializeTransaction(b);if(P.current?.toString()!==s.toString())throw new Error("Wallet changed during payment flow");t.getLogger().debug("[useX402Payment] Requesting partial signature");const E=await l.partiallySignTransaction({transaction:A,signTransaction:m,blockhash:M});t.getLogger().debug("[useX402Payment] Submitting partial transaction");const z=await C.submitGaslessTransaction({resource:c,partialTx:E,couponCode:d,metadata:x,resourceType:n,requirement:o});return z.success&&z.settlement&&k(z.settlement),z}else{const b=await l.buildTransaction({requirement:o,payerPublicKey:s});if(P.current?.toString()!==s.toString())throw new Error("Wallet changed during payment flow");const M=await l.signTransaction({transaction:b,signTransaction:m}),A=l.buildPaymentPayload({requirement:o,signedTx:M,payerPublicKey:s}),E=await C.submitPayment({resource:c,payload:A,couponCode:d,metadata:x,resourceType:n});return E.success&&E.settlement&&k(E.settlement),E}},[C,l]),w=a.useCallback(async(o,c,d)=>{if(I())return{success:!1,error:"Payment already in progress"};const x=S();if(!x.valid)return{success:!1,error:x.error};g.current=Date.now(),y({status:"loading",error:null,transactionId:null});try{t.getLogger().debug("[useX402Payment] Fetching fresh quote");const n=await C.requestQuote({resource:o,couponCode:c});t.getLogger().debug("[useX402Payment] Received quote",{amount:n.maxAmountRequired}),L(n),t.getLogger().debug("[useX402Payment] Executing payment flow");const s=await B(n,o,c,d,"regular");return s.success?y({status:"success",error:null,transactionId:s.transactionId||"payment-success"}):y({status:"error",error:s.error||"Payment failed",transactionId:null}),s}catch(n){const s=t.formatError(n,"Payment failed");return y({status:"error",error:s,transactionId:null}),{success:!1,error:s}}finally{g.current=0}},[S,C,B]),_=a.useCallback(async(o,c,d)=>{if(I())return{success:!1,error:"Payment already in progress"};const x=S();if(!x.valid)return{success:!1,error:x.error};g.current=Date.now(),y({status:"loading",error:null,transactionId:null});try{const n=i.normalizeCartItems(o),s=await C.requestCartQuote({items:n,metadata:c,couponCode:d}),m=s.cartId,u=s.quote;if(!C.validateRequirement(u))throw new Error("Invalid cart quote received from server");L(u);const b=await B(u,m,d,c,"cart");return b.success?y({status:"success",error:null,transactionId:b.transactionId||"cart-payment-success"}):y({status:"error",error:b.error||"Cart payment failed",transactionId:null}),b}catch(n){const s=t.formatError(n,"Cart payment failed");return y({status:"error",error:s,transactionId:null}),{success:!1,error:s}}finally{g.current=0}},[S,C,B]),T=a.useCallback(()=>{y({status:"idle",error:null,transactionId:null}),L(null),k(null),g.current=0},[]);return{...N,requirement:R,settlement:K,fetchQuote:q,processPayment:w,processCartPayment:_,reset:T}}function ue({resource:C,items:l,label:W,disabled:j=!1,onAttempt:N,onSuccess:y,onError:R,className:L="",testPageUrl:K,hideMessages:k=!1,metadata:P,couponCode:h}){const{connected:g,connecting:X,connect:I,disconnect:S,select:q,wallets:B,wallet:w,publicKey:_}=ce.useWallet(),{status:T,error:o,transactionId:c,processPayment:d,processCartPayment:x}=ie(),n=t.useCedrosTheme(),{solanaError:s}=t.useCedrosContext(),{isCartMode:m,effectiveResource:u}=i.usePaymentMode(C,l),{t:b,translations:M}=i.useTranslation(),A=W||b("ui.pay_with_crypto"),E=o&&typeof o!="string"?o?.code??null:null,z=s&&typeof s!="string"?s?.code??null:null,U=e=>{if(!e||!M)return"";const r=M.errors[e];return r?r.action?`${r.message} ${r.action}`:r.message:""},Y=o?typeof o=="string"?o:U(E):null,H=s?typeof s=="string"?s:U(z):null,J=a.useRef(y),V=a.useRef(R),Z=a.useRef(d),ee=a.useRef(x);J.current=y,V.current=R,Z.current=d,ee.current=x;const de=a.useMemo(()=>B.map(e=>`${e.adapter.name}-${e.readyState}`).join(","),[B]),G=a.useMemo(()=>B.filter(({readyState:e})=>e===le.WalletReadyState.Installed||e===le.WalletReadyState.Loadable),[de]);a.useEffect(()=>{if(T==="success"&&c){const e=m&&l?i.getCartItemCount(l):void 0;i.emitPaymentSuccess("crypto",c,u,e),J.current?.(c)}},[T,c,m,l,u]),a.useEffect(()=>{if(T==="error"&&o){const e=m&&l?i.getCartItemCount(l):void 0;i.emitPaymentError("crypto",o,u,e),V.current?.(o)}},[T,o,m,l,u]);const te=typeof window<"u"&&window.top!==window.self,[re,$]=a.useState(!1),[ne,Q]=a.useState(!1),[D,v]=a.useState(null),F=s;a.useEffect(()=>{let e=!1;return e||(async()=>{if(ne&&w&&!g&&!X){t.getLogger().debug("[CryptoButton] Wallet detected, attempting auto-connect:",w.adapter.name),Q(!1),i.emitWalletConnect(w.adapter.name);try{await I(),e||t.getLogger().debug("[CryptoButton] Auto-connect successful")}catch(f){if(!e){t.getLogger().error("[CryptoButton] Auto-connect failed:",f);const O=f instanceof Error?f.message:"Failed to connect wallet";i.emitWalletError(O,w.adapter.name),v(null)}}}})(),()=>{e=!0}},[w,ne,g,X,I]),a.useEffect(()=>{let e=!0;if(t.getLogger().debug("[CryptoButton] Payment useEffect triggered",{connected:g,hasPendingPayment:!!D,hasPublicKey:!!_,pendingPaymentType:D?.type}),g&&D&&_&&w&&e){i.emitWalletConnected(w.adapter.name,_.toString()),t.getLogger().debug("[CryptoButton] All conditions met! Processing pending payment:",D);const r=D;v(null),$(!1);const f=r.type==="cart"&&r.items?i.getCartItemCount(r.items):void 0;i.emitPaymentProcessing("crypto",r.resource,f),r.type==="cart"&&r.items?(t.getLogger().debug("[CryptoButton] Auto-processing cart payment"),ee.current(r.items,r.metadata,r.couponCode)):r.type==="single"&&r.resource&&(t.getLogger().debug("[CryptoButton] Auto-processing single payment"),Z.current(r.resource,r.couponCode,r.metadata))}return()=>{e=!1}},[g,D,_,w]);const oe=a.useCallback(async()=>{t.getLogger().debug("[CryptoButton] executePaymentFlow called",{connected:g,wallet:w?.adapter.name,couponCode:h,isCartMode:m,hasItems:!!l,effectiveResource:u});const e=m&&l?i.getCartItemCount(l):void 0;if(i.emitPaymentStart("crypto",u,e),N&&N("crypto"),F){t.getLogger().error("[CryptoButton] Solana dependencies missing:",F),i.emitPaymentError("crypto",F,u,e),R&&R(F);return}if(te){const r=K||window.location.href;try{if(new URL(r,window.location.origin).origin!==window.location.origin)throw t.getLogger().error("[CryptoButton] Blocked attempt to open external URL:",r),new Error("Cannot open external URLs from embedded context");window.open(r,"_blank","noopener,noreferrer")}catch(f){throw t.getLogger().error("[CryptoButton] URL validation failed:",f),f}return}if(g)i.emitPaymentProcessing("crypto",u,e),m&&l?(t.getLogger().debug("[CryptoButton] Processing cart payment with coupon:",h),await x(l,P,h)):u&&(t.getLogger().debug("[CryptoButton] Processing single payment with coupon:",h),await d(u,h,P));else{let r=!1;if(m&&l?(t.getLogger().debug("[CryptoButton] Setting pending cart payment with coupon:",h),v({type:"cart",items:l,metadata:P,couponCode:h}),r=!0):u&&(t.getLogger().debug("[CryptoButton] Setting pending single payment with coupon:",h),v({type:"single",resource:u,metadata:P,couponCode:h}),r=!0),!r){t.getLogger().error("[CryptoButton] No valid payment to process");return}try{if(w)t.getLogger().debug("[CryptoButton] Wallet already selected, connecting:",w.adapter.name),i.emitWalletConnect(w.adapter.name),await I();else{if(t.getLogger().debug("[CryptoButton] No wallet selected, showing selector. Available wallets:",G.map(f=>f.adapter.name)),G.length===0){v(null);const f="No wallets available";throw i.emitWalletError(f),new Error(f)}$(!0)}}catch(f){v(null);const O=f instanceof Error?f.message:"Failed to connect wallet";t.getLogger().error("[CryptoButton] Connection error:",O),i.emitWalletError(O,w?.adapter.name)}}},[g,w,h,m,l,u,te,K,G,I,P,x,d,F,N,R]),ae=a.useMemo(()=>m&&l?`crypto-cart-${l.map(e=>e.resource).join("-")}`:`crypto-${u||"unknown"}`,[m,l,u]),ge=a.useMemo(()=>i.createDedupedClickHandler(ae,oe,{cooldownMs:200,deduplicationWindowMs:0}),[ae,oe]),se=T==="loading",ye=j||se||X||!!F,me=se?b("ui.processing"):A,fe=a.useCallback(async()=>{try{Q(!1),g&&await S(),q(null),$(!0)}catch(e){t.getLogger().error("Failed to change wallet:",e)}},[g,S,q]),pe=a.useCallback(e=>{t.getLogger().debug("[CryptoButton] Wallet clicked:",e),$(!1),q(e),Q(!0),t.getLogger().debug("[CryptoButton] Wallet selected, useEffect will auto-connect")},[q]),we=a.useCallback(async()=>{try{if(await S(),v(null),typeof window<"u"&&window.localStorage)try{window.localStorage.removeItem("walletName")}catch(e){e instanceof Error&&e.name==="QuotaExceededError"?t.getLogger().warn("localStorage quota exceeded when removing wallet preference"):t.getLogger().error("Failed to clear wallet preference from localStorage:",e)}}catch(e){t.getLogger().error("Failed to disconnect wallet:",e)}},[S]);return p.jsxs("div",{className:n.unstyled?L:`${n.className} cedros-theme__crypto-button ${L||""}`,style:n.unstyled?{}:n.style,children:[p.jsx("button",{onClick:ge,disabled:ye,className:n.unstyled?L:"cedros-theme__button cedros-theme__crypto",type:"button",children:me}),re&&!k&&p.jsx("div",{className:"cedros-modal-overlay",style:{position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:n.tokens.modalOverlay,display:"flex",alignItems:"center",justifyContent:"center",zIndex:9999,padding:"1rem"},onClick:()=>{$(!1),v(null)},children:p.jsxs("div",{className:"cedros-modal-content",style:{backgroundColor:n.tokens.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 ${n.tokens.modalBorder}`},onClick:e=>e.stopPropagation(),children:[p.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1.5rem"},children:[p.jsx("h3",{style:{margin:0,fontSize:"1.25rem",fontWeight:600,color:n.tokens.surfaceText},children:b("wallet.select_wallet")}),p.jsx("button",{onClick:()=>{$(!1),v(null)},style:i.getModalCloseButtonStyles(n.tokens.surfaceText),"aria-label":"Close modal",type:"button",children:"×"})]}),p.jsx("div",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"},children:G.map(e=>p.jsxs("button",{onClick:()=>pe(e.adapter.name),style:{width:"100%",padding:"1rem",backgroundColor:n.tokens.surfaceBackground,border:`1px solid ${n.tokens.surfaceBorder}`,borderRadius:"0.5rem",cursor:"pointer",fontSize:"1rem",textAlign:"left",color:n.tokens.surfaceText,display:"flex",alignItems:"center",gap:"1rem",transition:"all 0.2s ease"},onMouseEnter:r=>{r.currentTarget.style.backgroundColor=n.tokens.modalBackground,r.currentTarget.style.borderColor=n.tokens.surfaceText,r.currentTarget.style.transform="translateY(-2px)"},onMouseLeave:r=>{r.currentTarget.style.backgroundColor=n.tokens.surfaceBackground,r.currentTarget.style.borderColor=n.tokens.surfaceBorder,r.currentTarget.style.transform="translateY(0)"},type:"button",children:[p.jsx(be.WalletIcon,{wallet:e,style:{width:"24px",height:"24px"}}),p.jsx("span",{style:{fontWeight:500},children:e.adapter.name})]},e.adapter.name))})]})}),g&&!k&&!re&&p.jsxs("div",{style:{display:"flex",justifyContent:"space-between",marginTop:"0.5rem",fontSize:"0.75rem",color:n.tokens.surfaceText,opacity:.7},children:[p.jsx("button",{onClick:fe,style:{background:"none",border:"none",padding:0,color:"inherit",textDecoration:"none",cursor:"pointer",fontSize:"inherit"},type:"button",children:b("wallet.change")}),p.jsx("button",{onClick:we,style:{background:"none",border:"none",padding:0,color:"inherit",textDecoration:"none",cursor:"pointer",fontSize:"inherit"},type:"button",children:b("ui.disconnect")})]}),!k&&H&&p.jsx("div",{className:n.unstyled?"":"cedros-theme__error",children:H}),!k&&Y&&p.jsx("div",{className:n.unstyled?"":"cedros-theme__error",children:Y}),!k&&c&&p.jsx("div",{className:n.unstyled?"":"cedros-theme__success",children:b("ui.payment_successful")})]})}const Ce=Object.freeze(Object.defineProperty({__proto__:null,CryptoButton:ue},Symbol.toStringTag,{value:"Module"}));exports.CryptoButton=ue;exports.CryptoButton$1=Ce;exports.useX402Payment=ie;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";const e=require("react/jsx-runtime"),m=require("react"),w=require("./index-B-0trqeD.js"),J=require("./useAutosave-B2p6iwh8.js"),$=require("./AutosaveIndicator-DxemlKnX.js"),P=require("./CedrosContext-C26DlvLF.js"),G=require("@solana/web3.js");class Y{constructor(i,a,n){this._serverUrl=i,this.auth=a,this.authManager=n}get serverUrl(){return this._serverUrl}async fetch(i,a={}){if(this.authManager?.isAuthenticated())return this.authManager.fetchWithAuth(i,a);throw this.auth?new Error("Legacy AdminAuth is no longer supported due to replay vulnerability. Use IAdminAuthManager instead."):new Error("Admin authentication required. Provide an IAdminAuthManager to ConfigApi.")}async listCategories(i=100){return this.fetch(`/admin/config?limit=${i}`)}async getConfig(i,a=!0){return this.fetch(`/admin/config/${i}?redact_secrets=${a}`)}async updateConfig(i,a,n){await this.fetch(`/admin/config/${i}`,{method:"PUT",body:JSON.stringify({config:a,description:n})})}async patchConfig(i,a,n){await this.fetch(`/admin/config/${i}`,{method:"PATCH",body:JSON.stringify({updates:a,description:n})})}async batchUpdate(i){await this.fetch("/admin/config/batch",{method:"POST",body:JSON.stringify({updates:i})})}async validateConfig(i,a){return this.fetch("/admin/config/validate",{method:"POST",body:JSON.stringify({category:i,config:a})})}async getHistory(i,a=50){const n=new URLSearchParams({limit:a.toString()});return i&&n.set("category",i),this.fetch(`/admin/config/history?${n}`)}}const O={server:{label:"Server",secrets:[],icon:"🖥️",fields:{admin_metrics_api_key:{hidden:!0},cors_allowed_origins:{hidden:!0}}},security:{label:"Security",description:"Configure CORS, rate limiting, and other security settings",secrets:[],icon:"🔒",fields:{cors_allowed_origins:{description:'List of allowed origins for CORS requests. Use ["*"] to allow all origins (not recommended for production).'}}},metrics:{label:"Metrics",description:"Configure metrics collection and API access",secrets:["admin_metrics_api_key"],icon:"📊",fields:{admin_metrics_api_key:{description:"API key for accessing the admin metrics endpoint. Keep this secret."}}},logging:{label:"Logging",secrets:[],icon:"📝",fields:{level:{type:"dropdown",options:["trace","debug","info","warn","error"]},format:{hidden:!0},environment:{hidden:!0}}},stripe:{label:"Stripe",secrets:["secret_key","webhook_secret"],icon:"💳",fields:{enabled:{hidden:!0},secret_key:{description:"Stripe Dashboard → Developers → API keys → Secret key. Use the test key (sk_test_...) for testing, or the live key (sk_live_...) for production."},publishable_key:{description:"Stripe Dashboard → Developers → API keys → Publishable key. Starts with pk_test_... or pk_live_..."},mode:{type:"dropdown",options:["test","live"],description:'Use "test" mode with test API keys during development, then switch to "live" with live keys for real payments.'},webhook_url:{description:"The full URL Stripe sends webhook events to. Default is your server URL + /webhook/stripe (e.g. https://example.com/webhook/stripe). Only change this if you've customized the route in your cedros-pay server."},webhook_secret:{description:`Stripe Dashboard → Developers → Webhooks → "Create an event destination" → select events: checkout.session.completed, customer.subscription.created, customer.subscription.updated, customer.subscription.deleted, invoice.paid, invoice.payment_failed → Continue → choose "Webhook endpoint" → enter your server's webhook endpoint, e.g. https://example.com/webhook/stripe (your server URL + /webhook/stripe) → after creating, click the endpoint and "Click to reveal" the signing secret. Starts with whsec_...`},tax_rate_id:{description:`Stripe Dashboard → More → Product catalog → Tax rates → "+ New" → set the percentage, region, and whether tax is inclusive or exclusive → Save → copy the tax rate ID from the detail page (starts with txr_...). Leave empty if you don't collect tax.`},success_url:{hidden:!0},cancel_url:{hidden:!0}}},x402:{label:"X402 (Crypto)",secrets:["server_wallets"],icon:"⚡",fields:{enabled:{hidden:!0},payment_address:{type:"solana_address",description:"The Solana wallet address where payments are received. This is where customer funds are sent."},token_mint:{type:"token_mint",description:"The SPL token used for payments. Most commonly USDC."},token_decimals:{type:"number",description:"Number of decimal places for the token (e.g., USDC has 6 decimals).",hidden:!0},custom_token_symbol:{description:'Display symbol for your custom token (e.g., "MYTOKEN").',hidden:!0},custom_token_icon:{description:"URL to your token's icon image.",hidden:!0},rpc_url:{description:"Custom Solana RPC endpoint. Leave empty to use the default public RPC."},gasless_enabled:{type:"toggle",description:"When enabled, your server pays transaction fees so customers don't need SOL."},server_wallets:{type:"secret_array",description:"Server keypair(s) used to sign and pay for transactions. Required for gasless payments.",showWhen:"gasless_enabled"},rounding_mode:{type:"dropdown",options:["nearest","up","down"],description:"How to round fractional token amounts: nearest (default), up (always round up), or down (always round down)."},network:{hidden:!0},ws_url:{hidden:!0},skip_preflight:{hidden:!0},commitment:{hidden:!0},compute_unit_limit:{hidden:!0},compute_unit_price:{hidden:!0}}},paywall:{label:"Paywall",secrets:[],icon:"🚪",fields:{product_cache_ttl:{type:"number",unit:"seconds"}}},coupons:{label:"Coupons",secrets:[],icon:"🎟️",fields:{cache_ttl:{type:"number",unit:"seconds"}}},subscriptions:{label:"Subscriptions",secrets:[],icon:"🔄",fields:{grace_period_hours:{type:"number",unit:"hours"}}},callbacks:{label:"Callbacks",secrets:["hmac_secret"],icon:"🔔"},email:{label:"Email",description:"Email receipts for customers after purchase",secrets:["smtp_password"],icon:"📧",fields:{enabled:{hidden:!0},provider:{type:"dropdown",options:["sendgrid","mailgun","postmark","ses","resend","custom"],description:"Email service provider."},smtp_host:{description:"SMTP server hostname.",showWhen:"provider"},smtp_port:{type:"number",description:"SMTP server port (typically 587 for TLS).",showWhen:"provider"},smtp_user:{description:"SMTP authentication username or API key name.",showWhen:"provider"},smtp_password:{description:"SMTP password or API key.",showWhen:"provider"},from_address:{description:"Sender email address (e.g., orders@yourstore.com)."},from_name:{description:'Sender display name (e.g., "Your Store").'}}},webhook:{label:"Webhook",description:"HTTP notifications when purchases occur",secrets:["secret"],icon:"🔔",fields:{enabled:{hidden:!0},url:{description:"URL to receive POST notifications (e.g., https://api.yoursite.com/webhooks/orders)."},secret:{description:"Shared secret for HMAC-SHA256 signature verification."},retry_attempts:{type:"number",description:"Number of retry attempts on failure (default: 3)."}}},messaging:{label:"Messaging",description:"Email and webhook notifications for purchases",secrets:["smtp_password","webhook_secret"],icon:"📬",fields:{email_enabled:{type:"boolean",description:"Send order confirmation emails to customers."},smtp_host:{description:"SMTP server hostname.",showWhen:"email_enabled"},smtp_port:{type:"number",description:"SMTP server port (typically 587 for TLS).",showWhen:"email_enabled"},smtp_username:{description:"SMTP authentication username or API key.",showWhen:"email_enabled"},smtp_password:{description:"SMTP password or API key.",showWhen:"email_enabled"},from_email:{description:"Sender email address (e.g., orders@yourstore.com).",showWhen:"email_enabled"},from_name:{description:'Sender display name (e.g., "Your Store").',showWhen:"email_enabled"},webhook_enabled:{type:"boolean",description:"Send webhook notifications when purchases complete."},webhook_url:{description:"URL to receive POST notifications.",showWhen:"webhook_enabled"},webhook_secret:{description:"Shared secret for HMAC-SHA256 signature verification.",showWhen:"webhook_enabled"},webhook_timeout:{type:"number",description:"Request timeout in seconds (default: 30).",showWhen:"webhook_enabled"}}},monitoring:{label:"Monitoring",secrets:[],icon:"📊",fields:{check_interval:{type:"number",unit:"seconds"},low_balance_threshold:{type:"number",unit:"SOL"}}},rate_limit:{label:"Rate Limiting",secrets:[],icon:"⏱️"},circuit_breaker:{label:"Circuit Breaker",secrets:[],icon:"🔌"},admin:{label:"Admin Keys",secrets:[],icon:"👤"},api_keys:{label:"API Keys",secrets:[],icon:"🔐"},cedros_login:{label:"Cedros Login",secrets:["api_key"],icon:"🔑",fields:{enabled:{hidden:!0},credits_enabled:{hidden:!0},base_url:{hidden:!0},timeout:{hidden:!0},jwt_issuer:{hidden:!0},jwt_audience:{hidden:!0}}},shop:{label:"Storefront",description:"Product pages & display settings",secrets:[],icon:"🏪",fields:{enabled:{hidden:!0},"relatedProducts.mode":{type:"dropdown",options:["most_recent","by_category","manual","ai"]},"relatedProducts.maxItems":{type:"number"}}}};function F(b,i){return O[b]?.secrets.includes(i)??!1}const D="[REDACTED]";function W(b){if(!b||b.trim()==="")return{valid:!0};try{return new G.PublicKey(b.trim()),{valid:!0}}catch{return{valid:!1,error:"Invalid Solana address"}}}function X({label:b,value:i,onChange:a,decimals:n,onDecimalsChange:S,disabled:d=!1,description:c,customSymbol:l="",customIcon:h="",onCustomSymbolChange:u,onCustomIconChange:y}){const[x,N]=m.useState(!1),f=Object.entries(P.STABLECOIN_METADATA),_=!!P.STABLECOIN_METADATA[i],j=x||!!i&&!_,k=t=>{if(t==="custom")N(!0),_&&a("");else{N(!1),a(t);const s=P.STABLECOIN_METADATA[t];s&&S&&S(s.decimals),u&&u(""),y&&y("")}};return e.jsxs("div",{className:"cedros-admin__field",children:[e.jsx("label",{className:"cedros-admin__field-label",children:b}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"},children:[e.jsxs("div",{style:{display:"flex",flexWrap:"wrap",gap:"0.5rem"},children:[f.map(([t,s])=>e.jsxs("button",{type:"button",onClick:()=>k(t),disabled:d,style:{display:"flex",alignItems:"center",gap:"0.5rem",padding:"0.5rem 0.75rem",border:i===t?"2px solid var(--cedros-admin-primary, #171717)":"1px solid var(--cedros-admin-border, #d4d4d4)",borderRadius:"0.5rem",background:i===t?"var(--cedros-admin-primary-bg, #f5f5f5)":"var(--cedros-admin-bg, #fff)",cursor:d?"not-allowed":"pointer",opacity:d?.5:1,fontWeight:i===t?600:400},children:[e.jsx("img",{src:s.icon,alt:s.symbol,style:{width:20,height:20,borderRadius:"50%"},onError:r=>{r.target.style.display="none"}}),e.jsx("span",{children:s.symbol})]},t)),e.jsxs("button",{type:"button",onClick:()=>k("custom"),disabled:d,style:{display:"flex",alignItems:"center",gap:"0.5rem",padding:"0.5rem 0.75rem",border:j?"2px solid var(--cedros-admin-primary, #171717)":"1px solid var(--cedros-admin-border, #d4d4d4)",borderRadius:"0.5rem",background:j?"var(--cedros-admin-primary-bg, #f5f5f5)":"var(--cedros-admin-bg, #fff)",cursor:d?"not-allowed":"pointer",opacity:d?.5:1,fontWeight:j?600:400},children:[e.jsx("span",{style:{fontSize:"1rem"},children:"+"}),e.jsx("span",{children:"Custom"})]})]}),j&&e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"0.75rem",padding:"1rem",background:"var(--cedros-admin-bg-muted, #f9fafb)",borderRadius:"0.5rem",border:"1px solid var(--cedros-admin-border, #e5e7eb)"},children:[e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:"0.75rem",fontWeight:500,marginBottom:"0.25rem",color:"var(--cedros-admin-text-muted, #64748b)"},children:"Token Mint Address"}),(()=>{const t=W(i);return e.jsxs(e.Fragment,{children:[e.jsx("input",{type:"text",className:`cedros-admin__input ${t.valid?"":"cedros-admin__input--error"}`,value:i,onChange:s=>a(s.target.value),placeholder:"e.g., EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",disabled:d,style:{fontFamily:"monospace",fontSize:"0.875rem",borderColor:t.valid?void 0:"var(--cedros-admin-error, #dc2626)"}}),!t.valid&&e.jsx("span",{style:{color:"var(--cedros-admin-error, #dc2626)",fontSize:"0.75rem",marginTop:"0.25rem",display:"block"},children:t.error})]})})()]}),e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:"0.75rem",fontWeight:500,marginBottom:"0.25rem",color:"var(--cedros-admin-text-muted, #64748b)"},children:"Token Symbol"}),e.jsx("input",{type:"text",className:"cedros-admin__input",value:l,onChange:t=>u?.(t.target.value),placeholder:"e.g., MYTOKEN",disabled:d,style:{textTransform:"uppercase"}})]}),e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:"0.75rem",fontWeight:500,marginBottom:"0.25rem",color:"var(--cedros-admin-text-muted, #64748b)"},children:"Token Icon URL"}),e.jsxs("div",{style:{display:"flex",gap:"0.5rem",alignItems:"center"},children:[e.jsx("input",{type:"text",className:"cedros-admin__input",value:h,onChange:t=>y?.(t.target.value),placeholder:"https://example.com/token-logo.png",disabled:d,style:{flex:1}}),h&&e.jsx("img",{src:h,alt:"Token icon preview",style:{width:32,height:32,borderRadius:"50%",border:"1px solid var(--cedros-admin-border, #e5e7eb)",objectFit:"cover"},onError:t=>{t.target.style.display="none"}})]}),e.jsx("div",{style:{fontSize:"0.7rem",color:"var(--cedros-admin-text-muted, #94a3b8)",marginTop:"0.25rem"},children:"Shown to customers during checkout"})]}),e.jsxs("div",{children:[e.jsx("label",{style:{display:"block",fontSize:"0.75rem",fontWeight:500,marginBottom:"0.25rem",color:"var(--cedros-admin-text-muted, #64748b)"},children:"Token Decimals"}),e.jsx("input",{type:"number",className:"cedros-admin__input",value:n??6,onChange:t=>S?.(parseInt(t.target.value,10)||0),min:0,max:18,disabled:d,style:{width:"100px"}}),e.jsx("div",{style:{fontSize:"0.7rem",color:"var(--cedros-admin-text-muted, #94a3b8)",marginTop:"0.25rem"},children:"Most SPL tokens use 6 decimals (like USDC)"})]})]}),i&&_&&e.jsx("div",{style:{fontSize:"0.75rem",color:"var(--cedros-admin-text-muted, #64748b)",fontFamily:"monospace",wordBreak:"break-all"},children:i}),c&&e.jsx("div",{style:{fontSize:"0.75rem",color:"var(--cedros-admin-text-muted, #64748b)",marginTop:"0.25rem"},children:c})]})]})}function Z({label:b,value:i,onChange:a,disabled:n=!1,description:S}){const[d,c]=m.useState(new Set),[l,h]=m.useState(null),[u,y]=m.useState(""),x=Array.isArray(i)?i:[],N=t=>{c(s=>{const r=new Set(s);return r.has(t)?r.delete(t):r.add(t),r})},f=()=>{a([...x,""]),h(x.length),y("")},E=(t,s)=>{const r=[...x];r[t]=s,a(r)},_=t=>{const s=x.filter((r,g)=>g!==t);a(s),c(r=>{const g=new Set;return r.forEach(v=>{v<t?g.add(v):v>t&&g.add(v-1)}),g})},A=t=>{h(t),y(x[t]||"")},j=()=>{l!==null&&(E(l,u),h(null),y(""))},k=()=>{l!==null&&x[l]===""&&_(l),h(null),y("")};return e.jsxs("div",{className:"cedros-admin__field",children:[e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"0.5rem"},children:[e.jsx("label",{className:"cedros-admin__field-label",style:{marginBottom:0},children:b}),e.jsxs("button",{type:"button",onClick:f,disabled:n,style:{display:"flex",alignItems:"center",gap:"0.25rem",padding:"0.25rem 0.5rem",fontSize:"0.75rem",border:"1px solid var(--cedros-admin-border, #d4d4d4)",borderRadius:"0.375rem",background:"var(--cedros-admin-bg, #fff)",cursor:n?"not-allowed":"pointer",opacity:n?.5:1},children:[w.Icons.plus,"Add"]})]}),e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:"0.5rem"},children:[x.length===0&&e.jsx("div",{style:{padding:"1rem",textAlign:"center",color:"var(--cedros-admin-text-muted, #64748b)",fontSize:"0.875rem",border:"1px dashed var(--cedros-admin-border, #d4d4d4)",borderRadius:"0.5rem"},children:'No items. Click "Add" to create one.'}),x.map((t,s)=>{const r=d.has(s),g=l===s,v=t===D;return e.jsx("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",padding:"0.5rem",background:"var(--cedros-admin-bg-muted, #f9fafb)",borderRadius:"0.375rem",border:"1px solid var(--cedros-admin-border, #e5e7eb)"},children:g?e.jsxs(e.Fragment,{children:[e.jsx("input",{type:"text",className:"cedros-admin__input",value:u,onChange:o=>y(o.target.value),placeholder:"Enter wallet keypair...",autoFocus:!0,style:{flex:1,fontFamily:"monospace",fontSize:"0.75rem"},onKeyDown:o=>{o.key==="Enter"&&j(),o.key==="Escape"&&k()}}),e.jsx("button",{type:"button",onClick:j,style:{padding:"0.375rem",border:"none",background:"var(--cedros-admin-success, #22c55e)",color:"#fff",borderRadius:"0.25rem",cursor:"pointer"},title:"Save",children:w.Icons.check}),e.jsx("button",{type:"button",onClick:k,style:{padding:"0.375rem",border:"none",background:"var(--cedros-admin-text-muted, #64748b)",color:"#fff",borderRadius:"0.25rem",cursor:"pointer"},title:"Cancel",children:w.Icons.close})]}):e.jsxs(e.Fragment,{children:[e.jsx("div",{style:{flex:1,fontFamily:"monospace",fontSize:"0.75rem",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:r&&!v?t:v?"[REDACTED]":"••••••••••••••••••••"}),e.jsx("button",{type:"button",onClick:()=>N(s),disabled:n||v,style:{padding:"0.375rem",border:"none",background:"transparent",cursor:n||v?"not-allowed":"pointer",opacity:n||v?.5:1,color:"var(--cedros-admin-text-muted, #64748b)"},title:r?"Hide":"Show",children:r?w.Icons.eyeOff:w.Icons.eye}),e.jsx("button",{type:"button",onClick:()=>A(s),disabled:n,style:{padding:"0.375rem",border:"none",background:"transparent",cursor:n?"not-allowed":"pointer",opacity:n?.5:1,color:"var(--cedros-admin-text-muted, #64748b)"},title:"Edit",children:w.Icons.settings}),e.jsx("button",{type:"button",onClick:()=>_(s),disabled:n,style:{padding:"0.375rem",border:"none",background:"transparent",cursor:n?"not-allowed":"pointer",opacity:n?.5:1,color:"var(--cedros-admin-error, #ef4444)"},title:"Delete",children:w.Icons.trash})]})},s)})]}),S&&e.jsx("div",{style:{fontSize:"0.75rem",color:"var(--cedros-admin-text-muted, #64748b)",marginTop:"0.5rem"},children:S})]})}function H(b,i,a){const n=F(b,i),S=i.replace(/_/g," ").replace(/\b\w/g,h=>h.toUpperCase()),c=O[b]?.fields?.[i],l={isSecret:n,label:S,description:c?.description,hidden:c?.hidden,showWhen:c?.showWhen};return c?.type==="dropdown"&&c.options?{...l,type:"dropdown",options:c.options}:c?.type==="token_mint"?{...l,type:"token_mint"}:c?.type==="toggle"?{...l,type:"toggle"}:c?.type==="secret_array"?{...l,type:"secret_array",isSecret:!0}:c?.type==="solana_address"?{...l,type:"solana_address"}:c?.type==="number"?{...l,type:"number",unit:c.unit}:typeof a=="boolean"?{...l,type:"boolean"}:typeof a=="number"?{...l,type:"number",unit:c?.unit}:Array.isArray(a)?{...l,type:"array"}:typeof a=="object"&&a!==null?{...l,type:"object"}:{...l,type:"string"}}function Q({category:b,config:i,originalConfig:a,isLoading:n=!1,onSave:S}){const[d,c]=m.useState(i),[l,h]=m.useState(new Set);m.useEffect(()=>{c(i)},[i]);const u=m.useMemo(()=>{const t={...d};for(const s of Object.keys(t))if(F(b,s)){const r=a[s],g=t[s];(g===D||g===r)&&(t[s]=D)}return t},[d,a,b]),y=m.useMemo(()=>{const t=d.token_mint;return typeof t!="string"||!t?!1:!W(t).valid},[d]),{status:x,error:N}=J.useAutosave({data:u,onSave:S,debounceMs:1500,enabled:!y}),f=m.useCallback((t,s)=>{c(r=>({...r,[t]:s}))},[]),E=m.useCallback(t=>{h(s=>{const r=new Set(s);return r.has(t)?r.delete(t):r.add(t),r})},[]),_=t=>t?e.jsx("div",{style:{fontSize:"0.75rem",color:"var(--cedros-admin-text-muted, #64748b)",marginTop:"0.25rem"},children:t}):null,A=(t,s)=>{const r=H(b,t,a[t]??s);if(r.type==="dropdown"&&r.options)return e.jsx(w.FormDropdown,{value:s,onChange:o=>f(t,o),options:r.options.map(o=>({value:o,label:o})),label:r.label,description:r.description,disabled:n});if(r.type==="token_mint")return e.jsx(X,{label:r.label,value:s,onChange:o=>f(t,o),decimals:d.token_decimals??6,onDecimalsChange:o=>f("token_decimals",o),disabled:n,description:r.description,customSymbol:d.custom_token_symbol||"",customIcon:d.custom_token_icon||"",onCustomSymbolChange:o=>f("custom_token_symbol",o),onCustomIconChange:o=>f("custom_token_icon",o)});if(r.type==="toggle")return e.jsxs("div",{className:"cedros-admin__field",children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[e.jsx("button",{type:"button",role:"switch","aria-checked":s,onClick:()=>f(t,!s),disabled:n,style:{width:44,height:24,borderRadius:12,border:"none",backgroundColor:s?"var(--cedros-admin-primary, #171717)":"var(--cedros-admin-border, #d4d4d4)",cursor:n?"not-allowed":"pointer",position:"relative",transition:"background-color 0.2s",opacity:n?.5:1,flexShrink:0},children:e.jsx("span",{style:{position:"absolute",top:2,left:s?22:2,width:20,height:20,borderRadius:"50%",backgroundColor:"#fff",transition:"left 0.2s",boxShadow:"0 1px 3px rgba(0,0,0,0.2)"}})}),e.jsx("span",{className:"cedros-admin__field-label",style:{marginBottom:0},children:r.label})]}),_(r.description)]});if(r.type==="solana_address"){const o=s||"",C=W(o);return e.jsxs("div",{className:"cedros-admin__field",children:[e.jsx("label",{className:"cedros-admin__field-label",children:r.label}),e.jsxs("div",{style:{position:"relative"},children:[e.jsx("input",{type:"text",className:`cedros-admin__input ${C.valid?"":"cedros-admin__input--error"}`,value:o,onChange:R=>f(t,R.target.value),disabled:n,placeholder:"e.g. 7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU",style:{width:"100%",fontFamily:"monospace",fontSize:"0.875rem",borderColor:C.valid?void 0:"var(--cedros-admin-error, #dc2626)",paddingRight:o&&C.valid?"2rem":void 0}}),o&&C.valid&&e.jsx("span",{style:{position:"absolute",right:10,top:"50%",transform:"translateY(-50%)",color:"var(--cedros-admin-success, #16a34a)",fontSize:"1rem"},title:"Valid Solana address",children:"✓"})]}),!C.valid&&e.jsx("span",{style:{color:"var(--cedros-admin-error, #dc2626)",fontSize:"0.75rem",marginTop:"0.25rem",display:"block"},children:C.error}),_(r.description)]})}if(r.type==="boolean")return e.jsxs("div",{className:"cedros-admin__field",children:[e.jsxs("label",{className:"cedros-admin__checkbox",children:[e.jsx("input",{type:"checkbox",checked:s,onChange:o=>f(t,o.target.checked),disabled:n}),r.label]}),_(r.description)]});if(r.type==="number")return e.jsxs("div",{className:"cedros-admin__field",children:[e.jsxs("label",{className:"cedros-admin__field-label",children:[r.label,r.unit&&e.jsxs("span",{className:"cedros-admin__field-unit",children:[" (",r.unit,")"]})]}),e.jsx("input",{type:"number",className:"cedros-admin__input",value:s,onChange:o=>f(t,parseFloat(o.target.value)||0),disabled:n}),_(r.description)]});if(r.type==="secret_array")return e.jsx(Z,{label:r.label,value:s,onChange:o=>f(t,o),disabled:n,description:r.description});if(r.type==="array"){const o=s;return e.jsxs("div",{className:"cedros-admin__field",children:[e.jsx("label",{className:"cedros-admin__field-label",children:r.label}),e.jsx("textarea",{className:"cedros-admin__textarea",value:o.join(`
|
|
2
|
-
`),onChange:C=>f(t,C.target.value.split(`
|
|
3
|
-
`).filter(Boolean)),placeholder:"One item per line",rows:3,disabled:n}),_(r.description)]})}if(r.type==="object")return e.jsxs("div",{className:"cedros-admin__field",children:[e.jsx("label",{className:"cedros-admin__field-label",children:r.label}),e.jsx("textarea",{className:"cedros-admin__textarea cedros-admin__textarea--mono",value:JSON.stringify(s,null,2),onChange:o=>{try{f(t,JSON.parse(o.target.value))}catch{}},rows:5,disabled:n}),_(r.description)]});const g=l.has(t),v=r.isSecret&&!g&&s===D?D:s;return e.jsxs("div",{className:"cedros-admin__field",children:[e.jsxs("label",{className:"cedros-admin__field-label",children:[r.label,r.isSecret&&e.jsx("span",{className:"cedros-admin__field-secret",children:" (secret)"})]}),e.jsxs("div",{className:"cedros-admin__input-group",children:[e.jsx("input",{type:r.isSecret&&!g?"password":"text",className:"cedros-admin__input",value:v,onChange:o=>f(t,o.target.value),disabled:n,placeholder:r.isSecret?"••••••••":""}),r.isSecret&&e.jsx("button",{type:"button",className:"cedros-admin__button cedros-admin__button--ghost",onClick:()=>E(t),style:{padding:"0.5rem",minWidth:"auto"},title:g?"Hide":"Show",children:g?w.Icons.eyeOff:w.Icons.eye})]}),_(r.description)]})},j=Object.keys(d),k=t=>{const s=H(b,t,a[t]??d[t]);if(s.hidden||s.showWhen&&!d[s.showWhen])return!1;if(t==="token_decimals"){const r=d.token_mint;if(r&&P.STABLECOIN_METADATA[r])return!1}return!0};return e.jsxs("div",{className:"cedros-admin__config-editor",children:[e.jsx("div",{className:"cedros-admin__config-fields",children:j.filter(k).map(t=>e.jsx("div",{className:"cedros-admin__config-field",children:A(t,d[t])},t))}),e.jsx("div",{className:"cedros-admin__config-actions",children:e.jsx("div",{className:"cedros-admin__autosave-status",children:e.jsx($.AutosaveIndicator,{status:x,error:N})})})]})}function ee({serverUrl:b,apiKey:i,authManager:a,category:n,title:S,description:d,enabledField:c="enabled",showEnabledToggle:l=!1}){const h=m.useMemo(()=>new Y(b,void 0,a),[b,a]),[u,y]=m.useState(null),[x,N]=m.useState([]),[f,E]=m.useState(!1),[_,A]=m.useState(!0),[j,k]=m.useState(null),[t,s]=m.useState(null),[r,g]=m.useState(!1),v=O[n]||{label:n,icon:"⚙️"},o=S||v.label,C=d||v.description,R=m.useCallback(async()=>{A(!0),k(null);try{const p=await h.getConfig(n,!0);y(p)}catch{y(null),k("Failed to load settings")}finally{A(!1)}},[h,n]);m.useEffect(()=>{R()},[R]);const z=m.useCallback(async()=>{try{const p=await h.getHistory(n,20);N(p.history)}catch{N([])}},[h,n]);m.useEffect(()=>{f&&z()},[f,z]);const q=m.useCallback(async p=>{await h.updateConfig(n,p,"Updated via admin dashboard")},[h,n]),U=m.useCallback(async p=>h.validateConfig(n,p),[h,n]),[M,B]=m.useState(!1),K=m.useCallback(async()=>{if(!u||M)return;const p=!!u.config[c],I=!p,V={...u.config,[c]:I};B(!0),y({...u,config:V});try{await h.updateConfig(n,V,`${I?"Enabled":"Disabled"} via admin dashboard`)}catch(L){y({...u,config:{...u.config,[c]:p}}),k(L instanceof Error?L.message:"Failed to save enabled state")}finally{B(!1)}},[u,h,n,c,M]),T=!!u?.config[c];return _&&!u?e.jsx("div",{className:"cedros-admin__section",children:e.jsxs("div",{className:"cedros-admin__loading",children:[w.Icons.loading," Loading ",o," settings..."]})}):e.jsxs("div",{className:"cedros-admin__section",children:[e.jsx(w.ErrorBanner,{message:j,onRetry:R}),e.jsxs("div",{className:"cedros-admin__section-header",children:[e.jsxs("div",{children:[e.jsxs("h3",{className:"cedros-admin__section-title",children:[e.jsx("span",{style:{marginRight:"0.5rem"},children:v.icon}),o]}),C&&e.jsx("p",{className:"cedros-admin__text-muted",style:{marginTop:"0.25rem"},children:C})]}),l&&u&&e.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[e.jsx("span",{style:{fontSize:"0.875rem",color:T?"var(--cedros-admin-text, #171717)":"var(--cedros-admin-muted, #737373)"},children:T?"Enabled":"Disabled"}),e.jsx("button",{type:"button",role:"switch","aria-checked":T,onClick:K,disabled:M,style:{width:44,height:24,borderRadius:12,border:"none",backgroundColor:T?"var(--cedros-admin-primary, #171717)":"var(--cedros-admin-border, #d4d4d4)",cursor:M?"wait":"pointer",position:"relative",transition:"background-color 0.2s",flexShrink:0,opacity:M?.6:1},children:e.jsx("span",{style:{position:"absolute",top:2,left:T?22:2,width:20,height:20,borderRadius:"50%",backgroundColor:"#fff",transition:"left 0.2s",boxShadow:"0 1px 3px rgba(0,0,0,0.2)"}})})]})]}),u&&e.jsxs("div",{className:"cedros-admin__settings-editor",style:{marginTop:"1rem",opacity:l&&!T?.6:1,pointerEvents:l&&!T?"none":"auto"},children:[l&&!T&&e.jsx("div",{style:{padding:"0.75rem 1rem",marginBottom:"1rem",backgroundColor:"var(--cedros-admin-warning-bg, #fef3c7)",border:"1px solid var(--cedros-admin-warning-border, #f59e0b)",borderRadius:"0.375rem",fontSize:"0.875rem",color:"var(--cedros-admin-warning-text, #92400e)",pointerEvents:"auto"},children:"This payment method is disabled. Enable it using the toggle above to accept payments."}),e.jsx(Q,{category:u.category,config:u.config,originalConfig:u.config,onSave:q,onValidate:U})]}),f&&e.jsxs("div",{className:"cedros-admin__settings-history",style:{marginTop:"1.5rem"},children:[e.jsx("h4",{style:{marginBottom:"0.75rem",fontWeight:600},children:"Change History"}),x.length===0?e.jsx("p",{className:"cedros-admin__text-muted",children:"No history entries found."}):e.jsx("div",{className:"cedros-admin__settings-timeline",children:x.map(p=>e.jsxs("div",{className:"cedros-admin__settings-timeline-item",children:[e.jsx("div",{className:"cedros-admin__settings-timeline-dot"}),e.jsxs("div",{className:"cedros-admin__settings-timeline-content",children:[e.jsxs("div",{className:"cedros-admin__settings-timeline-header",children:[e.jsx("code",{children:p.configKey}),e.jsx("span",{className:`cedros-admin__badge cedros-admin__badge--${p.action.toLowerCase()}`,children:p.action})]}),e.jsxs("div",{className:"cedros-admin__settings-timeline-meta",children:[w.formatDateTime(p.changedAt)," by ",p.changedBy]})]})]},p.id))})]}),t&&e.jsx("div",{style:{marginTop:"1rem",padding:"0.75rem 1rem",borderRadius:"0.375rem",backgroundColor:t.valid?"var(--cedros-admin-success-bg, #dcfce7)":"var(--cedros-admin-error-bg, #fef2f2)",border:`1px solid ${t.valid?"var(--cedros-admin-success-border, #86efac)":"var(--cedros-admin-error-border, #fecaca)"}`},children:e.jsxs("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start"},children:[e.jsxs("div",{style:{flex:1},children:[e.jsx("div",{style:{fontWeight:600,color:t.valid?"var(--cedros-admin-success, #16a34a)":"var(--cedros-admin-error, #dc2626)",marginBottom:t.errors.length>0||t.warnings.length>0?"0.5rem":0},children:t.valid?"✓ Configuration is valid":"✗ Validation failed"}),t.errors.length>0&&e.jsx("ul",{style:{margin:0,paddingLeft:"1.25rem",color:"var(--cedros-admin-error, #dc2626)",fontSize:"0.875rem"},children:t.errors.map((p,I)=>e.jsx("li",{children:p},I))}),t.warnings.length>0&&e.jsx("ul",{style:{margin:t.errors.length>0?"0.5rem 0 0":0,paddingLeft:"1.25rem",color:"var(--cedros-admin-warning, #ca8a04)",fontSize:"0.875rem"},children:t.warnings.map((p,I)=>e.jsx("li",{children:p},I))})]}),e.jsx("button",{type:"button",onClick:()=>s(null),style:{background:"none",border:"none",cursor:"pointer",padding:"0.25rem",color:"var(--cedros-admin-text-muted, #64748b)",fontSize:"1.25rem",lineHeight:1},title:"Dismiss",children:"×"})]})}),e.jsxs("div",{style:{marginTop:"1.5rem",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[e.jsx("button",{type:"button",className:"cedros-admin__button cedros-admin__button--ghost cedros-admin__button--sm",onClick:()=>E(!f),children:f?"Hide History":"History"}),e.jsx("button",{type:"button",className:"cedros-admin__button cedros-admin__button--ghost cedros-admin__button--sm",disabled:r||!u,onClick:async()=>{if(u){g(!0),s(null);try{const p=await U(u.config);s(p)}catch(p){s({valid:!1,errors:[p instanceof Error?p.message:"Validation failed"],warnings:[]})}finally{g(!1)}}},children:r?"Validating...":"Validate"})]})]})}exports.SingleCategorySettings=ee;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/admin/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,cAAc,EACd,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
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;AAyC1F;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,WAyE7B,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/admin/types.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,aAAa,EACb,cAAc,EACd,QAAQ,EACR,SAAS,EACT,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CedrosPay.d.ts","sourceRoot":"","sources":["../../src/components/CedrosPay.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,eAAe,EACf,QAAQ,EAET,MAAM,UAAU,CAAC;AAiElB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,cAAc;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IAEnB,oEAAoE;IACpE,QAAQ,CAAC,EAAE,eAAe,CAAC;IAE3B,6DAA6D;IAC7D,OAAO,CAAC,EAAE,cAAc,CAAC;IAEzB,yDAAyD;IACzD,SAAS,CAAC,EAAE,eAAe,CAAC;IAE5B,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC5B;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAgM9C"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreditsButton.d.ts","sourceRoot":"","sources":["../../src/components/CreditsButton.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,UAAU,kBAAkB;IAC1B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,wCAAwC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IACxC,mCAAmC;IACnC,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,8BAA8B;IAC9B,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAU,EACV,KAAK,EACL,QAAgB,EAChB,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAc,GACf,EAAE,kBAAkB,2CAsIpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CreditsSubscribeButton.d.ts","sourceRoot":"","sources":["../../src/components/CreditsSubscribeButton.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE/D;;GAEG;AACH,UAAU,2BAA2B;IACnC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAC5C,0CAA0C;IAC1C,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,wBAAwB;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sEAAsE;IACtE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,MAAM,EACN,UAAU,EACV,KAAK,EACL,QAAgB,EAChB,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAc,EACd,YAAoB,EACpB,eAAuB,GACxB,EAAE,2BAA2B,2CA6J7B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoButton.d.ts","sourceRoot":"","sources":["../../src/components/CryptoButton.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAClD,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,KAAK,EACL,KAAK,EACL,QAAgB,EAChB,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAc,EACd,WAAW,EACX,YAAoB,EACpB,QAAQ,EACR,UAAU,GACX,EAAE,iBAAiB,2CAwgBnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CryptoSubscribeButton.d.ts","sourceRoot":"","sources":["../../src/components/CryptoSubscribeButton.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;GAEG;AACH,UAAU,0BAA0B;IAClC,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAClD,0CAA0C;IAC1C,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,wBAAwB;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yCAAyC;IACzC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,uEAAuE;IACvE,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,KAAK,EACL,QAAgB,EAChB,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAc,EACd,WAAW,EACX,YAAoB,EACpB,eAAsB,GACvB,EAAE,0BAA0B,2CAyf5B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentModal.d.ts","sourceRoot":"","sources":["../../src/components/PaymentModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAKzC,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAMxD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IACnD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkLpD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ProductPrice.d.ts","sourceRoot":"","sources":["../../src/components/ProductPrice.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExC;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9C;;GAEG;AACH,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,aAAa,EACb,iBAAyB,EACzB,SAAc,EACd,KAAU,GACX,EAAE,iBAAiB,2CAgDnB;AAED;;GAEG;AACH,UAAU,uBAAuB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,OAAO,EACP,aAAa,EACb,SAAc,EACd,KAAU,GACX,EAAE,uBAAuB,kDA8CzB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PurchaseButton.d.ts","sourceRoot":"","sources":["../../src/components/PurchaseButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAc9D,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IACnD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEzC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE;QACpB,MAAM,EAAE,OAAO,CAAC;QAChB,OAAO,EAAE,MAAM,IAAI,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;QACnD,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAC1C,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACzC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACzC,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QACzC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAC1C,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACxC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACxC,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;QACzC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,KAAK,KAAK,CAAC,SAAS,CAAC;CACvB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA8MxD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StripeButton.d.ts","sourceRoot":"","sources":["../../src/components/StripeButton.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,UAAU,iBAAiB;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAClD,SAAS,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAAS,EACT,QAAQ,EACR,aAAa,EACb,UAAU,EACV,KAAK,EACL,QAAgB,EAChB,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAc,GACf,EAAE,iBAAiB,2CA6HnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SubscribeButton.d.ts","sourceRoot":"","sources":["../../src/components/SubscribeButton.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAEhD;;GAEG;AACH,UAAU,oBAAoB;IAC5B,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,iDAAiD;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAClD,mDAAmD;IACnD,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,wBAAwB;IACxB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,eAAe,CAAC,EAC9B,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,aAAa,EACb,UAAU,EACV,KAAK,EACL,QAAgB,EAChB,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAc,GACf,EAAE,oBAAoB,2CA2HtB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SubscriptionManagementPanel.d.ts","sourceRoot":"","sources":["../../src/components/SubscriptionManagementPanel.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AAQvE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,QAAQ,EAAE,eAAe,CAAC;IAC1B,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IACjC,yDAAyD;IACzD,qBAAqB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,KAAK,IAAI,CAAC;IACpF,6CAA6C;IAC7C,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,oCAAoC;IACpC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,6DAA6D;IAC7D,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAqED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,2BAA2B,CAAC,EAC1C,QAAQ,EACR,MAAM,EACN,cAAmB,EACnB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAyB,EACzB,SAAS,EACT,KAAK,GACN,EAAE,gCAAgC,2CAgMlC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AISettingsSection.d.ts","sourceRoot":"","sources":["../../../src/components/admin/AISettingsSection.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAQH,OAAO,KAAK,EACV,YAAY,EAMb,MAAM,SAAS,CAAC;AAgHjB,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,YAAY,2CAugBjF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AdminAuthManager.d.ts","sourceRoot":"","sources":["../../../src/components/admin/AdminAuthManager.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,uBAAuB;AACvB,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,cAAc,GAAG,MAAM,CAAC;AAQjE,6BAA6B;AAC7B,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,eAAe,CAAC;IACxB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,yDAAyD;AACzD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE;QAAE,OAAO,IAAI,UAAU,CAAA;KAAE,GAAG,IAAI,CAAC;IAC5C,WAAW,CAAC,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;CACxD;AAED,0CAA0C;AAC1C,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,aAAa,IAAI,eAAe,CAAC;IAEjC,6BAA6B;IAC7B,eAAe,IAAI,OAAO,CAAC;IAE3B,8CAA8C;IAC9C,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAAC;IAEnD,8CAA8C;IAC9C,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAElE,4CAA4C;IAC5C,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,cAAc,CAAC,CAAC;IAE/E,oCAAoC;IACpC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACnE;AAED;;;;;GAKG;AACH,qBAAa,gBAAiB,YAAW,iBAAiB;IACxD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,WAAW,CAAkB;gBAEzB,SAAS,EAAE,MAAM;IAI7B,aAAa,IAAI,eAAe;IAWhC,eAAe,IAAI,OAAO;IAI1B,eAAe,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;IAKlD,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAM3D,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,cAAc,CAAC;YActE,uBAAuB;IAuBrC,OAAO,CAAC,oBAAoB;YAUd,UAAU;IAkBlB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,CAAC,CAAC;IA2C3E,OAAO,CAAC,kBAAkB;CA4C3B;AAED,yCAAyC;AACzC,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;CAiBvB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AutosaveIndicator.d.ts","sourceRoot":"","sources":["../../../src/components/admin/AutosaveIndicator.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAGpD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,sBAAsB,kDAkC1E"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CedrosPayAdminDashboard.d.ts","sourceRoot":"","sources":["../../../src/components/admin/CedrosPayAdminDashboard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAaH,OAAO,+BAA+B,CAAC;AAqBvC,mCAAmC;AACnC,MAAM,MAAM,gBAAgB,GACxB,UAAU,GACV,eAAe,GACf,cAAc,GACd,SAAS,GACT,SAAS,GACT,YAAY,GACZ,aAAa,GACb,MAAM,GACN,kBAAkB,GAClB,WAAW,GACX,UAAU,CAAC;AAEf,mCAAmC;AACnC,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEzD,MAAM,WAAW,4BAA4B;IAC3C,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC9B,6BAA6B;IAC7B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACtD,2BAA2B;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,KAAK,CAAC,EAAE,cAAc,CAAC;CACxB;AAyFD,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,MAAM,EACN,KAAoB,EACpB,QAAgK,EAChK,cAA+B,EAC/B,eAAe,EAAE,gBAAwB,EACzC,QAAa,EACb,eAAe,EACf,SAAc,EACd,gBAAgB,EAChB,OAAe,EACf,KAAgB,GACjB,EAAE,4BAA4B,2CA6N9B;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigEditor.d.ts","sourceRoot":"","sources":["../../../src/components/admin/ConfigEditor.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAIL,KAAK,sBAAsB,EAC5B,MAAM,aAAa,CAAC;AASrB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3D,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,sBAAsB,CAAC,CAAC;CACnF;AAyED,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,MAAM,EACN,cAAc,EACd,SAAiB,EACjB,MAAM,GACP,EAAE,iBAAiB,2CA6WnB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CouponsSection.d.ts","sourceRoot":"","sources":["../../../src/components/admin/CouponsSection.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,KAAK,EAAE,YAAY,EAA6D,MAAM,SAAS,CAAC;AAGvG,wBAAgB,cAAc,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAa,EAAE,WAAW,EAAE,EAAE,YAAY,2CAyd7F"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/admin/Dropdown.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AASH,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,UAAU,iBAAiB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAMD,UAAU,mBAAoB,SAAQ,iBAAiB;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAsB,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2CAyEjH;AAMD,UAAU,iBAAkB,SAAQ,iBAAiB;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,iBAAiB,2CA6E3H"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorBanner.d.ts","sourceRoot":"","sources":["../../../src/components/admin/ErrorBanner.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,gBAAgB,kDAgBjE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FAQSection.d.ts","sourceRoot":"","sources":["../../../src/components/admin/FAQSection.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,YAAY,EAAO,MAAM,SAAS,CAAC;AAEjD,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,QAAa,EAAE,WAAW,EAAE,EAAE,YAAY,2CAgbzF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MessagingSection.d.ts","sourceRoot":"","sources":["../../../src/components/admin/MessagingSection.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAmCD,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,qBAAqB,2CAqXzF"}
|