autumn-js 0.0.77 → 0.0.80

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 (235) hide show
  1. package/dist/libraries/backend/better-auth.js +30 -0
  2. package/dist/libraries/backend/better-auth.mjs +7 -7
  3. package/dist/libraries/backend/{chunk-J7UA442M.mjs → chunk-3VWJMYUQ.mjs} +13 -0
  4. package/dist/libraries/backend/{chunk-T4YSUMNB.mjs → chunk-6YOFMAEQ.mjs} +6 -6
  5. package/dist/libraries/backend/{chunk-Y2VYFWJD.mjs → chunk-7NHMUGUP.mjs} +1 -1
  6. package/dist/libraries/backend/{chunk-GUZSIYGF.mjs → chunk-CPLIRBCA.mjs} +1 -1
  7. package/dist/libraries/backend/{chunk-PBBWXVWW.mjs → chunk-HDGYVYU5.mjs} +1 -1
  8. package/dist/libraries/backend/{chunk-ZF4V3SVZ.mjs → chunk-MIWNIVVB.mjs} +1 -1
  9. package/dist/libraries/backend/{chunk-2JZFMBVR.mjs → chunk-PCYIWHGN.mjs} +18 -1
  10. package/dist/libraries/backend/express.d.mts +3 -2
  11. package/dist/libraries/backend/express.d.ts +3 -2
  12. package/dist/libraries/backend/express.js +32 -2
  13. package/dist/libraries/backend/express.mjs +9 -9
  14. package/dist/libraries/backend/fastify.d.mts +1 -0
  15. package/dist/libraries/backend/fastify.d.ts +1 -0
  16. package/dist/libraries/backend/fastify.js +49 -0
  17. package/dist/libraries/backend/fastify.mjs +14 -7
  18. package/dist/libraries/backend/hono.d.mts +2 -0
  19. package/dist/libraries/backend/hono.d.ts +2 -0
  20. package/dist/libraries/backend/hono.js +50 -1
  21. package/dist/libraries/backend/hono.mjs +15 -8
  22. package/dist/libraries/backend/next.js +30 -0
  23. package/dist/libraries/backend/next.mjs +7 -7
  24. package/dist/libraries/backend/react-router.d.mts +1 -1
  25. package/dist/libraries/backend/react-router.d.ts +1 -1
  26. package/dist/libraries/backend/react-router.js +51 -0
  27. package/dist/libraries/backend/react-router.mjs +16 -7
  28. package/dist/libraries/backend/{referralTypes-CSbCGBim.d.ts → referralTypes-3L_pJkT7.d.ts} +137 -126
  29. package/dist/libraries/backend/{referralTypes-DiYwS4QY.d.mts → referralTypes-BOtccenE.d.mts} +137 -126
  30. package/dist/libraries/backend/remix_dep.js +30 -0
  31. package/dist/libraries/backend/remix_dep.mjs +7 -7
  32. package/dist/libraries/backend/routes/backendRouter.js +30 -0
  33. package/dist/libraries/backend/routes/backendRouter.mjs +7 -7
  34. package/dist/libraries/backend/routes/entityRoutes.js +13 -0
  35. package/dist/libraries/backend/routes/entityRoutes.mjs +3 -3
  36. package/dist/libraries/backend/routes/genRoutes.js +30 -0
  37. package/dist/libraries/backend/routes/genRoutes.mjs +3 -3
  38. package/dist/libraries/backend/routes/productRoutes.js +13 -0
  39. package/dist/libraries/backend/routes/productRoutes.mjs +3 -3
  40. package/dist/libraries/backend/routes/referralRoutes.js +13 -0
  41. package/dist/libraries/backend/routes/referralRoutes.mjs +3 -3
  42. package/dist/libraries/backend/supabase.d.mts +1 -0
  43. package/dist/libraries/backend/supabase.d.ts +1 -0
  44. package/dist/libraries/backend/supabase.js +51 -0
  45. package/dist/libraries/backend/supabase.mjs +16 -7
  46. package/dist/libraries/backend/tanstack.d.mts +1 -0
  47. package/dist/libraries/backend/tanstack.d.ts +1 -0
  48. package/dist/libraries/backend/tanstack.js +51 -0
  49. package/dist/libraries/backend/tanstack.mjs +16 -7
  50. package/dist/libraries/backend/utils/backendRes.js +13 -0
  51. package/dist/libraries/backend/utils/backendRes.mjs +1 -1
  52. package/dist/libraries/backend/utils/withAuth.d.mts +1 -1
  53. package/dist/libraries/backend/utils/withAuth.d.ts +1 -1
  54. package/dist/libraries/backend/utils/withAuth.js +13 -0
  55. package/dist/libraries/backend/utils/withAuth.mjs +2 -2
  56. package/dist/libraries/react/AutumnContext.d.mts +4 -5
  57. package/dist/libraries/react/AutumnContext.d.ts +4 -5
  58. package/dist/libraries/react/AutumnContext.js +19 -0
  59. package/dist/libraries/react/AutumnContext.mjs +7 -7
  60. package/dist/libraries/react/BaseAutumnProvider.css +1264 -0
  61. package/dist/libraries/react/BaseAutumnProvider.d.mts +4 -5
  62. package/dist/libraries/react/BaseAutumnProvider.d.ts +4 -5
  63. package/dist/libraries/react/BaseAutumnProvider.js +45 -3
  64. package/dist/libraries/react/BaseAutumnProvider.mjs +15 -14
  65. package/dist/libraries/react/{ReactAutumnClient-CrkFLuOn.d.mts → ReactAutumnClient-B-g4zQsF.d.mts} +5 -5
  66. package/dist/libraries/react/{ReactAutumnClient-A7x9envm.d.ts → ReactAutumnClient-BUIEn-KV.d.ts} +5 -5
  67. package/dist/libraries/react/ReactAutumnProvider.css +1264 -0
  68. package/dist/libraries/react/ReactAutumnProvider.d.mts +1 -1
  69. package/dist/libraries/react/ReactAutumnProvider.d.ts +1 -1
  70. package/dist/libraries/react/ReactAutumnProvider.js +45 -3
  71. package/dist/libraries/react/ReactAutumnProvider.mjs +15 -14
  72. package/dist/libraries/react/{chunk-XXMAVKQ4.mjs → chunk-3OBQBUE2.mjs} +2 -2
  73. package/dist/libraries/react/{chunk-77N4ARHR.mjs → chunk-JNM4BLTM.mjs} +6 -0
  74. package/dist/libraries/react/{chunk-WI6WFW54.mjs → chunk-JYOLY75Q.mjs} +3 -2
  75. package/dist/libraries/react/chunk-OWFX3JFF.mjs +23 -0
  76. package/dist/libraries/react/{chunk-EH2VPTFH.mjs → chunk-RRXCG32N.mjs} +13 -0
  77. package/dist/libraries/react/{chunk-UMZA5GHL.mjs → chunk-WYADGMAH.mjs} +1 -1
  78. package/dist/libraries/react/{chunk-FINFVKJY.mjs → chunk-XPGX7SQG.mjs} +44 -18
  79. package/dist/libraries/react/{chunk-4CRZJJPY.mjs → chunk-Y6UVL46W.mjs} +17 -15
  80. package/dist/libraries/react/client/ReactAutumnClient.d.mts +4 -5
  81. package/dist/libraries/react/client/ReactAutumnClient.d.ts +4 -5
  82. package/dist/libraries/react/client/ReactAutumnClient.js +19 -0
  83. package/dist/libraries/react/client/ReactAutumnClient.mjs +6 -6
  84. package/dist/libraries/react/client/clientCompMethods.d.mts +4 -5
  85. package/dist/libraries/react/client/clientCompMethods.d.ts +4 -5
  86. package/dist/libraries/react/client/clientCusMethods.d.mts +4 -5
  87. package/dist/libraries/react/client/clientCusMethods.d.ts +4 -5
  88. package/dist/libraries/react/client/clientEntityMethods.d.mts +4 -5
  89. package/dist/libraries/react/client/clientEntityMethods.d.ts +4 -5
  90. package/dist/libraries/react/client/clientGenMethods.d.mts +7 -7
  91. package/dist/libraries/react/client/clientGenMethods.d.ts +7 -7
  92. package/dist/libraries/react/client/clientGenMethods.js +7 -0
  93. package/dist/libraries/react/client/clientGenMethods.mjs +3 -1
  94. package/dist/libraries/react/client/clientProdMethods.d.mts +4 -5
  95. package/dist/libraries/react/client/clientProdMethods.d.ts +4 -5
  96. package/dist/libraries/react/client/clientReferralMethods.d.mts +4 -5
  97. package/dist/libraries/react/client/clientReferralMethods.d.ts +4 -5
  98. package/dist/libraries/react/client/types/clientGenTypes.d.mts +6 -1
  99. package/dist/libraries/react/client/types/clientGenTypes.d.ts +6 -1
  100. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.css +1264 -0
  101. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.mts +1 -2
  102. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.ts +1 -2
  103. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.js +45 -3
  104. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.mjs +15 -14
  105. package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.mts +1 -2
  106. package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.ts +1 -2
  107. package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.mts +1 -2
  108. package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.ts +1 -2
  109. package/dist/libraries/react/components/check-dialog/lib/check-content.d.mts +1 -2
  110. package/dist/libraries/react/components/check-dialog/lib/check-content.d.ts +1 -2
  111. package/dist/libraries/react/components/pricing-table/pricing-table-synced.css +1264 -0
  112. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +1 -2
  113. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +1 -2
  114. package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +62 -4
  115. package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +15 -14
  116. package/dist/libraries/react/cusTypes-DSlkhuov.d.mts +225 -0
  117. package/dist/libraries/react/cusTypes-DSlkhuov.d.ts +225 -0
  118. package/dist/libraries/react/{entTypes-C8jD10M8.d.ts → entTypes-CcB_hEh5.d.ts} +1 -1
  119. package/dist/libraries/react/{entTypes-8gkfAi3g.d.mts → entTypes-Rpnetevb.d.mts} +1 -1
  120. package/dist/libraries/react/errorUtils/logAuthError.js +13 -0
  121. package/dist/libraries/react/errorUtils/logAuthError.mjs +1 -1
  122. package/dist/libraries/react/hooks/handleAllowed.d.mts +2 -2
  123. package/dist/libraries/react/hooks/handleAllowed.d.ts +2 -2
  124. package/dist/libraries/react/hooks/useAutumn.css +1264 -0
  125. package/dist/libraries/react/hooks/useAutumn.d.mts +4 -4
  126. package/dist/libraries/react/hooks/useAutumn.d.ts +4 -4
  127. package/dist/libraries/react/hooks/useAutumn.js +45 -3
  128. package/dist/libraries/react/hooks/useAutumn.mjs +15 -14
  129. package/dist/libraries/react/hooks/useAutumnBase.css +1264 -0
  130. package/dist/libraries/react/hooks/useAutumnBase.d.mts +6 -6
  131. package/dist/libraries/react/hooks/useAutumnBase.d.ts +6 -6
  132. package/dist/libraries/react/hooks/useAutumnBase.js +45 -3
  133. package/dist/libraries/react/hooks/useAutumnBase.mjs +15 -14
  134. package/dist/libraries/react/hooks/useCustomer.css +1264 -0
  135. package/dist/libraries/react/hooks/useCustomer.d.mts +4 -5
  136. package/dist/libraries/react/hooks/useCustomer.d.ts +4 -5
  137. package/dist/libraries/react/hooks/useCustomer.js +45 -3
  138. package/dist/libraries/react/hooks/useCustomer.mjs +15 -14
  139. package/dist/libraries/react/hooks/useCustomerBase.css +1264 -0
  140. package/dist/libraries/react/hooks/useCustomerBase.d.mts +6 -6
  141. package/dist/libraries/react/hooks/useCustomerBase.d.ts +6 -6
  142. package/dist/libraries/react/hooks/useCustomerBase.js +45 -3
  143. package/dist/libraries/react/hooks/useCustomerBase.mjs +15 -14
  144. package/dist/libraries/react/hooks/useEntity.css +1264 -0
  145. package/dist/libraries/react/hooks/useEntity.d.mts +3 -4
  146. package/dist/libraries/react/hooks/useEntity.d.ts +3 -4
  147. package/dist/libraries/react/hooks/useEntity.js +45 -3
  148. package/dist/libraries/react/hooks/useEntity.mjs +15 -14
  149. package/dist/libraries/react/hooks/useEntityBase.css +1264 -0
  150. package/dist/libraries/react/hooks/useEntityBase.d.mts +4 -5
  151. package/dist/libraries/react/hooks/useEntityBase.d.ts +4 -5
  152. package/dist/libraries/react/hooks/useEntityBase.js +45 -3
  153. package/dist/libraries/react/hooks/useEntityBase.mjs +15 -14
  154. package/dist/libraries/react/hooks/usePricingTable.d.mts +1 -2
  155. package/dist/libraries/react/hooks/usePricingTable.d.ts +1 -2
  156. package/dist/libraries/react/hooks/usePricingTable.js +20 -0
  157. package/dist/libraries/react/hooks/usePricingTable.mjs +9 -9
  158. package/dist/libraries/react/hooks/usePricingTableBase.d.mts +4 -5
  159. package/dist/libraries/react/hooks/usePricingTableBase.d.ts +4 -5
  160. package/dist/libraries/react/hooks/usePricingTableBase.js +20 -0
  161. package/dist/libraries/react/hooks/usePricingTableBase.mjs +8 -8
  162. package/dist/libraries/react/hooks/useProductsBase.js +19 -0
  163. package/dist/libraries/react/hooks/useProductsBase.mjs +7 -7
  164. package/dist/libraries/react/index.d.ts +126 -115
  165. package/dist/libraries/react/index.js +87 -5
  166. package/dist/libraries/react/index.mjs +87 -5
  167. package/dist/libraries/react/{response-DLD-1iva.d.ts → response-BKKi_PDD.d.ts} +6 -3
  168. package/dist/libraries/react/{response-BGS7hGc7.d.mts → response-CTqlSAVK.d.mts} +6 -3
  169. package/dist/libraries/react/utils/inject-styles.d.mts +4 -0
  170. package/dist/libraries/react/utils/inject-styles.d.ts +4 -0
  171. package/dist/libraries/react/utils/inject-styles.js +47 -0
  172. package/dist/libraries/react/utils/inject-styles.mjs +10 -0
  173. package/dist/next/{AutumnProvider-BdIwgk_j.d.ts → AutumnProvider-CGdXoZNQ.d.mts} +116 -7
  174. package/dist/next/{AutumnProvider-BdIwgk_j.d.mts → AutumnProvider-CGdXoZNQ.d.ts} +116 -7
  175. package/dist/next/AutumnProvider.d.mts +1 -1
  176. package/dist/next/AutumnProvider.d.ts +1 -1
  177. package/dist/next/client/NextAutumnClient.d.mts +5 -4
  178. package/dist/next/client/NextAutumnClient.d.ts +5 -4
  179. package/dist/next/client/NextAutumnProvider.d.mts +1 -1
  180. package/dist/next/client/NextAutumnProvider.d.ts +1 -1
  181. package/dist/next/client/{clientGenTypes-Dh9BiE0s.d.mts → clientGenTypes-BHrxzZi_.d.mts} +12 -3
  182. package/dist/next/client/{clientGenTypes-CXkGuJ6W.d.ts → clientGenTypes-HDbUC8f6.d.ts} +12 -3
  183. package/dist/next/client/clientUtils.d.mts +2 -2
  184. package/dist/next/client/clientUtils.d.ts +2 -2
  185. package/dist/next/client/cusTypes-CSbB7Wu9.d.mts +225 -0
  186. package/dist/next/client/cusTypes-CSbB7Wu9.d.ts +225 -0
  187. package/dist/next/client/{entTypes-C1-bumir.d.mts → entTypes-6xEkbn32.d.mts} +1 -1
  188. package/dist/next/client/{entTypes-CKc2qHBt.d.ts → entTypes-B3R2yjLW.d.ts} +1 -1
  189. package/dist/next/client/error-DHbclCVh.d.mts +17 -0
  190. package/dist/next/client/error-DHbclCVh.d.ts +17 -0
  191. package/dist/next/client/hooks/useAutumn.d.mts +5 -4
  192. package/dist/next/client/hooks/useAutumn.d.ts +5 -4
  193. package/dist/next/client/hooks/useCustomer.d.mts +5 -4
  194. package/dist/next/client/hooks/useCustomer.d.ts +5 -4
  195. package/dist/next/client/hooks/useEntity.d.mts +5 -5
  196. package/dist/next/client/hooks/useEntity.d.ts +5 -5
  197. package/dist/next/client/hooks/usePricingTable.d.mts +2 -2
  198. package/dist/next/client/hooks/usePricingTable.d.ts +2 -2
  199. package/dist/next/client/types.d.mts +2 -2
  200. package/dist/next/client/types.d.ts +2 -2
  201. package/dist/next/index.d.mts +14 -111
  202. package/dist/next/index.d.ts +14 -111
  203. package/dist/next/server/auth/withNextAuth.d.mts +1 -1
  204. package/dist/next/server/auth/withNextAuth.d.ts +1 -1
  205. package/dist/next/server/componentActions.d.mts +1 -1
  206. package/dist/next/server/componentActions.d.ts +1 -1
  207. package/dist/next/server/cusActions.d.mts +12 -121
  208. package/dist/next/server/cusActions.d.ts +12 -121
  209. package/dist/next/server/cusTypes-ASrCF4fa.d.mts +244 -0
  210. package/dist/next/server/cusTypes-ASrCF4fa.d.ts +244 -0
  211. package/dist/next/server/genActions.d.mts +1 -1
  212. package/dist/next/server/genActions.d.ts +1 -1
  213. package/dist/sdk/index.d.mts +142 -131
  214. package/dist/sdk/index.d.ts +142 -131
  215. package/dist/sdk/index.js +13 -0
  216. package/dist/sdk/index.mjs +13 -0
  217. package/dist/styles/global.css +50 -3
  218. package/dist/utils/encryptUtils.js +13 -0
  219. package/dist/utils/encryptUtils.mjs +13 -0
  220. package/package.json +3 -2
  221. package/scripts/css-transform-plugin.js +28 -0
  222. package/scripts/post-build.js +65 -15
  223. package/scripts/sync-registry.ts +10 -0
  224. package/tsup.config.ts +6 -2
  225. package/tsup.dev.config.ts +6 -2
  226. package/dist/libraries/react/checkTypes-Bz2m_2pr.d.ts +0 -112
  227. package/dist/libraries/react/checkTypes-Cjk7BjiU.d.mts +0 -112
  228. package/dist/libraries/react/cusTypes-DNx5bwlw.d.mts +0 -116
  229. package/dist/libraries/react/cusTypes-DNx5bwlw.d.ts +0 -116
  230. package/dist/next/client/checkTypes-BVlLFoUT.d.ts +0 -128
  231. package/dist/next/client/checkTypes-CGZpuidI.d.mts +0 -128
  232. package/dist/next/client/cusTypes-CV5q3GIA.d.mts +0 -116
  233. package/dist/next/client/cusTypes-CV5q3GIA.d.ts +0 -116
  234. package/dist/next/server/cusTypes-Cc8NWXXF.d.mts +0 -124
  235. package/dist/next/server/cusTypes-Cc8NWXXF.d.ts +0 -124
