autumn-js 0.1.52 → 0.1.54

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 (213) hide show
  1. package/dist/libraries/backend/better-auth.d.mts +30 -34
  2. package/dist/libraries/backend/better-auth.d.ts +30 -34
  3. package/dist/libraries/backend/better-auth.js +322 -331
  4. package/dist/libraries/backend/better-auth.mjs +134 -147
  5. package/dist/libraries/backend/{chunk-IUUFQ3OI.mjs → chunk-EQJAZ5SS.mjs} +1 -1
  6. package/dist/libraries/backend/{chunk-OWJBOQNO.mjs → chunk-OCFEFXEK.mjs} +1 -1
  7. package/dist/libraries/backend/{chunk-NCUEPWFJ.mjs → chunk-PXKGEXEM.mjs} +7 -7
  8. package/dist/libraries/backend/{chunk-M3WWSFNX.mjs → chunk-RYSW6BBS.mjs} +1 -1
  9. package/dist/libraries/backend/{chunk-DUTH4YIQ.mjs → chunk-T52GEWE4.mjs} +197 -193
  10. package/dist/libraries/backend/{chunk-PLADIABP.mjs → chunk-U32IGAQR.mjs} +1 -1
  11. package/dist/libraries/backend/{chunk-GUY7BZZ4.mjs → chunk-Z5RWGXIJ.mjs} +1 -1
  12. package/dist/libraries/backend/{chunk-ZDGVHVDZ.mjs → chunk-ZNIP5BSL.mjs} +1 -1
  13. package/dist/libraries/backend/convex.js +196 -192
  14. package/dist/libraries/backend/convex.mjs +8 -8
  15. package/dist/libraries/backend/elysia.js +196 -192
  16. package/dist/libraries/backend/elysia.mjs +8 -8
  17. package/dist/libraries/backend/express.d.mts +1 -1
  18. package/dist/libraries/backend/express.d.ts +1 -1
  19. package/dist/libraries/backend/express.js +196 -192
  20. package/dist/libraries/backend/express.mjs +8 -8
  21. package/dist/libraries/backend/fastify.js +196 -192
  22. package/dist/libraries/backend/fastify.mjs +8 -8
  23. package/dist/libraries/backend/hono.js +196 -192
  24. package/dist/libraries/backend/hono.mjs +8 -8
  25. package/dist/libraries/backend/index.d.mts +1 -1
  26. package/dist/libraries/backend/index.d.ts +1 -1
  27. package/dist/libraries/backend/index.js +196 -192
  28. package/dist/libraries/backend/index.mjs +8 -8
  29. package/dist/libraries/backend/next.js +196 -192
  30. package/dist/libraries/backend/next.mjs +8 -8
  31. package/dist/libraries/backend/react-router.js +196 -192
  32. package/dist/libraries/backend/react-router.mjs +8 -8
  33. package/dist/libraries/backend/{referralTypes-CrOWHkir.d.ts → referralTypes-DFoyaks_.d.ts} +2 -35
  34. package/dist/libraries/backend/{referralTypes-DUfnhwYC.d.mts → referralTypes-DQvRryhI.d.mts} +2 -35
  35. package/dist/libraries/backend/remix_dep.js +196 -192
  36. package/dist/libraries/backend/remix_dep.mjs +8 -8
  37. package/dist/libraries/backend/routes/analyticsRoutes.js +175 -171
  38. package/dist/libraries/backend/routes/analyticsRoutes.mjs +3 -3
  39. package/dist/libraries/backend/routes/backendRouter.js +196 -192
  40. package/dist/libraries/backend/routes/backendRouter.mjs +8 -8
  41. package/dist/libraries/backend/routes/entityRoutes.js +172 -168
  42. package/dist/libraries/backend/routes/entityRoutes.mjs +3 -3
  43. package/dist/libraries/backend/routes/genRoutes.js +172 -168
  44. package/dist/libraries/backend/routes/genRoutes.mjs +3 -3
  45. package/dist/libraries/backend/routes/productRoutes.js +172 -168
  46. package/dist/libraries/backend/routes/productRoutes.mjs +3 -3
  47. package/dist/libraries/backend/routes/referralRoutes.js +172 -168
  48. package/dist/libraries/backend/routes/referralRoutes.mjs +3 -3
  49. package/dist/libraries/backend/supabase.js +196 -192
  50. package/dist/libraries/backend/supabase.mjs +8 -8
  51. package/dist/libraries/backend/tanstack.js +196 -192
  52. package/dist/libraries/backend/tanstack.mjs +8 -8
  53. package/dist/libraries/backend/utils/backendRes.js +172 -168
  54. package/dist/libraries/backend/utils/backendRes.mjs +1 -1
  55. package/dist/libraries/backend/utils/withAuth.d.mts +1 -1
  56. package/dist/libraries/backend/utils/withAuth.d.ts +1 -1
  57. package/dist/libraries/backend/utils/withAuth.js +172 -168
  58. package/dist/libraries/backend/utils/withAuth.mjs +2 -2
  59. package/dist/libraries/react/AutumnContext.d.mts +3 -3
  60. package/dist/libraries/react/AutumnContext.d.ts +3 -3
  61. package/dist/libraries/react/AutumnContext.js +183 -178
  62. package/dist/libraries/react/AutumnContext.mjs +6 -6
  63. package/dist/libraries/react/BaseAutumnProvider.d.mts +3 -3
  64. package/dist/libraries/react/BaseAutumnProvider.d.ts +3 -3
  65. package/dist/libraries/react/BaseAutumnProvider.js +345 -339
  66. package/dist/libraries/react/BaseAutumnProvider.mjs +11 -11
  67. package/dist/libraries/react/{ReactAutumnClient-DBRxtvI5.d.mts → ReactAutumnClient-Cmh9bCXD.d.mts} +14 -14
  68. package/dist/libraries/react/{ReactAutumnClient-CgvqoNfl.d.ts → ReactAutumnClient-DgCDKkGy.d.ts} +14 -14
  69. package/dist/libraries/react/ReactAutumnProvider.js +345 -339
  70. package/dist/libraries/react/ReactAutumnProvider.mjs +13 -13
  71. package/dist/libraries/react/{chunk-YJ66CCNM.mjs → chunk-2GEDBGON.mjs} +1 -1
  72. package/dist/libraries/react/{chunk-OCLWLKH7.mjs → chunk-2LZIBRD4.mjs} +4 -4
  73. package/dist/libraries/react/{chunk-XMJFBTHX.mjs → chunk-36CHQZJY.mjs} +230 -226
  74. package/dist/libraries/react/chunk-44B5W37R.mjs +87 -0
  75. package/dist/libraries/react/{chunk-AVI5QIS4.mjs → chunk-44QHJGA6.mjs} +2 -2
  76. package/dist/libraries/react/{chunk-OGDFDSBE.mjs → chunk-4KLTPVNG.mjs} +6 -6
  77. package/dist/libraries/react/{chunk-RZVWBOKP.mjs → chunk-4QVAJKUF.mjs} +5 -5
  78. package/dist/libraries/react/{chunk-Y3AJHLDS.mjs → chunk-4VSQWJS4.mjs} +1 -1
  79. package/dist/libraries/react/{chunk-3HGWHP3P.mjs → chunk-5TLRC3ED.mjs} +2 -2
  80. package/dist/libraries/react/{chunk-ID7YDN4E.mjs → chunk-BGTIKB6A.mjs} +1 -1
  81. package/dist/libraries/react/chunk-DBPPVPZJ.mjs +64 -0
  82. package/dist/libraries/react/{chunk-YFG74Z6Z.mjs → chunk-DNESIAHJ.mjs} +2 -2
  83. package/dist/libraries/react/{chunk-6DVSOXCB.mjs → chunk-HFFUO3H4.mjs} +17 -11
  84. package/dist/libraries/react/{chunk-MM4LTFTB.mjs → chunk-I274Z7T2.mjs} +11 -11
  85. package/dist/libraries/react/{chunk-3NVSJPCH.mjs → chunk-KBQOXOZI.mjs} +1 -1
  86. package/dist/libraries/react/{chunk-74TUFYHU.mjs → chunk-MHAXHLX4.mjs} +7 -7
  87. package/dist/libraries/react/{chunk-22PL76XY.mjs → chunk-OONW6MUW.mjs} +1 -1
  88. package/dist/libraries/react/{chunk-RXU3AGYI.mjs → chunk-PN7IQYUI.mjs} +1 -1
  89. package/dist/libraries/react/{chunk-2CIFBRPG.mjs → chunk-QEWVBDWJ.mjs} +1 -1
  90. package/dist/libraries/react/{chunk-QKCDYWYP.mjs → chunk-QNMARYYM.mjs} +2 -2
  91. package/dist/libraries/react/{chunk-YX2BUKFQ.mjs → chunk-QP7QNCAD.mjs} +4 -4
  92. package/dist/libraries/react/{chunk-LJKEOWEF.mjs → chunk-RCAZVNHB.mjs} +8 -8
  93. package/dist/libraries/react/{chunk-FO7GCPGQ.mjs → chunk-RW5WXCY5.mjs} +1 -1
  94. package/dist/libraries/react/{chunk-YGPGSET3.mjs → chunk-SHJ473YA.mjs} +5 -5
  95. package/dist/libraries/react/{chunk-XDQLJ7QR.mjs → chunk-TMTPHD2I.mjs} +1 -0
  96. package/dist/libraries/react/{chunk-V4OXCY7I.mjs → chunk-UO57XQQF.mjs} +18 -18
  97. package/dist/libraries/react/{chunk-QCGPJ5QU.mjs → chunk-XES6NX2O.mjs} +1 -1
  98. package/dist/libraries/react/{chunk-LGMRQ7QB.mjs → chunk-ZC2IBKQ6.mjs} +7 -6
  99. package/dist/libraries/react/client/ConvexAutumnClient.d.mts +5 -5
  100. package/dist/libraries/react/client/ConvexAutumnClient.d.ts +5 -5
  101. package/dist/libraries/react/client/ConvexAutumnClient.js +172 -168
  102. package/dist/libraries/react/client/ConvexAutumnClient.mjs +2 -2
  103. package/dist/libraries/react/client/ReactAutumnClient.d.mts +3 -3
  104. package/dist/libraries/react/client/ReactAutumnClient.d.ts +3 -3
  105. package/dist/libraries/react/client/ReactAutumnClient.js +183 -178
  106. package/dist/libraries/react/client/ReactAutumnClient.mjs +5 -5
  107. package/dist/libraries/react/client/clientAnalyticsMethods.d.mts +6 -6
  108. package/dist/libraries/react/client/clientAnalyticsMethods.d.ts +6 -6
  109. package/dist/libraries/react/client/clientAnalyticsMethods.js +1 -0
  110. package/dist/libraries/react/client/clientAnalyticsMethods.mjs +1 -1
  111. package/dist/libraries/react/client/clientCompMethods.d.mts +3 -3
  112. package/dist/libraries/react/client/clientCompMethods.d.ts +3 -3
  113. package/dist/libraries/react/client/clientCusMethods.d.mts +3 -3
  114. package/dist/libraries/react/client/clientCusMethods.d.ts +3 -3
  115. package/dist/libraries/react/client/clientEntityMethods.d.mts +3 -3
  116. package/dist/libraries/react/client/clientEntityMethods.d.ts +3 -3
  117. package/dist/libraries/react/client/clientGenMethods.d.mts +2 -2
  118. package/dist/libraries/react/client/clientGenMethods.d.ts +2 -2
  119. package/dist/libraries/react/client/clientProdMethods.d.mts +3 -3
  120. package/dist/libraries/react/client/clientProdMethods.d.ts +3 -3
  121. package/dist/libraries/react/client/clientReferralMethods.d.mts +3 -3
  122. package/dist/libraries/react/client/clientReferralMethods.d.ts +3 -3
  123. package/dist/libraries/react/client/types/clientAnalyticsTypes.d.mts +13 -37
  124. package/dist/libraries/react/client/types/clientAnalyticsTypes.d.ts +13 -37
  125. package/dist/libraries/react/client/types/clientAnalyticsTypes.js +20 -37
  126. package/dist/libraries/react/client/types/clientAnalyticsTypes.mjs +17 -32
  127. package/dist/libraries/react/client/types/clientGenTypes.js +172 -168
  128. package/dist/libraries/react/client/types/clientGenTypes.mjs +1 -1
  129. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.js +424 -417
  130. package/dist/libraries/react/components/checkout-dialog/checkout-dialog-synced.mjs +32 -32
  131. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.js +264 -258
  132. package/dist/libraries/react/components/paywall-dialog/paywall-dialog-synced.mjs +32 -32
  133. package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +453 -446
  134. package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +32 -32
  135. package/dist/libraries/react/components/ui/accordion.js +8 -8
  136. package/dist/libraries/react/components/ui/accordion.mjs +3 -3
  137. package/dist/libraries/react/components/ui/dialog.js +9 -9
  138. package/dist/libraries/react/components/ui/dialog.mjs +4 -4
  139. package/dist/libraries/react/components/ui/popover.js +12 -12
  140. package/dist/libraries/react/components/ui/popover.mjs +5 -5
  141. package/dist/libraries/react/components/ui/switch.js +4 -4
  142. package/dist/libraries/react/components/ui/switch.mjs +3 -3
  143. package/dist/libraries/react/eventTypes-5iJYcv30.d.mts +26 -0
  144. package/dist/libraries/react/eventTypes-5iJYcv30.d.ts +26 -0
  145. package/dist/libraries/react/hooks/helpers/handleCheck.d.mts +3 -3
  146. package/dist/libraries/react/hooks/helpers/handleCheck.d.ts +3 -3
  147. package/dist/libraries/react/hooks/helpers/handleCheck.js +172 -168
  148. package/dist/libraries/react/hooks/helpers/handleCheck.mjs +2 -2
  149. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.mts +3 -3
  150. package/dist/libraries/react/hooks/helpers/useAutumnBase.d.ts +3 -3
  151. package/dist/libraries/react/hooks/helpers/useAutumnBase.js +172 -168
  152. package/dist/libraries/react/hooks/helpers/useAutumnBase.mjs +3 -3
  153. package/dist/libraries/react/hooks/useAggregateEvents.js +229 -205
  154. package/dist/libraries/react/hooks/useAggregateEvents.mjs +7 -7
  155. package/dist/libraries/react/hooks/useAnalytics.d.mts +5 -2
  156. package/dist/libraries/react/hooks/useAnalytics.d.ts +5 -2
  157. package/dist/libraries/react/hooks/useAnalytics.js +217 -204
  158. package/dist/libraries/react/hooks/useAnalytics.mjs +7 -7
  159. package/dist/libraries/react/hooks/useCustomer.d.mts +5 -5
  160. package/dist/libraries/react/hooks/useCustomer.d.ts +5 -5
  161. package/dist/libraries/react/hooks/useCustomer.js +185 -179
  162. package/dist/libraries/react/hooks/useCustomer.mjs +11 -11
  163. package/dist/libraries/react/hooks/useCustomerBase.d.mts +5 -5
  164. package/dist/libraries/react/hooks/useCustomerBase.d.ts +5 -5
  165. package/dist/libraries/react/hooks/useCustomerBase.js +345 -339
  166. package/dist/libraries/react/hooks/useCustomerBase.mjs +10 -10
  167. package/dist/libraries/react/hooks/useEntity.d.mts +1 -1
  168. package/dist/libraries/react/hooks/useEntity.d.ts +1 -1
  169. package/dist/libraries/react/hooks/useEntity.js +183 -178
  170. package/dist/libraries/react/hooks/useEntity.mjs +11 -11
  171. package/dist/libraries/react/hooks/useEntityBase.d.mts +3 -3
  172. package/dist/libraries/react/hooks/useEntityBase.d.ts +3 -3
  173. package/dist/libraries/react/hooks/useEntityBase.js +183 -178
  174. package/dist/libraries/react/hooks/useEntityBase.mjs +10 -10
  175. package/dist/libraries/react/hooks/useListEvents.d.mts +12 -5
  176. package/dist/libraries/react/hooks/useListEvents.d.ts +12 -5
  177. package/dist/libraries/react/hooks/useListEvents.js +256 -210
  178. package/dist/libraries/react/hooks/useListEvents.mjs +7 -7
  179. package/dist/libraries/react/hooks/usePaywall.js +183 -178
  180. package/dist/libraries/react/hooks/usePaywall.mjs +7 -7
  181. package/dist/libraries/react/hooks/usePricingTable.d.mts +1 -1
  182. package/dist/libraries/react/hooks/usePricingTable.d.ts +1 -1
  183. package/dist/libraries/react/hooks/usePricingTable.js +183 -178
  184. package/dist/libraries/react/hooks/usePricingTable.mjs +8 -8
  185. package/dist/libraries/react/hooks/usePricingTableBase.d.mts +3 -3
  186. package/dist/libraries/react/hooks/usePricingTableBase.d.ts +3 -3
  187. package/dist/libraries/react/hooks/usePricingTableBase.js +172 -168
  188. package/dist/libraries/react/hooks/usePricingTableBase.mjs +2 -2
  189. package/dist/libraries/react/hooks/useProductsBase.d.mts +3 -3
  190. package/dist/libraries/react/hooks/useProductsBase.d.ts +3 -3
  191. package/dist/libraries/react/index.d.mts +262 -254
  192. package/dist/libraries/react/index.d.ts +262 -254
  193. package/dist/libraries/react/index.js +758 -688
  194. package/dist/libraries/react/index.mjs +777 -707
  195. package/dist/next/client/NextAutumnClient.d.mts +32 -32
  196. package/dist/next/client/NextAutumnClient.d.ts +32 -32
  197. package/dist/next/client/hooks/useCustomer.d.mts +1 -1
  198. package/dist/next/client/hooks/useCustomer.d.ts +1 -1
  199. package/dist/next/client/hooks/usePricingTable.d.mts +1 -1
  200. package/dist/next/client/hooks/usePricingTable.d.ts +1 -1
  201. package/dist/next/server/cusActions.d.mts +2 -35
  202. package/dist/next/server/cusActions.d.ts +2 -35
  203. package/dist/sdk/index.d.mts +34 -51
  204. package/dist/sdk/index.d.ts +34 -51
  205. package/dist/sdk/index.js +193 -189
  206. package/dist/sdk/index.mjs +191 -187
  207. package/dist/utils/encryptUtils.js +172 -168
  208. package/dist/utils/encryptUtils.mjs +172 -168
  209. package/package.json +1 -1
  210. package/dist/libraries/react/chunk-A7INM27S.mjs +0 -48
  211. package/dist/libraries/react/chunk-G6K6SZ5D.mjs +0 -47
  212. package/dist/libraries/react/eventTypes-MwzIb0X5.d.mts +0 -9
  213. package/dist/libraries/react/eventTypes-MwzIb0X5.d.ts +0 -9
