autumn-js 0.0.108 → 0.0.109

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 (270) 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-2H7G6M6Z.mjs +44 -0
  69. package/dist/libraries/react/chunk-3LLAOCW3.mjs +136 -0
  70. package/dist/libraries/react/{chunk-253MTZP3.mjs → chunk-BCLKTVUX.mjs} +7 -1
  71. package/dist/libraries/react/{chunk-6RNG47NV.mjs → chunk-BF36ZT6M.mjs} +12 -11
  72. package/dist/libraries/react/{chunk-KJLHVBV4.mjs → chunk-CQD37NSX.mjs} +16 -58
  73. package/dist/libraries/react/{chunk-2PVRCDDK.mjs → chunk-D3GL2QV3.mjs} +240 -381
  74. package/dist/libraries/react/{chunk-4CHWEUKX.mjs → chunk-FE5GYL7P.mjs} +2 -2
  75. package/dist/libraries/react/{chunk-MY2ODATB.mjs → chunk-HBCCTYA6.mjs} +6 -0
  76. package/dist/libraries/react/{chunk-XXGKLOAK.mjs → chunk-K7IJMDIV.mjs} +17 -3
  77. package/dist/libraries/react/{chunk-OEIUKLFH.mjs → chunk-MIITU3Q2.mjs} +37 -22
  78. package/dist/libraries/react/chunk-MS4UEBVX.mjs +223 -0
  79. package/dist/libraries/react/{chunk-OTYSAMRH.mjs → chunk-OXPO56ZD.mjs} +9 -4
  80. package/dist/libraries/react/chunk-PDCSW5VX.mjs +46 -0
  81. package/dist/libraries/react/{chunk-4QPHNIQ7.mjs → chunk-RFSQBGLO.mjs} +1 -1
  82. package/dist/libraries/react/{chunk-DRAIZ3UZ.mjs → chunk-T4Z5BKOW.mjs} +3 -3
  83. package/dist/libraries/react/{chunk-OM3ROIZO.mjs → chunk-TL2F3PPG.mjs} +2 -10
  84. package/dist/libraries/react/{chunk-LXD6AEZW.mjs → chunk-V2XCEJ4T.mjs} +3 -2
  85. package/dist/libraries/react/{chunk-3XJ7NFT2.mjs → chunk-VAWI6RK6.mjs} +51 -17
  86. package/dist/libraries/react/{chunk-7DINVACK.mjs → chunk-WSB47D4U.mjs} +2 -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 +24 -23
  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 +24 -23
  130. package/dist/libraries/react/components/ui/button.d.mts +1 -1
  131. package/dist/libraries/react/components/ui/button.d.ts +1 -1
  132. package/dist/libraries/react/components/ui/dialog.mjs +2 -2
  133. package/dist/libraries/react/cusTypes-DG6zrQYk.d.ts +179 -0
  134. package/dist/libraries/react/cusTypes-DmFGAdnp.d.mts +179 -0
  135. package/dist/libraries/react/entTypes-BbmxlLGb.d.mts +31 -0
  136. package/dist/libraries/react/entTypes-DG9rJhum.d.ts +31 -0
  137. package/dist/libraries/react/{response-C7P_oYqV.d.ts → genTypes-CHD2Kdqf.d.ts} +12 -19
  138. package/dist/libraries/react/{response-dnzFyX91.d.mts → genTypes-CHerQ_Ka.d.mts} +12 -19
  139. package/dist/libraries/react/hooks/helpers/handleCheck.d.mts +31 -0
  140. package/dist/libraries/react/hooks/helpers/handleCheck.d.ts +31 -0
  141. package/dist/libraries/react/hooks/helpers/handleCheck.js +813 -0
  142. package/dist/libraries/react/hooks/helpers/handleCheck.mjs +11 -0
  143. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.mts +41 -0
  144. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.ts +41 -0
  145. package/dist/libraries/react/hooks/helpers/useAutumnBase.js +1024 -0
  146. package/dist/libraries/react/hooks/helpers/useAutumnBase.mjs +10 -0
  147. package/dist/libraries/react/hooks/{useDialog.js → helpers/useDialog.js} +1 -1
  148. package/dist/libraries/react/hooks/{useDialog.mjs → helpers/useDialog.mjs} +1 -1
  149. package/dist/libraries/react/hooks/useAnalytics.d.mts +19 -0
  150. package/dist/libraries/react/hooks/useAnalytics.d.ts +19 -0
  151. package/dist/libraries/react/hooks/{useAutumnBase.js → useAnalytics.js} +192 -465
  152. package/dist/libraries/react/hooks/{useAutumnBase.mjs → useAnalytics.mjs} +7 -7
  153. package/dist/libraries/react/hooks/useCustomer.d.mts +8 -6
  154. package/dist/libraries/react/hooks/useCustomer.d.ts +8 -6
  155. package/dist/libraries/react/hooks/useCustomer.js +309 -199
  156. package/dist/libraries/react/hooks/useCustomer.mjs +9 -8
  157. package/dist/libraries/react/hooks/useCustomerBase.d.mts +11 -9
  158. package/dist/libraries/react/hooks/useCustomerBase.d.ts +11 -9
  159. package/dist/libraries/react/hooks/useCustomerBase.js +309 -199
  160. package/dist/libraries/react/hooks/useCustomerBase.mjs +8 -7
  161. package/dist/libraries/react/hooks/useEntity.d.mts +10 -11
  162. package/dist/libraries/react/hooks/useEntity.d.ts +10 -11
  163. package/dist/libraries/react/hooks/useEntity.js +260 -189
  164. package/dist/libraries/react/hooks/useEntity.mjs +9 -8
  165. package/dist/libraries/react/hooks/useEntityBase.d.mts +12 -13
  166. package/dist/libraries/react/hooks/useEntityBase.d.ts +12 -13
  167. package/dist/libraries/react/hooks/useEntityBase.js +300 -229
  168. package/dist/libraries/react/hooks/useEntityBase.mjs +8 -7
  169. package/dist/libraries/react/hooks/usePaywall.d.mts +13 -0
  170. package/dist/libraries/react/hooks/usePaywall.d.ts +13 -0
  171. package/dist/libraries/react/hooks/{useAutumn.js → usePaywall.js} +202 -479
  172. package/dist/libraries/react/hooks/{useAutumn.mjs → usePaywall.mjs} +7 -8
  173. package/dist/libraries/react/hooks/usePricingTable.d.mts +1 -1
  174. package/dist/libraries/react/hooks/usePricingTable.d.ts +1 -1
  175. package/dist/libraries/react/hooks/usePricingTable.js +367 -293
  176. package/dist/libraries/react/hooks/usePricingTable.mjs +6 -5
  177. package/dist/libraries/react/hooks/usePricingTableBase.d.mts +8 -9
  178. package/dist/libraries/react/hooks/usePricingTableBase.d.ts +8 -9
  179. package/dist/libraries/react/hooks/usePricingTableBase.js +167 -467
  180. package/dist/libraries/react/hooks/usePricingTableBase.mjs +2 -12
  181. package/dist/libraries/react/hooks/useProductsBase.d.mts +18 -1
  182. package/dist/libraries/react/hooks/useProductsBase.d.ts +18 -1
  183. package/dist/libraries/react/hooks/useProductsBase.js +11 -947
  184. package/dist/libraries/react/hooks/useProductsBase.mjs +10 -19
  185. package/dist/libraries/react/index.d.mts +213 -53
  186. package/dist/libraries/react/index.d.ts +213 -53
  187. package/dist/libraries/react/index.js +620 -419
  188. package/dist/libraries/react/index.mjs +598 -399
  189. package/dist/libraries/react/prodTypes-Mrr6azoz.d.mts +236 -0
  190. package/dist/libraries/react/prodTypes-Mrr6azoz.d.ts +236 -0
  191. package/dist/next/{AutumnProvider-BKgOhoik.d.mts → AutumnProvider-BGyIGvAS.d.mts} +167 -31
  192. package/dist/next/{AutumnProvider-BKgOhoik.d.ts → AutumnProvider-BGyIGvAS.d.ts} +167 -31
  193. package/dist/next/AutumnProvider.d.mts +1 -1
  194. package/dist/next/AutumnProvider.d.ts +1 -1
  195. package/dist/next/client/NextAutumnClient.d.mts +9 -4
  196. package/dist/next/client/NextAutumnClient.d.ts +9 -4
  197. package/dist/next/client/NextAutumnProvider.d.mts +2 -1
  198. package/dist/next/client/NextAutumnProvider.d.ts +2 -1
  199. package/dist/{libraries/react/attachTypes-DoFoPh8g.d.mts → next/client/attachTypes-DJ4Lz7dN.d.ts} +5 -5
  200. package/dist/next/client/{attachTypes-CJ7OSUSn.d.ts → attachTypes-Hja4wFD-.d.mts} +1 -1
  201. package/dist/next/client/{clientAttachTypes-D84PT2G0.d.mts → clientAttachTypes-Dde-B-ga.d.mts} +9 -2
  202. package/dist/next/client/{clientAttachTypes-D0_L-cnv.d.ts → clientAttachTypes-SPRZ0-u3.d.ts} +9 -2
  203. package/dist/next/client/clientUtils.d.mts +3 -2
  204. package/dist/next/client/clientUtils.d.ts +3 -2
  205. package/dist/next/client/cusTypes-CGQNbPsC.d.ts +179 -0
  206. package/dist/next/client/cusTypes-CkonzuMA.d.mts +179 -0
  207. package/dist/next/client/{entTypes-C-7Uoct9.d.ts → entTypes-BYx5xBXO.d.ts} +1 -1
  208. package/dist/next/client/{entTypes-CXGgMuHO.d.mts → entTypes-DzTUirPM.d.mts} +1 -1
  209. package/dist/next/client/hooks/useAutumn.d.mts +6 -6
  210. package/dist/next/client/hooks/useAutumn.d.ts +6 -6
  211. package/dist/next/client/hooks/useAutumn.js +10 -3
  212. package/dist/next/client/hooks/useAutumn.mjs +10 -3
  213. package/dist/next/client/hooks/useCustomer.d.mts +13 -7
  214. package/dist/next/client/hooks/useCustomer.d.ts +13 -7
  215. package/dist/next/client/hooks/useEntity.d.mts +7 -8
  216. package/dist/next/client/hooks/useEntity.d.ts +7 -8
  217. package/dist/next/client/hooks/usePricingTable.d.mts +1 -1
  218. package/dist/next/client/hooks/usePricingTable.d.ts +1 -1
  219. package/dist/next/client/hooks/usePricingTable.js +6 -2
  220. package/dist/next/client/hooks/usePricingTable.mjs +6 -2
  221. package/dist/next/client/prodTypes-CCk7TL_t.d.mts +227 -0
  222. package/dist/next/client/prodTypes-CCk7TL_t.d.ts +227 -0
  223. package/dist/next/client/types.d.mts +3 -2
  224. package/dist/next/client/types.d.ts +3 -2
  225. package/dist/next/index.d.mts +34 -24
  226. package/dist/next/index.d.ts +34 -24
  227. package/dist/next/server/auth/withNextAuth.d.mts +1 -1
  228. package/dist/next/server/auth/withNextAuth.d.ts +1 -1
  229. package/dist/next/server/componentActions.d.mts +1 -1
  230. package/dist/next/server/componentActions.d.ts +1 -1
  231. package/dist/next/server/cusActions.d.mts +24 -1
  232. package/dist/next/server/cusActions.d.ts +24 -1
  233. package/dist/next/server/{cusTypes-_GDUnrai.d.mts → cusTypes-BpoYhIJ2.d.mts} +168 -32
  234. package/dist/next/server/{cusTypes-_GDUnrai.d.ts → cusTypes-BpoYhIJ2.d.ts} +168 -32
  235. package/dist/next/server/genActions.d.mts +1 -1
  236. package/dist/next/server/genActions.d.ts +1 -1
  237. package/dist/sdk/index.d.mts +193 -24
  238. package/dist/sdk/index.d.ts +193 -24
  239. package/dist/sdk/index.js +111 -56
  240. package/dist/sdk/index.mjs +108 -57
  241. package/dist/utils/encryptUtils.js +167 -99
  242. package/dist/utils/encryptUtils.mjs +167 -99
  243. package/package.json +3 -2
  244. package/tsup.config.ts +1 -11
  245. package/dist/compose/index.d.mts +0 -175
  246. package/dist/compose/index.d.ts +0 -175
  247. package/dist/compose/index.js +0 -78
  248. package/dist/compose/index.mjs +0 -47
  249. package/dist/libraries/react/chunk-3JJC2VU5.mjs +0 -67
  250. package/dist/libraries/react/chunk-KDD5RMQ3.mjs +0 -17
  251. package/dist/libraries/react/chunk-PC6V4RE7.mjs +0 -49
  252. package/dist/libraries/react/cusTypes-COIU0NG3.d.mts +0 -266
  253. package/dist/libraries/react/cusTypes-COIU0NG3.d.ts +0 -266
  254. package/dist/libraries/react/entTypes-BVPtpycG.d.mts +0 -17
  255. package/dist/libraries/react/entTypes-Ck3_WfOz.d.ts +0 -17
  256. package/dist/libraries/react/hooks/handleAllowed.d.mts +0 -15
  257. package/dist/libraries/react/hooks/handleAllowed.d.ts +0 -15
  258. package/dist/libraries/react/hooks/handleAllowed.js +0 -90
  259. package/dist/libraries/react/hooks/handleAllowed.mjs +0 -8
  260. package/dist/libraries/react/hooks/useAutumn.d.mts +0 -35
  261. package/dist/libraries/react/hooks/useAutumn.d.ts +0 -35
  262. package/dist/libraries/react/hooks/useAutumnBase.d.mts +0 -40
  263. package/dist/libraries/react/hooks/useAutumnBase.d.ts +0 -40
  264. package/dist/next/client/cusTypes-DT2ujoSl.d.mts +0 -266
  265. package/dist/next/client/cusTypes-DT2ujoSl.d.ts +0 -266
  266. package/dist/next/client/handleAllowed-B8TBAzfI.d.mts +0 -7
  267. package/dist/next/client/handleAllowed-B8TBAzfI.d.ts +0 -7
  268. package/dist/libraries/react/{chunk-JPLUWGH4.mjs → chunk-W5N4PVQU.mjs} +3 -3
  269. /package/dist/libraries/react/hooks/{useDialog.d.mts → helpers/useDialog.d.mts} +0 -0
  270. /package/dist/libraries/react/hooks/{useDialog.d.ts → helpers/useDialog.d.ts} +0 -0