@@ -17,11 +17,6 @@ declare class AutumnError extends Error {
17
17
  };
18
18
  }
19
19
 
20
- declare enum AppEnv {
21
- Sandbox = "sandbox",
22
- Live = "live"
23
- }
24
-
25
20
  declare const Infinite = "inf";
26
21
  declare enum FreeTrialDuration {
27
22
  Day = "day"
@@ -44,6 +39,119 @@ declare enum ProductItemInterval {
44
39
  }
45
40
  type ProductItemIntervalType = "minute" | "hour" | "day" | "week" | "month" | "quarter" | "semi_annual" | "year" | "multiple";
46
41
 
42
+ type CheckFeatureScenario = "usage_limit" | "feature_flag";
43
+ interface CheckFeatureResult extends CoreCustomerFeature {
44
+ allowed: boolean;
45
+ feature_id: string;
46
+ customer_id: string;
47
+ entity_id?: string;
48
+ required_balance: number;
49
+ code: string;
50
+ preview?: CheckFeaturePreview;
51
+ }
52
+ interface CheckFeaturePreview {
53
+ scenario: CheckFeatureScenario;
54
+ title: string;
55
+ message: string;
56
+ feature_id: string;
57
+ feature_name: string;
58
+ products: Product[];
59
+ }
60
+ type ProductScenario = "scheduled" | "active" | "new" | "renew" | "upgrade" | "downgrade" | "cancel";
61
+ interface CheckProductResult {
62
+ allowed: boolean;
63
+ customer_id: string;
64
+ product_id: string;
65
+ code: string;
66
+ status?: string;
67
+ preview?: CheckProductPreview;
68
+ }
69
+ interface CheckProductPreview {
70
+ scenario: ProductScenario;
71
+ product_id: string;
72
+ product_name: string;
73
+ recurring: boolean;
74
+ error_on_attach?: boolean;
75
+ next_cycle_at?: number;
76
+ current_product_name?: string;
77
+ items?: {
78
+ price: string;
79
+ description: string;
80
+ usage_model?: UsageModelType;
81
+ }[];
82
+ options?: {
83
+ feature_id: string;
84
+ feature_name: string;
85
+ billing_units: number;
86
+ price?: number;
87
+ tiers?: {
88
+ to: number | string;
89
+ amount: number;
90
+ }[];
91
+ }[];
92
+ due_today?: {
93
+ price: number;
94
+ currency: string;
95
+ };
96
+ due_next_cycle?: {
97
+ price: number;
98
+ currency: string;
99
+ };
100
+ }
101
+
102
+ declare enum AppEnv {
103
+ Sandbox = "sandbox",
104
+ Live = "live"
105
+ }
106
+
107
+ interface ProductItem {
108
+ feature_id?: string;
109
+ included_usage?: number | typeof Infinite;
110
+ interval?: ProductItemIntervalType;
111
+ usage_model?: UsageModel;
112
+ price?: number;
113
+ billing_units?: number;
114
+ entity_feature_id?: string;
115
+ reset_usage_when_enabled?: boolean;
116
+ display?: {
117
+ primary_text?: string;
118
+ secondary_text?: string;
119
+ };
120
+ }
121
+ interface FreeTrial {
122
+ duration: FreeTrialDuration;
123
+ length: number;
124
+ unique_fingerprint: boolean;
125
+ trial_available?: boolean;
126
+ }
127
+ interface Product {
128
+ id: string;
129
+ created_at: number;
130
+ name: string;
131
+ env: AppEnv;
132
+ is_add_on: boolean;
133
+ is_default: boolean;
134
+ group: string;
135
+ version: number;
136
+ items: ProductItem[];
137
+ free_trial: FreeTrial | null;
138
+ scenario?: ProductScenario;
139
+ base_variant_id: string | null;
140
+ properties?: {
141
+ is_free?: boolean;
142
+ is_one_off?: boolean;
143
+ interval_group?: string;
144
+ };
145
+ display?: {
146
+ name?: string;
147
+ description?: string;
148
+ button_text?: string;
149
+ recommend_text?: string;
150
+ everything_from?: string;
151
+ button_url?: string;
152
+ };
153
+ }
154
+
47
155
  declare enum ProductStatus {
48
156
  Active = "active",
49
157
  Expired = "expired",
@@ -51,7 +159,7 @@ declare enum ProductStatus {
51
159
  Scheduled = "scheduled",
52
160
  PastDue = "past_due"
53
161
  }
54
- type CustomerExpandOption = "invoices" | "rewards" | "trials_used" | "entities";
162
+ type CustomerExpandOption = "invoices" | "rewards" | "trials_used" | "entities" | "referrals" | "payment_method";
55
163
 
56
164
  interface CoreCustomerFeature {
57
165
  unlimited?: boolean;
@@ -92,6 +200,7 @@ interface CustomerProduct {
92
200
  entity_id?: string;
93
201
  is_add_on: boolean;
94
202
  is_default: boolean;
203
+ items: ProductItem[];
95
204
  }
96
205
  interface Customer {
97
206
  id: string | null;
@@ -135,115 +244,6 @@ interface Entity {
135
244
  invoices?: CustomerInvoice[];
136
245
  }
137
246
 
138
- interface ProductItem {
139
- feature_id?: string;
140
- included_usage?: number | typeof Infinite;
141
- interval?: ProductItemIntervalType;
142
- usage_model?: UsageModel;
143
- price?: number;
144
- billing_units?: number;
145
- entity_feature_id?: string;
146
- reset_usage_on_billing?: boolean;
147
- reset_usage_when_enabled?: boolean;
148
- display?: {
149
- primary_text?: string;
150
- secondary_text?: string;
151
- };
152
- }
153
- interface FreeTrial {
154
- duration: FreeTrialDuration;
155
- length: number;
156
- unique_fingerprint: boolean;
157
- trial_available?: boolean;
158
- }
159
- interface Product {
160
- id: string;
161
- created_at: number;
162
- name: string;
163
- env: AppEnv;
164
- is_add_on: boolean;
165
- is_default: boolean;
166
- group: string;
167
- version: number;
168
- items: ProductItem[];
169
- free_trial: FreeTrial | null;
170
- scenario?: ProductScenario;
171
- base_variant_id: string | null;
172
- properties?: {
173
- is_free?: boolean;
174
- is_one_off?: boolean;
175
- interval_group?: string;
176
- };
177
- display?: {
178
- name?: string;
179
- description?: string;
180
- button_text?: string;
181
- recommend_text?: string;
182
- everything_from?: string;
183
- button_url?: string;
184
- };
185
- }
186
-
187
- type CheckFeatureScenario = "usage_limit" | "feature_flag";
188
- interface CheckFeatureResult extends CoreCustomerFeature {
189
- allowed: boolean;
190
- feature_id: string;
191
- customer_id: string;
192
- entity_id?: string;
193
- required_balance: number;
194
- code: string;
195
- preview?: CheckFeaturePreview;
196
- }
197
- interface CheckFeaturePreview {
198
- scenario: CheckFeatureScenario;
199
- title: string;
200
- message: string;
201
- feature_id: string;
202
- feature_name: string;
203
- products: Product[];
204
- }
205
- type ProductScenario = "scheduled" | "active" | "new" | "renew" | "upgrade" | "downgrade" | "cancel";
206
- interface CheckProductResult {
207
- allowed: boolean;
208
- customer_id: string;
209
- product_id: string;
210
- code: string;
211
- status?: string;
212
- preview?: CheckProductPreview;
213
- }
214
- interface CheckProductPreview {
215
- scenario: ProductScenario;
216
- product_id: string;
217
- product_name: string;
218
- recurring: boolean;
219
- error_on_attach?: boolean;
220
- next_cycle_at?: number;
221
- current_product_name?: string;
222
- items?: {
223
- price: string;
224
- description: string;
225
- usage_model?: UsageModelType;
226
- }[];
227
- options?: {
228
- feature_id: string;
229
- feature_name: string;
230
- billing_units: number;
231
- price?: number;
232
- tiers?: {
233
- to: number | string;
234
- amount: number;
235
- }[];
236
- }[];
237
- due_today?: {
238
- price: number;
239
- currency: string;
240
- };
241
- due_next_cycle?: {
242
- price: number;
243
- currency: string;
244
- };
245
- }
246
-
247
247
  interface CancelResult {
248
248
  success: boolean;
249
249
  customer_id: string;
@@ -265,6 +265,10 @@ interface TrackResult {
265
265
  event_name?: string;
266
266
  }
267
267
  type CheckResult = CheckFeatureResult & CheckProductResult;
268
+ interface SetupPaymentResult {
269
+ customer_id: string;
270
+ url: string;
271
+ }
268
272
 
269
273
  type Success<T> = {
270
274
  data: T;
@@ -404,6 +408,11 @@ interface OpenBillingPortalParams {
404
408
  returnUrl?: string;
405
409
  openInNewTab?: boolean;
406
410
  }
411
+ interface SetupPaymentParams {
412
+ successUrl?: string;
413
+ checkoutSessionParams?: Record<string, any>;
414
+ openInNewTab?: boolean;
415
+ }
407
416
 
408
417
  interface AllowedParams {
409
418
  featureId?: string;
@@ -419,6 +428,7 @@ interface UseCustomerResult {
419
428
  check: (params: CheckParams) => AutumnPromise<CheckResult>;
420
429
  track: (params: TrackParams) => AutumnPromise<TrackResult>;
421
430
  cancel: (params: CancelParams) => AutumnPromise<CancelResult>;
431
+ setupPayment: (params: SetupPaymentParams) => AutumnPromise<SetupPaymentResult>;
422
432
  openBillingPortal: (params?: OpenBillingPortalParams) => AutumnPromise<BillingPortalResult>;
423
433
  refetch: () => Promise<Customer | null>;
424
434
  createEntity: (params: CreateEntityParams | CreateEntityParams[]) => AutumnPromise<Entity | Entity[]>;
@@ -463,6 +473,7 @@ declare const useAutumn: () => {
463
473
  track: (params: TrackParams) => AutumnPromise<TrackResult>;
464
474
  cancel: (params: CancelParams) => AutumnPromise<CancelResult>;
465
475
  openBillingPortal: (params?: OpenBillingPortalParams) => AutumnPromise<BillingPortalResult>;
476
+ setupPayment: (params?: SetupPaymentParams) => AutumnPromise<SetupPaymentResult>;
466
477
  };
467
478
 
468
479
  interface AttachDialogProps {
@@ -1,5 +1,4 @@
1
1
  "use client";
2
- require("../../styles/global.css");
3
2
  "use strict";
4
3
  var __create = Object.create;
5
4
  var __defProp = Object.defineProperty;
@@ -43,6 +42,31 @@ __export(index_exports, {
43
42
  });
44
43
  module.exports = __toCommonJS(index_exports);
45
44
 
45
+ // #style-inject:#style-inject
46
+ function styleInject(css, { insertAt } = {}) {
47
+ if (!css || typeof document === "undefined") return;
48
+ const head = document.head || document.getElementsByTagName("head")[0];
49
+ const style = document.createElement("style");
50
+ style.type = "text/css";
51
+ if (insertAt === "top") {
52
+ if (head.firstChild) {
53
+ head.insertBefore(style, head.firstChild);
54
+ } else {
55
+ head.appendChild(style);
56
+ }
57
+ } else {
58
+ head.appendChild(style);
59
+ }
60
+ if (style.styleSheet) {
61
+ style.styleSheet.cssText = css;
62
+ } else {
63
+ style.appendChild(document.createTextNode(css));
64
+ }
65
+ }
66
+
67
+ // src/styles/global.css
68
+ styleInject('*:where(.au-root, .au-root *),\n:where(.au-root, .au-root *)::before,\n:where(.au-root, .au-root *)::after {\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n border-color: #e5e7eb;\n}\n:where(.au-root, .au-root *)::before,\n:where(.au-root, .au-root *)::after {\n --tw-content: "";\n}\n.au-root {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n font-family:\n ui-sans-serif,\n system-ui,\n sans-serif,\n "Apple Color Emoji",\n "Segoe UI Emoji",\n "Segoe UI Symbol",\n "Noto Color Emoji";\n font-feature-settings: normal;\n font-variation-settings: normal;\n -webkit-tap-highlight-color: transparent;\n}\n.au-root {\n margin: 0;\n line-height: inherit;\n}\nhr:where(.au-root, .au-root *) {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n}\nabbr:where([title]):where(.au-root, .au-root *) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\nh1:where(.au-root, .au-root *),\nh2:where(.au-root, .au-root *),\nh3:where(.au-root, .au-root *),\nh4:where(.au-root, .au-root *),\nh5:where(.au-root, .au-root *),\nh6:where(.au-root, .au-root *) {\n font-size: inherit;\n font-weight: inherit;\n}\na:where(.au-root, .au-root *) {\n color: inherit;\n text-decoration: inherit;\n}\nb:where(.au-root, .au-root *),\nstrong:where(.au-root, .au-root *) {\n font-weight: bolder;\n}\ncode:where(.au-root, .au-root *),\nkbd:where(.au-root, .au-root *),\nsamp:where(.au-root, .au-root *),\npre:where(.au-root, .au-root *) {\n font-family:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n "Liberation Mono",\n "Courier New",\n monospace;\n font-feature-settings: normal;\n font-variation-settings: normal;\n font-size: 1em;\n}\nsmall:where(.au-root, .au-root *) {\n font-size: 80%;\n}\nsub:where(.au-root, .au-root *),\nsup:where(.au-root, .au-root *) {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsub:where(.au-root, .au-root *) {\n bottom: -0.25em;\n}\nsup:where(.au-root, .au-root *) {\n top: -0.5em;\n}\ntable:where(.au-root, .au-root *) {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n}\nbutton:where(.au-root, .au-root *),\ninput:where(.au-root, .au-root *),\noptgroup:where(.au-root, .au-root *),\nselect:where(.au-root, .au-root *),\ntextarea:where(.au-root, .au-root *) {\n font-family: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n font-size: 100%;\n font-weight: inherit;\n line-height: inherit;\n color: inherit;\n margin: 0;\n padding: 0;\n}\nbutton:where(.au-root, .au-root *),\nselect:where(.au-root, .au-root *) {\n text-transform: none;\n}\nbutton:where(.au-root, .au-root *),\n[type=button]:where(.au-root, .au-root *),\n[type=reset]:where(.au-root, .au-root *),\n[type=submit]:where(.au-root, .au-root *) {\n -webkit-appearance: button;\n background-color: transparent;\n background-image: none;\n}\n:-moz-focusring:where(.au-root, .au-root *) {\n outline: auto;\n}\n:-moz-ui-invalid:where(.au-root, .au-root *) {\n box-shadow: none;\n}\nprogress:where(.au-root, .au-root *) {\n vertical-align: baseline;\n}\n:where(.au-root, .au-root *) ::-webkit-inner-spin-button,\n:where(.au-root, .au-root *) ::-webkit-outer-spin-button {\n height: auto;\n}\n[type=search]:where(.au-root, .au-root *) {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n:where(.au-root, .au-root *) ::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n:where(.au-root, .au-root *) ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\nsummary:where(.au-root, .au-root *) {\n display: list-item;\n}\nblockquote:where(.au-root, .au-root *),\ndl:where(.au-root, .au-root *),\ndd:where(.au-root, .au-root *),\nh1:where(.au-root, .au-root *),\nh2:where(.au-root, .au-root *),\nh3:where(.au-root, .au-root *),\nh4:where(.au-root, .au-root *),\nh5:where(.au-root, .au-root *),\nh6:where(.au-root, .au-root *),\nhr:where(.au-root, .au-root *),\nfigure:where(.au-root, .au-root *),\np:where(.au-root, .au-root *),\npre:where(.au-root, .au-root *) {\n margin: 0;\n}\nfieldset:where(.au-root, .au-root *) {\n margin: 0;\n padding: 0;\n}\nlegend:where(.au-root, .au-root *) {\n padding: 0;\n}\nol:where(.au-root, .au-root *),\nul:where(.au-root, .au-root *),\nmenu:where(.au-root, .au-root *) {\n list-style: none;\n margin: 0;\n padding: 0;\n}\ndialog:where(.au-root, .au-root *) {\n padding: 0;\n}\ntextarea:where(.au-root, .au-root *) {\n resize: vertical;\n}\n:where(.au-root, .au-root *) input::-moz-placeholder,\n:where(.au-root, .au-root *) textarea::-moz-placeholder {\n opacity: 1;\n color: #9ca3af;\n}\n:where(.au-root, .au-root *) input::placeholder,\n:where(.au-root, .au-root *) textarea::placeholder {\n opacity: 1;\n color: #9ca3af;\n}\nbutton:where(.au-root, .au-root *),\n[role=button]:where(.au-root, .au-root *) {\n cursor: pointer;\n}\n:disabled:where(.au-root, .au-root *) {\n cursor: default;\n}\nimg:where(.au-root, .au-root *),\nsvg:where(.au-root, .au-root *),\nvideo:where(.au-root, .au-root *),\ncanvas:where(.au-root, .au-root *),\naudio:where(.au-root, .au-root *),\niframe:where(.au-root, .au-root *),\nembed:where(.au-root, .au-root *),\nobject:where(.au-root, .au-root *) {\n display: block;\n vertical-align: middle;\n}\nimg:where(.au-root, .au-root *),\nvideo:where(.au-root, .au-root *) {\n max-width: 100%;\n height: auto;\n}\n[hidden]:where(.au-root, .au-root *) {\n display: none;\n}\n.au-root *,\n.au-root ::before,\n.au-root ::after {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n::backdrop {\n --tw-border-spacing-x: 0;\n --tw-border-spacing-y: 0;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-rotate: 0;\n --tw-skew-x: 0;\n --tw-skew-y: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-pan-x: ;\n --tw-pan-y: ;\n --tw-pinch-zoom: ;\n --tw-scroll-snap-strictness: proximity;\n --tw-gradient-from-position: ;\n --tw-gradient-via-position: ;\n --tw-gradient-to-position: ;\n --tw-ordinal: ;\n --tw-slashed-zero: ;\n --tw-numeric-figure: ;\n --tw-numeric-spacing: ;\n --tw-numeric-fraction: ;\n --tw-ring-inset: ;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-color: rgb(59 130 246 / 0.5);\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-ring-shadow: 0 0 #0000;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-colored: 0 0 #0000;\n --tw-blur: ;\n --tw-brightness: ;\n --tw-contrast: ;\n --tw-grayscale: ;\n --tw-hue-rotate: ;\n --tw-invert: ;\n --tw-saturate: ;\n --tw-sepia: ;\n --tw-drop-shadow: ;\n --tw-backdrop-blur: ;\n --tw-backdrop-brightness: ;\n --tw-backdrop-contrast: ;\n --tw-backdrop-grayscale: ;\n --tw-backdrop-hue-rotate: ;\n --tw-backdrop-invert: ;\n --tw-backdrop-opacity: ;\n --tw-backdrop-saturate: ;\n --tw-backdrop-sepia: ;\n}\n.au-sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n}\n.au-pointer-events-none {\n pointer-events: none;\n}\n.au-fixed {\n position: fixed;\n}\n.au-absolute {\n position: absolute;\n}\n.au-relative {\n position: relative;\n}\n.au-inset-0 {\n inset: 0px;\n}\n.au-left-\\[50\\%\\] {\n left: 50%;\n}\n.au-right-4 {\n right: 1rem;\n}\n.au-right-\\[-1px\\] {\n right: -1px;\n}\n.au-top-4 {\n top: 1rem;\n}\n.au-top-\\[-1px\\] {\n top: -1px;\n}\n.au-top-\\[50\\%\\] {\n top: 50%;\n}\n.au-z-50 {\n z-index: 50;\n}\n.au-my-2 {\n margin-top: 0.5rem;\n margin-bottom: 0.5rem;\n}\n.au-mb-1 {\n margin-bottom: 0.25rem;\n}\n.au-mb-2 {\n margin-bottom: 0.5rem;\n}\n.au-mb-4 {\n margin-bottom: 1rem;\n}\n.au-mb-6 {\n margin-bottom: 1.5rem;\n}\n.au-mb-8 {\n margin-bottom: 2rem;\n}\n.au-mr-2 {\n margin-right: 0.5rem;\n}\n.au-mt-0 {\n margin-top: 0px;\n}\n.au-mt-0\\.5 {\n margin-top: 0.125rem;\n}\n.au-mt-1 {\n margin-top: 0.25rem;\n}\n.au-mt-2 {\n margin-top: 0.5rem;\n}\n.au-mt-4 {\n margin-top: 1rem;\n}\n.au-line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n}\n.au-block {\n display: block;\n}\n.au-flex {\n display: flex;\n}\n.au-inline-flex {\n display: inline-flex;\n}\n.au-grid {\n display: grid;\n}\n.au-size-4 {\n width: 1rem;\n height: 1rem;\n}\n.\\!au-h-3 {\n height: 0.75rem !important;\n}\n.au-h-10 {\n height: 2.5rem;\n}\n.au-h-16 {\n height: 4rem;\n}\n.au-h-4 {\n height: 1rem;\n}\n.au-h-5 {\n height: 1.25rem;\n}\n.au-h-6 {\n height: 1.5rem;\n}\n.au-h-7 {\n height: 1.75rem;\n}\n.au-h-8 {\n height: 2rem;\n}\n.au-h-9 {\n height: 2.25rem;\n}\n.au-h-full {\n height: 100%;\n}\n.au-w-4 {\n width: 1rem;\n}\n.au-w-6 {\n width: 1.5rem;\n}\n.au-w-8 {\n width: 2rem;\n}\n.au-w-9 {\n width: 2.25rem;\n}\n.au-w-full {\n width: 100%;\n}\n.au-min-w-16 {\n min-width: 4rem;\n}\n.au-min-w-20 {\n min-width: 5rem;\n}\n.au-max-w-lg {\n max-width: 32rem;\n}\n.au-max-w-xl {\n max-width: 36rem;\n}\n.au-flex-1 {\n flex: 1 1 0%;\n}\n.au-flex-shrink-0 {\n flex-shrink: 0;\n}\n.au-shrink-0 {\n flex-shrink: 0;\n}\n.au-flex-grow {\n flex-grow: 1;\n}\n.au--translate-y-12 {\n --tw-translate-y: -3rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.au--translate-y-6 {\n --tw-translate-y: -1.5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.au-translate-x-\\[-50\\%\\] {\n --tw-translate-x: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.au-translate-y-0 {\n --tw-translate-y: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.au-translate-y-6 {\n --tw-translate-y: 1.5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.au-translate-y-\\[-50\\%\\] {\n --tw-translate-y: -50%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.au-translate-y-\\[130\\%\\] {\n --tw-translate-y: 130%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n@keyframes au-spin {\n to {\n transform: rotate(360deg);\n }\n}\n.au-animate-spin {\n animation: au-spin 1s linear infinite;\n}\n.au-cursor-pointer {\n cursor: pointer;\n}\n.au-grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n}\n.au-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n}\n.au-flex-row {\n flex-direction: row;\n}\n.au-flex-col {\n flex-direction: column;\n}\n.au-flex-col-reverse {\n flex-direction: column-reverse;\n}\n.au-items-start {\n align-items: flex-start;\n}\n.au-items-center {\n align-items: center;\n}\n.au-justify-end {\n justify-content: flex-end;\n}\n.au-justify-center {\n justify-content: center;\n}\n.au-justify-between {\n justify-content: space-between;\n}\n.au-gap-0 {\n gap: 0px;\n}\n.au-gap-1 {\n gap: 0.25rem;\n}\n.au-gap-2 {\n gap: 0.5rem;\n}\n.au-gap-4 {\n gap: 1rem;\n}\n.au-gap-x-4 {\n -moz-column-gap: 1rem;\n column-gap: 1rem;\n}\n.au-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n}\n.au-space-y-1 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.25rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.25rem * var(--tw-space-y-reverse));\n}\n.au-space-y-1\\.5 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.375rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.375rem * var(--tw-space-y-reverse));\n}\n.au-space-y-3 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-y-reverse: 0;\n margin-top: calc(0.75rem * calc(1 - var(--tw-space-y-reverse)));\n margin-bottom: calc(0.75rem * var(--tw-space-y-reverse));\n}\n.au-overflow-hidden {\n overflow: hidden;\n}\n.au-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n.au-whitespace-nowrap {\n white-space: nowrap;\n}\n.au-rounded-full {\n border-radius: 9999px;\n}\n.au-rounded-lg {\n border-radius: var(--au-radius);\n}\n.au-rounded-md {\n border-radius: calc(var(--au-radius) - 2px);\n}\n.au-rounded-sm {\n border-radius: calc(var(--au-radius) - 4px);\n}\n.au-rounded-bl-lg {\n border-bottom-left-radius: var(--au-radius);\n}\n.au-border {\n border-width: 1px;\n}\n.au-border-2 {\n border-width: 2px;\n}\n.au-border-y {\n border-top-width: 1px;\n border-bottom-width: 1px;\n}\n.au-border-t {\n border-top-width: 1px;\n}\n.au-border-input {\n border-color: hsl(var(--au-input));\n}\n.au-border-transparent {\n border-color: transparent;\n}\n.au-bg-background {\n background-color: hsl(var(--au-background));\n}\n.au-bg-black {\n --tw-bg-opacity: 1;\n background-color: rgb(0 0 0 / var(--tw-bg-opacity));\n}\n.au-bg-black\\/80 {\n background-color: rgb(0 0 0 / 0.8);\n}\n.au-bg-destructive {\n background-color: hsl(var(--au-destructive));\n}\n.au-bg-primary {\n background-color: hsl(var(--au-primary));\n}\n.au-bg-secondary {\n background-color: hsl(var(--au-secondary));\n}\n.au-bg-secondary\\/40 {\n background-color: hsl(var(--au-secondary) / 0.4);\n}\n.au-p-0 {\n padding: 0px;\n}\n.au-p-6 {\n padding: 1.5rem;\n}\n.\\!au-py-10 {\n padding-top: 2.5rem !important;\n padding-bottom: 2.5rem !important;\n}\n.au-px-3 {\n padding-left: 0.75rem;\n padding-right: 0.75rem;\n}\n.au-px-4 {\n padding-left: 1rem;\n padding-right: 1rem;\n}\n.au-px-6 {\n padding-left: 1.5rem;\n padding-right: 1.5rem;\n}\n.au-px-8 {\n padding-left: 2rem;\n padding-right: 2rem;\n}\n.au-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n}\n.au-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n.au-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n}\n.au-py-6 {\n padding-top: 1.5rem;\n padding-bottom: 1.5rem;\n}\n.au-pb-0 {\n padding-bottom: 0px;\n}\n.au-pb-0\\.5 {\n padding-bottom: 0.125rem;\n}\n.au-pb-4 {\n padding-bottom: 1rem;\n}\n.au-pl-6 {\n padding-left: 1.5rem;\n}\n.au-pr-3 {\n padding-right: 0.75rem;\n}\n.au-pt-4 {\n padding-top: 1rem;\n}\n.au-text-left {\n text-align: left;\n}\n.au-text-center {\n text-align: center;\n}\n.au-text-2xl {\n font-size: 1.5rem;\n line-height: 2rem;\n}\n.au-text-lg {\n font-size: 1.125rem;\n line-height: 1.75rem;\n}\n.au-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem;\n}\n.au-text-xl {\n font-size: 1.25rem;\n line-height: 1.75rem;\n}\n.au-text-xs {\n font-size: 0.75rem;\n line-height: 1rem;\n}\n.au-font-bold {\n font-weight: 700;\n}\n.au-font-medium {\n font-weight: 500;\n}\n.au-font-normal {\n font-weight: 400;\n}\n.au-font-semibold {\n font-weight: 600;\n}\n.au-leading-none {\n line-height: 1;\n}\n.au-tracking-tight {\n letter-spacing: -0.025em;\n}\n.au-text-destructive-foreground {\n color: hsl(var(--au-destructive-foreground));\n}\n.au-text-foreground {\n color: hsl(var(--au-foreground));\n}\n.au-text-muted-foreground {\n color: hsl(var(--au-muted-foreground));\n}\n.au-text-primary {\n color: hsl(var(--au-primary));\n}\n.au-text-primary-foreground {\n color: hsl(var(--au-primary-foreground));\n}\n.au-text-secondary-foreground {\n color: hsl(var(--au-secondary-foreground));\n}\n.au-text-zinc-400 {\n --tw-text-opacity: 1;\n color: rgb(161 161 170 / var(--tw-text-opacity));\n}\n.au-underline-offset-4 {\n text-underline-offset: 4px;\n}\n.au-opacity-70 {\n opacity: 0.7;\n}\n.au-shadow {\n --tw-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.au-shadow-inner {\n --tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.au-shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.au-shadow-sm {\n --tw-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);\n --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n}\n.au-shadow-stone-400 {\n --tw-shadow-color: #a8a29e;\n --tw-shadow: var(--tw-shadow-colored);\n}\n.au-shadow-zinc-800 {\n --tw-shadow-color: #27272a;\n --tw-shadow: var(--tw-shadow-colored);\n}\n.au-ring-0 {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.au-ring-offset-background {\n --tw-ring-offset-color: hsl(var(--au-background));\n}\n.au-transition {\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke,\n opacity,\n box-shadow,\n transform,\n filter,\n -webkit-backdrop-filter;\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke,\n opacity,\n box-shadow,\n transform,\n filter,\n backdrop-filter;\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke,\n opacity,\n box-shadow,\n transform,\n filter,\n backdrop-filter,\n -webkit-backdrop-filter;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.au-transition-all {\n transition-property: all;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.au-transition-colors {\n transition-property:\n color,\n background-color,\n border-color,\n text-decoration-color,\n fill,\n stroke;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.au-transition-opacity {\n transition-property: opacity;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.au-transition-transform {\n transition-property: transform;\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n transition-duration: 150ms;\n}\n.au-duration-200 {\n transition-duration: 200ms;\n}\n.au-duration-300 {\n transition-duration: 300ms;\n}\n@keyframes enter {\n from {\n opacity: var(--tw-enter-opacity, 1);\n transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0));\n }\n}\n@keyframes exit {\n to {\n opacity: var(--tw-exit-opacity, 1);\n transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0));\n }\n}\n.au-slide-in-from-left-1 {\n --tw-enter-translate-x: -0.25rem;\n}\n.au-slide-out-to-left-1 {\n --tw-exit-translate-x: -0.25rem;\n}\n.au-duration-200 {\n animation-duration: 200ms;\n}\n.au-duration-300 {\n animation-duration: 300ms;\n}\n:root {\n --au-background: 0 0% 100%;\n --au-foreground: 240 10% 3.9%;\n --au-card: 0 0% 100%;\n --au-card-foreground: 240 10% 3.9%;\n --au-popover: 0 0% 100%;\n --au-popover-foreground: 240 10% 3.9%;\n --au-primary: 240 5.9% 10%;\n --au-primary-foreground: 0 0% 98%;\n --au-secondary: 240 4.8% 95.9%;\n --au-secondary-foreground: 240 5.9% 10%;\n --au-muted: 240 4.8% 95.9%;\n --au-muted-foreground: 240 3.8% 46.1%;\n --au-accent: 240 4.8% 95.9%;\n --au-accent-foreground: 240 5.9% 10%;\n --au-destructive: 0 84.2% 60.2%;\n --au-destructive-foreground: 0 0% 98%;\n --au-border: 240 5.9% 90%;\n --au-input: 240 5.9% 90%;\n --au-ring: 240 10% 3.9%;\n --au-chart-1: 12 76% 61%;\n --au-chart-2: 173 58% 39%;\n --au-chart-3: 197 37% 24%;\n --au-chart-4: 43 74% 66%;\n --au-chart-5: 27 87% 67%;\n --au-radius: 0.5rem;\n --au-sidebar-background: 0 0% 98%;\n --au-sidebar-foreground: 240 5.3% 26.1%;\n --au-sidebar-primary: 240 5.9% 10%;\n --au-sidebar-primary-foreground: 0 0% 98%;\n --au-sidebar-accent: 240 4.8% 95.9%;\n --au-sidebar-accent-foreground: 240 5.9% 10%;\n --au-sidebar-border: 220 13% 91%;\n --au-sidebar-ring: 217.2 91.2% 59.8%;\n}\n.dark {\n --au-background: 240 10% 3.9%;\n --au-foreground: 0 0% 98%;\n --au-card: 240 10% 3.9%;\n --au-card-foreground: 0 0% 98%;\n --au-popover: 240 10% 3.9%;\n --au-popover-foreground: 0 0% 98%;\n --au-primary: 0 0% 98%;\n --au-primary-foreground: 240 5.9% 10%;\n --au-secondary: 240 3.7% 15.9%;\n --au-secondary-foreground: 0 0% 98%;\n --au-muted: 240 3.7% 15.9%;\n --au-muted-foreground: 240 5% 64.9%;\n --au-accent: 240 3.7% 15.9%;\n --au-accent-foreground: 0 0% 98%;\n --au-destructive: 0 62.8% 30.6%;\n --au-destructive-foreground: 0 0% 98%;\n --au-border: 240 3.7% 15.9%;\n --au-input: 240 3.7% 15.9%;\n --au-ring: 240 4.9% 83.9%;\n --au-chart-1: 220 70% 50%;\n --au-chart-2: 160 60% 45%;\n --au-chart-3: 30 80% 55%;\n --au-chart-4: 280 65% 60%;\n --au-chart-5: 340 75% 55%;\n --au-sidebar-background: 240 5.9% 10%;\n --au-sidebar-foreground: 240 4.8% 95.9%;\n --au-sidebar-primary: 224.3 76.3% 48%;\n --au-sidebar-primary-foreground: 0 0% 100%;\n --au-sidebar-accent: 240 3.7% 15.9%;\n --au-sidebar-accent-foreground: 240 4.8% 95.9%;\n --au-sidebar-border: 240 3.7% 15.9%;\n --au-sidebar-ring: 217.2 91.2% 59.8%;\n}\n.hover\\:au-bg-accent:hover {\n background-color: hsl(var(--au-accent));\n}\n.hover\\:au-bg-destructive\\/90:hover {\n background-color: hsl(var(--au-destructive) / 0.9);\n}\n.hover\\:au-bg-primary\\/90:hover {\n background-color: hsl(var(--au-primary) / 0.9);\n}\n.hover\\:au-bg-secondary\\/80:hover {\n background-color: hsl(var(--au-secondary) / 0.8);\n}\n.hover\\:au-text-accent-foreground:hover {\n color: hsl(var(--au-accent-foreground));\n}\n.hover\\:au-underline:hover {\n text-decoration-line: underline;\n}\n.hover\\:au-opacity-100:hover {\n opacity: 1;\n}\n.hover\\:au-brightness-90:hover {\n --tw-brightness: brightness(.9);\n filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);\n}\n.focus\\:au-outline-none:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus\\:au-ring-2:focus {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus\\:au-ring-ring:focus {\n --tw-ring-color: hsl(var(--au-ring));\n}\n.focus\\:au-ring-offset-2:focus {\n --tw-ring-offset-width: 2px;\n}\n.focus-visible\\:au-outline-none:focus-visible {\n outline: 2px solid transparent;\n outline-offset: 2px;\n}\n.focus-visible\\:au-ring-1:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:au-ring-2:focus-visible {\n --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);\n --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);\n box-shadow:\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow, 0 0 #0000);\n}\n.focus-visible\\:au-ring-ring:focus-visible {\n --tw-ring-color: hsl(var(--au-ring));\n}\n.focus-visible\\:au-ring-offset-2:focus-visible {\n --tw-ring-offset-width: 2px;\n}\n.focus-visible\\:au-ring-offset-background:focus-visible {\n --tw-ring-offset-color: hsl(var(--au-background));\n}\n.disabled\\:au-pointer-events-none:disabled {\n pointer-events: none;\n}\n.disabled\\:au-opacity-50:disabled {\n opacity: 0.5;\n}\n.au-group:hover .group-hover\\:au-mt-0 {\n margin-top: 0px;\n}\n.au-group:hover .group-hover\\:au-translate-y-0 {\n --tw-translate-y: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.au-group:hover .group-hover\\:au-translate-y-\\[-130\\%\\] {\n --tw-translate-y: -130%;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[state\\=checked\\]\\:au-translate-x-4[data-state=checked] {\n --tw-translate-x: 1rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[state\\=unchecked\\]\\:au-translate-x-0[data-state=unchecked] {\n --tw-translate-x: 0px;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n}\n.data-\\[state\\=checked\\]\\:au-bg-primary[data-state=checked] {\n background-color: hsl(var(--au-primary));\n}\n.data-\\[state\\=open\\]\\:au-bg-accent[data-state=open] {\n background-color: hsl(var(--au-accent));\n}\n.data-\\[state\\=unchecked\\]\\:au-bg-input[data-state=unchecked] {\n background-color: hsl(var(--au-input));\n}\n.data-\\[state\\=open\\]\\:au-text-muted-foreground[data-state=open] {\n color: hsl(var(--au-muted-foreground));\n}\n.data-\\[state\\=open\\]\\:au-animate-in[data-state=open] {\n animation-name: enter;\n animation-duration: 150ms;\n --tw-enter-opacity: initial;\n --tw-enter-scale: initial;\n --tw-enter-rotate: initial;\n --tw-enter-translate-x: initial;\n --tw-enter-translate-y: initial;\n}\n.data-\\[state\\=closed\\]\\:au-animate-out[data-state=closed] {\n animation-name: exit;\n animation-duration: 150ms;\n --tw-exit-opacity: initial;\n --tw-exit-scale: initial;\n --tw-exit-rotate: initial;\n --tw-exit-translate-x: initial;\n --tw-exit-translate-y: initial;\n}\n.data-\\[state\\=closed\\]\\:au-fade-out-0[data-state=closed] {\n --tw-exit-opacity: 0;\n}\n.data-\\[state\\=open\\]\\:au-fade-in-0[data-state=open] {\n --tw-enter-opacity: 0;\n}\n.data-\\[state\\=closed\\]\\:au-zoom-out-95[data-state=closed] {\n --tw-exit-scale: .95;\n}\n.data-\\[state\\=open\\]\\:au-zoom-in-95[data-state=open] {\n --tw-enter-scale: .95;\n}\n.data-\\[state\\=closed\\]\\:au-slide-out-to-left-1\\/2[data-state=closed] {\n --tw-exit-translate-x: -50%;\n}\n.data-\\[state\\=closed\\]\\:au-slide-out-to-top-\\[48\\%\\][data-state=closed] {\n --tw-exit-translate-y: -48%;\n}\n.data-\\[state\\=open\\]\\:au-slide-in-from-left-1\\/2[data-state=open] {\n --tw-enter-translate-x: -50%;\n}\n.data-\\[state\\=open\\]\\:au-slide-in-from-top-\\[48\\%\\][data-state=open] {\n --tw-enter-translate-y: -48%;\n}\n:is(.au-dark .dark\\:au-shadow-zinc-800\\/80) {\n --tw-shadow-color: rgb(39 39 42 / 0.8);\n --tw-shadow: var(--tw-shadow-colored);\n}\n@media (min-width: 640px) {\n .sm\\:au-h-7 {\n height: 1.75rem;\n }\n .sm\\:au-grid-cols-2 {\n grid-template-columns: repeat(2, minmax(0, 1fr));\n }\n .sm\\:au-flex-row {\n flex-direction: row;\n }\n .sm\\:au-items-center {\n align-items: center;\n }\n .sm\\:au-justify-end {\n justify-content: flex-end;\n }\n .sm\\:au-gap-2 {\n gap: 0.5rem;\n }\n .sm\\:au-space-x-2 > :not([hidden]) ~ :not([hidden]) {\n --tw-space-x-reverse: 0;\n margin-right: calc(0.5rem * var(--tw-space-x-reverse));\n margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));\n }\n .sm\\:au-rounded-lg {\n border-radius: var(--au-radius);\n }\n .sm\\:au-pb-0 {\n padding-bottom: 0px;\n }\n .sm\\:au-text-left {\n text-align: left;\n }\n}\n@media (min-width: 1024px) {\n .lg\\:au-right-4 {\n right: 1rem;\n }\n .lg\\:au-top-4 {\n top: 1rem;\n }\n .lg\\:au-h-\\[calc\\(100\\%\\+48px\\)\\] {\n height: calc(100% + 48px);\n }\n .lg\\:au--translate-y-12 {\n --tw-translate-y: -3rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n .lg\\:au--translate-y-6 {\n --tw-translate-y: -1.5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n .lg\\:au-translate-y-6 {\n --tw-translate-y: 1.5rem;\n transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));\n }\n .lg\\:au-grid-cols-\\[repeat\\(auto-fit\\,minmax\\(200px\\,1fr\\)\\)\\] {\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n }\n .lg\\:au-rounded-full {\n border-radius: 9999px;\n }\n .lg\\:au-py-0 {\n padding-top: 0px;\n padding-bottom: 0px;\n }\n .lg\\:au-py-0\\.5 {\n padding-top: 0.125rem;\n padding-bottom: 0.125rem;\n }\n .lg\\:au-shadow-lg {\n --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);\n --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);\n box-shadow:\n var(--tw-ring-offset-shadow, 0 0 #0000),\n var(--tw-ring-shadow, 0 0 #0000),\n var(--tw-shadow);\n }\n}\n.\\[\\&_svg\\]\\:au-pointer-events-none svg {\n pointer-events: none;\n}\n.\\[\\&_svg\\]\\:au-size-4 svg {\n width: 1rem;\n height: 1rem;\n}\n.\\[\\&_svg\\]\\:au-shrink-0 svg {\n flex-shrink: 0;\n}\n');
69
+
46
70
  // src/libraries/react/BaseAutumnProvider.tsx
47
71
  var import_react7 = require("react");
48
72
 
@@ -97,6 +121,12 @@ var handleAttach = async ({
97
121
  }) => {
98
122
  return instance.post("/attach", params);
99
123
  };
124
+ var handleSetupPayment = async ({
125
+ instance,
126
+ params
127
+ }) => {
128
+ return instance.post("/setup_payment", params);
129
+ };
100
130
  var handleCancel = async ({
101
131
  instance,
102
132
  params
@@ -463,6 +493,13 @@ var Autumn = class {
463
493
  params
464
494
  });
465
495
  }
496
+ static setupPayment = (params) => staticWrapper(handleSetupPayment, void 0, { params });
497
+ async setupPayment(params) {
498
+ return handleSetupPayment({
499
+ instance: this,
500
+ params
501
+ });
502
+ }
466
503
  static cancel = (params) => staticWrapper(handleCancel, void 0, { params });
467
504
  async cancel(params) {
468
505
  return handleCancel({
@@ -603,6 +640,11 @@ async function attachMethod(params) {
603
640
  const res = await this.post("/api/autumn/attach", snakeParams);
604
641
  return res;
605
642
  }
643
+ async function setupPaymentMethod(params) {
644
+ let snakeParams = toSnakeCase(params, ["checkoutSessionParams"]);
645
+ const res = await this.post("/api/autumn/setup_payment", snakeParams);
646
+ return res;
647
+ }
606
648
  async function cancelMethod(params) {
607
649
  let snakeParams = toSnakeCase(params);
608
650
  const res = await this.post("/api/autumn/cancel", snakeParams);
@@ -741,6 +783,7 @@ var AutumnClient = class {
741
783
  check = checkMethod.bind(this);
742
784
  track = trackMethod.bind(this);
743
785
  openBillingPortal = openBillingPortalMethod.bind(this);
786
+ setupPayment = setupPaymentMethod.bind(this);
744
787
  entities = {
745
788
  create: createEntityMethod.bind(this),
746
789
  get: getEntityMethod.bind(this),
@@ -948,6 +991,7 @@ var usePricingTableBase = ({
948
991
  const context = useAutumnContext({ AutumnContext: AutumnContext2, name: "usePricingTable" });
949
992
  const fetcher = async () => {
950
993
  try {
994
+ console.log("listing products!");
951
995
  const { data: data2, error: error2 } = await context.client.products.list();
952
996
  if (error2) throw error2;
953
997
  return data2?.list || [];
@@ -6239,7 +6283,7 @@ var useAutumnBase = ({
6239
6283
  if (!preview) {
6240
6284
  return await attachWithoutDialog(rest);
6241
6285
  } else {
6242
- setAttachProps({ preview });
6286
+ setAttachProps({ preview, attachParams: rest });
6243
6287
  setAttachOpen(true);
6244
6288
  }
6245
6289
  return checkRes;
@@ -6311,12 +6355,33 @@ var useAutumnBase = ({
6311
6355
  return res;
6312
6356
  }
6313
6357
  };
6358
+ const setupPayment = async (params) => {
6359
+ let defaultParams = {
6360
+ openInNewTab: false
6361
+ };
6362
+ let finalParams = {
6363
+ ...defaultParams,
6364
+ ...params || {}
6365
+ };
6366
+ const res = await client.setupPayment(finalParams);
6367
+ if (res.data?.url && typeof window !== "undefined") {
6368
+ if (finalParams.openInNewTab) {
6369
+ window.open(res.data.url, "_blank");
6370
+ } else {
6371
+ window.open(res.data.url, "_self");
6372
+ }
6373
+ return res;
6374
+ } else {
6375
+ return res;
6376
+ }
6377
+ };
6314
6378
  return {
6315
6379
  attach,
6316
6380
  check,
6317
6381
  track,
6318
6382
  cancel,
6319
- openBillingPortal
6383
+ openBillingPortal,
6384
+ setupPayment
6320
6385
  };
6321
6386
  };
6322
6387
 
@@ -6370,7 +6435,8 @@ var emptyDefaultFunctions = {
6370
6435
  check: "",
6371
6436
  track: "",
6372
6437
  cancel: "",
6373
- openBillingPortal: ""
6438
+ openBillingPortal: "",
6439
+ setupPayment: ""
6374
6440
  };
6375
6441
  var useCustomerBase = ({
6376
6442
  params,
@@ -6986,6 +7052,22 @@ var getPricingTableContent = (product) => {
6986
7052
  }
6987
7053
  };
6988
7054
 
7055
+ // src/libraries/react/utils/inject-styles.ts
7056
+ var loadingStyles = {
7057
+ width: "100%",
7058
+ height: "100%",
7059
+ display: "flex",
7060
+ justifyContent: "center",
7061
+ alignItems: "center",
7062
+ minHeight: "300px"
7063
+ };
7064
+ var spinnerStyles = {
7065
+ width: "1.5rem",
7066
+ height: "1.5rem",
7067
+ color: "rgb(161 161 170)",
7068
+ animation: "spin 1s linear infinite"
7069
+ };
7070
+
6989
7071
  // src/libraries/react/components/pricing-table/pricing-table-synced.tsx
6990
7072
  var import_jsx_runtime18 = require("react/jsx-runtime");
6991
7073
  function PricingTable({
@@ -6995,7 +7077,7 @@ function PricingTable({
6995
7077
  const [isAnnual, setIsAnnual] = (0, import_react12.useState)(false);
6996
7078
  const { products, isLoading, error } = usePricingTable({ productDetails });
6997
7079
  if (isLoading) {
6998
- return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "au-w-full au-h-full au-flex au-justify-center au-items-center au-min-h-[300px]", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(LoaderCircle, { className: "au-w-6 au-h-6 au-text-zinc-400 au-animate-spin" }) });
7080
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { style: loadingStyles, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(LoaderCircle, { style: spinnerStyles }) });
6999
7081
  }
7000
7082
  if (error) {
7001
7083
  return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { children: " Something went wrong..." });