@@ -42,43 +42,7 @@ __export(pricing_table_synced_exports, {
42
42
  usePricingTableContext: () => usePricingTableContext
43
43
  });
44
44
  module.exports = __toCommonJS(pricing_table_synced_exports);
45
- var import_react14 = __toESM(require("react"));
46
-
47
- // src/libraries/react/BaseAutumnProvider.tsx
48
- var import_react3 = require("react");
49
- var import_react4 = require("react");
50
-
51
- // src/libraries/react/hooks/helpers/useDialog.tsx
52
- var import_react = require("react");
53
-
54
- // src/libraries/react/hooks/useCustomerBase.tsx
55
- var import_swr2 = __toESM(require("swr"));
56
-
57
- // src/sdk/error.ts
58
- var AutumnError = class _AutumnError extends Error {
59
- message;
60
- code;
61
- constructor(response) {
62
- super(response.message);
63
- this.message = response.message;
64
- this.code = response.code;
65
- }
66
- static fromError(error) {
67
- return new _AutumnError({
68
- message: error.message || "Unknown error",
69
- code: error.code || "unknown_error"
70
- });
71
- }
72
- toString() {
73
- return `${this.message} (code: ${this.code})`;
74
- }
75
- toJSON() {
76
- return {
77
- message: this.message,
78
- code: this.code
79
- };
80
- }
81
- };
45
+ var import_react15 = __toESM(require("react"));
82
46
 
83
47
  // src/sdk/general/genMethods.ts
