autumn-js 0.0.103 → 0.0.105

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 (259) hide show
  1. package/dist/libraries/backend/better-auth.d.mts +46 -22
  2. package/dist/libraries/backend/better-auth.d.ts +46 -22
  3. package/dist/libraries/backend/better-auth.js +76 -83
  4. package/dist/libraries/backend/better-auth.mjs +7 -7
  5. package/dist/libraries/backend/{chunk-33NT3WE5.mjs → chunk-3OLXYDCU.mjs} +1 -1
  6. package/dist/libraries/backend/{chunk-AKV5N4WO.mjs → chunk-5EKNB4IJ.mjs} +1 -1
  7. package/dist/libraries/backend/{chunk-CEZHD5H6.mjs → chunk-5H6HVCOP.mjs} +1 -1
  8. package/dist/libraries/backend/{chunk-J3L3OBSS.mjs → chunk-HHMIVOXX.mjs} +18 -1
  9. package/dist/libraries/backend/{chunk-YFWJ6E4U.mjs → chunk-ICPSX5WQ.mjs} +8 -8
  10. package/dist/libraries/backend/{chunk-6VS7TU7O.mjs → chunk-IOSEAUDJ.mjs} +57 -81
  11. package/dist/libraries/backend/{chunk-RA4AC56B.mjs → chunk-K7JGEYUX.mjs} +1 -1
  12. package/dist/libraries/backend/convex.js +73 -80
  13. package/dist/libraries/backend/convex.mjs +7 -7
  14. package/dist/libraries/backend/elysia.js +73 -80
  15. package/dist/libraries/backend/elysia.mjs +7 -7
  16. package/dist/libraries/backend/express.d.mts +1 -1
  17. package/dist/libraries/backend/express.d.ts +1 -1
  18. package/dist/libraries/backend/express.js +73 -80
  19. package/dist/libraries/backend/express.mjs +7 -7
  20. package/dist/libraries/backend/fastify.js +73 -80
  21. package/dist/libraries/backend/fastify.mjs +7 -7
  22. package/dist/libraries/backend/hono.js +73 -80
  23. package/dist/libraries/backend/hono.mjs +7 -7
  24. package/dist/libraries/backend/next.js +169 -176
  25. package/dist/libraries/backend/next.mjs +101 -101
  26. package/dist/libraries/backend/react-router.js +73 -80
  27. package/dist/libraries/backend/react-router.mjs +7 -7
  28. package/dist/libraries/backend/{referralTypes-DcDxMGTp.d.mts → referralTypes-CILDqqIc.d.mts} +220 -123
  29. package/dist/libraries/backend/{referralTypes-DV8s1h8w.d.ts → referralTypes-DKd7XOdW.d.ts} +220 -123
  30. package/dist/libraries/backend/remix_dep.js +73 -80
  31. package/dist/libraries/backend/remix_dep.mjs +7 -7
  32. package/dist/libraries/backend/routes/backendRouter.js +73 -80
  33. package/dist/libraries/backend/routes/backendRouter.mjs +7 -7
  34. package/dist/libraries/backend/routes/entityRoutes.js +56 -80
  35. package/dist/libraries/backend/routes/entityRoutes.mjs +3 -3
  36. package/dist/libraries/backend/routes/genRoutes.js +73 -80
  37. package/dist/libraries/backend/routes/genRoutes.mjs +3 -3
  38. package/dist/libraries/backend/routes/productRoutes.js +56 -80
  39. package/dist/libraries/backend/routes/productRoutes.mjs +3 -3
  40. package/dist/libraries/backend/routes/referralRoutes.js +56 -80
  41. package/dist/libraries/backend/routes/referralRoutes.mjs +3 -3
  42. package/dist/libraries/backend/supabase.js +73 -80
  43. package/dist/libraries/backend/supabase.mjs +7 -7
  44. package/dist/libraries/backend/tanstack.js +73 -80
  45. package/dist/libraries/backend/tanstack.mjs +7 -7
  46. package/dist/libraries/backend/utils/backendRes.js +56 -80
  47. package/dist/libraries/backend/utils/backendRes.mjs +1 -1
  48. package/dist/libraries/backend/utils/withAuth.d.mts +1 -1
  49. package/dist/libraries/backend/utils/withAuth.d.ts +1 -1
  50. package/dist/libraries/backend/utils/withAuth.js +56 -80
  51. package/dist/libraries/backend/utils/withAuth.mjs +2 -2
  52. package/dist/libraries/react/AutumnContext.d.mts +5 -4
  53. package/dist/libraries/react/AutumnContext.d.ts +5 -4
  54. package/dist/libraries/react/AutumnContext.js +63 -82
  55. package/dist/libraries/react/AutumnContext.mjs +6 -6
  56. package/dist/libraries/react/BaseAutumnProvider.d.mts +5 -4
  57. package/dist/libraries/react/BaseAutumnProvider.d.ts +5 -4
  58. package/dist/libraries/react/BaseAutumnProvider.js +96 -111
  59. package/dist/libraries/react/BaseAutumnProvider.mjs +10 -10
  60. package/dist/libraries/react/{ReactAutumnClient-BlxQQOXE.d.ts → ReactAutumnClient-BICsMJ-m.d.ts} +21 -10
  61. package/dist/libraries/react/{ReactAutumnClient-C8Nt-pqu.d.mts → ReactAutumnClient-BuQHr-be.d.mts} +21 -10
  62. package/dist/libraries/react/ReactAutumnProvider.d.mts +1 -1
  63. package/dist/libraries/react/ReactAutumnProvider.d.ts +1 -1
  64. package/dist/libraries/react/ReactAutumnProvider.js +96 -111
  65. package/dist/libraries/react/ReactAutumnProvider.mjs +11 -11
  66. package/dist/libraries/react/attachTypes-Cb7EQun_.d.ts +58 -0
  67. package/dist/libraries/react/attachTypes-CsFmlhk3.d.mts +58 -0
  68. package/dist/libraries/react/{chunk-VUBJ6JM3.mjs → chunk-253MTZP3.mjs} +7 -2
  69. package/dist/libraries/react/{chunk-CYW4LNFZ.mjs → chunk-2PVRCDDK.mjs} +68 -90
  70. package/dist/libraries/react/{chunk-LXSKONN2.mjs → chunk-4A53GN44.mjs} +5 -5
  71. package/dist/libraries/react/{chunk-X4R3V6O6.mjs → chunk-4CHWEUKX.mjs} +2 -2
  72. package/dist/libraries/react/{chunk-OAWFFAKA.mjs → chunk-6EZVNJHQ.mjs} +6 -6
  73. package/dist/libraries/react/{chunk-PZJQBCVG.mjs → chunk-6RNG47NV.mjs} +1 -1
  74. package/dist/libraries/react/{chunk-3SGSKYJ7.mjs → chunk-7DINVACK.mjs} +2 -2
  75. package/dist/libraries/react/{chunk-QBBE72EF.mjs → chunk-CBPZVSMZ.mjs} +12 -7
  76. package/dist/libraries/react/chunk-CUWUAQML.mjs +179 -0
  77. package/dist/libraries/react/chunk-DJIRJJNG.mjs +34 -0
  78. package/dist/libraries/react/{chunk-GQIE3MFB.mjs → chunk-DRAIZ3UZ.mjs} +3 -3
  79. package/dist/libraries/react/{chunk-AL3VJLFU.mjs → chunk-EV5RNY5U.mjs} +1 -1
  80. package/dist/libraries/react/{chunk-S6JUZ43Q.mjs → chunk-KDD5RMQ3.mjs} +2 -2
  81. package/dist/libraries/react/{chunk-KYSWTOMQ.mjs → chunk-KJLHVBV4.mjs} +30 -24
  82. package/dist/libraries/react/{chunk-OAPUYXBO.mjs → chunk-KWNH6C27.mjs} +6 -6
  83. package/dist/libraries/react/{chunk-CGWNDUYV.mjs → chunk-LXD6AEZW.mjs} +1 -1
  84. package/dist/libraries/react/chunk-N7LPH3DU.mjs +695 -0
  85. package/dist/libraries/react/{chunk-DBGTWERW.mjs → chunk-OEIUKLFH.mjs} +4 -3
  86. package/dist/libraries/react/{chunk-EHOBTSZ7.mjs → chunk-OM3ROIZO.mjs} +5 -8
  87. package/dist/libraries/react/{chunk-DHJ36QEV.mjs → chunk-OTYSAMRH.mjs} +2 -2
  88. package/dist/libraries/react/chunk-QUO2CYKM.mjs +30 -0
  89. package/dist/libraries/react/{chunk-BCMBFJ7E.mjs → chunk-RCTILKK3.mjs} +70 -37
  90. package/dist/libraries/react/{chunk-ZVQKDPUP.mjs → chunk-RPEGNKJH.mjs} +3 -3
  91. package/dist/libraries/react/{chunk-SDMBKRAI.mjs → chunk-WAFSQH6N.mjs} +37 -37
  92. package/dist/libraries/react/{chunk-RQN4VDAE.mjs → chunk-XXGKLOAK.mjs} +3 -3
  93. package/dist/libraries/react/client/ReactAutumnClient.d.mts +5 -5
  94. package/dist/libraries/react/client/ReactAutumnClient.d.ts +5 -5
  95. package/dist/libraries/react/client/ReactAutumnClient.js +63 -82
  96. package/dist/libraries/react/client/ReactAutumnClient.mjs +5 -5
  97. package/dist/libraries/react/client/clientCompMethods.d.mts +5 -5
  98. package/dist/libraries/react/client/clientCompMethods.d.ts +5 -5
  99. package/dist/libraries/react/client/clientCusMethods.d.mts +5 -5
  100. package/dist/libraries/react/client/clientCusMethods.d.ts +5 -5
  101. package/dist/libraries/react/client/clientEntityMethods.d.mts +5 -5
  102. package/dist/libraries/react/client/clientEntityMethods.d.ts +5 -5
  103. package/dist/libraries/react/client/clientGenMethods.d.mts +9 -7
  104. package/dist/libraries/react/client/clientGenMethods.d.ts +9 -7
  105. package/dist/libraries/react/client/clientGenMethods.js +8 -2
  106. package/dist/libraries/react/client/clientGenMethods.mjs +3 -1
  107. package/dist/libraries/react/client/clientProdMethods.d.mts +5 -5
  108. package/dist/libraries/react/client/clientProdMethods.d.ts +5 -5
  109. package/dist/libraries/react/client/clientReferralMethods.d.mts +5 -5
  110. package/dist/libraries/react/client/clientReferralMethods.d.ts +5 -5
  111. package/dist/libraries/react/client/types/clientAttachTypes.d.mts +115 -0
  112. package/dist/libraries/react/client/types/clientAttachTypes.d.ts +115 -0
  113. package/dist/libraries/react/client/types/clientAttachTypes.js +68 -0
  114. package/dist/libraries/react/client/types/clientAttachTypes.mjs +42 -0
  115. package/dist/libraries/react/client/types/clientGenTypes.d.mts +10 -81
  116. package/dist/libraries/react/client/types/clientGenTypes.d.ts +10 -81
  117. package/dist/libraries/react/client/types/clientGenTypes.js +1 -24
  118. package/dist/libraries/react/client/types/clientGenTypes.mjs +1 -22
  119. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.css +213 -4
  120. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.mts +5 -32
  121. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.d.ts +5 -32
  122. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.js +720 -371
  123. package/dist/libraries/react/components/attach-dialog/attach-dialog-synced.mjs +30 -33
  124. package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.mts +3 -2
  125. package/dist/libraries/react/components/attach-dialog/lib/attach-content.d.ts +3 -2
  126. package/dist/libraries/react/components/attach-dialog/lib/attach-content.js +70 -37
  127. package/dist/libraries/react/components/attach-dialog/lib/attach-content.mjs +1 -1
  128. package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.mts +1 -1
  129. package/dist/libraries/react/components/check-dialog/check-dialog-synced.d.ts +1 -1
  130. package/dist/libraries/react/components/check-dialog/check-dialog-synced.js +43 -43
  131. package/dist/libraries/react/components/check-dialog/check-dialog-synced.mjs +5 -5
  132. package/dist/libraries/react/components/check-dialog/lib/check-content.d.mts +1 -1
  133. package/dist/libraries/react/components/check-dialog/lib/check-content.d.ts +1 -1
  134. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.mts +3 -1
  135. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.d.ts +3 -1
  136. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.js +12 -7
  137. package/dist/libraries/react/components/pricing-table/lib/pricing-table-content.mjs +1 -1
  138. package/dist/libraries/react/components/pricing-table/pricing-table-synced.css +213 -4
  139. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.mts +1 -1
  140. package/dist/libraries/react/components/pricing-table/pricing-table-synced.d.ts +1 -1
  141. package/dist/libraries/react/components/pricing-table/pricing-table-synced.js +795 -457
  142. package/dist/libraries/react/components/pricing-table/pricing-table-synced.mjs +29 -26
  143. package/dist/libraries/react/components/ui/accordion.d.mts +9 -0
  144. package/dist/libraries/react/components/ui/accordion.d.ts +9 -0
  145. package/dist/libraries/react/components/ui/accordion.js +2721 -0
  146. package/dist/libraries/react/components/ui/accordion.mjs +15 -0
  147. package/dist/libraries/react/components/ui/button.d.mts +1 -1
  148. package/dist/libraries/react/components/ui/button.d.ts +1 -1
  149. package/dist/libraries/react/components/ui/button.js +3 -3
  150. package/dist/libraries/react/components/ui/button.mjs +2 -2
  151. package/dist/libraries/react/components/ui/dialog.js +43 -43
  152. package/dist/libraries/react/components/ui/dialog.mjs +3 -3
  153. package/dist/libraries/react/components/ui/input.d.mts +5 -0
  154. package/dist/libraries/react/components/ui/input.d.ts +5 -0
  155. package/dist/libraries/react/components/ui/input.js +2587 -0
  156. package/dist/libraries/react/components/ui/input.mjs +9 -0
  157. package/dist/libraries/react/components/ui/popover.d.mts +9 -0
  158. package/dist/libraries/react/components/ui/popover.d.ts +9 -0
  159. package/dist/libraries/react/components/ui/popover.js +2594 -0
  160. package/dist/libraries/react/components/ui/popover.mjs +15 -0
  161. package/dist/libraries/react/components/ui/switch.js +12 -12
  162. package/dist/libraries/react/components/ui/switch.mjs +3 -3
  163. package/dist/libraries/react/{cusTypes-CHcG59KG.d.mts → cusTypes-l9ZWuqVq.d.mts} +30 -12
  164. package/dist/libraries/react/{cusTypes-CHcG59KG.d.ts → cusTypes-l9ZWuqVq.d.ts} +30 -12
  165. package/dist/libraries/react/{entTypes-8-4TWxee.d.ts → entTypes-CFDcayTF.d.ts} +1 -1
  166. package/dist/libraries/react/{entTypes-3t7AbNhm.d.mts → entTypes-Diy1Q4vW.d.mts} +1 -1
  167. package/dist/libraries/react/hooks/handleAllowed.d.mts +2 -2
  168. package/dist/libraries/react/hooks/handleAllowed.d.ts +2 -2
  169. package/dist/libraries/react/hooks/useAutumn.d.mts +21 -6
  170. package/dist/libraries/react/hooks/useAutumn.d.ts +21 -6
  171. package/dist/libraries/react/hooks/useAutumn.js +94 -110
  172. package/dist/libraries/react/hooks/useAutumn.mjs +9 -9
  173. package/dist/libraries/react/hooks/useAutumnBase.d.mts +24 -9
  174. package/dist/libraries/react/hooks/useAutumnBase.d.ts +24 -9
  175. package/dist/libraries/react/hooks/useAutumnBase.js +94 -110
  176. package/dist/libraries/react/hooks/useAutumnBase.mjs +8 -8
  177. package/dist/libraries/react/hooks/useCustomer.d.mts +7 -5
  178. package/dist/libraries/react/hooks/useCustomer.d.ts +7 -5
  179. package/dist/libraries/react/hooks/useCustomer.js +96 -111
  180. package/dist/libraries/react/hooks/useCustomer.mjs +10 -10
  181. package/dist/libraries/react/hooks/useCustomerBase.d.mts +8 -5
  182. package/dist/libraries/react/hooks/useCustomerBase.d.ts +8 -5
  183. package/dist/libraries/react/hooks/useCustomerBase.js +96 -111
  184. package/dist/libraries/react/hooks/useCustomerBase.mjs +9 -9
  185. package/dist/libraries/react/hooks/useEntity.d.mts +16 -9
  186. package/dist/libraries/react/hooks/useEntity.d.ts +16 -9
  187. package/dist/libraries/react/hooks/useEntity.js +94 -110
  188. package/dist/libraries/react/hooks/useEntity.mjs +10 -10
  189. package/dist/libraries/react/hooks/useEntityBase.d.mts +18 -9
  190. package/dist/libraries/react/hooks/useEntityBase.d.ts +18 -9
  191. package/dist/libraries/react/hooks/useEntityBase.js +94 -110
  192. package/dist/libraries/react/hooks/useEntityBase.mjs +9 -9
  193. package/dist/libraries/react/hooks/usePricingTable.d.mts +1 -1
  194. package/dist/libraries/react/hooks/usePricingTable.d.ts +1 -1
  195. package/dist/libraries/react/hooks/usePricingTable.js +66 -88
  196. package/dist/libraries/react/hooks/usePricingTable.mjs +8 -8
  197. package/dist/libraries/react/hooks/usePricingTableBase.d.mts +6 -6
  198. package/dist/libraries/react/hooks/usePricingTableBase.d.ts +6 -6
  199. package/dist/libraries/react/hooks/usePricingTableBase.js +66 -88
  200. package/dist/libraries/react/hooks/usePricingTableBase.mjs +7 -7
  201. package/dist/libraries/react/hooks/useProductsBase.js +63 -82
  202. package/dist/libraries/react/hooks/useProductsBase.mjs +6 -6
  203. package/dist/libraries/react/index.d.mts +217 -106
  204. package/dist/libraries/react/index.d.ts +217 -106
  205. package/dist/libraries/react/index.js +802 -464
  206. package/dist/libraries/react/index.mjs +793 -455
  207. package/dist/libraries/react/{response-DnJCkvfc.d.ts → response-BFBmXYPK.d.ts} +2 -25
  208. package/dist/libraries/react/{response-B8MYd86O.d.mts → response-D3QhcRLa.d.mts} +2 -25
  209. package/dist/next/{AutumnProvider-Xl1mqxls.d.mts → AutumnProvider-CHFySjFm.d.mts} +30 -12
  210. package/dist/next/{AutumnProvider-Xl1mqxls.d.ts → AutumnProvider-CHFySjFm.d.ts} +30 -12
  211. package/dist/next/AutumnProvider.d.mts +1 -1
  212. package/dist/next/AutumnProvider.d.ts +1 -1
  213. package/dist/next/client/NextAutumnClient.d.mts +19 -8
  214. package/dist/next/client/NextAutumnClient.d.ts +19 -8
  215. package/dist/next/client/NextAutumnClient.js +13 -2
  216. package/dist/next/client/NextAutumnClient.mjs +13 -2
  217. package/dist/next/client/NextAutumnProvider.d.mts +1 -1
  218. package/dist/next/client/NextAutumnProvider.d.ts +1 -1
  219. package/dist/next/client/attachTypes-BbjEGh-Q.d.mts +58 -0
  220. package/dist/next/client/attachTypes-BmvzLAdZ.d.ts +58 -0
  221. package/dist/next/client/{clientGenTypes-Dx1TULjb.d.ts → clientAttachTypes-DWV50ToQ.d.ts} +108 -90
  222. package/dist/next/client/{clientGenTypes-tE8HbEdV.d.mts → clientAttachTypes-xaEzXIt3.d.mts} +108 -90
  223. package/dist/next/client/clientUtils.d.mts +2 -2
  224. package/dist/next/client/clientUtils.d.ts +2 -2
  225. package/dist/next/client/{cusTypes-nWQygxXu.d.mts → cusTypes-mflRCYE_.d.mts} +30 -12
  226. package/dist/next/client/{cusTypes-nWQygxXu.d.ts → cusTypes-mflRCYE_.d.ts} +30 -12
  227. package/dist/next/client/{entTypes-DusU3WqD.d.mts → entTypes-BRNi52gE.d.mts} +1 -1
  228. package/dist/next/client/{entTypes-DDZyYuom.d.ts → entTypes-DtUiQ3Ms.d.ts} +1 -1
  229. package/dist/next/client/hooks/useAutumn.d.mts +19 -5
  230. package/dist/next/client/hooks/useAutumn.d.ts +19 -5
  231. package/dist/next/client/hooks/useCustomer.d.mts +5 -4
  232. package/dist/next/client/hooks/useCustomer.d.ts +5 -4
  233. package/dist/next/client/hooks/useEntity.d.mts +14 -8
  234. package/dist/next/client/hooks/useEntity.d.ts +14 -8
  235. package/dist/next/client/hooks/usePricingTable.d.mts +1 -1
  236. package/dist/next/client/hooks/usePricingTable.d.ts +1 -1
  237. package/dist/next/client/types.d.mts +2 -2
  238. package/dist/next/client/types.d.ts +2 -2
  239. package/dist/next/index.d.mts +213 -107
  240. package/dist/next/index.d.ts +213 -107
  241. package/dist/next/server/auth/withNextAuth.d.mts +1 -1
  242. package/dist/next/server/auth/withNextAuth.d.ts +1 -1
  243. package/dist/next/server/componentActions.d.mts +1 -1
  244. package/dist/next/server/componentActions.d.ts +1 -1
  245. package/dist/next/server/cusActions.d.mts +177 -98
  246. package/dist/next/server/cusActions.d.ts +177 -98
  247. package/dist/next/server/{cusTypes-Tc189V9T.d.mts → cusTypes-Bh_pVAJp.d.mts} +32 -14
  248. package/dist/next/server/{cusTypes-Tc189V9T.d.ts → cusTypes-Bh_pVAJp.d.ts} +32 -14
  249. package/dist/next/server/genActions.d.mts +3 -4
  250. package/dist/next/server/genActions.d.ts +3 -4
  251. package/dist/sdk/index.d.mts +221 -135
  252. package/dist/sdk/index.d.ts +221 -135
  253. package/dist/sdk/index.js +55 -80
  254. package/dist/sdk/index.mjs +54 -81
  255. package/dist/styles/global.css +213 -4
  256. package/dist/utils/encryptUtils.js +56 -80
  257. package/dist/utils/encryptUtils.mjs +56 -80
  258. package/package.json +7 -4
  259. package/dist/libraries/react/chunk-ZEVKOP7Z.mjs +0 -548
