autumn-js 0.0.108 → 0.0.110
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/libraries/backend/better-auth.d.mts +18 -18
- package/dist/libraries/backend/better-auth.d.ts +18 -18
- package/dist/libraries/backend/better-auth.js +206 -103
- package/dist/libraries/backend/better-auth.mjs +7 -7
- package/dist/libraries/backend/{chunk-IOSEAUDJ.mjs → chunk-26E2Z26Q.mjs} +170 -102
- package/dist/libraries/backend/{chunk-5EKNB4IJ.mjs → chunk-BV3SY6BB.mjs} +1 -1
- package/dist/libraries/backend/{chunk-HHMIVOXX.mjs → chunk-CLW3UTC5.mjs} +36 -1
- package/dist/libraries/backend/{chunk-2RZ2FZX2.mjs → chunk-DMHG3POG.mjs} +6 -6
- package/dist/libraries/backend/{chunk-5H6HVCOP.mjs → chunk-TWERY4S2.mjs} +1 -1
- package/dist/libraries/backend/{chunk-3OLXYDCU.mjs → chunk-XEHT6LRT.mjs} +1 -1
- package/dist/libraries/backend/{chunk-K7JGEYUX.mjs → chunk-YTCNYNTM.mjs} +1 -1
- package/dist/libraries/backend/convex.js +203 -100
- package/dist/libraries/backend/convex.mjs +7 -7
- package/dist/libraries/backend/elysia.js +209 -106
- package/dist/libraries/backend/elysia.mjs +7 -7
- package/dist/libraries/backend/express.d.mts +1 -1
- package/dist/libraries/backend/express.d.ts +1 -1
- package/dist/libraries/backend/express.js +203 -100
- package/dist/libraries/backend/express.mjs +7 -7
- package/dist/libraries/backend/fastify.js +203 -100
- package/dist/libraries/backend/fastify.mjs +7 -7
- package/dist/libraries/backend/hono.js +203 -100
- package/dist/libraries/backend/hono.mjs +7 -7
- package/dist/libraries/backend/next.js +205 -102
- package/dist/libraries/backend/next.mjs +7 -7
- package/dist/libraries/backend/react-router.js +203 -100
- package/dist/libraries/backend/react-router.mjs +7 -7
- package/dist/libraries/backend/{referralTypes-CL2y5hbv.d.mts → referralTypes-CpEs5id9.d.mts} +219 -60
- package/dist/libraries/backend/{referralTypes-BpOamxCs.d.ts → referralTypes-PV0SFnx_.d.ts} +219 -60
- package/dist/libraries/backend/remix_dep.js +203 -100
- package/dist/libraries/backend/remix_dep.mjs +7 -7
- package/dist/libraries/backend/routes/backendRouter.js +203 -100
- package/dist/libraries/backend/routes/backendRouter.mjs +7 -7
- package/dist/libraries/backend/routes/entityRoutes.js +167 -99
- package/dist/libraries/backend/routes/entityRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/genRoutes.js +202 -99
- package/dist/libraries/backend/routes/genRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/productRoutes.js +167 -99
- package/dist/libraries/backend/routes/productRoutes.mjs +3 -3
- package/dist/libraries/backend/routes/referralRoutes.js +167 -99
- package/dist/libraries/backend/routes/referralRoutes.mjs +3 -3
- package/dist/libraries/backend/supabase.js +203 -100
- package/dist/libraries/backend/supabase.mjs +7 -7
- package/dist/libraries/backend/tanstack.js +203 -100
- package/dist/libraries/backend/tanstack.mjs +7 -7
- package/dist/libraries/backend/utils/backendRes.js +167 -99
- package/dist/libraries/backend/utils/backendRes.mjs +1 -1
- package/dist/libraries/backend/utils/withAuth.d.mts +1 -1
- package/dist/libraries/backend/utils/withAuth.d.ts +1 -1
- package/dist/libraries/backend/utils/withAuth.js +167 -99
- package/dist/libraries/backend/utils/withAuth.mjs +2 -2
- package/dist/libraries/react/AutumnContext.d.mts +7 -5
- package/dist/libraries/react/AutumnContext.d.ts +7 -5
- package/dist/libraries/react/AutumnContext.js +175 -100
- package/dist/libraries/react/AutumnContext.mjs +4 -3
- package/dist/libraries/react/BaseAutumnProvider.d.mts +6 -5
- package/dist/libraries/react/BaseAutumnProvider.d.ts +6 -5
- package/dist/libraries/react/BaseAutumnProvider.js +327 -203
- package/dist/libraries/react/BaseAutumnProvider.mjs +10 -9
- package/dist/libraries/react/{ReactAutumnClient-BjRiaYDN.d.mts → ReactAutumnClient-C4CPCKrp.d.mts} +12 -7
- package/dist/libraries/react/{ReactAutumnClient-O2XzkzGM.d.ts → ReactAutumnClient-Cf3-brZx.d.ts} +12 -7
- package/dist/libraries/react/ReactAutumnProvider.d.mts +2 -1
- package/dist/libraries/react/ReactAutumnProvider.d.ts +2 -1
- package/dist/libraries/react/ReactAutumnProvider.js +327 -203
- package/dist/libraries/react/ReactAutumnProvider.mjs +11 -10
- package/dist/{next/client/attachTypes-DZlF8AAj.d.mts → libraries/react/attachTypes-BKzcsvuA.d.ts} +7 -7
- package/dist/libraries/react/{attachTypes-1Dbkyo_d.d.ts → attachTypes-C1BZ4HNs.d.mts} +3 -3
- package/dist/libraries/react/{chunk-7DINVACK.mjs → chunk-2FMO4MDR.mjs} +2 -2
- package/dist/libraries/react/chunk-2H7G6M6Z.mjs +44 -0
- package/dist/libraries/react/{chunk-6RNG47NV.mjs → chunk-3GZZXL6J.mjs} +21 -11
- package/dist/libraries/react/chunk-3LLAOCW3.mjs +136 -0
- package/dist/libraries/react/{chunk-253MTZP3.mjs → chunk-BCLKTVUX.mjs} +7 -1
- package/dist/libraries/react/{chunk-KJLHVBV4.mjs → chunk-CQD37NSX.mjs} +16 -58
- package/dist/libraries/react/{chunk-2PVRCDDK.mjs → chunk-D3GL2QV3.mjs} +240 -381
- package/dist/libraries/react/{chunk-4CHWEUKX.mjs → chunk-FE5GYL7P.mjs} +2 -2
- package/dist/libraries/react/{chunk-MY2ODATB.mjs → chunk-HBCCTYA6.mjs} +6 -0
- package/dist/libraries/react/{chunk-XXGKLOAK.mjs → chunk-K7IJMDIV.mjs} +17 -3
- package/dist/libraries/react/{chunk-OEIUKLFH.mjs → chunk-MIITU3Q2.mjs} +37 -22
- package/dist/libraries/react/chunk-MS4UEBVX.mjs +223 -0
- package/dist/libraries/react/{chunk-OTYSAMRH.mjs → chunk-OXPO56ZD.mjs} +9 -4
- package/dist/libraries/react/chunk-PDCSW5VX.mjs +46 -0
- package/dist/libraries/react/{chunk-4QPHNIQ7.mjs → chunk-RFSQBGLO.mjs} +1 -1
- package/dist/libraries/react/{chunk-3XJ7NFT2.mjs → chunk-RMR7LP6D.mjs} +57 -23
- package/dist/libraries/react/{chunk-DRAIZ3UZ.mjs → chunk-T4Z5BKOW.mjs} +3 -3
- package/dist/libraries/react/{chunk-OM3ROIZO.mjs → chunk-TL2F3PPG.mjs} +2 -10
- package/dist/libraries/react/{chunk-LXD6AEZW.mjs → chunk-V2XCEJ4T.mjs} +3 -2
- package/dist/libraries/react/client/ReactAutumnClient.d.mts +6 -5
- package/dist/libraries/react/client/ReactAutumnClient.d.ts +6 -5
- package/dist/libraries/react/client/ReactAutumnClient.js +173 -99
- package/dist/libraries/react/client/ReactAutumnClient.mjs +3 -2
- package/dist/libraries/react/client/clientCompMethods.d.mts +6 -5
- package/dist/libraries/react/client/clientCompMethods.d.ts +6 -5
- package/dist/libraries/react/client/clientCusMethods.d.mts +6 -5
- package/dist/libraries/react/client/clientCusMethods.d.ts +6 -5
- package/dist/libraries/react/client/clientEntityMethods.d.mts +7 -6
- package/dist/libraries/react/client/clientEntityMethods.d.ts +7 -6
- package/dist/libraries/react/client/clientGenMethods.d.mts +9 -7
- package/dist/libraries/react/client/clientGenMethods.d.ts +9 -7
- package/dist/libraries/react/client/clientGenMethods.js +7 -0
- package/dist/libraries/react/client/clientGenMethods.mjs +3 -1
- package/dist/libraries/react/client/clientProdMethods.d.mts +6 -5
- package/dist/libraries/react/client/clientProdMethods.d.ts +6 -5
- package/dist/libraries/react/client/clientReferralMethods.d.mts +7 -6
- package/dist/libraries/react/client/clientReferralMethods.d.ts +7 -6
- package/dist/libraries/react/client/types/clientGenTypes.d.mts +12 -1
- package/dist/libraries/react/client/types/clientGenTypes.d.ts +12 -1
- package/dist/libraries/react/client/types/clientGenTypes.js +687 -25
- package/dist/libraries/react/client/types/clientGenTypes.mjs +8 -0
- package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.mts +2 -2
- package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.ts +2 -2
- package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.js +354 -238
- package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.mjs +26 -25
- package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.mts +2 -2
- package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.ts +2 -2
- package/dist/libraries/react/components/check-dialog/check-dialog-synced.css +1539 -0
- package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.mts +2 -3
- package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.ts +2 -3
- package/dist/libraries/react/components/check-dialog/check-dialog-synced.js +1489 -16
- package/dist/libraries/react/components/check-dialog/check-dialog-synced.mjs +36 -4
- package/dist/libraries/react/components/check-dialog/lib/check-content.d.mts +2 -2
- package/dist/libraries/react/components/check-dialog/lib/check-content.d.ts +2 -2
- package/dist/libraries/react/components/check-dialog/lib/check-content.js +6 -0
- package/dist/libraries/react/components/check-dialog/lib/check-content.mjs +1 -1
- package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.mts +1 -1
- package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.ts +1 -1
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +1 -1
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +1 -1
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +519 -399
- package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +26 -25
- package/dist/libraries/react/components/ui/dialog.mjs +2 -2
- package/dist/libraries/react/cusTypes-DG6zrQYk.d.ts +179 -0
- package/dist/libraries/react/cusTypes-DmFGAdnp.d.mts +179 -0
- package/dist/libraries/react/entTypes-BbmxlLGb.d.mts +31 -0
- package/dist/libraries/react/entTypes-DG9rJhum.d.ts +31 -0
- package/dist/libraries/react/{response-C7P_oYqV.d.ts → genTypes-CHD2Kdqf.d.ts} +12 -19
- package/dist/libraries/react/{response-dnzFyX91.d.mts → genTypes-CHerQ_Ka.d.mts} +12 -19
- package/dist/libraries/react/hooks/helpers/handleCheck.d.mts +31 -0
- package/dist/libraries/react/hooks/helpers/handleCheck.d.ts +31 -0
- package/dist/libraries/react/hooks/helpers/handleCheck.js +813 -0
- package/dist/libraries/react/hooks/helpers/handleCheck.mjs +11 -0
- package/dist/libraries/react/hooks/helpers/useAutumnBase.d.mts +41 -0
- package/dist/libraries/react/hooks/helpers/useAutumnBase.d.ts +41 -0
- package/dist/libraries/react/hooks/helpers/useAutumnBase.js +1024 -0
- package/dist/libraries/react/hooks/helpers/useAutumnBase.mjs +10 -0
- package/dist/libraries/react/hooks/{useDialog.js → helpers/useDialog.js} +1 -1
- package/dist/libraries/react/hooks/{useDialog.mjs → helpers/useDialog.mjs} +1 -1
- package/dist/libraries/react/hooks/useAnalytics.d.mts +19 -0
- package/dist/libraries/react/hooks/useAnalytics.d.ts +19 -0
- package/dist/libraries/react/hooks/{useAutumnBase.js → useAnalytics.js} +192 -465
- package/dist/libraries/react/hooks/{useAutumnBase.mjs → useAnalytics.mjs} +7 -7
- package/dist/libraries/react/hooks/useCustomer.d.mts +8 -6
- package/dist/libraries/react/hooks/useCustomer.d.ts +8 -6
- package/dist/libraries/react/hooks/useCustomer.js +309 -199
- package/dist/libraries/react/hooks/useCustomer.mjs +9 -8
- package/dist/libraries/react/hooks/useCustomerBase.d.mts +11 -9
- package/dist/libraries/react/hooks/useCustomerBase.d.ts +11 -9
- package/dist/libraries/react/hooks/useCustomerBase.js +309 -199
- package/dist/libraries/react/hooks/useCustomerBase.mjs +8 -7
- package/dist/libraries/react/hooks/useEntity.d.mts +10 -11
- package/dist/libraries/react/hooks/useEntity.d.ts +10 -11
- package/dist/libraries/react/hooks/useEntity.js +291 -189
- package/dist/libraries/react/hooks/useEntity.mjs +9 -8
- package/dist/libraries/react/hooks/useEntityBase.d.mts +12 -13
- package/dist/libraries/react/hooks/useEntityBase.d.ts +12 -13
- package/dist/libraries/react/hooks/useEntityBase.js +331 -229
- package/dist/libraries/react/hooks/useEntityBase.mjs +8 -7
- package/dist/libraries/react/hooks/usePaywall.d.mts +13 -0
- package/dist/libraries/react/hooks/usePaywall.d.ts +13 -0
- package/dist/libraries/react/hooks/{useAutumn.js → usePaywall.js} +202 -479
- package/dist/libraries/react/hooks/{useAutumn.mjs → usePaywall.mjs} +7 -8
- package/dist/libraries/react/hooks/usePricingTable.d.mts +1 -1
- package/dist/libraries/react/hooks/usePricingTable.d.ts +1 -1
- package/dist/libraries/react/hooks/usePricingTable.js +367 -293
- package/dist/libraries/react/hooks/usePricingTable.mjs +6 -5
- package/dist/libraries/react/hooks/usePricingTableBase.d.mts +8 -9
- package/dist/libraries/react/hooks/usePricingTableBase.d.ts +8 -9
- package/dist/libraries/react/hooks/usePricingTableBase.js +167 -467
- package/dist/libraries/react/hooks/usePricingTableBase.mjs +2 -12
- package/dist/libraries/react/hooks/useProductsBase.d.mts +18 -1
- package/dist/libraries/react/hooks/useProductsBase.d.ts +18 -1
- package/dist/libraries/react/hooks/useProductsBase.js +11 -947
- package/dist/libraries/react/hooks/useProductsBase.mjs +10 -19
- package/dist/libraries/react/index.d.mts +213 -53
- package/dist/libraries/react/index.d.ts +213 -53
- package/dist/libraries/react/index.js +628 -419
- package/dist/libraries/react/index.mjs +606 -399
- package/dist/libraries/react/prodTypes-Mrr6azoz.d.mts +236 -0
- package/dist/libraries/react/prodTypes-Mrr6azoz.d.ts +236 -0
- package/dist/next/{AutumnProvider-BKgOhoik.d.mts → AutumnProvider-BGyIGvAS.d.mts} +167 -31
- package/dist/next/{AutumnProvider-BKgOhoik.d.ts → AutumnProvider-BGyIGvAS.d.ts} +167 -31
- package/dist/next/AutumnProvider.d.mts +1 -1
- package/dist/next/AutumnProvider.d.ts +1 -1
- package/dist/next/client/NextAutumnClient.d.mts +9 -4
- package/dist/next/client/NextAutumnClient.d.ts +9 -4
- package/dist/next/client/NextAutumnProvider.d.mts +2 -1
- package/dist/next/client/NextAutumnProvider.d.ts +2 -1
- package/dist/{libraries/react/attachTypes-DoFoPh8g.d.mts → next/client/attachTypes-DJ4Lz7dN.d.ts} +5 -5
- package/dist/next/client/{attachTypes-CJ7OSUSn.d.ts → attachTypes-Hja4wFD-.d.mts} +1 -1
- package/dist/next/client/{clientAttachTypes-D84PT2G0.d.mts → clientAttachTypes-Dde-B-ga.d.mts} +9 -2
- package/dist/next/client/{clientAttachTypes-D0_L-cnv.d.ts → clientAttachTypes-SPRZ0-u3.d.ts} +9 -2
- package/dist/next/client/clientUtils.d.mts +3 -2
- package/dist/next/client/clientUtils.d.ts +3 -2
- package/dist/next/client/cusTypes-CGQNbPsC.d.ts +179 -0
- package/dist/next/client/cusTypes-CkonzuMA.d.mts +179 -0
- package/dist/next/client/{entTypes-C-7Uoct9.d.ts → entTypes-BYx5xBXO.d.ts} +1 -1
- package/dist/next/client/{entTypes-CXGgMuHO.d.mts → entTypes-DzTUirPM.d.mts} +1 -1
- package/dist/next/client/hooks/useAutumn.d.mts +6 -6
- package/dist/next/client/hooks/useAutumn.d.ts +6 -6
- package/dist/next/client/hooks/useAutumn.js +10 -3
- package/dist/next/client/hooks/useAutumn.mjs +10 -3
- package/dist/next/client/hooks/useCustomer.d.mts +13 -7
- package/dist/next/client/hooks/useCustomer.d.ts +13 -7
- package/dist/next/client/hooks/useEntity.d.mts +7 -8
- package/dist/next/client/hooks/useEntity.d.ts +7 -8
- package/dist/next/client/hooks/usePricingTable.d.mts +1 -1
- package/dist/next/client/hooks/usePricingTable.d.ts +1 -1
- package/dist/next/client/hooks/usePricingTable.js +6 -2
- package/dist/next/client/hooks/usePricingTable.mjs +6 -2
- package/dist/next/client/prodTypes-CCk7TL_t.d.mts +227 -0
- package/dist/next/client/prodTypes-CCk7TL_t.d.ts +227 -0
- package/dist/next/client/types.d.mts +3 -2
- package/dist/next/client/types.d.ts +3 -2
- package/dist/next/index.d.mts +34 -24
- package/dist/next/index.d.ts +34 -24
- package/dist/next/server/auth/withNextAuth.d.mts +1 -1
- package/dist/next/server/auth/withNextAuth.d.ts +1 -1
- package/dist/next/server/componentActions.d.mts +1 -1
- package/dist/next/server/componentActions.d.ts +1 -1
- package/dist/next/server/cusActions.d.mts +36 -13
- package/dist/next/server/cusActions.d.ts +36 -13
- package/dist/next/server/{cusTypes-_GDUnrai.d.mts → cusTypes-d13IMtrx.d.mts} +169 -33
- package/dist/next/server/{cusTypes-_GDUnrai.d.ts → cusTypes-d13IMtrx.d.ts} +169 -33
- package/dist/next/server/genActions.d.mts +1 -1
- package/dist/next/server/genActions.d.ts +1 -1
- package/dist/sdk/index.d.mts +193 -24
- package/dist/sdk/index.d.ts +193 -24
- package/dist/sdk/index.js +111 -56
- package/dist/sdk/index.mjs +108 -57
- package/dist/utils/encryptUtils.js +167 -99
- package/dist/utils/encryptUtils.mjs +167 -99
- package/package.json +3 -2
- package/tsup.config.ts +1 -11
- package/dist/compose/index.d.mts +0 -175
- package/dist/compose/index.d.ts +0 -175
- package/dist/compose/index.js +0 -78
- package/dist/compose/index.mjs +0 -47
- package/dist/libraries/react/chunk-3JJC2VU5.mjs +0 -67
- package/dist/libraries/react/chunk-KDD5RMQ3.mjs +0 -17
- package/dist/libraries/react/chunk-PC6V4RE7.mjs +0 -49
- package/dist/libraries/react/cusTypes-COIU0NG3.d.mts +0 -266
- package/dist/libraries/react/cusTypes-COIU0NG3.d.ts +0 -266
- package/dist/libraries/react/entTypes-BVPtpycG.d.mts +0 -17
- package/dist/libraries/react/entTypes-Ck3_WfOz.d.ts +0 -17
- package/dist/libraries/react/hooks/handleAllowed.d.mts +0 -15
- package/dist/libraries/react/hooks/handleAllowed.d.ts +0 -15
- package/dist/libraries/react/hooks/handleAllowed.js +0 -90
- package/dist/libraries/react/hooks/handleAllowed.mjs +0 -8
- package/dist/libraries/react/hooks/useAutumn.d.mts +0 -35
- package/dist/libraries/react/hooks/useAutumn.d.ts +0 -35
- package/dist/libraries/react/hooks/useAutumnBase.d.mts +0 -40
- package/dist/libraries/react/hooks/useAutumnBase.d.ts +0 -40
- package/dist/next/client/cusTypes-DT2ujoSl.d.mts +0 -266
- package/dist/next/client/cusTypes-DT2ujoSl.d.ts +0 -266
- package/dist/next/client/handleAllowed-B8TBAzfI.d.mts +0 -7
- package/dist/next/client/handleAllowed-B8TBAzfI.d.ts +0 -7
- package/dist/libraries/react/{chunk-JPLUWGH4.mjs → chunk-W5N4PVQU.mjs} +3 -3
- /package/dist/libraries/react/hooks/{useDialog.d.mts → helpers/useDialog.d.mts} +0 -0
- /package/dist/libraries/react/hooks/{useDialog.d.ts → helpers/useDialog.d.ts} +0 -0
|
@@ -45,7 +45,7 @@ var React24 = __toESM(require("react"), 1);
|
|
|
45
45
|
|
|
46
46
|
// ../node_modules/.pnpm/@radix-ui+primitive@1.1.2/node_modules/@radix-ui/primitive/dist/index.mjs
|
|
47
47
|
function composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {
|
|
48
|
-
return function
|
|
48
|
+
return function handleEvent2(event) {
|
|
49
49
|
originalEventHandler?.(event);
|
|
50
50
|
if (checkForDefaultPrevented === false || !event.defaultPrevented) {
|
|
51
51
|
return ourEventHandler?.(event);
|
|
@@ -2217,12 +2217,20 @@ var createLucideIcon = (iconName, iconNode) => {
|
|
|
2217
2217
|
return Component;
|
|
2218
2218
|
};
|
|
2219
2219
|
|
|
2220
|
+
// ../node_modules/.pnpm/lucide-react@0.523.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/chevron-down.js
|
|
2221
|
+
var __iconNode = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
2222
|
+
var ChevronDown = createLucideIcon("chevron-down", __iconNode);
|
|
2223
|
+
|
|
2224
|
+
// ../node_modules/.pnpm/lucide-react@0.523.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/loader-circle.js
|
|
2225
|
+
var __iconNode2 = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
|
|
2226
|
+
var LoaderCircle = createLucideIcon("loader-circle", __iconNode2);
|
|
2227
|
+
|
|
2220
2228
|
// ../node_modules/.pnpm/lucide-react@0.523.0_react@19.1.0/node_modules/lucide-react/dist/esm/icons/x.js
|
|
2221
|
-
var
|
|
2229
|
+
var __iconNode3 = [
|
|
2222
2230
|
["path", { d: "M18 6 6 18", key: "1bl5f8" }],
|
|
2223
2231
|
["path", { d: "m6 6 12 12", key: "d8bk6v" }]
|
|
2224
2232
|
];
|
|
2225
|
-
var X = createLucideIcon("x",
|
|
2233
|
+
var X = createLucideIcon("x", __iconNode3);
|
|
2226
2234
|
|
|
2227
2235
|
// ../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
|
|
2228
2236
|
function r(e) {
|
|
@@ -4842,9 +4850,6 @@ var DialogDescription2 = React25.forwardRef(({ className, ...props }, ref) => /*
|
|
|
4842
4850
|
));
|
|
4843
4851
|
DialogDescription2.displayName = Description.displayName;
|
|
4844
4852
|
|
|
4845
|
-
// src/libraries/react/components/check-dialog/check-dialog-synced.tsx
|
|
4846
|
-
var import_react4 = require("react");
|
|
4847
|
-
|
|
4848
4853
|
// src/libraries/react/components/ui/button.tsx
|
|
4849
4854
|
var React26 = __toESM(require("react"));
|
|
4850
4855
|
|
|
@@ -4932,8 +4937,1472 @@ var Button = React26.forwardRef(
|
|
|
4932
4937
|
);
|
|
4933
4938
|
Button.displayName = "Button";
|
|
4934
4939
|
|
|
4940
|
+
// src/libraries/react/BaseAutumnProvider.tsx
|
|
4941
|
+
var import_react7 = require("react");
|
|
4942
|
+
var import_react8 = require("react");
|
|
4943
|
+
|
|
4944
|
+
// src/libraries/react/hooks/helpers/useDialog.tsx
|
|
4945
|
+
var import_react4 = require("react");
|
|
4946
|
+
|
|
4947
|
+
// src/libraries/react/hooks/useCustomerBase.tsx
|
|
4948
|
+
var import_swr2 = __toESM(require("swr"));
|
|
4949
|
+
var import_react6 = require("react");
|
|
4950
|
+
|
|
4951
|
+
// src/libraries/react/errorUtils/logAuthError.ts
|
|
4952
|
+
var logAuthError = async (response) => {
|
|
4953
|
+
if (response.status === 401) {
|
|
4954
|
+
let clonedResponse = response.clone();
|
|
4955
|
+
let data = await clonedResponse.json();
|
|
4956
|
+
if (data.message.includes("Missing authorization header")) {
|
|
4957
|
+
console.error(`[Autumn] Missing authorization header.
|
|
4958
|
+
|
|
4959
|
+
Use the getBearerToken prop in <AutumnProvider /> to set the authorization header.
|
|
4960
|
+
https://docs.useautumn.com/quickstart/quickstart#5-set-up-autumnprovider`);
|
|
4961
|
+
return true;
|
|
4962
|
+
}
|
|
4963
|
+
}
|
|
4964
|
+
return false;
|
|
4965
|
+
};
|
|
4966
|
+
|
|
4967
|
+
// src/sdk/error.ts
|
|
4968
|
+
var AutumnError = class _AutumnError extends Error {
|
|
4969
|
+
message;
|
|
4970
|
+
code;
|
|
4971
|
+
constructor(response) {
|
|
4972
|
+
super(response.message);
|
|
4973
|
+
this.message = response.message;
|
|
4974
|
+
this.code = response.code;
|
|
4975
|
+
}
|
|
4976
|
+
static fromError(error) {
|
|
4977
|
+
return new _AutumnError({
|
|
4978
|
+
message: error.message || "Unknown error",
|
|
4979
|
+
code: error.code || "unknown_error"
|
|
4980
|
+
});
|
|
4981
|
+
}
|
|
4982
|
+
toString() {
|
|
4983
|
+
return `${this.message} (code: ${this.code})`;
|
|
4984
|
+
}
|
|
4985
|
+
toJSON() {
|
|
4986
|
+
return {
|
|
4987
|
+
message: this.message,
|
|
4988
|
+
code: this.code
|
|
4989
|
+
};
|
|
4990
|
+
}
|
|
4991
|
+
};
|
|
4992
|
+
|
|
4993
|
+
// src/sdk/general/genMethods.ts
|
|
4994
|
+
var handleCheckout = async ({
|
|
4995
|
+
instance,
|
|
4996
|
+
params
|
|
4997
|
+
}) => {
|
|
4998
|
+
return instance.post("/checkout", params);
|
|
4999
|
+
};
|
|
5000
|
+
var handleAttach = async ({
|
|
5001
|
+
instance,
|
|
5002
|
+
params
|
|
5003
|
+
}) => {
|
|
5004
|
+
return instance.post("/attach", params);
|
|
5005
|
+
};
|
|
5006
|
+
var handleSetupPayment = async ({
|
|
5007
|
+
instance,
|
|
5008
|
+
params
|
|
5009
|
+
}) => {
|
|
5010
|
+
return instance.post("/setup_payment", params);
|
|
5011
|
+
};
|
|
5012
|
+
var handleCancel = async ({
|
|
5013
|
+
instance,
|
|
5014
|
+
params
|
|
5015
|
+
}) => {
|
|
5016
|
+
return instance.post("/cancel", params);
|
|
5017
|
+
};
|
|
5018
|
+
var handleTrack = async ({
|
|
5019
|
+
instance,
|
|
5020
|
+
params
|
|
5021
|
+
}) => {
|
|
5022
|
+
return instance.post("/track", params);
|
|
5023
|
+
};
|
|
5024
|
+
var handleUsage = async ({
|
|
5025
|
+
instance,
|
|
5026
|
+
params
|
|
5027
|
+
}) => {
|
|
5028
|
+
return instance.post("/usage", params);
|
|
5029
|
+
};
|
|
5030
|
+
var handleCheck = async ({
|
|
5031
|
+
instance,
|
|
5032
|
+
params
|
|
5033
|
+
}) => {
|
|
5034
|
+
return instance.post("/check", params);
|
|
5035
|
+
};
|
|
5036
|
+
var handleQuery = async ({
|
|
5037
|
+
instance,
|
|
5038
|
+
params
|
|
5039
|
+
}) => {
|
|
5040
|
+
return instance.post("/query", params);
|
|
5041
|
+
};
|
|
5042
|
+
|
|
5043
|
+
// src/libraries/backend/constants.ts
|
|
5044
|
+
var autumnApiUrl = "https://api.useautumn.com/v1";
|
|
5045
|
+
|
|
5046
|
+
// src/sdk/utils.ts
|
|
5047
|
+
var staticWrapper = (callback, instance, args) => {
|
|
5048
|
+
if (!instance) {
|
|
5049
|
+
instance = new Autumn();
|
|
5050
|
+
}
|
|
5051
|
+
return callback({ instance, ...args });
|
|
5052
|
+
};
|
|
5053
|
+
|
|
5054
|
+
// src/sdk/customers/cusMethods.ts
|
|
5055
|
+
var customerMethods = (instance) => {
|
|
5056
|
+
return {
|
|
5057
|
+
get: (id, params) => staticWrapper(getCustomer, instance, { id, params }),
|
|
5058
|
+
create: (params) => staticWrapper(createCustomer, instance, { params }),
|
|
5059
|
+
update: (id, params) => staticWrapper(updateCustomer, instance, { id, params }),
|
|
5060
|
+
delete: (id) => staticWrapper(deleteCustomer, instance, { id }),
|
|
5061
|
+
billingPortal: (id, params) => staticWrapper(billingPortal, instance, { id, params })
|
|
5062
|
+
};
|
|
5063
|
+
};
|
|
5064
|
+
var getExpandStr = (expand) => {
|
|
5065
|
+
if (!expand) {
|
|
5066
|
+
return "";
|
|
5067
|
+
}
|
|
5068
|
+
return `expand=${expand.join(",")}`;
|
|
5069
|
+
};
|
|
5070
|
+
var getCustomer = async ({
|
|
5071
|
+
instance,
|
|
5072
|
+
id,
|
|
5073
|
+
params
|
|
5074
|
+
}) => {
|
|
5075
|
+
if (!id) {
|
|
5076
|
+
return {
|
|
5077
|
+
data: null,
|
|
5078
|
+
error: new AutumnError({
|
|
5079
|
+
message: "Customer ID is required",
|
|
5080
|
+
code: "CUSTOMER_ID_REQUIRED"
|
|
5081
|
+
})
|
|
5082
|
+
};
|
|
5083
|
+
}
|
|
5084
|
+
return instance.get(`/customers/${id}?${getExpandStr(params?.expand)}`);
|
|
5085
|
+
};
|
|
5086
|
+
var createCustomer = async ({
|
|
5087
|
+
instance,
|
|
5088
|
+
params
|
|
5089
|
+
}) => {
|
|
5090
|
+
return instance.post(`/customers?${getExpandStr(params?.expand)}`, params);
|
|
5091
|
+
};
|
|
5092
|
+
var updateCustomer = async ({
|
|
5093
|
+
instance,
|
|
5094
|
+
id,
|
|
5095
|
+
params
|
|
5096
|
+
}) => {
|
|
5097
|
+
return instance.post(`/customers/${id}`, params);
|
|
5098
|
+
};
|
|
5099
|
+
var deleteCustomer = async ({
|
|
5100
|
+
instance,
|
|
5101
|
+
id
|
|
5102
|
+
}) => {
|
|
5103
|
+
return instance.delete(`/customers/${id}`);
|
|
5104
|
+
};
|
|
5105
|
+
var billingPortal = async ({
|
|
5106
|
+
instance,
|
|
5107
|
+
id,
|
|
5108
|
+
params
|
|
5109
|
+
}) => {
|
|
5110
|
+
return instance.post(`/customers/${id}/billing_portal`, params);
|
|
5111
|
+
};
|
|
5112
|
+
|
|
5113
|
+
// src/sdk/customers/entities/entMethods.ts
|
|
5114
|
+
var entityMethods = (instance) => {
|
|
5115
|
+
return {
|
|
5116
|
+
get: (customer_id, entity_id, params) => staticWrapper(getEntity, instance, {
|
|
5117
|
+
customer_id,
|
|
5118
|
+
entity_id,
|
|
5119
|
+
params
|
|
5120
|
+
}),
|
|
5121
|
+
create: (customer_id, params) => staticWrapper(createEntity, instance, { customer_id, params }),
|
|
5122
|
+
delete: (customer_id, entity_id) => staticWrapper(deleteEntity, instance, { customer_id, entity_id })
|
|
5123
|
+
};
|
|
5124
|
+
};
|
|
5125
|
+
var getExpandStr2 = (expand) => {
|
|
5126
|
+
if (!expand) {
|
|
5127
|
+
return "";
|
|
5128
|
+
}
|
|
5129
|
+
return `expand=${expand.join(",")}`;
|
|
5130
|
+
};
|
|
5131
|
+
var getEntity = async ({
|
|
5132
|
+
instance,
|
|
5133
|
+
customer_id,
|
|
5134
|
+
entity_id,
|
|
5135
|
+
params
|
|
5136
|
+
}) => {
|
|
5137
|
+
return instance.get(
|
|
5138
|
+
`/customers/${customer_id}/entities/${entity_id}?${getExpandStr2(
|
|
5139
|
+
params?.expand
|
|
5140
|
+
)}`
|
|
5141
|
+
);
|
|
5142
|
+
};
|
|
5143
|
+
var createEntity = async ({
|
|
5144
|
+
instance,
|
|
5145
|
+
customer_id,
|
|
5146
|
+
params
|
|
5147
|
+
}) => {
|
|
5148
|
+
return instance.post(`/customers/${customer_id}/entities`, params);
|
|
5149
|
+
};
|
|
5150
|
+
var deleteEntity = async ({
|
|
5151
|
+
instance,
|
|
5152
|
+
customer_id,
|
|
5153
|
+
entity_id
|
|
5154
|
+
}) => {
|
|
5155
|
+
return instance.delete(`/customers/${customer_id}/entities/${entity_id}`);
|
|
5156
|
+
};
|
|
5157
|
+
|
|
5158
|
+
// src/sdk/products/prodMethods.ts
|
|
5159
|
+
var productMethods = (instance) => {
|
|
5160
|
+
return {
|
|
5161
|
+
get: (id) => staticWrapper(getProduct, instance, { id }),
|
|
5162
|
+
create: (params) => staticWrapper(createProduct, instance, { params }),
|
|
5163
|
+
list: (params) => staticWrapper(listProducts, instance, { params })
|
|
5164
|
+
};
|
|
5165
|
+
};
|
|
5166
|
+
var listProducts = async ({
|
|
5167
|
+
instance,
|
|
5168
|
+
params
|
|
5169
|
+
}) => {
|
|
5170
|
+
let path = "/products_beta";
|
|
5171
|
+
if (params) {
|
|
5172
|
+
const queryParams = new URLSearchParams();
|
|
5173
|
+
for (const [key, value] of Object.entries(params)) {
|
|
5174
|
+
if (value !== void 0) {
|
|
5175
|
+
queryParams.append(key, String(value));
|
|
5176
|
+
}
|
|
5177
|
+
}
|
|
5178
|
+
const queryString = queryParams.toString();
|
|
5179
|
+
if (queryString) {
|
|
5180
|
+
path += `?${queryString}`;
|
|
5181
|
+
}
|
|
5182
|
+
}
|
|
5183
|
+
return instance.get(path);
|
|
5184
|
+
};
|
|
5185
|
+
var getProduct = async ({
|
|
5186
|
+
instance,
|
|
5187
|
+
id
|
|
5188
|
+
}) => {
|
|
5189
|
+
return instance.get(`/products/${id}`);
|
|
5190
|
+
};
|
|
5191
|
+
var createProduct = async ({
|
|
5192
|
+
instance,
|
|
5193
|
+
params
|
|
5194
|
+
}) => {
|
|
5195
|
+
return instance.post("/products", params);
|
|
5196
|
+
};
|
|
5197
|
+
|
|
5198
|
+
// src/sdk/referrals/referralMethods.ts
|
|
5199
|
+
var referralMethods = (instance) => {
|
|
5200
|
+
return {
|
|
5201
|
+
createCode: (params) => staticWrapper(createReferralCode, instance, { params }),
|
|
5202
|
+
redeemCode: (params) => staticWrapper(redeemReferralCode, instance, { params })
|
|
5203
|
+
};
|
|
5204
|
+
};
|
|
5205
|
+
var createReferralCode = async ({
|
|
5206
|
+
instance,
|
|
5207
|
+
params
|
|
5208
|
+
}) => {
|
|
5209
|
+
return instance.post("/referrals/code", params);
|
|
5210
|
+
};
|
|
5211
|
+
var redeemReferralCode = async ({
|
|
5212
|
+
instance,
|
|
5213
|
+
params
|
|
5214
|
+
}) => {
|
|
5215
|
+
return instance.post("/referrals/redeem", params);
|
|
5216
|
+
};
|
|
5217
|
+
|
|
5218
|
+
// src/sdk/response.ts
|
|
5219
|
+
var toContainerResult = async ({
|
|
5220
|
+
response,
|
|
5221
|
+
logger: logger2,
|
|
5222
|
+
logError = true
|
|
5223
|
+
}) => {
|
|
5224
|
+
if (response.status < 200 || response.status >= 300) {
|
|
5225
|
+
let error;
|
|
5226
|
+
try {
|
|
5227
|
+
error = await response.json();
|
|
5228
|
+
if (logError) {
|
|
5229
|
+
logger2.error(`[Autumn] ${error.message}`);
|
|
5230
|
+
}
|
|
5231
|
+
} catch (error2) {
|
|
5232
|
+
throw error2;
|
|
5233
|
+
return {
|
|
5234
|
+
data: null,
|
|
5235
|
+
error: new AutumnError({
|
|
5236
|
+
message: "Failed to parse JSON response from Autumn",
|
|
5237
|
+
code: "internal_error"
|
|
5238
|
+
}),
|
|
5239
|
+
statusCode: response.status
|
|
5240
|
+
};
|
|
5241
|
+
}
|
|
5242
|
+
return {
|
|
5243
|
+
data: null,
|
|
5244
|
+
error: new AutumnError({
|
|
5245
|
+
message: error.message,
|
|
5246
|
+
code: error.code
|
|
5247
|
+
}),
|
|
5248
|
+
statusCode: response.status
|
|
5249
|
+
};
|
|
5250
|
+
}
|
|
5251
|
+
try {
|
|
5252
|
+
let data = await response.json();
|
|
5253
|
+
return {
|
|
5254
|
+
data,
|
|
5255
|
+
error: null,
|
|
5256
|
+
statusCode: response?.status
|
|
5257
|
+
};
|
|
5258
|
+
} catch (error) {
|
|
5259
|
+
throw error;
|
|
5260
|
+
return {
|
|
5261
|
+
data: null,
|
|
5262
|
+
error: new AutumnError({
|
|
5263
|
+
message: "Failed to parse Autumn API response",
|
|
5264
|
+
code: "internal_error"
|
|
5265
|
+
}),
|
|
5266
|
+
statusCode: response?.status
|
|
5267
|
+
};
|
|
5268
|
+
}
|
|
5269
|
+
};
|
|
5270
|
+
|
|
5271
|
+
// src/utils/logger.ts
|
|
5272
|
+
var import_chalk = __toESM(require("chalk"));
|
|
5273
|
+
var getTime = () => {
|
|
5274
|
+
let timeString = (/* @__PURE__ */ new Date()).toISOString();
|
|
5275
|
+
return `[${timeString.split("T")[1].split(".")[0]}]`;
|
|
5276
|
+
};
|
|
5277
|
+
var greaterThanLevel = (level) => {
|
|
5278
|
+
return levels.indexOf(level) >= levels.indexOf(logger.level);
|
|
5279
|
+
};
|
|
5280
|
+
var levels = ["debug", "info", "warn", "error", "fatal"];
|
|
5281
|
+
var logger = {
|
|
5282
|
+
...console,
|
|
5283
|
+
level: "info",
|
|
5284
|
+
debug: (...args) => {
|
|
5285
|
+
if (greaterThanLevel("debug")) {
|
|
5286
|
+
console.log(getTime(), import_chalk.default.gray("DEBUG"), ...args);
|
|
5287
|
+
}
|
|
5288
|
+
},
|
|
5289
|
+
log: (...args) => {
|
|
5290
|
+
console.log(getTime(), import_chalk.default.blue("INFO"), ...args);
|
|
5291
|
+
},
|
|
5292
|
+
info: (...args) => {
|
|
5293
|
+
if (greaterThanLevel("info")) {
|
|
5294
|
+
console.log(getTime(), import_chalk.default.blue("INFO"), ...args);
|
|
5295
|
+
}
|
|
5296
|
+
},
|
|
5297
|
+
warn: (...args) => {
|
|
5298
|
+
if (greaterThanLevel("warn")) {
|
|
5299
|
+
console.log(getTime(), import_chalk.default.yellow("WARN"), ...args);
|
|
5300
|
+
}
|
|
5301
|
+
},
|
|
5302
|
+
error: (...args) => {
|
|
5303
|
+
if (greaterThanLevel("error")) {
|
|
5304
|
+
console.log(getTime(), import_chalk.default.red("ERROR"), ...args);
|
|
5305
|
+
}
|
|
5306
|
+
}
|
|
5307
|
+
};
|
|
5308
|
+
|
|
5309
|
+
// src/sdk/client.ts
|
|
5310
|
+
var LATEST_API_VERSION = "1.2";
|
|
5311
|
+
var Autumn = class {
|
|
5312
|
+
secretKey;
|
|
5313
|
+
publishableKey;
|
|
5314
|
+
headers;
|
|
5315
|
+
url;
|
|
5316
|
+
logger = console;
|
|
5317
|
+
constructor(options) {
|
|
5318
|
+
try {
|
|
5319
|
+
this.secretKey = options?.secretKey || process.env.AUTUMN_SECRET_KEY;
|
|
5320
|
+
this.publishableKey = options?.publishableKey || process.env.AUTUMN_PUBLISHABLE_KEY;
|
|
5321
|
+
} catch (error) {
|
|
5322
|
+
}
|
|
5323
|
+
if (!this.secretKey && !this.publishableKey && !options?.headers) {
|
|
5324
|
+
throw new Error("Autumn secret key or publishable key is required");
|
|
5325
|
+
}
|
|
5326
|
+
this.headers = options?.headers || {
|
|
5327
|
+
Authorization: `Bearer ${this.secretKey || this.publishableKey}`,
|
|
5328
|
+
"Content-Type": "application/json"
|
|
5329
|
+
};
|
|
5330
|
+
let version = options?.version || LATEST_API_VERSION;
|
|
5331
|
+
this.headers["x-api-version"] = version;
|
|
5332
|
+
this.url = options?.url || autumnApiUrl;
|
|
5333
|
+
this.logger = logger;
|
|
5334
|
+
this.logger.level = options?.logLevel || "info";
|
|
5335
|
+
}
|
|
5336
|
+
async get(path) {
|
|
5337
|
+
const response = await fetch(`${this.url}${path}`, {
|
|
5338
|
+
headers: this.headers
|
|
5339
|
+
});
|
|
5340
|
+
return toContainerResult({ response, logger: this.logger });
|
|
5341
|
+
}
|
|
5342
|
+
async post(path, body) {
|
|
5343
|
+
try {
|
|
5344
|
+
const response = await fetch(`${this.url}${path}`, {
|
|
5345
|
+
method: "POST",
|
|
5346
|
+
headers: this.headers,
|
|
5347
|
+
body: JSON.stringify(body)
|
|
5348
|
+
});
|
|
5349
|
+
return toContainerResult({ response, logger: this.logger });
|
|
5350
|
+
} catch (error) {
|
|
5351
|
+
console.error("Error sending request:", error);
|
|
5352
|
+
throw error;
|
|
5353
|
+
}
|
|
5354
|
+
}
|
|
5355
|
+
async delete(path) {
|
|
5356
|
+
const response = await fetch(`${this.url}${path}`, {
|
|
5357
|
+
method: "DELETE",
|
|
5358
|
+
headers: this.headers
|
|
5359
|
+
});
|
|
5360
|
+
return toContainerResult({ response, logger: this.logger });
|
|
5361
|
+
}
|
|
5362
|
+
static customers = customerMethods();
|
|
5363
|
+
static products = productMethods();
|
|
5364
|
+
static entities = entityMethods();
|
|
5365
|
+
static referrals = referralMethods();
|
|
5366
|
+
customers = customerMethods(this);
|
|
5367
|
+
products = productMethods(this);
|
|
5368
|
+
entities = entityMethods(this);
|
|
5369
|
+
referrals = referralMethods(this);
|
|
5370
|
+
static checkout = (params) => staticWrapper(handleCheckout, void 0, { params });
|
|
5371
|
+
async checkout(params) {
|
|
5372
|
+
return handleCheckout({
|
|
5373
|
+
instance: this,
|
|
5374
|
+
params
|
|
5375
|
+
});
|
|
5376
|
+
}
|
|
5377
|
+
static attach = (params) => staticWrapper(handleAttach, void 0, { params });
|
|
5378
|
+
static usage = (params) => staticWrapper(handleUsage, void 0, { params });
|
|
5379
|
+
async attach(params) {
|
|
5380
|
+
return handleAttach({
|
|
5381
|
+
instance: this,
|
|
5382
|
+
params
|
|
5383
|
+
});
|
|
5384
|
+
}
|
|
5385
|
+
static setupPayment = (params) => staticWrapper(handleSetupPayment, void 0, { params });
|
|
5386
|
+
async setupPayment(params) {
|
|
5387
|
+
return handleSetupPayment({
|
|
5388
|
+
instance: this,
|
|
5389
|
+
params
|
|
5390
|
+
});
|
|
5391
|
+
}
|
|
5392
|
+
static cancel = (params) => staticWrapper(handleCancel, void 0, { params });
|
|
5393
|
+
async cancel(params) {
|
|
5394
|
+
return handleCancel({
|
|
5395
|
+
instance: this,
|
|
5396
|
+
params
|
|
5397
|
+
});
|
|
5398
|
+
}
|
|
5399
|
+
static check = (params) => staticWrapper(handleCheck, void 0, { params });
|
|
5400
|
+
async check(params) {
|
|
5401
|
+
return handleCheck({
|
|
5402
|
+
instance: this,
|
|
5403
|
+
params
|
|
5404
|
+
});
|
|
5405
|
+
}
|
|
5406
|
+
static track = (params) => staticWrapper(handleTrack, void 0, { params });
|
|
5407
|
+
async track(params) {
|
|
5408
|
+
return handleTrack({
|
|
5409
|
+
instance: this,
|
|
5410
|
+
params
|
|
5411
|
+
});
|
|
5412
|
+
}
|
|
5413
|
+
async usage(params) {
|
|
5414
|
+
return handleUsage({
|
|
5415
|
+
instance: this,
|
|
5416
|
+
params
|
|
5417
|
+
});
|
|
5418
|
+
}
|
|
5419
|
+
static query = (params) => staticWrapper(handleQuery, void 0, { params });
|
|
5420
|
+
async query(params) {
|
|
5421
|
+
return handleQuery({
|
|
5422
|
+
instance: this,
|
|
5423
|
+
params
|
|
5424
|
+
});
|
|
5425
|
+
}
|
|
5426
|
+
};
|
|
5427
|
+
|
|
5428
|
+
// src/sdk/products/prodEnums.ts
|
|
5429
|
+
var ProductItemInterval = /* @__PURE__ */ ((ProductItemInterval2) => {
|
|
5430
|
+
ProductItemInterval2["Minute"] = "minute";
|
|
5431
|
+
ProductItemInterval2["Hour"] = "hour";
|
|
5432
|
+
ProductItemInterval2["Day"] = "day";
|
|
5433
|
+
ProductItemInterval2["Week"] = "week";
|
|
5434
|
+
ProductItemInterval2["Month"] = "month";
|
|
5435
|
+
ProductItemInterval2["Quarter"] = "quarter";
|
|
5436
|
+
ProductItemInterval2["SemiAnnual"] = "semi_annual";
|
|
5437
|
+
ProductItemInterval2["Year"] = "year";
|
|
5438
|
+
ProductItemInterval2["Multiple"] = "multiple";
|
|
5439
|
+
return ProductItemInterval2;
|
|
5440
|
+
})(ProductItemInterval || {});
|
|
5441
|
+
|
|
5442
|
+
// src/sdk/customers/cusEnums.ts
|
|
5443
|
+
var import_zod = require("zod");
|
|
5444
|
+
var CustomerExpandEnum = import_zod.z.enum([
|
|
5445
|
+
"invoices",
|
|
5446
|
+
"rewards",
|
|
5447
|
+
"trials_used",
|
|
5448
|
+
"entities",
|
|
5449
|
+
"referrals",
|
|
5450
|
+
"payment_method"
|
|
5451
|
+
]);
|
|
5452
|
+
|
|
5453
|
+
// src/sdk/customers/cusTypes.ts
|
|
5454
|
+
var import_zod2 = require("zod");
|
|
5455
|
+
var CoreCusFeatureSchema = import_zod2.z.object({
|
|
5456
|
+
unlimited: import_zod2.z.boolean().optional(),
|
|
5457
|
+
interval: import_zod2.z.nativeEnum(ProductItemInterval).optional(),
|
|
5458
|
+
balance: import_zod2.z.number().optional(),
|
|
5459
|
+
usage: import_zod2.z.number().optional(),
|
|
5460
|
+
included_usage: import_zod2.z.number().optional(),
|
|
5461
|
+
next_reset_at: import_zod2.z.number().optional(),
|
|
5462
|
+
overage_allowed: import_zod2.z.boolean().optional(),
|
|
5463
|
+
usage_limit: import_zod2.z.number().optional(),
|
|
5464
|
+
breakdown: import_zod2.z.array(
|
|
5465
|
+
import_zod2.z.object({
|
|
5466
|
+
interval: import_zod2.z.nativeEnum(ProductItemInterval),
|
|
5467
|
+
balance: import_zod2.z.number().optional(),
|
|
5468
|
+
usage: import_zod2.z.number().optional(),
|
|
5469
|
+
included_usage: import_zod2.z.number().optional(),
|
|
5470
|
+
next_reset_at: import_zod2.z.number().optional()
|
|
5471
|
+
})
|
|
5472
|
+
).optional(),
|
|
5473
|
+
credit_schema: import_zod2.z.array(
|
|
5474
|
+
import_zod2.z.object({
|
|
5475
|
+
feature_id: import_zod2.z.string(),
|
|
5476
|
+
credit_amount: import_zod2.z.number()
|
|
5477
|
+
})
|
|
5478
|
+
).optional()
|
|
5479
|
+
});
|
|
5480
|
+
var CustomerDataSchema = import_zod2.z.object({
|
|
5481
|
+
name: import_zod2.z.string().nullish(),
|
|
5482
|
+
email: import_zod2.z.string().nullish(),
|
|
5483
|
+
fingerprint: import_zod2.z.string().nullish()
|
|
5484
|
+
});
|
|
5485
|
+
var CreateCustomerParamsSchema = import_zod2.z.object({
|
|
5486
|
+
id: import_zod2.z.string().nullish(),
|
|
5487
|
+
email: import_zod2.z.string().nullish(),
|
|
5488
|
+
name: import_zod2.z.string().nullish(),
|
|
5489
|
+
fingerprint: import_zod2.z.string().nullish(),
|
|
5490
|
+
metadata: import_zod2.z.record(import_zod2.z.any()).optional(),
|
|
5491
|
+
expand: import_zod2.z.array(CustomerExpandEnum).optional()
|
|
5492
|
+
});
|
|
5493
|
+
var BillingPortalParamsSchema = import_zod2.z.object({
|
|
5494
|
+
return_url: import_zod2.z.string().optional()
|
|
5495
|
+
});
|
|
5496
|
+
|
|
5497
|
+
// src/sdk/general/checkTypes.ts
|
|
5498
|
+
var import_zod3 = require("zod");
|
|
5499
|
+
var CheckFeatureResultSchema = import_zod3.z.object({
|
|
5500
|
+
allowed: import_zod3.z.boolean(),
|
|
5501
|
+
feature_id: import_zod3.z.string(),
|
|
5502
|
+
customer_id: import_zod3.z.string(),
|
|
5503
|
+
entity_id: import_zod3.z.string().optional(),
|
|
5504
|
+
required_balance: import_zod3.z.number()
|
|
5505
|
+
}).extend(CoreCusFeatureSchema.shape);
|
|
5506
|
+
|
|
5507
|
+
// src/sdk/customers/entities/entTypes.ts
|
|
5508
|
+
var import_zod4 = require("zod");
|
|
5509
|
+
var EntityDataSchema = import_zod4.z.object({
|
|
5510
|
+
name: import_zod4.z.string().optional(),
|
|
5511
|
+
feature_id: import_zod4.z.string()
|
|
5512
|
+
});
|
|
5513
|
+
|
|
5514
|
+
// src/sdk/general/genTypes.ts
|
|
5515
|
+
var import_zod5 = require("zod");
|
|
5516
|
+
var CancelParamsSchema = import_zod5.z.object({
|
|
5517
|
+
customer_id: import_zod5.z.string(),
|
|
5518
|
+
product_id: import_zod5.z.string(),
|
|
5519
|
+
entity_id: import_zod5.z.string().optional(),
|
|
5520
|
+
cancel_immediately: import_zod5.z.boolean().optional()
|
|
5521
|
+
});
|
|
5522
|
+
var CancelResultSchema = import_zod5.z.object({
|
|
5523
|
+
success: import_zod5.z.boolean(),
|
|
5524
|
+
customer_id: import_zod5.z.string(),
|
|
5525
|
+
product_id: import_zod5.z.string()
|
|
5526
|
+
});
|
|
5527
|
+
var TrackParamsSchema = import_zod5.z.object({
|
|
5528
|
+
customer_id: import_zod5.z.string(),
|
|
5529
|
+
value: import_zod5.z.number().optional(),
|
|
5530
|
+
feature_id: import_zod5.z.string().optional(),
|
|
5531
|
+
event_name: import_zod5.z.string().optional(),
|
|
5532
|
+
entity_id: import_zod5.z.string().optional(),
|
|
5533
|
+
customer_data: import_zod5.z.any().optional(),
|
|
5534
|
+
idempotency_key: import_zod5.z.string().optional(),
|
|
5535
|
+
entity_data: import_zod5.z.any().optional()
|
|
5536
|
+
});
|
|
5537
|
+
var TrackResultSchema = import_zod5.z.object({
|
|
5538
|
+
id: import_zod5.z.string(),
|
|
5539
|
+
code: import_zod5.z.string(),
|
|
5540
|
+
customer_id: import_zod5.z.string(),
|
|
5541
|
+
feature_id: import_zod5.z.string().optional(),
|
|
5542
|
+
event_name: import_zod5.z.string().optional()
|
|
5543
|
+
});
|
|
5544
|
+
var CheckParamsSchema = import_zod5.z.object({
|
|
5545
|
+
customer_id: import_zod5.z.string(),
|
|
5546
|
+
feature_id: import_zod5.z.string().optional(),
|
|
5547
|
+
product_id: import_zod5.z.string().optional(),
|
|
5548
|
+
entity_id: import_zod5.z.string().optional(),
|
|
5549
|
+
customer_data: import_zod5.z.any().optional(),
|
|
5550
|
+
required_balance: import_zod5.z.number().optional(),
|
|
5551
|
+
send_event: import_zod5.z.boolean().optional(),
|
|
5552
|
+
with_preview: import_zod5.z.boolean().optional(),
|
|
5553
|
+
entity_data: EntityDataSchema.optional()
|
|
5554
|
+
});
|
|
5555
|
+
var QueryRangeEnum = import_zod5.z.enum(["24h", "7d", "30d", "90d", "last_cycle"]);
|
|
5556
|
+
var QueryParamsSchema = import_zod5.z.object({
|
|
5557
|
+
customer_id: import_zod5.z.string(),
|
|
5558
|
+
feature_id: import_zod5.z.string().or(import_zod5.z.array(import_zod5.z.string())),
|
|
5559
|
+
range: QueryRangeEnum.optional()
|
|
5560
|
+
});
|
|
5561
|
+
|
|
5562
|
+
// src/sdk/referrals/referralTypes.ts
|
|
5563
|
+
var import_zod6 = require("zod");
|
|
5564
|
+
var CreateReferralCodeParamsSchema = import_zod6.z.object({
|
|
5565
|
+
customer_id: import_zod6.z.string(),
|
|
5566
|
+
program_id: import_zod6.z.string()
|
|
5567
|
+
});
|
|
5568
|
+
var RedeemReferralCodeParamsSchema = import_zod6.z.object({
|
|
5569
|
+
code: import_zod6.z.string(),
|
|
5570
|
+
customer_id: import_zod6.z.string()
|
|
5571
|
+
});
|
|
5572
|
+
|
|
5573
|
+
// src/sdk/general/attachTypes.ts
|
|
5574
|
+
var import_zod7 = require("zod");
|
|
5575
|
+
var AttachFeatureOptionsSchema = import_zod7.z.object({
|
|
5576
|
+
feature_id: import_zod7.z.string(),
|
|
5577
|
+
quantity: import_zod7.z.number()
|
|
5578
|
+
});
|
|
5579
|
+
var AttachParamsSchema = import_zod7.z.object({
|
|
5580
|
+
customer_id: import_zod7.z.string(),
|
|
5581
|
+
product_id: import_zod7.z.string().optional(),
|
|
5582
|
+
entity_id: import_zod7.z.string().optional(),
|
|
5583
|
+
options: import_zod7.z.array(AttachFeatureOptionsSchema).optional(),
|
|
5584
|
+
product_ids: import_zod7.z.array(import_zod7.z.string()).optional(),
|
|
5585
|
+
free_trial: import_zod7.z.boolean().optional(),
|
|
5586
|
+
success_url: import_zod7.z.string().optional(),
|
|
5587
|
+
metadata: import_zod7.z.record(import_zod7.z.string()).optional(),
|
|
5588
|
+
force_checkout: import_zod7.z.boolean().optional(),
|
|
5589
|
+
customer_data: CustomerDataSchema.optional(),
|
|
5590
|
+
entity_data: import_zod7.z.any().optional(),
|
|
5591
|
+
checkout_session_params: import_zod7.z.record(import_zod7.z.any()).optional(),
|
|
5592
|
+
reward: import_zod7.z.string().optional()
|
|
5593
|
+
});
|
|
5594
|
+
var AttachResultSchema = import_zod7.z.object({
|
|
5595
|
+
checkout_url: import_zod7.z.string().optional(),
|
|
5596
|
+
customer_id: import_zod7.z.string(),
|
|
5597
|
+
product_ids: import_zod7.z.array(import_zod7.z.string()),
|
|
5598
|
+
code: import_zod7.z.string(),
|
|
5599
|
+
message: import_zod7.z.string(),
|
|
5600
|
+
customer_data: import_zod7.z.any().optional()
|
|
5601
|
+
});
|
|
5602
|
+
var CheckoutParamsSchema = import_zod7.z.object({
|
|
5603
|
+
customer_id: import_zod7.z.string(),
|
|
5604
|
+
product_id: import_zod7.z.string(),
|
|
5605
|
+
entity_id: import_zod7.z.string().optional(),
|
|
5606
|
+
success_url: import_zod7.z.string().optional(),
|
|
5607
|
+
customer_data: CustomerDataSchema.optional(),
|
|
5608
|
+
options: import_zod7.z.array(AttachFeatureOptionsSchema).optional()
|
|
5609
|
+
});
|
|
5610
|
+
|
|
5611
|
+
// src/libraries/react/errorUtils/logFetchError.ts
|
|
5612
|
+
var logFetchError = ({
|
|
5613
|
+
method,
|
|
5614
|
+
backendUrl,
|
|
5615
|
+
path,
|
|
5616
|
+
error
|
|
5617
|
+
}) => {
|
|
5618
|
+
console.error(`[Autumn] Fetch failed: ${method} ${backendUrl}${path}
|
|
5619
|
+
|
|
5620
|
+
1. Check that backendUrl in <AutumnProvider/> is correctly set.
|
|
5621
|
+
2. Check that autumnHandler is correctly registered on your backend.`);
|
|
5622
|
+
};
|
|
5623
|
+
|
|
5624
|
+
// src/libraries/react/client/clientCompMethods.ts
|
|
5625
|
+
async function getPricingTableMethod() {
|
|
5626
|
+
const res = await this.get(`${this.prefix}/components/pricing_table`);
|
|
5627
|
+
return res;
|
|
5628
|
+
}
|
|
5629
|
+
|
|
5630
|
+
// src/libraries/react/client/clientCusMethods.ts
|
|
5631
|
+
var createCustomerMethod = async ({
|
|
5632
|
+
client,
|
|
5633
|
+
params
|
|
5634
|
+
}) => {
|
|
5635
|
+
let result = await client.post(`${client.prefix}/customers`, params);
|
|
5636
|
+
return result;
|
|
5637
|
+
};
|
|
5638
|
+
|
|
5639
|
+
// src/libraries/react/utils/toSnakeCase.ts
|
|
5640
|
+
function stringToSnakeCase(str) {
|
|
5641
|
+
return str.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase();
|
|
5642
|
+
}
|
|
5643
|
+
var toSnakeCase = (obj, excludeKeys) => {
|
|
5644
|
+
if (Array.isArray(obj)) {
|
|
5645
|
+
return obj.map((item) => toSnakeCase(item, excludeKeys));
|
|
5646
|
+
} else if (obj !== null && typeof obj === "object") {
|
|
5647
|
+
return Object.fromEntries(
|
|
5648
|
+
Object.entries(obj).map(([key, value]) => {
|
|
5649
|
+
const snakeKey = stringToSnakeCase(key);
|
|
5650
|
+
if (excludeKeys && excludeKeys.includes(key)) {
|
|
5651
|
+
return [snakeKey, value];
|
|
5652
|
+
}
|
|
5653
|
+
return [snakeKey, toSnakeCase(value, excludeKeys)];
|
|
5654
|
+
})
|
|
5655
|
+
);
|
|
5656
|
+
}
|
|
5657
|
+
return obj;
|
|
5658
|
+
};
|
|
5659
|
+
|
|
5660
|
+
// src/utils/entityUtils.tsx
|
|
5661
|
+
var getEntityExpandStr = (expand) => {
|
|
5662
|
+
if (!expand) {
|
|
5663
|
+
return "";
|
|
5664
|
+
}
|
|
5665
|
+
return `expand=${expand.join(",")}`;
|
|
5666
|
+
};
|
|
5667
|
+
|
|
5668
|
+
// src/libraries/react/client/clientEntityMethods.ts
|
|
5669
|
+
async function createEntityMethod(params) {
|
|
5670
|
+
let snakeParams = toSnakeCase(params);
|
|
5671
|
+
const res = await this.post(`${this.prefix}/entities`, snakeParams);
|
|
5672
|
+
return res;
|
|
5673
|
+
}
|
|
5674
|
+
async function getEntityMethod(entityId, params) {
|
|
5675
|
+
let snakeParams = toSnakeCase(params);
|
|
5676
|
+
let expand = getEntityExpandStr(params?.expand);
|
|
5677
|
+
const res = await this.get(`${this.prefix}/entities/${entityId}?${expand}`);
|
|
5678
|
+
return res;
|
|
5679
|
+
}
|
|
5680
|
+
async function deleteEntityMethod(entityId) {
|
|
5681
|
+
const res = await this.delete(`${this.prefix}/entities/${entityId}`);
|
|
5682
|
+
return res;
|
|
5683
|
+
}
|
|
5684
|
+
|
|
5685
|
+
// src/libraries/react/client/clientGenMethods.ts
|
|
5686
|
+
async function checkoutMethod(params) {
|
|
5687
|
+
let snakeParams = toSnakeCase(params);
|
|
5688
|
+
const res = await this.post(`${this.prefix}/checkout`, snakeParams);
|
|
5689
|
+
return res;
|
|
5690
|
+
}
|
|
5691
|
+
async function attachMethod(params) {
|
|
5692
|
+
let snakeParams = toSnakeCase(params, ["checkoutSessionparams"]);
|
|
5693
|
+
const res = await this.post(`${this.prefix}/attach`, snakeParams);
|
|
5694
|
+
return res;
|
|
5695
|
+
}
|
|
5696
|
+
async function setupPaymentMethod(params) {
|
|
5697
|
+
let snakeParams = toSnakeCase(params, ["checkoutSessionParams"]);
|
|
5698
|
+
const res = await this.post(`${this.prefix}/setup_payment`, snakeParams);
|
|
5699
|
+
return res;
|
|
5700
|
+
}
|
|
5701
|
+
async function cancelMethod(params) {
|
|
5702
|
+
let snakeParams = toSnakeCase(params);
|
|
5703
|
+
const res = await this.post(`${this.prefix}/cancel`, snakeParams);
|
|
5704
|
+
return res;
|
|
5705
|
+
}
|
|
5706
|
+
async function checkMethod(params) {
|
|
5707
|
+
let { dialog, ...rest } = params;
|
|
5708
|
+
let snakeParams = toSnakeCase(rest);
|
|
5709
|
+
const res = await this.post(`${this.prefix}/check`, snakeParams);
|
|
5710
|
+
return res;
|
|
5711
|
+
}
|
|
5712
|
+
async function trackMethod(params) {
|
|
5713
|
+
let snakeParams = toSnakeCase(params);
|
|
5714
|
+
const res = await this.post(`${this.prefix}/track`, snakeParams);
|
|
5715
|
+
return res;
|
|
5716
|
+
}
|
|
5717
|
+
async function openBillingPortalMethod(params) {
|
|
5718
|
+
let snakeParams = toSnakeCase(params || {});
|
|
5719
|
+
const res = await this.post(`${this.prefix}/billing_portal`, snakeParams);
|
|
5720
|
+
return res;
|
|
5721
|
+
}
|
|
5722
|
+
async function queryMethod(params) {
|
|
5723
|
+
let snakeParams = toSnakeCase(params);
|
|
5724
|
+
const res = await this.post(`${this.prefix}/query`, snakeParams);
|
|
5725
|
+
return res;
|
|
5726
|
+
}
|
|
5727
|
+
|
|
5728
|
+
// src/libraries/react/client/clientProdMethods.ts
|
|
5729
|
+
async function listProductsMethod() {
|
|
5730
|
+
const res = await this.get(`${this.prefix}/products`);
|
|
5731
|
+
return res;
|
|
5732
|
+
}
|
|
5733
|
+
|
|
5734
|
+
// src/libraries/react/client/clientReferralMethods.ts
|
|
5735
|
+
async function createCode(params) {
|
|
5736
|
+
let snakeParams = toSnakeCase(params);
|
|
5737
|
+
const res = await this.post(`${this.prefix}/referrals/code`, snakeParams);
|
|
5738
|
+
return res;
|
|
5739
|
+
}
|
|
5740
|
+
async function redeemCode(params) {
|
|
5741
|
+
let snakeParams = toSnakeCase(params);
|
|
5742
|
+
const res = await this.post(`${this.prefix}/referrals/redeem`, snakeParams);
|
|
5743
|
+
return res;
|
|
5744
|
+
}
|
|
5745
|
+
|
|
5746
|
+
// src/libraries/react/client/ReactAutumnClient.tsx
|
|
5747
|
+
var AutumnClient = class {
|
|
5748
|
+
backendUrl;
|
|
5749
|
+
getBearerToken;
|
|
5750
|
+
customerData;
|
|
5751
|
+
includeCredentials;
|
|
5752
|
+
prefix;
|
|
5753
|
+
constructor({
|
|
5754
|
+
backendUrl,
|
|
5755
|
+
getBearerToken,
|
|
5756
|
+
customerData,
|
|
5757
|
+
includeCredentials,
|
|
5758
|
+
betterAuthUrl
|
|
5759
|
+
}) {
|
|
5760
|
+
this.backendUrl = backendUrl;
|
|
5761
|
+
this.getBearerToken = getBearerToken;
|
|
5762
|
+
this.customerData = customerData;
|
|
5763
|
+
this.includeCredentials = includeCredentials;
|
|
5764
|
+
this.prefix = "/api/autumn";
|
|
5765
|
+
if (betterAuthUrl) {
|
|
5766
|
+
this.prefix = "/api/auth/autumn";
|
|
5767
|
+
this.backendUrl = betterAuthUrl;
|
|
5768
|
+
}
|
|
5769
|
+
}
|
|
5770
|
+
/**
|
|
5771
|
+
* Detects if the backend supports CORS credentials by making an OPTIONS request
|
|
5772
|
+
*/
|
|
5773
|
+
async detectCors() {
|
|
5774
|
+
if (this.prefix?.includes("/api/auth")) {
|
|
5775
|
+
return { valid: true, includeCredentials: true };
|
|
5776
|
+
}
|
|
5777
|
+
const testEndpoint = `${this.backendUrl}/api/autumn/cors`;
|
|
5778
|
+
try {
|
|
5779
|
+
await fetch(testEndpoint, {
|
|
5780
|
+
method: "POST",
|
|
5781
|
+
credentials: "include",
|
|
5782
|
+
headers: { "Content-Type": "application/json" }
|
|
5783
|
+
});
|
|
5784
|
+
return { valid: true, includeCredentials: true };
|
|
5785
|
+
} catch (error) {
|
|
5786
|
+
try {
|
|
5787
|
+
await fetch(testEndpoint, {
|
|
5788
|
+
method: "POST",
|
|
5789
|
+
credentials: "omit",
|
|
5790
|
+
headers: { "Content-Type": "application/json" }
|
|
5791
|
+
});
|
|
5792
|
+
return { valid: true, includeCredentials: false };
|
|
5793
|
+
} catch (error2) {
|
|
5794
|
+
return { valid: false, includeCredentials: void 0 };
|
|
5795
|
+
}
|
|
5796
|
+
}
|
|
5797
|
+
}
|
|
5798
|
+
/**
|
|
5799
|
+
* Automatically determines whether to include credentials based on CORS detection
|
|
5800
|
+
*/
|
|
5801
|
+
async shouldIncludeCredentials() {
|
|
5802
|
+
if (this.includeCredentials !== void 0) {
|
|
5803
|
+
return this.includeCredentials;
|
|
5804
|
+
}
|
|
5805
|
+
try {
|
|
5806
|
+
const corsResult = await this.detectCors();
|
|
5807
|
+
if (corsResult.valid) {
|
|
5808
|
+
console.warn(
|
|
5809
|
+
`[Autumn] Detected CORS credentials: ${corsResult.includeCredentials}`
|
|
5810
|
+
);
|
|
5811
|
+
console.warn(
|
|
5812
|
+
`[Autumn] To disable this warning, you can set includeCredentials={${corsResult.includeCredentials ? "true" : "false"}} in <AutumnProvider />`
|
|
5813
|
+
);
|
|
5814
|
+
this.includeCredentials = corsResult.includeCredentials;
|
|
5815
|
+
}
|
|
5816
|
+
return corsResult.includeCredentials || false;
|
|
5817
|
+
} catch (error) {
|
|
5818
|
+
console.error(`[Autumn] Error detecting CORS: ${error.message}`);
|
|
5819
|
+
return false;
|
|
5820
|
+
}
|
|
5821
|
+
}
|
|
5822
|
+
async getHeaders() {
|
|
5823
|
+
let headers = {
|
|
5824
|
+
"Content-Type": "application/json"
|
|
5825
|
+
};
|
|
5826
|
+
if (this.getBearerToken) {
|
|
5827
|
+
try {
|
|
5828
|
+
let token = await this.getBearerToken();
|
|
5829
|
+
headers.Authorization = `Bearer ${token}`;
|
|
5830
|
+
} catch (error) {
|
|
5831
|
+
console.error(`Failed to call getToken() in AutumnProvider`);
|
|
5832
|
+
}
|
|
5833
|
+
}
|
|
5834
|
+
return headers;
|
|
5835
|
+
}
|
|
5836
|
+
async handleFetch({
|
|
5837
|
+
path,
|
|
5838
|
+
method,
|
|
5839
|
+
body
|
|
5840
|
+
}) {
|
|
5841
|
+
body = method === "POST" ? JSON.stringify({
|
|
5842
|
+
...body,
|
|
5843
|
+
customer_data: this.customerData || void 0
|
|
5844
|
+
}) : void 0;
|
|
5845
|
+
const includeCredentials = await this.shouldIncludeCredentials();
|
|
5846
|
+
try {
|
|
5847
|
+
const response = await fetch(`${this.backendUrl}${path}`, {
|
|
5848
|
+
method,
|
|
5849
|
+
body,
|
|
5850
|
+
headers: await this.getHeaders(),
|
|
5851
|
+
credentials: includeCredentials ? "include" : "omit"
|
|
5852
|
+
});
|
|
5853
|
+
const loggedError = await logAuthError(response);
|
|
5854
|
+
return await toContainerResult({
|
|
5855
|
+
response,
|
|
5856
|
+
logger: console,
|
|
5857
|
+
logError: !loggedError
|
|
5858
|
+
});
|
|
5859
|
+
} catch (error) {
|
|
5860
|
+
logFetchError({
|
|
5861
|
+
method,
|
|
5862
|
+
backendUrl: this.backendUrl || "",
|
|
5863
|
+
path,
|
|
5864
|
+
error
|
|
5865
|
+
});
|
|
5866
|
+
return {
|
|
5867
|
+
data: null,
|
|
5868
|
+
error: new AutumnError({
|
|
5869
|
+
message: error.message,
|
|
5870
|
+
code: "fetch_failed"
|
|
5871
|
+
})
|
|
5872
|
+
};
|
|
5873
|
+
}
|
|
5874
|
+
}
|
|
5875
|
+
async post(path, body) {
|
|
5876
|
+
return await this.handleFetch({
|
|
5877
|
+
path,
|
|
5878
|
+
method: "POST",
|
|
5879
|
+
body
|
|
5880
|
+
});
|
|
5881
|
+
}
|
|
5882
|
+
async get(path) {
|
|
5883
|
+
return await this.handleFetch({
|
|
5884
|
+
path,
|
|
5885
|
+
method: "GET"
|
|
5886
|
+
});
|
|
5887
|
+
}
|
|
5888
|
+
async delete(path) {
|
|
5889
|
+
return await this.handleFetch({
|
|
5890
|
+
path,
|
|
5891
|
+
method: "DELETE"
|
|
5892
|
+
});
|
|
5893
|
+
}
|
|
5894
|
+
async createCustomer(params) {
|
|
5895
|
+
return await createCustomerMethod({
|
|
5896
|
+
client: this,
|
|
5897
|
+
params
|
|
5898
|
+
});
|
|
5899
|
+
}
|
|
5900
|
+
async getPricingTable() {
|
|
5901
|
+
return await getPricingTableMethod.bind(this)();
|
|
5902
|
+
}
|
|
5903
|
+
attach = attachMethod.bind(this);
|
|
5904
|
+
checkout = checkoutMethod.bind(this);
|
|
5905
|
+
cancel = cancelMethod.bind(this);
|
|
5906
|
+
check = checkMethod.bind(this);
|
|
5907
|
+
track = trackMethod.bind(this);
|
|
5908
|
+
openBillingPortal = openBillingPortalMethod.bind(this);
|
|
5909
|
+
setupPayment = setupPaymentMethod.bind(this);
|
|
5910
|
+
query = queryMethod.bind(this);
|
|
5911
|
+
entities = {
|
|
5912
|
+
create: createEntityMethod.bind(this),
|
|
5913
|
+
get: getEntityMethod.bind(this),
|
|
5914
|
+
delete: deleteEntityMethod.bind(this)
|
|
5915
|
+
};
|
|
5916
|
+
referrals = {
|
|
5917
|
+
createCode: createCode.bind(this),
|
|
5918
|
+
redeemCode: redeemCode.bind(this)
|
|
5919
|
+
};
|
|
5920
|
+
products = {
|
|
5921
|
+
list: listProductsMethod.bind(this)
|
|
5922
|
+
};
|
|
5923
|
+
};
|
|
5924
|
+
|
|
5925
|
+
// src/libraries/react/AutumnContext.tsx
|
|
5926
|
+
var import_react5 = require("react");
|
|
5927
|
+
var AutumnContext = (0, import_react5.createContext)({
|
|
5928
|
+
initialized: false,
|
|
5929
|
+
disableDialogs: false,
|
|
5930
|
+
client: new AutumnClient({ backendUrl: "" }),
|
|
5931
|
+
paywallDialog: {
|
|
5932
|
+
props: null,
|
|
5933
|
+
setProps: () => {
|
|
5934
|
+
},
|
|
5935
|
+
open: false,
|
|
5936
|
+
setOpen: () => {
|
|
5937
|
+
},
|
|
5938
|
+
setComponent: () => {
|
|
5939
|
+
}
|
|
5940
|
+
},
|
|
5941
|
+
attachDialog: {
|
|
5942
|
+
props: null,
|
|
5943
|
+
setProps: () => {
|
|
5944
|
+
},
|
|
5945
|
+
open: false,
|
|
5946
|
+
setOpen: () => {
|
|
5947
|
+
},
|
|
5948
|
+
setComponent: () => {
|
|
5949
|
+
}
|
|
5950
|
+
},
|
|
5951
|
+
paywallRef: { current: null }
|
|
5952
|
+
});
|
|
5953
|
+
var useAutumnContext = ({
|
|
5954
|
+
AutumnContext: AutumnContext2,
|
|
5955
|
+
name,
|
|
5956
|
+
errorIfNotInitialized = true
|
|
5957
|
+
}) => {
|
|
5958
|
+
const context = (0, import_react5.useContext)(AutumnContext2);
|
|
5959
|
+
if (!context.initialized && errorIfNotInitialized) {
|
|
5960
|
+
throw new Error(`${name} must be used within <AutumnProvider />`);
|
|
5961
|
+
}
|
|
5962
|
+
return context;
|
|
5963
|
+
};
|
|
5964
|
+
|
|
5965
|
+
// src/libraries/react/hooks/usePricingTableBase.tsx
|
|
5966
|
+
var import_swr = __toESM(require("swr"));
|
|
5967
|
+
|
|
5968
|
+
// src/libraries/react/BaseAutumnProvider.tsx
|
|
5969
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
5970
|
+
|
|
5971
|
+
// src/libraries/react/ReactAutumnProvider.tsx
|
|
5972
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
5973
|
+
|
|
5974
|
+
// src/libraries/react/hooks/useEntityBase.tsx
|
|
5975
|
+
var import_swr3 = __toESM(require("swr"));
|
|
5976
|
+
var import_react9 = require("react");
|
|
5977
|
+
|
|
5978
|
+
// src/libraries/react/hooks/useAnalytics.tsx
|
|
5979
|
+
var import_swr4 = __toESM(require("swr"));
|
|
5980
|
+
|
|
5981
|
+
// src/libraries/react/hooks/usePaywall.tsx
|
|
5982
|
+
var import_swr5 = __toESM(require("swr"));
|
|
5983
|
+
var usePaywall = ({
|
|
5984
|
+
featureId,
|
|
5985
|
+
entityId
|
|
5986
|
+
}) => {
|
|
5987
|
+
const context = useAutumnContext({
|
|
5988
|
+
AutumnContext,
|
|
5989
|
+
name: "usePaywall"
|
|
5990
|
+
});
|
|
5991
|
+
const enabled = !!featureId && !!context;
|
|
5992
|
+
const fetcher = async () => {
|
|
5993
|
+
if (!featureId) {
|
|
5994
|
+
return { preview: void 0 };
|
|
5995
|
+
}
|
|
5996
|
+
const { data: data2, error: error2 } = await context.client.check({
|
|
5997
|
+
featureId,
|
|
5998
|
+
withPreview: true
|
|
5999
|
+
});
|
|
6000
|
+
if (error2) throw error2;
|
|
6001
|
+
return data2;
|
|
6002
|
+
};
|
|
6003
|
+
const queryKey = [`check`, featureId, entityId];
|
|
6004
|
+
const { data, error, isLoading } = (0, import_swr5.default)(queryKey, fetcher, {
|
|
6005
|
+
refreshInterval: 0,
|
|
6006
|
+
enabled
|
|
6007
|
+
});
|
|
6008
|
+
return {
|
|
6009
|
+
data: data?.preview,
|
|
6010
|
+
error,
|
|
6011
|
+
isLoading
|
|
6012
|
+
};
|
|
6013
|
+
};
|
|
6014
|
+
|
|
6015
|
+
// src/libraries/react/components/attach-dialog/attach-dialog-synced.tsx
|
|
6016
|
+
var AccordionPrimitive2 = __toESM(require("@radix-ui/react-accordion"));
|
|
6017
|
+
var import_react10 = require("react");
|
|
6018
|
+
|
|
6019
|
+
// src/libraries/react/components/attach-dialog/lib/attach-content.tsx
|
|
6020
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
6021
|
+
|
|
6022
|
+
// src/libraries/react/components/ui/accordion.tsx
|
|
6023
|
+
var React29 = __toESM(require("react"));
|
|
6024
|
+
var AccordionPrimitive = __toESM(require("@radix-ui/react-accordion"));
|
|
6025
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
6026
|
+
var AccordionItem = React29.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
6027
|
+
AccordionPrimitive.Item,
|
|
6028
|
+
{
|
|
6029
|
+
ref,
|
|
6030
|
+
className: cn("au-border-b", className),
|
|
6031
|
+
...props
|
|
6032
|
+
}
|
|
6033
|
+
));
|
|
6034
|
+
AccordionItem.displayName = "AccordionItem";
|
|
6035
|
+
var AccordionTrigger = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(AccordionPrimitive.Header, { className: "au-flex", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
6036
|
+
AccordionPrimitive.Trigger,
|
|
6037
|
+
{
|
|
6038
|
+
ref,
|
|
6039
|
+
className: cn(
|
|
6040
|
+
"au-flex au-flex-1 au-items-center au-justify-between au-py-4 au-text-sm au-font-medium au-transition-all hover:au-underline au-text-left [&[data-state=open]>svg]:au-rotate-180",
|
|
6041
|
+
className
|
|
6042
|
+
),
|
|
6043
|
+
...props,
|
|
6044
|
+
children: [
|
|
6045
|
+
children,
|
|
6046
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(ChevronDown, { className: "au-h-4 au-w-4 au-shrink-0 au-text-muted-foreground au-transition-transform au-duration-200" })
|
|
6047
|
+
]
|
|
6048
|
+
}
|
|
6049
|
+
) }));
|
|
6050
|
+
AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
|
|
6051
|
+
var AccordionContent = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
6052
|
+
AccordionPrimitive.Content,
|
|
6053
|
+
{
|
|
6054
|
+
ref,
|
|
6055
|
+
className: "au-overflow-hidden au-text-sm data-[state=closed]:au-animate-accordion-up data-[state=open]:au-animate-accordion-down",
|
|
6056
|
+
...props,
|
|
6057
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: cn("au-pb-4 au-pt-0", className), children })
|
|
6058
|
+
}
|
|
6059
|
+
));
|
|
6060
|
+
AccordionContent.displayName = AccordionPrimitive.Content.displayName;
|
|
6061
|
+
|
|
6062
|
+
// src/libraries/react/components/ui/popover.tsx
|
|
6063
|
+
var React30 = __toESM(require("react"));
|
|
6064
|
+
var PopoverPrimitive = __toESM(require("@radix-ui/react-popover"));
|
|
6065
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
6066
|
+
var PopoverContent = React30.forwardRef(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
6067
|
+
PopoverPrimitive.Content,
|
|
6068
|
+
{
|
|
6069
|
+
ref,
|
|
6070
|
+
align,
|
|
6071
|
+
sideOffset,
|
|
6072
|
+
className: cn(
|
|
6073
|
+
"au-root au-z-[9999] au-w-72 au-rounded-md au-border au-bg-popover au-p-4 au-text-popover-foreground au-shadow-md au-outline-none data-[state=open]:au-animate-in data-[state=closed]:au-animate-out data-[state=closed]:au-fade-out-0 data-[state=open]:au-fade-in-0 data-[state=closed]:au-zoom-out-95 data-[state=open]:au-zoom-in-95 data-[side=bottom]:au-slide-in-from-top-2 data-[side=left]:au-slide-in-from-right-2 data-[side=right]:au-slide-in-from-left-2 data-[side=top]:au-slide-in-from-bottom-2 au-origin-[--radix-popover-content-transform-origin]",
|
|
6074
|
+
className
|
|
6075
|
+
),
|
|
6076
|
+
...props
|
|
6077
|
+
}
|
|
6078
|
+
));
|
|
6079
|
+
PopoverContent.displayName = PopoverPrimitive.Content.displayName;
|
|
6080
|
+
|
|
6081
|
+
// src/libraries/react/components/ui/input.tsx
|
|
6082
|
+
var React31 = __toESM(require("react"));
|
|
6083
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
6084
|
+
var Input = React31.forwardRef(
|
|
6085
|
+
({ className, type, onClick, ...props }, ref) => {
|
|
6086
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
6087
|
+
"input",
|
|
6088
|
+
{
|
|
6089
|
+
type,
|
|
6090
|
+
className: cn(
|
|
6091
|
+
"file:au-text-foreground placeholder:au-text-muted-foreground selection:au-bg-primary selection:au-text-primary-foreground dark:au-bg-input/30 au-border-input au-flex au-h-9 au-w-full au-min-w-0 au-rounded-md au-border au-bg-transparent au-px-3 au-py-1 au-text-base au-shadow-xs au-transition-[color,box-shadow] au-outline-none file:au-inline-flex file:au-h-7 file:au-border-0 file:au-bg-transparent file:au-text-sm file:au-font-medium disabled:au-pointer-events-none disabled:au-cursor-not-allowed disabled:au-opacity-50 md:au-text-sm focus-visible:au-border-ring focus-visible:au-ring-ring/50 focus-visible:au-ring-[3px] aria-invalid:au-ring-destructive/20 dark:aria-invalid:au-ring-destructive/40 aria-invalid:au-border-destructive",
|
|
6092
|
+
className
|
|
6093
|
+
),
|
|
6094
|
+
ref,
|
|
6095
|
+
...props
|
|
6096
|
+
}
|
|
6097
|
+
);
|
|
6098
|
+
}
|
|
6099
|
+
);
|
|
6100
|
+
Input.displayName = "Input";
|
|
6101
|
+
|
|
6102
|
+
// src/libraries/react/components/attach-dialog/attach-dialog-synced.tsx
|
|
6103
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
6104
|
+
|
|
6105
|
+
// src/libraries/react/components/pricing-table/pricing-table-synced.tsx
|
|
6106
|
+
var import_react11 = __toESM(require("react"));
|
|
6107
|
+
var import_react12 = require("react");
|
|
6108
|
+
|
|
6109
|
+
// src/libraries/react/components/ui/switch.tsx
|
|
6110
|
+
var React36 = __toESM(require("react"));
|
|
6111
|
+
|
|
6112
|
+
// ../node_modules/.pnpm/@radix-ui+react-switch@1.2.5_@types+react-dom@19.1.6_@types+react@19.1.8__@types+react@19.1.8_uhx276sbw7dr3tfricp4xfbxsq/node_modules/@radix-ui/react-switch/dist/index.mjs
|
|
6113
|
+
var React35 = __toESM(require("react"), 1);
|
|
6114
|
+
|
|
6115
|
+
// ../node_modules/.pnpm/@radix-ui+react-use-previous@1.1.1_@types+react@19.1.8_react@19.1.0/node_modules/@radix-ui/react-use-previous/dist/index.mjs
|
|
6116
|
+
var React33 = __toESM(require("react"), 1);
|
|
6117
|
+
function usePrevious(value) {
|
|
6118
|
+
const ref = React33.useRef({ value, previous: value });
|
|
6119
|
+
return React33.useMemo(() => {
|
|
6120
|
+
if (ref.current.value !== value) {
|
|
6121
|
+
ref.current.previous = ref.current.value;
|
|
6122
|
+
ref.current.value = value;
|
|
6123
|
+
}
|
|
6124
|
+
return ref.current.previous;
|
|
6125
|
+
}, [value]);
|
|
6126
|
+
}
|
|
6127
|
+
|
|
6128
|
+
// ../node_modules/.pnpm/@radix-ui+react-use-size@1.1.1_@types+react@19.1.8_react@19.1.0/node_modules/@radix-ui/react-use-size/dist/index.mjs
|
|
6129
|
+
var React34 = __toESM(require("react"), 1);
|
|
6130
|
+
function useSize(element) {
|
|
6131
|
+
const [size, setSize] = React34.useState(void 0);
|
|
6132
|
+
useLayoutEffect2(() => {
|
|
6133
|
+
if (element) {
|
|
6134
|
+
setSize({ width: element.offsetWidth, height: element.offsetHeight });
|
|
6135
|
+
const resizeObserver = new ResizeObserver((entries) => {
|
|
6136
|
+
if (!Array.isArray(entries)) {
|
|
6137
|
+
return;
|
|
6138
|
+
}
|
|
6139
|
+
if (!entries.length) {
|
|
6140
|
+
return;
|
|
6141
|
+
}
|
|
6142
|
+
const entry = entries[0];
|
|
6143
|
+
let width;
|
|
6144
|
+
let height;
|
|
6145
|
+
if ("borderBoxSize" in entry) {
|
|
6146
|
+
const borderSizeEntry = entry["borderBoxSize"];
|
|
6147
|
+
const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;
|
|
6148
|
+
width = borderSize["inlineSize"];
|
|
6149
|
+
height = borderSize["blockSize"];
|
|
6150
|
+
} else {
|
|
6151
|
+
width = element.offsetWidth;
|
|
6152
|
+
height = element.offsetHeight;
|
|
6153
|
+
}
|
|
6154
|
+
setSize({ width, height });
|
|
6155
|
+
});
|
|
6156
|
+
resizeObserver.observe(element, { box: "border-box" });
|
|
6157
|
+
return () => resizeObserver.unobserve(element);
|
|
6158
|
+
} else {
|
|
6159
|
+
setSize(void 0);
|
|
6160
|
+
}
|
|
6161
|
+
}, [element]);
|
|
6162
|
+
return size;
|
|
6163
|
+
}
|
|
6164
|
+
|
|
6165
|
+
// ../node_modules/.pnpm/@radix-ui+react-switch@1.2.5_@types+react-dom@19.1.6_@types+react@19.1.8__@types+react@19.1.8_uhx276sbw7dr3tfricp4xfbxsq/node_modules/@radix-ui/react-switch/dist/index.mjs
|
|
6166
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
6167
|
+
var SWITCH_NAME = "Switch";
|
|
6168
|
+
var [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);
|
|
6169
|
+
var [SwitchProvider, useSwitchContext] = createSwitchContext(SWITCH_NAME);
|
|
6170
|
+
var Switch = React35.forwardRef(
|
|
6171
|
+
(props, forwardedRef) => {
|
|
6172
|
+
const {
|
|
6173
|
+
__scopeSwitch,
|
|
6174
|
+
name,
|
|
6175
|
+
checked: checkedProp,
|
|
6176
|
+
defaultChecked,
|
|
6177
|
+
required,
|
|
6178
|
+
disabled,
|
|
6179
|
+
value = "on",
|
|
6180
|
+
onCheckedChange,
|
|
6181
|
+
form,
|
|
6182
|
+
...switchProps
|
|
6183
|
+
} = props;
|
|
6184
|
+
const [button, setButton] = React35.useState(null);
|
|
6185
|
+
const composedRefs = useComposedRefs(forwardedRef, (node) => setButton(node));
|
|
6186
|
+
const hasConsumerStoppedPropagationRef = React35.useRef(false);
|
|
6187
|
+
const isFormControl = button ? form || !!button.closest("form") : true;
|
|
6188
|
+
const [checked, setChecked] = useControllableState({
|
|
6189
|
+
prop: checkedProp,
|
|
6190
|
+
defaultProp: defaultChecked ?? false,
|
|
6191
|
+
onChange: onCheckedChange,
|
|
6192
|
+
caller: SWITCH_NAME
|
|
6193
|
+
});
|
|
6194
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(SwitchProvider, { scope: __scopeSwitch, checked, disabled, children: [
|
|
6195
|
+
/* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
6196
|
+
Primitive.button,
|
|
6197
|
+
{
|
|
6198
|
+
type: "button",
|
|
6199
|
+
role: "switch",
|
|
6200
|
+
"aria-checked": checked,
|
|
6201
|
+
"aria-required": required,
|
|
6202
|
+
"data-state": getState2(checked),
|
|
6203
|
+
"data-disabled": disabled ? "" : void 0,
|
|
6204
|
+
disabled,
|
|
6205
|
+
value,
|
|
6206
|
+
...switchProps,
|
|
6207
|
+
ref: composedRefs,
|
|
6208
|
+
onClick: composeEventHandlers(props.onClick, (event) => {
|
|
6209
|
+
setChecked((prevChecked) => !prevChecked);
|
|
6210
|
+
if (isFormControl) {
|
|
6211
|
+
hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
|
|
6212
|
+
if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
|
|
6213
|
+
}
|
|
6214
|
+
})
|
|
6215
|
+
}
|
|
6216
|
+
),
|
|
6217
|
+
isFormControl && /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
6218
|
+
SwitchBubbleInput,
|
|
6219
|
+
{
|
|
6220
|
+
control: button,
|
|
6221
|
+
bubbles: !hasConsumerStoppedPropagationRef.current,
|
|
6222
|
+
name,
|
|
6223
|
+
value,
|
|
6224
|
+
checked,
|
|
6225
|
+
required,
|
|
6226
|
+
disabled,
|
|
6227
|
+
form,
|
|
6228
|
+
style: { transform: "translateX(-100%)" }
|
|
6229
|
+
}
|
|
6230
|
+
)
|
|
6231
|
+
] });
|
|
6232
|
+
}
|
|
6233
|
+
);
|
|
6234
|
+
Switch.displayName = SWITCH_NAME;
|
|
6235
|
+
var THUMB_NAME = "SwitchThumb";
|
|
6236
|
+
var SwitchThumb = React35.forwardRef(
|
|
6237
|
+
(props, forwardedRef) => {
|
|
6238
|
+
const { __scopeSwitch, ...thumbProps } = props;
|
|
6239
|
+
const context = useSwitchContext(THUMB_NAME, __scopeSwitch);
|
|
6240
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
6241
|
+
Primitive.span,
|
|
6242
|
+
{
|
|
6243
|
+
"data-state": getState2(context.checked),
|
|
6244
|
+
"data-disabled": context.disabled ? "" : void 0,
|
|
6245
|
+
...thumbProps,
|
|
6246
|
+
ref: forwardedRef
|
|
6247
|
+
}
|
|
6248
|
+
);
|
|
6249
|
+
}
|
|
6250
|
+
);
|
|
6251
|
+
SwitchThumb.displayName = THUMB_NAME;
|
|
6252
|
+
var BUBBLE_INPUT_NAME = "SwitchBubbleInput";
|
|
6253
|
+
var SwitchBubbleInput = React35.forwardRef(
|
|
6254
|
+
({
|
|
6255
|
+
__scopeSwitch,
|
|
6256
|
+
control,
|
|
6257
|
+
checked,
|
|
6258
|
+
bubbles = true,
|
|
6259
|
+
...props
|
|
6260
|
+
}, forwardedRef) => {
|
|
6261
|
+
const ref = React35.useRef(null);
|
|
6262
|
+
const composedRefs = useComposedRefs(ref, forwardedRef);
|
|
6263
|
+
const prevChecked = usePrevious(checked);
|
|
6264
|
+
const controlSize = useSize(control);
|
|
6265
|
+
React35.useEffect(() => {
|
|
6266
|
+
const input = ref.current;
|
|
6267
|
+
if (!input) return;
|
|
6268
|
+
const inputProto = window.HTMLInputElement.prototype;
|
|
6269
|
+
const descriptor = Object.getOwnPropertyDescriptor(
|
|
6270
|
+
inputProto,
|
|
6271
|
+
"checked"
|
|
6272
|
+
);
|
|
6273
|
+
const setChecked = descriptor.set;
|
|
6274
|
+
if (prevChecked !== checked && setChecked) {
|
|
6275
|
+
const event = new Event("click", { bubbles });
|
|
6276
|
+
setChecked.call(input, checked);
|
|
6277
|
+
input.dispatchEvent(event);
|
|
6278
|
+
}
|
|
6279
|
+
}, [prevChecked, checked, bubbles]);
|
|
6280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
6281
|
+
"input",
|
|
6282
|
+
{
|
|
6283
|
+
type: "checkbox",
|
|
6284
|
+
"aria-hidden": true,
|
|
6285
|
+
defaultChecked: checked,
|
|
6286
|
+
...props,
|
|
6287
|
+
tabIndex: -1,
|
|
6288
|
+
ref: composedRefs,
|
|
6289
|
+
style: {
|
|
6290
|
+
...props.style,
|
|
6291
|
+
...controlSize,
|
|
6292
|
+
position: "absolute",
|
|
6293
|
+
pointerEvents: "none",
|
|
6294
|
+
opacity: 0,
|
|
6295
|
+
margin: 0
|
|
6296
|
+
}
|
|
6297
|
+
}
|
|
6298
|
+
);
|
|
6299
|
+
}
|
|
6300
|
+
);
|
|
6301
|
+
SwitchBubbleInput.displayName = BUBBLE_INPUT_NAME;
|
|
6302
|
+
function getState2(checked) {
|
|
6303
|
+
return checked ? "checked" : "unchecked";
|
|
6304
|
+
}
|
|
6305
|
+
var Root4 = Switch;
|
|
6306
|
+
var Thumb = SwitchThumb;
|
|
6307
|
+
|
|
6308
|
+
// src/libraries/react/components/ui/switch.tsx
|
|
6309
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
6310
|
+
var Switch2 = React36.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
6311
|
+
Root4,
|
|
6312
|
+
{
|
|
6313
|
+
className: cn(
|
|
6314
|
+
"au-peer au-inline-flex au-h-5 au-w-9 au-shrink-0 au-cursor-pointer au-items-center au-rounded-full au-border-2 au-border-transparent au-shadow-sm au-transition-colors focus-visible:au-outline-none focus-visible:au-ring-2 focus-visible:au-ring-ring focus-visible:au-ring-offset-2 focus-visible:au-ring-offset-background au-disabled:cursor-not-allowed au-disabled:opacity-50 data-[state=checked]:au-bg-primary data-[state=unchecked]:au-bg-input",
|
|
6315
|
+
className
|
|
6316
|
+
),
|
|
6317
|
+
...props,
|
|
6318
|
+
ref,
|
|
6319
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
6320
|
+
Thumb,
|
|
6321
|
+
{
|
|
6322
|
+
className: cn(
|
|
6323
|
+
"au-pointer-events-none au-block au-h-4 au-w-4 au-rounded-full au-bg-background au-shadow-lg au-ring-0 au-transition-transform data-[state=checked]:au-translate-x-4 data-[state=unchecked]:au-translate-x-0"
|
|
6324
|
+
)
|
|
6325
|
+
}
|
|
6326
|
+
)
|
|
6327
|
+
}
|
|
6328
|
+
));
|
|
6329
|
+
Switch2.displayName = Root4.displayName;
|
|
6330
|
+
|
|
6331
|
+
// src/libraries/react/components/pricing-table/lib/pricing-table-content.tsx
|
|
6332
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
6333
|
+
|
|
6334
|
+
// src/libraries/react/utils/inject-styles.ts
|
|
6335
|
+
if (typeof document !== "undefined") {
|
|
6336
|
+
const styleId = "au-spinner-keyframes";
|
|
6337
|
+
if (!document.getElementById(styleId)) {
|
|
6338
|
+
const style = document.createElement("style");
|
|
6339
|
+
style.id = styleId;
|
|
6340
|
+
style.textContent = `
|
|
6341
|
+
@keyframes spin {
|
|
6342
|
+
from { transform: rotate(0deg); }
|
|
6343
|
+
to { transform: rotate(360deg); }
|
|
6344
|
+
}
|
|
6345
|
+
`;
|
|
6346
|
+
document.head.appendChild(style);
|
|
6347
|
+
}
|
|
6348
|
+
}
|
|
6349
|
+
|
|
6350
|
+
// src/libraries/react/components/pricing-table/pricing-table-synced.tsx
|
|
6351
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
6352
|
+
var PricingTableContext = (0, import_react12.createContext)({
|
|
6353
|
+
isAnnualToggle: false,
|
|
6354
|
+
setIsAnnualToggle: () => {
|
|
6355
|
+
},
|
|
6356
|
+
products: [],
|
|
6357
|
+
showFeatures: true
|
|
6358
|
+
});
|
|
6359
|
+
var PricingCardButton = import_react11.default.forwardRef(({ recommended, children, className, onClick, ...props }, ref) => {
|
|
6360
|
+
const [loading, setLoading] = (0, import_react12.useState)(false);
|
|
6361
|
+
const handleClick = async (e) => {
|
|
6362
|
+
setLoading(true);
|
|
6363
|
+
try {
|
|
6364
|
+
await onClick?.(e);
|
|
6365
|
+
} catch (error) {
|
|
6366
|
+
console.error(error);
|
|
6367
|
+
} finally {
|
|
6368
|
+
setLoading(false);
|
|
6369
|
+
}
|
|
6370
|
+
};
|
|
6371
|
+
return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
6372
|
+
Button,
|
|
6373
|
+
{
|
|
6374
|
+
className: cn(
|
|
6375
|
+
"au-w-full au-py-3 au-px-4 au-group au-overflow-hidden au-relative au-transition-all au-duration-300 hover:au-brightness-90 au-border au-rounded-lg",
|
|
6376
|
+
className
|
|
6377
|
+
),
|
|
6378
|
+
...props,
|
|
6379
|
+
variant: recommended ? "default" : "secondary",
|
|
6380
|
+
ref,
|
|
6381
|
+
disabled: loading || props.disabled,
|
|
6382
|
+
onClick: handleClick,
|
|
6383
|
+
children: loading ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(LoaderCircle, { className: "au-h-4 au-w-4 au-animate-spin" }) : /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
|
|
6384
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "au-flex au-items-center au-justify-between au-w-full au-transition-transform au-duration-300 group-hover:au-translate-y-[-130%]", children: [
|
|
6385
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { children }),
|
|
6386
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "au-text-sm", children: "\u2192" })
|
|
6387
|
+
] }),
|
|
6388
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "au-flex au-items-center au-justify-between au-w-full au-absolute au-px-4 au-translate-y-[130%] au-transition-transform au-duration-300 group-hover:au-translate-y-0 au-mt-2 group-hover:au-mt-0", children: [
|
|
6389
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { children }),
|
|
6390
|
+
/* @__PURE__ */ (0, import_jsx_runtime20.jsx)("span", { className: "au-text-sm", children: "\u2192" })
|
|
6391
|
+
] })
|
|
6392
|
+
] })
|
|
6393
|
+
}
|
|
6394
|
+
);
|
|
6395
|
+
});
|
|
6396
|
+
PricingCardButton.displayName = "PricingCardButton";
|
|
6397
|
+
|
|
4935
6398
|
// src/libraries/react/components/check-dialog/lib/check-content.tsx
|
|
4936
6399
|
var getCheckContent = (preview) => {
|
|
6400
|
+
if (!preview) {
|
|
6401
|
+
return {
|
|
6402
|
+
title: "Feature Unavailable",
|
|
6403
|
+
message: "This feature is not available for your account."
|
|
6404
|
+
};
|
|
6405
|
+
}
|
|
4937
6406
|
const { scenario, products, feature_name } = preview;
|
|
4938
6407
|
if (products.length == 0) {
|
|
4939
6408
|
switch (scenario) {
|
|
@@ -4978,19 +6447,21 @@ var getCheckContent = (preview) => {
|
|
|
4978
6447
|
};
|
|
4979
6448
|
|
|
4980
6449
|
// src/libraries/react/components/check-dialog/check-dialog-synced.tsx
|
|
4981
|
-
var
|
|
6450
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
4982
6451
|
function CheckDialog(params) {
|
|
4983
|
-
const
|
|
4984
|
-
|
|
4985
|
-
|
|
6452
|
+
const { data: preview } = usePaywall({
|
|
6453
|
+
featureId: params?.featureId,
|
|
6454
|
+
entityId: params?.entityId
|
|
6455
|
+
});
|
|
6456
|
+
if (!params || !preview) {
|
|
6457
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_jsx_runtime21.Fragment, {});
|
|
4986
6458
|
}
|
|
4987
6459
|
const { open, setOpen } = params;
|
|
4988
|
-
const {
|
|
4989
|
-
|
|
4990
|
-
|
|
4991
|
-
/* @__PURE__ */ (0,
|
|
4992
|
-
/* @__PURE__ */ (0,
|
|
4993
|
-
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(DialogFooter, { className: "au-flex au-flex-col sm:au-flex-row au-justify-between au-gap-x-4 au-py-2 au-mt-4 au-pl-6 au-pr-3 au-bg-secondary au-border-t", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
6460
|
+
const { title, message } = getCheckContent(preview);
|
|
6461
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Dialog2, { open, onOpenChange: setOpen, children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(DialogContent2, { className: "au-p-0 au-pt-4 au-gap-0 au-text-foreground au-overflow-hidden au-text-sm", children: [
|
|
6462
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogTitle2, { className: cn("au-font-bold au-text-xl au-px-6"), children: title }),
|
|
6463
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "au-px-6 au-my-2", children: message }),
|
|
6464
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DialogFooter, { className: "au-flex au-flex-col sm:au-flex-row au-justify-between au-gap-x-4 au-py-2 au-mt-4 au-pl-6 au-pr-3 au-bg-secondary au-border-t", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
4994
6465
|
Button,
|
|
4995
6466
|
{
|
|
4996
6467
|
size: "sm",
|
|
@@ -5009,6 +6480,8 @@ lucide-react/dist/esm/shared/src/utils.js:
|
|
|
5009
6480
|
lucide-react/dist/esm/defaultAttributes.js:
|
|
5010
6481
|
lucide-react/dist/esm/Icon.js:
|
|
5011
6482
|
lucide-react/dist/esm/createLucideIcon.js:
|
|
6483
|
+
lucide-react/dist/esm/icons/chevron-down.js:
|
|
6484
|
+
lucide-react/dist/esm/icons/loader-circle.js:
|
|
5012
6485
|
lucide-react/dist/esm/icons/x.js:
|
|
5013
6486
|
lucide-react/dist/esm/lucide-react.js:
|
|
5014
6487
|
(**
|