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
@@ -1,9 +1,12 @@
1
1
  "use client";
2
2
 
3
3
  "use strict";
4
+ "use client";
5
+ var __create = Object.create;
4
6
  var __defProp = Object.defineProperty;
5
7
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
8
  var __getOwnPropNames = Object.getOwnPropertyNames;
9
+ var __getProtoOf = Object.getPrototypeOf;
7
10
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
11
  var __export = (target, all) => {
9
12
  for (var name in all)
@@ -17,6 +20,14 @@ var __copyProps = (to, from, except, desc) => {
17
20
  }
18
21
  return to;
19
22
  };
23
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
24
+ // If the importer is in node compatibility mode or this is not an ESM
25
+ // file that has been converted to a CommonJS file using a Babel-
26
+ // compatible transform (i.e. "__esModule" has not been set), then set
27
+ // "default" to the CommonJS "module.exports" for node compatibility.
28
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
29
+ mod
30
+ ));
20
31
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
32
 
22
33
  // src/libraries/react/BaseAutumnProvider.tsx
@@ -25,12 +36,28 @@ __export(BaseAutumnProvider_exports, {
25
36
  BaseAutumnProvider: () => BaseAutumnProvider
26
37
  });
27
38
  module.exports = __toCommonJS(BaseAutumnProvider_exports);
39
+ var import_react3 = require("react");
28
40
 
29
- // src/libraries/react/AutumnContext.tsx
41
+ // src/libraries/react/hooks/useDialog.tsx
30
42
  var import_react = require("react");
43
+ var useDialog = (component) => {
44
+ const [dialogProps, setDialogProps] = (0, import_react.useState)(null);
45
+ const [dialogOpen, setDialogOpen] = (0, import_react.useState)(false);
46
+ (0, import_react.useEffect)(() => {
47
+ if (!dialogOpen) {
48
+ setTimeout(() => {
49
+ setDialogProps(null);
50
+ }, 200);
51
+ }
52
+ }, [dialogOpen]);
53
+ return [dialogProps, setDialogProps, dialogOpen, setDialogOpen];
54
+ };
55
+
56
+ // src/libraries/react/hooks/useCustomerBase.tsx
57
+ var import_swr2 = __toESM(require("swr"));
31
58
 
32
59
  // src/sdk/error.ts