@@ -0,0 +1,695 @@
1
+ "use client";
2
+
3
+ import {
4
+ Input
5
+ } from "./chunk-QUO2CYKM.mjs";
6
+ import {
7
+ Popover,
8
+ PopoverContent,
9
+ PopoverTrigger
10
+ } from "./chunk-DJIRJJNG.mjs";
11
+ import {
12
+ Switch
13
+ } from "./chunk-6EZVNJHQ.mjs";
14
+ import {
15
+ getAttachContent
16
+ } from "./chunk-RCTILKK3.mjs";
17
+ import {
18
+ getPricingTableContent
19
+ } from "./chunk-CBPZVSMZ.mjs";
20
+ import {
21
+ Button
22
+ } from "./chunk-EV5RNY5U.mjs";
23
+ import {
24
+ Dialog,
25
+ DialogContent,
26
+ DialogFooter,
27
+ DialogTitle
28
+ } from "./chunk-WAFSQH6N.mjs";
29
+ import {
30
+ Accordion,
31
+ AccordionContent,
32
+ AccordionItem,
33
+ ArrowRight,
34
+ ChevronDown,
35
+ LoaderCircle
36
+ } from "./chunk-CUWUAQML.mjs";
37
+ import {
38
+ loadingStyles,
39
+ spinnerStyles
40
+ } from "./chunk-WVKYZYFT.mjs";
41
+ import {
42
+ usePricingTable
43
+ } from "./chunk-OTYSAMRH.mjs";
44
+ import {
45
+ cn
46
+ } from "./chunk-4J6OC4ZQ.mjs";
47
+ import {
48
+ useCustomer
49
+ } from "./chunk-4CHWEUKX.mjs";
50
+
51
+ // src/libraries/react/components/pricing-table/pricing-table-synced.tsx
52
+ import React2 from "react";
53
+
54
+ // src/libraries/react/components/attach-dialog/attach-dialog-synced.tsx
55
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
56
+ import { useEffect, useState } from "react";
57
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
58
+ var formatCurrency = ({
59
+ amount,
60
+ currency
61
+ }) => {
62
+ return new Intl.NumberFormat("en-US", {
63
+ style: "currency",
64
+ currency
65
+ }).format(amount);
66
+ };
67
+ function AttachDialog(params) {
68
+ const { attach } = useCustomer();
69
+ const [checkoutResult, setCheckoutResult] = useState(params?.checkoutResult);
70
+ useEffect(() => {
71
+ if (params.checkoutResult) {
72
+ setCheckoutResult(params.checkoutResult);
73
+ }
74
+ }, [params.checkoutResult]);
75
+ const [loading, setLoading] = useState(false);
76
+ if (!checkoutResult) {
77
+ return /* @__PURE__ */ jsx(Fragment, {});
78
+ }
79
+ const { open, setOpen } = params;
80
+ const { title, message } = getAttachContent(checkoutResult);
81
+ const isFree = checkoutResult?.product.properties?.is_free;
82
+ const isPaid = isFree === false;
83
+ return /* @__PURE__ */ jsx(Dialog, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsxs(DialogContent, { className: "au-p-0 au-pt-4 au-gap-0 au-text-foreground au-overflow-hidden au-text-sm", children: [
84
+ /* @__PURE__ */ jsx(DialogTitle, { className: "au-px-6 au-mb-1", children: title }),
85
+ /* @__PURE__ */ jsx("div", { className: "au-px-6 au-mt-1 au-mb-4 au-text-muted-foreground", children: message }),
86
+ isPaid && checkoutResult && /* @__PURE__ */ jsx(
87
+ PriceInformation,
88
+ {
89
+ checkoutResult,
90
+ setCheckoutResult
91
+ }
92
+ ),
93
+ /* @__PURE__ */ jsx(DialogFooter, { className: "au-flex au-flex-col sm:au-flex-row au-justify-between au-gap-x-4 au-py-2 au-pl-6 au-pr-3 au-bg-secondary au-border-t au-shadow-inner", children: /* @__PURE__ */ jsx(
94
+ Button,
95
+ {
96
+ size: "sm",
97
+ onClick: async () => {
98
+ setLoading(true);
99
+ const options = checkoutResult.options.map((option) => {
100
+ return {
101
+ featureId: option.feature_id,
102
+ quantity: option.quantity
103
+ };
104
+ });
105
+ await attach({
106
+ productId: checkoutResult.product.id,
107
+ options
108
+ });
109
+ setOpen(false);
110
+ setLoading(false);
111
+ },
112
+ disabled: loading,
113
+ className: "au-min-w-16 au-flex au-items-center au-gap-2",
114
+ children: loading ? /* @__PURE__ */ jsx(LoaderCircle, { className: "au-w-4 au-h-4 au-animate-spin" }) : /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx("span", { className: "au-whitespace-nowrap au-flex au-gap-1", children: "Confirm" }) })
115
+ }
116
+ ) })
117
+ ] }) });
118
+ }
119
+ function PriceInformation({
120
+ checkoutResult,
121
+ setCheckoutResult
122
+ }) {
123
+ return /* @__PURE__ */ jsxs("div", { className: "au-px-6 au-mb-4 au-flex au-flex-col au-gap-4", children: [
124
+ /* @__PURE__ */ jsx(
125
+ ProductItems,
126
+ {
127
+ checkoutResult,
128
+ setCheckoutResult
129
+ }
130
+ ),
131
+ /* @__PURE__ */ jsxs("div", { className: "au-flex au-flex-col au-gap-2", children: [
132
+ checkoutResult?.has_prorations && checkoutResult.lines.length > 0 && /* @__PURE__ */ jsx(CheckoutLines, { checkoutResult }),
133
+ /* @__PURE__ */ jsx(DueAmounts, { checkoutResult })
134
+ ] })
135
+ ] });
136
+ }
137
+ function DueAmounts({ checkoutResult }) {
138
+ const { next_cycle, product } = checkoutResult;
139
+ const nextCycleAtStr = next_cycle ? new Date(next_cycle.starts_at).toLocaleDateString() : void 0;
140
+ const hasUsagePrice = product.items.some(
141
+ (item) => item.usage_model === "pay_per_use"
142
+ );
143
+ const showNextCycle = next_cycle && next_cycle.total !== checkoutResult.total;
144
+ return /* @__PURE__ */ jsxs("div", { className: "au-flex au-flex-col au-gap-1", children: [
145
+ /* @__PURE__ */ jsxs("div", { className: "au-flex au-justify-between", children: [
146
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("p", { className: "au-font-medium au-text-md", children: "Total due today" }) }),
147
+ /* @__PURE__ */ jsx("p", { className: "au-font-medium au-text-md", children: formatCurrency({
148
+ amount: checkoutResult?.total,
149
+ currency: checkoutResult?.currency
150
+ }) })
151
+ ] }),
152
+ showNextCycle && /* @__PURE__ */ jsxs("div", { className: "au-flex au-justify-between au-text-muted-foreground", children: [
153
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("p", { className: "au-text-md", children: [
154
+ "Due next cycle (",
155
+ nextCycleAtStr,
156
+ ")"
157
+ ] }) }),
158
+ /* @__PURE__ */ jsxs("p", { className: "au-text-md", children: [
159
+ formatCurrency({
160
+ amount: next_cycle.total,
161
+ currency: checkoutResult?.currency
162
+ }),
163
+ hasUsagePrice && /* @__PURE__ */ jsx("span", { children: " + usage prices" })
164
+ ] })
165
+ ] })
166
+ ] });
167
+ }
168
+ function ProductItems({
169
+ checkoutResult,
170
+ setCheckoutResult
171
+ }) {
172
+ const isUpdateQuantity = checkoutResult?.product.scenario === "active" && checkoutResult.product.properties.has_prepaid;
173
+ return /* @__PURE__ */ jsxs("div", { className: "au-flex au-flex-col au-gap-2", children: [
174
+ /* @__PURE__ */ jsx("p", { className: "au-text-sm au-font-medium", children: "Price" }),
175
+ checkoutResult?.product.items.filter((item) => item.type !== "feature").map((item, index) => {
176
+ if (item.usage_model == "prepaid") {
177
+ return /* @__PURE__ */ jsx(
178
+ PrepaidItem,
179
+ {
180
+ item,
181
+ checkoutResult,
182
+ setCheckoutResult
183
+ },
184
+ index
185
+ );
186
+ }
187
+ if (isUpdateQuantity) {
188
+ return null;
189
+ }
190
+ return /* @__PURE__ */ jsxs("div", { className: "au-flex au-justify-between", children: [
191
+ /* @__PURE__ */ jsx("p", { className: "au-text-muted-foreground", children: item.feature ? item.feature.name : "Subscription" }),
192
+ /* @__PURE__ */ jsxs("p", { children: [
193
+ item.display?.primary_text,
194
+ " ",
195
+ item.display?.secondary_text
196
+ ] })
197
+ ] }, index);
198
+ })
199
+ ] });
200
+ }
201
+ function CheckoutLines({ checkoutResult }) {
202
+ return /* @__PURE__ */ jsx(Accordion, { type: "single", collapsible: true, children: /* @__PURE__ */ jsxs(AccordionItem, { value: "total", className: "au-border-b-0", children: [
203
+ /* @__PURE__ */ jsx(CustomAccordionTrigger, { className: "au-justify-between au-w-full au-my-0 au-py-0 au-border-none", children: /* @__PURE__ */ jsxs("div", { className: "au-cursor-pointer au-flex au-items-center au-gap-1 au-w-full au-justify-end", children: [
204
+ /* @__PURE__ */ jsx("p", { className: "au-font-light au-text-muted-foreground", children: "View details" }),
205
+ /* @__PURE__ */ jsx(
206
+ ChevronDown,
207
+ {
208
+ className: "au-text-muted-foreground au-mt-0.5 au-rotate-90 au-transition-transform au-duration-200 au-ease-in-out",
209
+ size: 14
210
+ }
211
+ )
212
+ ] }) }),
213
+ /* @__PURE__ */ jsx(AccordionContent, { className: "au-mt-2 au-mb-0 au-pb-2 au-flex au-flex-col au-gap-2", children: checkoutResult?.lines.filter((line) => line.amount != 0).map((line, index) => {
214
+ return /* @__PURE__ */ jsxs("div", { className: "au-flex au-justify-between", children: [
215
+ /* @__PURE__ */ jsx("p", { className: "au-text-muted-foreground", children: line.description }),
216
+ /* @__PURE__ */ jsx("p", { className: "au-text-muted-foreground", children: new Intl.NumberFormat("en-US", {
217
+ style: "currency",
218
+ currency: checkoutResult?.currency
219
+ }).format(line.amount) })
220
+ ] }, index);
221
+ }) })
222
+ ] }) });
223
+ }
224
+ function CustomAccordionTrigger({
225
+ className,
226
+ children,
227
+ ...props
228
+ }) {
229
+ return /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "au-flex", children: /* @__PURE__ */ jsx(
230
+ AccordionPrimitive.Trigger,
231
+ {
232
+ "data-slot": "accordion-trigger",
233
+ className: cn(
234
+ "focus-visible:au-border-ring focus-visible:au-ring-ring/50 au-flex au-flex-1 au-items-start au-justify-between au-gap-4 au-rounded-md au-py-4 au-text-left au-text-sm au-font-medium au-transition-all au-outline-none focus-visible:au-ring-[3px] disabled:au-pointer-events-none disabled:au-opacity-50 [&[data-state=open]_svg]:au-rotate-0",
235
+ className
236
+ ),
237
+ ...props,
238
+ children
239
+ }
240
+ ) });
241
+ }
242
+ var PrepaidItem = ({
243
+ item,
244
+ checkoutResult,
245
+ setCheckoutResult
246
+ }) => {
247
+ const { quantity = 0, billing_units: billingUnits = 1 } = item;
248
+ const [quantityInput, setQuantityInput] = useState(
249
+ (quantity / billingUnits).toString()
250
+ );
251
+ const { checkout } = useCustomer();
252
+ const [loading, setLoading] = useState(false);
253
+ const [open, setOpen] = useState(false);
254
+ const scenario = checkoutResult.product.scenario;
255
+ const handleSave = async () => {
256
+ setLoading(true);
257
+ try {
258
+ const newOptions = checkoutResult.options.filter((option) => option.feature_id !== item.feature_id).map((option) => {
259
+ return {
260
+ featureId: option.feature_id,
261
+ quantity: option.quantity
262
+ };
263
+ });
264
+ newOptions.push({
265
+ featureId: item.feature_id,
266
+ quantity: Number(quantityInput) * billingUnits
267
+ });
268
+ const { data, error } = await checkout({
269
+ productId: checkoutResult.product.id,
270
+ options: newOptions
271
+ });
272
+ if (error) {
273
+ console.error(error);
274
+ return;
275
+ }
276
+ setCheckoutResult(data);
277
+ } catch (error) {
278
+ console.error(error);
279
+ } finally {
280
+ setLoading(false);
281
+ setOpen(false);
282
+ }
283
+ };
284
+ const disableSelection = scenario === "renew";
285
+ return /* @__PURE__ */ jsxs("div", { className: "au-flex au-justify-between", children: [
286
+ /* @__PURE__ */ jsxs("div", { className: "au-flex au-gap-2", children: [
287
+ /* @__PURE__ */ jsx("p", { className: "au-text-muted-foreground", children: item.feature?.name }),
288
+ /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: setOpen, children: [
289
+ /* @__PURE__ */ jsxs(
290
+ PopoverTrigger,
291
+ {
292
+ className: cn(
293
+ "au-text-muted-foreground au-text-xs au-px-1 au-py-0.5 au-rounded-md au-flex au-items-center au-gap-1 au-bg-accent/80 hover:au-bg-accent hover:au-text-foreground"
294
+ ),
295
+ disabled: disableSelection,
296
+ children: [
297
+ "Qty: ",
298
+ quantity,
299
+ /* @__PURE__ */ jsx(ChevronDown, { size: 12 })
300
+ ]
301
+ }
302
+ ),
303
+ /* @__PURE__ */ jsxs(
304
+ PopoverContent,
305
+ {
306
+ align: "start",
307
+ className: "au-w-80 au-text-sm au-p-4 au-pt-3 au-flex au-flex-col au-gap-4",
308
+ children: [
309
+ /* @__PURE__ */ jsxs("div", { className: "au-flex au-flex-col au-gap-1", children: [
310
+ /* @__PURE__ */ jsx("p", { className: "au-text-sm au-font-medium", children: item.feature?.name }),
311
+ /* @__PURE__ */ jsxs("p", { className: "au-text-muted-foreground", children: [
312
+ item.display?.primary_text,
313
+ " ",
314
+ item.display?.secondary_text
315
+ ] })
316
+ ] }),
317
+ /* @__PURE__ */ jsxs("div", { className: "au-flex au-justify-between au-items-end", children: [
318
+ /* @__PURE__ */ jsxs("div", { className: "au-flex au-gap-2 au-items-center", children: [
319
+ /* @__PURE__ */ jsx(
320
+ Input,
321
+ {
322
+ className: "au-h-7 au-w-16 focus:!au-ring-2",
323
+ value: quantityInput,
324
+ onChange: (e) => setQuantityInput(e.target.value)
325
+ }
326
+ ),
327
+ /* @__PURE__ */ jsxs("p", { className: "au-text-muted-foreground", children: [
328
+ billingUnits > 1 && `x ${billingUnits} `,
329
+ item.feature?.name
330
+ ] })
331
+ ] }),
332
+ /* @__PURE__ */ jsx(Button, { onClick: handleSave, className: "au-w-14", children: loading ? /* @__PURE__ */ jsx(LoaderCircle, { className: "au-text-muted-foreground au-animate-spin !au-w-4 !au-h-4" }) : "Save" })
333
+ ] })
334
+ ]
335
+ }
336
+ )
337
+ ] })
338
+ ] }),
339
+ /* @__PURE__ */ jsxs("p", { children: [
340
+ item.display?.primary_text,
341
+ " ",
342
+ item.display?.secondary_text
343
+ ] })
344
+ ] });
345
+ };
346
+ var PriceItem = ({
347
+ children,
348
+ className,
349
+ ...props
350
+ }) => {
351
+ return /* @__PURE__ */ jsx(
352
+ "div",
353
+ {
354
+ className: cn(
355
+ "au-flex au-flex-col au-pb-4 sm:au-pb-0 au-gap-1 sm:au-flex-row au-justify-between sm:au-h-7 sm:au-gap-2 sm:au-items-center",
356
+ className
357
+ ),
358
+ ...props,
359
+ children
360
+ }
361
+ );
362
+ };
363
+ var PricingDialogButton = ({
364
+ children,
365
+ size,
366
+ onClick,
367
+ disabled,
368
+ className
369
+ }) => {
370
+ return /* @__PURE__ */ jsxs(
371
+ Button,
372
+ {
373
+ onClick,
374
+ disabled,
375
+ size,
376
+ className: cn(className, "au-shadow-sm au-shadow-stone-400"),
377
+ children: [
378
+ children,
379
+ /* @__PURE__ */ jsx(ArrowRight, { className: "!au-h-3" })
380
+ ]
381
+ }
382
+ );
383
+ };
384
+
385
+ // src/libraries/react/components/pricing-table/pricing-table-synced.tsx
386
+ import { createContext, useContext, useState as useState2 } from "react";
387
+ import { Fragment as Fragment2, jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
388
+ function PricingTable({
389
+ productDetails
390
+ }) {
391
+ const { checkout } = useCustomer();
392
+ const [isAnnual, setIsAnnual] = useState2(false);
393
+ const { products, isLoading, error } = usePricingTable({ productDetails });
394
+ if (isLoading) {
395
+ return /* @__PURE__ */ jsx2("div", { style: loadingStyles, children: /* @__PURE__ */ jsx2(LoaderCircle, { style: spinnerStyles }) });
396
+ }
397
+ if (error) {
398
+ return /* @__PURE__ */ jsx2("div", { children: " Something went wrong..." });
399
+ }
400
+ const intervals = Array.from(
401
+ new Set(
402
+ products?.map((p) => p.properties?.interval_group).filter((i) => !!i)
403
+ )
404
+ );
405
+ const multiInterval = intervals.length > 1;
406
+ const intervalFilter = (product) => {
407
+ if (!product.properties?.interval_group) {
408
+ return true;
409
+ }
410
+ if (multiInterval) {
411
+ if (isAnnual) {
412
+ return product.properties?.interval_group === "year";
413
+ } else {
414
+ return product.properties?.interval_group === "month";
415
+ }
416
+ }
417
+ return true;
418
+ };
419
+ return /* @__PURE__ */ jsx2("div", { className: cn("au-root"), children: products && /* @__PURE__ */ jsx2(
420
+ PricingTableContainer,
421
+ {
422
+ products,
423
+ isAnnualToggle: isAnnual,
424
+ setIsAnnualToggle: setIsAnnual,
425
+ multiInterval,
426
+ children: products.filter(intervalFilter).map((product, index) => /* @__PURE__ */ jsx2(
427
+ PricingCard,
428
+ {
429
+ productId: product.id,
430
+ buttonProps: {
431
+ disabled: product.scenario === "active" && !product.properties.has_prepaid || product.scenario === "scheduled",
432
+ onClick: async () => {
433
+ if (product.id) {
434
+ await checkout({
435
+ productId: product.id,
436
+ dialog: AttachDialog
437
+ });
438
+ } else if (product.display?.button_url) {
439
+ window.open(product.display?.button_url, "_blank");
440
+ }
441
+ }
442
+ }
443
+ },
444
+ index
445
+ ))
446
+ }
447
+ ) });
448
+ }
449
+ var PricingTableContext = createContext({
450
+ isAnnualToggle: false,
451
+ setIsAnnualToggle: () => {
452
+ },
453
+ products: [],
454
+ showFeatures: true
455
+ });
456
+ var usePricingTableContext = (componentName) => {
457
+ const context = useContext(PricingTableContext);
458
+ if (context === void 0) {
459
+ throw new Error(`${componentName} must be used within <PricingTable />`);
460
+ }
461
+ return context;
462
+ };
463
+ var PricingTableContainer = ({
464
+ children,
465
+ products,
466
+ showFeatures = true,
467
+ className,
468
+ isAnnualToggle,
469
+ setIsAnnualToggle,
470
+ multiInterval
471
+ }) => {
472
+ if (!products) {
473
+ throw new Error("products is required in <PricingTable />");
474
+ }
475
+ if (products.length === 0) {
476
+ return /* @__PURE__ */ jsx2(Fragment2, {});
477
+ }
478
+ const hasRecommended = products?.some((p) => p.display?.recommend_text);
479
+ return /* @__PURE__ */ jsx2(
480
+ PricingTableContext.Provider,
481
+ {
482
+ value: { isAnnualToggle, setIsAnnualToggle, products, showFeatures },
483
+ children: /* @__PURE__ */ jsxs2(
484
+ "div",
485
+ {
486
+ className: cn(
487
+ "au-flex au-items-center au-flex-col",
488
+ hasRecommended && "!au-py-10"
489
+ ),
490
+ children: [
491
+ multiInterval && /* @__PURE__ */ jsx2(
492
+ "div",
493
+ {
494
+ className: cn(
495
+ products.some((p) => p.display?.recommend_text) && "au-mb-8"
496
+ ),
497
+ children: /* @__PURE__ */ jsx2(
498
+ AnnualSwitch,
499
+ {
500
+ isAnnualToggle,
501
+ setIsAnnualToggle
502
+ }
503
+ )
504
+ }
505
+ ),
506
+ /* @__PURE__ */ jsx2(
507
+ "div",
508
+ {
509
+ className: cn(
510
+ "au-grid au-grid-cols-1 sm:au-grid-cols-2 lg:au-grid-cols-[repeat(auto-fit,minmax(200px,1fr))] au-w-full au-gap-2",
511
+ className
512
+ ),
513
+ children
514
+ }
515
+ )
516
+ ]
517
+ }
518
+ )
519
+ }
520
+ );
521
+ };
522
+ var PricingCard = ({
523
+ productId,
524
+ className,
525
+ buttonProps
526
+ }) => {
527
+ const { products, showFeatures } = usePricingTableContext("PricingCard");
528
+ const product = products.find((p) => p.id === productId);
529
+ if (!product) {
530
+ throw new Error(`Product with id ${productId} not found`);
531
+ }
532
+ const { name, display: productDisplay, items } = product;
533
+ const { buttonText } = getPricingTableContent(product);
534
+ const isRecommended = productDisplay?.recommend_text ? true : false;
535
+ const mainPriceDisplay = product.properties?.is_free ? {
536
+ primary_text: "Free"
537
+ } : product.items[0].display;
538
+ const featureItems = product.properties?.is_free ? product.items : product.items.slice(1);
539
+ return /* @__PURE__ */ jsxs2(
540
+ "div",
541
+ {
542
+ className: cn(
543
+ " au-w-full au-h-full au-py-6 au-text-foreground au-border au-rounded-lg au-shadow-sm au-max-w-xl",
544
+ isRecommended && "lg:au--translate-y-6 lg:au-shadow-lg dark:au-shadow-zinc-800/80 lg:au-h-[calc(100%+48px)] au-bg-secondary/40",
545
+ className
546
+ ),
547
+ children: [
548
+ productDisplay?.recommend_text && /* @__PURE__ */ jsx2(RecommendedBadge, { recommended: productDisplay?.recommend_text }),
549
+ /* @__PURE__ */ jsxs2(
550
+ "div",
551
+ {
552
+ className: cn(
553
+ "au-flex au-flex-col au-h-full au-flex-grow",
554
+ isRecommended && "lg:au-translate-y-6"
555
+ ),
556
+ children: [
557
+ /* @__PURE__ */ jsxs2("div", { className: "au-h-full", children: [
558
+ /* @__PURE__ */ jsxs2("div", { className: "au-flex au-flex-col", children: [
559
+ /* @__PURE__ */ jsxs2("div", { className: "au-pb-4", children: [
560
+ /* @__PURE__ */ jsx2("h2", { className: "au-text-2xl au-font-semibold au-px-6 au-truncate", children: productDisplay?.name || name }),
561
+ productDisplay?.description && /* @__PURE__ */ jsx2("div", { className: "au-text-sm au-text-muted-foreground au-px-6 au-h-8", children: /* @__PURE__ */ jsx2("p", { className: "au-line-clamp-2", children: productDisplay?.description }) })
562
+ ] }),
563
+ /* @__PURE__ */ jsx2("div", { className: "au-mb-2", children: /* @__PURE__ */ jsx2("h3", { className: "au-font-semibold au-h-16 au-flex au-px-6 au-items-center au-border-y au-mb-4 au-bg-secondary/40", children: /* @__PURE__ */ jsxs2("div", { className: "au-line-clamp-2", children: [
564
+ mainPriceDisplay?.primary_text,
565
+ " ",
566
+ mainPriceDisplay?.secondary_text && /* @__PURE__ */ jsx2("span", { className: "au-font-normal au-text-muted-foreground au-mt-1", children: mainPriceDisplay?.secondary_text })
567
+ ] }) }) })
568
+ ] }),
569
+ showFeatures && featureItems.length > 0 && /* @__PURE__ */ jsx2("div", { className: "au-flex-grow au-px-6 au-mb-6", children: /* @__PURE__ */ jsx2(
570
+ PricingFeatureList,
571
+ {
572
+ items: featureItems,
573
+ showIcon: true,
574
+ everythingFrom: product.display?.everything_from
575
+ }
576
+ ) })
577
+ ] }),
578
+ /* @__PURE__ */ jsx2(
579
+ "div",
580
+ {
581
+ className: cn(" au-px-6 ", isRecommended && "lg:au--translate-y-12"),
582
+ children: /* @__PURE__ */ jsx2(
583
+ PricingCardButton,
584
+ {
585
+ recommended: productDisplay?.recommend_text ? true : false,
586
+ ...buttonProps,
587
+ children: productDisplay?.button_text || buttonText
588
+ }
589
+ )
590
+ }
591
+ )
592
+ ]
593
+ }
594
+ )
595
+ ]
596
+ }
597
+ );
598
+ };
599
+ var PricingFeatureList = ({
600
+ items,
601
+ showIcon = true,
602
+ everythingFrom,
603
+ className
604
+ }) => {
605
+ return /* @__PURE__ */ jsxs2("div", { className: cn("au-flex-grow", className), children: [
606
+ everythingFrom && /* @__PURE__ */ jsxs2("p", { className: "au-text-sm au-mb-4", children: [
607
+ "Everything from ",
608
+ everythingFrom,
609
+ ", plus:"
610
+ ] }),
611
+ /* @__PURE__ */ jsx2("div", { className: "au-space-y-3", children: items.map((item, index) => /* @__PURE__ */ jsx2(
612
+ "div",
613
+ {
614
+ className: "au-flex au-items-start au-gap-2 au-text-sm",
615
+ children: /* @__PURE__ */ jsxs2("div", { className: "au-flex au-flex-col", children: [
616
+ /* @__PURE__ */ jsx2("span", { children: item.display?.primary_text }),
617
+ item.display?.secondary_text && /* @__PURE__ */ jsx2("span", { className: "au-text-sm au-text-muted-foreground", children: item.display?.secondary_text })
618
+ ] })
619
+ },
620
+ index
621
+ )) })
622
+ ] });
623
+ };
624
+ var PricingCardButton = React2.forwardRef(({ recommended, children, className, onClick, ...props }, ref) => {
625
+ const [loading, setLoading] = useState2(false);
626
+ const handleClick = async (e) => {
627
+ setLoading(true);
628
+ try {
629
+ await onClick?.(e);
630
+ } catch (error) {
631
+ console.error(error);
632
+ } finally {
633
+ setLoading(false);
634
+ }
635
+ };
636
+ return /* @__PURE__ */ jsx2(
637
+ Button,
638
+ {
639
+ className: cn(
640
+ "au-w-full au-py-3 au-px-4 au-group au-overflow-hidden au-relative au-transition-all au-duration-300 hover:au-brightness-90 au-border au-rounded-lg",
641
+ className
642
+ ),
643
+ ...props,
644
+ variant: recommended ? "default" : "secondary",
645
+ ref,
646
+ disabled: loading || props.disabled,
647
+ onClick: handleClick,
648
+ children: loading ? /* @__PURE__ */ jsx2(LoaderCircle, { className: "au-h-4 au-w-4 au-animate-spin" }) : /* @__PURE__ */ jsxs2(Fragment2, { children: [
649
+ /* @__PURE__ */ jsxs2("div", { className: "au-flex au-items-center au-justify-between au-w-full au-transition-transform au-duration-300 group-hover:au-translate-y-[-130%]", children: [
650
+ /* @__PURE__ */ jsx2("span", { children }),
651
+ /* @__PURE__ */ jsx2("span", { className: "au-text-sm", children: "\u2192" })
652
+ ] }),
653
+ /* @__PURE__ */ jsxs2("div", { className: "au-flex au-items-center au-justify-between au-w-full au-absolute au-px-4 au-translate-y-[130%] au-transition-transform au-duration-300 group-hover:au-translate-y-0 au-mt-2 group-hover:au-mt-0", children: [
654
+ /* @__PURE__ */ jsx2("span", { children }),
655
+ /* @__PURE__ */ jsx2("span", { className: "au-text-sm", children: "\u2192" })
656
+ ] })
657
+ ] })
658
+ }
659
+ );
660
+ });
661
+ PricingCardButton.displayName = "PricingCardButton";
662
+ var AnnualSwitch = ({
663
+ isAnnualToggle,
664
+ setIsAnnualToggle
665
+ }) => {
666
+ return /* @__PURE__ */ jsxs2("div", { className: "au-flex au-items-center au-space-x-2 au-mb-4", children: [
667
+ /* @__PURE__ */ jsx2("span", { className: "au-text-sm au-text-muted-foreground", children: "Monthly" }),
668
+ /* @__PURE__ */ jsx2(
669
+ Switch,
670
+ {
671
+ id: "annual-billing",
672
+ checked: isAnnualToggle,
673
+ onCheckedChange: setIsAnnualToggle
674
+ }
675
+ ),
676
+ /* @__PURE__ */ jsx2("span", { className: "au-text-sm au-text-muted-foreground", children: "Annual" })
677
+ ] });
678
+ };
679
+ var RecommendedBadge = ({ recommended }) => {
680
+ return /* @__PURE__ */ jsx2("div", { className: "au-bg-secondary au-absolute au-border au-text-muted-foreground au-text-sm au-font-medium lg:au-rounded-full au-px-3 lg:au-py-0.5 lg:au-top-4 lg:au-right-4 au-top-[-1px] au-right-[-1px] au-rounded-bl-lg", children: recommended });
681
+ };
682
+
683
+ export {
684
+ PricingTable,
685
+ usePricingTableContext,
686
+ PricingTableContainer,
687
+ PricingCard,
688
+ PricingFeatureList,
689
+ PricingCardButton,
690
+ AnnualSwitch,
691
+ RecommendedBadge,
692
+ AttachDialog,
693
+ PriceItem,
694
+ PricingDialogButton
695
+ };