@@ -36,9 +36,10 @@ __export(BaseAutumnProvider_exports, {
36
36
  BaseAutumnProvider: () => BaseAutumnProvider
37
37
  });
38
38
  module.exports = __toCommonJS(BaseAutumnProvider_exports);
39
- var import_react3 = require("react");
39
+ var import_react4 = require("react");
40
+ var import_react5 = require("react");
40
41
 
41
- // src/libraries/react/hooks/useDialog.tsx
42
+ // src/libraries/react/hooks/helpers/useDialog.tsx
42
43
  var import_react = require("react");
43
44
  var useDialog = (component) => {
44
45
  const [dialogProps, setDialogProps] = (0, import_react.useState)(null);
@@ -55,6 +56,7 @@ var useDialog = (component) => {
55
56
 
56
57
  // src/libraries/react/hooks/useCustomerBase.tsx
57
58
  var import_swr2 = __toESM(require("swr"));
59
+ var import_react3 = require("react");
58
60
 
59
61
  // src/libraries/react/errorUtils/logAuthError.ts
60
62
  var logAuthError = async (response) => {
@@ -141,6 +143,12 @@ var handleCheck = async ({
141
143
  }) => {
142
144
  return instance.post("/check", params);
143
145
  };
146
+ var handleQuery = async ({
147
+ instance,
148
+ params
149
+ }) => {
150
+ return instance.post("/query", params);
151
+ };
144
152
 
145
153
  // src/libraries/backend/constants.ts
146
154
  var autumnApiUrl = "https://api.useautumn.com/v1";
@@ -518,60 +526,32 @@ var Autumn = class {
518
526
  params
519
527
  });
520
528
  }
529
+ static query = (params) => staticWrapper(handleQuery, void 0, { params });
530
+ async query(params) {
531
+ return handleQuery({
532
+ instance: this,
533
+ params
534
+ });
535
+ }
521
536
  };
