@mmailaender/convex-creem 0.1.0

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 (383) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1176 -0
  3. package/dist/client/helpers.d.ts +17 -0
  4. package/dist/client/helpers.d.ts.map +1 -0
  5. package/dist/client/helpers.js +43 -0
  6. package/dist/client/helpers.js.map +1 -0
  7. package/dist/client/index.d.ts +1041 -0
  8. package/dist/client/index.d.ts.map +1 -0
  9. package/dist/client/index.js +1068 -0
  10. package/dist/client/index.js.map +1 -0
  11. package/dist/client/parsers.d.ts +45 -0
  12. package/dist/client/parsers.d.ts.map +1 -0
  13. package/dist/client/parsers.js +138 -0
  14. package/dist/client/parsers.js.map +1 -0
  15. package/dist/client/polyfill.d.ts +2 -0
  16. package/dist/client/polyfill.d.ts.map +1 -0
  17. package/dist/client/polyfill.js +3 -0
  18. package/dist/client/polyfill.js.map +1 -0
  19. package/dist/component/_generated/api.d.ts +36 -0
  20. package/dist/component/_generated/api.d.ts.map +1 -0
  21. package/dist/component/_generated/api.js +31 -0
  22. package/dist/component/_generated/api.js.map +1 -0
  23. package/dist/component/_generated/component.d.ts +542 -0
  24. package/dist/component/_generated/component.d.ts.map +1 -0
  25. package/dist/component/_generated/component.js +11 -0
  26. package/dist/component/_generated/component.js.map +1 -0
  27. package/dist/component/_generated/dataModel.d.ts +46 -0
  28. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  29. package/dist/component/_generated/dataModel.js +11 -0
  30. package/dist/component/_generated/dataModel.js.map +1 -0
  31. package/dist/component/_generated/server.d.ts +121 -0
  32. package/dist/component/_generated/server.d.ts.map +1 -0
  33. package/dist/component/_generated/server.js +78 -0
  34. package/dist/component/_generated/server.js.map +1 -0
  35. package/dist/component/convex.config.d.ts +3 -0
  36. package/dist/component/convex.config.d.ts.map +1 -0
  37. package/dist/component/convex.config.js +3 -0
  38. package/dist/component/convex.config.js.map +1 -0
  39. package/dist/component/lib.d.ts +1005 -0
  40. package/dist/component/lib.d.ts.map +1 -0
  41. package/dist/component/lib.js +647 -0
  42. package/dist/component/lib.js.map +1 -0
  43. package/dist/component/schema.d.ts +191 -0
  44. package/dist/component/schema.d.ts.map +1 -0
  45. package/dist/component/schema.js +104 -0
  46. package/dist/component/schema.js.map +1 -0
  47. package/dist/component/util.d.ts +61 -0
  48. package/dist/component/util.d.ts.map +1 -0
  49. package/dist/component/util.js +142 -0
  50. package/dist/component/util.js.map +1 -0
  51. package/dist/core/catalog.d.ts +18 -0
  52. package/dist/core/catalog.d.ts.map +1 -0
  53. package/dist/core/catalog.js +82 -0
  54. package/dist/core/catalog.js.map +1 -0
  55. package/dist/core/index.d.ts +9 -0
  56. package/dist/core/index.d.ts.map +1 -0
  57. package/dist/core/index.js +9 -0
  58. package/dist/core/index.js.map +1 -0
  59. package/dist/core/markdown.d.ts +12 -0
  60. package/dist/core/markdown.d.ts.map +1 -0
  61. package/dist/core/markdown.js +26 -0
  62. package/dist/core/markdown.js.map +1 -0
  63. package/dist/core/payments.d.ts +11 -0
  64. package/dist/core/payments.d.ts.map +1 -0
  65. package/dist/core/payments.js +27 -0
  66. package/dist/core/payments.js.map +1 -0
  67. package/dist/core/pendingCheckout.d.ts +15 -0
  68. package/dist/core/pendingCheckout.d.ts.map +1 -0
  69. package/dist/core/pendingCheckout.js +40 -0
  70. package/dist/core/pendingCheckout.js.map +1 -0
  71. package/dist/core/resolver.d.ts +11 -0
  72. package/dist/core/resolver.d.ts.map +1 -0
  73. package/dist/core/resolver.js +106 -0
  74. package/dist/core/resolver.js.map +1 -0
  75. package/dist/core/selectors.d.ts +12 -0
  76. package/dist/core/selectors.d.ts.map +1 -0
  77. package/dist/core/selectors.js +18 -0
  78. package/dist/core/selectors.js.map +1 -0
  79. package/dist/core/subscriptionUpdate.d.ts +20 -0
  80. package/dist/core/subscriptionUpdate.d.ts.map +1 -0
  81. package/dist/core/subscriptionUpdate.js +64 -0
  82. package/dist/core/subscriptionUpdate.js.map +1 -0
  83. package/dist/core/types.d.ts +170 -0
  84. package/dist/core/types.d.ts.map +1 -0
  85. package/dist/core/types.js +15 -0
  86. package/dist/core/types.js.map +1 -0
  87. package/dist/design-system/colors/color-utils.d.ts +10 -0
  88. package/dist/design-system/colors/color-utils.d.ts.map +1 -0
  89. package/dist/design-system/colors/color-utils.js +91 -0
  90. package/dist/design-system/colors/color-utils.js.map +1 -0
  91. package/dist/design-system/colors/config.d.ts +33 -0
  92. package/dist/design-system/colors/config.d.ts.map +1 -0
  93. package/dist/design-system/colors/config.js +224 -0
  94. package/dist/design-system/colors/config.js.map +1 -0
  95. package/dist/design-system/colors/index.d.ts +3 -0
  96. package/dist/design-system/colors/index.d.ts.map +1 -0
  97. package/dist/design-system/colors/index.js +3 -0
  98. package/dist/design-system/colors/index.js.map +1 -0
  99. package/dist/design-system/rounded/config.d.ts +31 -0
  100. package/dist/design-system/rounded/config.d.ts.map +1 -0
  101. package/dist/design-system/rounded/config.js +76 -0
  102. package/dist/design-system/rounded/config.js.map +1 -0
  103. package/dist/design-system/rounded/index.d.ts +2 -0
  104. package/dist/design-system/rounded/index.d.ts.map +1 -0
  105. package/dist/design-system/rounded/index.js +2 -0
  106. package/dist/design-system/rounded/index.js.map +1 -0
  107. package/dist/design-system/typography/config.d.ts +55 -0
  108. package/dist/design-system/typography/config.d.ts.map +1 -0
  109. package/dist/design-system/typography/config.js +308 -0
  110. package/dist/design-system/typography/config.js.map +1 -0
  111. package/dist/design-system/typography/index.d.ts +3 -0
  112. package/dist/design-system/typography/index.d.ts.map +1 -0
  113. package/dist/design-system/typography/index.js +3 -0
  114. package/dist/design-system/typography/index.js.map +1 -0
  115. package/dist/design-system/typography/tokens.d.ts +23 -0
  116. package/dist/design-system/typography/tokens.d.ts.map +1 -0
  117. package/dist/design-system/typography/tokens.js +99 -0
  118. package/dist/design-system/typography/tokens.js.map +1 -0
  119. package/dist/react/hooks/useCheckoutSuccessParams.d.ts +2 -0
  120. package/dist/react/hooks/useCheckoutSuccessParams.d.ts.map +1 -0
  121. package/dist/react/hooks/useCheckoutSuccessParams.js +5 -0
  122. package/dist/react/hooks/useCheckoutSuccessParams.js.map +1 -0
  123. package/dist/react/index.d.ts +25 -0
  124. package/dist/react/index.d.ts.map +1 -0
  125. package/dist/react/index.js +22 -0
  126. package/dist/react/index.js.map +1 -0
  127. package/dist/react/primitives/BillingGate.d.ts +8 -0
  128. package/dist/react/primitives/BillingGate.d.ts.map +1 -0
  129. package/dist/react/primitives/BillingGate.js +13 -0
  130. package/dist/react/primitives/BillingGate.js.map +1 -0
  131. package/dist/react/primitives/BillingToggle.d.ts +8 -0
  132. package/dist/react/primitives/BillingToggle.d.ts.map +1 -0
  133. package/dist/react/primitives/BillingToggle.js +12 -0
  134. package/dist/react/primitives/BillingToggle.js.map +1 -0
  135. package/dist/react/primitives/CheckoutButton.d.ts +11 -0
  136. package/dist/react/primitives/CheckoutButton.d.ts.map +1 -0
  137. package/dist/react/primitives/CheckoutButton.js +21 -0
  138. package/dist/react/primitives/CheckoutButton.js.map +1 -0
  139. package/dist/react/primitives/CheckoutSuccessSummary.d.ts +7 -0
  140. package/dist/react/primitives/CheckoutSuccessSummary.d.ts.map +1 -0
  141. package/dist/react/primitives/CheckoutSuccessSummary.js +11 -0
  142. package/dist/react/primitives/CheckoutSuccessSummary.js.map +1 -0
  143. package/dist/react/primitives/CustomerPortalButton.d.ts +8 -0
  144. package/dist/react/primitives/CustomerPortalButton.d.ts.map +1 -0
  145. package/dist/react/primitives/CustomerPortalButton.js +21 -0
  146. package/dist/react/primitives/CustomerPortalButton.js.map +1 -0
  147. package/dist/react/primitives/NumberInput.d.ts +11 -0
  148. package/dist/react/primitives/NumberInput.d.ts.map +1 -0
  149. package/dist/react/primitives/NumberInput.js +18 -0
  150. package/dist/react/primitives/NumberInput.js.map +1 -0
  151. package/dist/react/primitives/OneTimeCheckoutButton.d.ts +11 -0
  152. package/dist/react/primitives/OneTimeCheckoutButton.d.ts.map +1 -0
  153. package/dist/react/primitives/OneTimeCheckoutButton.js +4 -0
  154. package/dist/react/primitives/OneTimeCheckoutButton.js.map +1 -0
  155. package/dist/react/primitives/OneTimePaymentStatusBadge.d.ts +6 -0
  156. package/dist/react/primitives/OneTimePaymentStatusBadge.d.ts.map +1 -0
  157. package/dist/react/primitives/OneTimePaymentStatusBadge.js +11 -0
  158. package/dist/react/primitives/OneTimePaymentStatusBadge.js.map +1 -0
  159. package/dist/react/primitives/PaymentWarningBanner.d.ts +7 -0
  160. package/dist/react/primitives/PaymentWarningBanner.d.ts.map +1 -0
  161. package/dist/react/primitives/PaymentWarningBanner.js +18 -0
  162. package/dist/react/primitives/PaymentWarningBanner.js.map +1 -0
  163. package/dist/react/primitives/PricingCard.d.ts +37 -0
  164. package/dist/react/primitives/PricingCard.d.ts.map +1 -0
  165. package/dist/react/primitives/PricingCard.js +125 -0
  166. package/dist/react/primitives/PricingCard.js.map +1 -0
  167. package/dist/react/primitives/PricingSection.d.ts +39 -0
  168. package/dist/react/primitives/PricingSection.d.ts.map +1 -0
  169. package/dist/react/primitives/PricingSection.js +24 -0
  170. package/dist/react/primitives/PricingSection.js.map +1 -0
  171. package/dist/react/primitives/ScheduledChangeBanner.d.ts +8 -0
  172. package/dist/react/primitives/ScheduledChangeBanner.d.ts.map +1 -0
  173. package/dist/react/primitives/ScheduledChangeBanner.js +13 -0
  174. package/dist/react/primitives/ScheduledChangeBanner.js.map +1 -0
  175. package/dist/react/primitives/SegmentControl.d.ts +11 -0
  176. package/dist/react/primitives/SegmentControl.d.ts.map +1 -0
  177. package/dist/react/primitives/SegmentControl.js +8 -0
  178. package/dist/react/primitives/SegmentControl.js.map +1 -0
  179. package/dist/react/primitives/SegmentGroup.d.ts +14 -0
  180. package/dist/react/primitives/SegmentGroup.d.ts.map +1 -0
  181. package/dist/react/primitives/SegmentGroup.js +11 -0
  182. package/dist/react/primitives/SegmentGroup.js.map +1 -0
  183. package/dist/react/primitives/TrialLimitBanner.d.ts +7 -0
  184. package/dist/react/primitives/TrialLimitBanner.d.ts.map +1 -0
  185. package/dist/react/primitives/TrialLimitBanner.js +14 -0
  186. package/dist/react/primitives/TrialLimitBanner.js.map +1 -0
  187. package/dist/react/shared.d.ts +28 -0
  188. package/dist/react/shared.d.ts.map +1 -0
  189. package/dist/react/shared.js +109 -0
  190. package/dist/react/shared.js.map +1 -0
  191. package/dist/react/widgets/BillingPortal.d.ts +9 -0
  192. package/dist/react/widgets/BillingPortal.d.ts.map +1 -0
  193. package/dist/react/widgets/BillingPortal.js +30 -0
  194. package/dist/react/widgets/BillingPortal.js.map +1 -0
  195. package/dist/react/widgets/ProductItem.d.ts +8 -0
  196. package/dist/react/widgets/ProductItem.d.ts.map +1 -0
  197. package/dist/react/widgets/ProductItem.js +14 -0
  198. package/dist/react/widgets/ProductItem.js.map +1 -0
  199. package/dist/react/widgets/ProductRoot.d.ts +16 -0
  200. package/dist/react/widgets/ProductRoot.d.ts.map +1 -0
  201. package/dist/react/widgets/ProductRoot.js +171 -0
  202. package/dist/react/widgets/ProductRoot.js.map +1 -0
  203. package/dist/react/widgets/SubscriptionItem.d.ts +27 -0
  204. package/dist/react/widgets/SubscriptionItem.d.ts.map +1 -0
  205. package/dist/react/widgets/SubscriptionItem.js +32 -0
  206. package/dist/react/widgets/SubscriptionItem.js.map +1 -0
  207. package/dist/react/widgets/SubscriptionRoot.d.ts +16 -0
  208. package/dist/react/widgets/SubscriptionRoot.d.ts.map +1 -0
  209. package/dist/react/widgets/SubscriptionRoot.js +405 -0
  210. package/dist/react/widgets/SubscriptionRoot.js.map +1 -0
  211. package/dist/react/widgets/index.d.ts +19 -0
  212. package/dist/react/widgets/index.d.ts.map +1 -0
  213. package/dist/react/widgets/index.js +16 -0
  214. package/dist/react/widgets/index.js.map +1 -0
  215. package/dist/react/widgets/productGroupContext.d.ts +6 -0
  216. package/dist/react/widgets/productGroupContext.d.ts.map +1 -0
  217. package/dist/react/widgets/productGroupContext.js +3 -0
  218. package/dist/react/widgets/productGroupContext.js.map +1 -0
  219. package/dist/react/widgets/subscriptionContext.d.ts +6 -0
  220. package/dist/react/widgets/subscriptionContext.d.ts.map +1 -0
  221. package/dist/react/widgets/subscriptionContext.js +3 -0
  222. package/dist/react/widgets/subscriptionContext.js.map +1 -0
  223. package/dist/react/widgets/types.d.ts +171 -0
  224. package/dist/react/widgets/types.d.ts.map +1 -0
  225. package/dist/react/widgets/types.js +2 -0
  226. package/dist/react/widgets/types.js.map +1 -0
  227. package/dist/svelte/index.d.ts +22 -0
  228. package/dist/svelte/index.d.ts.map +1 -0
  229. package/dist/svelte/index.js +20 -0
  230. package/dist/svelte/index.js.map +1 -0
  231. package/dist/svelte/primitives/BillingGate.svelte +28 -0
  232. package/dist/svelte/primitives/BillingToggle.svelte +27 -0
  233. package/dist/svelte/primitives/CheckoutButton.svelte +60 -0
  234. package/dist/svelte/primitives/CheckoutSuccessSummary.svelte +34 -0
  235. package/dist/svelte/primitives/CustomerPortalButton.svelte +60 -0
  236. package/dist/svelte/primitives/NumberInput.svelte +71 -0
  237. package/dist/svelte/primitives/OneTimeCheckoutButton.svelte +37 -0
  238. package/dist/svelte/primitives/OneTimePaymentStatusBadge.svelte +20 -0
  239. package/dist/svelte/primitives/PaymentWarningBanner.svelte +30 -0
  240. package/dist/svelte/primitives/PricingCard.svelte +356 -0
  241. package/dist/svelte/primitives/PricingSection.svelte +121 -0
  242. package/dist/svelte/primitives/ScheduledChangeBanner.svelte +46 -0
  243. package/dist/svelte/primitives/SegmentControl.svelte +38 -0
  244. package/dist/svelte/primitives/SegmentGroup.svelte +52 -0
  245. package/dist/svelte/primitives/TrialLimitBanner.svelte +32 -0
  246. package/dist/svelte/primitives/shared.d.ts +13 -0
  247. package/dist/svelte/primitives/shared.d.ts.map +1 -0
  248. package/dist/svelte/primitives/shared.js +87 -0
  249. package/dist/svelte/primitives/shared.js.map +1 -0
  250. package/dist/svelte/widgets/BillingPortal.svelte +55 -0
  251. package/dist/svelte/widgets/Product.svelte +35 -0
  252. package/dist/svelte/widgets/ProductRoot.svelte +428 -0
  253. package/dist/svelte/widgets/Subscription.svelte +52 -0
  254. package/dist/svelte/widgets/SubscriptionRoot.svelte +690 -0
  255. package/dist/svelte/widgets/index.d.ts +19 -0
  256. package/dist/svelte/widgets/index.d.ts.map +1 -0
  257. package/dist/svelte/widgets/index.js +16 -0
  258. package/dist/svelte/widgets/index.js.map +1 -0
  259. package/dist/svelte/widgets/productGroupContext.d.ts +6 -0
  260. package/dist/svelte/widgets/productGroupContext.d.ts.map +1 -0
  261. package/dist/svelte/widgets/productGroupContext.js +2 -0
  262. package/dist/svelte/widgets/productGroupContext.js.map +1 -0
  263. package/dist/svelte/widgets/subscriptionContext.d.ts +6 -0
  264. package/dist/svelte/widgets/subscriptionContext.d.ts.map +1 -0
  265. package/dist/svelte/widgets/subscriptionContext.js +2 -0
  266. package/dist/svelte/widgets/subscriptionContext.js.map +1 -0
  267. package/dist/svelte/widgets/types.d.ts +171 -0
  268. package/dist/svelte/widgets/types.d.ts.map +1 -0
  269. package/dist/svelte/widgets/types.js +2 -0
  270. package/dist/svelte/widgets/types.js.map +1 -0
  271. package/package.json +182 -0
  272. package/src/client/helpers.test.ts +139 -0
  273. package/src/client/helpers.ts +51 -0
  274. package/src/client/index.test.ts +1554 -0
  275. package/src/client/index.ts +1504 -0
  276. package/src/client/parsers.test.ts +1017 -0
  277. package/src/client/parsers.ts +182 -0
  278. package/src/client/polyfill.ts +2 -0
  279. package/src/component/_generated/api.ts +52 -0
  280. package/src/component/_generated/component.ts +619 -0
  281. package/src/component/_generated/dataModel.ts +60 -0
  282. package/src/component/_generated/server.ts +156 -0
  283. package/src/component/convex.config.ts +3 -0
  284. package/src/component/lib.test.ts +1359 -0
  285. package/src/component/lib.ts +726 -0
  286. package/src/component/schema.ts +112 -0
  287. package/src/component/util.test.ts +281 -0
  288. package/src/component/util.ts +228 -0
  289. package/src/core/catalog.test.ts +212 -0
  290. package/src/core/catalog.ts +119 -0
  291. package/src/core/index.ts +8 -0
  292. package/src/core/markdown.test.ts +43 -0
  293. package/src/core/markdown.ts +26 -0
  294. package/src/core/payments.test.ts +69 -0
  295. package/src/core/payments.ts +33 -0
  296. package/src/core/pendingCheckout.test.ts +44 -0
  297. package/src/core/pendingCheckout.ts +40 -0
  298. package/src/core/resolver.test.ts +283 -0
  299. package/src/core/resolver.ts +160 -0
  300. package/src/core/selectors.test.ts +119 -0
  301. package/src/core/selectors.ts +35 -0
  302. package/src/core/subscriptionUpdate.test.ts +164 -0
  303. package/src/core/subscriptionUpdate.ts +102 -0
  304. package/src/core/types.ts +220 -0
  305. package/src/design-system/README.md +40 -0
  306. package/src/design-system/base.css +27 -0
  307. package/src/design-system/colors/color-utils.ts +110 -0
  308. package/src/design-system/colors/config.ts +282 -0
  309. package/src/design-system/colors/index.ts +2 -0
  310. package/src/design-system/colors/utilities.css +2328 -0
  311. package/src/design-system/components/badges.css +65 -0
  312. package/src/design-system/components/buttons.css +256 -0
  313. package/src/design-system/components/dialog.css +218 -0
  314. package/src/design-system/components/icon-buttons.css +115 -0
  315. package/src/design-system/components/inputs.css +94 -0
  316. package/src/design-system/components/links.css +53 -0
  317. package/src/design-system/components/prose.css +67 -0
  318. package/src/design-system/components/segment-control.css +303 -0
  319. package/src/design-system/index.css +21 -0
  320. package/src/design-system/rounded/config.ts +91 -0
  321. package/src/design-system/rounded/index.ts +1 -0
  322. package/src/design-system/rounded/utilities.css +37 -0
  323. package/src/design-system/typography/config.ts +340 -0
  324. package/src/design-system/typography/index.ts +2 -0
  325. package/src/design-system/typography/tokens.ts +148 -0
  326. package/src/design-system/typography/utilities.css +728 -0
  327. package/src/library.css +20 -0
  328. package/src/react/hooks/useCheckoutSuccessParams.ts +7 -0
  329. package/src/react/index.tsx +47 -0
  330. package/src/react/primitives/BillingGate.tsx +26 -0
  331. package/src/react/primitives/BillingToggle.tsx +29 -0
  332. package/src/react/primitives/CheckoutButton.tsx +47 -0
  333. package/src/react/primitives/CheckoutSuccessSummary.tsx +36 -0
  334. package/src/react/primitives/CustomerPortalButton.tsx +50 -0
  335. package/src/react/primitives/NumberInput.tsx +83 -0
  336. package/src/react/primitives/OneTimeCheckoutButton.tsx +27 -0
  337. package/src/react/primitives/OneTimePaymentStatusBadge.tsx +18 -0
  338. package/src/react/primitives/PaymentWarningBanner.tsx +33 -0
  339. package/src/react/primitives/PricingCard.tsx +421 -0
  340. package/src/react/primitives/PricingSection.tsx +129 -0
  341. package/src/react/primitives/ScheduledChangeBanner.tsx +52 -0
  342. package/src/react/primitives/SegmentControl.tsx +32 -0
  343. package/src/react/primitives/SegmentGroup.tsx +53 -0
  344. package/src/react/primitives/TrialLimitBanner.tsx +32 -0
  345. package/src/react/shared.ts +138 -0
  346. package/src/react/widgets/BillingPortal.tsx +56 -0
  347. package/src/react/widgets/ProductItem.tsx +26 -0
  348. package/src/react/widgets/ProductRoot.tsx +441 -0
  349. package/src/react/widgets/SubscriptionItem.tsx +71 -0
  350. package/src/react/widgets/SubscriptionRoot.tsx +759 -0
  351. package/src/react/widgets/index.ts +36 -0
  352. package/src/react/widgets/productGroupContext.ts +10 -0
  353. package/src/react/widgets/subscriptionContext.ts +10 -0
  354. package/src/react/widgets/types.ts +179 -0
  355. package/src/svelte/index.ts +43 -0
  356. package/src/svelte/primitives/BillingGate.svelte +28 -0
  357. package/src/svelte/primitives/BillingToggle.svelte +27 -0
  358. package/src/svelte/primitives/CheckoutButton.svelte +60 -0
  359. package/src/svelte/primitives/CheckoutSuccessSummary.svelte +34 -0
  360. package/src/svelte/primitives/CustomerPortalButton.svelte +60 -0
  361. package/src/svelte/primitives/NumberInput.svelte +71 -0
  362. package/src/svelte/primitives/OneTimeCheckoutButton.svelte +37 -0
  363. package/src/svelte/primitives/OneTimePaymentStatusBadge.svelte +20 -0
  364. package/src/svelte/primitives/PaymentWarningBanner.svelte +30 -0
  365. package/src/svelte/primitives/PricingCard.svelte +356 -0
  366. package/src/svelte/primitives/PricingSection.svelte +121 -0
  367. package/src/svelte/primitives/ScheduledChangeBanner.svelte +46 -0
  368. package/src/svelte/primitives/SegmentControl.svelte +38 -0
  369. package/src/svelte/primitives/SegmentGroup.svelte +52 -0
  370. package/src/svelte/primitives/TrialLimitBanner.svelte +32 -0
  371. package/src/svelte/primitives/shared.ts +113 -0
  372. package/src/svelte/svelte.d.ts +6 -0
  373. package/src/svelte/widgets/BillingPortal.svelte +55 -0
  374. package/src/svelte/widgets/Product.svelte +35 -0
  375. package/src/svelte/widgets/ProductRoot.svelte +428 -0
  376. package/src/svelte/widgets/Subscription.svelte +52 -0
  377. package/src/svelte/widgets/SubscriptionRoot.svelte +690 -0
  378. package/src/svelte/widgets/index.ts +36 -0
  379. package/src/svelte/widgets/productGroupContext.ts +7 -0
  380. package/src/svelte/widgets/subscriptionContext.ts +7 -0
  381. package/src/svelte/widgets/types.ts +179 -0
  382. package/src/tailwind.css +6 -0
  383. package/src/test.ts +18 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/component/lib.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,191 @@