33
- var AutumnError = class extends Error {
60
+ var AutumnError = class _AutumnError extends Error {
34
61
  message;
35
62
  code;
36
63
  constructor(response) {
@@ -38,6 +65,12 @@ var AutumnError = class extends Error {
38
65
  this.message = response.message;
39
66
  this.code = response.code;
40
67
  }
68
+ static fromError(error) {
69
+ return new _AutumnError({
70
+ message: error.message || "Unknown error",
71
+ code: error.code || "unknown_error"
72
+ });
73
+ }
41
74
  toString() {
42
75
  return `${this.message} (code: ${this.code})`;
43
76
  }
@@ -49,6 +82,53 @@ var AutumnError = class extends Error {
49
82
  }
50
83
  };
51
84
 
85
+ // src/sdk/general/genMethods.ts
86
+ var handleAttach = async ({
87
+ instance,
88
+ params
89
+ }) => {
90
+ return instance.post("/attach", params);
91
+ };
92
+ var handleCancel = async ({
93
+ instance,
94
+ params
95
+ }) => {
96
+ return instance.post("/cancel", params);
97
+ };
98
+ var handleEntitled = async ({
99
+ instance,
100
+ params
101
+ }) => {
102
+ return instance.post("/entitled", params);
103
+ };
104
+ var handleEvent = async ({
105
+ instance,
106
+ params
107
+ }) => {
108
+ return instance.post("/events", params);
109
+ };
110
+ var handleTrack = async ({
111
+ instance,
112
+ params
113
+ }) => {
114
+ return instance.post("/track", params);
115
+ };
116
+ var handleUsage = async ({
117
+ instance,
118
+ params
119
+ }) => {
120
+ return instance.post("/usage", params);
121
+ };
122
+ var handleCheck = async ({
123
+ instance,
124
+ params
125
+ }) => {
126
+ return instance.post("/check", params);
127
+ };
128
+
129
+ // src/libraries/backend/constants.ts
130
+ var autumnApiUrl = "https://api.useautumn.com/v1";
131
+
52
132
  // src/sdk/utils.ts
53
133
  var staticWrapper = (callback, instance, args) => {
54
134
  if (!instance) {
@@ -161,50 +241,6 @@ var deleteEntity = async ({
161
241
  return instance.delete(`/customers/${customer_id}/entities/${entity_id}`);
162
242
  };
163
243
 
164
- // src/sdk/general/genMethods.ts
165
- var handleAttach = async ({
166
- instance,
167
- params
168
- }) => {
169
- return instance.post("/attach", params);
170
- };
171
- var handleCancel = async ({
172
- instance,
173
- params
174
- }) => {
175
- return instance.post("/cancel", params);
176
- };
177
- var handleEntitled = async ({
178
- instance,
179
- params
180
- }) => {
181
- return instance.post("/entitled", params);
182
- };
183
- var handleEvent = async ({
184
- instance,
185
- params
186
- }) => {
187
- return instance.post("/events", params);
188
- };
189
- var handleTrack = async ({
190
- instance,
191
- params
192
- }) => {
193
- return instance.post("/track", params);
194
- };
195
- var handleUsage = async ({
196
- instance,
197
- params
198
- }) => {
199
- return instance.post("/usage", params);
200
- };
201
- var handleCheck = async ({
202
- instance,
203
- params
204
- }) => {
205
- return instance.post("/check", params);
206
- };
207
-
208
244
  // src/sdk/products/prodMethods.ts
209
245
  var productMethods = (instance) => {
210
246
  return {
@@ -217,7 +253,7 @@ var listProducts = async ({
217
253
  instance,
218
254
  params
219
255
  }) => {
220
- let path = "/products";
256
+ let path = "/products_beta";
221
257
  if (params) {
222
258
  const queryParams = new URLSearchParams();
223
259
  for (const [key, value] of Object.entries(params)) {
@@ -266,12 +302,14 @@ var redeemReferralCode = async ({
266
302
  };
267
303
 
268
304
  // src/sdk/response.ts
269
- var toContainerResult = async (response) => {
305
+ var toContainerResult = async ({ response, logger: logger2 }) => {
270
306
  if (response.status < 200 || response.status >= 300) {
271
307
  let error;
272
308
  try {
273
309
  error = await response.json();
310
+ logger2.error(`[Autumn] ${error.message}`);
274
311
  } catch (error2) {
312
+ throw error2;
275
313
  return {
276
314
  data: null,
277
315
  error: new AutumnError({
@@ -298,6 +336,7 @@ var toContainerResult = async (response) => {
298
336
  statusCode: response?.status
299
337
  };
300
338
  } catch (error) {
339
+ throw error;
301
340
  return {
302
341
  data: null,
303
342
  error: new AutumnError({
@@ -309,14 +348,52 @@ var toContainerResult = async (response) => {
309
348
  }
310
349
  };
311
350
 
351
+ // src/utils/logger.ts
352
+ var import_chalk = __toESM(require("chalk"));
353
+ var getTime = () => {
354
+ let timeString = (/* @__PURE__ */ new Date()).toISOString();
355
+ return `[${timeString.split("T")[1].split(".")[0]}]`;
356
+ };
357
+ var greaterThanLevel = (level) => {
358
+ return levels.indexOf(level) >= levels.indexOf(logger.level);
359
+ };
360
+ var levels = ["debug", "info", "warn", "error", "fatal"];
361
+ var logger = {
362
+ ...console,
363
+ level: "info",
364
+ debug: (...args) => {
365
+ if (greaterThanLevel("debug")) {
366
+ console.log(getTime(), import_chalk.default.gray("DEBUG"), ...args);
367
+ }
368
+ },
369
+ log: (...args) => {
370
+ console.log(getTime(), import_chalk.default.blue("INFO"), ...args);
371
+ },
372
+ info: (...args) => {
373
+ if (greaterThanLevel("info")) {
374
+ console.log(getTime(), import_chalk.default.blue("INFO"), ...args);
375
+ }
376
+ },
377
+ warn: (...args) => {
378
+ if (greaterThanLevel("warn")) {
379
+ console.log(getTime(), import_chalk.default.yellow("WARN"), ...args);
380
+ }
381
+ },
382
+ error: (...args) => {
383
+ if (greaterThanLevel("error")) {
384
+ console.log(getTime(), import_chalk.default.red("ERROR"), ...args);
385
+ }
386
+ }
387
+ };
388
+
312
389
  // src/sdk/client.ts
313
390
  var LATEST_API_VERSION = "1.2";
314
391
  var Autumn = class {
315
392
  secretKey;
316
393
  publishableKey;
317
- level;
318
394
  headers;
319
395
  url;
396
+ logger = console;
320
397
  constructor(options) {
321
398
  try {
322
399
  this.secretKey = options?.secretKey || process.env.AUTUMN_SECRET_KEY;
@@ -332,17 +409,15 @@ var Autumn = class {
332
409
  };
333
410
  let version = options?.version || LATEST_API_VERSION;
334
411
  this.headers["x-api-version"] = version;
335
- this.url = options?.url || "https://api.useautumn.com/v1";
336
- this.level = this.secretKey ? "secret" : "publishable";
337
- }
338
- getLevel() {
339
- return this.level;
412
+ this.url = options?.url || autumnApiUrl;
413
+ this.logger = logger;
414
+ this.logger.level = options?.logLevel || "info";
340
415
  }
341
416
  async get(path) {
342
417
  const response = await fetch(`${this.url}${path}`, {
343
418
  headers: this.headers
344
419
  });
345
- return toContainerResult(response);
420
+ return toContainerResult({ response, logger: this.logger });
346
421
  }
347
422
  async post(path, body) {
348
423
  try {
@@ -351,7 +426,7 @@ var Autumn = class {
351
426
  headers: this.headers,
352
427
  body: JSON.stringify(body)
353
428
  });
354
- return toContainerResult(response);
429
+ return toContainerResult({ response, logger: this.logger });
355
430
  } catch (error) {
356
431
  console.error("Error sending request:", error);
357
432
  throw error;
@@ -362,7 +437,7 @@ var Autumn = class {
362
437
  method: "DELETE",
363
438
  headers: this.headers
364
439
  });
365
- return toContainerResult(response);
440
+ return toContainerResult({ response, logger: this.logger });
366
441
  }
367
442
  static customers = customerMethods();
368
443
  static products = productMethods();
@@ -439,6 +514,19 @@ var Autumn = class {
439
514
  }
440
515
  };
441
516
 
517
+ // src/libraries/react/errorUtils/logFetchError.ts
518
+ var logFetchError = ({
519
+ method,
520
+ backendUrl,
521
+ path,
522
+ error
523
+ }) => {
524
+ console.error(`[Autumn] Fetch failed: ${method} ${backendUrl}${path}
525
+
526
+ 1. Check that backendUrl in <AutumnProvider/> is correctly set.
527
+ 2. Check that autumnHandler is correctly registered on your backend.`);
528
+ };
529
+
442
530
  // src/libraries/react/client/clientCompMethods.ts
443
531
  async function getPricingTableMethod() {
444
532
  const res = await this.get("/api/autumn/components/pricing_table");
@@ -526,6 +614,12 @@ async function openBillingPortalMethod(params) {
526
614
  return res;
527
615
  }
528
616
 
617
+ // src/libraries/react/client/clientProdMethods.ts
618
+ async function listProductsMethod() {
619
+ const res = await this.get("/api/autumn/products");
620
+ return res;
621
+ }
622
+
529
623
  // src/libraries/react/client/clientReferralMethods.ts
530
624
  async function createCode(params) {
531
625
  let snakeParams = toSnakeCase(params);
@@ -569,36 +663,57 @@ var AutumnClient = class {
569
663
  }
570
664
  return headers;
571
665
  }
572
- async handleFetchResult(result) {
573
- let res = await toContainerResult(result);
574
- return res;
666
+ async handleFetch({
667
+ path,
668
+ method,
669
+ body
670
+ }) {
671
+ body = method === "POST" ? JSON.stringify({
672
+ ...body,
673
+ customer_data: this.customerData || void 0
674
+ }) : void 0;
675
+ try {
676
+ const response = await fetch(`${this.backendUrl}${path}`, {
677
+ method,
678
+ body,
679
+ headers: await this.getHeaders(),
680
+ credentials: this.includeCredentials ? "include" : void 0
681
+ });
682
+ return await toContainerResult({ response, logger: console });
683
+ } catch (error) {
684
+ logFetchError({
685
+ method,
686
+ backendUrl: this.backendUrl || "",
687
+ path,
688
+ error
689
+ });
690
+ return {
691
+ data: null,
692
+ error: new AutumnError({
693
+ message: error.message,
694
+ code: "fetch_failed"
695
+ })
696
+ };
697
+ }
575
698
  }
576
699
  async post(path, body) {
577
- const response = await fetch(`${this.backendUrl}${path}`, {
700
+ return await this.handleFetch({
701
+ path,
578
702
  method: "POST",
579
- body: JSON.stringify({
580
- ...body,
581
- customer_data: this.customerData || void 0
582
- }),
583
- headers: await this.getHeaders(),
584
- credentials: this.includeCredentials ? "include" : void 0
703
+ body
585
704
  });
586
- return await this.handleFetchResult(response);
587
705
  }
588
706
  async get(path) {
589
- const response = await fetch(`${this.backendUrl}${path}`, {
590
- method: "GET",
591
- headers: await this.getHeaders(),
592
- credentials: this.includeCredentials ? "include" : void 0
707
+ return await this.handleFetch({
708
+ path,
709
+ method: "GET"
593
710
  });
594
- return await this.handleFetchResult(response);
595
711
  }
596
712
  async delete(path) {
597
- const response = await fetch(`${this.backendUrl}${path}`, {
598
- method: "DELETE",
599
- headers: await this.getHeaders()
713
+ return await this.handleFetch({
714
+ path,
715
+ method: "DELETE"
600
716
  });
601
- return await this.handleFetchResult(response);
602
717
  }
603
718
  async createCustomer(params) {
604
719
  return await createCustomerMethod({
@@ -623,27 +738,17 @@ var AutumnClient = class {
623
738
  createCode: createCode.bind(this),
624
739
  redeemCode: redeemCode.bind(this)
625
740
  };
741
+ products = {
742
+ list: listProductsMethod.bind(this)
743
+ };
626
744
  };
627
745
 
628
746
  // src/libraries/react/AutumnContext.tsx
629
- var AutumnContext = (0, import_react.createContext)({
630
- customerProvider: null,
631
- pricingTableProvider: {
632
- pricingTableProducts: null,
633
- isLoading: true,
634
- error: null,
635
- refetch: () => Promise.resolve()
636
- },
637
- entityProvider: {
638
- entity: null,
639
- isLoading: true,
640
- error: null,
641
- refetch: () => Promise.resolve(),
642
- lastParams: null
643
- },
644
- client: new AutumnClient({
645
- backendUrl: "http://localhost:8000"
646
- }),
747
+ var import_react2 = require("react");
748
+ var AutumnContext = (0, import_react2.createContext)({
749
+ initialized: false,
750
+ disableDialogs: false,
751
+ client: new AutumnClient({ backendUrl: "" }),
647
752
  paywallDialog: {
648
753
  props: null,
649
754
  setProps: () => {
@@ -654,7 +759,7 @@ var AutumnContext = (0, import_react.createContext)({
654
759
  setComponent: () => {
655
760
  }
656
761
  },
657
- prodChangeDialog: {
762
+ attachDialog: {
658
763
  props: null,
659
764
  setProps: () => {
660
765
  },
@@ -665,181 +770,427 @@ var AutumnContext = (0, import_react.createContext)({
665
770
  }
666
771
  }
667
772
  });
773
+ var useAutumnContext = ({
774
+ AutumnContext: AutumnContext2,
775
+ name
776
+ }) => {
777
+ const context = (0, import_react2.useContext)(AutumnContext2);
778
+ if (!context.initialized) {
779
+ throw new Error(`${name} must be used within <AutumnProvider />`);
780
+ }
781
+ return context;
782
+ };
668
783
 
669
- // src/libraries/react/BaseAutumnProvider.tsx
670
- var import_react6 = require("react");
671
-
672
- // src/libraries/react/hooks/useDialog.tsx
673
- var import_react2 = require("react");
674
- var useDialog = (component) => {
675
- const [dialogProps, setDialogProps] = (0, import_react2.useState)(null);
676
- const [dialogOpen, setDialogOpen] = (0, import_react2.useState)(false);
677
- (0, import_react2.useEffect)(() => {
678
- if (!dialogOpen) {
679
- setTimeout(() => {
680
- setDialogProps(null);
681
- }, 200);
784
+ // src/libraries/react/hooks/usePricingTableBase.tsx
785
+ var import_swr = __toESM(require("swr"));
786
+ var mergeProductDetails = (products, productDetails) => {
787
+ if (!products) {
788
+ return null;
789
+ }
790
+ if (!productDetails) {
791
+ return products;
792
+ }
793
+ let fetchedProducts = structuredClone(products);
794
+ let mergedProducts = [];
795
+ for (const overrideDetails of productDetails) {
796
+ if (!overrideDetails.id) {
797
+ let properties = {};
798
+ let overrideItems2 = overrideDetails.items?.map((item) => ({
799
+ display: {
800
+ primary_text: item.primaryText,
801
+ secondary_text: item.secondaryText
802
+ }
803
+ }));
804
+ let overridePrice2 = overrideDetails.price;
805
+ if (overrideDetails.price) {
806
+ properties.is_free = false;
807
+ overrideItems2 = [
808
+ {
809
+ display: {
810
+ primary_text: overridePrice2?.primaryText,
811
+ secondary_text: overridePrice2?.secondaryText
812
+ }
813
+ },
814
+ ...overrideItems2 || []
815
+ ];
816
+ }
817
+ mergedProducts.push({
818
+ name: overrideDetails.name || "",
819
+ display: {
820
+ description: overrideDetails.description,
821
+ button_text: overrideDetails.buttonText,
822
+ recommend_text: overrideDetails.recommendText,
823
+ everything_from: overrideDetails.everythingFrom,
824
+ button_url: overrideDetails.buttonUrl
825
+ },
826
+ items: overrideItems2,
827
+ properties
828
+ });
829
+ continue;
682
830
  }
683
- }, [dialogOpen]);
684
- return [dialogProps, setDialogProps, dialogOpen, setDialogOpen];
831
+ let fetchedProduct = fetchedProducts.find(
832
+ (p) => p.id === overrideDetails.id
833
+ );
834
+ if (!fetchedProduct) {
835
+ continue;
836
+ }
837
+ const originalIsFree = fetchedProduct.properties?.is_free;
838
+ let overrideProperties = fetchedProduct.properties || {};
839
+ let overrideItems = overrideDetails.items;
840
+ let overridePrice = overrideDetails.price;
841
+ let mergedItems = [];
842
+ if (overridePrice) {
843
+ overrideProperties.is_free = false;
844
+ if (originalIsFree || overrideItems !== void 0) {
845
+ mergedItems.push({
846
+ display: {
847
+ primary_text: overridePrice.primaryText,
848
+ secondary_text: overridePrice.secondaryText
849
+ }
850
+ });
851
+ } else {
852
+ fetchedProduct.items[0].display = {
853
+ primary_text: overridePrice.primaryText,
854
+ secondary_text: overridePrice.secondaryText
855
+ };
856
+ }
857
+ } else {
858
+ if (overrideItems && !originalIsFree) {
859
+ mergedItems.push(fetchedProduct.items[0]);
860
+ }
861
+ }
862
+ if (overrideItems) {
863
+ for (const overrideItem of overrideItems) {
864
+ if (!overrideItem.featureId) {
865
+ mergedItems.push({
866
+ display: {
867
+ primary_text: overrideItem.primaryText,
868
+ secondary_text: overrideItem.secondaryText
869
+ }
870
+ });
871
+ } else {
872
+ let fetchedItem = fetchedProduct.items.find(
873
+ (i) => i.feature_id === overrideItem.featureId
874
+ );
875
+ if (!fetchedItem) {
876
+ console.error(
877
+ `Feature with id ${overrideItem.featureId} not found for product ${fetchedProduct.id}`
878
+ );
879
+ continue;
880
+ }
881
+ mergedItems.push({
882
+ ...fetchedItem,
883
+ display: {
884
+ primary_text: overrideItem.primaryText || fetchedItem.display?.primary_text,
885
+ secondary_text: overrideItem.secondaryText || fetchedItem.display?.secondary_text
886
+ }
887
+ });
888
+ }
889
+ }
890
+ } else {
891
+ mergedItems = fetchedProduct.items;
892
+ }
893
+ const mergedProduct = {
894
+ ...fetchedProduct,
895
+ name: overrideDetails.name || fetchedProduct.name,
896
+ items: mergedItems,
897
+ properties: overrideProperties,
898
+ display: {
899
+ description: overrideDetails.description,
900
+ button_text: overrideDetails.buttonText,
901
+ recommend_text: overrideDetails.recommendText,
902
+ everything_from: overrideDetails.everythingFrom,
903
+ button_url: overrideDetails.buttonUrl
904
+ }
905
+ // description: overrideDetails.description,
906
+ // button_text: overrideDetails.buttonText,
907
+ // recommend_text: overrideDetails.recommendText,
908
+ // everything_from: overrideDetails.everythingFrom,
909
+ };
910
+ mergedProducts.push(mergedProduct);
911
+ }
912
+ return mergedProducts;
685
913
  };
686
-
687
- // src/libraries/react/hooks/usePricingTableProvider.tsx
688
- var import_react3 = require("react");
689
- var usePricingTableProvider = ({
690
- client
914
+ var usePricingTableBase = ({
915
+ AutumnContext: AutumnContext2,
916
+ params
691
917
  }) => {
692
- const [pricingTableProducts, setPricingTableProducts] = (0, import_react3.useState)(null);
693
- const [isLoading, setIsLoading] = (0, import_react3.useState)(true);
694
- const [error, setError] = (0, import_react3.useState)(null);
695
- const fetchProducts = async () => {
918
+ const context = useAutumnContext({ AutumnContext: AutumnContext2, name: "usePricingTable" });
919
+ const fetcher = async () => {
696
920
  try {
697
- setIsLoading(true);
698
- const { data, error: error2 } = await client.getPricingTable();
699
- if (error2) {
700
- setError(error2);
701
- setPricingTableProducts(null);
702
- } else {
703
- setPricingTableProducts(data?.list || []);
704
- setError(null);
705
- }
921
+ const { data: data2, error: error2 } = await context.client.products.list();
922
+ if (error2) throw error2;
923
+ return data2?.list || [];
706
924
  } catch (error2) {
707
- setError(
708
- new AutumnError({
709
- message: "Failed to fetch pricing table products",
710
- code: "failed_to_fetch_pricing_table_products"
711
- })
712
- );
713
- setPricingTableProducts(null);
714
- } finally {
715
- setIsLoading(false);
925
+ throw new AutumnError({
926
+ message: "Failed to fetch pricing table products",
927
+ code: "failed_to_fetch_pricing_table_products"
928
+ });
716
929
  }
717
930
  };
931
+ const { data, error, mutate } = (0, import_swr.default)(
932
+ "pricing-table",
933
+ fetcher
934
+ );
718
935
  return {
719
- pricingTableProducts,
720
- isLoading: isLoading && !pricingTableProducts,
936
+ products: mergeProductDetails(data || [], params?.productDetails),
937
+ // products: data || [],
938
+ isLoading: !error && !data,
721
939
  error,
722
- refetch: fetchProducts
940
+ refetch: mutate
723
941
  };
724
942
  };
725
943
 
726
- // src/libraries/react/hooks/useEntityProvider.tsx
727
- var import_react4 = require("react");
728
- var useEntityProvider = ({ client }) => {
729
- const [entity, setEntity] = (0, import_react4.useState)(null);
730
- const [error, setError] = (0, import_react4.useState)(null);
731
- const [isLoading, setIsLoading] = (0, import_react4.useState)(true);
732
- const [lastParams, setLastParams] = (0, import_react4.useState)(null);
733
- const fetchEntity = async ({
734
- entityId,
735
- params
736
- }) => {
737
- if (!entityId) {
738
- console.warn("(Autumn) No entity ID provided in useEntity hook");
739
- return;
740
- }
741
- setIsLoading(true);
742
- setLastParams(params || null);
743
- try {
744
- const { data, error: error2 } = await client.entities.get(entityId, params);
745
- if (error2) {
746
- setError(error2);
747
- setEntity(null);
944
+ // src/libraries/react/hooks/useAutumnBase.tsx
945
+ var useAutumnBase = ({
946
+ AutumnContext: AutumnContext2
947
+ }) => {
948
+ const context = useAutumnContext({ AutumnContext: AutumnContext2, name: "useAutumn" });
949
+ const { attachDialog, paywallDialog } = context;
950
+ const client = context.client;
951
+ const { refetch: refetchPricingTable } = usePricingTableBase({
952
+ AutumnContext: AutumnContext2
953
+ });
954
+ let {
955
+ open: attachOpen,
956
+ setProps: setAttachProps,
957
+ setOpen: setAttachOpen,
958
+ setComponent: setAttachComponent
959
+ } = attachDialog;
960
+ let {
961
+ setProps: setCheckProps,
962
+ setOpen: setCheckOpen,
963
+ setComponent: setPaywallComponent
964
+ } = paywallDialog;
965
+ const attachWithoutDialog = async (params) => {
966
+ const result = await client.attach(params);
967
+ if (result.error) {
968
+ return result;
969
+ }
970
+ let data = result.data;
971
+ if (data?.checkout_url && typeof window !== "undefined") {
972
+ if (params.openInNewTab) {
973
+ window.open(data.checkout_url, "_blank");
748
974
  } else {
749
- setEntity(data);
750
- setError(null);
975
+ window.location.href = data.checkout_url;
751
976
  }
752
- } catch (error2) {
753
- setError(
754
- new AutumnError({
755
- message: error2?.message || "Failed to fetch entity",
756
- code: "entity_fetch_failed"
757
- })
758
- );
759
977
  }
760
- setIsLoading(false);
978
+ await refetchPricingTable();
979
+ if (setAttachOpen) {
980
+ setAttachOpen(false);
981
+ }
982
+ return result;
761
983
  };
762
- return { entity, isLoading, error, refetch: fetchEntity, lastParams };
763
- };
764
-
765
- // src/libraries/react/hooks/useCustomerProvider.tsx
766
- var import_react5 = require("react");
767
- function useCustomerProvider(client) {
768
- const [stateMap, setStateMap] = (0, import_react5.useState)({});
769
- const inProgressFetches = (0, import_react5.useRef)({});
770
- const getQueryKey = (params) => {
771
- return JSON.stringify(params || {});
984
+ const attachWithDialog = async (params) => {
985
+ let { dialog, ...rest } = params;
986
+ const { productId, entityId, entityData } = params;
987
+ const checkRes = await client.check({
988
+ productId,
989
+ entityId,
990
+ entityData,
991
+ withPreview: true
992
+ });
993
+ if (checkRes.error) {
994
+ return checkRes;
995
+ }
996
+ let preview = checkRes.data.preview;
997
+ if (!preview) {
998
+ return await attachWithoutDialog(rest);
999
+ } else {
1000
+ setAttachProps({ preview });
1001
+ setAttachOpen(true);
1002
+ }
1003
+ return checkRes;
772
1004
  };
773
- const getState = (params) => {
774
- const queryKey = getQueryKey(params);
775
- if (!stateMap[queryKey]) {
776
- return {
777
- customer: null,
778
- isLoading: true,
779
- error: null
780
- };
1005
+ const attach = async (params) => {
1006
+ const { dialog, openInNewTab } = params;
1007
+ let finalDialog = dialog;
1008
+ if (finalDialog && !attachOpen) {
1009
+ setAttachComponent(finalDialog);
1010
+ return await attachWithDialog(params);
781
1011
  }
782
- return stateMap[queryKey];
1012
+ return await attachWithoutDialog(params);
783
1013
  };
784
- const refetch = async ({
785
- params,
786
- errorOnNotFound = true
787
- }) => {
788
- const queryKey = getQueryKey(params);
789
- if (inProgressFetches.current[queryKey]) {
790
- return;
791
- }
792
- inProgressFetches.current[queryKey] = true;
793
- setStateMap((prevState) => ({
794
- ...prevState,
795
- [queryKey]: {
796
- ...prevState[queryKey] || { customer: null },
797
- isLoading: true,
798
- error: null
799
- }
800
- }));
801
- const { data, error } = await client.createCustomer({
802
- expand: params?.expand,
803
- errorOnNotFound
1014
+ const cancel = async (params) => {
1015
+ const res = await client.cancel(params);
1016
+ if (res.error) {
1017
+ return res;
1018
+ }
1019
+ return res;
1020
+ };
1021
+ const check = async (params) => {
1022
+ let { dialog, withPreview } = params;
1023
+ if (dialog) {
1024
+ setPaywallComponent(dialog);
1025
+ }
1026
+ const res = await client.check({
1027
+ ...params,
1028
+ withPreview: withPreview || dialog ? true : false
804
1029
  });
805
- let newState = {
806
- customer: data,
807
- isLoading: false,
808
- error
809
- };
810
- setStateMap((prevState) => ({
811
- ...prevState,
812
- [queryKey]: newState
813
- }));
814
- inProgressFetches.current[queryKey] = false;
1030
+ if (res.error) {
1031
+ return res;
1032
+ }
1033
+ let data = res.data;
1034
+ if (data && data.preview && dialog) {
1035
+ let preview = data.preview;
1036
+ setCheckProps({ preview });
1037
+ setCheckOpen(true);
1038
+ }
1039
+ return res;
815
1040
  };
816
- const refetchFirstTwo = async () => {
817
- try {
818
- let batchRefetch = [];
819
- for (const key of Object.keys(stateMap)) {
820
- batchRefetch.push(refetch({ params: JSON.parse(key) }));
1041
+ const track = async (params) => {
1042
+ const res = await client.track(params);
1043
+ if (res.error) {
1044
+ return res;
1045
+ }
1046
+ return res;
1047
+ };
1048
+ const openBillingPortal = async (params) => {
1049
+ let defaultParams = {
1050
+ openInNewTab: false
1051
+ };
1052
+ let finalParams = {
1053
+ ...defaultParams,
1054
+ ...params
1055
+ };
1056
+ const res = await client.openBillingPortal(finalParams);
1057
+ if (res.error) {
1058
+ return res;
1059
+ }
1060
+ let data = res.data;
1061
+ if (data?.url && typeof window !== "undefined") {
1062
+ if (finalParams.openInNewTab) {
1063
+ window.open(data.url, "_blank");
1064
+ } else {
1065
+ window.open(data.url, "_self");
821
1066
  }
822
- await Promise.all(batchRefetch);
823
- } catch (error) {
824
- console.error("Failed to refetch customer (useCustomerProvider)");
825
- console.error(error);
1067
+ return res;
1068
+ } else {
1069
+ return res;
826
1070
  }
827
1071
  };
828
1072
  return {
829
- // stateMap,
830
- getState,
831
- refetch,
832
- refetchFirstTwo
1073
+ attach,
1074
+ check,
1075
+ track,
1076
+ cancel,
1077
+ openBillingPortal
833
1078
  };
834
- }
1079
+ };
1080
+
1081
+ // src/libraries/react/hooks/handleAllowed.ts
1082
+ var getCusFeature = ({
1083
+ customer,
1084
+ featureId,
1085
+ requiredBalance = 1
1086
+ }) => {
1087
+ let creditSchema = Object.values(customer.features).find((f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId));
1088
+ if (creditSchema) {
1089
+ let schemaItem = creditSchema.credit_schema?.find((c) => c.feature_id === featureId);
1090
+ return {
1091
+ feature: creditSchema,
1092
+ requiredBalance: schemaItem.credit_amount * requiredBalance
1093
+ };
1094
+ }
1095
+ return {
1096
+ cusFeature: customer.features[featureId],
1097
+ requiredBalance
1098
+ };
1099
+ };
1100
+ var handleFeatureAllowed = ({ customer, params }) => {
1101
+ let { cusFeature, requiredBalance } = getCusFeature({ customer, featureId: params.featureId });
1102
+ if (!cusFeature) return false;
1103
+ if (cusFeature.type == "static") return true;
1104
+ if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
1105
+ return (cusFeature.balance || 0) >= requiredBalance;
1106
+ };
1107
+ var handleAllowed = ({ customer, params }) => {
1108
+ if (!customer) return false;
1109
+ if (!params.featureId && !params.productId) {
1110
+ throw new Error("allowed() requires either featureId or productId");
1111
+ }
1112
+ if (params.featureId) {
1113
+ return handleFeatureAllowed({ customer, params });
1114
+ }
1115
+ if (params.productId) {
1116
+ let product = customer.products.find((p) => p.id == params.productId);
1117
+ if (!product) return false;
1118
+ let status = product.status;
1119
+ if (status == "scheduled") return false;
1120
+ return true;
1121
+ }
1122
+ return false;
1123
+ };
1124
+
1125
+ // src/libraries/react/hooks/useCustomerBase.tsx
1126
+ var emptyDefaultFunctions = {
1127
+ attach: "",
1128
+ check: "",
1129
+ track: "",
1130
+ cancel: "",
1131
+ openBillingPortal: ""
1132
+ };
1133
+ var useCustomerBase = ({
1134
+ params,
1135
+ AutumnContext: AutumnContext2,
1136
+ client
1137
+ }) => {
1138
+ const queryKey = ["customer"];
1139
+ let context;
1140
+ if (AutumnContext2) {
1141
+ context = useAutumnContext({ AutumnContext: AutumnContext2, name: "useCustomer" });
1142
+ }
1143
+ if (!client) {
1144
+ client = context.client;
1145
+ }
1146
+ const fetchCustomer = async () => {
1147
+ const { data, error: error2 } = await client.createCustomer({
1148
+ errorOnNotFound: params?.errorOnNotFound,
1149
+ expand: params?.expand
1150
+ });
1151
+ if (error2) {
1152
+ throw error2;
1153
+ }
1154
+ if (!data) {
1155
+ return null;
1156
+ }
1157
+ return data;
1158
+ };
1159
+ const { data: customer, error, isLoading, mutate } = (0, import_swr2.default)(queryKey, fetchCustomer, {
1160
+ fallbackData: null,
1161
+ onErrorRetry: (error2, key, config) => {
1162
+ if (error2.code == "entity_not_found") {
1163
+ return false;
1164
+ }
1165
+ return true;
1166
+ }
1167
+ });
1168
+ let autumnFunctions = emptyDefaultFunctions;
1169
+ if (AutumnContext2) {
1170
+ autumnFunctions = useAutumnBase({ AutumnContext: AutumnContext2 });
1171
+ }
1172
+ return {
1173
+ customer: error ? null : customer,
1174
+ isLoading,
1175
+ error,
1176
+ refetch: mutate,
1177
+ ...autumnFunctions,
1178
+ createEntity: client.entities.create,
1179
+ createReferralCode: client.referrals.createCode,
1180
+ redeemReferralCode: client.referrals.redeemCode,
1181
+ allowed: (params2) => handleAllowed({ customer, params: params2 })
1182
+ };
1183
+ };
835
1184
 
836
1185
  // src/libraries/react/BaseAutumnProvider.tsx
837
1186
  var import_jsx_runtime = require("react/jsx-runtime");
838
1187
  function BaseAutumnProvider({
839
1188
  client,
840
- children
1189
+ children,
1190
+ AutumnContext: AutumnContext2,
1191
+ disableDialogs = false
841
1192
  }) {
842
- const [components, setComponents] = (0, import_react6.useState)({});
1193
+ const [components, setComponents] = (0, import_react3.useState)({});
843
1194
  const [paywallProps, setPaywallProps, paywallOpen, setPaywallOpen] = useDialog(components.paywallDialog);
844
1195
  const [
845
1196
  productChangeProps,
@@ -847,34 +1198,14 @@ function BaseAutumnProvider({
847
1198
  productChangeOpen,
848
1199
  setProductChangeOpen
849
1200
  ] = useDialog(components.productChangeDialog);
850
- const customerProvider = useCustomerProvider(client);
851
- const entityProvider = useEntityProvider({ client });
852
- const {
853
- pricingTableProducts,
854
- isLoading: pricingTableLoading,
855
- error: pricingTableError,
856
- refetch
857
- } = usePricingTableProvider({
858
- client
859
- });
860
- (0, import_react6.useEffect)(() => {
861
- customerProvider.refetch({
862
- errorOnNotFound: false
863
- });
864
- }, []);
1201
+ useCustomerBase({ client, params: { errorOnNotFound: false } });
865
1202
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
866
- AutumnContext.Provider,
1203
+ AutumnContext2.Provider,
867
1204
  {
868
1205
  value: {
869
- customerProvider,
870
- entityProvider,
871
- pricingTableProvider: {
872
- pricingTableProducts,
873
- isLoading: pricingTableLoading,
874
- error: pricingTableError,
875
- refetch
876
- },
1206
+ initialized: true,
877
1207
  client,
1208
+ disableDialogs,
878
1209
  paywallDialog: {
879
1210
  props: paywallProps,
880
1211
  setProps: setPaywallProps,
@@ -887,7 +1218,7 @@ function BaseAutumnProvider({
887
1218
  });
888
1219
  }
889
1220
  },
890
- prodChangeDialog: {
1221
+ attachDialog: {
891
1222
  props: productChangeProps,
892
1223
  setProps: setProductChangeProps,
893
1224
  open: productChangeOpen,