autumn-js 0.0.66 → 0.0.72

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 (390) hide show
  1. package/components.json +21 -0
  2. package/dist/libraries/backend/{chunk-NDN25XDG.mjs → chunk-2JZFMBVR.mjs} +1 -1
  3. package/dist/libraries/backend/chunk-45WVZY23.mjs +41 -0
  4. package/dist/libraries/backend/{chunk-NDS3EHT3.mjs → chunk-GUZSIYGF.mjs} +1 -1
  5. package/dist/libraries/backend/{chunk-W63TY2DI.mjs → chunk-J7UA442M.mjs} +70 -59
  6. package/dist/libraries/backend/chunk-PBBWXVWW.mjs +28 -0
  7. package/dist/libraries/backend/{chunk-FRL4IWBU.mjs → chunk-T4YSUMNB.mjs} +9 -5
  8. package/dist/libraries/backend/chunk-UNZHJTEY.mjs +18 -0
  9. package/dist/libraries/backend/{chunk-QXJ7YDTB.mjs → chunk-Y2VYFWJD.mjs} +1 -1
  10. package/dist/libraries/backend/{chunk-C2YFOJYP.mjs → chunk-ZF4V3SVZ.mjs} +13 -8
  11. package/dist/libraries/backend/express.d.mts +3 -2
  12. package/dist/libraries/backend/express.d.ts +3 -2
  13. package/dist/libraries/backend/express.js +168 -78
  14. package/dist/libraries/backend/express.mjs +15 -6
  15. package/dist/libraries/backend/fastify.js +149 -78
  16. package/dist/libraries/backend/fastify.mjs +8 -6
  17. package/dist/libraries/backend/hono.js +149 -78
  18. package/dist/libraries/backend/hono.mjs +8 -6
  19. package/dist/libraries/backend/next.js +259 -176
  20. package/dist/libraries/backend/next.mjs +116 -104
  21. package/dist/libraries/backend/react-router.js +149 -78
  22. package/dist/libraries/backend/react-router.mjs +8 -6
  23. package/dist/libraries/backend/{referralTypes-p6A_PZbz.d.ts → referralTypes-C-jpvu6u.d.mts} +63 -31
  24. package/dist/libraries/backend/{referralTypes-BdY-EkkQ.d.mts → referralTypes-qdpA4XBw.d.ts} +63 -31
  25. package/dist/libraries/backend/remix_dep.js +149 -78
  26. package/dist/libraries/backend/remix_dep.mjs +8 -6
  27. package/dist/libraries/backend/{response-ByHPEnHs.d.mts → response-CV6KGWH5.d.mts} +1 -0
  28. package/dist/libraries/backend/{response-ByHPEnHs.d.ts → response-CV6KGWH5.d.ts} +1 -0
  29. package/dist/libraries/backend/routes/backendRouter.js +147 -75
  30. package/dist/libraries/backend/routes/backendRouter.mjs +8 -6
  31. package/dist/libraries/backend/routes/entityRoutes.js +123 -66
  32. package/dist/libraries/backend/routes/entityRoutes.mjs +5 -3
  33. package/dist/libraries/backend/routes/genRoutes.js +124 -71
  34. package/dist/libraries/backend/routes/genRoutes.mjs +4 -3
  35. package/dist/libraries/backend/routes/productRoutes.d.mts +5 -0
  36. package/dist/libraries/backend/routes/productRoutes.d.ts +5 -0
  37. package/dist/libraries/{react/hooks/useEntityProvider.js → backend/routes/productRoutes.js} +210 -96
  38. package/dist/libraries/backend/routes/productRoutes.mjs +11 -0
  39. package/dist/libraries/backend/routes/referralRoutes.js +124 -69
  40. package/dist/libraries/backend/routes/referralRoutes.mjs +4 -3
  41. package/dist/libraries/backend/supabase.js +149 -78
  42. package/dist/libraries/backend/supabase.mjs +8 -6
  43. package/dist/libraries/backend/tanstack.js +152 -79
  44. package/dist/libraries/backend/tanstack.mjs +11 -9
  45. package/dist/libraries/backend/utils/backendRes.d.mts +1 -1
  46. package/dist/libraries/backend/utils/backendRes.d.ts +1 -1
  47. package/dist/libraries/backend/utils/backendRes.js +114 -59
  48. package/dist/libraries/backend/utils/backendRes.mjs +3 -1
  49. package/dist/libraries/backend/utils/logBackendErrors.d.mts +5 -0
  50. package/dist/libraries/backend/utils/logBackendErrors.d.ts +5 -0
  51. package/dist/libraries/backend/utils/logBackendErrors.js +84 -0
  52. package/dist/libraries/backend/utils/logBackendErrors.mjs +14 -0
  53. package/dist/libraries/backend/utils/secretKeyCheck.d.mts +13 -0
  54. package/dist/libraries/backend/utils/secretKeyCheck.d.ts +13 -0
  55. package/dist/libraries/backend/utils/secretKeyCheck.js +42 -0
  56. package/dist/libraries/backend/utils/secretKeyCheck.mjs +7 -0
  57. package/dist/libraries/backend/utils/withAuth.d.mts +3 -3
  58. package/dist/libraries/backend/utils/withAuth.d.ts +3 -3
  59. package/dist/libraries/backend/utils/withAuth.js +123 -66
  60. package/dist/libraries/backend/utils/withAuth.mjs +4 -2
  61. package/dist/libraries/react/AutumnContext.d.mts +15 -18
  62. package/dist/libraries/react/AutumnContext.d.ts +15 -18
  63. package/dist/libraries/react/AutumnContext.js +189 -101
  64. package/dist/libraries/react/AutumnContext.mjs +6 -4
  65. package/dist/libraries/react/BaseAutumnProvider.d.mts +11 -7
  66. package/dist/libraries/react/BaseAutumnProvider.d.ts +11 -7
  67. package/dist/libraries/react/BaseAutumnProvider.js +594 -263
  68. package/dist/libraries/react/BaseAutumnProvider.mjs +12 -8
  69. package/dist/libraries/react/{ReactAutumnClient-BQtmw21U.d.mts → ReactAutumnClient-4e3t4WTF.d.mts} +40 -25
  70. package/dist/libraries/react/{ReactAutumnClient-DNcV0gAT.d.ts → ReactAutumnClient-B-lWmwRW.d.ts} +40 -25
  71. package/dist/libraries/react/ReactAutumnProvider.d.mts +4 -3
  72. package/dist/libraries/react/ReactAutumnProvider.d.ts +4 -3
  73. package/dist/libraries/react/ReactAutumnProvider.js +610 -266
  74. package/dist/libraries/react/ReactAutumnProvider.mjs +12 -9
  75. package/dist/libraries/react/{response-B1KyqUB9.d.ts → checkTypes-BDNI_s2B.d.ts} +42 -55
  76. package/dist/libraries/react/{response-B5dHU3I9.d.mts → checkTypes-CyKIOmeF.d.mts} +42 -55
  77. package/dist/libraries/react/chunk-2XYYCR4J.mjs +276 -0
  78. package/dist/libraries/react/chunk-4CGZZYLG.mjs +2487 -0
  79. package/dist/libraries/react/chunk-4PX3AQKX.mjs +53 -0
  80. package/dist/libraries/react/chunk-7PRD7RPD.mjs +20 -0
  81. package/dist/libraries/react/chunk-B7HGBQCO.mjs +48 -0
  82. package/dist/libraries/react/chunk-BCMBFJ7E.mjs +125 -0
  83. package/dist/libraries/react/{chunk-STABYMUY.mjs → chunk-CE5BBB5H.mjs} +58 -27
  84. package/dist/libraries/react/chunk-CIBQ4BJU.mjs +19 -0
  85. package/dist/libraries/react/{chunk-OCZFV7OX.mjs → chunk-EH2VPTFH.mjs} +104 -56
  86. package/dist/libraries/react/chunk-FHANCAHB.mjs +17 -0
  87. package/dist/libraries/react/chunk-GTF7A5TG.mjs +76 -0
  88. package/dist/libraries/react/chunk-JFXBUWKA.mjs +50 -0
  89. package/dist/libraries/react/chunk-MY2ODATB.mjs +51 -0
  90. package/dist/libraries/react/chunk-NEV76K4V.mjs +552 -0
  91. package/dist/libraries/react/chunk-O4HHXBGR.mjs +101 -0
  92. package/dist/libraries/react/chunk-Q7CK32YT.mjs +172 -0
  93. package/dist/libraries/react/chunk-QBBE72EF.mjs +57 -0
  94. package/dist/libraries/react/{chunk-PW6WFMLB.mjs → chunk-QMIIDFRP.mjs} +10 -37
  95. package/dist/libraries/react/chunk-TFGQQAVB.mjs +38 -0
  96. package/dist/{next/client/hooks/useEntityProvider.js → libraries/react/chunk-X3HJKZGO.mjs} +17 -11
  97. package/dist/libraries/react/chunk-YUV2Y2RW.mjs +12 -0
  98. package/dist/libraries/react/chunk-ZKHBOCMO.mjs +17 -0
  99. package/dist/libraries/react/{chunk-O4SNGQNB.mjs → chunk-ZQ6LDLK5.mjs} +67 -65
  100. package/dist/libraries/react/chunk-ZWO4QYXI.mjs +20 -0
  101. package/dist/libraries/react/chunk-ZXE5MFKL.mjs +45 -0
  102. package/dist/libraries/react/client/ReactAutumnClient.d.mts +6 -5
  103. package/dist/libraries/react/client/ReactAutumnClient.d.ts +6 -5
  104. package/dist/libraries/react/client/ReactAutumnClient.js +177 -76
  105. package/dist/libraries/react/client/ReactAutumnClient.mjs +5 -3
  106. package/dist/libraries/react/client/clientCompMethods.d.mts +6 -5
  107. package/dist/libraries/react/client/clientCompMethods.d.ts +6 -5
  108. package/dist/libraries/react/client/clientCusMethods.d.mts +6 -5
  109. package/dist/libraries/react/client/clientCusMethods.d.ts +6 -5
  110. package/dist/libraries/react/client/clientEntityMethods.d.mts +6 -5
  111. package/dist/libraries/react/client/clientEntityMethods.d.ts +6 -5
  112. package/dist/libraries/react/client/clientGenMethods.d.mts +7 -6
  113. package/dist/libraries/react/client/clientGenMethods.d.ts +7 -6
  114. package/dist/libraries/react/client/clientProdMethods.d.mts +15 -0
  115. package/dist/libraries/react/client/clientProdMethods.d.ts +15 -0
  116. package/dist/libraries/react/client/clientProdMethods.js +35 -0
  117. package/dist/libraries/react/client/clientProdMethods.mjs +8 -0
  118. package/dist/libraries/react/client/clientReferralMethods.d.mts +6 -5
  119. package/dist/libraries/react/client/clientReferralMethods.d.ts +6 -5
  120. package/dist/libraries/react/client/types/clientEntTypes.d.mts +1 -1
  121. package/dist/libraries/react/client/types/clientEntTypes.d.ts +1 -1
  122. package/dist/libraries/react/client/types/clientGenTypes.d.mts +2 -2
  123. package/dist/libraries/react/client/types/clientGenTypes.d.ts +2 -2
  124. package/dist/libraries/react/client/types/clientPricingTableTypes.d.mts +8 -10
  125. package/dist/libraries/react/client/types/clientPricingTableTypes.d.ts +8 -10
  126. package/dist/libraries/react/client/types/clientProdTypes.d.mts +5 -0
  127. package/dist/libraries/react/client/types/clientProdTypes.d.ts +5 -0
  128. package/dist/libraries/react/client/types/clientProdTypes.js +20 -0
  129. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.mts +52 -0
  130. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.ts +52 -0
  131. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.js +4387 -0
  132. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.mjs +50 -0
  133. package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.mts +10 -0
  134. package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.ts +10 -0
  135. package/dist/libraries/react/components/attach-dialog/lib/attach-content.js +148 -0
  136. package/dist/libraries/react/components/attach-dialog/lib/attach-content.mjs +8 -0
  137. package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.mts +12 -0
  138. package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.ts +12 -0
  139. package/dist/libraries/react/components/check-dialog/check-dialog-synced.js +2895 -0
  140. package/dist/libraries/react/components/check-dialog/check-dialog-synced.mjs +13 -0
  141. package/dist/libraries/react/components/check-dialog/lib/check-content.d.mts +9 -0
  142. package/dist/libraries/react/components/check-dialog/lib/check-content.d.ts +9 -0
  143. package/dist/libraries/react/components/check-dialog/lib/check-content.js +74 -0
  144. package/dist/libraries/react/components/check-dialog/lib/check-content.mjs +8 -0
  145. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.mts +7 -0
  146. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.ts +7 -0
  147. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.js +80 -0
  148. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.mjs +8 -0
  149. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +51 -0
  150. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +51 -0
  151. package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +4684 -0
  152. package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +53 -0
  153. package/dist/libraries/react/components/ui/button.d.mts +14 -0
  154. package/dist/libraries/react/components/ui/button.d.ts +14 -0
  155. package/dist/libraries/react/components/ui/button.js +2601 -0
  156. package/dist/libraries/react/components/ui/button.mjs +11 -0
  157. package/dist/libraries/react/components/ui/dialog.d.mts +18 -0
  158. package/dist/libraries/react/components/ui/dialog.d.ts +18 -0
  159. package/dist/libraries/react/components/ui/dialog.js +2774 -0
  160. package/dist/libraries/react/components/ui/dialog.mjs +27 -0
  161. package/dist/libraries/react/components/ui/switch.d.mts +7 -0
  162. package/dist/libraries/react/components/ui/switch.d.ts +7 -0
  163. package/dist/libraries/react/components/ui/switch.js +2550 -0
  164. package/dist/libraries/react/components/ui/switch.mjs +9 -0
  165. package/dist/libraries/react/{cusTypes-Cf-s9PYP.d.ts → cusTypes-DNx5bwlw.d.mts} +13 -5
  166. package/dist/libraries/react/{cusTypes-Cf-s9PYP.d.mts → cusTypes-DNx5bwlw.d.ts} +13 -5
  167. package/dist/libraries/react/{entTypes-CV-165S-.d.mts → entTypes-8gkfAi3g.d.mts} +1 -1
  168. package/dist/libraries/react/{entTypes-BbIk0Toa.d.ts → entTypes-C8jD10M8.d.ts} +1 -1
  169. package/dist/libraries/react/{error-CG2LXoa7.d.mts → error-DHbclCVh.d.mts} +1 -0
  170. package/dist/libraries/react/{error-CG2LXoa7.d.ts → error-DHbclCVh.d.ts} +1 -0
  171. package/dist/libraries/react/errorUtils/logAuthError.d.mts +8 -0
  172. package/dist/libraries/react/errorUtils/logAuthError.d.ts +8 -0
  173. package/dist/libraries/react/{hooks/usePricingTableProvider.js → errorUtils/logAuthError.js} +129 -97
  174. package/dist/libraries/react/errorUtils/logAuthError.mjs +21 -0
  175. package/dist/libraries/react/errorUtils/logFetchError.d.mts +8 -0
  176. package/dist/libraries/react/errorUtils/logFetchError.d.ts +8 -0
  177. package/dist/libraries/react/errorUtils/logFetchError.js +42 -0
  178. package/dist/libraries/react/errorUtils/logFetchError.mjs +8 -0
  179. package/dist/libraries/react/hooks/handleAllowed.d.mts +14 -0
  180. package/dist/libraries/react/hooks/handleAllowed.d.ts +14 -0
  181. package/dist/libraries/react/hooks/handleAllowed.js +73 -0
  182. package/dist/libraries/react/hooks/handleAllowed.mjs +8 -0
  183. package/dist/libraries/react/hooks/useAutumn.d.mts +12 -40
  184. package/dist/libraries/react/hooks/useAutumn.d.ts +12 -40
  185. package/dist/libraries/react/hooks/useAutumn.js +416 -166
  186. package/dist/libraries/react/hooks/useAutumn.mjs +9 -5
  187. package/dist/libraries/react/hooks/useAutumnBase.d.mts +23 -0
  188. package/dist/libraries/react/hooks/useAutumnBase.d.ts +23 -0
  189. package/dist/libraries/react/hooks/useAutumnBase.js +1063 -0
  190. package/dist/libraries/react/hooks/useAutumnBase.mjs +20 -0
  191. package/dist/libraries/react/hooks/useCustomer.d.mts +11 -17
  192. package/dist/libraries/react/hooks/useCustomer.d.ts +11 -17
  193. package/dist/libraries/react/hooks/useCustomer.js +594 -120
  194. package/dist/libraries/react/hooks/useCustomer.mjs +11 -5
  195. package/dist/libraries/react/hooks/useCustomerBase.d.mts +38 -0
  196. package/dist/libraries/react/hooks/useCustomerBase.d.ts +38 -0
  197. package/dist/libraries/react/hooks/useCustomerBase.js +1168 -0
  198. package/dist/libraries/react/hooks/useCustomerBase.mjs +22 -0
  199. package/dist/libraries/react/hooks/useEntity.d.mts +14 -6
  200. package/dist/libraries/react/hooks/useEntity.d.ts +14 -6
  201. package/dist/libraries/react/hooks/useEntity.js +272 -142
  202. package/dist/libraries/react/hooks/useEntity.mjs +9 -6
  203. package/dist/libraries/react/hooks/useEntityBase.d.mts +33 -0
  204. package/dist/libraries/react/hooks/useEntityBase.d.ts +33 -0
  205. package/dist/libraries/react/hooks/useEntityBase.js +134 -0
  206. package/dist/libraries/react/hooks/useEntityBase.mjs +9 -0
  207. package/dist/libraries/react/hooks/usePricingTable.d.mts +10 -13
  208. package/dist/libraries/react/hooks/usePricingTable.d.ts +10 -13
  209. package/dist/libraries/react/hooks/usePricingTable.js +339 -125
  210. package/dist/libraries/react/hooks/usePricingTable.mjs +8 -5
  211. package/dist/libraries/react/hooks/usePricingTableBase.d.mts +27 -0
  212. package/dist/libraries/react/hooks/usePricingTableBase.d.ts +27 -0
  213. package/dist/libraries/react/hooks/usePricingTableBase.js +926 -0
  214. package/dist/libraries/react/hooks/usePricingTableBase.mjs +19 -0
  215. package/dist/libraries/react/hooks/useProductsBase.d.mts +3 -0
  216. package/dist/libraries/react/hooks/useProductsBase.d.ts +3 -0
  217. package/dist/libraries/react/hooks/useProductsBase.js +776 -0
  218. package/dist/libraries/react/hooks/useProductsBase.mjs +29 -0
  219. package/dist/libraries/react/index.d.ts +485 -16
  220. package/dist/libraries/react/index.js +4201 -493
  221. package/dist/libraries/react/index.mjs +4869 -30
  222. package/dist/libraries/react/lib/utils.d.mts +5 -0
  223. package/dist/libraries/react/lib/utils.d.ts +5 -0
  224. package/dist/libraries/react/lib/utils.js +2511 -0
  225. package/dist/libraries/react/lib/utils.mjs +8 -0
  226. package/dist/libraries/react/response-9K8DyGXf.d.ts +40 -0
  227. package/dist/libraries/react/response-ChCmaLBk.d.mts +40 -0
  228. package/dist/libraries/react/utils/compareParams.mjs +18 -3
  229. package/dist/next/AutumnProvider-BdIwgk_j.d.mts +136 -0
  230. package/dist/next/AutumnProvider-BdIwgk_j.d.ts +136 -0
  231. package/dist/next/AutumnProvider.d.mts +2 -0
  232. package/dist/next/AutumnProvider.d.ts +2 -0
  233. package/dist/next/AutumnProvider.js +2 -2
  234. package/dist/next/AutumnProvider.mjs +2 -2
  235. package/dist/next/client/AutumnClientProvider.d.mts +2 -0
  236. package/dist/next/client/AutumnClientProvider.d.ts +2 -0
  237. package/dist/next/client/AutumnClientProvider.mjs +2 -0
  238. package/dist/next/client/NextAutumnClient.d.mts +102 -0
  239. package/dist/next/client/NextAutumnClient.d.ts +102 -0
  240. package/dist/next/client/NextAutumnClient.js +95 -0
  241. package/dist/next/client/NextAutumnClient.mjs +95 -0
  242. package/dist/next/client/NextAutumnProvider.d.mts +10 -0
  243. package/dist/next/client/NextAutumnProvider.d.ts +10 -0
  244. package/dist/next/client/NextAutumnProvider.js +21 -0
  245. package/dist/next/client/NextAutumnProvider.mjs +21 -0
  246. package/dist/next/client/checkTypes-BHxu_xEV.d.ts +126 -0
  247. package/dist/next/client/checkTypes-CEaWu4S3.d.mts +126 -0
  248. package/dist/next/client/clientGenTypes-BRfigzSY.d.mts +98 -0
  249. package/dist/next/client/clientGenTypes-i3cKamAv.d.ts +98 -0
  250. package/dist/{sdk/referrals.d.ts → next/client/clientReferralTypes-C9JiOk2s.d.mts} +8 -9
  251. package/dist/{sdk/referrals.d.mts → next/client/clientReferralTypes-C9JiOk2s.d.ts} +8 -9
  252. package/dist/next/client/clientUtils.d.mts +2 -2
  253. package/dist/next/client/clientUtils.d.ts +2 -2
  254. package/dist/next/client/cusTypes-CV5q3GIA.d.mts +116 -0
  255. package/dist/next/client/cusTypes-CV5q3GIA.d.ts +116 -0
  256. package/dist/next/client/{entTypes-C9TNWMk6.d.mts → entTypes-C1-bumir.d.mts} +5 -2
  257. package/dist/next/client/{entTypes-BDqnMLZ4.d.ts → entTypes-CKc2qHBt.d.ts} +5 -2
  258. package/dist/next/client/handleAllowed-B8TBAzfI.d.mts +7 -0
  259. package/dist/next/client/handleAllowed-B8TBAzfI.d.ts +7 -0
  260. package/dist/next/client/hooks/useAutumn.d.mts +8 -33
  261. package/dist/next/client/hooks/useAutumn.d.ts +8 -33
  262. package/dist/next/client/hooks/useAutumn.js +3 -236
  263. package/dist/next/client/hooks/useAutumn.mjs +3 -236
  264. package/dist/next/client/hooks/useCustomer.d.mts +26 -20
  265. package/dist/next/client/hooks/useCustomer.d.ts +26 -20
  266. package/dist/next/client/hooks/useCustomer.js +6 -120
  267. package/dist/next/client/hooks/useCustomer.mjs +6 -120
  268. package/dist/next/client/hooks/useEntity.d.mts +13 -5
  269. package/dist/next/client/hooks/useEntity.d.ts +13 -5
  270. package/dist/next/client/hooks/useEntity.js +3 -2
  271. package/dist/next/client/hooks/useEntity.mjs +3 -2
  272. package/dist/next/client/hooks/usePricingTable.d.mts +26 -13
  273. package/dist/next/client/hooks/usePricingTable.d.ts +26 -13
  274. package/dist/next/client/hooks/usePricingTable.js +4 -50
  275. package/dist/next/client/hooks/usePricingTable.mjs +4 -50
  276. package/dist/next/client/types.d.mts +12 -3
  277. package/dist/next/client/types.d.ts +12 -3
  278. package/dist/next/enums.d.mts +5 -0
  279. package/dist/next/enums.d.ts +5 -0
  280. package/dist/next/index.d.mts +372 -233
  281. package/dist/next/index.d.ts +372 -233
  282. package/dist/next/index.js +13 -8
  283. package/dist/next/index.mjs +6 -4
  284. package/dist/next/server/auth/handleAuthProvider.d.mts +2 -2
  285. package/dist/next/server/auth/handleAuthProvider.d.ts +2 -2
  286. package/dist/next/server/auth/supabase-wrapper.d.mts +1 -3
  287. package/dist/next/server/auth/supabase-wrapper.d.ts +1 -3
  288. package/dist/next/server/auth/{withAuth.d.mts → withNextAuth.d.mts} +1 -1
  289. package/dist/next/server/auth/{withAuth.d.ts → withNextAuth.d.ts} +1 -1
  290. package/dist/next/server/clientEntTypes-BOVTwIKv.d.mts +14 -0
  291. package/dist/next/server/clientEntTypes-BOVTwIKv.d.ts +14 -0
  292. package/dist/next/server/componentActions.d.mts +1 -1
  293. package/dist/next/server/componentActions.d.ts +1 -1
  294. package/dist/next/server/componentActions.js +1 -1
  295. package/dist/next/server/componentActions.mjs +1 -1
  296. package/dist/next/server/cusActions.d.mts +243 -16
  297. package/dist/next/server/cusActions.d.ts +243 -16
  298. package/dist/next/server/cusActions.js +12 -22
  299. package/dist/next/server/cusActions.mjs +12 -22
  300. package/dist/next/server/{cusTypes-BD42O-7Z.d.mts → cusTypes-Cc8NWXXF.d.mts} +12 -8
  301. package/dist/next/server/{cusTypes-BD42O-7Z.d.ts → cusTypes-Cc8NWXXF.d.ts} +12 -8
  302. package/dist/next/server/genActions.d.mts +41 -26
  303. package/dist/next/server/genActions.d.ts +41 -26
  304. package/dist/next/server/genActions.js +14 -62
  305. package/dist/next/server/genActions.mjs +14 -62
  306. package/dist/next/server/{response-BCg7kiiN.d.mts → response-eH4S4sg0.d.mts} +1 -0
  307. package/dist/next/server/{response-BCg7kiiN.d.ts → response-eH4S4sg0.d.ts} +1 -0
  308. package/dist/next/server/utils.d.mts +1 -1
  309. package/dist/next/server/utils.d.ts +1 -1
  310. package/dist/sdk/index.d.mts +406 -27
  311. package/dist/sdk/index.d.ts +406 -27
  312. package/dist/sdk/index.js +107 -72
  313. package/dist/sdk/index.mjs +103 -72
  314. package/dist/styles/global.css +1147 -0
  315. package/dist/utils/chunk-V7R5DCYR.mjs +41 -0
  316. package/dist/utils/encryptUtils.js +104 -56
  317. package/dist/utils/encryptUtils.mjs +70 -56
  318. package/dist/utils/logger.d.mts +45 -0
  319. package/dist/utils/logger.d.ts +45 -0
  320. package/dist/utils/logger.js +75 -0
  321. package/dist/utils/logger.mjs +6 -0
  322. package/dist/utils/toSnakeCase.d.mts +3 -0
  323. package/dist/utils/toSnakeCase.d.ts +3 -0
  324. package/dist/utils/toSnakeCase.js +45 -0
  325. package/dist/utils/toSnakeCase.mjs +20 -0
  326. package/package.json +25 -7
  327. package/postcss.config.js +7 -0
  328. package/scripts/sync-registry.ts +292 -0
  329. package/tailwind.config.js +57 -0
  330. package/tsup.config.ts +87 -29
  331. package/tsup.dev.config.ts +196 -0
  332. package/dist/libraries/react/chunk-5LNSASJV.mjs +0 -33
  333. package/dist/libraries/react/chunk-CZA5WF64.mjs +0 -51
  334. package/dist/libraries/react/chunk-ILWLFCTA.mjs +0 -61
  335. package/dist/libraries/react/chunk-KHU4NOQJ.mjs +0 -30
  336. package/dist/libraries/react/chunk-PIIGEXKQ.mjs +0 -77
  337. package/dist/libraries/react/chunk-PYM4YPRD.mjs +0 -38
  338. package/dist/libraries/react/chunk-Q5SSQSDP.mjs +0 -48
  339. package/dist/libraries/react/chunk-URAFNMTH.mjs +0 -48
  340. package/dist/libraries/react/chunk-VN4AVW2V.mjs +0 -24
  341. package/dist/libraries/react/hooks/useCustomerProvider.d.mts +0 -28
  342. package/dist/libraries/react/hooks/useCustomerProvider.d.ts +0 -28
  343. package/dist/libraries/react/hooks/useCustomerProvider.js +0 -100
  344. package/dist/libraries/react/hooks/useCustomerProvider.mjs +0 -8
  345. package/dist/libraries/react/hooks/useEntityProvider.d.mts +0 -33
  346. package/dist/libraries/react/hooks/useEntityProvider.d.ts +0 -33
  347. package/dist/libraries/react/hooks/useEntityProvider.mjs +0 -9
  348. package/dist/libraries/react/hooks/usePricingTableProvider.d.mts +0 -19
  349. package/dist/libraries/react/hooks/usePricingTableProvider.d.ts +0 -19
  350. package/dist/libraries/react/hooks/usePricingTableProvider.mjs +0 -9
  351. package/dist/libraries/react/index.d.mts +0 -16
  352. package/dist/next/client/AutumnContext.d.mts +0 -9
  353. package/dist/next/client/AutumnContext.d.ts +0 -9
  354. package/dist/next/client/AutumnContext.js +0 -47
  355. package/dist/next/client/AutumnContext.mjs +0 -47
  356. package/dist/next/client/AutumnProvider.d.mts +0 -11
  357. package/dist/next/client/AutumnProvider.d.ts +0 -11
  358. package/dist/next/client/AutumnProvider.js +0 -117
  359. package/dist/next/client/AutumnProvider.mjs +0 -117
  360. package/dist/next/client/clientEntTypes-pqnB95m3.d.mts +0 -9
  361. package/dist/next/client/clientEntTypes-pqnB95m3.d.ts +0 -9
  362. package/dist/next/client/cusTypes-sh5_cN7N.d.mts +0 -86
  363. package/dist/next/client/cusTypes-sh5_cN7N.d.ts +0 -86
  364. package/dist/next/client/hooks/types.d.mts +0 -27
  365. package/dist/next/client/hooks/types.d.ts +0 -27
  366. package/dist/next/client/hooks/useEntityProvider.d.mts +0 -11
  367. package/dist/next/client/hooks/useEntityProvider.d.ts +0 -11
  368. package/dist/next/client/hooks/useEntityProvider.mjs +0 -52
  369. package/dist/next/server/clientEntTypes-B3DRcw3U.d.mts +0 -216
  370. package/dist/next/server/clientEntTypes-BRUTcNUD.d.ts +0 -216
  371. package/dist/sdk/check.d.mts +0 -47
  372. package/dist/sdk/check.d.ts +0 -47
  373. package/dist/sdk/cusTypes-BTV6ui4e.d.ts +0 -95
  374. package/dist/sdk/cusTypes-wBxbodEe.d.mts +0 -95
  375. package/dist/sdk/customers.d.mts +0 -2
  376. package/dist/sdk/customers.d.ts +0 -2
  377. package/dist/sdk/entTypes-BwLV9Jn4.d.ts +0 -35
  378. package/dist/sdk/entTypes-CJjjWn54.d.mts +0 -35
  379. package/dist/sdk/entities.d.mts +0 -3
  380. package/dist/sdk/entities.d.ts +0 -3
  381. package/dist/sdk/general.d.mts +0 -104
  382. package/dist/sdk/general.d.ts +0 -104
  383. package/dist/sdk/prodEnums-C1lccCWI.d.mts +0 -28
  384. package/dist/sdk/prodEnums-C1lccCWI.d.ts +0 -28
  385. package/dist/sdk/products.d.mts +0 -47
  386. package/dist/sdk/products.d.ts +0 -47
  387. /package/dist/{next/client/hooks/types.js → libraries/react/client/types/clientProdTypes.mjs} +0 -0
  388. /package/dist/next/client/{hooks/types.mjs → AutumnClientProvider.js} +0 -0
  389. /package/dist/next/server/auth/{withAuth.js → withNextAuth.js} +0 -0
  390. /package/dist/next/server/auth/{withAuth.mjs → withNextAuth.mjs} +0 -0