1
+ declare const _default: import("convex/server").SchemaDefinition<{
2
+ customers: import("convex/server").TableDefinition<import("convex/values").VObject<{
3
+ mode?: string | undefined;
4
+ createdAt?: string | undefined;
5
+ updatedAt?: string | undefined;
6
+ email?: string | undefined;
7
+ name?: string | null | undefined;
8
+ country?: string | undefined;
9
+ metadata?: Record<string, any> | undefined;
10
+ id: string;
11
+ entityId: string;
12
+ }, {
13
+ id: import("convex/values").VString<string, "required">;
14
+ entityId: import("convex/values").VString<string, "required">;
15
+ email: import("convex/values").VString<string | undefined, "optional">;
16
+ name: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
17
+ country: import("convex/values").VString<string | undefined, "optional">;
18
+ mode: import("convex/values").VString<string | undefined, "optional">;
19
+ metadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
20
+ createdAt: import("convex/values").VString<string | undefined, "optional">;
21
+ updatedAt: import("convex/values").VString<string | undefined, "optional">;
22
+ }, "required", "id" | "mode" | "createdAt" | "updatedAt" | "entityId" | "email" | "name" | "country" | "metadata" | `metadata.${string}`>, {
23
+ entityId: ["entityId", "_creationTime"];
24
+ id: ["id", "_creationTime"];
25
+ }, {}, {}>;
26
+ products: import("convex/server").TableDefinition<import("convex/values").VObject<{
27
+ mode?: string | undefined;
28
+ metadata?: Record<string, any> | undefined;
29
+ billingPeriod?: string | undefined;
30
+ taxMode?: string | undefined;
31
+ taxCategory?: string | undefined;
32
+ imageUrl?: string | undefined;
33
+ productUrl?: string | undefined;
34
+ defaultSuccessUrl?: string | null | undefined;
35
+ features?: {
36
+ id: string;
37
+ description: string;
38
+ }[] | undefined;
39
+ id: string;
40
+ createdAt: string;
41
+ status: string;
42
+ name: string;
43
+ description: string | null;
44
+ price: number;
45
+ currency: string;
46
+ billingType: string;
47
+ modifiedAt: string | null;
48
+ }, {
49
+ id: import("convex/values").VString<string, "required">;
50
+ name: import("convex/values").VString<string, "required">;
51
+ description: import("convex/values").VUnion<string | null, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "required", never>;
52
+ price: import("convex/values").VFloat64<number, "required">;
53
+ currency: import("convex/values").VString<string, "required">;
54
+ billingType: import("convex/values").VString<string, "required">;
55
+ billingPeriod: import("convex/values").VString<string | undefined, "optional">;
56
+ status: import("convex/values").VString<string, "required">;
57
+ taxMode: import("convex/values").VString<string | undefined, "optional">;
58
+ taxCategory: import("convex/values").VString<string | undefined, "optional">;
59
+ imageUrl: import("convex/values").VString<string | undefined, "optional">;
60
+ productUrl: import("convex/values").VString<string | undefined, "optional">;
61
+ defaultSuccessUrl: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
62
+ mode: import("convex/values").VString<string | undefined, "optional">;
63
+ features: import("convex/values").VArray<{
64
+ id: string;
65
+ description: string;
66
+ }[] | undefined, import("convex/values").VObject<{
67
+ id: string;
68
+ description: string;
69
+ }, {
70
+ id: import("convex/values").VString<string, "required">;
71
+ description: import("convex/values").VString<string, "required">;
72
+ }, "required", "id" | "description">, "optional">;
73
+ metadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
74
+ createdAt: import("convex/values").VString<string, "required">;
75
+ modifiedAt: import("convex/values").VUnion<string | null, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "required", never>;
76
+ }, "required", "id" | "mode" | "createdAt" | "status" | "name" | "metadata" | `metadata.${string}` | "description" | "price" | "currency" | "billingType" | "billingPeriod" | "taxMode" | "taxCategory" | "imageUrl" | "productUrl" | "defaultSuccessUrl" | "features" | "modifiedAt">, {
77
+ id: ["id", "_creationTime"];
78
+ status: ["status", "_creationTime"];
79
+ }, {}, {}>;
80
+ subscriptions: import("convex/server").TableDefinition<import("convex/values").VObject<{
81
+ mode?: string | undefined;
82
+ collectionMethod?: string | undefined;
83
+ priceId?: string | undefined;
84
+ discountId?: string | null | undefined;
85
+ canceledAt?: string | null | undefined;
86
+ endsAt?: string | null | undefined;
87
+ trialStart?: string | null | undefined;
88
+ trialEnd?: string | null | undefined;
89
+ seats?: number | null | undefined;
90
+ lastTransactionId?: string | null | undefined;
91
+ nextTransactionDate?: string | null | undefined;
92
+ id: string;
93
+ createdAt: string;
94
+ status: string;
95
+ metadata: Record<string, any>;
96
+ currency: string | null;
97
+ modifiedAt: string | null;
98
+ recurringInterval: string | null;
99
+ customerId: string;
100
+ productId: string;
101
+ amount: number | null;
102
+ currentPeriodStart: string;
103
+ currentPeriodEnd: string | null;
104
+ cancelAtPeriodEnd: boolean;
105
+ startedAt: string | null;
106
+ endedAt: string | null;
107
+ checkoutId: string | null;
108
+ }, {
109
+ id: import("convex/values").VString<string, "required">;
110
+ customerId: import("convex/values").VString<string, "required">;
111
+ productId: import("convex/values").VString<string, "required">;
112
+ status: import("convex/values").VString<string, "required">;
113
+ amount: import("convex/values").VUnion<number | null, [import("convex/values").VFloat64<number, "required">, import("convex/values").VNull<null, "required">], "required", never>;
114
+ currency: import("convex/values").VUnion<string | null, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "required", never>;
115
+ recurringInterval: import("convex/values").VUnion<string | null, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "required", never>;
116
+ currentPeriodStart: import("convex/values").VString<string, "required">;
117
+ currentPeriodEnd: import("convex/values").VUnion<string | null, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "required", never>;
118
+ cancelAtPeriodEnd: import("convex/values").VBoolean<boolean, "required">;
119
+ startedAt: import("convex/values").VUnion<string | null, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "required", never>;
120
+ endedAt: import("convex/values").VUnion<string | null, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "required", never>;
121
+ priceId: import("convex/values").VString<string | undefined, "optional">;
122
+ checkoutId: import("convex/values").VUnion<string | null, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "required", never>;
123
+ metadata: import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>;
124
+ collectionMethod: import("convex/values").VString<string | undefined, "optional">;
125
+ discountId: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
126
+ canceledAt: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
127
+ endsAt: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
128
+ trialStart: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
129
+ trialEnd: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
130
+ seats: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VFloat64<number, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
131
+ lastTransactionId: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
132
+ nextTransactionDate: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
133
+ mode: import("convex/values").VString<string | undefined, "optional">;
134
+ createdAt: import("convex/values").VString<string, "required">;
135
+ modifiedAt: import("convex/values").VUnion<string | null, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "required", never>;
136
+ }, "required", "id" | "mode" | "createdAt" | "collectionMethod" | "status" | "metadata" | `metadata.${string}` | "currency" | "modifiedAt" | "recurringInterval" | "customerId" | "productId" | "amount" | "currentPeriodStart" | "currentPeriodEnd" | "cancelAtPeriodEnd" | "startedAt" | "endedAt" | "priceId" | "checkoutId" | "discountId" | "canceledAt" | "endsAt" | "trialStart" | "trialEnd" | "seats" | "lastTransactionId" | "nextTransactionDate">, {
137
+ id: ["id", "_creationTime"];
138
+ customerId: ["customerId", "_creationTime"];
139
+ customerId_status: ["customerId", "status", "_creationTime"];
140
+ customerId_endedAt: ["customerId", "endedAt", "_creationTime"];
141
+ }, {}, {}>;
142
+ orders: import("convex/server").TableDefinition<import("convex/values").VObject<{
143
+ mode?: string | undefined;
144
+ metadata?: Record<string, any> | undefined;
145
+ checkoutId?: string | null | undefined;
146
+ discountId?: string | null | undefined;
147
+ subTotal?: number | undefined;
148
+ taxAmount?: number | undefined;
149
+ discountAmount?: number | undefined;
150
+ amountDue?: number | undefined;
151
+ amountPaid?: number | undefined;
152
+ transactionId?: string | null | undefined;
153
+ affiliate?: string | null | undefined;
154
+ id: string;
155
+ createdAt: string;
156
+ updatedAt: string;
157
+ status: string;
158
+ type: string;
159
+ currency: string;
160
+ customerId: string;
161
+ productId: string;
162
+ amount: number;
163
+ }, {
164
+ id: import("convex/values").VString<string, "required">;
165
+ customerId: import("convex/values").VString<string, "required">;
166
+ productId: import("convex/values").VString<string, "required">;
167
+ amount: import("convex/values").VFloat64<number, "required">;
168
+ currency: import("convex/values").VString<string, "required">;
169
+ status: import("convex/values").VString<string, "required">;
170
+ type: import("convex/values").VString<string, "required">;
171
+ subTotal: import("convex/values").VFloat64<number | undefined, "optional">;
172
+ taxAmount: import("convex/values").VFloat64<number | undefined, "optional">;
173
+ discountAmount: import("convex/values").VFloat64<number | undefined, "optional">;
174
+ amountDue: import("convex/values").VFloat64<number | undefined, "optional">;
175
+ amountPaid: import("convex/values").VFloat64<number | undefined, "optional">;
176
+ transactionId: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
177
+ checkoutId: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
178
+ discountId: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
179
+ affiliate: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VString<string, "required">, import("convex/values").VNull<null, "required">], "optional", never>;
180
+ mode: import("convex/values").VString<string | undefined, "optional">;
181
+ metadata: import("convex/values").VRecord<Record<string, any> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "optional", string>;
182
+ createdAt: import("convex/values").VString<string, "required">;
183
+ updatedAt: import("convex/values").VString<string, "required">;
184
+ }, "required", "id" | "mode" | "createdAt" | "updatedAt" | "status" | "type" | "metadata" | `metadata.${string}` | "currency" | "customerId" | "productId" | "amount" | "checkoutId" | "discountId" | "subTotal" | "taxAmount" | "discountAmount" | "amountDue" | "amountPaid" | "transactionId" | "affiliate">, {
185
+ id: ["id", "_creationTime"];
186
+ customerId: ["customerId", "_creationTime"];
187
+ customerId_productId: ["customerId", "productId", "_creationTime"];
188
+ }, {}, {}>;
189
+ }, true>;
190
+ export default _default;
191
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBA0GE"}
@@ -0,0 +1,104 @@
1
+ import { defineSchema, defineTable } from "convex/server";
2
+ import { v } from "convex/values";
3
+ const vNullableString = v.union(v.string(), v.null());
4
+ export default defineSchema({
5
+ customers: defineTable({
6
+ id: v.string(),
7
+ entityId: v.string(),
8
+ email: v.optional(v.string()),
9
+ name: v.optional(vNullableString),
10
+ country: v.optional(v.string()),
11
+ mode: v.optional(v.string()),
12
+ metadata: v.optional(v.record(v.string(), v.any())),
13
+ createdAt: v.optional(v.string()),
14
+ updatedAt: v.optional(v.string()),
15
+ })
16
+ .index("entityId", ["entityId"])
17
+ .index("id", ["id"]),
18
+ products: defineTable({
19
+ id: v.string(),
20
+ name: v.string(),
21
+ description: v.union(v.string(), v.null()),
22
+ price: v.number(),
23
+ currency: v.string(),
24
+ billingType: v.string(),
25
+ billingPeriod: v.optional(v.string()),
26
+ status: v.string(),
27
+ taxMode: v.optional(v.string()),
28
+ taxCategory: v.optional(v.string()),
29
+ imageUrl: v.optional(v.string()),
30
+ productUrl: v.optional(v.string()),
31
+ defaultSuccessUrl: v.optional(vNullableString),
32
+ mode: v.optional(v.string()),
33
+ features: v.optional(v.array(v.object({
34
+ id: v.string(),
35
+ description: v.string(),
36
+ }))),
37
+ metadata: v.optional(v.record(v.string(), v.any())),
38
+ createdAt: v.string(),
39
+ modifiedAt: v.union(v.string(), v.null()),
40
+ })
41
+ .index("id", ["id"])
42
+ .index("status", ["status"]),
43
+ subscriptions: defineTable({
44
+ id: v.string(),
45
+ customerId: v.string(),
46
+ productId: v.string(),
47
+ status: v.string(),
48
+ amount: v.union(v.number(), v.null()),
49
+ currency: v.union(v.string(), v.null()),
50
+ recurringInterval: vNullableString,
51
+ currentPeriodStart: v.string(),
52
+ currentPeriodEnd: v.union(v.string(), v.null()),
53
+ cancelAtPeriodEnd: v.boolean(),
54
+ startedAt: v.union(v.string(), v.null()),
55
+ endedAt: v.union(v.string(), v.null()),
56
+ priceId: v.optional(v.string()),
57
+ checkoutId: v.union(v.string(), v.null()),
58
+ metadata: v.record(v.string(), v.any()),
59
+ collectionMethod: v.optional(v.string()),
60
+ discountId: v.optional(v.union(v.string(), v.null())),
61
+ canceledAt: v.optional(v.union(v.string(), v.null())),
62
+ endsAt: v.optional(v.union(v.string(), v.null())),
63
+ trialStart: v.optional(v.union(v.string(), v.null())),
64
+ trialEnd: v.optional(v.union(v.string(), v.null())),
65
+ seats: v.optional(v.union(v.number(), v.null())),
66
+ lastTransactionId: v.optional(v.union(v.string(), v.null())),
67
+ nextTransactionDate: v.optional(v.union(v.string(), v.null())),
68
+ mode: v.optional(v.string()),
69
+ createdAt: v.string(),
70
+ modifiedAt: v.union(v.string(), v.null()),
71
+ })
72
+ .index("id", ["id"])
73
+ .index("customerId", ["customerId"])
74
+ .index("customerId_status", ["customerId", "status"])
75
+ .index("customerId_endedAt", ["customerId", "endedAt"]),
76
+ orders: defineTable({
77
+ id: v.string(),
78
+ customerId: v.string(),
79
+ productId: v.string(),
80
+ amount: v.number(),
81
+ currency: v.string(),
82
+ status: v.string(),
83
+ type: v.string(),
84
+ subTotal: v.optional(v.number()),
85
+ taxAmount: v.optional(v.number()),
86
+ discountAmount: v.optional(v.number()),
87
+ amountDue: v.optional(v.number()),
88
+ amountPaid: v.optional(v.number()),
89
+ transactionId: v.optional(v.union(v.string(), v.null())),
90
+ checkoutId: v.optional(v.union(v.string(), v.null())),
91
+ discountId: v.optional(v.union(v.string(), v.null())),
92
+ affiliate: v.optional(v.union(v.string(), v.null())),
93
+ mode: v.optional(v.string()),
94
+ metadata: v.optional(v.record(v.string(), v.any())),
95
+ createdAt: v.string(),
96
+ updatedAt: v.string(),
97
+ })
98
+ .index("id", ["id"])
99
+ .index("customerId", ["customerId"])
100
+ .index("customerId_productId", ["customerId", "productId"]),
101
+ }, {
102
+ schemaValidation: true,
103
+ });
104
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/component/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import type { GenericMutationCtx, GenericActionCtx, GenericQueryCtx, GenericDataModel } from "convex/server";
2
+ import type { ProductEntity as CreemProduct, SubscriptionEntity as CreemSubscription } from "creem/models/components";
3
+ import { type Infer } from "convex/values";
4
+ import type schema from "./schema.js";
5
+ /** Minimal context type for Convex functions that only need `runQuery`. */
6
+ export type RunQueryCtx = {
7
+ runQuery: GenericQueryCtx<GenericDataModel>["runQuery"];
8
+ };
9
+ /** Minimal context type for Convex functions that need `runQuery` + `runMutation`. */
10
+ export type RunMutationCtx = {
11
+ runQuery: GenericQueryCtx<GenericDataModel>["runQuery"];
12
+ runMutation: GenericMutationCtx<GenericDataModel>["runMutation"];
13
+ };
14
+ /** Mutation context that also includes `scheduler` for scheduling async follow-up actions. */
15
+ export type RunSchedulerMutationCtx = RunMutationCtx & {
16
+ scheduler: GenericMutationCtx<GenericDataModel>["scheduler"];
17
+ };
18
+ /** Minimal context type for Convex actions that need `runQuery` + `runMutation` + `runAction`. */
19
+ export type RunActionCtx = {
20
+ runQuery: GenericQueryCtx<GenericDataModel>["runQuery"];
21
+ runMutation: GenericMutationCtx<GenericDataModel>["runMutation"];
22
+ runAction: GenericActionCtx<GenericDataModel>["runAction"];
23
+ };
24
+ /** Convert a Creem SDK `SubscriptionEntity` to the Convex DB subscription schema shape. Handles snake_case/camelCase, metadata recovery, and trial/cancel state. */
25
+ export declare const convertToDatabaseSubscription: (subscription: CreemSubscription, options?: {
26
+ rawMetadata?: Record<string, unknown>;
27
+ }) => Infer<typeof schema.tables.subscriptions.validator>;
28
+ /** Convert a raw order object (from checkout webhook) to the Convex DB order schema shape. Handles both snake_case and camelCase field names. */
29
+ export declare const convertToOrder: (order: {
30
+ id: string;
31
+ customer?: string | null;
32
+ product: string;
33
+ amount: number;
34
+ currency: string;
35
+ status: string;
36
+ type: string;
37
+ transaction?: string | null;
38
+ sub_total?: number;
39
+ subTotal?: number;
40
+ tax_amount?: number;
41
+ taxAmount?: number;
42
+ discount_amount?: number;
43
+ discountAmount?: number;
44
+ amount_due?: number;
45
+ amountDue?: number;
46
+ amount_paid?: number;
47
+ amountPaid?: number;
48
+ discount?: string | null;
49
+ affiliate?: string | null;
50
+ mode?: string;
51
+ createdAt?: Date | string | null;
52
+ updatedAt?: Date | string | null;
53
+ created_at?: string | null;
54
+ updated_at?: string | null;
55
+ }, options?: {
56
+ checkoutId?: string | null;
57
+ metadata?: Record<string, unknown>;
58
+ }) => Infer<typeof schema.tables.orders.validator>;
59
+ /** Convert a Creem SDK `ProductEntity` to the Convex DB product schema shape. */
60
+ export declare const convertToDatabaseProduct: (product: CreemProduct) => Infer<typeof schema.tables.products.validator>;
61
+ //# sourceMappingURL=util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/component/util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,142 @@
1
+ import { ConvexError } from "convex/values";
2
+ const toIsoString = (value) => {
3
+ if (!value) {
4
+ return null;
5
+ }
6
+ if (value instanceof Date) {
7
+ return value.toISOString();
8
+ }
9
+ if (typeof value === "string") {
10
+ return value;
11
+ }
12
+ return null;
13
+ };
14
+ const toIsoStringOrNow = (value) => {
15
+ return toIsoString(value) ?? new Date().toISOString();
16
+ };
17
+ const entityId = (value) => {
18
+ if (typeof value === "string") {
19
+ return value;
20
+ }
21
+ if (value && typeof value === "object" && "id" in value) {
22
+ const id = value.id;
23
+ if (typeof id === "string") {
24
+ return id;
25
+ }
26
+ }
27
+ return null;
28
+ };
29
+ /** Convert a Creem SDK `SubscriptionEntity` to the Convex DB subscription schema shape. Handles snake_case/camelCase, metadata recovery, and trial/cancel state. */
30
+ export const convertToDatabaseSubscription = (subscription, options) => {
31
+ const customerId = entityId(subscription.customer);
32
+ if (!customerId) {
33
+ throw new ConvexError("Creem subscription is missing customer id");
34
+ }
35
+ const productId = entityId(subscription.product) ??
36
+ subscription.items?.[0]?.productId ??
37
+ null;
38
+ if (!productId) {
39
+ throw new ConvexError("Creem subscription is missing product id");
40
+ }
41
+ const product = typeof subscription.product === "object" && subscription.product
42
+ ? subscription.product
43
+ : null;
44
+ const now = new Date().toISOString();
45
+ const periodStartStr = toIsoString(subscription.currentPeriodStartDate);
46
+ const periodEndStr = toIsoString(subscription.currentPeriodEndDate);
47
+ // Only `scheduled_cancel` is the resumable cancel-at-period-end state.
48
+ // `canceled` means truly ended (even if currentPeriodEnd is in the future).
49
+ const isScheduledCancel = subscription.status === "scheduled_cancel";
50
+ const isTrialing = subscription.status === "trialing";
51
+ // SDK's SubscriptionEntity type does not include `metadata` — zod strips it.
52
+ // Accept rawMetadata from the caller (extracted from the raw webhook object).
53
+ const metadata = options?.rawMetadata ??
54
+ subscription.metadata ??
55
+ {};
56
+ return {
57
+ id: subscription.id,
58
+ customerId,
59
+ productId,
60
+ status: subscription.status,
61
+ amount: product?.price ?? null,
62
+ currency: product?.currency ?? null,
63
+ recurringInterval: product?.billingPeriod ?? null,
64
+ currentPeriodStart: periodStartStr ?? toIsoStringOrNow(subscription.createdAt),
65
+ currentPeriodEnd: periodEndStr,
66
+ cancelAtPeriodEnd: isScheduledCancel,
67
+ startedAt: periodStartStr ?? toIsoString(subscription.createdAt),
68
+ endedAt: subscription.status === "canceled"
69
+ ? (toIsoString(subscription.canceledAt) ?? now)
70
+ : null,
71
+ checkoutId: null,
72
+ metadata,
73
+ collectionMethod: subscription.collectionMethod ??
74
+ "charge_automatically",
75
+ discountId: subscription.discount?.id ?? null,
76
+ canceledAt: toIsoString(subscription.canceledAt),
77
+ endsAt: isScheduledCancel ? periodEndStr : null,
78
+ // Fix: populate trial dates from period dates when status is trialing
79
+ trialStart: isTrialing ? periodStartStr : null,
80
+ trialEnd: isTrialing ? periodEndStr : null,
81
+ seats: subscription.items?.[0]?.units ?? null,
82
+ lastTransactionId: subscription.lastTransactionId ?? null,
83
+ nextTransactionDate: toIsoString(subscription.nextTransactionDate),
84
+ mode: subscription.mode,
85
+ priceId: subscription.items?.[0]?.priceId,
86
+ createdAt: toIsoStringOrNow(subscription.createdAt),
87
+ modifiedAt: toIsoString(subscription.updatedAt),
88
+ };
89
+ };
90
+ /** Convert a raw order object (from checkout webhook) to the Convex DB order schema shape. Handles both snake_case and camelCase field names. */
91
+ export const convertToOrder = (order, options) => {
92
+ const now = new Date().toISOString();
93
+ return {
94
+ id: order.id,
95
+ customerId: order.customer ?? "",
96
+ productId: order.product,
97
+ amount: order.amount,
98
+ currency: order.currency,
99
+ status: order.status,
100
+ type: order.type,
101
+ subTotal: order.subTotal ?? order.sub_total,
102
+ taxAmount: order.taxAmount ?? order.tax_amount,
103
+ discountAmount: order.discountAmount ?? order.discount_amount,
104
+ amountDue: order.amountDue ?? order.amount_due,
105
+ amountPaid: order.amountPaid ?? order.amount_paid,
106
+ transactionId: order.transaction ?? null,
107
+ checkoutId: options?.checkoutId ?? null,
108
+ discountId: order.discount ?? null,
109
+ affiliate: order.affiliate ?? null,
110
+ mode: order.mode,
111
+ metadata: options?.metadata ?? undefined,
112
+ createdAt: toIsoString(order.createdAt) ?? toIsoString(order.created_at) ?? now,
113
+ updatedAt: toIsoString(order.updatedAt) ?? toIsoString(order.updated_at) ?? now,
114
+ };
115
+ };
116
+ /** Convert a Creem SDK `ProductEntity` to the Convex DB product schema shape. */
117
+ export const convertToDatabaseProduct = (product) => {
118
+ return {
119
+ id: product.id,
120
+ name: product.name,
121
+ description: product.description,
122
+ price: product.price,
123
+ currency: product.currency,
124
+ billingType: product.billingType,
125
+ billingPeriod: product.billingPeriod,
126
+ status: product.status,
127
+ taxMode: product.taxMode,
128
+ taxCategory: product.taxCategory,
129
+ imageUrl: product.imageUrl,
130
+ productUrl: product.productUrl,
131
+ defaultSuccessUrl: product.defaultSuccessUrl,
132
+ mode: product.mode,
133
+ features: product.features?.map((f) => ({
134
+ id: f.id,
135
+ description: f.description,
136
+ })),
137
+ metadata: {},
138
+ createdAt: toIsoStringOrNow(product.createdAt),
139
+ modifiedAt: toIsoString(product.updatedAt),
140
+ };
141
+ };
142
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/component/util.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { BillingType, PlanCatalog, PlanCatalogEntry, PlanCategory, RecurringCycle, SupportedRecurringCycle } from "./types.js";
2
+ /** All billing cycles supported by the Creem API, in display order. */
3
+ export declare const SUPPORTED_RECURRING_CYCLES: SupportedRecurringCycle[];
4
+ /** Type guard: check if a string is a supported Creem billing cycle. */
5
+ export declare const isSupportedRecurringCycle: (value: string) => value is SupportedRecurringCycle;
6
+ /** Normalize a billing cycle string to a `RecurringCycle`. Returns `"custom"` for unrecognized values, `undefined` for nullish. */
7
+ export declare const normalizeRecurringCycle: (value: string | null | undefined) => RecurringCycle | undefined;
8
+ /** Normalize a plan category string. Returns `"custom"` for unrecognized or nullish values. */
9
+ export declare const normalizePlanCategory: (value: string | null | undefined) => PlanCategory;
10
+ /** Normalize a billing type string. Returns `"custom"` for unrecognized or nullish values. */
11
+ export declare const normalizeBillingType: (value: string | null | undefined) => BillingType;
12
+ /** Normalize all entries in a plan catalog (categories, billing types, cycles). Returns `undefined` for nullish input. */
13
+ export declare const normalizePlanCatalog: (catalog: PlanCatalog | null | undefined) => PlanCatalog | undefined;
14
+ /** Find a plan in the catalog by its `planId`. */
15
+ export declare const findPlanById: (catalog: PlanCatalog | undefined, planId: string) => PlanCatalogEntry | undefined;
16
+ /** Find a plan in the catalog that contains the given Creem product ID in its `creemProductIds`. */
17
+ export declare const findPlanByProductId: (catalog: PlanCatalog | undefined, productId: string | undefined) => PlanCatalogEntry | undefined;
18
+ //# sourceMappingURL=catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/core/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAEpB,uEAAuE;AACvE,eAAO,MAAM,0BAA0B,EAAE,uBAAuB,EAK/D,CAAC;AAgBF,wEAAwE;AACxE,eAAO,MAAM,yBAAyB,GACpC,OAAO,MAAM,KACZ,KAAK,IAAI,uBAC+C,CAAC;AAE5D,mIAAmI;AACnI,eAAO,MAAM,uBAAuB,GAClC,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAC/B,cAAc,GAAG,SAQnB,CAAC;AAEF,+FAA+F;AAC/F,eAAO,MAAM,qBAAqB,GAChC,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAC/B,YAQF,CAAC;AAEF,8FAA8F;AAC9F,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,GAAG,IAAI,GAAG,SAAS,KAC/B,WAQF,CAAC;AAEF,0HAA0H;AAC1H,eAAO,MAAM,oBAAoB,GAC/B,SAAS,WAAW,GAAG,IAAI,GAAG,SAAS,KACtC,WAAW,GAAG,SAehB,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,YAAY,GACvB,SAAS,WAAW,GAAG,SAAS,EAChC,QAAQ,MAAM,KACb,gBAAgB,GAAG,SAKrB,CAAC;AAEF,oGAAoG;AACpG,eAAO,MAAM,mBAAmB,GAC9B,SAAS,WAAW,GAAG,SAAS,EAChC,WAAW,MAAM,GAAG,SAAS,KAC5B,gBAAgB,GAAG,SAOrB,CAAC"}