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.
Files changed (268) hide show
  1. package/dist/libraries/backend/better-auth.d.mts +18 -18
  2. package/dist/libraries/backend/better-auth.d.ts +18 -18
  3. package/dist/libraries/backend/better-auth.js +206 -103
  4. package/dist/libraries/backend/better-auth.mjs +7 -7
  5. package/dist/libraries/backend/{chunk-IOSEAUDJ.mjs → chunk-26E2Z26Q.mjs} +170 -102
  6. package/dist/libraries/backend/{chunk-5EKNB4IJ.mjs → chunk-BV3SY6BB.mjs} +1 -1
  7. package/dist/libraries/backend/{chunk-HHMIVOXX.mjs → chunk-CLW3UTC5.mjs} +36 -1
  8. package/dist/libraries/backend/{chunk-2RZ2FZX2.mjs → chunk-DMHG3POG.mjs} +6 -6
  9. package/dist/libraries/backend/{chunk-5H6HVCOP.mjs → chunk-TWERY4S2.mjs} +1 -1
  10. package/dist/libraries/backend/{chunk-3OLXYDCU.mjs → chunk-XEHT6LRT.mjs} +1 -1
  11. package/dist/libraries/backend/{chunk-K7JGEYUX.mjs → chunk-YTCNYNTM.mjs} +1 -1
  12. package/dist/libraries/backend/convex.js +203 -100
  13. package/dist/libraries/backend/convex.mjs +7 -7
  14. package/dist/libraries/backend/elysia.js +209 -106
  15. package/dist/libraries/backend/elysia.mjs +7 -7
  16. package/dist/libraries/backend/express.d.mts +1 -1
  17. package/dist/libraries/backend/express.d.ts +1 -1
  18. package/dist/libraries/backend/express.js +203 -100
  19. package/dist/libraries/backend/express.mjs +7 -7
  20. package/dist/libraries/backend/fastify.js +203 -100
  21. package/dist/libraries/backend/fastify.mjs +7 -7
  22. package/dist/libraries/backend/hono.js +203 -100
  23. package/dist/libraries/backend/hono.mjs +7 -7
  24. package/dist/libraries/backend/next.js +205 -102
  25. package/dist/libraries/backend/next.mjs +7 -7
  26. package/dist/libraries/backend/react-router.js +203 -100
  27. package/dist/libraries/backend/react-router.mjs +7 -7
  28. package/dist/libraries/backend/{referralTypes-CL2y5hbv.d.mts → referralTypes-CpEs5id9.d.mts} +219 -60
  29. package/dist/libraries/backend/{referralTypes-BpOamxCs.d.ts → referralTypes-PV0SFnx_.d.ts} +219 -60
  30. package/dist/libraries/backend/remix_dep.js +203 -100
  31. package/dist/libraries/backend/remix_dep.mjs +7 -7
  32. package/dist/libraries/backend/routes/backendRouter.js +203 -100
  33. package/dist/libraries/backend/routes/backendRouter.mjs +7 -7
  34. package/dist/libraries/backend/routes/entityRoutes.js +167 -99
  35. package/dist/libraries/backend/routes/entityRoutes.mjs +3 -3
  36. package/dist/libraries/backend/routes/genRoutes.js +202 -99
  37. package/dist/libraries/backend/routes/genRoutes.mjs +3 -3
  38. package/dist/libraries/backend/routes/productRoutes.js +167 -99
  39. package/dist/libraries/backend/routes/productRoutes.mjs +3 -3
  40. package/dist/libraries/backend/routes/referralRoutes.js +167 -99
  41. package/dist/libraries/backend/routes/referralRoutes.mjs +3 -3
  42. package/dist/libraries/backend/supabase.js +203 -100
  43. package/dist/libraries/backend/supabase.mjs +7 -7
  44. package/dist/libraries/backend/tanstack.js +203 -100
  45. package/dist/libraries/backend/tanstack.mjs +7 -7
  46. package/dist/libraries/backend/utils/backendRes.js +167 -99
  47. package/dist/libraries/backend/utils/backendRes.mjs +1 -1
  48. package/dist/libraries/backend/utils/withAuth.d.mts +1 -1
  49. package/dist/libraries/backend/utils/withAuth.d.ts +1 -1
  50. package/dist/libraries/backend/utils/withAuth.js +167 -99
  51. package/dist/libraries/backend/utils/withAuth.mjs +2 -2
  52. package/dist/libraries/react/AutumnContext.d.mts +7 -5
  53. package/dist/libraries/react/AutumnContext.d.ts +7 -5
  54. package/dist/libraries/react/AutumnContext.js +175 -100
  55. package/dist/libraries/react/AutumnContext.mjs +4 -3
  56. package/dist/libraries/react/BaseAutumnProvider.d.mts +6 -5
  57. package/dist/libraries/react/BaseAutumnProvider.d.ts +6 -5
  58. package/dist/libraries/react/BaseAutumnProvider.js +327 -203
  59. package/dist/libraries/react/BaseAutumnProvider.mjs +10 -9
  60. package/dist/libraries/react/{ReactAutumnClient-BjRiaYDN.d.mts → ReactAutumnClient-C4CPCKrp.d.mts} +12 -7
  61. package/dist/libraries/react/{ReactAutumnClient-O2XzkzGM.d.ts → ReactAutumnClient-Cf3-brZx.d.ts} +12 -7
  62. package/dist/libraries/react/ReactAutumnProvider.d.mts +2 -1
  63. package/dist/libraries/react/ReactAutumnProvider.d.ts +2 -1
  64. package/dist/libraries/react/ReactAutumnProvider.js +327 -203
  65. package/dist/libraries/react/ReactAutumnProvider.mjs +11 -10
  66. package/dist/{next/client/attachTypes-DZlF8AAj.d.mts → libraries/react/attachTypes-BKzcsvuA.d.ts} +7 -7
  67. package/dist/libraries/react/{attachTypes-1Dbkyo_d.d.ts → attachTypes-C1BZ4HNs.d.mts} +3 -3
  68. package/dist/libraries/react/{chunk-7DINVACK.mjs → chunk-2FMO4MDR.mjs} +2 -2
  69. package/dist/libraries/react/chunk-2H7G6M6Z.mjs +44 -0
  70. package/dist/libraries/react/{chunk-6RNG47NV.mjs → chunk-3GZZXL6J.mjs} +21 -11
  71. package/dist/libraries/react/chunk-3LLAOCW3.mjs +136 -0
  72. package/dist/libraries/react/{chunk-253MTZP3.mjs → chunk-BCLKTVUX.mjs} +7 -1
  73. package/dist/libraries/react/{chunk-KJLHVBV4.mjs → chunk-CQD37NSX.mjs} +16 -58
  74. package/dist/libraries/react/{chunk-2PVRCDDK.mjs → chunk-D3GL2QV3.mjs} +240 -381
  75. package/dist/libraries/react/{chunk-4CHWEUKX.mjs → chunk-FE5GYL7P.mjs} +2 -2
  76. package/dist/libraries/react/{chunk-MY2ODATB.mjs → chunk-HBCCTYA6.mjs} +6 -0
  77. package/dist/libraries/react/{chunk-XXGKLOAK.mjs → chunk-K7IJMDIV.mjs} +17 -3
  78. package/dist/libraries/react/{chunk-OEIUKLFH.mjs → chunk-MIITU3Q2.mjs} +37 -22
  79. package/dist/libraries/react/chunk-MS4UEBVX.mjs +223 -0
  80. package/dist/libraries/react/{chunk-OTYSAMRH.mjs → chunk-OXPO56ZD.mjs} +9 -4
  81. package/dist/libraries/react/chunk-PDCSW5VX.mjs +46 -0
  82. package/dist/libraries/react/{chunk-4QPHNIQ7.mjs → chunk-RFSQBGLO.mjs} +1 -1
  83. package/dist/libraries/react/{chunk-3XJ7NFT2.mjs → chunk-RMR7LP6D.mjs} +57 -23
  84. package/dist/libraries/react/{chunk-DRAIZ3UZ.mjs → chunk-T4Z5BKOW.mjs} +3 -3
  85. package/dist/libraries/react/{chunk-OM3ROIZO.mjs → chunk-TL2F3PPG.mjs} +2 -10
  86. package/dist/libraries/react/{chunk-LXD6AEZW.mjs → chunk-V2XCEJ4T.mjs} +3 -2
  87. package/dist/libraries/react/client/ReactAutumnClient.d.mts +6 -5
  88. package/dist/libraries/react/client/ReactAutumnClient.d.ts +6 -5
  89. package/dist/libraries/react/client/ReactAutumnClient.js +173 -99
  90. package/dist/libraries/react/client/ReactAutumnClient.mjs +3 -2
  91. package/dist/libraries/react/client/clientCompMethods.d.mts +6 -5
  92. package/dist/libraries/react/client/clientCompMethods.d.ts +6 -5
  93. package/dist/libraries/react/client/clientCusMethods.d.mts +6 -5
  94. package/dist/libraries/react/client/clientCusMethods.d.ts +6 -5
  95. package/dist/libraries/react/client/clientEntityMethods.d.mts +7 -6
  96. package/dist/libraries/react/client/clientEntityMethods.d.ts +7 -6
  97. package/dist/libraries/react/client/clientGenMethods.d.mts +9 -7
  98. package/dist/libraries/react/client/clientGenMethods.d.ts +9 -7
  99. package/dist/libraries/react/client/clientGenMethods.js +7 -0
  100. package/dist/libraries/react/client/clientGenMethods.mjs +3 -1
  101. package/dist/libraries/react/client/clientProdMethods.d.mts +6 -5
  102. package/dist/libraries/react/client/clientProdMethods.d.ts +6 -5
  103. package/dist/libraries/react/client/clientReferralMethods.d.mts +7 -6
  104. package/dist/libraries/react/client/clientReferralMethods.d.ts +7 -6
  105. package/dist/libraries/react/client/types/clientGenTypes.d.mts +12 -1
  106. package/dist/libraries/react/client/types/clientGenTypes.d.ts +12 -1
  107. package/dist/libraries/react/client/types/clientGenTypes.js +687 -25
  108. package/dist/libraries/react/client/types/clientGenTypes.mjs +8 -0
  109. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.mts +2 -2
  110. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.ts +2 -2
  111. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.js +354 -238
  112. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.mjs +26 -25
  113. package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.mts +2 -2
  114. package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.ts +2 -2
  115. package/dist/libraries/react/components/check-dialog/check-dialog-synced.css +1539 -0
  116. package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.mts +2 -3
  117. package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.ts +2 -3
  118. package/dist/libraries/react/components/check-dialog/check-dialog-synced.js +1489 -16
  119. package/dist/libraries/react/components/check-dialog/check-dialog-synced.mjs +36 -4
  120. package/dist/libraries/react/components/check-dialog/lib/check-content.d.mts +2 -2
  121. package/dist/libraries/react/components/check-dialog/lib/check-content.d.ts +2 -2
  122. package/dist/libraries/react/components/check-dialog/lib/check-content.js +6 -0
  123. package/dist/libraries/react/components/check-dialog/lib/check-content.mjs +1 -1
  124. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.mts +1 -1
  125. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.ts +1 -1
  126. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +1 -1
  127. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +1 -1
  128. package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +519 -399
  129. package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +26 -25
  130. package/dist/libraries/react/components/ui/dialog.mjs +2 -2
  131. package/dist/libraries/react/cusTypes-DG6zrQYk.d.ts +179 -0
  132. package/dist/libraries/react/cusTypes-DmFGAdnp.d.mts +179 -0
  133. package/dist/libraries/react/entTypes-BbmxlLGb.d.mts +31 -0
  134. package/dist/libraries/react/entTypes-DG9rJhum.d.ts +31 -0
  135. package/dist/libraries/react/{response-C7P_oYqV.d.ts → genTypes-CHD2Kdqf.d.ts} +12 -19
  136. package/dist/libraries/react/{response-dnzFyX91.d.mts → genTypes-CHerQ_Ka.d.mts} +12 -19
  137. package/dist/libraries/react/hooks/helpers/handleCheck.d.mts +31 -0
  138. package/dist/libraries/react/hooks/helpers/handleCheck.d.ts +31 -0
  139. package/dist/libraries/react/hooks/helpers/handleCheck.js +813 -0
  140. package/dist/libraries/react/hooks/helpers/handleCheck.mjs +11 -0
  141. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.mts +41 -0
  142. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.ts +41 -0
  143. package/dist/libraries/react/hooks/helpers/useAutumnBase.js +1024 -0
  144. package/dist/libraries/react/hooks/helpers/useAutumnBase.mjs +10 -0
  145. package/dist/libraries/react/hooks/{useDialog.js → helpers/useDialog.js} +1 -1
  146. package/dist/libraries/react/hooks/{useDialog.mjs → helpers/useDialog.mjs} +1 -1
  147. package/dist/libraries/react/hooks/useAnalytics.d.mts +19 -0
  148. package/dist/libraries/react/hooks/useAnalytics.d.ts +19 -0
  149. package/dist/libraries/react/hooks/{useAutumnBase.js → useAnalytics.js} +192 -465
  150. package/dist/libraries/react/hooks/{useAutumnBase.mjs → useAnalytics.mjs} +7 -7
  151. package/dist/libraries/react/hooks/useCustomer.d.mts +8 -6
  152. package/dist/libraries/react/hooks/useCustomer.d.ts +8 -6
  153. package/dist/libraries/react/hooks/useCustomer.js +309 -199
  154. package/dist/libraries/react/hooks/useCustomer.mjs +9 -8
  155. package/dist/libraries/react/hooks/useCustomerBase.d.mts +11 -9
  156. package/dist/libraries/react/hooks/useCustomerBase.d.ts +11 -9
  157. package/dist/libraries/react/hooks/useCustomerBase.js +309 -199
  158. package/dist/libraries/react/hooks/useCustomerBase.mjs +8 -7
  159. package/dist/libraries/react/hooks/useEntity.d.mts +10 -11
  160. package/dist/libraries/react/hooks/useEntity.d.ts +10 -11
  161. package/dist/libraries/react/hooks/useEntity.js +291 -189
  162. package/dist/libraries/react/hooks/useEntity.mjs +9 -8
  163. package/dist/libraries/react/hooks/useEntityBase.d.mts +12 -13
  164. package/dist/libraries/react/hooks/useEntityBase.d.ts +12 -13
  165. package/dist/libraries/react/hooks/useEntityBase.js +331 -229
  166. package/dist/libraries/react/hooks/useEntityBase.mjs +8 -7
  167. package/dist/libraries/react/hooks/usePaywall.d.mts +13 -0
  168. package/dist/libraries/react/hooks/usePaywall.d.ts +13 -0
  169. package/dist/libraries/react/hooks/{useAutumn.js → usePaywall.js} +202 -479
  170. package/dist/libraries/react/hooks/{useAutumn.mjs → usePaywall.mjs} +7 -8
  171. package/dist/libraries/react/hooks/usePricingTable.d.mts +1 -1
  172. package/dist/libraries/react/hooks/usePricingTable.d.ts +1 -1
  173. package/dist/libraries/react/hooks/usePricingTable.js +367 -293
  174. package/dist/libraries/react/hooks/usePricingTable.mjs +6 -5
  175. package/dist/libraries/react/hooks/usePricingTableBase.d.mts +8 -9
  176. package/dist/libraries/react/hooks/usePricingTableBase.d.ts +8 -9
  177. package/dist/libraries/react/hooks/usePricingTableBase.js +167 -467
  178. package/dist/libraries/react/hooks/usePricingTableBase.mjs +2 -12
  179. package/dist/libraries/react/hooks/useProductsBase.d.mts +18 -1
  180. package/dist/libraries/react/hooks/useProductsBase.d.ts +18 -1
  181. package/dist/libraries/react/hooks/useProductsBase.js +11 -947
  182. package/dist/libraries/react/hooks/useProductsBase.mjs +10 -19
  183. package/dist/libraries/react/index.d.mts +213 -53
  184. package/dist/libraries/react/index.d.ts +213 -53
  185. package/dist/libraries/react/index.js +628 -419
  186. package/dist/libraries/react/index.mjs +606 -399
  187. package/dist/libraries/react/prodTypes-Mrr6azoz.d.mts +236 -0
  188. package/dist/libraries/react/prodTypes-Mrr6azoz.d.ts +236 -0
  189. package/dist/next/{AutumnProvider-BKgOhoik.d.mts → AutumnProvider-BGyIGvAS.d.mts} +167 -31
  190. package/dist/next/{AutumnProvider-BKgOhoik.d.ts → AutumnProvider-BGyIGvAS.d.ts} +167 -31
  191. package/dist/next/AutumnProvider.d.mts +1 -1
  192. package/dist/next/AutumnProvider.d.ts +1 -1
  193. package/dist/next/client/NextAutumnClient.d.mts +9 -4
  194. package/dist/next/client/NextAutumnClient.d.ts +9 -4
  195. package/dist/next/client/NextAutumnProvider.d.mts +2 -1
  196. package/dist/next/client/NextAutumnProvider.d.ts +2 -1
  197. package/dist/{libraries/react/attachTypes-DoFoPh8g.d.mts → next/client/attachTypes-DJ4Lz7dN.d.ts} +5 -5
  198. package/dist/next/client/{attachTypes-CJ7OSUSn.d.ts → attachTypes-Hja4wFD-.d.mts} +1 -1
  199. package/dist/next/client/{clientAttachTypes-D84PT2G0.d.mts → clientAttachTypes-Dde-B-ga.d.mts} +9 -2
  200. package/dist/next/client/{clientAttachTypes-D0_L-cnv.d.ts → clientAttachTypes-SPRZ0-u3.d.ts} +9 -2
  201. package/dist/next/client/clientUtils.d.mts +3 -2
  202. package/dist/next/client/clientUtils.d.ts +3 -2
  203. package/dist/next/client/cusTypes-CGQNbPsC.d.ts +179 -0
  204. package/dist/next/client/cusTypes-CkonzuMA.d.mts +179 -0
  205. package/dist/next/client/{entTypes-C-7Uoct9.d.ts → entTypes-BYx5xBXO.d.ts} +1 -1
  206. package/dist/next/client/{entTypes-CXGgMuHO.d.mts → entTypes-DzTUirPM.d.mts} +1 -1
  207. package/dist/next/client/hooks/useAutumn.d.mts +6 -6
  208. package/dist/next/client/hooks/useAutumn.d.ts +6 -6
  209. package/dist/next/client/hooks/useAutumn.js +10 -3
  210. package/dist/next/client/hooks/useAutumn.mjs +10 -3
  211. package/dist/next/client/hooks/useCustomer.d.mts +13 -7
  212. package/dist/next/client/hooks/useCustomer.d.ts +13 -7
  213. package/dist/next/client/hooks/useEntity.d.mts +7 -8
  214. package/dist/next/client/hooks/useEntity.d.ts +7 -8
  215. package/dist/next/client/hooks/usePricingTable.d.mts +1 -1
  216. package/dist/next/client/hooks/usePricingTable.d.ts +1 -1
  217. package/dist/next/client/hooks/usePricingTable.js +6 -2
  218. package/dist/next/client/hooks/usePricingTable.mjs +6 -2
  219. package/dist/next/client/prodTypes-CCk7TL_t.d.mts +227 -0
  220. package/dist/next/client/prodTypes-CCk7TL_t.d.ts +227 -0
  221. package/dist/next/client/types.d.mts +3 -2
  222. package/dist/next/client/types.d.ts +3 -2
  223. package/dist/next/index.d.mts +34 -24
  224. package/dist/next/index.d.ts +34 -24
  225. package/dist/next/server/auth/withNextAuth.d.mts +1 -1
  226. package/dist/next/server/auth/withNextAuth.d.ts +1 -1
  227. package/dist/next/server/componentActions.d.mts +1 -1
  228. package/dist/next/server/componentActions.d.ts +1 -1
  229. package/dist/next/server/cusActions.d.mts +36 -13
  230. package/dist/next/server/cusActions.d.ts +36 -13
  231. package/dist/next/server/{cusTypes-_GDUnrai.d.mts → cusTypes-d13IMtrx.d.mts} +169 -33
  232. package/dist/next/server/{cusTypes-_GDUnrai.d.ts → cusTypes-d13IMtrx.d.ts} +169 -33
  233. package/dist/next/server/genActions.d.mts +1 -1
  234. package/dist/next/server/genActions.d.ts +1 -1
  235. package/dist/sdk/index.d.mts +193 -24
  236. package/dist/sdk/index.d.ts +193 -24
  237. package/dist/sdk/index.js +111 -56
  238. package/dist/sdk/index.mjs +108 -57
  239. package/dist/utils/encryptUtils.js +167 -99
  240. package/dist/utils/encryptUtils.mjs +167 -99
  241. package/package.json +3 -2
  242. package/tsup.config.ts +1 -11
  243. package/dist/compose/index.d.mts +0 -175
  244. package/dist/compose/index.d.ts +0 -175
  245. package/dist/compose/index.js +0 -78
  246. package/dist/compose/index.mjs +0 -47
  247. package/dist/libraries/react/chunk-3JJC2VU5.mjs +0 -67
  248. package/dist/libraries/react/chunk-KDD5RMQ3.mjs +0 -17
  249. package/dist/libraries/react/chunk-PC6V4RE7.mjs +0 -49
  250. package/dist/libraries/react/cusTypes-COIU0NG3.d.mts +0 -266
  251. package/dist/libraries/react/cusTypes-COIU0NG3.d.ts +0 -266
  252. package/dist/libraries/react/entTypes-BVPtpycG.d.mts +0 -17
  253. package/dist/libraries/react/entTypes-Ck3_WfOz.d.ts +0 -17
  254. package/dist/libraries/react/hooks/handleAllowed.d.mts +0 -15
  255. package/dist/libraries/react/hooks/handleAllowed.d.ts +0 -15
  256. package/dist/libraries/react/hooks/handleAllowed.js +0 -90
  257. package/dist/libraries/react/hooks/handleAllowed.mjs +0 -8
  258. package/dist/libraries/react/hooks/useAutumn.d.mts +0 -35
  259. package/dist/libraries/react/hooks/useAutumn.d.ts +0 -35
  260. package/dist/libraries/react/hooks/useAutumnBase.d.mts +0 -40
  261. package/dist/libraries/react/hooks/useAutumnBase.d.ts +0 -40
  262. package/dist/next/client/cusTypes-DT2ujoSl.d.mts +0 -266
  263. package/dist/next/client/cusTypes-DT2ujoSl.d.ts +0 -266
  264. package/dist/next/client/handleAllowed-B8TBAzfI.d.mts +0 -7
  265. package/dist/next/client/handleAllowed-B8TBAzfI.d.ts +0 -7
  266. package/dist/libraries/react/{chunk-JPLUWGH4.mjs → chunk-W5N4PVQU.mjs} +3 -3
  267. /package/dist/libraries/react/hooks/{useDialog.d.mts → helpers/useDialog.d.mts} +0 -0
  268. /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 handleEvent(event) {
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 __iconNode = [
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", __iconNode);
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 import_jsx_runtime10 = require("react/jsx-runtime");
6450
+ var import_jsx_runtime21 = require("react/jsx-runtime");
4982
6451
  function CheckDialog(params) {
4983
- const [loading] = (0, import_react4.useState)(false);
4984
- if (!params || !params.preview) {
4985
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_jsx_runtime10.Fragment, {});
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 { products } = params.preview;
4989
- const { title, message } = getCheckContent(params.preview);
4990
- return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(Dialog2, { open, onOpenChange: setOpen, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(DialogContent2, { className: "au-p-0 au-pt-4 au-gap-0 au-text-foreground au-overflow-hidden au-text-sm", children: [
4991
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(DialogTitle2, { className: cn("au-font-bold au-text-xl au-px-6"), children: title }),
4992
- /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "au-px-6 au-my-2", children: message }),
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
  (**