@@ -0,0 +1,1168 @@
1
+ "use client";
2
+
3
+ "use strict";
4
+ var __create = Object.create;
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getProtoOf = Object.getPrototypeOf;
9
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
10
+ var __export = (target, all) => {
11
+ for (var name in all)
12
+ __defProp(target, name, { get: all[name], enumerable: true });
13
+ };
14
+ var __copyProps = (to, from, except, desc) => {
15
+ if (from && typeof from === "object" || typeof from === "function") {
16
+ for (let key of __getOwnPropNames(from))
17
+ if (!__hasOwnProp.call(to, key) && key !== except)
18
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
19
+ }
20
+ return to;
21
+ };
22
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
23
+ // If the importer is in node compatibility mode or this is not an ESM
24
+ // file that has been converted to a CommonJS file using a Babel-
25
+ // compatible transform (i.e. "__esModule" has not been set), then set
26
+ // "default" to the CommonJS "module.exports" for node compatibility.
27
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
28
+ mod
29
+ ));
30
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
+
32
+ // src/libraries/react/hooks/useCustomerBase.tsx
33
+ var useCustomerBase_exports = {};
34
+ __export(useCustomerBase_exports, {
35
+ useCustomerBase: () => useCustomerBase
36
+ });
37
+ module.exports = __toCommonJS(useCustomerBase_exports);
38
+ var import_swr2 = __toESM(require("swr"));
39
+
40
+ // src/sdk/error.ts
41
+ var AutumnError = class _AutumnError extends Error {
42
+ message;
43
+ code;
44
+ constructor(response) {
45
+ super(response.message);
46
+ this.message = response.message;
47
+ this.code = response.code;
48
+ }
49
+ static fromError(error) {
50
+ return new _AutumnError({
51
+ message: error.message || "Unknown error",
52
+ code: error.code || "unknown_error"
53
+ });
54
+ }
55
+ toString() {
56
+ return `${this.message} (code: ${this.code})`;
57
+ }
58
+ toJSON() {
59
+ return {
60
+ message: this.message,
61
+ code: this.code
62
+ };
63
+ }
64
+ };
65
+
66
+ // src/sdk/general/genMethods.ts
67
+ var handleAttach = async ({
68
+ instance,
69
+ params
70
+ }) => {
71
+ return instance.post("/attach", params);
72
+ };
73
+ var handleCancel = async ({
74
+ instance,
75
+ params
76
+ }) => {
77
+ return instance.post("/cancel", params);
78
+ };
79
+ var handleEntitled = async ({
80
+ instance,
81
+ params
82
+ }) => {
83
+ return instance.post("/entitled", params);
84
+ };
85
+ var handleEvent = async ({
86
+ instance,
87
+ params
88
+ }) => {
89
+ return instance.post("/events", params);
90
+ };
91
+ var handleTrack = async ({
92
+ instance,
93
+ params
94
+ }) => {
95
+ return instance.post("/track", params);
96
+ };
97
+ var handleUsage = async ({
98
+ instance,
99
+ params
100
+ }) => {
101
+ return instance.post("/usage", params);
102
+ };
103
+ var handleCheck = async ({
104
+ instance,
105
+ params
106
+ }) => {
107
+ return instance.post("/check", params);
108
+ };
109
+
110
+ // src/libraries/backend/constants.ts
111
+ var autumnApiUrl = "https://api.useautumn.com/v1";
112
+
113
+ // src/sdk/utils.ts
114
+ var staticWrapper = (callback, instance, args) => {
115
+ if (!instance) {
116
+ instance = new Autumn();
117
+ }
118
+ return callback({ instance, ...args });
119
+ };
120
+
121
+ // src/sdk/customers/cusMethods.ts
122
+ var customerMethods = (instance) => {
123
+ return {
124
+ get: (id, params) => staticWrapper(getCustomer, instance, { id, params }),
125
+ create: (params) => staticWrapper(createCustomer, instance, { params }),
126
+ update: (id, params) => staticWrapper(updateCustomer, instance, { id, params }),
127
+ delete: (id) => staticWrapper(deleteCustomer, instance, { id }),
128
+ billingPortal: (id, params) => staticWrapper(billingPortal, instance, { id, params })
129
+ };
130
+ };
131
+ var getExpandStr = (expand) => {
132
+ if (!expand) {
133
+ return "";
134
+ }
135
+ return `expand=${expand.join(",")}`;
136
+ };
137
+ var getCustomer = async ({
138
+ instance,
139
+ id,
140
+ params
141
+ }) => {
142
+ if (!id) {
143
+ return {
144
+ data: null,
145
+ error: new AutumnError({
146
+ message: "Customer ID is required",
147
+ code: "CUSTOMER_ID_REQUIRED"
148
+ })
149
+ };
150
+ }
151
+ return instance.get(`/customers/${id}?${getExpandStr(params?.expand)}`);
152
+ };
153
+ var createCustomer = async ({
154
+ instance,
155
+ params
156
+ }) => {
157
+ return instance.post(`/customers?${getExpandStr(params?.expand)}`, params);
158
+ };
159
+ var updateCustomer = async ({
160
+ instance,
161
+ id,
162
+ params
163
+ }) => {
164
+ return instance.post(`/customers/${id}`, params);
165
+ };
166
+ var deleteCustomer = async ({
167
+ instance,
168
+ id
169
+ }) => {
170
+ return instance.delete(`/customers/${id}`);
171
+ };
172
+ var billingPortal = async ({
173
+ instance,
174
+ id,
175
+ params
176
+ }) => {
177
+ return instance.post(`/customers/${id}/billing_portal`, params);
178
+ };
179
+
180
+ // src/sdk/customers/entities/entMethods.ts
181
+ var entityMethods = (instance) => {
182
+ return {
183
+ get: (customer_id, entity_id, params) => staticWrapper(getEntity, instance, {
184
+ customer_id,
185
+ entity_id,
186
+ params
187
+ }),
188
+ create: (customer_id, params) => staticWrapper(createEntity, instance, { customer_id, params }),
189
+ delete: (customer_id, entity_id) => staticWrapper(deleteEntity, instance, { customer_id, entity_id })
190
+ };
191
+ };
192
+ var getExpandStr2 = (expand) => {
193
+ if (!expand) {
194
+ return "";
195
+ }
196
+ return `expand=${expand.join(",")}`;
197
+ };
198
+ var getEntity = async ({
199
+ instance,
200
+ customer_id,
201
+ entity_id,
202
+ params
203
+ }) => {
204
+ return instance.get(
205
+ `/customers/${customer_id}/entities/${entity_id}?${getExpandStr2(
206
+ params?.expand
207
+ )}`
208
+ );
209
+ };
210
+ var createEntity = async ({
211
+ instance,
212
+ customer_id,
213
+ params
214
+ }) => {
215
+ return instance.post(`/customers/${customer_id}/entities`, params);
216
+ };
217
+ var deleteEntity = async ({
218
+ instance,
219
+ customer_id,
220
+ entity_id
221
+ }) => {
222
+ return instance.delete(`/customers/${customer_id}/entities/${entity_id}`);
223
+ };
224
+
225
+ // src/sdk/products/prodMethods.ts
226
+ var productMethods = (instance) => {
227
+ return {
228
+ get: (id) => staticWrapper(getProduct, instance, { id }),
229
+ create: (params) => staticWrapper(createProduct, instance, { params }),
230
+ list: (params) => staticWrapper(listProducts, instance, { params })
231
+ };
232
+ };
233
+ var listProducts = async ({
234
+ instance,
235
+ params
236
+ }) => {
237
+ let path = "/products_beta";
238
+ if (params) {
239
+ const queryParams = new URLSearchParams();
240
+ for (const [key, value] of Object.entries(params)) {
241
+ if (value !== void 0) {
242
+ queryParams.append(key, String(value));
243
+ }
244
+ }
245
+ const queryString = queryParams.toString();
246
+ if (queryString) {
247
+ path += `?${queryString}`;
248
+ }
249
+ }
250
+ return instance.get(path);
251
+ };
252
+ var getProduct = async ({
253
+ instance,
254
+ id
255
+ }) => {
256
+ return instance.get(`/products/${id}`);
257
+ };
258
+ var createProduct = async ({
259
+ instance,
260
+ params
261
+ }) => {
262
+ return instance.post("/products", params);
263
+ };
264
+
265
+ // src/sdk/referrals/referralMethods.ts
266
+ var referralMethods = (instance) => {
267
+ return {
268
+ createCode: (params) => staticWrapper(createReferralCode, instance, { params }),
269
+ redeemCode: (params) => staticWrapper(redeemReferralCode, instance, { params })
270
+ };
271
+ };
272
+ var createReferralCode = async ({
273
+ instance,
274
+ params
275
+ }) => {
276
+ return instance.post("/referrals/code", params);
277
+ };
278
+ var redeemReferralCode = async ({
279
+ instance,
280
+ params
281
+ }) => {
282
+ return instance.post("/referrals/redeem", params);
283
+ };
284
+
285
+ // src/sdk/response.ts
286
+ var toContainerResult = async ({ response, logger: logger2 }) => {
287
+ if (response.status < 200 || response.status >= 300) {
288
+ let error;
289
+ try {
290
+ error = await response.json();
291
+ logger2.error(`[Autumn] ${error.message}`);
292
+ } catch (error2) {
293
+ throw error2;
294
+ return {
295
+ data: null,
296
+ error: new AutumnError({
297
+ message: "Failed to parse JSON response from Autumn",
298
+ code: "internal_error"
299
+ }),
300
+ statusCode: response.status
301
+ };
302
+ }
303
+ return {
304
+ data: null,
305
+ error: new AutumnError({
306
+ message: error.message,
307
+ code: error.code
308
+ }),
309
+ statusCode: response.status
310
+ };
311
+ }
312
+ try {
313
+ let data = await response.json();
314
+ return {
315
+ data,
316
+ error: null,
317
+ statusCode: response?.status
318
+ };
319
+ } catch (error) {
320
+ throw error;
321
+ return {
322
+ data: null,
323
+ error: new AutumnError({
324
+ message: "Failed to parse Autumn API response",
325
+ code: "internal_error"
326
+ }),
327
+ statusCode: response?.status
328
+ };
329
+ }
330
+ };
331
+
332
+ // src/utils/logger.ts
333
+ var import_chalk = __toESM(require("chalk"));
334
+ var getTime = () => {
335
+ let timeString = (/* @__PURE__ */ new Date()).toISOString();
336
+ return `[${timeString.split("T")[1].split(".")[0]}]`;
337
+ };
338
+ var greaterThanLevel = (level) => {
339
+ return levels.indexOf(level) >= levels.indexOf(logger.level);
340
+ };
341
+ var levels = ["debug", "info", "warn", "error", "fatal"];
342
+ var logger = {
343
+ ...console,
344
+ level: "info",
345
+ debug: (...args) => {
346
+ if (greaterThanLevel("debug")) {
347
+ console.log(getTime(), import_chalk.default.gray("DEBUG"), ...args);
348
+ }
349
+ },
350
+ log: (...args) => {
351
+ console.log(getTime(), import_chalk.default.blue("INFO"), ...args);
352
+ },
353
+ info: (...args) => {
354
+ if (greaterThanLevel("info")) {
355
+ console.log(getTime(), import_chalk.default.blue("INFO"), ...args);
356
+ }
357
+ },
358
+ warn: (...args) => {
359
+ if (greaterThanLevel("warn")) {
360
+ console.log(getTime(), import_chalk.default.yellow("WARN"), ...args);
361
+ }
362
+ },
363
+ error: (...args) => {
364
+ if (greaterThanLevel("error")) {
365
+ console.log(getTime(), import_chalk.default.red("ERROR"), ...args);
366
+ }
367
+ }
368
+ };
369
+
370
+ // src/sdk/client.ts
371
+ var LATEST_API_VERSION = "1.2";
372
+ var Autumn = class {
373
+ secretKey;
374
+ publishableKey;
375
+ headers;
376
+ url;
377
+ logger = console;
378
+ constructor(options) {
379
+ try {
380
+ this.secretKey = options?.secretKey || process.env.AUTUMN_SECRET_KEY;
381
+ this.publishableKey = options?.publishableKey || process.env.AUTUMN_PUBLISHABLE_KEY;
382
+ } catch (error) {
383
+ }
384
+ if (!this.secretKey && !this.publishableKey && !options?.headers) {
385
+ throw new Error("Autumn secret key or publishable key is required");
386
+ }
387
+ this.headers = options?.headers || {
388
+ Authorization: `Bearer ${this.secretKey || this.publishableKey}`,
389
+ "Content-Type": "application/json"
390
+ };
391
+ let version = options?.version || LATEST_API_VERSION;
392
+ this.headers["x-api-version"] = version;
393
+ this.url = options?.url || autumnApiUrl;
394
+ this.logger = logger;
395
+ this.logger.level = options?.logLevel || "info";
396
+ }
397
+ async get(path) {
398
+ const response = await fetch(`${this.url}${path}`, {
399
+ headers: this.headers
400
+ });
401
+ return toContainerResult({ response, logger: this.logger });
402
+ }
403
+ async post(path, body) {
404
+ try {
405
+ const response = await fetch(`${this.url}${path}`, {
406
+ method: "POST",
407
+ headers: this.headers,
408
+ body: JSON.stringify(body)
409
+ });
410
+ return toContainerResult({ response, logger: this.logger });
411
+ } catch (error) {
412
+ console.error("Error sending request:", error);
413
+ throw error;
414
+ }
415
+ }
416
+ async delete(path) {
417
+ const response = await fetch(`${this.url}${path}`, {
418
+ method: "DELETE",
419
+ headers: this.headers
420
+ });
421
+ return toContainerResult({ response, logger: this.logger });
422
+ }
423
+ static customers = customerMethods();
424
+ static products = productMethods();
425
+ static entities = entityMethods();
426
+ static referrals = referralMethods();
427
+ customers = customerMethods(this);
428
+ products = productMethods(this);
429
+ entities = entityMethods(this);
430
+ referrals = referralMethods(this);
431
+ static attach = (params) => staticWrapper(handleAttach, void 0, { params });
432
+ static usage = (params) => staticWrapper(handleUsage, void 0, { params });
433
+ async attach(params) {
434
+ return handleAttach({
435
+ instance: this,
436
+ params
437
+ });
438
+ }
439
+ static cancel = (params) => staticWrapper(handleCancel, void 0, { params });
440
+ async cancel(params) {
441
+ return handleCancel({
442
+ instance: this,
443
+ params
444
+ });
445
+ }
446
+ /**
447
+ * @deprecated This method is deprecated and will be removed in a future version.
448
+ * Please use the new check() method instead.
449
+ */
450
+ static entitled = (params) => staticWrapper(handleEntitled, void 0, { params });
451
+ /**
452
+ * @deprecated This method is deprecated and will be removed in a future version.
453
+ * Please use the new check() method instead.
454
+ */
455
+ async entitled(params) {
456
+ return handleEntitled({
457
+ instance: this,
458
+ params
459
+ });
460
+ }
461
+ static check = (params) => staticWrapper(handleCheck, void 0, { params });
462
+ async check(params) {
463
+ return handleCheck({
464
+ instance: this,
465
+ params
466
+ });
467
+ }
468
+ /**
469
+ * @deprecated This method is deprecated and will be removed in a future version.
470
+ * Please use the new track() method instead.
471
+ */
472
+ static event = (params) => staticWrapper(handleEvent, void 0, { params });
473
+ /**
474
+ * @deprecated This method is deprecated and will be removed in a future version.
475
+ * Please use the new track() method instead.
476
+ */
477
+ async event(params) {
478
+ return handleEvent({
479
+ instance: this,
480
+ params
481
+ });
482
+ }
483
+ static track = (params) => staticWrapper(handleTrack, void 0, { params });
484
+ async track(params) {
485
+ return handleTrack({
486
+ instance: this,
487
+ params
488
+ });
489
+ }
490
+ async usage(params) {
491
+ return handleUsage({
492
+ instance: this,
493
+ params
494
+ });
495
+ }
496
+ };
497
+
498
+ // src/libraries/react/errorUtils/logFetchError.ts
499
+ var logFetchError = ({
500
+ method,
501
+ backendUrl,
502
+ path,
503
+ error
504
+ }) => {
505
+ console.error(`[Autumn] Fetch failed: ${method} ${backendUrl}${path}
506
+
507
+ 1. Check that backendUrl in <AutumnProvider/> is correctly set.
508
+ 2. Check that autumnHandler is correctly registered on your backend.`);
509
+ };
510
+
511
+ // src/libraries/react/client/clientCompMethods.ts
512
+ async function getPricingTableMethod() {
513
+ const res = await this.get("/api/autumn/components/pricing_table");
514
+ return res;
515
+ }
516
+
517
+ // src/libraries/react/client/clientCusMethods.ts
518
+ var createCustomerMethod = async ({
519
+ client,
520
+ params
521
+ }) => {
522
+ let result = await client.post("/api/autumn/customers", params);
523
+ return result;
524
+ };
525
+
526
+ // src/libraries/react/utils/toSnakeCase.ts
527
+ function stringToSnakeCase(str) {
528
+ return str.replace(/([a-z])([A-Z])/g, "$1_$2").replace(/[-\s]+/g, "_").toLowerCase();
529
+ }
530
+ var toSnakeCase = (obj) => {
531
+ if (Array.isArray(obj)) {
532
+ return obj.map(toSnakeCase);
533
+ } else if (obj !== null && typeof obj === "object") {
534
+ return Object.fromEntries(
535
+ Object.entries(obj).map(([key, value]) => [
536
+ stringToSnakeCase(key),
537
+ toSnakeCase(value)
538
+ ])
539
+ );
540
+ }
541
+ return obj;
542
+ };
543
+
544
+ // src/utils/entityUtils.tsx
545
+ var getEntityExpandStr = (expand) => {
546
+ if (!expand) {
547
+ return "";
548
+ }
549
+ return `expand=${expand.join(",")}`;
550
+ };
551
+
552
+ // src/libraries/react/client/clientEntityMethods.ts
553
+ async function createEntityMethod(params) {
554
+ let snakeParams = toSnakeCase(params);
555
+ const res = await this.post("/api/autumn/entities", snakeParams);
556
+ return res;
557
+ }
558
+ async function getEntityMethod(entityId, params) {
559
+ let snakeParams = toSnakeCase(params);
560
+ let expand = getEntityExpandStr(params?.expand);
561
+ const res = await this.get(`/api/autumn/entities/${entityId}?${expand}`);
562
+ return res;
563
+ }
564
+ async function deleteEntityMethod(entityId) {
565
+ const res = await this.delete(`/api/autumn/entities/${entityId}`);
566
+ return res;
567
+ }
568
+
569
+ // src/libraries/react/client/clientGenMethods.ts
570
+ async function attachMethod(params) {
571
+ let { dialog, ...rest } = params;
572
+ let snakeParams = toSnakeCase(rest);
573
+ const res = await this.post("/api/autumn/attach", snakeParams);
574
+ return res;
575
+ }
576
+ async function cancelMethod(params) {
577
+ let snakeParams = toSnakeCase(params);
578
+ const res = await this.post("/api/autumn/cancel", snakeParams);
579
+ return res;
580
+ }
581
+ async function checkMethod(params) {
582
+ let { dialog, ...rest } = params;
583
+ let snakeParams = toSnakeCase(rest);
584
+ const res = await this.post("/api/autumn/check", snakeParams);
585
+ return res;
586
+ }
587
+ async function trackMethod(params) {
588
+ let snakeParams = toSnakeCase(params);
589
+ const res = await this.post("/api/autumn/track", snakeParams);
590
+ return res;
591
+ }
592
+ async function openBillingPortalMethod(params) {
593
+ let snakeParams = toSnakeCase(params || {});
594
+ const res = await this.post("/api/autumn/billing_portal", snakeParams);
595
+ return res;
596
+ }
597
+
598
+ // src/libraries/react/client/clientProdMethods.ts
599
+ async function listProductsMethod() {
600
+ const res = await this.get("/api/autumn/products");
601
+ return res;
602
+ }
603
+
604
+ // src/libraries/react/client/clientReferralMethods.ts
605
+ async function createCode(params) {
606
+ let snakeParams = toSnakeCase(params);
607
+ const res = await this.post("/api/autumn/referrals/code", snakeParams);
608
+ return res;
609
+ }
610
+ async function redeemCode(params) {
611
+ let snakeParams = toSnakeCase(params);
612
+ const res = await this.post("/api/autumn/referrals/redeem", snakeParams);
613
+ return res;
614
+ }
615
+
616
+ // src/libraries/react/client/ReactAutumnClient.tsx
617
+ var AutumnClient = class {
618
+ backendUrl;
619
+ getBearerToken;
620
+ customerData;
621
+ includeCredentials;
622
+ constructor({
623
+ backendUrl,
624
+ getBearerToken,
625
+ customerData,
626
+ includeCredentials
627
+ }) {
628
+ this.backendUrl = backendUrl;
629
+ this.getBearerToken = getBearerToken;
630
+ this.customerData = customerData;
631
+ this.includeCredentials = includeCredentials;
632
+ }
633
+ async getHeaders() {
634
+ let headers = {
635
+ "Content-Type": "application/json"
636
+ };
637
+ if (this.getBearerToken) {
638
+ try {
639
+ let token = await this.getBearerToken();
640
+ headers.Authorization = `Bearer ${token}`;
641
+ } catch (error) {
642
+ console.error(`Failed to call getToken() in AutumnProvider`);
643
+ }
644
+ }
645
+ return headers;
646
+ }
647
+ async handleFetch({
648
+ path,
649
+ method,
650
+ body
651
+ }) {
652
+ body = method === "POST" ? JSON.stringify({
653
+ ...body,
654
+ customer_data: this.customerData || void 0
655
+ }) : void 0;
656
+ try {
657
+ const response = await fetch(`${this.backendUrl}${path}`, {
658
+ method,
659
+ body,
660
+ headers: await this.getHeaders(),
661
+ credentials: this.includeCredentials ? "include" : void 0
662
+ });
663
+ return await toContainerResult({ response, logger: console });
664
+ } catch (error) {
665
+ logFetchError({
666
+ method,
667
+ backendUrl: this.backendUrl || "",
668
+ path,
669
+ error
670
+ });
671
+ return {
672
+ data: null,
673
+ error: new AutumnError({
674
+ message: error.message,
675
+ code: "fetch_failed"
676
+ })
677
+ };
678
+ }
679
+ }
680
+ async post(path, body) {
681
+ return await this.handleFetch({
682
+ path,
683
+ method: "POST",
684
+ body
685
+ });
686
+ }
687
+ async get(path) {
688
+ return await this.handleFetch({
689
+ path,
690
+ method: "GET"
691
+ });
692
+ }
693
+ async delete(path) {
694
+ return await this.handleFetch({
695
+ path,
696
+ method: "DELETE"
697
+ });
698
+ }
699
+ async createCustomer(params) {
700
+ return await createCustomerMethod({
701
+ client: this,
702
+ params
703
+ });
704
+ }
705
+ async getPricingTable() {
706
+ return await getPricingTableMethod.bind(this)();
707
+ }
708
+ attach = attachMethod.bind(this);
709
+ cancel = cancelMethod.bind(this);
710
+ check = checkMethod.bind(this);
711
+ track = trackMethod.bind(this);
712
+ openBillingPortal = openBillingPortalMethod.bind(this);
713
+ entities = {
714
+ create: createEntityMethod.bind(this),
715
+ get: getEntityMethod.bind(this),
716
+ delete: deleteEntityMethod.bind(this)
717
+ };
718
+ referrals = {
719
+ createCode: createCode.bind(this),
720
+ redeemCode: redeemCode.bind(this)
721
+ };
722
+ products = {
723
+ list: listProductsMethod.bind(this)
724
+ };
725
+ };
726
+
727
+ // src/libraries/react/AutumnContext.tsx
728
+ var import_react = require("react");
729
+ var AutumnContext = (0, import_react.createContext)({
730
+ initialized: false,
731
+ disableDialogs: false,
732
+ client: new AutumnClient({ backendUrl: "" }),
733
+ paywallDialog: {
734
+ props: null,
735
+ setProps: () => {
736
+ },
737
+ open: false,
738
+ setOpen: () => {
739
+ },
740
+ setComponent: () => {
741
+ }
742
+ },
743
+ attachDialog: {
744
+ props: null,
745
+ setProps: () => {
746
+ },
747
+ open: false,
748
+ setOpen: () => {
749
+ },
750
+ setComponent: () => {
751
+ }
752
+ }
753
+ });
754
+ var useAutumnContext = ({
755
+ AutumnContext: AutumnContext2,
756
+ name
757
+ }) => {
758
+ const context = (0, import_react.useContext)(AutumnContext2);
759
+ if (!context.initialized) {
760
+ throw new Error(`${name} must be used within <AutumnProvider />`);
761
+ }
762
+ return context;
763
+ };
764
+
765
+ // src/libraries/react/hooks/usePricingTableBase.tsx
766
+ var import_swr = __toESM(require("swr"));
767
+ var mergeProductDetails = (products, productDetails) => {
768
+ if (!products) {
769
+ return null;
770
+ }
771
+ if (!productDetails) {
772
+ return products;
773
+ }
774
+ let fetchedProducts = structuredClone(products);
775
+ let mergedProducts = [];
776
+ for (const overrideDetails of productDetails) {
777
+ if (!overrideDetails.id) {
778
+ let properties = {};
779
+ let overrideItems2 = overrideDetails.items?.map((item) => ({
780
+ display: {
781
+ primary_text: item.primaryText,
782
+ secondary_text: item.secondaryText
783
+ }
784
+ }));
785
+ let overridePrice2 = overrideDetails.price;
786
+ if (overrideDetails.price) {
787
+ properties.is_free = false;
788
+ overrideItems2 = [
789
+ {
790
+ display: {
791
+ primary_text: overridePrice2?.primaryText,
792
+ secondary_text: overridePrice2?.secondaryText
793
+ }
794
+ },
795
+ ...overrideItems2 || []
796
+ ];
797
+ }
798
+ mergedProducts.push({
799
+ name: overrideDetails.name || "",
800
+ display: {
801
+ description: overrideDetails.description,
802
+ button_text: overrideDetails.buttonText,
803
+ recommend_text: overrideDetails.recommendText,
804
+ everything_from: overrideDetails.everythingFrom,
805
+ button_url: overrideDetails.buttonUrl
806
+ },
807
+ items: overrideItems2,
808
+ properties
809
+ });
810
+ continue;
811
+ }
812
+ let fetchedProduct = fetchedProducts.find(
813
+ (p) => p.id === overrideDetails.id
814
+ );
815
+ if (!fetchedProduct) {
816
+ continue;
817
+ }
818
+ const originalIsFree = fetchedProduct.properties?.is_free;
819
+ let overrideProperties = fetchedProduct.properties || {};
820
+ let overrideItems = overrideDetails.items;
821
+ let overridePrice = overrideDetails.price;
822
+ let mergedItems = [];
823
+ if (overridePrice) {
824
+ overrideProperties.is_free = false;
825
+ if (originalIsFree || overrideItems !== void 0) {
826
+ mergedItems.push({
827
+ display: {
828
+ primary_text: overridePrice.primaryText,
829
+ secondary_text: overridePrice.secondaryText
830
+ }
831
+ });
832
+ } else {
833
+ fetchedProduct.items[0].display = {
834
+ primary_text: overridePrice.primaryText,
835
+ secondary_text: overridePrice.secondaryText
836
+ };
837
+ }
838
+ } else {
839
+ if (overrideItems && !originalIsFree) {
840
+ mergedItems.push(fetchedProduct.items[0]);
841
+ }
842
+ }
843
+ if (overrideItems) {
844
+ for (const overrideItem of overrideItems) {
845
+ if (!overrideItem.featureId) {
846
+ mergedItems.push({
847
+ display: {
848
+ primary_text: overrideItem.primaryText,
849
+ secondary_text: overrideItem.secondaryText
850
+ }
851
+ });
852
+ } else {
853
+ let fetchedItem = fetchedProduct.items.find(
854
+ (i) => i.feature_id === overrideItem.featureId
855
+ );
856
+ if (!fetchedItem) {
857
+ console.error(
858
+ `Feature with id ${overrideItem.featureId} not found for product ${fetchedProduct.id}`
859
+ );
860
+ continue;
861
+ }
862
+ mergedItems.push({
863
+ ...fetchedItem,
864
+ display: {
865
+ primary_text: overrideItem.primaryText || fetchedItem.display?.primary_text,
866
+ secondary_text: overrideItem.secondaryText || fetchedItem.display?.secondary_text
867
+ }
868
+ });
869
+ }
870
+ }
871
+ } else {
872
+ mergedItems = fetchedProduct.items;
873
+ }
874
+ const mergedProduct = {
875
+ ...fetchedProduct,
876
+ name: overrideDetails.name || fetchedProduct.name,
877
+ items: mergedItems,
878
+ properties: overrideProperties,
879
+ display: {
880
+ description: overrideDetails.description,
881
+ button_text: overrideDetails.buttonText,
882
+ recommend_text: overrideDetails.recommendText,
883
+ everything_from: overrideDetails.everythingFrom,
884
+ button_url: overrideDetails.buttonUrl
885
+ }
886
+ // description: overrideDetails.description,
887
+ // button_text: overrideDetails.buttonText,
888
+ // recommend_text: overrideDetails.recommendText,
889
+ // everything_from: overrideDetails.everythingFrom,
890
+ };
891
+ mergedProducts.push(mergedProduct);
892
+ }
893
+ return mergedProducts;
894
+ };
895
+ var usePricingTableBase = ({
896
+ AutumnContext: AutumnContext2,
897
+ params
898
+ }) => {
899
+ const context = useAutumnContext({ AutumnContext: AutumnContext2, name: "usePricingTable" });
900
+ const fetcher = async () => {
901
+ try {
902
+ const { data: data2, error: error2 } = await context.client.products.list();
903
+ if (error2) throw error2;
904
+ return data2?.list || [];
905
+ } catch (error2) {
906
+ throw new AutumnError({
907
+ message: "Failed to fetch pricing table products",
908
+ code: "failed_to_fetch_pricing_table_products"
909
+ });
910
+ }
911
+ };
912
+ const { data, error, mutate } = (0, import_swr.default)(
913
+ "pricing-table",
914
+ fetcher
915
+ );
916
+ return {
917
+ products: mergeProductDetails(data || [], params?.productDetails),
918
+ // products: data || [],
919
+ isLoading: !error && !data,
920
+ error,
921
+ refetch: mutate
922
+ };
923
+ };
924
+
925
+ // src/libraries/react/hooks/useAutumnBase.tsx
926
+ var useAutumnBase = ({
927
+ AutumnContext: AutumnContext2
928
+ }) => {
929
+ const context = useAutumnContext({ AutumnContext: AutumnContext2, name: "useAutumn" });
930
+ const { attachDialog, paywallDialog } = context;
931
+ const client = context.client;
932
+ const { refetch: refetchPricingTable } = usePricingTableBase({
933
+ AutumnContext: AutumnContext2
934
+ });
935
+ let {
936
+ open: attachOpen,
937
+ setProps: setAttachProps,
938
+ setOpen: setAttachOpen,
939
+ setComponent: setAttachComponent
940
+ } = attachDialog;
941
+ let {
942
+ setProps: setCheckProps,
943
+ setOpen: setCheckOpen,
944
+ setComponent: setPaywallComponent
945
+ } = paywallDialog;
946
+ const attachWithoutDialog = async (params) => {
947
+ const result = await client.attach(params);
948
+ if (result.error) {
949
+ return result;
950
+ }
951
+ let data = result.data;
952
+ if (data?.checkout_url && typeof window !== "undefined") {
953
+ if (params.openInNewTab) {
954
+ window.open(data.checkout_url, "_blank");
955
+ } else {
956
+ window.location.href = data.checkout_url;
957
+ }
958
+ }
959
+ await refetchPricingTable();
960
+ if (setAttachOpen) {
961
+ setAttachOpen(false);
962
+ }
963
+ return result;
964
+ };
965
+ const attachWithDialog = async (params) => {
966
+ let { dialog, ...rest } = params;
967
+ const { productId, entityId, entityData } = params;
968
+ const checkRes = await client.check({
969
+ productId,
970
+ entityId,
971
+ entityData,
972
+ withPreview: true
973
+ });
974
+ if (checkRes.error) {
975
+ return checkRes;
976
+ }
977
+ let preview = checkRes.data.preview;
978
+ if (!preview) {
979
+ return await attachWithoutDialog(rest);
980
+ } else {
981
+ setAttachProps({ preview });
982
+ setAttachOpen(true);
983
+ }
984
+ return checkRes;
985
+ };
986
+ const attach = async (params) => {
987
+ const { dialog, openInNewTab } = params;
988
+ let finalDialog = dialog;
989
+ if (finalDialog && !attachOpen) {
990
+ setAttachComponent(finalDialog);
991
+ return await attachWithDialog(params);
992
+ }
993
+ return await attachWithoutDialog(params);
994
+ };
995
+ const cancel = async (params) => {
996
+ const res = await client.cancel(params);
997
+ if (res.error) {
998
+ return res;
999
+ }
1000
+ return res;
1001
+ };
1002
+ const check = async (params) => {
1003
+ let { dialog, withPreview } = params;
1004
+ if (dialog) {
1005
+ setPaywallComponent(dialog);
1006
+ }
1007
+ const res = await client.check({
1008
+ ...params,
1009
+ withPreview: withPreview || dialog ? true : false
1010
+ });
1011
+ if (res.error) {
1012
+ return res;
1013
+ }
1014
+ let data = res.data;
1015
+ if (data && data.preview && dialog) {
1016
+ let preview = data.preview;
1017
+ setCheckProps({ preview });
1018
+ setCheckOpen(true);
1019
+ }
1020
+ return res;
1021
+ };
1022
+ const track = async (params) => {
1023
+ const res = await client.track(params);
1024
+ if (res.error) {
1025
+ return res;
1026
+ }
1027
+ return res;
1028
+ };
1029
+ const openBillingPortal = async (params) => {
1030
+ let defaultParams = {
1031
+ openInNewTab: false
1032
+ };
1033
+ let finalParams = {
1034
+ ...defaultParams,
1035
+ ...params
1036
+ };
1037
+ const res = await client.openBillingPortal(finalParams);
1038
+ if (res.error) {
1039
+ return res;
1040
+ }
1041
+ let data = res.data;
1042
+ if (data?.url && typeof window !== "undefined") {
1043
+ if (finalParams.openInNewTab) {
1044
+ window.open(data.url, "_blank");
1045
+ } else {
1046
+ window.open(data.url, "_self");
1047
+ }
1048
+ return res;
1049
+ } else {
1050
+ return res;
1051
+ }
1052
+ };
1053
+ return {
1054
+ attach,
1055
+ check,
1056
+ track,
1057
+ cancel,
1058
+ openBillingPortal
1059
+ };
1060
+ };
1061
+
1062
+ // src/libraries/react/hooks/handleAllowed.ts
1063
+ var getCusFeature = ({
1064
+ customer,
1065
+ featureId,
1066
+ requiredBalance = 1
1067
+ }) => {
1068
+ let creditSchema = Object.values(customer.features).find((f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId));
1069
+ if (creditSchema) {
1070
+ let schemaItem = creditSchema.credit_schema?.find((c) => c.feature_id === featureId);
1071
+ return {
1072
+ feature: creditSchema,
1073
+ requiredBalance: schemaItem.credit_amount * requiredBalance
1074
+ };
1075
+ }
1076
+ return {
1077
+ cusFeature: customer.features[featureId],
1078
+ requiredBalance
1079
+ };
1080
+ };
1081
+ var handleFeatureAllowed = ({ customer, params }) => {
1082
+ let { cusFeature, requiredBalance } = getCusFeature({ customer, featureId: params.featureId });
1083
+ if (!cusFeature) return false;
1084
+ if (cusFeature.type == "static") return true;
1085
+ if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
1086
+ return (cusFeature.balance || 0) >= requiredBalance;
1087
+ };
1088
+ var handleAllowed = ({ customer, params }) => {
1089
+ if (!customer) return false;
1090
+ if (!params.featureId && !params.productId) {
1091
+ throw new Error("allowed() requires either featureId or productId");
1092
+ }
1093
+ if (params.featureId) {
1094
+ return handleFeatureAllowed({ customer, params });
1095
+ }
1096
+ if (params.productId) {
1097
+ let product = customer.products.find((p) => p.id == params.productId);
1098
+ if (!product) return false;
1099
+ let status = product.status;
1100
+ if (status == "scheduled") return false;
1101
+ return true;
1102
+ }
1103
+ return false;
1104
+ };
1105
+
1106
+ // src/libraries/react/hooks/useCustomerBase.tsx
1107
+ var emptyDefaultFunctions = {
1108
+ attach: "",
1109
+ check: "",
1110
+ track: "",
1111
+ cancel: "",
1112
+ openBillingPortal: ""
1113
+ };
1114
+ var useCustomerBase = ({
1115
+ params,
1116
+ AutumnContext: AutumnContext2,
1117
+ client
1118
+ }) => {
1119
+ const queryKey = ["customer"];
1120
+ let context;
1121
+ if (AutumnContext2) {
1122
+ context = useAutumnContext({ AutumnContext: AutumnContext2, name: "useCustomer" });
1123
+ }
1124
+ if (!client) {
1125
+ client = context.client;
1126
+ }
1127
+ const fetchCustomer = async () => {
1128
+ const { data, error: error2 } = await client.createCustomer({
1129
+ errorOnNotFound: params?.errorOnNotFound,
1130
+ expand: params?.expand
1131
+ });
1132
+ if (error2) {
1133
+ throw error2;
1134
+ }
1135
+ if (!data) {
1136
+ return null;
1137
+ }
1138
+ return data;
1139
+ };
1140
+ const { data: customer, error, isLoading, mutate } = (0, import_swr2.default)(queryKey, fetchCustomer, {
1141
+ fallbackData: null,
1142
+ onErrorRetry: (error2, key, config) => {
1143
+ if (error2.code == "entity_not_found") {
1144
+ return false;
1145
+ }
1146
+ return true;
1147
+ }
1148
+ });
1149
+ let autumnFunctions = emptyDefaultFunctions;
1150
+ if (AutumnContext2) {
1151
+ autumnFunctions = useAutumnBase({ AutumnContext: AutumnContext2 });
1152
+ }
1153
+ return {
1154
+ customer: error ? null : customer,
1155
+ isLoading,
1156
+ error,
1157
+ refetch: mutate,
1158
+ ...autumnFunctions,
1159
+ createEntity: client.entities.create,
1160
+ createReferralCode: client.referrals.createCode,
1161
+ redeemReferralCode: client.referrals.redeemCode,
1162
+ allowed: (params2) => handleAllowed({ customer, params: params2 })
1163
+ };
1164
+ };
1165
+ // Annotate the CommonJS export names for ESM import in node:
1166
+ 0 && (module.exports = {
1167
+ useCustomerBase
1168
+ });