@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,405 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState, useCallback, useMemo, useEffect, useRef, } from "react";
3
+ import { useQuery, useConvex } from "convex/react";
4
+ import { Dialog } from "@ark-ui/react/dialog";
5
+ import { Portal } from "@ark-ui/react/portal";
6
+ import { PricingSection } from "../primitives/PricingSection.js";
7
+ import { PaymentWarningBanner } from "../primitives/PaymentWarningBanner.js";
8
+ import { ScheduledChangeBanner } from "../primitives/ScheduledChangeBanner.js";
9
+ import { SubscriptionContext } from "./subscriptionContext.js";
10
+ import { pendingCheckout } from "../../core/pendingCheckout.js";
11
+ import { buildUpdateSummary } from "../../core/subscriptionUpdate.js";
12
+ import { formatPriceWithInterval, formatSeatPrice } from "../shared.js";
13
+ export const SubscriptionRoot = ({ api, permissions, className = "", successUrl, units, showSeatPicker = false, twoColumnLayout = false, updateBehavior = "proration-charge-immediately", onBeforeCheckout, children, }) => {
14
+ const canChange = permissions?.canChangeSubscription !== false;
15
+ const canCancel = permissions?.canCancelSubscription !== false;
16
+ const canResume = permissions?.canResumeSubscription !== false;
17
+ const client = useConvex();
18
+ const billingUiModelRef = api.uiModel;
19
+ const checkoutLinkRef = api.checkouts.create;
20
+ const updateRef = api.subscriptions?.update;
21
+ const cancelRef = api.subscriptions?.cancel;
22
+ const resumeRef = api.subscriptions?.resume;
23
+ const modelRaw = useQuery(billingUiModelRef, {});
24
+ const model = (modelRaw ?? null);
25
+ const [selectedCycle, setSelectedCycle] = useState("every-month");
26
+ const [isActionLoading, setIsActionLoading] = useState(false);
27
+ const [actionError, setActionError] = useState(null);
28
+ const [updateDialogOpen, setUpdateDialogOpen] = useState(false);
29
+ const [pendingUpdate, setPendingUpdate] = useState(null);
30
+ const [cancelDialogOpen, setCancelDialogOpen] = useState(false);
31
+ const [registeredPlans, setRegisteredPlans] = useState([]);
32
+ const contextValue = useMemo(() => ({
33
+ registerPlan: (plan) => {
34
+ setRegisteredPlans((prev) => [
35
+ ...prev.filter((c) => c.planId !== plan.planId),
36
+ plan,
37
+ ]);
38
+ return () => {
39
+ setRegisteredPlans((prev) => prev.filter((c) => c.planId !== plan.planId));
40
+ };
41
+ },
42
+ }), []);
43
+ const allProducts = useMemo(() => model?.allProducts ?? [], [model?.allProducts]);
44
+ const plans = useMemo(() => {
45
+ return registeredPlans.map((plan) => {
46
+ const productIds = plan.productIds ?? {};
47
+ const firstProductId = Object.values(productIds)[0];
48
+ const firstProduct = firstProductId
49
+ ? allProducts.find((p) => p.id === firstProductId)
50
+ : undefined;
51
+ const cycleKeys = Object.keys(productIds).filter((k) => k !== "custom");
52
+ const entry = {
53
+ planId: plan.planId,
54
+ category: plan.type === "free"
55
+ ? "free"
56
+ : plan.type === "enterprise"
57
+ ? "enterprise"
58
+ : "paid",
59
+ billingType: plan.type === "free" || plan.type === "enterprise"
60
+ ? "custom"
61
+ : "recurring",
62
+ pricingModel: plan.type === "seat-based" ? "seat" : "flat",
63
+ title: plan.title ??
64
+ firstProduct?.name ??
65
+ plan.planId.charAt(0).toUpperCase() + plan.planId.slice(1),
66
+ description: plan.description ?? firstProduct?.description ?? undefined,
67
+ contactUrl: plan.contactUrl,
68
+ recommended: plan.recommended,
69
+ creemProductIds: Object.keys(productIds).length > 0
70
+ ? productIds
71
+ : undefined,
72
+ };
73
+ if (cycleKeys.length > 0) {
74
+ entry.billingCycles = cycleKeys;
75
+ }
76
+ return entry;
77
+ });
78
+ }, [registeredPlans, allProducts]);
79
+ // Collect all product IDs that belong to plans in THIS component instance
80
+ const ownProductIds = useMemo(() => {
81
+ const ids = new Set();
82
+ for (const plan of plans) {
83
+ if (plan.creemProductIds) {
84
+ for (const pid of Object.values(plan.creemProductIds)) {
85
+ if (pid)
86
+ ids.add(pid);
87
+ }
88
+ }
89
+ }
90
+ return ids;
91
+ }, [plans]);
92
+ // Find the subscription from activeSubscriptions that belongs to THIS component
93
+ const matchedSubscription = useMemo(() => {
94
+ const subs = model?.activeSubscriptions;
95
+ if (!subs || ownProductIds.size === 0)
96
+ return null;
97
+ return subs.find((s) => ownProductIds.has(s.productId)) ?? null;
98
+ }, [model?.activeSubscriptions, ownProductIds]);
99
+ const ownsActiveSubscription = matchedSubscription != null;
100
+ const localSubscriptionProductId = matchedSubscription?.productId ?? null;
101
+ const localCancelAtPeriodEnd = matchedSubscription?.cancelAtPeriodEnd ?? false;
102
+ const localCurrentPeriodEnd = matchedSubscription?.currentPeriodEnd ?? null;
103
+ const localSubscriptionState = matchedSubscription?.status ?? null;
104
+ const localSubscribedSeats = matchedSubscription?.seats ?? null;
105
+ const snapshot = model?.billingSnapshot ?? null;
106
+ const canCheckout = !model?.user && onBeforeCheckout != null
107
+ ? true
108
+ : permissions?.canCheckout !== false;
109
+ const canUpdateSeats = !model?.user && onBeforeCheckout != null
110
+ ? true
111
+ : permissions?.canUpdateSeats !== false;
112
+ const activePlanId = useMemo(() => {
113
+ if (!model)
114
+ return null;
115
+ const subProductId = localSubscriptionProductId;
116
+ if (subProductId) {
117
+ const matchedPlan = registeredPlans.find((plan) => {
118
+ const values = Object.values(plan.productIds ?? {}).filter(Boolean);
119
+ return values.includes(subProductId);
120
+ });
121
+ return matchedPlan?.planId ?? null;
122
+ }
123
+ if (model.user) {
124
+ const freePlan = plans.find((p) => p.category === "free");
125
+ if (freePlan)
126
+ return freePlan.planId;
127
+ }
128
+ return null;
129
+ }, [model, localSubscriptionProductId, registeredPlans, plans]);
130
+ // Pending checkout resume after auth
131
+ const pendingCheckoutHandled = useRef(false);
132
+ useEffect(() => {
133
+ if (!model?.user || pendingCheckoutHandled.current)
134
+ return;
135
+ pendingCheckoutHandled.current = true;
136
+ const pending = pendingCheckout.load();
137
+ if (!pending)
138
+ return;
139
+ if ((model.activeSubscriptions ?? []).length > 0) {
140
+ pendingCheckout.clear();
141
+ return;
142
+ }
143
+ startCheckout(pending.productId, pending.units);
144
+ // eslint-disable-next-line react-hooks/exhaustive-deps
145
+ }, [model?.user]);
146
+ const getFallbackSuccessUrl = () => {
147
+ if (typeof window === "undefined")
148
+ return undefined;
149
+ return `${window.location.origin}${window.location.pathname}`;
150
+ };
151
+ const getPreferredTheme = () => {
152
+ if (typeof window === "undefined")
153
+ return "light";
154
+ return window.matchMedia("(prefers-color-scheme: dark)").matches
155
+ ? "dark"
156
+ : "light";
157
+ };
158
+ const startCheckout = useCallback(async (productId, checkoutUnits) => {
159
+ if (onBeforeCheckout) {
160
+ const proceed = await onBeforeCheckout({
161
+ productId,
162
+ units: checkoutUnits,
163
+ });
164
+ if (!proceed)
165
+ return;
166
+ }
167
+ setIsActionLoading(true);
168
+ setActionError(null);
169
+ try {
170
+ const { url } = await client.action(checkoutLinkRef, {
171
+ productId,
172
+ ...(successUrl ? { successUrl } : {}),
173
+ fallbackSuccessUrl: getFallbackSuccessUrl(),
174
+ theme: getPreferredTheme(),
175
+ ...(checkoutUnits != null ? { units: checkoutUnits } : {}),
176
+ });
177
+ // Suppress Convex client's beforeunload dialog during checkout redirect.
178
+ // Convex registers via addEventListener, so onbeforeunload=null has no effect.
179
+ // A capture-phase listener fires before non-capture listeners on the same target
180
+ // in modern browsers, and stopImmediatePropagation() blocks all subsequent handlers.
181
+ window.addEventListener("beforeunload", (e) => {
182
+ e.stopImmediatePropagation();
183
+ }, { capture: true, once: true });
184
+ window.location.href = url;
185
+ window.location.href = url;
186
+ }
187
+ catch (error) {
188
+ setActionError(error instanceof Error ? error.message : "Checkout failed");
189
+ }
190
+ finally {
191
+ setIsActionLoading(false);
192
+ }
193
+ }, [client, checkoutLinkRef, successUrl, onBeforeCheckout]);
194
+ const handlePricingCheckout = useCallback(async (payload) => {
195
+ await startCheckout(payload.productId, payload.units);
196
+ }, [startCheckout]);
197
+ const requestSwitchPlan = useCallback((payload) => {
198
+ setPendingUpdate({ kind: "plan-switch", ...payload });
199
+ setUpdateDialogOpen(true);
200
+ }, []);
201
+ const confirmUpdate = useCallback(async () => {
202
+ if (!updateRef || !pendingUpdate)
203
+ return;
204
+ const update = pendingUpdate;
205
+ const subId = matchedSubscription?.id;
206
+ setUpdateDialogOpen(false);
207
+ setPendingUpdate(null);
208
+ setActionError(null);
209
+ try {
210
+ if (update.kind === "plan-switch") {
211
+ await client.mutation(updateRef, {
212
+ productId: update.productId,
213
+ ...(subId ? { subscriptionId: subId } : {}),
214
+ updateBehavior,
215
+ }, {
216
+ optimisticUpdate: (store) => {
217
+ const current = store.getQuery(billingUiModelRef, {});
218
+ if (current) {
219
+ const m = current;
220
+ store.setQuery(billingUiModelRef, {}, {
221
+ ...m,
222
+ activeSubscriptions: (m.activeSubscriptions ?? []).map((s) => ownProductIds.has(s.productId)
223
+ ? { ...s, productId: update.productId }
224
+ : s),
225
+ });
226
+ }
227
+ },
228
+ });
229
+ }
230
+ else {
231
+ await client.mutation(updateRef, {
232
+ units: update.units,
233
+ ...(subId ? { subscriptionId: subId } : {}),
234
+ updateBehavior,
235
+ }, {
236
+ optimisticUpdate: (store) => {
237
+ const current = store.getQuery(billingUiModelRef, {});
238
+ if (current) {
239
+ const m = current;
240
+ store.setQuery(billingUiModelRef, {}, {
241
+ ...m,
242
+ activeSubscriptions: (m.activeSubscriptions ?? []).map((s) => s.id === subId ? { ...s, seats: update.units } : s),
243
+ });
244
+ }
245
+ },
246
+ });
247
+ }
248
+ }
249
+ catch (error) {
250
+ setActionError(error instanceof Error
251
+ ? error.message
252
+ : update.kind === "plan-switch"
253
+ ? "Switch failed"
254
+ : "Seat update failed");
255
+ }
256
+ }, [
257
+ updateRef,
258
+ pendingUpdate,
259
+ matchedSubscription,
260
+ client,
261
+ billingUiModelRef,
262
+ ownProductIds,
263
+ updateBehavior,
264
+ ]);
265
+ const handleUpdateSeats = useCallback((payload) => {
266
+ setPendingUpdate({ kind: "seat-update", units: payload.units });
267
+ setUpdateDialogOpen(true);
268
+ }, []);
269
+ const updateSummary = useMemo(() => {
270
+ if (!pendingUpdate)
271
+ return null;
272
+ if (pendingUpdate.kind === "plan-switch") {
273
+ const currentPlan = plans.find((p) => {
274
+ const pids = p.creemProductIds ? Object.values(p.creemProductIds) : [];
275
+ return (localSubscriptionProductId != null &&
276
+ pids.includes(localSubscriptionProductId));
277
+ });
278
+ const currentTitle = currentPlan?.title ?? "Current plan";
279
+ const currentPrice = formatPriceWithInterval(localSubscriptionProductId ?? undefined, allProducts);
280
+ const newPrice = formatPriceWithInterval(pendingUpdate.productId, allProducts);
281
+ return buildUpdateSummary({
282
+ kind: "plan-switch",
283
+ updateBehavior,
284
+ currentLabel: currentPrice
285
+ ? `${currentTitle} \u00b7 ${currentPrice}`
286
+ : currentTitle,
287
+ newLabel: newPrice
288
+ ? `${pendingUpdate.plan.title ?? "New plan"} \u00b7 ${newPrice}`
289
+ : (pendingUpdate.plan.title ?? "New plan"),
290
+ currentPeriodEnd: matchedSubscription?.currentPeriodEnd,
291
+ isTrialing: matchedSubscription?.status === "trialing",
292
+ trialEnd: matchedSubscription?.trialEnd,
293
+ });
294
+ }
295
+ const currentSeats = localSubscribedSeats ?? 1;
296
+ const currentPrice = formatSeatPrice(localSubscriptionProductId ?? undefined, allProducts, currentSeats);
297
+ const newPrice = formatSeatPrice(localSubscriptionProductId ?? undefined, allProducts, pendingUpdate.units);
298
+ return buildUpdateSummary({
299
+ kind: "seat-update",
300
+ updateBehavior,
301
+ currentLabel: currentPrice ?? `${currentSeats} seat${currentSeats !== 1 ? "s" : ""}`,
302
+ newLabel: newPrice ??
303
+ `${pendingUpdate.units} seat${pendingUpdate.units !== 1 ? "s" : ""}`,
304
+ currentPeriodEnd: matchedSubscription?.currentPeriodEnd,
305
+ isTrialing: matchedSubscription?.status === "trialing",
306
+ trialEnd: matchedSubscription?.trialEnd,
307
+ });
308
+ }, [
309
+ pendingUpdate,
310
+ plans,
311
+ localSubscriptionProductId,
312
+ allProducts,
313
+ localSubscribedSeats,
314
+ updateBehavior,
315
+ matchedSubscription,
316
+ ]);
317
+ const confirmCancelSubscription = useCallback(async () => {
318
+ if (!cancelRef)
319
+ return;
320
+ const subId = matchedSubscription?.id;
321
+ setCancelDialogOpen(false);
322
+ setActionError(null);
323
+ try {
324
+ await client.mutation(cancelRef, {
325
+ ...(subId ? { subscriptionId: subId } : {}),
326
+ }, {
327
+ optimisticUpdate: (store) => {
328
+ const current = store.getQuery(billingUiModelRef, {});
329
+ if (current) {
330
+ const m = current;
331
+ store.setQuery(billingUiModelRef, {}, {
332
+ ...m,
333
+ activeSubscriptions: (m.activeSubscriptions ?? []).map((s) => ownProductIds.has(s.productId)
334
+ ? { ...s, cancelAtPeriodEnd: true }
335
+ : s),
336
+ });
337
+ }
338
+ },
339
+ });
340
+ }
341
+ catch (error) {
342
+ setActionError(error instanceof Error ? error.message : "Cancel failed");
343
+ }
344
+ }, [
345
+ cancelRef,
346
+ matchedSubscription,
347
+ client,
348
+ billingUiModelRef,
349
+ ownProductIds,
350
+ ]);
351
+ const resumeSubscription = useCallback(async () => {
352
+ if (!resumeRef)
353
+ return;
354
+ const subId = matchedSubscription?.id;
355
+ setActionError(null);
356
+ try {
357
+ await client.mutation(resumeRef, {
358
+ ...(subId ? { subscriptionId: subId } : {}),
359
+ }, {
360
+ optimisticUpdate: (store) => {
361
+ const current = store.getQuery(billingUiModelRef, {});
362
+ if (current) {
363
+ const m = current;
364
+ store.setQuery(billingUiModelRef, {}, {
365
+ ...m,
366
+ activeSubscriptions: (m.activeSubscriptions ?? []).map((s) => ownProductIds.has(s.productId)
367
+ ? { ...s, cancelAtPeriodEnd: false, status: "active" }
368
+ : s),
369
+ });
370
+ }
371
+ },
372
+ });
373
+ }
374
+ catch (error) {
375
+ setActionError(error instanceof Error ? error.message : "Resume failed");
376
+ }
377
+ }, [
378
+ resumeRef,
379
+ matchedSubscription,
380
+ client,
381
+ billingUiModelRef,
382
+ ownProductIds,
383
+ ]);
384
+ const openCancelDialog = useCallback(() => {
385
+ setCancelDialogOpen(true);
386
+ }, []);
387
+ return (_jsxs(SubscriptionContext.Provider, { value: contextValue, children: [_jsx("div", { className: "hidden", "aria-hidden": "true", children: children }), _jsxs("section", { className: `space-y-4 ${className}`, children: [actionError && (_jsx("div", { className: "rounded-lg border border-red-300 bg-red-50 px-3 py-2 text-sm text-red-700", children: actionError })), !model ? (_jsx("p", { className: "text-sm text-zinc-500", children: "Loading billing model\u2026" })) : (_jsxs(_Fragment, { children: [ownsActiveSubscription && snapshot && (_jsx(ScheduledChangeBanner, { snapshot: {
388
+ ...snapshot,
389
+ metadata: {
390
+ ...snapshot.metadata,
391
+ cancelAtPeriodEnd: localCancelAtPeriodEnd,
392
+ currentPeriodEnd: localCurrentPeriodEnd,
393
+ },
394
+ }, isLoading: isActionLoading, onResume: resumeRef && canResume ? resumeSubscription : undefined })), _jsx(PaymentWarningBanner, { snapshot: snapshot }), _jsx(PricingSection, { plans: plans, snapshot: snapshot ? { ...snapshot, activePlanId } : null, selectedCycle: selectedCycle, products: allProducts, subscriptionProductId: localSubscriptionProductId, subscriptionStatus: localSubscriptionState, subscriptionTrialEnd: matchedSubscription?.trialEnd ?? null, units: units, showSeatPicker: showSeatPicker, twoColumnLayout: twoColumnLayout, subscribedSeats: localSubscribedSeats, isGroupSubscribed: ownsActiveSubscription, onCycleChange: setSelectedCycle, disableCheckout: !canCheckout, disableSwitch: !canChange, disableSeats: !canUpdateSeats, onCheckout: canCheckout ? handlePricingCheckout : undefined, onSwitchPlan: updateRef && canChange ? requestSwitchPlan : undefined, onUpdateSeats: updateRef && canUpdateSeats ? handleUpdateSeats : undefined, onCancelSubscription: cancelRef &&
395
+ canCancel &&
396
+ ownsActiveSubscription &&
397
+ !localCancelAtPeriodEnd
398
+ ? openCancelDialog
399
+ : undefined }), _jsx("div", { className: "flex flex-wrap items-center gap-3", children: children }), _jsx(Dialog.Root, { open: cancelDialogOpen, onOpenChange: (details) => setCancelDialogOpen(details.open), children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "dialog-backdrop" }), _jsx(Dialog.Positioner, { className: "dialog-positioner", children: _jsxs(Dialog.Content, { className: "dialog-content", children: [_jsx(Dialog.CloseTrigger, { className: "icon-button-ghost-sm absolute right-2 top-2", "aria-label": "Close dialog", children: _jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", className: "h-4 w-4", children: _jsx("path", { d: "M18 6L6 18M6 6L18 18", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsx(Dialog.Title, { className: "dialog-title", children: "Cancel subscription?" }), _jsx(Dialog.Description, { className: "dialog-description", children: "Are you sure you want to cancel your subscription? You will continue to have access until the end of your current billing period." }), _jsxs("div", { className: "dialog-actions", children: [_jsx("button", { type: "button", className: "dialog-action-danger", onClick: confirmCancelSubscription, children: "Yes, cancel" }), _jsx(Dialog.CloseTrigger, { className: "button-faded h-8 w-full", children: "Keep subscription" })] })] }) })] }) }), _jsx(Dialog.Root, { open: updateDialogOpen, onOpenChange: (details) => {
400
+ setUpdateDialogOpen(details.open);
401
+ if (!details.open)
402
+ setPendingUpdate(null);
403
+ }, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "dialog-backdrop" }), _jsx(Dialog.Positioner, { className: "dialog-positioner", children: _jsxs(Dialog.Content, { className: "dialog-content", children: [_jsx(Dialog.CloseTrigger, { className: "icon-button-ghost-sm absolute right-2 top-2", "aria-label": "Close dialog", children: _jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", fill: "none", className: "h-4 w-4", children: _jsx("path", { d: "M18 6L6 18M6 6L18 18", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) }), _jsx(Dialog.Title, { className: "dialog-title", children: updateSummary?.title }), updateSummary && (_jsxs(_Fragment, { children: [_jsxs("div", { className: "my-3 flex flex-col gap-1 rounded-lg bg-surface-subtle px-3 py-2.5", children: [_jsx("span", { className: "label-m text-foreground-muted", children: updateSummary.currentLabel }), _jsx("span", { className: "body-s text-foreground-placeholder", children: "\u2192" }), _jsx("span", { className: "label-m text-foreground-default", children: updateSummary.newLabel })] }), _jsxs(Dialog.Description, { className: "dialog-description", children: [updateSummary.description, updateSummary.dateNote && (_jsxs(_Fragment, { children: [" ", updateSummary.dateNote] }))] })] })), _jsxs("div", { className: "dialog-actions", children: [_jsx("button", { type: "button", className: "button-filled h-8 w-full", onClick: confirmUpdate, children: updateSummary?.confirmLabel ?? "Confirm" }), _jsx(Dialog.CloseTrigger, { className: "button-faded h-8 w-full", children: "Cancel" })] })] }) })] }) })] }))] })] }));
404
+ };
405
+ //# sourceMappingURL=SubscriptionRoot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SubscriptionRoot.js","sourceRoot":"","sources":["../../../src/react/widgets/SubscriptionRoot.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,QAAQ,EACR,WAAW,EACX,OAAO,EACP,SAAS,EACT,MAAM,GAEP,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAOhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AASxE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,GAAG,EACH,WAAW,EACX,SAAS,GAAG,EAAE,EACd,UAAU,EACV,KAAK,EACL,cAAc,GAAG,KAAK,EACtB,eAAe,GAAG,KAAK,EACvB,cAAc,GAAG,8BAA8B,EAC/C,gBAAgB,EAChB,QAAQ,GAYR,EAAE,EAAE;IACJ,MAAM,SAAS,GAAG,WAAW,EAAE,qBAAqB,KAAK,KAAK,CAAC;IAC/D,MAAM,SAAS,GAAG,WAAW,EAAE,qBAAqB,KAAK,KAAK,CAAC;IAC/D,MAAM,SAAS,GAAG,WAAW,EAAE,qBAAqB,KAAK,KAAK,CAAC;IAE/D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,MAAM,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAAC;IACtC,MAAM,eAAe,GAAG,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC;IAC7C,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC;IAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC;IAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC;IAE5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAiC,CAAC;IAEjE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GACrC,QAAQ,CAAiB,aAAa,CAAC,CAAC;IAC1C,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAShD,IAAI,CAAC,CAAC;IACR,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAEpD,EAAE,CAAC,CAAC;IAEN,MAAM,YAAY,GAAG,OAAO,CAC1B,GAAG,EAAE,CAAC,CAAC;QACL,YAAY,EAAE,CAAC,IAAkC,EAAE,EAAE;YACnD,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC3B,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC;gBAC/C,IAAI;aACL,CAAC,CAAC;YACH,OAAO,GAAG,EAAE;gBACV,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE,CAC1B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CAC7C,CAAC;YACJ,CAAC,CAAC;QACJ,CAAC;KACF,CAAC,EACF,EAAE,CACH,CAAC;IAEF,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CAAC,KAAK,EAAE,WAAW,IAAI,EAAE,EAC9B,CAAC,KAAK,EAAE,WAAW,CAAC,CACrB,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAAgB,GAAG,EAAE;QACxC,OAAO,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;YACzC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACpD,MAAM,YAAY,GAAG,cAAc;gBACjC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,cAAc,CAAC;gBAClD,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAC9C,CAAC,CAAC,EAAuB,EAAE,CAAC,CAAC,KAAK,QAAQ,CAC3C,CAAC;YAEF,MAAM,KAAK,GAAgB;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EACN,IAAI,CAAC,IAAI,KAAK,MAAM;oBAClB,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY;wBAC1B,CAAC,CAAC,YAAY;wBACd,CAAC,CAAC,MAAM;gBACd,WAAW,EACT,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY;oBAChD,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,WAAW;gBACjB,YAAY,EAAE,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;gBAC1D,KAAK,EACH,IAAI,CAAC,KAAK;oBACV,YAAY,EAAE,IAAI;oBAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC5D,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,YAAY,EAAE,WAAW,IAAI,SAAS;gBACvE,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,eAAe,EACb,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC;oBAChC,CAAC,CAAE,UAAqC;oBACxC,CAAC,CAAC,SAAS;aAChB,CAAC;YACF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;YAClC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC,CAAC;IAEnC,0EAA0E;IAC1E,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBACzB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;oBACtD,IAAI,GAAG;wBAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,gFAAgF;IAChF,MAAM,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE;QACvC,MAAM,IAAI,GAAG,KAAK,EAAE,mBAAmB,CAAC;QACxC,IAAI,CAAC,IAAI,IAAI,aAAa,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACnD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAC;IAClE,CAAC,EAAE,CAAC,KAAK,EAAE,mBAAmB,EAAE,aAAa,CAAC,CAAC,CAAC;IAEhD,MAAM,sBAAsB,GAAG,mBAAmB,IAAI,IAAI,CAAC;IAC3D,MAAM,0BAA0B,GAAG,mBAAmB,EAAE,SAAS,IAAI,IAAI,CAAC;IAC1E,MAAM,sBAAsB,GAC1B,mBAAmB,EAAE,iBAAiB,IAAI,KAAK,CAAC;IAClD,MAAM,qBAAqB,GAAG,mBAAmB,EAAE,gBAAgB,IAAI,IAAI,CAAC;IAC5E,MAAM,sBAAsB,GAAG,mBAAmB,EAAE,MAAM,IAAI,IAAI,CAAC;IACnE,MAAM,oBAAoB,GAAG,mBAAmB,EAAE,KAAK,IAAI,IAAI,CAAC;IAEhE,MAAM,QAAQ,GAAG,KAAK,EAAE,eAAe,IAAI,IAAI,CAAC;IAEhD,MAAM,WAAW,GACf,CAAC,KAAK,EAAE,IAAI,IAAI,gBAAgB,IAAI,IAAI;QACtC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAW,EAAE,WAAW,KAAK,KAAK,CAAC;IAEzC,MAAM,cAAc,GAClB,CAAC,KAAK,EAAE,IAAI,IAAI,gBAAgB,IAAI,IAAI;QACtC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,WAAW,EAAE,cAAc,KAAK,KAAK,CAAC;IAE5C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,YAAY,GAAG,0BAA0B,CAAC;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,WAAW,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gBAChD,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CACxD,OAAO,CACI,CAAC;gBACd,OAAO,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YACH,OAAO,WAAW,EAAE,MAAM,IAAI,IAAI,CAAC;QACrC,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC;YAC1D,IAAI,QAAQ;gBAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,KAAK,EAAE,0BAA0B,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC;IAEhE,qCAAqC;IACrC,MAAM,sBAAsB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,KAAK,EAAE,IAAI,IAAI,sBAAsB,CAAC,OAAO;YAAE,OAAO;QAC3D,sBAAsB,CAAC,OAAO,GAAG,IAAI,CAAC;QACtC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC;QACvC,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,IAAI,CAAC,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO;QACT,CAAC;QACD,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,uDAAuD;IACzD,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;IAElB,MAAM,qBAAqB,GAAG,GAAuB,EAAE;QACrD,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,SAAS,CAAC;QACpD,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;IAChE,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,GAAqB,EAAE;QAC/C,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAO,OAAO,CAAC;QAClD,OAAO,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC,CAAC,OAAO;YAC9D,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,OAAO,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAC/B,KAAK,EAAE,SAAiB,EAAE,aAAsB,EAAE,EAAE;QAClD,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC;gBACrC,SAAS;gBACT,KAAK,EAAE,aAAa;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO;gBAAE,OAAO;QACvB,CAAC;QACD,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACzB,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE;gBACnD,SAAS;gBACT,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrC,kBAAkB,EAAE,qBAAqB,EAAE;gBAC3C,KAAK,EAAE,iBAAiB,EAAE;gBAC1B,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC3D,CAAC,CAAC;YACH,yEAAyE;YACzE,+EAA+E;YAC/E,iFAAiF;YACjF,qFAAqF;YACrF,MAAM,CAAC,gBAAgB,CACrB,cAAc,EACd,CAAC,CAAC,EAAE,EAAE;gBACJ,CAAC,CAAC,wBAAwB,EAAE,CAAC;YAC/B,CAAC,EACD,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAC9B,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;YAC3B,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;QAC7B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAC3D,CAAC;QACJ,CAAC;gBAAS,CAAC;YACT,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,EACD,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,CAAC,CACxD,CAAC;IAEF,MAAM,qBAAqB,GAAG,WAAW,CACvC,KAAK,EAAE,OAIN,EAAE,EAAE;QACH,MAAM,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,MAAM,iBAAiB,GAAG,WAAW,CACnC,CAAC,OAAiE,EAAE,EAAE;QACpE,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QACtD,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EACD,EAAE,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC3C,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa;YAAE,OAAO;QACzC,MAAM,MAAM,GAAG,aAAa,CAAC;QAC7B,MAAM,KAAK,GAAG,mBAAmB,EAAE,EAAE,CAAC;QACtC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACvB,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;gBAClC,MAAM,MAAM,CAAC,QAAQ,CACnB,SAAS,EACT;oBACE,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,cAAc;iBACf,EACD;oBACE,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;wBAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;wBACtD,IAAI,OAAO,EAAE,CAAC;4BACZ,MAAM,CAAC,GAAG,OAAgC,CAAC;4BAC3C,KAAK,CAAC,QAAQ,CACZ,iBAAiB,EACjB,EAAE,EACF;gCACE,GAAG,CAAC;gCACJ,mBAAmB,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CACpD,CAAC,CAAC,EAAE,EAAE,CACJ,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;oCAC5B,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;oCACvC,CAAC,CAAC,CAAC,CACR;6BACF,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;iBACF,CACF,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,MAAM,CAAC,QAAQ,CACnB,SAAS,EACT;oBACE,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3C,cAAc;iBACf,EACD;oBACE,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;wBAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;wBACtD,IAAI,OAAO,EAAE,CAAC;4BACZ,MAAM,CAAC,GAAG,OAAgC,CAAC;4BAC3C,KAAK,CAAC,QAAQ,CACZ,iBAAiB,EACjB,EAAE,EACF;gCACE,GAAG,CAAC;gCACJ,mBAAmB,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CACpD,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CACrD;6BACF,CACF,CAAC;wBACJ,CAAC;oBACH,CAAC;iBACF,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CACZ,KAAK,YAAY,KAAK;gBACpB,CAAC,CAAC,KAAK,CAAC,OAAO;gBACf,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa;oBAC7B,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,oBAAoB,CAC3B,CAAC;QACJ,CAAC;IACH,CAAC,EAAE;QACD,SAAS;QACT,aAAa;QACb,mBAAmB;QACnB,MAAM;QACN,iBAAiB;QACjB,aAAa;QACb,cAAc;KACf,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,WAAW,CAAC,CAAC,OAA0B,EAAE,EAAE;QACnE,gBAAgB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAChE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC;QAEhC,IAAI,aAAa,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAG,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,OAAO,CACL,0BAA0B,IAAI,IAAI;oBAClC,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAC1C,CAAC;YACJ,CAAC,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,WAAW,EAAE,KAAK,IAAI,cAAc,CAAC;YAC1D,MAAM,YAAY,GAAG,uBAAuB,CAC1C,0BAA0B,IAAI,SAAS,EACvC,WAAW,CACZ,CAAC;YACF,MAAM,QAAQ,GAAG,uBAAuB,CACtC,aAAa,CAAC,SAAS,EACvB,WAAW,CACZ,CAAC;YAEF,OAAO,kBAAkB,CAAC;gBACxB,IAAI,EAAE,aAAa;gBACnB,cAAc;gBACd,YAAY,EAAE,YAAY;oBACxB,CAAC,CAAC,GAAG,YAAY,WAAW,YAAY,EAAE;oBAC1C,CAAC,CAAC,YAAY;gBAChB,QAAQ,EAAE,QAAQ;oBAChB,CAAC,CAAC,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,WAAW,QAAQ,EAAE;oBAChE,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC;gBAC5C,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB;gBACvD,UAAU,EAAE,mBAAmB,EAAE,MAAM,KAAK,UAAU;gBACtD,QAAQ,EAAE,mBAAmB,EAAE,QAAQ;aACxC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,oBAAoB,IAAI,CAAC,CAAC;QAC/C,MAAM,YAAY,GAAG,eAAe,CAClC,0BAA0B,IAAI,SAAS,EACvC,WAAW,EACX,YAAY,CACb,CAAC;QACF,MAAM,QAAQ,GAAG,eAAe,CAC9B,0BAA0B,IAAI,SAAS,EACvC,WAAW,EACX,aAAa,CAAC,KAAK,CACpB,CAAC;QAEF,OAAO,kBAAkB,CAAC;YACxB,IAAI,EAAE,aAAa;YACnB,cAAc;YACd,YAAY,EACV,YAAY,IAAI,GAAG,YAAY,QAAQ,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACxE,QAAQ,EACN,QAAQ;gBACR,GAAG,aAAa,CAAC,KAAK,QAAQ,aAAa,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB;YACvD,UAAU,EAAE,mBAAmB,EAAE,MAAM,KAAK,UAAU;YACtD,QAAQ,EAAE,mBAAmB,EAAE,QAAQ;SACxC,CAAC,CAAC;IACL,CAAC,EAAE;QACD,aAAa;QACb,KAAK;QACL,0BAA0B;QAC1B,WAAW;QACX,oBAAoB;QACpB,cAAc;QACd,mBAAmB;KACpB,CAAC,CAAC;IAEH,MAAM,yBAAyB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,KAAK,GAAG,mBAAmB,EAAE,EAAE,CAAC;QACtC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC3B,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CACnB,SAAS,EACT;gBACE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5C,EACD;gBACE,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;oBACtD,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,CAAC,GAAG,OAAgC,CAAC;wBAC3C,KAAK,CAAC,QAAQ,CACZ,iBAAiB,EACjB,EAAE,EACF;4BACE,GAAG,CAAC;4BACJ,mBAAmB,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;gCAC5B,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE;gCACnC,CAAC,CAAC,CAAC,CACN;yBACF,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;aACF,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,EAAE;QACD,SAAS;QACT,mBAAmB;QACnB,MAAM;QACN,iBAAiB;QACjB,aAAa;KACd,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAChD,IAAI,CAAC,SAAS;YAAE,OAAO;QACvB,MAAM,KAAK,GAAG,mBAAmB,EAAE,EAAE,CAAC;QACtC,cAAc,CAAC,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,CACnB,SAAS,EACT;gBACE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC5C,EACD;gBACE,gBAAgB,EAAE,CAAC,KAAK,EAAE,EAAE;oBAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;oBACtD,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,CAAC,GAAG,OAAgC,CAAC;wBAC3C,KAAK,CAAC,QAAQ,CACZ,iBAAiB,EACjB,EAAE,EACF;4BACE,GAAG,CAAC;4BACJ,mBAAmB,EAAE,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAC3D,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;gCAC5B,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE;gCACtD,CAAC,CAAC,CAAC,CACN;yBACF,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;aACF,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,cAAc,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,EAAE;QACD,SAAS;QACT,mBAAmB;QACnB,MAAM;QACN,iBAAiB;QACjB,aAAa;KACd,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,MAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,YAAY,aAC/C,cAAK,SAAS,EAAC,QAAQ,iBAAa,MAAM,YACvC,QAAQ,GACL,EAEN,mBAAS,SAAS,EAAE,aAAa,SAAS,EAAE,aACzC,WAAW,IAAI,CACd,cAAK,SAAS,EAAC,2EAA2E,YACvF,WAAW,GACR,CACP,EAEA,CAAC,KAAK,CAAC,CAAC,CAAC,CACR,YAAG,SAAS,EAAC,uBAAuB,4CAA2B,CAChE,CAAC,CAAC,CAAC,CACF,8BACG,sBAAsB,IAAI,QAAQ,IAAI,CACrC,KAAC,qBAAqB,IACpB,QAAQ,EAAE;oCACR,GAAG,QAAQ;oCACX,QAAQ,EAAE;wCACR,GAAG,QAAQ,CAAC,QAAQ;wCACpB,iBAAiB,EAAE,sBAAsB;wCACzC,gBAAgB,EAAE,qBAAqB;qCACxC;iCACF,EACD,SAAS,EAAE,eAAe,EAC1B,QAAQ,EACN,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,GAEzD,CACH,EACD,KAAC,oBAAoB,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAE5C,KAAC,cAAc,IACb,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,EACzD,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,WAAW,EACrB,qBAAqB,EAAE,0BAA0B,EACjD,kBAAkB,EAAE,sBAAsB,EAC1C,oBAAoB,EAAE,mBAAmB,EAAE,QAAQ,IAAI,IAAI,EAC3D,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,EAChC,eAAe,EAAE,oBAAoB,EACrC,iBAAiB,EAAE,sBAAsB,EACzC,aAAa,EAAE,gBAAgB,EAC/B,eAAe,EAAE,CAAC,WAAW,EAC7B,aAAa,EAAE,CAAC,SAAS,EACzB,YAAY,EAAE,CAAC,cAAc,EAC7B,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,EAC3D,YAAY,EACV,SAAS,IAAI,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAExD,aAAa,EACX,SAAS,IAAI,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAE7D,oBAAoB,EAClB,SAAS;oCACT,SAAS;oCACT,sBAAsB;oCACtB,CAAC,sBAAsB;oCACrB,CAAC,CAAC,gBAAgB;oCAClB,CAAC,CAAC,SAAS,GAEf,EAEF,cAAK,SAAS,EAAC,mCAAmC,YAAE,QAAQ,GAAO,EAGnE,KAAC,MAAM,CAAC,IAAI,IACV,IAAI,EAAE,gBAAgB,EACtB,YAAY,EAAE,CAAC,OAA0B,EAAE,EAAE,CAC3C,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,YAGnC,MAAC,MAAM,eACL,KAAC,MAAM,CAAC,QAAQ,IAAC,SAAS,EAAC,iBAAiB,GAAG,EAC/C,KAAC,MAAM,CAAC,UAAU,IAAC,SAAS,EAAC,mBAAmB,YAC9C,MAAC,MAAM,CAAC,OAAO,IAAC,SAAS,EAAC,gBAAgB,aACxC,KAAC,MAAM,CAAC,YAAY,IAClB,SAAS,EAAC,6CAA6C,gBAC5C,cAAc,YAEzB,6BACc,MAAM,EAClB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,SAAS,YAEnB,eACE,CAAC,EAAC,sBAAsB,EACxB,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,GACE,GACc,EACtB,KAAC,MAAM,CAAC,KAAK,IAAC,SAAS,EAAC,cAAc,qCAEvB,EACf,KAAC,MAAM,CAAC,WAAW,IAAC,SAAS,EAAC,oBAAoB,kJAI7B,EACrB,eAAK,SAAS,EAAC,gBAAgB,aAC7B,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,sBAAsB,EAChC,OAAO,EAAE,yBAAyB,4BAG3B,EACT,KAAC,MAAM,CAAC,YAAY,IAAC,SAAS,EAAC,yBAAyB,kCAElC,IAClB,IACS,GACC,IACb,GACG,EAGd,KAAC,MAAM,CAAC,IAAI,IACV,IAAI,EAAE,gBAAgB,EACtB,YAAY,EAAE,CAAC,OAA0B,EAAE,EAAE;oCAC3C,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oCAClC,IAAI,CAAC,OAAO,CAAC,IAAI;wCAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;gCAC5C,CAAC,YAED,MAAC,MAAM,eACL,KAAC,MAAM,CAAC,QAAQ,IAAC,SAAS,EAAC,iBAAiB,GAAG,EAC/C,KAAC,MAAM,CAAC,UAAU,IAAC,SAAS,EAAC,mBAAmB,YAC9C,MAAC,MAAM,CAAC,OAAO,IAAC,SAAS,EAAC,gBAAgB,aACxC,KAAC,MAAM,CAAC,YAAY,IAClB,SAAS,EAAC,6CAA6C,gBAC5C,cAAc,YAEzB,6BACc,MAAM,EAClB,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,SAAS,YAEnB,eACE,CAAC,EAAC,sBAAsB,EACxB,MAAM,EAAC,cAAc,EACrB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,GACE,GACc,EACtB,KAAC,MAAM,CAAC,KAAK,IAAC,SAAS,EAAC,cAAc,YACnC,aAAa,EAAE,KAAK,GACR,EACd,aAAa,IAAI,CAChB,8BACE,eAAK,SAAS,EAAC,mEAAmE,aAChF,eAAM,SAAS,EAAC,+BAA+B,YAC5C,aAAa,CAAC,YAAY,GACtB,EACP,eAAM,SAAS,EAAC,oCAAoC,YACjD,QAAQ,GACJ,EACP,eAAM,SAAS,EAAC,iCAAiC,YAC9C,aAAa,CAAC,QAAQ,GAClB,IACH,EACN,MAAC,MAAM,CAAC,WAAW,IAAC,SAAS,EAAC,oBAAoB,aAC/C,aAAa,CAAC,WAAW,EACzB,aAAa,CAAC,QAAQ,IAAI,CACzB,mCAAI,aAAa,CAAC,QAAQ,IAAI,CAC/B,IACkB,IACpB,CACJ,EACD,eAAK,SAAS,EAAC,gBAAgB,aAC7B,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,aAAa,YAErB,aAAa,EAAE,YAAY,IAAI,SAAS,GAClC,EACT,KAAC,MAAM,CAAC,YAAY,IAAC,SAAS,EAAC,yBAAyB,uBAElC,IAClB,IACS,GACC,IACb,GACG,IACb,CACJ,IACO,IACmB,CAChC,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { SubscriptionItem } from "./SubscriptionItem.js";
2
+ import { SubscriptionRoot } from "./SubscriptionRoot.js";
3
+ import { ProductItem } from "./ProductItem.js";
4
+ import { ProductRoot } from "./ProductRoot.js";
5
+ export { BillingPortal } from "./BillingPortal.js";
6
+ export declare const Subscription: typeof SubscriptionItem & {
7
+ Root: typeof SubscriptionRoot;
8
+ Item: typeof SubscriptionItem;
9
+ /** @deprecated Use `Subscription.Root` instead. */
10
+ Group: typeof SubscriptionRoot;
11
+ };
12
+ export declare const Product: typeof ProductItem & {
13
+ Root: typeof ProductRoot;
14
+ Item: typeof ProductItem;
15
+ /** @deprecated Use `Product.Root` instead. */
16
+ Group: typeof ProductRoot;
17
+ };
18
+ export type { ConnectedBillingApi, ConnectedBillingModel, ProductType, SubscriptionPlanType, Transition, } from "./types.js";
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/react/widgets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,eAAO,MAAM,YAAY,EAAE,OAAO,gBAAgB,GAAG;IACnD,IAAI,EAAE,OAAO,gBAAgB,CAAC;IAC9B,IAAI,EAAE,OAAO,gBAAgB,CAAC;IAC9B,mDAAmD;IACnD,KAAK,EAAE,OAAO,gBAAgB,CAAC;CAK/B,CAAC;AAEH,eAAO,MAAM,OAAO,EAAE,OAAO,WAAW,GAAG;IACzC,IAAI,EAAE,OAAO,WAAW,CAAC;IACzB,IAAI,EAAE,OAAO,WAAW,CAAC;IACzB,8CAA8C;IAC9C,KAAK,EAAE,OAAO,WAAW,CAAC;CAK1B,CAAC;AAEH,YAAY,EACV,mBAAmB,EACnB,qBAAqB,EACrB,WAAW,EACX,oBAAoB,EACpB,UAAU,GACX,MAAM,YAAY,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { SubscriptionItem } from "./SubscriptionItem.js";
2
+ import { SubscriptionRoot } from "./SubscriptionRoot.js";
3
+ import { ProductItem } from "./ProductItem.js";
4
+ import { ProductRoot } from "./ProductRoot.js";
5
+ export { BillingPortal } from "./BillingPortal.js";
6
+ export const Subscription = Object.assign(SubscriptionItem, {
7
+ Root: SubscriptionRoot,
8
+ Item: SubscriptionItem,
9
+ Group: SubscriptionRoot,
10
+ });
11
+ export const Product = Object.assign(ProductItem, {
12
+ Root: ProductRoot,
13
+ Item: ProductItem,
14
+ Group: ProductRoot,
15
+ });
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/react/widgets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,CAAC,MAAM,YAAY,GAKrB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE;IAClC,IAAI,EAAE,gBAAgB;IACtB,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,gBAAgB;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,OAAO,GAKhB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;IAC7B,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,WAAW;CACnB,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ProductItemRegistration } from "./types.js";
2
+ export type ProductGroupContextValue = {
3
+ registerItem: (item: ProductItemRegistration) => () => void;
4
+ };
5
+ export declare const ProductGroupContext: import("react").Context<ProductGroupContextValue | undefined>;
6
+ //# sourceMappingURL=productGroupContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productGroupContext.d.ts","sourceRoot":"","sources":["../../../src/react/widgets/productGroupContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE,uBAAuB,KAAK,MAAM,IAAI,CAAC;CAC7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,+DAEpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createContext } from "react";
2
+ export const ProductGroupContext = createContext(undefined);
3
+ //# sourceMappingURL=productGroupContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"productGroupContext.js","sourceRoot":"","sources":["../../../src/react/widgets/productGroupContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAOtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAE9C,SAAS,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { SubscriptionPlanRegistration } from "./types.js";
2
+ export type SubscriptionContextValue = {
3
+ registerPlan: (plan: SubscriptionPlanRegistration) => () => void;
4
+ };
5
+ export declare const SubscriptionContext: import("react").Context<SubscriptionContextValue | undefined>;
6
+ //# sourceMappingURL=subscriptionContext.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptionContext.d.ts","sourceRoot":"","sources":["../../../src/react/widgets/subscriptionContext.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAE/D,MAAM,MAAM,wBAAwB,GAAG;IACrC,YAAY,EAAE,CAAC,IAAI,EAAE,4BAA4B,KAAK,MAAM,IAAI,CAAC;CAClE,CAAC;AAEF,eAAO,MAAM,mBAAmB,+DAEpB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createContext } from "react";
2
+ export const SubscriptionContext = createContext(undefined);
3
+ //# sourceMappingURL=subscriptionContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subscriptionContext.js","sourceRoot":"","sources":["../../../src/react/widgets/subscriptionContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAOtC,MAAM,CAAC,MAAM,mBAAmB,GAAG,aAAa,CAE9C,SAAS,CAAC,CAAC"}