522
537
 
523
- // src/sdk/customers/entities/entTypes.ts
524
- var import_zod = require("zod");
525
- var EntityDataSchema = import_zod.z.object({
526
- name: import_zod.z.string().optional(),
527
- feature_id: import_zod.z.string()
528
- });
529
-
530
- // src/sdk/general/genTypes.ts
531
- var import_zod2 = require("zod");
532
- var CancelParamsSchema = import_zod2.z.object({
533
- customer_id: import_zod2.z.string(),
534
- product_id: import_zod2.z.string(),
535
- entity_id: import_zod2.z.string().optional(),
536
- cancel_immediately: import_zod2.z.boolean().optional()
537
- });
538
- var CancelResultSchema = import_zod2.z.object({
539
- success: import_zod2.z.boolean(),
540
- customer_id: import_zod2.z.string(),
541
- product_id: import_zod2.z.string()
542
- });
543
- var TrackParamsSchema = import_zod2.z.object({
544
- customer_id: import_zod2.z.string(),
545
- value: import_zod2.z.number().optional(),
546
- feature_id: import_zod2.z.string().optional(),
547
- event_name: import_zod2.z.string().optional(),
548
- entity_id: import_zod2.z.string().optional(),
549
- customer_data: import_zod2.z.any().optional(),
550
- idempotency_key: import_zod2.z.string().optional(),
551
- entity_data: import_zod2.z.any().optional()
552
- });
553
- var TrackResultSchema = import_zod2.z.object({
554
- id: import_zod2.z.string(),
555
- code: import_zod2.z.string(),
556
- customer_id: import_zod2.z.string(),
557
- feature_id: import_zod2.z.string().optional(),
558
- event_name: import_zod2.z.string().optional()
559
- });
560
- var CheckParamsSchema = import_zod2.z.object({
561
- customer_id: import_zod2.z.string(),
562
- feature_id: import_zod2.z.string().optional(),
563
- product_id: import_zod2.z.string().optional(),
564
- entity_id: import_zod2.z.string().optional(),
565
- customer_data: import_zod2.z.any().optional(),
566
- required_balance: import_zod2.z.number().optional(),
567
- send_event: import_zod2.z.boolean().optional(),
568
- with_preview: import_zod2.z.boolean().optional(),
569
- entity_data: EntityDataSchema.optional()
570
- });
538
+ // src/sdk/products/prodEnums.ts
539
+ var ProductItemInterval = /* @__PURE__ */ ((ProductItemInterval2) => {
540
+ ProductItemInterval2["Minute"] = "minute";
541
+ ProductItemInterval2["Hour"] = "hour";
542
+ ProductItemInterval2["Day"] = "day";
543
+ ProductItemInterval2["Week"] = "week";
544
+ ProductItemInterval2["Month"] = "month";
545
+ ProductItemInterval2["Quarter"] = "quarter";
546
+ ProductItemInterval2["SemiAnnual"] = "semi_annual";
547
+ ProductItemInterval2["Year"] = "year";
548
+ ProductItemInterval2["Multiple"] = "multiple";
549
+ return ProductItemInterval2;
550
+ })(ProductItemInterval || {});
571
551
 