84
48
  var handleCheckout = async ({
@@ -165,6 +129,32 @@ var buildPathWithQuery = (basePath, params) => {
165
129
  return query ? `${basePath}?${query}` : basePath;
166
130
  };
167
131
 
132
+ // src/sdk/error.ts
133
+ var AutumnError = class _AutumnError extends Error {
134
+ message;
135
+ code;
136
+ constructor(response) {
137
+ super(response.message);
138
+ this.message = response.message;
139
+ this.code = response.code;
140
+ }
141
+ static fromError(error) {
142
+ return new _AutumnError({
143
+ message: error.message || "Unknown error",
144
+ code: error.code || "unknown_error"
145
+ });
146
+ }
147
+ toString() {
148
+ return `${this.message} (code: ${this.code})`;
149
+ }
150
+ toJSON() {
151
+ return {
152
+ message: this.message,
153
+ code: this.code
154
+ };
155
+ }
156
+ };
157
+
168
158
  // src/sdk/customers/cusMethods.ts
169
159
  var customerMethods = (instance) => {
170
160
  return {
@@ -789,6 +779,17 @@ var Autumn = class {
789
779
  }
790
780
  };
791
781
 
782
+ // src/sdk/customers/cusEnums.ts
783
+ var import_v4 = require("zod/v4");
784
+ var CustomerExpandEnum = import_v4.z.enum([
785
+ "invoices",
786
+ "rewards",
787
+ "trials_used",
788
+ "entities",
789
+ "referrals",
790
+ "payment_method"
791
+ ]);
792
+
792
793
  // src/sdk/products/prodEnums.ts
793
794
  var ProductItemInterval = /* @__PURE__ */ ((ProductItemInterval2) => {
794
795
  ProductItemInterval2["Minute"] = "minute";
@@ -803,17 +804,6 @@ var ProductItemInterval = /* @__PURE__ */ ((ProductItemInterval2) => {
803
804
  return ProductItemInterval2;
804
805
  })(ProductItemInterval || {});
805
806
 
806
- // src/sdk/customers/cusEnums.ts
807
- var import_v4 = require("zod/v4");
808
- var CustomerExpandEnum = import_v4.z.enum([
809
- "invoices",
810
- "rewards",
811
- "trials_used",
812
- "entities",
813
- "referrals",
814
- "payment_method"
815
- ]);
816
-
817
807
  // src/sdk/customers/cusTypes.ts
818
808
  var import_v42 = require("zod/v4");
819
809
  var CoreCusFeatureSchema = import_v42.z.object({
@@ -881,80 +871,103 @@ var ListCustomersParamsSchema = import_v42.z.object({
881
871
  offset: import_v42.z.number().optional()
882
872
  });
883
873
 
884
- // src/sdk/general/checkTypes.ts
874
+ // src/sdk/customers/entities/entTypes.ts
885
875
  var import_v43 = require("zod/v4");
886
- var CheckFeatureResultSchema = import_v43.z.object({
887
- allowed: import_v43.z.boolean(),
888
- feature_id: import_v43.z.string(),
889
- customer_id: import_v43.z.string(),
890
- entity_id: import_v43.z.string().optional(),
891
- required_balance: import_v43.z.number()
892
- }).extend(CoreCusFeatureSchema.shape);
876
+ var EntityDataSchema = import_v43.z.object({
877
+ name: import_v43.z.string().optional(),
878
+ feature_id: import_v43.z.string()
879
+ });
880
+ var TransferProductParamsSchema = import_v43.z.object({
881
+ from_entity_id: import_v43.z.string(),
882
+ to_entity_id: import_v43.z.string(),
883
+ product_id: import_v43.z.string()
884
+ });
893
885
 
894
- // src/sdk/customers/entities/entTypes.ts
886
+ // src/sdk/general/pageTypes.ts
895
887
  var import_v44 = require("zod/v4");
896
- var EntityDataSchema = import_v44.z.object({
897
- name: import_v44.z.string().optional(),
898
- feature_id: import_v44.z.string()
888
+ var PagePaginationDefaults = {
889
+ Limit: 100,
890
+ MaxLimit: 1e3
891
+ };
892
+ var PagePaginationQuerySchema = import_v44.z.object({
893
+ offset: import_v44.z.coerce.number().int().min(0).default(0).describe("Number of items to skip"),
894
+ limit: import_v44.z.coerce.number().int().min(1).max(PagePaginationDefaults.MaxLimit).default(PagePaginationDefaults.Limit).describe(
895
+ `Number of items to return. Default ${PagePaginationDefaults.Limit}, max ${PagePaginationDefaults.MaxLimit}.`
896
+ )
899
897
  });
900
- var TransferProductParamsSchema = import_v44.z.object({
901
- from_entity_id: import_v44.z.string(),
902
- to_entity_id: import_v44.z.string(),
903
- product_id: import_v44.z.string()
898
+ var createPagePaginatedResponseSchema = (itemSchema) => import_v44.z.object({
899
+ list: import_v44.z.array(itemSchema).describe("Array of items for current page"),
900
+ has_more: import_v44.z.boolean().describe("Whether more results exist after this page"),
901
+ offset: import_v44.z.number().describe("Current offset position"),
902
+ limit: import_v44.z.number().describe("Limit passed in the request"),
903
+ total: import_v44.z.number().describe("Total number of items returned in the current page")
904
904
  });
905
905
 
906
- // src/sdk/general/genTypes.ts
906
+ // src/sdk/events/eventTypes.ts
907
907
  var import_v45 = require("zod/v4");
908
- var CancelParamsSchema = import_v45.z.object({
909
- customer_id: import_v45.z.string(),
910
- product_id: import_v45.z.string(),
911
- entity_id: import_v45.z.string().optional(),
912
- cancel_immediately: import_v45.z.boolean().optional()
913
- });
914
- var CancelResultSchema = import_v45.z.object({
915
- success: import_v45.z.boolean(),
916
- customer_id: import_v45.z.string(),
917
- product_id: import_v45.z.string()
918
- });
919
- var TrackParamsSchema = import_v45.z.object({
908
+ var QueryRangeEnum = import_v45.z.enum([
909
+ "24h",
910
+ "7d",
911
+ "30d",
912
+ "90d",
913
+ "last_cycle",
914
+ "1bc",
915
+ "3bc"
916
+ ]);
917
+ var BinSizeEnum = import_v45.z.enum(["day", "hour"]);
918
+ var QueryParamsSchema = import_v45.z.object({
920
919
  customer_id: import_v45.z.string(),
921
- value: import_v45.z.number().optional(),
922
- feature_id: import_v45.z.string().optional(),
923
- event_name: import_v45.z.string().optional(),
924
- entity_id: import_v45.z.string().optional(),
925
- customer_data: import_v45.z.any().optional(),
926
- idempotency_key: import_v45.z.string().optional(),
927
- entity_data: import_v45.z.any().optional(),
928
- properties: import_v45.z.record(import_v45.z.string(), import_v45.z.any()).optional()
920
+ feature_id: import_v45.z.string().or(import_v45.z.array(import_v45.z.string())),
921
+ range: QueryRangeEnum.optional(),
922
+ group_by: import_v45.z.string().startsWith("properties.").optional(),
923
+ bin_size: BinSizeEnum.optional(),
924
+ custom_range: import_v45.z.object({
925
+ start: import_v45.z.number(),
926
+ end: import_v45.z.number()
927
+ }).optional()
929
928
  });
930
- var TrackResultSchema = import_v45.z.object({
931
- id: import_v45.z.string(),
932
- code: import_v45.z.string(),
929
+ var EventsListParamsSchema = PagePaginationQuerySchema.extend({
933
930
  customer_id: import_v45.z.string(),
934
- feature_id: import_v45.z.string().optional(),
935
- event_name: import_v45.z.string().optional()
931
+ feature_id: import_v45.z.string().or(import_v45.z.array(import_v45.z.string())),
932
+ custom_range: import_v45.z.object({
933
+ start: import_v45.z.coerce.number().optional(),
934
+ end: import_v45.z.coerce.number().optional()
935
+ }).optional()
936
936
  });
937
- var CheckParamsSchema = import_v45.z.object({
938
- customer_id: import_v45.z.string(),
939
- feature_id: import_v45.z.string().optional(),
940
- product_id: import_v45.z.string().optional(),
941
- entity_id: import_v45.z.string().optional(),
942
- customer_data: import_v45.z.any().optional(),
943
- required_balance: import_v45.z.number().optional(),
944
- send_event: import_v45.z.boolean().optional(),
945
- with_preview: import_v45.z.boolean().optional(),
946
- entity_data: EntityDataSchema.optional()
937
+ var EventsListItemSchema = import_v45.z.object({
938
+ id: import_v45.z.string().describe("Event ID (KSUID)"),
939
+ timestamp: import_v45.z.number().describe("Event timestamp (epoch milliseconds)"),
940
+ feature_id: import_v45.z.string().describe("Name of the event"),
941
+ customer_id: import_v45.z.string().describe("Customer identifier"),
942
+ value: import_v45.z.number().describe("Event value/count"),
943
+ properties: import_v45.z.object({}).describe("Event properties (JSONB)")
947
944
  });
945
+ var EventsListResponseSchema = createPagePaginatedResponseSchema(EventsListItemSchema);
948
946
 
949
- // src/sdk/referrals/referralTypes.ts
947
+ // src/sdk/features/featureTypes.ts
950
948
  var import_v46 = require("zod/v4");
951
- var CreateReferralCodeParamsSchema = import_v46.z.object({
952
- customer_id: import_v46.z.string(),
953
- program_id: import_v46.z.string()
954
- });
955
- var RedeemReferralCodeParamsSchema = import_v46.z.object({
956
- code: import_v46.z.string(),
957
- customer_id: import_v46.z.string()
949
+ var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
950
+ FeatureType2["Boolean"] = "boolean";
951
+ FeatureType2["SingleUse"] = "single_use";
952
+ FeatureType2["ContinuousUse"] = "continuous_use";
953
+ FeatureType2["CreditSystem"] = "credit_system";
954
+ return FeatureType2;
955
+ })(FeatureType || {});
956
+ var FeatureSchema = import_v46.z.object({
957
+ id: import_v46.z.string(),
958
+ name: import_v46.z.string(),
959
+ type: import_v46.z.enum(FeatureType),
960
+ display: import_v46.z.object({
961
+ singular: import_v46.z.string(),
962
+ plural: import_v46.z.string()
963
+ }).nullish(),
964
+ credit_schema: import_v46.z.array(
965
+ import_v46.z.object({
966
+ metered_feature_id: import_v46.z.string(),
967
+ credit_cost: import_v46.z.number()
968
+ })
969
+ ).nullish(),
970
+ archived: import_v46.z.boolean()
958
971
  });
959
972
 
960
973
  // src/sdk/general/attachTypes.ts
@@ -1004,242 +1017,79 @@ var CheckoutParamsSchema = import_v47.z.object({
1004
1017
  force_checkout: import_v47.z.boolean().optional(),
1005
1018
  invoice: import_v47.z.boolean().optional(),
1006
1019
  success_url: import_v47.z.string().optional(),
1007
- customer_data: CustomerDataSchema.optional(),
1008
- entity_data: import_v47.z.any().optional(),
1009
- checkout_session_params: import_v47.z.record(import_v47.z.string(), import_v47.z.any()).optional(),
1010
- reward: import_v47.z.string().optional(),
1011
- new_billing_subscription: import_v47.z.boolean().optional()
1012
- });
1013
-
1014
- // src/sdk/general/cursorTypes.ts
1015
- var import_v48 = require("zod/v4");
1016
- var PaginationDefaults = {
1017
- Limit: 100,
1018
- MaxLimit: 1e3
1019
- };
1020
- var CursorPaginationQuerySchema = import_v48.z.object({
1021
- starting_after: import_v48.z.string().optional(),
1022
- limit: import_v48.z.coerce.number().int().min(1).max(PaginationDefaults.MaxLimit).default(PaginationDefaults.Limit).optional()
1023
- });
1024
- var createCursorPaginatedResponseSchema = (itemSchema) => import_v48.z.object({
1025
- list: import_v48.z.array(itemSchema),
1026
- has_more: import_v48.z.boolean(),
1027
- next_cursor: import_v48.z.string().nullable()
1028
- });
1029
-
1030
- // src/sdk/events/eventTypes.ts
1031
- var import_v49 = require("zod/v4");
1032
- var QueryRangeEnum = import_v49.z.enum([
1033
- "24h",
1034
- "7d",
1035
- "30d",
1036
- "90d",
1037
- "last_cycle",
1038
- "1bc",
1039
- "3bc"
1040
- ]);
1041
- var BinSizeEnum = import_v49.z.enum(["day", "hour"]);
1042
- var QueryParamsSchema = import_v49.z.object({
1043
- customer_id: import_v49.z.string(),
1044
- feature_id: import_v49.z.string().or(import_v49.z.array(import_v49.z.string())),
1045
- range: QueryRangeEnum.optional(),
1046
- group_by: import_v49.z.string().startsWith("properties.").optional(),
1047
- bin_size: BinSizeEnum.optional(),
1048
- custom_range: import_v49.z.object({
1049
- start: import_v49.z.number(),
1050
- end: import_v49.z.number()
1051
- }).optional()
1052
- });
1053
- var LogParamsSchema = CursorPaginationQuerySchema.extend({
1054
- customer_id: import_v49.z.string(),
1055
- feature_id: import_v49.z.string().or(import_v49.z.array(import_v49.z.string())),
1056
- time_range: import_v49.z.object({
1057
- start: import_v49.z.coerce.number().optional(),
1058
- end: import_v49.z.coerce.number().optional()
1059
- }).optional()
1060
- });
1061
- var EventListItemSchema = import_v49.z.object({
1062
- id: import_v49.z.string().describe("Event ID (KSUID)"),
1063
- timestamp: import_v49.z.number().describe("Event timestamp (epoch milliseconds)"),
1064
- feature_id: import_v49.z.string().describe("Name of the event"),
1065
- customer_id: import_v49.z.string().describe("Customer identifier"),
1066
- value: import_v49.z.number().describe("Event value/count"),
1067
- properties: import_v49.z.object({}).describe("Event properties (JSONB)")
1068
- });
1069
- var EventListResponseSchema = createCursorPaginatedResponseSchema(EventListItemSchema);
1070
-
1071
- // src/sdk/features/featureTypes.ts
1072
- var import_v410 = require("zod/v4");
1073
- var FeatureType = /* @__PURE__ */ ((FeatureType2) => {
1074
- FeatureType2["Boolean"] = "boolean";
1075
- FeatureType2["SingleUse"] = "single_use";
1076
- FeatureType2["ContinuousUse"] = "continuous_use";
1077
- FeatureType2["CreditSystem"] = "credit_system";
1078
- return FeatureType2;
1079
- })(FeatureType || {});
1080
- var FeatureSchema = import_v410.z.object({
1081
- id: import_v410.z.string(),
1082
- name: import_v410.z.string(),
1083
- type: import_v410.z.enum(FeatureType),
1084
- display: import_v410.z.object({
1085
- singular: import_v410.z.string(),
1086
- plural: import_v410.z.string()
1087
- }).nullish(),
1088
- credit_schema: import_v410.z.array(
1089
- import_v410.z.object({
1090
- metered_feature_id: import_v410.z.string(),
1091
- credit_cost: import_v410.z.number()
1092
- })
1093
- ).nullish(),
1094
- archived: import_v410.z.boolean()
1095
- });
1096
-
1097
- // src/libraries/react/hooks/helpers/handleCheck.ts
1098
- var getCusFeature = ({
1099
- customer,
1100
- featureId,
1101
- requiredBalance = 1
1102
- }) => {
1103
- let cusFeature = customer.features[featureId];
1104
- if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
1105
- return {
1106
- cusFeature,
1107
- requiredBalance
1108
- };
1109
- }
1110
- let creditSchema = Object.values(customer.features).find(
1111
- (f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
1112
- );
1113
- if (creditSchema) {
1114
- let schemaItem = creditSchema.credit_schema?.find(
1115
- (c) => c.feature_id === featureId
1116
- );
1117
- return {
1118
- cusFeature: creditSchema,
1119
- requiredBalance: schemaItem.credit_amount * requiredBalance
1120
- };
1121
- }
1122
- return {
1123
- cusFeature: customer.features[featureId],
1124
- requiredBalance
1125
- };
1126
- };
1127
- var getFeatureAllowed = ({
1128
- cusFeature,
1129
- requiredBalance
1130
- }) => {
1131
- if (!cusFeature) return false;
1132
- if (cusFeature.type == "static") return true;
1133
- if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
1134
- if (cusFeature.usage_limit) {
1135
- let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
1136
- return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
1137
- }
1138
- return (cusFeature.balance || 0) >= requiredBalance;
1139
- };
1140
- var handleFeatureCheck = ({
1141
- customer,
1142
- isEntity,
1143
- params
1144
- }) => {
1145
- let { cusFeature, requiredBalance } = getCusFeature({
1146
- customer,
1147
- featureId: params.featureId,
1148
- ...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
1149
- });
1150
- let allowed = getFeatureAllowed({
1151
- cusFeature,
1152
- requiredBalance: requiredBalance ?? 1
1153
- });
1154
- let result = {
1155
- allowed,
1156
- feature_id: cusFeature?.id ?? params.featureId,
1157
- customer_id: isEntity ? customer.customer_id : customer.id,
1158
- required_balance: requiredBalance,
1159
- ...cusFeature
1160
- };
1161
- if (isEntity) {
1162
- result.entity_id = customer.id;
1163
- }
1164
- try {
1165
- return CheckFeatureResultSchema.parse(result);
1166
- } catch (error) {
1167
- return result;
1168
- }
1169
- };
1170
- var handleProductCheck = ({
1171
- customer,
1172
- isEntity,
1173
- params
1174
- }) => {
1175
- let product = customer.products.find((p) => p.id == params.productId);
1176
- let allowed = product?.status === "active" || product?.status === "trialing";
1177
- let result = {
1178
- allowed,
1179
- customer_id: isEntity ? customer.customer_id : customer.id,
1180
- product_id: params.productId
1181
- };
1182
- if (product) {
1183
- result.status = product.status;
1184
- }
1185
- if (isEntity) {
1186
- result.entity_id = customer.id;
1187
- }
1188
- return result;
1189
- };
1190
- var openDialog = ({
1191
- result,
1192
- params,
1193
- context
1194
- }) => {
1195
- let open = result?.allowed === false && params.dialog && context;
1196
- if (!open) return;
1197
- const isInRenderCycle = (() => {
1198
- const stack = new Error().stack || "";
1199
- return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
1200
- })();
1201
- if (isInRenderCycle) {
1202
- context.paywallRef.current = {
1203
- component: params.dialog,
1204
- open: true,
1205
- props: params
1206
- };
1207
- } else {
1208
- context.paywallDialog.setComponent(params.dialog);
1209
- context.paywallDialog.setProps(params);
1210
- context.paywallDialog.setOpen(true);
1211
- }
1212
- };
1213
- var handleCheck2 = ({
1214
- customer,
1215
- isEntity,
1216
- params,
1217
- context
1218
- }) => {
1219
- if (!customer) {
1220
- return {
1221
- data: {
1222
- allowed: false,
1223
- feature_id: "",
1224
- customer_id: "",
1225
- required_balance: 0
1226
- },
1227
- error: null
1228
- };
1229
- }
1230
- if (!params.featureId && !params.productId) {
1231
- throw new Error("allowed() requires either featureId or productId");
1232
- }
1233
- let result;
1234
- if (params.featureId)
1235
- result = handleFeatureCheck({ customer, params, isEntity });
1236
- if (params.productId)
1237
- result = handleProductCheck({ customer, params, isEntity });
1238
- return {
1239
- data: result,
1240
- error: null
1241
- };
1242
- };
1020
+ customer_data: CustomerDataSchema.optional(),
1021
+ entity_data: import_v47.z.any().optional(),
1022
+ checkout_session_params: import_v47.z.record(import_v47.z.string(), import_v47.z.any()).optional(),
1023
+ reward: import_v47.z.string().optional(),
1024
+ new_billing_subscription: import_v47.z.boolean().optional()
1025
+ });
1026
+
1027
+ // src/sdk/general/checkTypes.ts
1028
+ var import_v48 = require("zod/v4");
1029
+ var CheckFeatureResultSchema = import_v48.z.object({
1030
+ allowed: import_v48.z.boolean(),
1031
+ feature_id: import_v48.z.string(),
1032
+ customer_id: import_v48.z.string(),
1033
+ entity_id: import_v48.z.string().optional(),
1034
+ required_balance: import_v48.z.number()
1035
+ }).extend(CoreCusFeatureSchema.shape);
1036
+
1037
+ // src/sdk/general/genTypes.ts
1038
+ var import_v49 = require("zod/v4");
1039
+ var CancelParamsSchema = import_v49.z.object({
1040
+ customer_id: import_v49.z.string(),
1041
+ product_id: import_v49.z.string(),
1042
+ entity_id: import_v49.z.string().optional(),
1043
+ cancel_immediately: import_v49.z.boolean().optional()
1044
+ });
1045
+ var CancelResultSchema = import_v49.z.object({
1046
+ success: import_v49.z.boolean(),
1047
+ customer_id: import_v49.z.string(),
1048
+ product_id: import_v49.z.string()
1049
+ });
1050
+ var TrackParamsSchema = import_v49.z.object({
1051
+ customer_id: import_v49.z.string(),
1052
+ value: import_v49.z.number().optional(),
1053
+ feature_id: import_v49.z.string().optional(),
1054
+ event_name: import_v49.z.string().optional(),
1055
+ entity_id: import_v49.z.string().optional(),
1056
+ customer_data: import_v49.z.any().optional(),
1057
+ idempotency_key: import_v49.z.string().optional(),
1058
+ entity_data: import_v49.z.any().optional(),
1059
+ properties: import_v49.z.record(import_v49.z.string(), import_v49.z.any()).optional()
1060
+ });
1061
+ var TrackResultSchema = import_v49.z.object({
1062
+ id: import_v49.z.string(),
1063
+ code: import_v49.z.string(),
1064
+ customer_id: import_v49.z.string(),
1065
+ feature_id: import_v49.z.string().optional(),
1066
+ event_name: import_v49.z.string().optional()
1067
+ });
1068
+ var CheckParamsSchema = import_v49.z.object({
1069
+ customer_id: import_v49.z.string(),
1070
+ feature_id: import_v49.z.string().optional(),
1071
+ product_id: import_v49.z.string().optional(),
1072
+ entity_id: import_v49.z.string().optional(),
1073
+ customer_data: import_v49.z.any().optional(),
1074
+ required_balance: import_v49.z.number().optional(),
1075
+ send_event: import_v49.z.boolean().optional(),
1076
+ with_preview: import_v49.z.boolean().optional(),
1077
+ entity_data: EntityDataSchema.optional()
1078
+ });
1079
+
1080
+ // src/sdk/referrals/referralTypes.ts
1081
+ var import_v410 = require("zod/v4");
1082
+ var CreateReferralCodeParamsSchema = import_v410.z.object({
1083
+ customer_id: import_v410.z.string(),
1084
+ program_id: import_v410.z.string()
1085
+ });
1086
+ var RedeemReferralCodeParamsSchema = import_v410.z.object({
1087
+ code: import_v410.z.string(),
1088
+ customer_id: import_v410.z.string()
1089
+ });
1090
+
1091
+ // src/libraries/react/hooks/useAggregateEvents.tsx
1092
+ var import_swr = __toESM(require("swr"));
1243
1093
 
1244
1094
  // src/libraries/react/errorUtils/logAuthError.ts
1245
1095
  var logAuthError = async (response) => {
@@ -1270,6 +1120,17 @@ var logFetchError = ({
1270
1120
  2. Check that autumnHandler is correctly registered on your backend.`);
1271
1121
  };
1272
1122
 
1123
+ // src/libraries/react/client/clientAnalyticsMethods.ts
1124
+ async function eventListMethod(params) {
1125
+ const res = await this.post(`${this.prefix}/events/list`, params);
1126
+ console.log("res", res);
1127
+ return res;
1128
+ }
1129
+ async function eventAggregateMethod(params) {
1130
+ const res = await this.post(`${this.prefix}/events/aggregate`, params);
1131
+ return res;
1132
+ }
1133
+
1273
1134
  // src/libraries/react/client/clientCusMethods.ts
1274
1135
  var createCustomerMethod = async ({
1275
1136
  client,
@@ -1372,16 +1233,6 @@ async function redeemCode(params) {
1372
1233
  return res;
1373
1234
  }
1374
1235
 
1375
- // src/libraries/react/client/clientAnalyticsMethods.ts
1376
- async function eventListMethod(params) {
1377
- const res = await this.post(`${this.prefix}/events/list`, params);
1378
- return res;
1379
- }
1380
- async function eventAggregateMethod(params) {
1381
- const res = await this.post(`${this.prefix}/events/aggregate`, params);
1382
- return res;
1383
- }
1384
-
1385
1236
  // src/libraries/react/client/ReactAutumnClient.tsx
1386
1237
  var AutumnClient = class {
1387
1238
  backendUrl;
@@ -1588,8 +1439,8 @@ var AutumnClient = class {
1588
1439
  };
1589
1440
 
1590
1441
  // src/libraries/react/AutumnContext.tsx
1591
- var import_react2 = require("react");
1592
- var AutumnContext = (0, import_react2.createContext)({
1442
+ var import_react = require("react");
1443
+ var AutumnContext = (0, import_react.createContext)({
1593
1444
  initialized: false,
1594
1445
  disableDialogs: false,
1595
1446
  client: new AutumnClient({ backendUrl: "" }),
@@ -1620,15 +1471,168 @@ var useAutumnContext = ({
1620
1471
  name,
1621
1472
  errorIfNotInitialized = true
1622
1473
  }) => {
1623
- const context = (0, import_react2.useContext)(AutumnContext2);
1474
+ const context = (0, import_react.useContext)(AutumnContext2);
1624
1475
  if (!context.initialized && errorIfNotInitialized) {
1625
1476
  throw new Error(`${name} must be used within <AutumnProvider />`);
1626
1477
  }
1627
1478
  return context;
1628
1479
  };
1629
1480
 
1481
+ // src/libraries/react/hooks/useAnalytics.tsx
1482
+ var import_swr2 = __toESM(require("swr"));
1483
+
1484
+ // src/libraries/react/hooks/useCustomerBase.tsx
1485
+ var import_swr4 = __toESM(require("swr"));
1486
+
1487
+ // src/libraries/react/hooks/helpers/handleCheck.ts
1488
+ var getCusFeature = ({
1489
+ customer,
1490
+ featureId,
1491
+ requiredBalance = 1
1492
+ }) => {
1493
+ let cusFeature = customer.features[featureId];
1494
+ if (cusFeature && typeof cusFeature.balance === "number" && cusFeature.balance >= requiredBalance) {
1495
+ return {
1496
+ cusFeature,
1497
+ requiredBalance
1498
+ };
1499
+ }
1500
+ let creditSchema = Object.values(customer.features).find(
1501
+ (f) => f.credit_schema && f.credit_schema.some((c) => c.feature_id === featureId)
1502
+ );
1503
+ if (creditSchema) {
1504
+ let schemaItem = creditSchema.credit_schema?.find(
1505
+ (c) => c.feature_id === featureId
1506
+ );
1507
+ return {
1508
+ cusFeature: creditSchema,
1509
+ requiredBalance: schemaItem.credit_amount * requiredBalance
1510
+ };
1511
+ }
1512
+ return {
1513
+ cusFeature: customer.features[featureId],
1514
+ requiredBalance
1515
+ };
1516
+ };
1517
+ var getFeatureAllowed = ({
1518
+ cusFeature,
1519
+ requiredBalance
1520
+ }) => {
1521
+ if (!cusFeature) return false;
1522
+ if (cusFeature.type == "static") return true;
1523
+ if (cusFeature.unlimited || cusFeature.overage_allowed) return true;
1524
+ if (cusFeature.usage_limit) {
1525
+ let extraUsage = (cusFeature.usage_limit || 0) - (cusFeature.included_usage || 0);
1526
+ return (cusFeature.balance || 0) + extraUsage >= requiredBalance;
1527
+ }
1528
+ return (cusFeature.balance || 0) >= requiredBalance;
1529
+ };
1530
+ var handleFeatureCheck = ({
1531
+ customer,
1532
+ isEntity,
1533
+ params
1534
+ }) => {
1535
+ let { cusFeature, requiredBalance } = getCusFeature({
1536
+ customer,
1537
+ featureId: params.featureId,
1538
+ ...params.requiredBalance ? { requiredBalance: params.requiredBalance } : {}
1539
+ });
1540
+ let allowed = getFeatureAllowed({
1541
+ cusFeature,
1542
+ requiredBalance: requiredBalance ?? 1
1543
+ });
1544
+ let result = {
1545
+ allowed,
1546
+ feature_id: cusFeature?.id ?? params.featureId,
1547
+ customer_id: isEntity ? customer.customer_id : customer.id,
1548
+ required_balance: requiredBalance,
1549
+ ...cusFeature
1550
+ };
1551
+ if (isEntity) {
1552
+ result.entity_id = customer.id;
1553
+ }
1554
+ try {
1555
+ return CheckFeatureResultSchema.parse(result);
1556
+ } catch (error) {
1557
+ return result;
1558
+ }
1559
+ };
1560
+ var handleProductCheck = ({
1561
+ customer,
1562
+ isEntity,
1563
+ params
1564
+ }) => {
1565
+ let product = customer.products.find((p) => p.id == params.productId);
1566
+ let allowed = product?.status === "active" || product?.status === "trialing";
1567
+ let result = {
1568
+ allowed,
1569
+ customer_id: isEntity ? customer.customer_id : customer.id,
1570
+ product_id: params.productId
1571
+ };
1572
+ if (product) {
1573
+ result.status = product.status;
1574
+ }
1575
+ if (isEntity) {
1576
+ result.entity_id = customer.id;
1577
+ }
1578
+ return result;
1579
+ };
1580
+ var openDialog = ({
1581
+ result,
1582
+ params,
1583
+ context
1584
+ }) => {
1585
+ let open = result?.allowed === false && params.dialog && context;
1586
+ if (!open) return;
1587
+ const isInRenderCycle = (() => {
1588
+ const stack = new Error().stack || "";
1589
+ return stack.includes("renderWithHooks") || stack.includes("updateFunctionComponent") || stack.includes("beginWork") || stack.includes("performUnitOfWork") || stack.includes("workLoop") || stack.includes("Component.render") || stack.includes("FunctionComponent");
1590
+ })();
1591
+ if (isInRenderCycle) {
1592
+ context.paywallRef.current = {
1593
+ component: params.dialog,
1594
+ open: true,
1595
+ props: params
1596
+ };
1597
+ } else {
1598
+ context.paywallDialog.setComponent(params.dialog);
1599
+ context.paywallDialog.setProps(params);
1600
+ context.paywallDialog.setOpen(true);
1601
+ }
1602
+ };
1603
+ var handleCheck2 = ({
1604
+ customer,
1605
+ isEntity,
1606
+ params,
1607
+ context
1608
+ }) => {
1609
+ if (!customer) {
1610
+ return {
1611
+ data: {
1612
+ allowed: false,
1613
+ feature_id: "",
1614
+ customer_id: "",
1615
+ required_balance: 0
1616
+ },
1617
+ error: null
1618
+ };
1619
+ }
1620
+ if (!params.featureId && !params.productId) {
1621
+ throw new Error("allowed() requires either featureId or productId");
1622
+ }
1623
+ let result;
1624
+ if (params.featureId)
1625
+ result = handleFeatureCheck({ customer, params, isEntity });
1626
+ if (params.productId)
1627
+ result = handleProductCheck({ customer, params, isEntity });
1628
+ return {
1629
+ data: result,
1630
+ error: null
1631
+ };
1632
+ };
1633
+
1630
1634
  // src/libraries/react/hooks/usePricingTableBase.tsx
1631
- var import_swr = __toESM(require("swr"));
1635
+ var import_swr3 = __toESM(require("swr"));
1632
1636
  var mergeProductDetails = (products, productDetails) => {
1633
1637
  if (!products) {
1634
1638
  return null;
@@ -1803,7 +1807,7 @@ var usePricingTableBase = ({
1803
1807
  });
1804
1808
  }
1805
1809
  };
1806
- const { data, error, mutate } = (0, import_swr.default)(
1810
+ const { data, error, mutate } = (0, import_swr3.default)(
1807
1811
  ["pricing-table", client.backendUrl],
1808
1812
  fetcher,
1809
1813
  { ...defaultSWRConfig }
@@ -2008,13 +2012,14 @@ var useCustomerBase = ({
2008
2012
  error,
2009
2013
  isLoading,
2010
2014
  mutate
2011
- } = (0, import_swr2.default)(queryKey, fetchCustomer, {
2015
+ } = (0, import_swr4.default)(queryKey, fetchCustomer, {
2012
2016
  // Default to 5 minutes
2013
2017
  fallbackData: null,
2014
2018
  swrConfig: {
2015
2019
  shouldRetryOnError: false,
2016
2020
  refreshInterval: 0,
2017
- ...params?.swrConfig
2021
+ ...params?.swrConfig,
2022
+ dedupingInterval: 2e3
2018
2023
  }
2019
2024
  });
2020
2025
  const autumnFunctions = useAutumnBase({
@@ -2048,12 +2053,6 @@ var useCustomerBase = ({
2048
2053
  };
2049
2054
  };
2050
2055
 
2051
- // src/libraries/react/BaseAutumnProvider.tsx
2052
- var import_jsx_runtime = require("react/jsx-runtime");
2053
-
2054
- // src/libraries/react/ReactAutumnProvider.tsx
2055
- var import_jsx_runtime2 = require("react/jsx-runtime");
2056
-
2057
2056
  // src/libraries/react/hooks/useCustomer.tsx
2058
2057
  var useCustomer = (params) => {
2059
2058
  return useCustomerBase({
@@ -2062,6 +2061,17 @@ var useCustomer = (params) => {
2062
2061
  });
2063
2062
  };
2064
2063
 
2064
+ // src/libraries/react/hooks/useEntityBase.tsx
2065
+ var import_swr5 = __toESM(require("swr"));
2066
+ var import_react2 = require("react");
2067
+
2068
+ // src/libraries/react/hooks/useListEvents.tsx
2069
+ var import_react3 = require("react");
2070
+ var import_swr6 = __toESM(require("swr"));
2071
+
2072
+ // src/libraries/react/hooks/usePaywall.tsx
2073
+ var import_swr7 = __toESM(require("swr"));
2074
+
2065
2075
  // src/libraries/react/hooks/usePricingTable.tsx
2066
2076
  var usePricingTable = (params) => {
2067
2077
  const context = useAutumnContext({
@@ -2074,24 +2084,21 @@ var usePricingTable = (params) => {
2074
2084
  });
2075
2085
  };
2076
2086
 
2077
- // src/libraries/react/hooks/useEntityBase.tsx
2078
- var import_swr3 = __toESM(require("swr"));
2087
+ // src/libraries/react/BaseAutumnProvider.tsx
2079
2088
  var import_react5 = require("react");
2089
+ var import_react6 = require("react");
2080
2090
 
2081
- // src/libraries/react/hooks/useAnalytics.tsx
2082
- var import_swr4 = __toESM(require("swr"));
2083
-
2084
- // src/libraries/react/hooks/usePaywall.tsx
2085
- var import_swr5 = __toESM(require("swr"));
2091
+ // src/libraries/react/hooks/helpers/useDialog.tsx
2092
+ var import_react4 = require("react");
2086
2093
 
2087
- // src/libraries/react/hooks/useListEvents.tsx
2088
- var import_swr6 = __toESM(require("swr"));
2094
+ // src/libraries/react/BaseAutumnProvider.tsx
2095
+ var import_jsx_runtime = require("react/jsx-runtime");
2089
2096
 
2090
- // src/libraries/react/hooks/useAggregateEvents.tsx
2091
- var import_swr7 = __toESM(require("swr"));
2097
+ // src/libraries/react/ReactAutumnProvider.tsx
2098
+ var import_jsx_runtime2 = require("react/jsx-runtime");
2092
2099
 
2093
- // ../node_modules/.pnpm/@radix-ui+react-accordion@1.2.11_@types+react-dom@19.1.9_@types+react@19.1.10__@types+r_88fa064b3d5df5119586fe1472472636/node_modules/@radix-ui/react-accordion/dist/index.mjs
2094
- var import_react8 = __toESM(require("react"), 1);
2100
+ // ../node_modules/.pnpm/@radix-ui+react-accordion@1.2.11_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@1_rikqbnzk4rayqkcryhydcdufbu/node_modules/@radix-ui/react-accordion/dist/index.mjs
2101
+ var import_react9 = __toESM(require("react"), 1);
2095
2102
 
2096
2103
  // ../node_modules/.pnpm/@radix-ui+react-context@1.1.2_@types+react@19.1.10_react@19.1.1/node_modules/@radix-ui/react-context/dist/index.mjs
2097
2104
  var React2 = __toESM(require("react"), 1);
@@ -2170,8 +2177,8 @@ function composeContextScopes(...scopes) {
2170
2177
  return createScope;
2171
2178
  }
2172
2179
 
2173
- // ../node_modules/.pnpm/@radix-ui+react-collection@1.1.7_@types+react-dom@19.1.9_@types+react@19.1.10__@types+r_3ab2260c45a0fb08d9b684c67f0bf7c1/node_modules/@radix-ui/react-collection/dist/index.mjs
2174
- var import_react6 = __toESM(require("react"), 1);
2180
+ // ../node_modules/.pnpm/@radix-ui+react-collection@1.1.7_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@1_fj4gprouy7cllhpzda3tfrvhzi/node_modules/@radix-ui/react-collection/dist/index.mjs
2181
+ var import_react7 = __toESM(require("react"), 1);
2175
2182
 
2176
2183
  // ../node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.2_@types+react@19.1.10_react@19.1.1/node_modules/@radix-ui/react-compose-refs/dist/index.mjs
2177
2184
  var React3 = __toESM(require("react"), 1);
@@ -2297,9 +2304,9 @@ function getElementRef(element) {
2297
2304
  return element.props.ref || element.ref;
2298
2305
  }
2299
2306
 
2300
- // ../node_modules/.pnpm/@radix-ui+react-collection@1.1.7_@types+react-dom@19.1.9_@types+react@19.1.10__@types+r_3ab2260c45a0fb08d9b684c67f0bf7c1/node_modules/@radix-ui/react-collection/dist/index.mjs
2307
+ // ../node_modules/.pnpm/@radix-ui+react-collection@1.1.7_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@1_fj4gprouy7cllhpzda3tfrvhzi/node_modules/@radix-ui/react-collection/dist/index.mjs
2301
2308
  var import_jsx_runtime5 = require("react/jsx-runtime");
2302
- var import_react7 = __toESM(require("react"), 1);
2309
+ var import_react8 = __toESM(require("react"), 1);
2303
2310
  var import_jsx_runtime6 = require("react/jsx-runtime");
2304
2311
  function createCollection(name) {
2305
2312
  const PROVIDER_NAME = name + "CollectionProvider";
@@ -2310,14 +2317,14 @@ function createCollection(name) {
2310
2317
  );
2311
2318
  const CollectionProvider = (props) => {
2312
2319
  const { scope, children } = props;
2313
- const ref = import_react6.default.useRef(null);
2314
- const itemMap = import_react6.default.useRef(/* @__PURE__ */ new Map()).current;
2320
+ const ref = import_react7.default.useRef(null);
2321
+ const itemMap = import_react7.default.useRef(/* @__PURE__ */ new Map()).current;
2315
2322
  return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
2316
2323
  };
2317
2324
  CollectionProvider.displayName = PROVIDER_NAME;
2318
2325
  const COLLECTION_SLOT_NAME = name + "CollectionSlot";
2319
2326
  const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);
2320
- const CollectionSlot = import_react6.default.forwardRef(
2327
+ const CollectionSlot = import_react7.default.forwardRef(
2321
2328
  (props, forwardedRef) => {
2322
2329
  const { scope, children } = props;
2323
2330
  const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
@@ -2329,13 +2336,13 @@ function createCollection(name) {
2329
2336
  const ITEM_SLOT_NAME = name + "CollectionItemSlot";
2330
2337
  const ITEM_DATA_ATTR = "data-radix-collection-item";
2331
2338
  const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);
2332
- const CollectionItemSlot = import_react6.default.forwardRef(
2339
+ const CollectionItemSlot = import_react7.default.forwardRef(
2333
2340
  (props, forwardedRef) => {
2334
2341
  const { scope, children, ...itemData } = props;
2335
- const ref = import_react6.default.useRef(null);
2342
+ const ref = import_react7.default.useRef(null);
2336
2343
  const composedRefs = useComposedRefs(forwardedRef, ref);
2337
2344
  const context = useCollectionContext(ITEM_SLOT_NAME, scope);
2338
- import_react6.default.useEffect(() => {
2345
+ import_react7.default.useEffect(() => {
2339
2346
  context.itemMap.set(ref, { ref, ...itemData });
2340
2347
  return () => void context.itemMap.delete(ref);
2341
2348
  });
@@ -2345,7 +2352,7 @@ function createCollection(name) {
2345
2352
  CollectionItemSlot.displayName = ITEM_SLOT_NAME;
2346
2353
  function useCollection2(scope) {
2347
2354
  const context = useCollectionContext(name + "CollectionConsumer", scope);
2348
- const getItems = import_react6.default.useCallback(() => {
2355
+ const getItems = import_react7.default.useCallback(() => {
2349
2356
  const collectionNode = context.collectionRef.current;
2350
2357
  if (!collectionNode) return [];
2351
2358
  const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));
@@ -2450,7 +2457,7 @@ function isFunction(value) {
2450
2457
  }
2451
2458
  var SYNC_STATE = Symbol("RADIX:SYNC_STATE");
2452
2459
 
2453
- // ../node_modules/.pnpm/@radix-ui+react-primitive@2.1.3_@types+react-dom@19.1.9_@types+react@19.1.10__@types+re_9e605969fe68801bc6e8d3b546a2a7e1/node_modules/@radix-ui/react-primitive/dist/index.mjs
2460
+ // ../node_modules/.pnpm/@radix-ui+react-primitive@2.1.3_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@19_xx37pthzbhildnk4zsozp4vigu/node_modules/@radix-ui/react-primitive/dist/index.mjs
2454
2461
  var React8 = __toESM(require("react"), 1);
2455
2462
  var ReactDOM = __toESM(require("react-dom"), 1);
2456
2463
  var import_jsx_runtime7 = require("react/jsx-runtime");
@@ -2490,10 +2497,10 @@ function dispatchDiscreteCustomEvent(target, event) {
2490
2497
  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));
2491
2498
  }
2492
2499
 
2493
- // ../node_modules/.pnpm/@radix-ui+react-collapsible@1.1.11_@types+react-dom@19.1.9_@types+react@19.1.10__@types_0079639e5b639016d4e27453774cf95e/node_modules/@radix-ui/react-collapsible/dist/index.mjs
2500
+ // ../node_modules/.pnpm/@radix-ui+react-collapsible@1.1.11_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react_62ff4xakccgppayw3kaahenns4/node_modules/@radix-ui/react-collapsible/dist/index.mjs
2494
2501
  var React11 = __toESM(require("react"), 1);
2495
2502
 
2496
- // ../node_modules/.pnpm/@radix-ui+react-presence@1.1.4_@types+react-dom@19.1.9_@types+react@19.1.10__@types+rea_7d38616061dbf89127c9b19685065376/node_modules/@radix-ui/react-presence/dist/index.mjs
2503
+ // ../node_modules/.pnpm/@radix-ui+react-presence@1.1.4_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@19._m54kvncv6il6p2flbkd4qzvije/node_modules/@radix-ui/react-presence/dist/index.mjs
2497
2504
  var React24 = __toESM(require("react"), 1);
2498
2505
  var React9 = __toESM(require("react"), 1);
2499
2506
  function useStateMachine(initialState, machine) {
@@ -2631,7 +2638,7 @@ function useId(deterministicId) {
2631
2638
  return deterministicId || (id ? `radix-${id}` : "");
2632
2639
  }
2633
2640
 
2634
- // ../node_modules/.pnpm/@radix-ui+react-collapsible@1.1.11_@types+react-dom@19.1.9_@types+react@19.1.10__@types_0079639e5b639016d4e27453774cf95e/node_modules/@radix-ui/react-collapsible/dist/index.mjs
2641
+ // ../node_modules/.pnpm/@radix-ui+react-collapsible@1.1.11_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react_62ff4xakccgppayw3kaahenns4/node_modules/@radix-ui/react-collapsible/dist/index.mjs
2635
2642
  var import_jsx_runtime8 = require("react/jsx-runtime");
2636
2643
  var COLLAPSIBLE_NAME = "Collapsible";
2637
2644
  var [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);
@@ -2775,7 +2782,7 @@ function useDirection(localDir) {
2775
2782
  return localDir || globalDir || "ltr";
2776
2783
  }
2777
2784
 
2778
- // ../node_modules/.pnpm/@radix-ui+react-accordion@1.2.11_@types+react-dom@19.1.9_@types+react@19.1.10__@types+r_88fa064b3d5df5119586fe1472472636/node_modules/@radix-ui/react-accordion/dist/index.mjs
2785
+ // ../node_modules/.pnpm/@radix-ui+react-accordion@1.2.11_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@1_rikqbnzk4rayqkcryhydcdufbu/node_modules/@radix-ui/react-accordion/dist/index.mjs
2779
2786
  var import_jsx_runtime10 = require("react/jsx-runtime");
2780
2787
  var ACCORDION_NAME = "Accordion";
2781
2788
  var ACCORDION_KEYS = ["Home", "End", "ArrowDown", "ArrowUp", "ArrowLeft", "ArrowRight"];
@@ -2785,7 +2792,7 @@ var [createAccordionContext, createAccordionScope] = createContextScope(ACCORDIO
2785
2792
  createCollapsibleScope
2786
2793
  ]);
2787
2794
  var useCollapsibleScope = createCollapsibleScope();
2788
- var Accordion = import_react8.default.forwardRef(
2795
+ var Accordion = import_react9.default.forwardRef(
2789
2796
  (props, forwardedRef) => {
2790
2797
  const { type, ...accordionProps } = props;
2791
2798
  const singleProps = accordionProps;
@@ -2799,7 +2806,7 @@ var [AccordionCollapsibleProvider, useAccordionCollapsibleContext] = createAccor
2799
2806
  ACCORDION_NAME,
2800
2807
  { collapsible: false }
2801
2808
  );
2802
- var AccordionImplSingle = import_react8.default.forwardRef(
2809
+ var AccordionImplSingle = import_react9.default.forwardRef(
2803
2810
  (props, forwardedRef) => {
2804
2811
  const {
2805
2812
  value: valueProp,
@@ -2819,15 +2826,15 @@ var AccordionImplSingle = import_react8.default.forwardRef(
2819
2826
  AccordionValueProvider,
2820
2827
  {
2821
2828
  scope: props.__scopeAccordion,
2822
- value: import_react8.default.useMemo(() => value ? [value] : [], [value]),
2829
+ value: import_react9.default.useMemo(() => value ? [value] : [], [value]),
2823
2830
  onItemOpen: setValue,
2824
- onItemClose: import_react8.default.useCallback(() => collapsible && setValue(""), [collapsible, setValue]),
2831
+ onItemClose: import_react9.default.useCallback(() => collapsible && setValue(""), [collapsible, setValue]),
2825
2832
  children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(AccordionCollapsibleProvider, { scope: props.__scopeAccordion, collapsible, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(AccordionImpl, { ...accordionSingleProps, ref: forwardedRef }) })
2826
2833
  }
2827
2834
  );
2828
2835
  }
2829
2836
  );
2830
- var AccordionImplMultiple = import_react8.default.forwardRef((props, forwardedRef) => {
2837
+ var AccordionImplMultiple = import_react9.default.forwardRef((props, forwardedRef) => {
2831
2838
  const {
2832
2839
  value: valueProp,
2833
2840
  defaultValue,
@@ -2841,11 +2848,11 @@ var AccordionImplMultiple = import_react8.default.forwardRef((props, forwardedRe
2841
2848
  onChange: onValueChange,
2842
2849
  caller: ACCORDION_NAME
2843
2850
  });
2844
- const handleItemOpen = import_react8.default.useCallback(
2851
+ const handleItemOpen = import_react9.default.useCallback(
2845
2852
  (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),
2846
2853
  [setValue]
2847
2854
  );
2848
- const handleItemClose = import_react8.default.useCallback(
2855
+ const handleItemClose = import_react9.default.useCallback(
2849
2856
  (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),
2850
2857
  [setValue]
2851
2858
  );
@@ -2861,10 +2868,10 @@ var AccordionImplMultiple = import_react8.default.forwardRef((props, forwardedRe
2861
2868
  );
2862
2869
  });
2863
2870
  var [AccordionImplProvider, useAccordionContext] = createAccordionContext(ACCORDION_NAME);
2864
- var AccordionImpl = import_react8.default.forwardRef(
2871
+ var AccordionImpl = import_react9.default.forwardRef(
2865
2872
  (props, forwardedRef) => {
2866
2873
  const { __scopeAccordion, disabled, dir, orientation = "vertical", ...accordionProps } = props;
2867
- const accordionRef = import_react8.default.useRef(null);
2874
+ const accordionRef = import_react9.default.useRef(null);
2868
2875
  const composedRefs = useComposedRefs(accordionRef, forwardedRef);
2869
2876
  const getItems = useCollection(__scopeAccordion);
2870
2877
  const direction = useDirection(dir);
@@ -2953,7 +2960,7 @@ var AccordionImpl = import_react8.default.forwardRef(
2953
2960
  );
2954
2961
  var ITEM_NAME = "AccordionItem";
2955
2962
  var [AccordionItemProvider, useAccordionItemContext] = createAccordionContext(ITEM_NAME);
2956
- var AccordionItem = import_react8.default.forwardRef(
2963
+ var AccordionItem = import_react9.default.forwardRef(
2957
2964
  (props, forwardedRef) => {
2958
2965
  const { __scopeAccordion, value, ...accordionItemProps } = props;
2959
2966
  const accordionContext = useAccordionContext(ITEM_NAME, __scopeAccordion);
@@ -2994,7 +3001,7 @@ var AccordionItem = import_react8.default.forwardRef(
2994
3001
  );
2995
3002
  AccordionItem.displayName = ITEM_NAME;
2996
3003
  var HEADER_NAME = "AccordionHeader";
2997
- var AccordionHeader = import_react8.default.forwardRef(
3004
+ var AccordionHeader = import_react9.default.forwardRef(
2998
3005
  (props, forwardedRef) => {
2999
3006
  const { __scopeAccordion, ...headerProps } = props;
3000
3007
  const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
@@ -3013,7 +3020,7 @@ var AccordionHeader = import_react8.default.forwardRef(
3013
3020
  );
3014
3021
  AccordionHeader.displayName = HEADER_NAME;
3015
3022
  var TRIGGER_NAME2 = "AccordionTrigger";
3016
- var AccordionTrigger = import_react8.default.forwardRef(
3023
+ var AccordionTrigger = import_react9.default.forwardRef(
3017
3024
  (props, forwardedRef) => {
3018
3025
  const { __scopeAccordion, ...triggerProps } = props;
3019
3026
  const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
@@ -3035,7 +3042,7 @@ var AccordionTrigger = import_react8.default.forwardRef(
3035
3042
  );
3036
3043
  AccordionTrigger.displayName = TRIGGER_NAME2;
3037
3044
  var CONTENT_NAME2 = "AccordionContent";
3038
- var AccordionContent = import_react8.default.forwardRef(
3045
+ var AccordionContent = import_react9.default.forwardRef(
3039
3046
  (props, forwardedRef) => {
3040
3047
  const { __scopeAccordion, ...contentProps } = props;
3041
3048
  const accordionContext = useAccordionContext(ACCORDION_NAME, __scopeAccordion);
@@ -3070,7 +3077,7 @@ var Trigger2 = AccordionTrigger;
3070
3077
  var Content2 = AccordionContent;
3071
3078
 
3072
3079
  // ../node_modules/.pnpm/lucide-react@0.523.0_react@19.1.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
3073
- var import_react10 = require("react");
3080
+ var import_react11 = require("react");
3074
3081
 
3075
3082
  // ../node_modules/.pnpm/lucide-react@0.523.0_react@19.1.1/node_modules/lucide-react/dist/esm/shared/src/utils.js
3076
3083
  var toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase();
@@ -3094,7 +3101,7 @@ var hasA11yProp = (props) => {
3094
3101
  };
3095
3102
 
3096
3103
  // ../node_modules/.pnpm/lucide-react@0.523.0_react@19.1.1/node_modules/lucide-react/dist/esm/Icon.js
3097
- var import_react9 = require("react");
3104
+ var import_react10 = require("react");
3098
3105
 
3099
3106
  // ../node_modules/.pnpm/lucide-react@0.523.0_react@19.1.1/node_modules/lucide-react/dist/esm/defaultAttributes.js
3100
3107
  var defaultAttributes = {
@@ -3110,7 +3117,7 @@ var defaultAttributes = {
3110
3117
  };
3111
3118
 
3112
3119
  // ../node_modules/.pnpm/lucide-react@0.523.0_react@19.1.1/node_modules/lucide-react/dist/esm/Icon.js
3113
- var Icon = (0, import_react9.forwardRef)(
3120
+ var Icon = (0, import_react10.forwardRef)(
3114
3121
  ({
3115
3122
  color = "currentColor",
3116
3123
  size: size4 = 24,
@@ -3120,7 +3127,7 @@ var Icon = (0, import_react9.forwardRef)(
3120
3127
  children,
3121
3128
  iconNode,
3122
3129
  ...rest
3123
- }, ref) => (0, import_react9.createElement)(
3130
+ }, ref) => (0, import_react10.createElement)(
3124
3131
  "svg",
3125
3132
  {
3126
3133
  ref,
@@ -3134,7 +3141,7 @@ var Icon = (0, import_react9.forwardRef)(
3134
3141
  ...rest
3135
3142
  },
3136
3143
  [
3137
- ...iconNode.map(([tag, attrs]) => (0, import_react9.createElement)(tag, attrs)),
3144
+ ...iconNode.map(([tag, attrs]) => (0, import_react10.createElement)(tag, attrs)),
3138
3145
  ...Array.isArray(children) ? children : [children]
3139
3146
  ]
3140
3147
  )
@@ -3142,8 +3149,8 @@ var Icon = (0, import_react9.forwardRef)(
3142
3149
 
3143
3150
  // ../node_modules/.pnpm/lucide-react@0.523.0_react@19.1.1/node_modules/lucide-react/dist/esm/createLucideIcon.js
3144
3151
  var createLucideIcon = (iconName, iconNode) => {
3145
- const Component = (0, import_react10.forwardRef)(
3146
- ({ className, ...props }, ref) => (0, import_react10.createElement)(Icon, {
3152
+ const Component = (0, import_react11.forwardRef)(
3153
+ ({ className, ...props }, ref) => (0, import_react11.createElement)(Icon, {
3147
3154
  ref,
3148
3155
  iconNode,
3149
3156
  className: mergeClasses(
@@ -3174,7 +3181,7 @@ var __iconNode3 = [
3174
3181
  var X = createLucideIcon("x", __iconNode3);
3175
3182
 
3176
3183
  // src/libraries/react/components/checkout-dialog/checkout-dialog-synced.tsx
3177
- var import_react13 = require("react");
3184
+ var import_react14 = require("react");
3178
3185
 
3179
3186
  // src/libraries/react/components/ui/accordion.tsx
3180
3187
  var React14 = __toESM(require("react"));
@@ -5833,10 +5840,10 @@ Button.displayName = "Button";
5833
5840
  // src/libraries/react/components/ui/dialog.tsx
5834
5841
  var React33 = __toESM(require("react"));
5835
5842
 
5836
- // ../node_modules/.pnpm/@radix-ui+react-dialog@1.1.14_@types+react-dom@19.1.9_@types+react@19.1.10__@types+reac_d887111acb876d7a867028e90c6aec01/node_modules/@radix-ui/react-dialog/dist/index.mjs
5843
+ // ../node_modules/.pnpm/@radix-ui+react-dialog@1.1.14_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@19.1_7xipnhxsrwjfttlgycirhttgoi/node_modules/@radix-ui/react-dialog/dist/index.mjs
5837
5844
  var React32 = __toESM(require("react"), 1);
5838
5845
 
5839
- // ../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.10_@types+react-dom@19.1.9_@types+react@19.1.10___11bc29965763a1c4e1c62b1db84ce73c/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
5846
+ // ../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.10_@types+react-dom@19.1.9_@types+react@19.1.10__@types_recfemx4gbocxquotpq6g6r6si/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
5840
5847
  var React18 = __toESM(require("react"), 1);
5841
5848
 
5842
5849
  // ../node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.1_@types+react@19.1.10_react@19.1.1/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs
@@ -5864,7 +5871,7 @@ function useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.docum
5864
5871
  }, [onEscapeKeyDown, ownerDocument]);
5865
5872
  }
5866
5873
 
5867
- // ../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.10_@types+react-dom@19.1.9_@types+react@19.1.10___11bc29965763a1c4e1c62b1db84ce73c/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
5874
+ // ../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.10_@types+react-dom@19.1.9_@types+react@19.1.10__@types_recfemx4gbocxquotpq6g6r6si/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs
5868
5875
  var import_jsx_runtime13 = require("react/jsx-runtime");
5869
5876
  var DISMISSABLE_LAYER_NAME = "DismissableLayer";
5870
5877
  var CONTEXT_UPDATE = "dismissableLayer.update";
@@ -6069,7 +6076,7 @@ function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
6069
6076
  }
6070
6077
  }
6071
6078
 
6072
- // ../node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.7_@types+react-dom@19.1.9_@types+react@19.1.10__@types+_8d26458fa87217734ef1cdbf2fc03180/node_modules/@radix-ui/react-focus-scope/dist/index.mjs
6079
+ // ../node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.7_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@_a6spdpnjpgxlsfsxwjh6tjh7gm/node_modules/@radix-ui/react-focus-scope/dist/index.mjs
6073
6080
  var React19 = __toESM(require("react"), 1);
6074
6081
  var import_jsx_runtime14 = require("react/jsx-runtime");
6075
6082
  var AUTOFOCUS_ON_MOUNT = "focusScope.autoFocusOnMount";
@@ -6273,7 +6280,7 @@ function removeLinks(items) {
6273
6280
  return items.filter((item) => item.tagName !== "A");
6274
6281
  }
6275
6282
 
6276
- // ../node_modules/.pnpm/@radix-ui+react-portal@1.1.9_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react_3ad4e24272ef2d06e19c6ad65924b811/node_modules/@radix-ui/react-portal/dist/index.mjs
6283
+ // ../node_modules/.pnpm/@radix-ui+react-portal@1.1.9_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@19.1._o5qf2sukaqjy2xztyed32jp6ia/node_modules/@radix-ui/react-portal/dist/index.mjs
6277
6284
  var React20 = __toESM(require("react"), 1);
6278
6285
  var import_react_dom = __toESM(require("react-dom"), 1);
6279
6286
  var import_jsx_runtime15 = require("react/jsx-runtime");
@@ -6370,9 +6377,9 @@ function assignRef(ref, value) {
6370
6377
  }
6371
6378
 
6372
6379
  // ../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@19.1.10_react@19.1.1/node_modules/use-callback-ref/dist/es2015/useRef.js
6373
- var import_react11 = require("react");
6380
+ var import_react12 = require("react");
6374
6381
  function useCallbackRef2(initialValue, callback) {
6375
- var ref = (0, import_react11.useState)(function() {
6382
+ var ref = (0, import_react12.useState)(function() {
6376
6383
  return {
6377
6384
  // value
6378
6385
  value: initialValue,
@@ -7150,7 +7157,7 @@ var hideOthers = function(originalTarget, parentNode, markerName) {
7150
7157
  return applyAttributeToOthers(targets, activeParentNode, markerName, "aria-hidden");
7151
7158
  };
7152
7159
 
7153
- // ../node_modules/.pnpm/@radix-ui+react-dialog@1.1.14_@types+react-dom@19.1.9_@types+react@19.1.10__@types+reac_d887111acb876d7a867028e90c6aec01/node_modules/@radix-ui/react-dialog/dist/index.mjs
7160
+ // ../node_modules/.pnpm/@radix-ui+react-dialog@1.1.14_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@19.1_7xipnhxsrwjfttlgycirhttgoi/node_modules/@radix-ui/react-dialog/dist/index.mjs
7154
7161
  var import_jsx_runtime16 = require("react/jsx-runtime");
7155
7162
  var DIALOG_NAME = "Dialog";
7156
7163
  var [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);
@@ -7571,10 +7578,10 @@ Input.displayName = "Input";
7571
7578
  // src/libraries/react/components/ui/popover.tsx
7572
7579
  var React40 = __toESM(require("react"));
7573
7580
 
7574
- // ../node_modules/.pnpm/@radix-ui+react-popover@1.1.14_@types+react-dom@19.1.9_@types+react@19.1.10__@types+rea_361550b787f32d6b9c5c274e470f0ceb/node_modules/@radix-ui/react-popover/dist/index.mjs
7581
+ // ../node_modules/.pnpm/@radix-ui+react-popover@1.1.14_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@19._2d5qzp46jobjymz4ef7wsko3em/node_modules/@radix-ui/react-popover/dist/index.mjs
7575
7582
  var React39 = __toESM(require("react"), 1);
7576
7583
 
7577
- // ../node_modules/.pnpm/@radix-ui+react-popper@1.2.7_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react_007ca49c252d46f49cdfb52a53a7b784/node_modules/@radix-ui/react-popper/dist/index.mjs
7584
+ // ../node_modules/.pnpm/@radix-ui+react-popper@1.2.7_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@19.1._rx2bw5lpqtxi7ji4o3uo2rsuda/node_modules/@radix-ui/react-popper/dist/index.mjs
7578
7585
  var React38 = __toESM(require("react"), 1);
7579
7586
 
7580
7587
  // ../node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
@@ -9177,12 +9184,12 @@ var computePosition2 = (reference, floating, options) => {
9177
9184
 
9178
9185
  // ../node_modules/.pnpm/@floating-ui+react-dom@2.1.5_react-dom@19.1.1_react@19.1.1__react@19.1.1/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs
9179
9186
  var React35 = __toESM(require("react"), 1);
9180
- var import_react12 = require("react");
9187
+ var import_react13 = require("react");
9181
9188
  var ReactDOM3 = __toESM(require("react-dom"), 1);
9182
9189
  var isClient = typeof document !== "undefined";
9183
9190
  var noop = function noop2() {
9184
9191
  };
9185
- var index = isClient ? import_react12.useLayoutEffect : noop;
9192
+ var index = isClient ? import_react13.useLayoutEffect : noop;
9186
9193
  function deepEqual(a, b) {
9187
9194
  if (a === b) {
9188
9195
  return true;
@@ -9459,7 +9466,7 @@ var arrow3 = (options, deps) => ({
9459
9466
  options: [options, deps]
9460
9467
  });
9461
9468
 
9462
- // ../node_modules/.pnpm/@radix-ui+react-arrow@1.1.7_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@_873eb9e252518815ce061a1d819bef8f/node_modules/@radix-ui/react-arrow/dist/index.mjs
9469
+ // ../node_modules/.pnpm/@radix-ui+react-arrow@1.1.7_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@19.1.1_7w5nl47bqckuaclutkvv5v7iie/node_modules/@radix-ui/react-arrow/dist/index.mjs
9463
9470
  var React36 = __toESM(require("react"), 1);
9464
9471
  var import_jsx_runtime19 = require("react/jsx-runtime");
9465
9472
  var NAME = "Arrow";
@@ -9518,7 +9525,7 @@ function useSize(element) {
9518
9525
  return size4;
9519
9526
  }
9520
9527
 
9521
- // ../node_modules/.pnpm/@radix-ui+react-popper@1.2.7_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react_007ca49c252d46f49cdfb52a53a7b784/node_modules/@radix-ui/react-popper/dist/index.mjs
9528
+ // ../node_modules/.pnpm/@radix-ui+react-popper@1.2.7_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@19.1._rx2bw5lpqtxi7ji4o3uo2rsuda/node_modules/@radix-ui/react-popper/dist/index.mjs
9522
9529
  var import_jsx_runtime20 = require("react/jsx-runtime");
9523
9530
  var POPPER_NAME = "Popper";
9524
9531
  var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);
@@ -9785,7 +9792,7 @@ var Anchor = PopperAnchor;
9785
9792
  var Content4 = PopperContent;
9786
9793
  var Arrow2 = PopperArrow;
9787
9794
 
9788
- // ../node_modules/.pnpm/@radix-ui+react-popover@1.1.14_@types+react-dom@19.1.9_@types+react@19.1.10__@types+rea_361550b787f32d6b9c5c274e470f0ceb/node_modules/@radix-ui/react-popover/dist/index.mjs
9795
+ // ../node_modules/.pnpm/@radix-ui+react-popover@1.1.14_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@19._2d5qzp46jobjymz4ef7wsko3em/node_modules/@radix-ui/react-popover/dist/index.mjs
9789
9796
  var import_jsx_runtime21 = require("react/jsx-runtime");
9790
9797
  var POPOVER_NAME = "Popover";
9791
9798
  var [createPopoverContext, createPopoverScope] = createContextScope(POPOVER_NAME, [
@@ -10249,13 +10256,13 @@ var formatCurrency = ({
10249
10256
  };
10250
10257
  function CheckoutDialog(params) {
10251
10258
  const { attach } = useCustomer();
10252
- const [checkoutResult, setCheckoutResult] = (0, import_react13.useState)(params?.checkoutResult);
10253
- (0, import_react13.useEffect)(() => {
10259
+ const [checkoutResult, setCheckoutResult] = (0, import_react14.useState)(params?.checkoutResult);
10260
+ (0, import_react14.useEffect)(() => {
10254
10261
  if (params.checkoutResult) {
10255
10262
  setCheckoutResult(params.checkoutResult);
10256
10263
  }
10257
10264
  }, [params.checkoutResult]);
10258
- const [loading, setLoading] = (0, import_react13.useState)(false);
10265
+ const [loading, setLoading] = (0, import_react14.useState)(false);
10259
10266
  if (!checkoutResult) {
10260
10267
  return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, {});
10261
10268
  }
@@ -10430,12 +10437,12 @@ var PrepaidItem = ({
10430
10437
  setCheckoutResult
10431
10438
  }) => {
10432
10439
  const { quantity = 0, billing_units: billingUnits = 1 } = item;
10433
- const [quantityInput, setQuantityInput] = (0, import_react13.useState)(
10440
+ const [quantityInput, setQuantityInput] = (0, import_react14.useState)(
10434
10441
  (quantity / billingUnits).toString()
10435
10442
  );
10436
10443
  const { checkout } = useCustomer();
10437
- const [loading, setLoading] = (0, import_react13.useState)(false);
10438
- const [open, setOpen] = (0, import_react13.useState)(false);
10444
+ const [loading, setLoading] = (0, import_react14.useState)(false);
10445
+ const [open, setOpen] = (0, import_react14.useState)(false);
10439
10446
  const scenario = checkoutResult.product.scenario;
10440
10447
  const handleSave = async () => {
10441
10448
  setLoading(true);
@@ -10544,12 +10551,12 @@ var PrepaidItem = ({
10544
10551
  var import_jsx_runtime25 = require("react/jsx-runtime");
10545
10552
 
10546
10553
  // src/libraries/react/components/pricing-table/pricing-table-synced.tsx
10547
- var import_react15 = require("react");
10554
+ var import_react16 = require("react");
10548
10555
 
10549
10556
  // src/libraries/react/components/ui/switch.tsx
10550
10557
  var React43 = __toESM(require("react"));
10551
10558
 
10552
- // ../node_modules/.pnpm/@radix-ui+react-switch@1.2.5_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react_d116794fd29880b88b610a986963c8dd/node_modules/@radix-ui/react-switch/dist/index.mjs
10559
+ // ../node_modules/.pnpm/@radix-ui+react-switch@1.2.5_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@19.1._mh2w7rehnd5adfujfuln6l4w5m/node_modules/@radix-ui/react-switch/dist/index.mjs
10553
10560
  var React42 = __toESM(require("react"), 1);
10554
10561
 
10555
10562
  // ../node_modules/.pnpm/@radix-ui+react-use-previous@1.1.1_@types+react@19.1.10_react@19.1.1/node_modules/@radix-ui/react-use-previous/dist/index.mjs
@@ -10565,7 +10572,7 @@ function usePrevious(value) {
10565
10572
  }, [value]);
10566
10573
  }
10567
10574
 
10568
- // ../node_modules/.pnpm/@radix-ui+react-switch@1.2.5_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react_d116794fd29880b88b610a986963c8dd/node_modules/@radix-ui/react-switch/dist/index.mjs
10575
+ // ../node_modules/.pnpm/@radix-ui+react-switch@1.2.5_@types+react-dom@19.1.9_@types+react@19.1.10__@types+react@19.1._mh2w7rehnd5adfujfuln6l4w5m/node_modules/@radix-ui/react-switch/dist/index.mjs
10569
10576
  var import_jsx_runtime26 = require("react/jsx-runtime");
10570
10577
  var SWITCH_NAME = "Switch";
10571
10578
  var [createSwitchContext, createSwitchScope] = createContextScope(SWITCH_NAME);
@@ -10823,7 +10830,7 @@ function PricingTable({
10823
10830
  productDetails
10824
10831
  }) {
10825
10832
  const { customer, checkout } = useCustomer({ errorOnNotFound: false });
10826
- const [isAnnual, setIsAnnual] = (0, import_react15.useState)(false);
10833
+ const [isAnnual, setIsAnnual] = (0, import_react16.useState)(false);
10827
10834
  const { products, isLoading, error } = usePricingTable({ productDetails });
10828
10835
  if (isLoading) {
10829
10836
  return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { style: loadingStyles, children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(LoaderCircle, { style: spinnerStyles }) });
@@ -10880,7 +10887,7 @@ function PricingTable({
10880
10887
  }
10881
10888
  ) });
10882
10889
  }
10883
- var PricingTableContext = (0, import_react15.createContext)({
10890
+ var PricingTableContext = (0, import_react16.createContext)({
10884
10891
  isAnnualToggle: false,
10885
10892
  setIsAnnualToggle: () => {
10886
10893
  },
@@ -10888,7 +10895,7 @@ var PricingTableContext = (0, import_react15.createContext)({
10888
10895
  showFeatures: true
10889
10896
  });
10890
10897
  var usePricingTableContext = (componentName) => {
10891
- const context = (0, import_react15.useContext)(PricingTableContext);
10898
+ const context = (0, import_react16.useContext)(PricingTableContext);
10892
10899
  if (context === void 0) {
10893
10900
  throw new Error(`${componentName} must be used within <PricingTable />`);
10894
10901
  }
@@ -11053,8 +11060,8 @@ var PricingFeatureList = ({
11053
11060
  )) })
11054
11061
  ] });
11055
11062
  };
11056
- var PricingCardButton = import_react14.default.forwardRef(({ recommended, children, className, onClick, ...props }, ref) => {
11057
- const [loading, setLoading] = (0, import_react15.useState)(false);
11063
+ var PricingCardButton = import_react15.default.forwardRef(({ recommended, children, className, onClick, ...props }, ref) => {
11064
+ const [loading, setLoading] = (0, import_react16.useState)(false);
11058
11065
  const handleClick = async (e) => {
11059
11066
  setLoading(true);
11060
11067
  try {