autumn-js 0.0.67 → 0.0.74

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 (323) hide show
  1. package/components.json +21 -0
  2. package/dist/libraries/backend/better-auth.d.mts +8 -0
  3. package/dist/libraries/backend/better-auth.d.ts +8 -0
  4. package/dist/libraries/backend/better-auth.js +20061 -0
  5. package/dist/libraries/backend/better-auth.mjs +19201 -0
  6. package/dist/libraries/backend/{chunk-6OVW4YXK.mjs → chunk-2JZFMBVR.mjs} +1 -1
  7. package/dist/libraries/backend/{chunk-AEEYR55J.mjs → chunk-GUZSIYGF.mjs} +1 -1
  8. package/dist/libraries/backend/{chunk-BYAXY6C4.mjs → chunk-J7UA442M.mjs} +1 -1
  9. package/dist/libraries/backend/chunk-PBBWXVWW.mjs +28 -0
  10. package/dist/libraries/backend/{chunk-46YP3QFO.mjs → chunk-T4YSUMNB.mjs} +9 -5
  11. package/dist/libraries/backend/chunk-UNZHJTEY.mjs +18 -0
  12. package/dist/libraries/backend/{chunk-6DZX6EAA.mjs → chunk-XGB3TDIC.mjs} +5 -0
  13. package/dist/libraries/backend/{chunk-IZAQ6MUN.mjs → chunk-Y2VYFWJD.mjs} +1 -1
  14. package/dist/libraries/backend/{chunk-6N4RVNZ5.mjs → chunk-ZF4V3SVZ.mjs} +1 -1
  15. package/dist/libraries/backend/constants.mjs +1 -1
  16. package/dist/libraries/backend/express.d.mts +2 -1
  17. package/dist/libraries/backend/express.d.ts +2 -1
  18. package/dist/libraries/backend/express.js +45 -7
  19. package/dist/libraries/backend/express.mjs +15 -7
  20. package/dist/libraries/backend/fastify.js +26 -7
  21. package/dist/libraries/backend/fastify.mjs +8 -7
  22. package/dist/libraries/backend/hono.js +26 -7
  23. package/dist/libraries/backend/hono.mjs +8 -7
  24. package/dist/libraries/backend/next.js +52 -11
  25. package/dist/libraries/backend/next.mjs +22 -11
  26. package/dist/libraries/backend/react-router.js +26 -7
  27. package/dist/libraries/backend/react-router.mjs +8 -7
  28. package/dist/libraries/backend/{referralTypes-CURy8Tnw.d.ts → referralTypes-CSbCGBim.d.ts} +59 -25
  29. package/dist/libraries/backend/{referralTypes-7NmhI47Z.d.mts → referralTypes-DiYwS4QY.d.mts} +59 -25
  30. package/dist/libraries/backend/remix_dep.js +26 -7
  31. package/dist/libraries/backend/remix_dep.mjs +8 -7
  32. package/dist/libraries/backend/routes/backendRouter.js +24 -5
  33. package/dist/libraries/backend/routes/backendRouter.mjs +8 -7
  34. package/dist/libraries/backend/routes/entityRoutes.js +1 -1
  35. package/dist/libraries/backend/routes/entityRoutes.mjs +4 -4
  36. package/dist/libraries/backend/routes/genRoutes.js +1 -1
  37. package/dist/libraries/backend/routes/genRoutes.mjs +4 -4
  38. package/dist/libraries/backend/routes/productRoutes.d.mts +5 -0
  39. package/dist/libraries/backend/routes/productRoutes.d.ts +5 -0
  40. package/dist/libraries/backend/routes/productRoutes.js +594 -0
  41. package/dist/libraries/backend/routes/productRoutes.mjs +11 -0
  42. package/dist/libraries/backend/routes/referralRoutes.js +1 -1
  43. package/dist/libraries/backend/routes/referralRoutes.mjs +4 -4
  44. package/dist/libraries/backend/supabase.js +26 -7
  45. package/dist/libraries/backend/supabase.mjs +8 -7
  46. package/dist/libraries/backend/tanstack.js +26 -7
  47. package/dist/libraries/backend/tanstack.mjs +8 -7
  48. package/dist/libraries/backend/utils/backendRes.js +1 -1
  49. package/dist/libraries/backend/utils/backendRes.mjs +2 -2
  50. package/dist/libraries/backend/utils/logBackendErrors.mjs +1 -1
  51. package/dist/libraries/backend/utils/secretKeyCheck.d.mts +13 -0
  52. package/dist/libraries/backend/utils/secretKeyCheck.d.ts +13 -0
  53. package/dist/libraries/backend/utils/secretKeyCheck.js +42 -0
  54. package/dist/libraries/backend/utils/secretKeyCheck.mjs +7 -0
  55. package/dist/libraries/backend/utils/withAuth.d.mts +2 -2
  56. package/dist/libraries/backend/utils/withAuth.d.ts +2 -2
  57. package/dist/libraries/backend/utils/withAuth.js +1 -1
  58. package/dist/libraries/backend/utils/withAuth.mjs +3 -3
  59. package/dist/libraries/react/AutumnContext.d.mts +7 -6
  60. package/dist/libraries/react/AutumnContext.d.ts +7 -6
  61. package/dist/libraries/react/AutumnContext.js +24 -12
  62. package/dist/libraries/react/AutumnContext.mjs +8 -7
  63. package/dist/libraries/react/BaseAutumnProvider.d.mts +7 -6
  64. package/dist/libraries/react/BaseAutumnProvider.d.ts +7 -6
  65. package/dist/libraries/react/BaseAutumnProvider.js +6022 -115
  66. package/dist/libraries/react/BaseAutumnProvider.mjs +22 -9
  67. package/dist/libraries/react/{ReactAutumnClient-EjsfCAgE.d.mts → ReactAutumnClient-BT7tsOG0.d.mts} +29 -6
  68. package/dist/libraries/react/{ReactAutumnClient-BM8hrCEC.d.ts → ReactAutumnClient-DfDXFLBI.d.ts} +29 -6
  69. package/dist/libraries/react/ReactAutumnProvider.d.mts +4 -2
  70. package/dist/libraries/react/ReactAutumnProvider.d.ts +4 -2
  71. package/dist/libraries/react/ReactAutumnProvider.js +6039 -119
  72. package/dist/libraries/react/ReactAutumnProvider.mjs +22 -10
  73. package/dist/libraries/react/{response-B2MqTR7X.d.ts → checkTypes-ByzZ-KO2.d.ts} +42 -53
  74. package/dist/libraries/react/{response-By38xiUq.d.mts → checkTypes-h2Fyyuh0.d.mts} +42 -53
  75. package/dist/libraries/react/chunk-27OTS3Q5.mjs +53 -0
  76. package/dist/libraries/react/{chunk-TBCLSIC2.mjs → chunk-3EYF7OI5.mjs} +1 -1
  77. package/dist/libraries/react/chunk-4J6OC4ZQ.mjs +2532 -0
  78. package/dist/libraries/react/chunk-5FZ7IV6P.mjs +2021 -0
  79. package/dist/libraries/react/{chunk-EOSHPHLH.mjs → chunk-6N2SUOJ6.mjs} +4 -5
  80. package/dist/libraries/react/{chunk-LS3NB4DU.mjs → chunk-77N4ARHR.mjs} +2 -2
  81. package/dist/libraries/react/chunk-BCMBFJ7E.mjs +125 -0
  82. package/dist/libraries/react/chunk-CMO5LYYU.mjs +241 -0
  83. package/dist/libraries/react/{chunk-57I3B4BV.mjs → chunk-D3H6GCJ4.mjs} +2 -2
  84. package/dist/libraries/react/{chunk-JNJ53ZW6.mjs → chunk-EH2VPTFH.mjs} +1 -1
  85. package/dist/libraries/react/chunk-FEFGYFXQ.mjs +134 -0
  86. package/dist/libraries/react/chunk-FPI3PLEL.mjs +218 -0
  87. package/dist/libraries/react/chunk-JFXBUWKA.mjs +50 -0
  88. package/dist/libraries/react/chunk-KQT5G3HT.mjs +27 -0
  89. package/dist/libraries/react/chunk-MF3MHICX.mjs +983 -0
  90. package/dist/libraries/react/chunk-MY2ODATB.mjs +51 -0
  91. package/dist/libraries/react/chunk-P2O4LZFD.mjs +101 -0
  92. package/dist/libraries/react/chunk-PFTFPWFN.mjs +190 -0
  93. package/dist/libraries/react/chunk-QBBE72EF.mjs +57 -0
  94. package/dist/libraries/react/{chunk-XDAZD5HF.mjs → chunk-TLRISML2.mjs} +16 -9
  95. package/dist/libraries/react/{chunk-4KKWHG2V.mjs → chunk-V5PKOA5A.mjs} +1 -1
  96. package/dist/libraries/react/chunk-YUV2Y2RW.mjs +12 -0
  97. package/dist/libraries/react/client/ReactAutumnClient.d.mts +5 -5
  98. package/dist/libraries/react/client/ReactAutumnClient.d.ts +5 -5
  99. package/dist/libraries/react/client/ReactAutumnClient.js +21 -8
  100. package/dist/libraries/react/client/ReactAutumnClient.mjs +7 -6
  101. package/dist/libraries/react/client/clientCompMethods.d.mts +5 -5
  102. package/dist/libraries/react/client/clientCompMethods.d.ts +5 -5
  103. package/dist/libraries/react/client/clientCusMethods.d.mts +5 -5
  104. package/dist/libraries/react/client/clientCusMethods.d.ts +5 -5
  105. package/dist/libraries/react/client/clientEntityMethods.d.mts +5 -5
  106. package/dist/libraries/react/client/clientEntityMethods.d.ts +5 -5
  107. package/dist/libraries/react/client/clientEntityMethods.js +9 -6
  108. package/dist/libraries/react/client/clientEntityMethods.mjs +2 -2
  109. package/dist/libraries/react/client/clientGenMethods.d.mts +6 -6
  110. package/dist/libraries/react/client/clientGenMethods.d.ts +6 -6
  111. package/dist/libraries/react/client/clientGenMethods.js +10 -7
  112. package/dist/libraries/react/client/clientGenMethods.mjs +2 -2
  113. package/dist/libraries/react/client/clientProdMethods.d.mts +15 -0
  114. package/dist/libraries/react/client/clientProdMethods.d.ts +15 -0
  115. package/dist/libraries/react/client/clientProdMethods.js +35 -0
  116. package/dist/libraries/react/client/clientProdMethods.mjs +8 -0
  117. package/dist/libraries/react/client/clientReferralMethods.d.mts +5 -5
  118. package/dist/libraries/react/client/clientReferralMethods.d.ts +5 -5
  119. package/dist/libraries/react/client/clientReferralMethods.js +9 -6
  120. package/dist/libraries/react/client/clientReferralMethods.mjs +2 -2
  121. package/dist/libraries/react/client/types/clientEntTypes.d.mts +1 -1
  122. package/dist/libraries/react/client/types/clientEntTypes.d.ts +1 -1
  123. package/dist/libraries/react/client/types/clientGenTypes.d.mts +1 -0
  124. package/dist/libraries/react/client/types/clientGenTypes.d.ts +1 -0
  125. package/dist/libraries/react/client/types/clientPricingTableTypes.d.mts +8 -10
  126. package/dist/libraries/react/client/types/clientPricingTableTypes.d.ts +8 -10
  127. package/dist/libraries/react/client/types/clientProdTypes.d.mts +5 -0
  128. package/dist/libraries/react/client/types/clientProdTypes.d.ts +5 -0
  129. package/dist/libraries/react/client/types/clientProdTypes.js +20 -0
  130. package/dist/libraries/react/client/types/clientProdTypes.mjs +2 -0
  131. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.mts +52 -0
  132. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.ts +52 -0
  133. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.js +6759 -0
  134. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.mjs +44 -0
  135. package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.mts +10 -0
  136. package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.ts +10 -0
  137. package/dist/libraries/react/components/attach-dialog/lib/attach-content.js +148 -0
  138. package/dist/libraries/react/components/attach-dialog/lib/attach-content.mjs +8 -0
  139. package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.mts +12 -0
  140. package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.ts +12 -0
  141. package/dist/libraries/react/components/check-dialog/check-dialog-synced.js +5028 -0
  142. package/dist/libraries/react/components/check-dialog/check-dialog-synced.mjs +15 -0
  143. package/dist/libraries/react/components/check-dialog/lib/check-content.d.mts +9 -0
  144. package/dist/libraries/react/components/check-dialog/lib/check-content.d.ts +9 -0
  145. package/dist/libraries/react/components/check-dialog/lib/check-content.js +74 -0
  146. package/dist/libraries/react/components/check-dialog/lib/check-content.mjs +8 -0
  147. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.mts +7 -0
  148. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.ts +7 -0
  149. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.js +80 -0
  150. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.mjs +8 -0
  151. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +51 -0
  152. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +51 -0
  153. package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +7043 -0
  154. package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +47 -0
  155. package/dist/libraries/react/components/ui/button.d.mts +14 -0
  156. package/dist/libraries/react/components/ui/button.d.ts +14 -0
  157. package/dist/libraries/react/components/ui/button.js +2776 -0
  158. package/dist/libraries/react/components/ui/button.mjs +12 -0
  159. package/dist/libraries/react/components/ui/dialog.d.mts +22 -0
  160. package/dist/libraries/react/components/ui/dialog.d.ts +22 -0
  161. package/dist/libraries/react/components/ui/dialog.js +4880 -0
  162. package/dist/libraries/react/components/ui/dialog.mjs +30 -0
  163. package/dist/libraries/react/components/ui/switch.d.mts +6 -0
  164. package/dist/libraries/react/components/ui/switch.d.ts +6 -0
  165. package/dist/libraries/react/components/ui/switch.js +3096 -0
  166. package/dist/libraries/react/components/ui/switch.mjs +12 -0
  167. package/dist/{next/client/cusTypes-D9vXDh6B.d.mts → libraries/react/cusTypes-DNx5bwlw.d.mts} +13 -5
  168. package/dist/libraries/react/{cusTypes-Cf-s9PYP.d.mts → cusTypes-DNx5bwlw.d.ts} +13 -5
  169. package/dist/libraries/react/{entTypes-CV-165S-.d.mts → entTypes-8gkfAi3g.d.mts} +1 -1
  170. package/dist/libraries/react/{entTypes-BbIk0Toa.d.ts → entTypes-C8jD10M8.d.ts} +1 -1
  171. package/dist/libraries/react/errorUtils/logAuthError.js +1 -1
  172. package/dist/libraries/react/errorUtils/logAuthError.mjs +1 -1
  173. package/dist/libraries/react/hooks/handleAllowed.d.mts +14 -0
  174. package/dist/libraries/react/hooks/handleAllowed.d.ts +14 -0
  175. package/dist/libraries/react/hooks/handleAllowed.js +73 -0
  176. package/dist/libraries/react/hooks/handleAllowed.mjs +8 -0
  177. package/dist/libraries/react/hooks/useAutumn.d.mts +10 -38
  178. package/dist/libraries/react/hooks/useAutumn.d.ts +10 -38
  179. package/dist/libraries/react/hooks/useAutumn.js +5918 -140
  180. package/dist/libraries/react/hooks/useAutumn.mjs +23 -10
  181. package/dist/libraries/react/hooks/useAutumnBase.d.mts +9 -41
  182. package/dist/libraries/react/hooks/useAutumnBase.d.ts +9 -41
  183. package/dist/libraries/react/hooks/useAutumnBase.js +5914 -136
  184. package/dist/libraries/react/hooks/useAutumnBase.mjs +23 -9
  185. package/dist/libraries/react/hooks/useCustomer.d.mts +6 -5
  186. package/dist/libraries/react/hooks/useCustomer.d.ts +6 -5
  187. package/dist/libraries/react/hooks/useCustomer.js +5960 -52
  188. package/dist/libraries/react/hooks/useCustomer.mjs +23 -9
  189. package/dist/libraries/react/hooks/useCustomerBase.d.mts +13 -6
  190. package/dist/libraries/react/hooks/useCustomerBase.d.ts +13 -6
  191. package/dist/libraries/react/hooks/useCustomerBase.js +5962 -48
  192. package/dist/libraries/react/hooks/useCustomerBase.mjs +23 -8
  193. package/dist/libraries/react/hooks/useEntity.d.mts +12 -2
  194. package/dist/libraries/react/hooks/useEntity.d.ts +12 -2
  195. package/dist/libraries/react/hooks/useEntity.js +6043 -50
  196. package/dist/libraries/react/hooks/useEntity.mjs +23 -9
  197. package/dist/libraries/react/hooks/useEntityBase.d.mts +13 -7
  198. package/dist/libraries/react/hooks/useEntityBase.d.ts +13 -7
  199. package/dist/libraries/react/hooks/useEntityBase.js +6706 -6
  200. package/dist/libraries/react/hooks/useEntityBase.mjs +26 -1
  201. package/dist/libraries/react/hooks/usePricingTable.d.mts +4 -3
  202. package/dist/libraries/react/hooks/usePricingTable.d.ts +4 -3
  203. package/dist/libraries/react/hooks/usePricingTable.js +161 -23
  204. package/dist/libraries/react/hooks/usePricingTable.mjs +10 -9
  205. package/dist/libraries/react/hooks/usePricingTableBase.d.mts +7 -7
  206. package/dist/libraries/react/hooks/usePricingTableBase.d.ts +7 -7
  207. package/dist/libraries/react/hooks/usePricingTableBase.js +161 -23
  208. package/dist/libraries/react/hooks/usePricingTableBase.mjs +9 -8
  209. package/dist/libraries/react/hooks/useProductsBase.d.mts +3 -0
  210. package/dist/libraries/react/hooks/useProductsBase.d.ts +3 -0
  211. package/dist/libraries/react/hooks/useProductsBase.js +780 -0
  212. package/dist/libraries/react/hooks/useProductsBase.mjs +29 -0
  213. package/dist/libraries/react/index.d.ts +487 -19
  214. package/dist/libraries/react/index.js +6379 -254
  215. package/dist/libraries/react/index.mjs +7258 -31
  216. package/dist/libraries/react/lib/utils.d.mts +5 -0
  217. package/dist/libraries/react/lib/utils.d.ts +5 -0
  218. package/dist/libraries/react/lib/utils.js +2556 -0
  219. package/dist/libraries/react/lib/utils.mjs +8 -0
  220. package/dist/libraries/react/response-B37tbVeT.d.mts +40 -0
  221. package/dist/libraries/react/response-CREh0tw3.d.ts +40 -0
  222. package/dist/libraries/react/utils/toSnakeCase.d.mts +1 -1
  223. package/dist/libraries/react/utils/toSnakeCase.d.ts +1 -1
  224. package/dist/libraries/react/utils/toSnakeCase.js +9 -6
  225. package/dist/libraries/react/utils/toSnakeCase.mjs +1 -1
  226. package/dist/next/AutumnProvider-BdIwgk_j.d.mts +136 -0
  227. package/dist/next/AutumnProvider-BdIwgk_j.d.ts +136 -0
  228. package/dist/next/AutumnProvider.d.mts +2 -0
  229. package/dist/next/AutumnProvider.d.ts +2 -0
  230. package/dist/next/client/NextAutumnClient.d.mts +28 -7
  231. package/dist/next/client/NextAutumnClient.d.ts +28 -7
  232. package/dist/next/client/NextAutumnProvider.d.mts +1 -1
  233. package/dist/next/client/NextAutumnProvider.d.ts +1 -1
  234. package/dist/next/client/checkTypes-BVlLFoUT.d.ts +128 -0
  235. package/dist/next/client/checkTypes-CGZpuidI.d.mts +128 -0
  236. package/dist/next/client/clientGenTypes-CXkGuJ6W.d.ts +99 -0
  237. package/dist/next/client/clientGenTypes-Dh9BiE0s.d.mts +99 -0
  238. package/dist/next/client/clientUtils.d.mts +2 -2
  239. package/dist/next/client/clientUtils.d.ts +2 -2
  240. package/dist/next/client/{cusTypes-D9vXDh6B.d.ts → cusTypes-CV5q3GIA.d.mts} +13 -5
  241. package/dist/{libraries/react/cusTypes-Cf-s9PYP.d.ts → next/client/cusTypes-CV5q3GIA.d.ts} +13 -5
  242. package/dist/next/client/{entTypes-C2xwPhrH.d.mts → entTypes-C1-bumir.d.mts} +1 -1
  243. package/dist/next/client/{entTypes-D5Bk72AS.d.ts → entTypes-CKc2qHBt.d.ts} +1 -1
  244. package/dist/next/client/handleAllowed-B8TBAzfI.d.mts +7 -0
  245. package/dist/next/client/handleAllowed-B8TBAzfI.d.ts +7 -0
  246. package/dist/next/client/hooks/useAutumn.d.mts +7 -40
  247. package/dist/next/client/hooks/useAutumn.d.ts +7 -40
  248. package/dist/next/client/hooks/useCustomer.d.mts +11 -4
  249. package/dist/next/client/hooks/useCustomer.d.ts +11 -4
  250. package/dist/next/client/hooks/useEntity.d.mts +10 -2
  251. package/dist/next/client/hooks/useEntity.d.ts +10 -2
  252. package/dist/next/client/hooks/usePricingTable.d.mts +16 -5
  253. package/dist/next/client/hooks/usePricingTable.d.ts +16 -5
  254. package/dist/next/client/types.d.mts +12 -3
  255. package/dist/next/client/types.d.ts +12 -3
  256. package/dist/next/enums.d.mts +5 -0
  257. package/dist/next/enums.d.ts +5 -0
  258. package/dist/next/index.d.mts +101 -192
  259. package/dist/next/index.d.ts +101 -192
  260. package/dist/next/server/auth/withNextAuth.d.mts +1 -1
  261. package/dist/next/server/auth/withNextAuth.d.ts +1 -1
  262. package/dist/next/server/{clientEntTypes-CWr4xXQ1.d.mts → clientEntTypes-BOVTwIKv.d.mts} +1 -1
  263. package/dist/next/server/{clientEntTypes-CWr4xXQ1.d.ts → clientEntTypes-BOVTwIKv.d.ts} +1 -1
  264. package/dist/next/server/componentActions.d.mts +1 -1
  265. package/dist/next/server/componentActions.d.ts +1 -1
  266. package/dist/next/server/cusActions.d.mts +50 -20
  267. package/dist/next/server/cusActions.d.ts +50 -20
  268. package/dist/next/server/{cusTypes-DYgbKGrd.d.mts → cusTypes-Cc8NWXXF.d.mts} +12 -8
  269. package/dist/next/server/{cusTypes-DYgbKGrd.d.ts → cusTypes-Cc8NWXXF.d.ts} +12 -8
  270. package/dist/next/server/genActions.d.mts +3 -2
  271. package/dist/next/server/genActions.d.ts +3 -2
  272. package/dist/sdk/index.d.mts +402 -26
  273. package/dist/sdk/index.d.ts +402 -26
  274. package/dist/sdk/index.js +1 -1
  275. package/dist/sdk/index.mjs +1 -1
  276. package/dist/styles/global.css +1241 -0
  277. package/dist/utils/encryptUtils.js +1 -1
  278. package/dist/utils/encryptUtils.mjs +1 -1
  279. package/package.json +24 -6
  280. package/postcss.config.js +7 -0
  281. package/scripts/sync-registry.ts +180 -0
  282. package/tailwind.config.ts +96 -0
  283. package/tsup.config.ts +85 -23
  284. package/tsup.dev.config.ts +194 -0
  285. package/dist/libraries/react/chunk-2MVQH6J5.mjs +0 -36
  286. package/dist/libraries/react/chunk-5S5BL6HV.mjs +0 -17
  287. package/dist/libraries/react/chunk-A6J237PD.mjs +0 -57
  288. package/dist/libraries/react/chunk-BGEO5REY.mjs +0 -54
  289. package/dist/libraries/react/chunk-CQ27LXPH.mjs +0 -146
  290. package/dist/libraries/react/chunk-DMU3G7UZ.mjs +0 -17
  291. package/dist/libraries/react/chunk-IXVPNA4H.mjs +0 -20
  292. package/dist/libraries/react/chunk-NJFRQ6T4.mjs +0 -83
  293. package/dist/libraries/react/chunk-PSE3LKMR.mjs +0 -64
  294. package/dist/libraries/react/chunk-ZNPQQ2WK.mjs +0 -24
  295. package/dist/libraries/react/componentTypes-HF9MRJPX.d.mts +0 -15
  296. package/dist/libraries/react/componentTypes-HF9MRJPX.d.ts +0 -15
  297. package/dist/libraries/react/index.d.mts +0 -19
  298. package/dist/next/client/clientEntTypes-ClSxkMvK.d.mts +0 -29
  299. package/dist/next/client/clientEntTypes-DuYXyCN4.d.ts +0 -29
  300. package/dist/next/client/clientGenTypes-BvnGc6fc.d.mts +0 -156
  301. package/dist/next/client/clientGenTypes-F8OKtPMU.d.ts +0 -156
  302. package/dist/next/client/componentTypes-HF9MRJPX.d.mts +0 -15
  303. package/dist/next/client/componentTypes-HF9MRJPX.d.ts +0 -15
  304. package/dist/next/client/error-DHbclCVh.d.mts +0 -17
  305. package/dist/next/client/error-DHbclCVh.d.ts +0 -17
  306. package/dist/sdk/check.d.mts +0 -47
  307. package/dist/sdk/check.d.ts +0 -47
  308. package/dist/sdk/cusTypes-BTV6ui4e.d.ts +0 -95
  309. package/dist/sdk/cusTypes-wBxbodEe.d.mts +0 -95
  310. package/dist/sdk/customers.d.mts +0 -2
  311. package/dist/sdk/customers.d.ts +0 -2
  312. package/dist/sdk/entTypes-BwLV9Jn4.d.ts +0 -35
  313. package/dist/sdk/entTypes-CJjjWn54.d.mts +0 -35
  314. package/dist/sdk/entities.d.mts +0 -3
  315. package/dist/sdk/entities.d.ts +0 -3
  316. package/dist/sdk/general.d.mts +0 -104
  317. package/dist/sdk/general.d.ts +0 -104
  318. package/dist/sdk/prodEnums-C1lccCWI.d.mts +0 -28
  319. package/dist/sdk/prodEnums-C1lccCWI.d.ts +0 -28
  320. package/dist/sdk/products.d.mts +0 -47
  321. package/dist/sdk/products.d.ts +0 -47
  322. package/dist/sdk/referrals.d.mts +0 -21
  323. package/dist/sdk/referrals.d.ts +0 -21