572
552
  // src/sdk/customers/cusEnums.ts
573
- var import_zod3 = require("zod");
574
- var CustomerExpandEnum = import_zod3.z.enum([
553
+ var import_zod = require("zod");
554
+ var CustomerExpandEnum = import_zod.z.enum([
575
555
  "invoices",
576
556
  "rewards",
577
557
  "trials_used",
@@ -581,71 +561,161 @@ var CustomerExpandEnum = import_zod3.z.enum([
581
561
  ]);
582
562
 
583
563
  // src/sdk/customers/cusTypes.ts
584
- var import_zod4 = require("zod");
585
- var CustomerDataSchema = import_zod4.z.object({
586
- name: import_zod4.z.string().nullish(),
587
- email: import_zod4.z.string().nullish(),
588
- fingerprint: import_zod4.z.string().nullish()
564
+ var import_zod2 = require("zod");
565
+ var CoreCusFeatureSchema = import_zod2.z.object({
566
+ unlimited: import_zod2.z.boolean().optional(),
567
+ interval: import_zod2.z.nativeEnum(ProductItemInterval).optional(),
568
+ balance: import_zod2.z.number().optional(),
569
+ usage: import_zod2.z.number().optional(),
570
+ included_usage: import_zod2.z.number().optional(),
571
+ next_reset_at: import_zod2.z.number().optional(),
572
+ overage_allowed: import_zod2.z.boolean().optional(),
573
+ usage_limit: import_zod2.z.number().optional(),
574
+ breakdown: import_zod2.z.array(
575
+ import_zod2.z.object({
576
+ interval: import_zod2.z.nativeEnum(ProductItemInterval),
577
+ balance: import_zod2.z.number().optional(),
578
+ usage: import_zod2.z.number().optional(),
579
+ included_usage: import_zod2.z.number().optional(),
580
+ next_reset_at: import_zod2.z.number().optional()
581
+ })
582
+ ).optional(),
583
+ credit_schema: import_zod2.z.array(
584
+ import_zod2.z.object({
585
+ feature_id: import_zod2.z.string(),
586
+ credit_amount: import_zod2.z.number()
587
+ })
588
+ ).optional()
589
+ });
590
+ var CustomerDataSchema = import_zod2.z.object({
591
+ name: import_zod2.z.string().nullish(),
592
+ email: import_zod2.z.string().nullish(),
593
+ fingerprint: import_zod2.z.string().nullish()
589
594
  });
590
- var CreateCustomerParamsSchema = import_zod4.z.object({
591
- id: import_zod4.z.string().nullish(),
592
- email: import_zod4.z.string().nullish(),
593
- name: import_zod4.z.string().nullish(),
594
- fingerprint: import_zod4.z.string().nullish(),
595
- metadata: import_zod4.z.record(import_zod4.z.any()).optional(),
596
- expand: import_zod4.z.array(CustomerExpandEnum).optional()
595
+ var CreateCustomerParamsSchema = import_zod2.z.object({
596
+ id: import_zod2.z.string().nullish(),
597
+ email: import_zod2.z.string().nullish(),
598
+ name: import_zod2.z.string().nullish(),
599
+ fingerprint: import_zod2.z.string().nullish(),
600
+ metadata: import_zod2.z.record(import_zod2.z.any()).optional(),
601
+ expand: import_zod2.z.array(CustomerExpandEnum).optional()
597
602
  });
598
- var BillingPortalParamsSchema = import_zod4.z.object({
599
- return_url: import_zod4.z.string().optional()
603
+ var BillingPortalParamsSchema = import_zod2.z.object({
604
+ return_url: import_zod2.z.string().optional()
600
605
  });
601
606
 
602
- // src/sdk/referrals/referralTypes.ts
607
+ // src/sdk/general/checkTypes.ts
608
+ var import_zod3 = require("zod");
609
+ var CheckFeatureResultSchema = import_zod3.z.object({
610
+ allowed: import_zod3.z.boolean(),
611
+ feature_id: import_zod3.z.string(),
612
+ customer_id: import_zod3.z.string(),
613
+ entity_id: import_zod3.z.string().optional(),
614
+ required_balance: import_zod3.z.number()
615
+ }).extend(CoreCusFeatureSchema.shape);
616
+
617
+ // src/sdk/customers/entities/entTypes.ts
618
+ var import_zod4 = require("zod");
619
+ var EntityDataSchema = import_zod4.z.object({
620
+ name: import_zod4.z.string().optional(),
621
+ feature_id: import_zod4.z.string()
622
+ });
623
+
624
+ // src/sdk/general/genTypes.ts
603
625
  var import_zod5 = require("zod");
604
- var CreateReferralCodeParamsSchema = import_zod5.z.object({
626
+ var CancelParamsSchema = import_zod5.z.object({
605
627
  customer_id: import_zod5.z.string(),
606
- program_id: import_zod5.z.string()
628
+ product_id: import_zod5.z.string(),
629
+ entity_id: import_zod5.z.string().optional(),
630
+ cancel_immediately: import_zod5.z.boolean().optional()
607
631
  });
608
- var RedeemReferralCodeParamsSchema = import_zod5.z.object({
632
+ var CancelResultSchema = import_zod5.z.object({
633
+ success: import_zod5.z.boolean(),
634
+ customer_id: import_zod5.z.string(),
635
+ product_id: import_zod5.z.string()
636
+ });
637
+ var TrackParamsSchema = import_zod5.z.object({
638
+ customer_id: import_zod5.z.string(),
639
+ value: import_zod5.z.number().optional(),
640
+ feature_id: import_zod5.z.string().optional(),
641
+ event_name: import_zod5.z.string().optional(),
642
+ entity_id: import_zod5.z.string().optional(),
643
+ customer_data: import_zod5.z.any().optional(),
644
+ idempotency_key: import_zod5.z.string().optional(),
645
+ entity_data: import_zod5.z.any().optional()
646
+ });
647
+ var TrackResultSchema = import_zod5.z.object({
648
+ id: import_zod5.z.string(),
609
649
  code: import_zod5.z.string(),
610
- customer_id: import_zod5.z.string()
650
+ customer_id: import_zod5.z.string(),
651
+ feature_id: import_zod5.z.string().optional(),
652
+ event_name: import_zod5.z.string().optional()
653
+ });
654
+ var CheckParamsSchema = import_zod5.z.object({
655
+ customer_id: import_zod5.z.string(),
656
+ feature_id: import_zod5.z.string().optional(),
657
+ product_id: import_zod5.z.string().optional(),
658
+ entity_id: import_zod5.z.string().optional(),
659
+ customer_data: import_zod5.z.any().optional(),
660
+ required_balance: import_zod5.z.number().optional(),
661
+ send_event: import_zod5.z.boolean().optional(),
662
+ with_preview: import_zod5.z.boolean().optional(),
663
+ entity_data: EntityDataSchema.optional()
664
+ });
665
+ var QueryRangeEnum = import_zod5.z.enum(["24h", "7d", "30d", "90d", "last_cycle"]);
666
+ var QueryParamsSchema = import_zod5.z.object({
667
+ customer_id: import_zod5.z.string(),
668
+ feature_id: import_zod5.z.string().or(import_zod5.z.array(import_zod5.z.string())),
669
+ range: QueryRangeEnum.optional()
611
670
  });
612
671
 
613
- // src/sdk/general/attachTypes.ts
672
+ // src/sdk/referrals/referralTypes.ts
614
673
  var import_zod6 = require("zod");
615
- var AttachFeatureOptionsSchema = import_zod6.z.object({
616
- feature_id: import_zod6.z.string(),
617
- quantity: import_zod6.z.number()
618
- });
619
- var AttachParamsSchema = import_zod6.z.object({
674
+ var CreateReferralCodeParamsSchema = import_zod6.z.object({
620
675
  customer_id: import_zod6.z.string(),
621
- product_id: import_zod6.z.string().optional(),
622
- entity_id: import_zod6.z.string().optional(),
623
- options: import_zod6.z.array(AttachFeatureOptionsSchema).optional(),
624
- product_ids: import_zod6.z.array(import_zod6.z.string()).optional(),
625
- free_trial: import_zod6.z.boolean().optional(),
626
- success_url: import_zod6.z.string().optional(),
627
- metadata: import_zod6.z.record(import_zod6.z.string()).optional(),
628
- force_checkout: import_zod6.z.boolean().optional(),
629
- customer_data: CustomerDataSchema.optional(),
630
- entity_data: import_zod6.z.any().optional(),
631
- checkout_session_params: import_zod6.z.record(import_zod6.z.any()).optional(),
632
- reward: import_zod6.z.string().optional()
676
+ program_id: import_zod6.z.string()
633
677
  });
634
- var AttachResultSchema = import_zod6.z.object({
635
- checkout_url: import_zod6.z.string().optional(),
636
- customer_id: import_zod6.z.string(),
637
- product_ids: import_zod6.z.array(import_zod6.z.string()),
678
+ var RedeemReferralCodeParamsSchema = import_zod6.z.object({
638
679
  code: import_zod6.z.string(),
639
- message: import_zod6.z.string(),
640
- customer_data: import_zod6.z.any().optional()
680
+ customer_id: import_zod6.z.string()
641
681
  });
642
- var CheckoutParamsSchema = import_zod6.z.object({
643
- customer_id: import_zod6.z.string(),
644
- product_id: import_zod6.z.string(),
645
- entity_id: import_zod6.z.string().optional(),
646
- success_url: import_zod6.z.string().optional(),
682
+
683
+ // src/sdk/general/attachTypes.ts
684
+ var import_zod7 = require("zod");
685
+ var AttachFeatureOptionsSchema = import_zod7.z.object({
686
+ feature_id: import_zod7.z.string(),
687
+ quantity: import_zod7.z.number()
688
+ });
689
+ var AttachParamsSchema = import_zod7.z.object({
690
+ customer_id: import_zod7.z.string(),
691
+ product_id: import_zod7.z.string().optional(),
692
+ entity_id: import_zod7.z.string().optional(),
693
+ options: import_zod7.z.array(AttachFeatureOptionsSchema).optional(),
694
+ product_ids: import_zod7.z.array(import_zod7.z.string()).optional(),
695
+ free_trial: import_zod7.z.boolean().optional(),
696
+ success_url: import_zod7.z.string().optional(),
697
+ metadata: import_zod7.z.record(import_zod7.z.string()).optional(),
698
+ force_checkout: import_zod7.z.boolean().optional(),
647
699
  customer_data: CustomerDataSchema.optional(),
648
- options: import_zod6.z.array(AttachFeatureOptionsSchema).optional()
700
+ entity_data: import_zod7.z.any().optional(),
701
+ checkout_session_params: import_zod7.z.record(import_zod7.z.any()).optional(),
702
+ reward: import_zod7.z.string().optional()
703
+ });
704
+ var AttachResultSchema = import_zod7.z.object({
705
+ checkout_url: import_zod7.z.string().optional(),
706
+ customer_id: import_zod7.z.string(),
707
+ product_ids: import_zod7.z.array(import_zod7.z.string()),
708
+ code: import_zod7.z.string(),
709
+ message: import_zod7.z.string(),
710
+ customer_data: import_zod7.z.any().optional()
711
+ });
712
+ var CheckoutParamsSchema = import_zod7.z.object({
713
+ customer_id: import_zod7.z.string(),
714
+ product_id: import_zod7.z.string(),
715
+ entity_id: import_zod7.z.string().optional(),
716
+ success_url: import_zod7.z.string().optional(),
717
+ customer_data: CustomerDataSchema.optional(),
718
+ options: import_zod7.z.array(AttachFeatureOptionsSchema).optional()
649
719
  });
650
720
 
651
721
  // src/libraries/react/errorUtils/logFetchError.ts
@@ -759,6 +829,11 @@ async function openBillingPortalMethod(params) {
759
829
  const res = await this.post(`${this.prefix}/billing_portal`, snakeParams);
760
830
  return res;
761
831
  }
832
+ async function queryMethod(params) {
833
+ let snakeParams = toSnakeCase(params);
834
+ const res = await this.post(`${this.prefix}/query`, snakeParams);
835
+ return res;
836
+ }
762
837
 
763
838
  // src/libraries/react/client/clientProdMethods.ts
764
839
  async function listProductsMethod() {
@@ -942,6 +1017,7 @@ var AutumnClient = class {
942
1017
  track = trackMethod.bind(this);
943
1018
  openBillingPortal = openBillingPortalMethod.bind(this);
944
1019
  setupPayment = setupPaymentMethod.bind(this);
1020
+ query = queryMethod.bind(this);
945
1021
  entities = {
946
1022
  create: createEntityMethod.bind(this),
947
1023
  get: getEntityMethod.bind(this),
@@ -981,7 +1057,8 @@ var AutumnContext = (0, import_react2.createContext)({
981
1057
  },
982
1058
  setComponent: () => {
983
1059
  }
984
- }
1060
+ },
1061
+ paywallRef: { current: null }
985
1062
  });
986
1063
  var useAutumnContext = ({
987
1064
  AutumnContext: AutumnContext2,
@@ -1156,14 +1233,9 @@ var defaultSWRConfig = {
1156
1233
  refreshInterval: 0
1157
1234
  };
1158
1235
  var usePricingTableBase = ({
1159
- AutumnContext: AutumnContext2,
1236
+ client,
1160
1237
  params
1161
1238
  }) => {
1162
- const context = useAutumnContext({
1163
- AutumnContext: AutumnContext2,
1164
- name: "usePricingTable"
1165
- });
1166
- const client = context.client;
1167
1239
  const fetcher = async () => {
1168
1240
  try {
1169
1241
  const { data: data2, error: error2 } = await client.products.list();
@@ -1189,31 +1261,15 @@ var usePricingTableBase = ({
1189
1261
  };
1190
1262
  };
1191
1263
 
1192
- // src/libraries/react/hooks/useAutumnBase.tsx
1264
+ // src/libraries/react/hooks/helpers/useAutumnBase.tsx
1193
1265
  var useAutumnBase = ({
1194
- AutumnContext: AutumnContext2,
1266
+ // AutumnContext,
1267
+ context,
1268
+ client,
1195
1269
  refetchCustomer
1196
1270
  }) => {
1197
- const context = useAutumnContext({
1198
- AutumnContext: AutumnContext2,
1199
- name: "useAutumn"
1200
- });
1201
- const { attachDialog, paywallDialog } = context;
1202
- const client = context.client;
1203
- const { refetch: refetchPricingTable } = usePricingTableBase({
1204
- AutumnContext: AutumnContext2
1205
- });
1206
- let {
1207
- open: attachOpen,
1208
- setProps: setAttachProps,
1209
- setOpen: setAttachOpen,
1210
- setComponent: setAttachComponent
1211
- } = attachDialog;
1212
- let {
1213
- setProps: setCheckProps,
1214
- setOpen: setCheckOpen,
1215
- setComponent: setPaywallComponent
1216
- } = paywallDialog;
1271
+ const { attachDialog, paywallDialog } = context || {};
1272
+ const { refetch: refetchPricingTable } = usePricingTableBase({ client });
1217
1273
  const attachWithoutDialog = async (params) => {
1218
1274
  const result = await client.attach(params);
1219
1275
  if (result.error) {
@@ -1231,9 +1287,7 @@ var useAutumnBase = ({
1231
1287
  if (refetchCustomer) {
1232
1288
  await refetchCustomer();
1233
1289
  }
1234
- if (setAttachOpen) {
1235
- setAttachOpen(false);
1236
- }
1290
+ attachDialog?.setOpen(false);
1237
1291
  return result;
1238
1292
  };
1239
1293
  const checkout = async (params) => {
@@ -1251,9 +1305,9 @@ var useAutumnBase = ({
1251
1305
  return { data, error };
1252
1306
  }
1253
1307
  if (params.dialog) {
1254
- setAttachProps({ checkoutResult: data, attachParams: rest });
1255
- setAttachComponent(params.dialog);
1256
- setAttachOpen(true);
1308
+ attachDialog?.setProps({ checkoutResult: data, attachParams: rest });
1309
+ attachDialog?.setComponent(params.dialog);
1310
+ attachDialog?.setOpen(true);
1257
1311
  }
1258
1312
  return { data, error };
1259
1313
  };
@@ -1273,16 +1327,15 @@ var useAutumnBase = ({
1273
1327
  if (!preview) {
1274
1328
  return await attachWithoutDialog(rest);
1275
1329
  } else {
1276
- setAttachProps({ preview, attachParams: rest });
1277
- setAttachOpen(true);
1330
+ attachDialog?.setProps({ preview, attachParams: rest });
1331
+ attachDialog?.setOpen(true);
1278
1332
  }
1279
1333
  return checkRes;
1280
1334
  };
1281
1335
  const attach = async (params) => {
1282
1336
  const { dialog } = params;
1283
- let finalDialog = dialog;
1284
- if (finalDialog && !attachOpen) {
1285
- setAttachComponent(finalDialog);
1337
+ if (dialog && !attachDialog?.open) {
1338
+ attachDialog?.setComponent(dialog);
1286
1339
  return await attachWithDialog(params);
1287
1340
  }
1288
1341
  return await attachWithoutDialog(params);
@@ -1294,26 +1347,6 @@ var useAutumnBase = ({
1294
1347
  }
1295
1348
  return res;
1296
1349
  };
1297
- const check = async (params) => {
1298
- let { dialog, withPreview } = params;
1299
- if (dialog) {
1300
- setPaywallComponent(dialog);
1301
- }
1302
- const res = await client.check({
1303
- ...params,
1304
- withPreview: withPreview || dialog ? true : false
1305
- });
1306
- if (res.error) {
1307
- return res;
1308
- }
1309
- let data = res.data;
1310
- if (data && data.preview && dialog) {
1311
- let preview = data.preview;
1312
- setCheckProps({ preview });
1313
- setCheckOpen(true);
1314
- }
1315
- return res;
1316
- };
1317
1350
  const track = async (params) => {
1318
1351
  const res = await client.track(params);
1319
1352
  if (res.error) {
@@ -1367,7 +1400,7 @@ var useAutumnBase = ({
1367
1400
  };
1368
1401
  return {
1369
1402
  attach,
1370
- check,
1403
+ // check,
1371
1404
  track,
1372
1405
  cancel,
1373
1406
  openBillingPortal,
@@ -1376,7 +1409,7 @@ var useAutumnBase = ({
1376
1409
  };
1377
1410
  };
1378
1411
 
1379
- // src/libraries/react/hooks/handleAllowed.ts
1412
+ // src/libraries/react/hooks/helpers/handleCheck.ts
1380
1413
  var getCusFeature = ({
1381
1414
  customer,
1382
1415
  featureId,
@@ -1399,14 +1432,10 @@ var getCusFeature = ({
1399
1432
  requiredBalance
1400
1433
  };
1401
1434
  };
1402
- var handleFeatureAllowed = ({
1403
- customer,
1404
- params
1435
+ var getFeatureAllowed = ({
1436
+ cusFeature,
1437
+ requiredBalance
1405
1438
  }) => {
1406
- let { cusFeature, requiredBalance } = getCusFeature({
1407
- customer,
1408
- featureId: params.featureId
1409
- });
1410
1439
  if (!cusFeature) return false;
1411
1440
  if (cusFeature.type == "static") return true;
1412
1441
  if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
@@ -1416,37 +1445,97 @@ var handleFeatureAllowed = ({
1416
1445
  }
1417
1446
  return (cusFeature.balance || 0) >= requiredBalance;
1418
1447
  };
1419
- var handleAllowed = ({
1448
+ var handleFeatureCheck = ({
1420
1449
  customer,
1450
+ isEntity,
1421
1451
  params
1422
1452
  }) => {
1423
- if (!customer) return false;
1424
- if (!params.featureId && !params.productId) {
1425
- throw new Error("allowed() requires either featureId or productId");
1453
+ let { cusFeature, requiredBalance } = getCusFeature({
1454
+ customer,
1455
+ featureId: params.featureId
1456
+ });
1457
+ let allowed = getFeatureAllowed({ cusFeature, requiredBalance });
1458
+ let result = {
1459
+ allowed,
1460
+ feature_id: params.featureId,
1461
+ customer_id: isEntity ? customer.customer_id : customer.id,
1462
+ required_balance: requiredBalance,
1463
+ ...cusFeature
1464
+ };
1465
+ if (isEntity) {
1466
+ result.entity_id = customer.id;
1426
1467
  }
1427
- if (params.featureId) {
1428
- return handleFeatureAllowed({ customer, params });
1468
+ return CheckFeatureResultSchema.parse(result);
1469
+ };
1470
+ var handleProductCheck = ({
1471
+ customer,
1472
+ isEntity,
1473
+ params
1474
+ }) => {
1475
+ let product = customer.products.find((p) => p.id == params.productId);
1476
+ let allowed = product?.status === "active";
1477
+ let result = {
1478
+ allowed,
1479
+ customer_id: isEntity ? customer.customer_id : customer.id,
1480
+ product_id: params.productId
1481
+ };
1482
+ if (product) {
1483
+ result.status = product.status;
1429
1484
  }
1430
- if (params.productId) {
1431
- let product = customer.products.find((p) => p.id == params.productId);
1432
- if (!product) return false;
1433
- let status = product.status;
1434
- if (status == "scheduled") return false;
1435
- return true;
1485
+ if (isEntity) {
1486
+ result.entity_id = customer.id;
1436
1487
  }
1437
- return false;
1488
+ return result;
1489
+ };
1490
+ var openDialog = ({
1491
+ result,
1492
+ params,
1493
+ context
1494
+ }) => {
1495
+ let open = result.allowed === false && params.dialog && context;
1496
+ if (!open) return;
1497
+ const isInRenderCycle = (() => {
1498
+ const stack = new Error().stack || "";
1499
+ return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
1500
+ })();
1501
+ if (isInRenderCycle) {
1502
+ context.paywallRef.current = {
1503
+ component: params.dialog,
1504
+ open: true,
1505
+ props: params
1506
+ };
1507
+ } else {
1508
+ context.paywallDialog.setComponent(params.dialog);
1509
+ context.paywallDialog.setProps(params);
1510
+ context.paywallDialog.setOpen(true);
1511
+ }
1512
+ };
1513
+ var handleCheck2 = ({
1514
+ customer,
1515
+ isEntity,
1516
+ params,
1517
+ context
1518
+ }) => {
1519
+ if (!customer) {
1520
+ return {
1521
+ allowed: false,
1522
+ feature_id: "",
1523
+ customer_id: "",
1524
+ required_balance: 0
1525
+ };
1526
+ }
1527
+ if (!params.featureId && !params.productId) {
1528
+ throw new Error("allowed() requires either featureId or productId");
1529
+ }
1530
+ let result;
1531
+ if (params.featureId)
1532
+ result = handleFeatureCheck({ customer, params, isEntity });
1533
+ if (params.productId)
1534
+ result = handleProductCheck({ customer, params, isEntity });
1535
+ return result;
1438
1536
  };
1439
1537
 
1440
1538
  // src/libraries/react/hooks/useCustomerBase.tsx
1441
- var emptyDefaultFunctions = {
1442
- attach: "",
1443
- check: "",
1444
- track: "",
1445
- cancel: "",
1446
- openBillingPortal: "",
1447
- setupPayment: "",
1448
- checkout: ""
1449
- };
1450
1539
  var useCustomerBase = ({
1451
1540
  params,
1452
1541
  AutumnContext: AutumnContext2,
@@ -1457,7 +1546,6 @@ var useCustomerBase = ({
1457
1546
  context = useAutumnContext({
1458
1547
  AutumnContext: AutumnContext2,
1459
1548
  name: "useCustomer"
1460
- // errorIfNotInitialized: !authClientExists,
1461
1549
  });
1462
1550
  }
1463
1551
  if (!client) {
@@ -1487,13 +1575,13 @@ var useCustomerBase = ({
1487
1575
  fallbackData: null,
1488
1576
  ...params?.swrConfig
1489
1577
  });
1490
- let autumnFunctions = emptyDefaultFunctions;
1491
- if (AutumnContext2) {
1492
- autumnFunctions = useAutumnBase({
1493
- AutumnContext: AutumnContext2,
1494
- refetchCustomer: mutate
1495
- });
1496
- }
1578
+ const autumnFunctions = useAutumnBase({
1579
+ context,
1580
+ client,
1581
+ refetchCustomer: mutate
1582
+ });
1583
+ (0, import_react3.useEffect)(() => {
1584
+ }, [context?.paywallRef.current]);
1497
1585
  return {
1498
1586
  customer: error ? null : customer,
1499
1587
  isLoading,
@@ -1503,7 +1591,30 @@ var useCustomerBase = ({
1503
1591
  createEntity: client.entities.create,
1504
1592
  createReferralCode: client.referrals.createCode,
1505
1593
  redeemReferralCode: client.referrals.redeemCode,
1506
- allowed: (params2) => handleAllowed({ customer, params: params2 })
1594
+ check: (params2) => {
1595
+ const result = handleCheck2({
1596
+ customer,
1597
+ params: params2,
1598
+ isEntity: false,
1599
+ context
1600
+ });
1601
+ openDialog({
1602
+ result,
1603
+ params: params2,
1604
+ context
1605
+ });
1606
+ return result;
1607
+ },
1608
+ /** @deprecated Use check() instead */
1609
+ allowed: (params2) => {
1610
+ const result = handleCheck2({
1611
+ customer,
1612
+ params: params2,
1613
+ isEntity: false,
1614
+ context
1615
+ });
1616
+ return result.allowed;
1617
+ }
1507
1618
  };
1508
1619
  };
1509
1620
 
@@ -1514,7 +1625,7 @@ function BaseAutumnProvider({
1514
1625
  children,
1515
1626
  AutumnContext: AutumnContext2
1516
1627
  }) {
1517
- const [components, setComponents] = (0, import_react3.useState)({});
1628
+ const [components, setComponents] = (0, import_react5.useState)({});
1518
1629
  const [paywallProps, setPaywallProps, paywallOpen, setPaywallOpen] = useDialog(components.paywallDialog);
1519
1630
  const [
1520
1631
  productChangeProps,
@@ -1523,6 +1634,8 @@ function BaseAutumnProvider({
1523
1634
  setProductChangeOpen
1524
1635
  ] = useDialog(components.productChangeDialog);
1525
1636
  useCustomerBase({ client, params: { errorOnNotFound: false } });
1637
+ const paywallRef = (0, import_react4.useRef)(null);
1638
+ const [refresh, setRefresh] = (0, import_react5.useState)(0);
1526
1639
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
1527
1640
  AutumnContext2.Provider,
1528
1641
  {
@@ -1552,9 +1665,20 @@ function BaseAutumnProvider({
1552
1665
  productChangeDialog: component
1553
1666
  });
1554
1667
  }
1555
- }
1668
+ },
1669
+ paywallRef,
1670
+ refresh,
1671
+ setRefresh
1556
1672
  },
1557
1673
  children: [
1674
+ paywallRef.current && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1675
+ paywallRef.current.component,
1676
+ {
1677
+ open: paywallRef.current.open,
1678
+ setOpen: paywallRef.current.setOpen,
1679
+ ...paywallRef.current.props
1680
+ }
1681
+ ),
1558
1682
  components.paywallDialog && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1559
1683
  components.paywallDialog,
1560
1684
  {