@@ -0,0 +1,983 @@
1
+ "use client";
2
+
3
+ import {
4
+ getAttachContent
5
+ } from "./chunk-BCMBFJ7E.mjs";
6
+ import {
7
+ getPricingTableContent
8
+ } from "./chunk-QBBE72EF.mjs";
9
+ import {
10
+ Button
11
+ } from "./chunk-P2O4LZFD.mjs";
12
+ import {
13
+ ArrowRight,
14
+ Check,
15
+ Dialog,
16
+ DialogContent,
17
+ DialogFooter,
18
+ DialogTitle,
19
+ LoaderCircle
20
+ } from "./chunk-5FZ7IV6P.mjs";
21
+ import {
22
+ Switch
23
+ } from "./chunk-CMO5LYYU.mjs";
24
+ import {
25
+ cn
26
+ } from "./chunk-4J6OC4ZQ.mjs";
27
+ import {
28
+ usePricingTable
29
+ } from "./chunk-D3H6GCJ4.mjs";
30
+ import {
31
+ usePricingTableBase
32
+ } from "./chunk-PFTFPWFN.mjs";
33
+ import {
34
+ handleAllowed
35
+ } from "./chunk-JFXBUWKA.mjs";
36
+ import {
37
+ useDialog
38
+ } from "./chunk-4QPHNIQ7.mjs";
39
+ import {
40
+ AutumnContext,
41
+ useAutumnContext
42
+ } from "./chunk-6N2SUOJ6.mjs";
43
+ import {
44
+ AutumnClient
45
+ } from "./chunk-TLRISML2.mjs";
46
+
47
+ // src/libraries/react/BaseAutumnProvider.tsx
48
+ import { useState as useState3 } from "react";
49
+
50
+ // src/libraries/react/hooks/useCustomerBase.tsx
51
+ import useSWR2 from "swr";
52
+
53
+ // src/libraries/react/components/attach-dialog/attach-dialog-synced.tsx
54
+ import { useEffect, useState as useState2 } from "react";
55
+
56
+ // src/libraries/react/hooks/useCustomer.tsx
57
+ var useCustomer = (params) => {
58
+ return useCustomerBase({
59
+ params,
60
+ AutumnContext
61
+ });
62
+ };
63
+
64
+ // src/libraries/react/hooks/useEntityBase.tsx
65
+ import useSWR from "swr";
66
+ import { useContext } from "react";
67
+ var useEntityBase = ({
68
+ entityId,
69
+ params,
70
+ AutumnContext: AutumnContext2
71
+ }) => {
72
+ const { client } = useContext(AutumnContext2);
73
+ const queryKey = ["entity", entityId, params?.expand];
74
+ const fetchEntity = async () => {
75
+ if (!entityId) {
76
+ return null;
77
+ }
78
+ const { data: data2, error: error2 } = await client.entities.get(entityId, params);
79
+ if (error2) {
80
+ throw error2;
81
+ }
82
+ if (!data2) {
83
+ return null;
84
+ }
85
+ return data2;
86
+ };
87
+ const { data, error, isLoading, mutate } = useSWR(queryKey, fetchEntity, {
88
+ fallbackData: null,
89
+ onErrorRetry: (error2, key, config) => {
90
+ if (error2.code == "entity_not_found") {
91
+ return false;
92
+ }
93
+ return true;
94
+ }
95
+ });
96
+ const {
97
+ check: checkAutumn,
98
+ attach: attachAutumn,
99
+ cancel: cancelAutumn,
100
+ track: trackAutumn
101
+ } = useAutumnBase({
102
+ AutumnContext: AutumnContext2
103
+ });
104
+ const allowed = (params2) => handleAllowed({ customer: data, params: params2 });
105
+ const check = (params2) => checkAutumn({ ...params2, entityId: entityId || void 0 });
106
+ const attach = (params2) => attachAutumn({ ...params2, entityId: entityId || void 0 });
107
+ const cancel = (params2) => cancelAutumn({ ...params2, entityId: entityId || void 0 });
108
+ const track = (params2) => trackAutumn({ ...params2, entityId: entityId || void 0 });
109
+ if (!entityId) {
110
+ return {
111
+ entity: null,
112
+ isLoading: false,
113
+ error: null,
114
+ refetch: mutate,
115
+ allowed,
116
+ check,
117
+ attach,
118
+ cancel,
119
+ track
120
+ };
121
+ }
122
+ return {
123
+ entity: error ? null : data,
124
+ isLoading,
125
+ error,
126
+ refetch: mutate,
127
+ allowed,
128
+ check,
129
+ attach,
130
+ cancel,
131
+ track
132
+ };
133
+ };
134
+
135
+ // src/libraries/react/hooks/useEntity.tsx
136
+ var useEntity = (entityId, params) => {
137
+ return useEntityBase({ AutumnContext, entityId, params });
138
+ };
139
+
140
+ // src/libraries/react/hooks/useAutumn.tsx
141
+ var useAutumn = () => {
142
+ return useAutumnBase({ AutumnContext });
143
+ };
144
+
145
+ // src/libraries/react/components/pricing-table/pricing-table-synced.tsx
146
+ import React from "react";
147
+ import { createContext, useContext as useContext2, useState } from "react";
148
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
149
+ function PricingTable({
150
+ productDetails
151
+ }) {
152
+ const { attach } = useCustomer();
153
+ const [isAnnual, setIsAnnual] = useState(false);
154
+ const { products, isLoading, error } = usePricingTable({ productDetails });
155
+ if (isLoading) {
156
+ return /* @__PURE__ */ jsx("div", { className: "au-w-full au-h-full au-flex au-justify-center au-items-center au-min-h-[300px]", children: /* @__PURE__ */ jsx(LoaderCircle, { className: "au-w-6 au-h-6 au-text-zinc-400 au-animate-spin" }) });
157
+ }
158
+ if (error) {
159
+ return /* @__PURE__ */ jsx("div", { children: " Something went wrong..." });
160
+ }
161
+ const intervals = Array.from(
162
+ new Set(
163
+ products?.map((p) => p.properties?.interval_group).filter((i) => !!i)
164
+ )
165
+ );
166
+ const multiInterval = intervals.length > 1;
167
+ const intervalFilter = (product) => {
168
+ if (!product.properties?.interval_group) {
169
+ return true;
170
+ }
171
+ if (multiInterval) {
172
+ if (isAnnual) {
173
+ return product.properties?.interval_group === "year";
174
+ } else {
175
+ return product.properties?.interval_group === "month";
176
+ }
177
+ }
178
+ return true;
179
+ };
180
+ const hasRecommended = products?.some((p) => p.display?.recommend_text);
181
+ return /* @__PURE__ */ jsx("div", { className: "au-root", children: products && /* @__PURE__ */ jsx(
182
+ PricingTableContainer,
183
+ {
184
+ products,
185
+ isAnnualToggle: isAnnual,
186
+ setIsAnnualToggle: setIsAnnual,
187
+ multiInterval,
188
+ children: products.filter(intervalFilter).map((product, index) => /* @__PURE__ */ jsx(
189
+ PricingCard,
190
+ {
191
+ productId: product.id,
192
+ buttonProps: {
193
+ disabled: product.scenario === "active" || product.scenario === "scheduled",
194
+ onClick: async () => {
195
+ if (product.id) {
196
+ await attach({
197
+ productId: product.id,
198
+ dialog: AttachDialog
199
+ });
200
+ } else if (product.display?.button_url) {
201
+ window.open(product.display?.button_url, "_blank");
202
+ }
203
+ }
204
+ }
205
+ },
206
+ index
207
+ ))
208
+ }
209
+ ) });
210
+ }
211
+ var PricingTableContext = createContext({
212
+ isAnnualToggle: false,
213
+ setIsAnnualToggle: () => {
214
+ },
215
+ products: [],
216
+ showFeatures: true
217
+ });
218
+ var usePricingTableContext = (componentName) => {
219
+ const context = useContext2(PricingTableContext);
220
+ if (context === void 0) {
221
+ throw new Error(`${componentName} must be used within <PricingTable />`);
222
+ }
223
+ return context;
224
+ };
225
+ var PricingTableContainer = ({
226
+ children,
227
+ products,
228
+ showFeatures = true,
229
+ className,
230
+ isAnnualToggle,
231
+ setIsAnnualToggle,
232
+ multiInterval
233
+ }) => {
234
+ if (!products) {
235
+ throw new Error("products is required in <PricingTable />");
236
+ }
237
+ if (products.length === 0) {
238
+ return /* @__PURE__ */ jsx(Fragment, {});
239
+ }
240
+ return /* @__PURE__ */ jsx(
241
+ PricingTableContext.Provider,
242
+ {
243
+ value: { isAnnualToggle, setIsAnnualToggle, products, showFeatures },
244
+ children: /* @__PURE__ */ jsxs("div", { className: cn("au-flex au-items-center au-flex-col"), children: [
245
+ multiInterval && /* @__PURE__ */ jsx(
246
+ "div",
247
+ {
248
+ className: cn(
249
+ products.some((p) => p.display?.recommend_text) && "au-mb-8"
250
+ ),
251
+ children: /* @__PURE__ */ jsx(
252
+ AnnualSwitch,
253
+ {
254
+ isAnnualToggle,
255
+ setIsAnnualToggle
256
+ }
257
+ )
258
+ }
259
+ ),
260
+ /* @__PURE__ */ jsx(
261
+ "div",
262
+ {
263
+ className: cn(
264
+ "au-grid au-grid-cols-1 sm:au-grid-cols-2 lg:au-grid-cols-[repeat(auto-fit,minmax(200px,1fr))] au-w-full au-gap-2",
265
+ className
266
+ ),
267
+ children
268
+ }
269
+ )
270
+ ] })
271
+ }
272
+ );
273
+ };
274
+ var PricingCard = ({
275
+ productId,
276
+ className,
277
+ buttonProps
278
+ }) => {
279
+ const { products, showFeatures } = usePricingTableContext("PricingCard");
280
+ const product = products.find((p) => p.id === productId);
281
+ if (!product) {
282
+ throw new Error(`Product with id ${productId} not found`);
283
+ }
284
+ const { name, display: productDisplay, items } = product;
285
+ const { buttonText } = getPricingTableContent(product);
286
+ const isRecommended = productDisplay?.recommend_text ? true : false;
287
+ const mainPriceDisplay = product.properties?.is_free ? {
288
+ primary_text: "Free"
289
+ } : product.items[0].display;
290
+ const featureItems = product.properties?.is_free ? product.items : product.items.slice(1);
291
+ return /* @__PURE__ */ jsxs(
292
+ "div",
293
+ {
294
+ className: cn(
295
+ "au-w-full au-h-full au-py-6 au-text-foreground au-border au-rounded-lg au-shadow-sm au-max-w-xl",
296
+ isRecommended && "lg:au--translate-y-6 lg:au-shadow-lg dark:au-shadow-zinc-800/80 lg:au-h-[calc(100%+48px)] au-bg-secondary/40",
297
+ className
298
+ ),
299
+ children: [
300
+ productDisplay?.recommend_text && /* @__PURE__ */ jsx(RecommendedBadge, { recommended: productDisplay?.recommend_text }),
301
+ /* @__PURE__ */ jsxs(
302
+ "div",
303
+ {
304
+ className: cn(
305
+ "au-flex au-flex-col au-h-full au-flex-grow",
306
+ isRecommended && "lg:au-translate-y-6"
307
+ ),
308
+ children: [
309
+ /* @__PURE__ */ jsxs("div", { className: "au-h-full", children: [
310
+ /* @__PURE__ */ jsxs("div", { className: "au-flex au-flex-col", children: [
311
+ /* @__PURE__ */ jsxs("div", { className: "au-pb-4", children: [
312
+ /* @__PURE__ */ jsx("h2", { className: "au-text-2xl au-font-semibold au-px-6 au-truncate", children: productDisplay?.name || name }),
313
+ productDisplay?.description && /* @__PURE__ */ jsx("div", { className: "au-text-sm au-text-muted-foreground au-px-6 au-h-8", children: /* @__PURE__ */ jsxs("p", { className: "au-line-clamp-2", children: [
314
+ "Everything from ",
315
+ productDisplay?.description,
316
+ ", plus:"
317
+ ] }) })
318
+ ] }),
319
+ /* @__PURE__ */ jsx("div", { className: "au-mb-2", children: /* @__PURE__ */ jsx("h3", { className: "au-font-semibold au-h-16 au-flex au-px-6 au-items-center au-border-y au-mb-4 au-bg-secondary/40", children: /* @__PURE__ */ jsxs("div", { className: "au-line-clamp-2", children: [
320
+ mainPriceDisplay?.primary_text,
321
+ " ",
322
+ mainPriceDisplay?.secondary_text && /* @__PURE__ */ jsx("span", { className: "au-font-normal au-text-muted-foreground au-mt-1", children: mainPriceDisplay?.secondary_text })
323
+ ] }) }) })
324
+ ] }),
325
+ showFeatures && featureItems.length > 0 && /* @__PURE__ */ jsx("div", { className: "au-flex-grow au-px-6 au-mb-6", children: /* @__PURE__ */ jsx(
326
+ PricingFeatureList,
327
+ {
328
+ items: featureItems,
329
+ showIcon: true,
330
+ everythingFrom: product.display?.everything_from
331
+ }
332
+ ) })
333
+ ] }),
334
+ /* @__PURE__ */ jsx(
335
+ "div",
336
+ {
337
+ className: cn(" au-px-6 ", isRecommended && "lg:au--translate-y-12"),
338
+ children: /* @__PURE__ */ jsx(
339
+ PricingCardButton,
340
+ {
341
+ recommended: productDisplay?.recommend_text ? true : false,
342
+ ...buttonProps,
343
+ children: buttonText
344
+ }
345
+ )
346
+ }
347
+ )
348
+ ]
349
+ }
350
+ )
351
+ ]
352
+ }
353
+ );
354
+ };
355
+ var PricingFeatureList = ({
356
+ items,
357
+ showIcon = true,
358
+ everythingFrom,
359
+ className
360
+ }) => {
361
+ return /* @__PURE__ */ jsxs("div", { className: cn("au-flex-grow", className), children: [
362
+ everythingFrom && /* @__PURE__ */ jsxs("p", { className: "au-text-sm au-mb-4", children: [
363
+ "Everything from ",
364
+ everythingFrom,
365
+ ", plus:"
366
+ ] }),
367
+ /* @__PURE__ */ jsx("div", { className: "au-space-y-3", children: items.map((item, index) => /* @__PURE__ */ jsxs(
368
+ "div",
369
+ {
370
+ className: "au-flex au-items-start au-gap-2 au-text-sm",
371
+ children: [
372
+ showIcon && /* @__PURE__ */ jsx(Check, { className: "au-h-4 au-w-4 au-text-primary au-flex-shrink-0 au-mt-0.5" }),
373
+ /* @__PURE__ */ jsxs("div", { className: "au-flex au-flex-col", children: [
374
+ /* @__PURE__ */ jsx("span", { children: item.display?.primary_text }),
375
+ item.display?.secondary_text && /* @__PURE__ */ jsx("span", { className: "au-text-sm au-text-muted-foreground", children: item.display?.secondary_text })
376
+ ] })
377
+ ]
378
+ },
379
+ index
380
+ )) })
381
+ ] });
382
+ };
383
+ var PricingCardButton = React.forwardRef(({ recommended, children, className, onClick, ...props }, ref) => {
384
+ const [loading, setLoading] = useState(false);
385
+ const handleClick = async (e) => {
386
+ setLoading(true);
387
+ try {
388
+ await onClick?.(e);
389
+ } catch (error) {
390
+ console.error(error);
391
+ } finally {
392
+ setLoading(false);
393
+ }
394
+ };
395
+ return /* @__PURE__ */ jsx(
396
+ Button,
397
+ {
398
+ className: cn(
399
+ "au-w-full au-py-3 au-px-4 au-group au-overflow-hidden au-relative au-transition-all au-duration-300 hover:au-brightness-90 au-border au-rounded-lg",
400
+ className
401
+ ),
402
+ ...props,
403
+ variant: recommended ? "default" : "secondary",
404
+ ref,
405
+ disabled: loading || props.disabled,
406
+ onClick: handleClick,
407
+ children: loading ? /* @__PURE__ */ jsx(LoaderCircle, { className: "au-h-4 au-w-4 au-animate-spin" }) : /* @__PURE__ */ jsxs(Fragment, { children: [
408
+ /* @__PURE__ */ jsxs("div", { className: "au-flex au-items-center au-justify-between au-w-full au-transition-transform au-duration-300 group-hover:au-translate-y-[-130%]", children: [
409
+ /* @__PURE__ */ jsx("span", { children }),
410
+ /* @__PURE__ */ jsx("span", { className: "au-text-sm", children: "\u2192" })
411
+ ] }),
412
+ /* @__PURE__ */ jsxs("div", { className: "au-flex au-items-center au-justify-between au-w-full au-absolute au-px-4 au-translate-y-[130%] au-transition-transform au-duration-300 group-hover:au-translate-y-0 au-mt-2 group-hover:au-mt-0", children: [
413
+ /* @__PURE__ */ jsx("span", { children }),
414
+ /* @__PURE__ */ jsx("span", { className: "au-text-sm", children: "\u2192" })
415
+ ] })
416
+ ] })
417
+ }
418
+ );
419
+ });
420
+ PricingCardButton.displayName = "PricingCardButton";
421
+ var AnnualSwitch = ({
422
+ isAnnualToggle,
423
+ setIsAnnualToggle
424
+ }) => {
425
+ return /* @__PURE__ */ jsxs("div", { className: "au-flex au-items-center au-space-x-2 au-mb-4", children: [
426
+ /* @__PURE__ */ jsx("span", { className: "au-text-sm au-text-muted-foreground", children: "Monthly" }),
427
+ /* @__PURE__ */ jsx(
428
+ Switch,
429
+ {
430
+ id: "annual-billing",
431
+ checked: isAnnualToggle,
432
+ onCheckedChange: setIsAnnualToggle
433
+ }
434
+ ),
435
+ /* @__PURE__ */ jsx("span", { className: "au-text-sm au-text-muted-foreground", children: "Annual" })
436
+ ] });
437
+ };
438
+ var RecommendedBadge = ({ recommended }) => {
439
+ return /* @__PURE__ */ jsx("div", { className: "au-bg-secondary au-absolute au-border au-text-muted-foreground au-text-sm au-font-medium lg:au-rounded-full au-px-3 lg:au-py-0.5 lg:au-top-4 lg:au-right-4 au-top-[-1px] au-right-[-1px] au-rounded-bl-lg", children: recommended });
440
+ };
441
+
442
+ // src/libraries/react/components/attach-dialog/attach-dialog-synced.tsx
443
+ import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
444
+ function AttachDialog(params) {
445
+ const { attach } = useCustomer();
446
+ const [loading, setLoading] = useState2(false);
447
+ const [optionsInput, setOptionsInput] = useState2(
448
+ params?.preview?.options || []
449
+ );
450
+ const getTotalPrice = () => {
451
+ let sum = due_today?.price || 0;
452
+ optionsInput.forEach((option) => {
453
+ if (option.price && option.quantity) {
454
+ sum += option.price * (option.quantity / option.billing_units);
455
+ }
456
+ });
457
+ return sum;
458
+ };
459
+ useEffect(() => {
460
+ setOptionsInput(params?.preview?.options || []);
461
+ }, [params?.preview?.options]);
462
+ if (!params || !params.preview) {
463
+ return /* @__PURE__ */ jsx2(Fragment2, {});
464
+ }
465
+ const { open, setOpen, preview } = params;
466
+ const { items, due_today } = preview;
467
+ const { title, message } = getAttachContent(preview);
468
+ return /* @__PURE__ */ jsx2(Dialog, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsxs2(
469
+ DialogContent,
470
+ {
471
+ className: cn(
472
+ "au-p-0 au-pt-4 au-gap-0 au-text-foreground au-overflow-hidden au-text-sm"
473
+ ),
474
+ children: [
475
+ /* @__PURE__ */ jsx2(DialogTitle, { className: cn("au-px-6 au-mb-1 "), children: title }),
476
+ /* @__PURE__ */ jsx2("div", { className: cn("au-px-6 au-mt-1 au-mb-4 au-text-muted-foreground"), children: message }),
477
+ (items || optionsInput.length > 0) && /* @__PURE__ */ jsxs2("div", { className: "au-mb-6 au-px-6", children: [
478
+ items?.map((item) => /* @__PURE__ */ jsxs2(PriceItem, { children: [
479
+ /* @__PURE__ */ jsx2("span", { className: "au-truncate au-flex-1", children: item.description }),
480
+ /* @__PURE__ */ jsx2("span", { children: item.price })
481
+ ] }, item.description)),
482
+ optionsInput?.map((option, index) => {
483
+ return /* @__PURE__ */ jsx2(
484
+ OptionsInput,
485
+ {
486
+ option,
487
+ optionsInput,
488
+ setOptionsInput,
489
+ index
490
+ },
491
+ option.feature_name
492
+ );
493
+ })
494
+ ] }),
495
+ /* @__PURE__ */ jsxs2(DialogFooter, { className: "au-flex au-flex-col sm:au-flex-row au-justify-between au-gap-x-4 au-py-2 au-pl-6 au-pr-3 au-bg-secondary au-border-t au-shadow-inner", children: [
496
+ due_today && /* @__PURE__ */ jsxs2(TotalPrice, { children: [
497
+ /* @__PURE__ */ jsx2("span", { children: "Due Today" }),
498
+ /* @__PURE__ */ jsx2("span", { children: new Intl.NumberFormat("en-US", {
499
+ style: "currency",
500
+ currency: due_today.currency
501
+ }).format(getTotalPrice()) })
502
+ ] }),
503
+ /* @__PURE__ */ jsx2(
504
+ Button,
505
+ {
506
+ size: "sm",
507
+ onClick: async () => {
508
+ setLoading(true);
509
+ await attach({
510
+ productId: preview.product_id,
511
+ options: optionsInput.map((option) => ({
512
+ featureId: option.feature_id,
513
+ quantity: option.quantity || 0
514
+ }))
515
+ });
516
+ setOpen(false);
517
+ setLoading(false);
518
+ },
519
+ disabled: loading,
520
+ className: "au-min-w-16 au-flex au-items-center au-gap-2",
521
+ children: loading ? /* @__PURE__ */ jsx2(LoaderCircle, { className: "au-w-4 au-h-4 au-animate-spin" }) : /* @__PURE__ */ jsx2(Fragment2, { children: /* @__PURE__ */ jsx2("span", { className: "au-whitespace-nowrap au-flex au-gap-1", children: "Confirm" }) })
522
+ }
523
+ )
524
+ ] })
525
+ ]
526
+ }
527
+ ) });
528
+ }
529
+ var PriceItem = ({
530
+ children,
531
+ className,
532
+ ...props
533
+ }) => {
534
+ return /* @__PURE__ */ jsx2(
535
+ "div",
536
+ {
537
+ className: cn(
538
+ "au-flex au-flex-col au-pb-4 sm:au-pb-0 au-gap-1 sm:au-flex-row au-justify-between sm:au-h-7 sm:au-gap-2 sm:au-items-center",
539
+ className
540
+ ),
541
+ ...props,
542
+ children
543
+ }
544
+ );
545
+ };
546
+ var OptionsInput = ({
547
+ className,
548
+ option,
549
+ optionsInput,
550
+ setOptionsInput,
551
+ index,
552
+ ...props
553
+ }) => {
554
+ const { feature_name, billing_units, quantity, price } = option;
555
+ return /* @__PURE__ */ jsxs2(PriceItem, { children: [
556
+ /* @__PURE__ */ jsx2("span", { children: feature_name }),
557
+ /* @__PURE__ */ jsx2(
558
+ QuantityInput,
559
+ {
560
+ value: quantity ? quantity / billing_units : "",
561
+ onChange: (e) => {
562
+ const newOptions = [...optionsInput];
563
+ newOptions[index].quantity = parseInt(e.target.value) * billing_units;
564
+ setOptionsInput(newOptions);
565
+ },
566
+ children: /* @__PURE__ */ jsxs2("span", { className: "", children: [
567
+ "\xD7 $",
568
+ price,
569
+ " per ",
570
+ billing_units === 1 ? " " : billing_units,
571
+ " ",
572
+ feature_name
573
+ ] })
574
+ },
575
+ feature_name
576
+ )
577
+ ] }, feature_name);
578
+ };
579
+ var QuantityInput = ({
580
+ children,
581
+ onChange,
582
+ value,
583
+ className,
584
+ ...props
585
+ }) => {
586
+ const currentValue = Number(value) || 0;
587
+ const handleValueChange = (newValue) => {
588
+ const syntheticEvent = {
589
+ target: { value: String(newValue) }
590
+ };
591
+ onChange(syntheticEvent);
592
+ };
593
+ return /* @__PURE__ */ jsxs2(
594
+ "div",
595
+ {
596
+ className: cn(className, "au-flex au-flex-row au-items-center au-gap-4"),
597
+ ...props,
598
+ children: [
599
+ /* @__PURE__ */ jsxs2("div", { className: "au-flex au-items-center au-gap-1", children: [
600
+ /* @__PURE__ */ jsx2(
601
+ Button,
602
+ {
603
+ variant: "outline",
604
+ size: "icon",
605
+ onClick: () => currentValue > 0 && handleValueChange(currentValue - 1),
606
+ disabled: currentValue <= 0,
607
+ className: "au-h-6 au-w-6 au-pb-0.5",
608
+ children: "-"
609
+ }
610
+ ),
611
+ /* @__PURE__ */ jsx2("span", { className: "au-w-8 au-text-center au-text-foreground", children: currentValue }),
612
+ /* @__PURE__ */ jsx2(
613
+ Button,
614
+ {
615
+ variant: "outline",
616
+ size: "icon",
617
+ onClick: () => handleValueChange(currentValue + 1),
618
+ className: "au-h-6 au-w-6 au-pb-0.5",
619
+ children: "+"
620
+ }
621
+ )
622
+ ] }),
623
+ children
624
+ ]
625
+ }
626
+ );
627
+ };
628
+ var TotalPrice = ({ children }) => {
629
+ return /* @__PURE__ */ jsx2("div", { className: "au-w-full au-font-semibold au-flex au-justify-between au-items-center", children });
630
+ };
631
+ var PricingDialogButton = ({
632
+ children,
633
+ size,
634
+ onClick,
635
+ disabled,
636
+ className
637
+ }) => {
638
+ return /* @__PURE__ */ jsxs2(
639
+ Button,
640
+ {
641
+ onClick,
642
+ disabled,
643
+ size,
644
+ className: cn(className, "au-shadow-sm au-shadow-stone-400"),
645
+ children: [
646
+ children,
647
+ /* @__PURE__ */ jsx2(ArrowRight, { className: "!au-h-3" })
648
+ ]
649
+ }
650
+ );
651
+ };
652
+
653
+ // src/libraries/react/hooks/useAutumnBase.tsx
654
+ var useAutumnBase = ({
655
+ AutumnContext: AutumnContext2
656
+ }) => {
657
+ const context = useAutumnContext({ AutumnContext: AutumnContext2, name: "useAutumn" });
658
+ const { attachDialog, paywallDialog } = context;
659
+ const client = context.client;
660
+ const { refetch: refetchPricingTable } = usePricingTableBase({
661
+ AutumnContext: AutumnContext2
662
+ });
663
+ let {
664
+ open: attachOpen,
665
+ setProps: setAttachProps,
666
+ setOpen: setAttachOpen,
667
+ setComponent: setAttachComponent
668
+ } = attachDialog;
669
+ let {
670
+ setProps: setCheckProps,
671
+ setOpen: setCheckOpen,
672
+ setComponent: setPaywallComponent
673
+ } = paywallDialog;
674
+ const attachWithoutDialog = async (params) => {
675
+ const result = await client.attach(params);
676
+ if (result.error) {
677
+ return result;
678
+ }
679
+ let data = result.data;
680
+ if (data?.checkout_url && typeof window !== "undefined") {
681
+ if (params.openInNewTab) {
682
+ window.open(data.checkout_url, "_blank");
683
+ } else {
684
+ window.location.href = data.checkout_url;
685
+ }
686
+ }
687
+ await refetchPricingTable();
688
+ if (setAttachOpen) {
689
+ setAttachOpen(false);
690
+ }
691
+ return result;
692
+ };
693
+ const attachWithDialog = async (params) => {
694
+ let { dialog, ...rest } = params;
695
+ const { productId, entityId, entityData } = params;
696
+ const checkRes = await client.check({
697
+ productId,
698
+ entityId,
699
+ entityData,
700
+ withPreview: true
701
+ });
702
+ if (checkRes.error) {
703
+ return checkRes;
704
+ }
705
+ let preview = checkRes.data.preview;
706
+ if (!preview) {
707
+ return await attachWithoutDialog(rest);
708
+ } else {
709
+ setAttachProps({ preview });
710
+ setAttachOpen(true);
711
+ }
712
+ return checkRes;
713
+ };
714
+ const attach = async (params) => {
715
+ const { dialog, openInNewTab } = params;
716
+ let finalDialog = dialog ? dialog : context.disableDialogs ? void 0 : AttachDialog;
717
+ if (finalDialog && !attachOpen) {
718
+ setAttachComponent(finalDialog);
719
+ return await attachWithDialog(params);
720
+ }
721
+ return await attachWithoutDialog(params);
722
+ };
723
+ const cancel = async (params) => {
724
+ const res = await client.cancel(params);
725
+ if (res.error) {
726
+ return res;
727
+ }
728
+ return res;
729
+ };
730
+ const check = async (params) => {
731
+ let { dialog, withPreview } = params;
732
+ if (dialog) {
733
+ setPaywallComponent(dialog);
734
+ }
735
+ const res = await client.check({
736
+ ...params,
737
+ withPreview: withPreview || dialog ? true : false
738
+ });
739
+ if (res.error) {
740
+ return res;
741
+ }
742
+ let data = res.data;
743
+ if (data && data.preview && dialog) {
744
+ let preview = data.preview;
745
+ setCheckProps({ preview });
746
+ setCheckOpen(true);
747
+ }
748
+ return res;
749
+ };
750
+ const track = async (params) => {
751
+ const res = await client.track(params);
752
+ if (res.error) {
753
+ return res;
754
+ }
755
+ return res;
756
+ };
757
+ const openBillingPortal = async (params) => {
758
+ let defaultParams = {
759
+ openInNewTab: false
760
+ };
761
+ let finalParams = {
762
+ ...defaultParams,
763
+ ...params
764
+ };
765
+ const res = await client.openBillingPortal(finalParams);
766
+ if (res.error) {
767
+ return res;
768
+ }
769
+ let data = res.data;
770
+ if (data?.url && typeof window !== "undefined") {
771
+ if (finalParams.openInNewTab) {
772
+ window.open(data.url, "_blank");
773
+ } else {
774
+ window.open(data.url, "_self");
775
+ }
776
+ return res;
777
+ } else {
778
+ return res;
779
+ }
780
+ };
781
+ return {
782
+ attach,
783
+ check,
784
+ track,
785
+ cancel,
786
+ openBillingPortal
787
+ };
788
+ };
789
+
790
+ // src/libraries/react/hooks/useCustomerBase.tsx
791
+ var emptyDefaultFunctions = {
792
+ attach: "",
793
+ check: "",
794
+ track: "",
795
+ cancel: "",
796
+ openBillingPortal: ""
797
+ };
798
+ var useCustomerBase = ({
799
+ params,
800
+ AutumnContext: AutumnContext2,
801
+ client
802
+ }) => {
803
+ const queryKey = ["customer"];
804
+ let context;
805
+ if (AutumnContext2) {
806
+ context = useAutumnContext({ AutumnContext: AutumnContext2, name: "useCustomer" });
807
+ }
808
+ if (!client) {
809
+ client = context.client;
810
+ }
811
+ const fetchCustomer = async () => {
812
+ const { data, error: error2 } = await client.createCustomer({
813
+ errorOnNotFound: params?.errorOnNotFound,
814
+ expand: params?.expand
815
+ });
816
+ if (error2) {
817
+ throw error2;
818
+ }
819
+ if (!data) {
820
+ return null;
821
+ }
822
+ return data;
823
+ };
824
+ const { data: customer, error, isLoading, mutate } = useSWR2(queryKey, fetchCustomer, {
825
+ fallbackData: null,
826
+ onErrorRetry: (error2, key, config) => {
827
+ if (error2.code == "entity_not_found") {
828
+ return false;
829
+ }
830
+ return true;
831
+ }
832
+ });
833
+ let autumnFunctions = emptyDefaultFunctions;
834
+ if (AutumnContext2) {
835
+ autumnFunctions = useAutumnBase({ AutumnContext: AutumnContext2 });
836
+ }
837
+ return {
838
+ customer: error ? null : customer,
839
+ isLoading,
840
+ error,
841
+ refetch: mutate,
842
+ ...autumnFunctions,
843
+ createEntity: client.entities.create,
844
+ createReferralCode: client.referrals.createCode,
845
+ redeemReferralCode: client.referrals.redeemCode,
846
+ allowed: (params2) => handleAllowed({ customer, params: params2 })
847
+ };
848
+ };
849
+
850
+ // src/libraries/react/BaseAutumnProvider.tsx
851
+ import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
852
+ function BaseAutumnProvider({
853
+ client,
854
+ children,
855
+ AutumnContext: AutumnContext2,
856
+ disableDialogs = false
857
+ }) {
858
+ const [components, setComponents] = useState3({});
859
+ const [paywallProps, setPaywallProps, paywallOpen, setPaywallOpen] = useDialog(components.paywallDialog);
860
+ const [
861
+ productChangeProps,
862
+ setProductChangeProps,
863
+ productChangeOpen,
864
+ setProductChangeOpen
865
+ ] = useDialog(components.productChangeDialog);
866
+ useCustomerBase({ client, params: { errorOnNotFound: false } });
867
+ return /* @__PURE__ */ jsxs3(
868
+ AutumnContext2.Provider,
869
+ {
870
+ value: {
871
+ initialized: true,
872
+ client,
873
+ disableDialogs,
874
+ paywallDialog: {
875
+ props: paywallProps,
876
+ setProps: setPaywallProps,
877
+ open: paywallOpen,
878
+ setOpen: setPaywallOpen,
879
+ setComponent: (component) => {
880
+ setComponents({
881
+ ...components,
882
+ paywallDialog: component
883
+ });
884
+ }
885
+ },
886
+ attachDialog: {
887
+ props: productChangeProps,
888
+ setProps: setProductChangeProps,
889
+ open: productChangeOpen,
890
+ setOpen: setProductChangeOpen,
891
+ setComponent: (component) => {
892
+ setComponents({
893
+ ...components,
894
+ productChangeDialog: component
895
+ });
896
+ }
897
+ }
898
+ },
899
+ children: [
900
+ components.paywallDialog && /* @__PURE__ */ jsx3(
901
+ components.paywallDialog,
902
+ {
903
+ open: paywallOpen,
904
+ setOpen: setPaywallOpen,
905
+ ...paywallProps
906
+ }
907
+ ),
908
+ components.productChangeDialog && /* @__PURE__ */ jsx3(
909
+ components.productChangeDialog,
910
+ {
911
+ open: productChangeOpen,
912
+ setOpen: setProductChangeOpen,
913
+ ...productChangeProps
914
+ }
915
+ ),
916
+ children
917
+ ]
918
+ }
919
+ );
920
+ }
921
+
922
+ // src/libraries/react/ReactAutumnProvider.tsx
923
+ import { useEffect as useEffect3 } from "react";
924
+ import { jsx as jsx4 } from "react/jsx-runtime";
925
+ var ReactAutumnProvider = ({
926
+ children,
927
+ getBearerToken,
928
+ backendUrl,
929
+ customerData,
930
+ includeCredentials = true,
931
+ disableDialogs = false,
932
+ authClient
933
+ }) => {
934
+ if (backendUrl && !backendUrl.startsWith("http")) {
935
+ console.warn(`backendUrl is not a valid URL: ${backendUrl}`);
936
+ }
937
+ let client = new AutumnClient({
938
+ backendUrl: backendUrl || "",
939
+ getBearerToken,
940
+ customerData,
941
+ includeCredentials
942
+ });
943
+ const analyseAuthClient = async () => {
944
+ console.log("Auth client:", authClient);
945
+ };
946
+ useEffect3(() => {
947
+ analyseAuthClient();
948
+ }, [authClient]);
949
+ return /* @__PURE__ */ jsx4(
950
+ BaseAutumnProvider,
951
+ {
952
+ client,
953
+ AutumnContext,
954
+ disableDialogs,
955
+ children
956
+ }
957
+ );
958
+ };
959
+
960
+ export {
961
+ ReactAutumnProvider,
962
+ useCustomer,
963
+ useEntityBase,
964
+ useEntity,
965
+ useAutumn,
966
+ PricingTable,
967
+ usePricingTableContext,
968
+ PricingTableContainer,
969
+ PricingCard,
970
+ PricingFeatureList,
971
+ PricingCardButton,
972
+ AnnualSwitch,
973
+ RecommendedBadge,
974
+ AttachDialog,
975
+ PriceItem,
976
+ OptionsInput,
977
+ QuantityInput,
978
+ TotalPrice,
979
+ PricingDialogButton,
980
+ useAutumnBase,
981
+ useCustomerBase,
982
+ BaseAutumnProvider
983
+ };