@volter/twin-stripe 2.0.38 → 3.0.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 (442) hide show
  1. package/README.md +82 -207
  2. package/dist/generated/pack-facts.json +94 -0
  3. package/dist/spec/SOURCE.md +14 -0
  4. package/dist/spec/fixtures3.json.gz +0 -0
  5. package/dist/spec/openapi.json.gz +0 -0
  6. package/dist/spec/patches.json +34 -0
  7. package/dist/spec/sources.json +378 -0
  8. package/dist/src/cli.js +12 -30
  9. package/dist/src/engine/after-payment.d.ts +9 -0
  10. package/dist/src/engine/after-payment.js +28 -0
  11. package/dist/src/engine/apps-secrets.d.ts +1 -0
  12. package/dist/src/engine/apps-secrets.js +3 -0
  13. package/dist/src/engine/balance.d.ts +5 -0
  14. package/dist/src/engine/balance.js +15 -0
  15. package/dist/src/engine/billing.d.ts +5 -0
  16. package/dist/src/engine/billing.js +6 -0
  17. package/dist/src/engine/charges.d.ts +6 -0
  18. package/dist/src/engine/charges.js +13 -0
  19. package/dist/src/engine/checkout.d.ts +24 -0
  20. package/dist/src/engine/checkout.js +30 -0
  21. package/dist/src/engine/common.d.ts +19 -0
  22. package/dist/src/engine/common.js +32 -0
  23. package/dist/src/{screens → engine}/connect-settings.d.ts +1 -7
  24. package/dist/src/engine/connect-settings.js +26 -0
  25. package/dist/src/engine/connect.d.ts +66 -0
  26. package/dist/src/engine/connect.js +189 -0
  27. package/dist/src/engine/coupons.d.ts +0 -0
  28. package/dist/src/engine/coupons.js +5 -0
  29. package/dist/src/engine/credit-notes.d.ts +1 -0
  30. package/dist/src/engine/credit-notes.js +5 -0
  31. package/dist/src/engine/customers.d.ts +12 -0
  32. package/dist/src/engine/customers.js +30 -0
  33. package/dist/src/engine/display.d.ts +14 -0
  34. package/dist/src/engine/display.js +16 -0
  35. package/dist/src/engine/disputes.d.ts +0 -0
  36. package/dist/src/engine/disputes.js +9 -0
  37. package/dist/src/engine/entitlements.d.ts +1 -0
  38. package/dist/src/engine/entitlements.js +4 -0
  39. package/dist/src/engine/ephemeral-keys.d.ts +0 -0
  40. package/dist/src/engine/ephemeral-keys.js +4 -0
  41. package/dist/src/engine/files.d.ts +18 -0
  42. package/dist/src/engine/files.js +33 -0
  43. package/dist/src/engine/front.d.ts +5 -0
  44. package/dist/src/engine/front.js +25 -0
  45. package/dist/src/engine/invoices.d.ts +24 -0
  46. package/dist/src/engine/invoices.js +57 -0
  47. package/dist/src/engine/issuing.d.ts +35 -0
  48. package/dist/src/engine/issuing.js +45 -0
  49. package/dist/src/engine/ledger.d.ts +9 -0
  50. package/dist/src/engine/ledger.js +9 -0
  51. package/dist/src/engine/oauth.d.ts +4 -0
  52. package/dist/src/engine/oauth.js +25 -0
  53. package/dist/src/engine/onboarding.d.ts +13 -0
  54. package/dist/src/engine/onboarding.js +42 -0
  55. package/dist/src/{stripe-params.d.ts → engine/params.d.ts} +20 -3
  56. package/dist/src/{stripe-params.js → engine/params.js} +7 -60
  57. package/dist/src/engine/payment-intents.d.ts +10 -0
  58. package/dist/src/engine/payment-intents.js +27 -0
  59. package/dist/src/engine/payment-links.d.ts +1 -0
  60. package/dist/src/engine/payment-links.js +5 -0
  61. package/dist/src/engine/payment-methods.d.ts +16 -0
  62. package/dist/src/engine/payment-methods.js +22 -0
  63. package/dist/src/engine/plans.d.ts +6 -0
  64. package/dist/src/engine/plans.js +26 -0
  65. package/dist/src/engine/platform.d.ts +39 -0
  66. package/dist/src/engine/platform.js +34 -0
  67. package/dist/src/engine/products.d.ts +0 -0
  68. package/dist/src/engine/products.js +4 -0
  69. package/dist/src/engine/radar.d.ts +2 -0
  70. package/dist/src/engine/radar.js +5 -0
  71. package/dist/src/engine/refunds.d.ts +1 -0
  72. package/dist/src/engine/refunds.js +28 -0
  73. package/dist/src/engine/renewals.d.ts +36 -0
  74. package/dist/src/engine/renewals.js +65 -0
  75. package/dist/src/engine/setup-intents.d.ts +1 -0
  76. package/dist/src/engine/setup-intents.js +4 -0
  77. package/dist/src/{stripe-twin.d.ts → engine/stripe.d.ts} +11 -39
  78. package/dist/src/{stripe-twin.js → engine/stripe.js} +25 -310
  79. package/dist/src/engine/subscription-schedules.d.ts +3 -0
  80. package/dist/src/engine/subscription-schedules.js +1 -0
  81. package/dist/src/engine/subscriptions.d.ts +12 -0
  82. package/dist/src/engine/subscriptions.js +31 -0
  83. package/dist/src/engine/tax.d.ts +7 -0
  84. package/dist/src/engine/tax.js +28 -0
  85. package/dist/src/engine/terminal.d.ts +4 -0
  86. package/dist/src/engine/terminal.js +20 -0
  87. package/dist/src/engine/test-clocks.d.ts +5 -0
  88. package/dist/src/engine/test-clocks.js +9 -0
  89. package/dist/src/engine/tokens.d.ts +7 -0
  90. package/dist/src/engine/tokens.js +20 -0
  91. package/dist/src/engine/transfers.d.ts +2 -0
  92. package/dist/src/engine/transfers.js +1 -0
  93. package/dist/src/engine/treasury.d.ts +23 -0
  94. package/dist/src/engine/treasury.js +45 -0
  95. package/dist/src/{stripe-version.js → engine/version.js} +4 -3
  96. package/dist/src/engine/webhook-endpoints.d.ts +1 -0
  97. package/dist/src/engine/webhook-endpoints.js +12 -0
  98. package/dist/src/engine/webhooks.d.ts +31 -0
  99. package/dist/src/engine/webhooks.js +68 -0
  100. package/dist/src/fetch.d.ts +2 -0
  101. package/dist/src/fetch.js +26 -0
  102. package/dist/src/generated/surface.gen.json +1 -1
  103. package/dist/src/generated/ui.gen.json +1 -1
  104. package/dist/src/index.d.ts +5 -14
  105. package/dist/src/index.js +8 -75
  106. package/dist/src/manifest.js +232 -758
  107. package/dist/src/screens/billing-portal.d.ts +3 -0
  108. package/dist/src/screens/{portal.js → billing-portal.js} +28 -54
  109. package/dist/src/screens/checkout.d.ts +2 -31
  110. package/dist/src/screens/checkout.js +32 -121
  111. package/dist/src/screens/connect-oauth.d.ts +3 -27
  112. package/dist/src/screens/connect-oauth.js +51 -132
  113. package/dist/src/screens/connect-onboarding.d.ts +3 -0
  114. package/dist/src/screens/{onboarding.js → connect-onboarding.js} +36 -102
  115. package/dist/src/screens/dashboard.d.ts +3 -0
  116. package/dist/src/screens/dashboard.js +117 -0
  117. package/dist/src/screens/shared.d.ts +27 -0
  118. package/dist/src/screens/shared.js +87 -0
  119. package/dist/src/screens/stripe-js.d.ts +3 -0
  120. package/dist/src/screens/stripe-js.js +135 -0
  121. package/dist/src/semantics/account_links.d.ts +2 -0
  122. package/dist/src/semantics/account_links.js +22 -0
  123. package/dist/src/semantics/accounts.d.ts +4 -0
  124. package/dist/src/semantics/accounts.js +38 -0
  125. package/dist/src/semantics/apps.d.ts +4 -0
  126. package/dist/src/semantics/{apps-secrets.js → apps.js} +14 -26
  127. package/dist/src/semantics/around.d.ts +2 -0
  128. package/dist/src/semantics/around.js +16 -0
  129. package/dist/src/semantics/balance.d.ts +2 -11
  130. package/dist/src/semantics/balance.js +3 -194
  131. package/dist/src/semantics/balance_transactions.d.ts +2 -0
  132. package/dist/src/semantics/balance_transactions.js +15 -0
  133. package/dist/src/semantics/billing_portal.d.ts +5 -0
  134. package/dist/src/semantics/billing_portal.js +42 -0
  135. package/dist/src/semantics/charges.d.ts +3 -28
  136. package/dist/src/semantics/charges.js +5 -202
  137. package/dist/src/semantics/checkout.d.ts +3 -20
  138. package/dist/src/semantics/checkout.js +8 -261
  139. package/dist/src/semantics/clock.d.ts +2 -0
  140. package/dist/src/semantics/clock.js +21 -0
  141. package/dist/src/semantics/coupons.d.ts +2 -6
  142. package/dist/src/semantics/coupons.js +2 -60
  143. package/dist/src/semantics/customers.d.ts +6 -6
  144. package/dist/src/semantics/customers.js +27 -387
  145. package/dist/src/semantics/disputes.d.ts +2 -2
  146. package/dist/src/semantics/disputes.js +3 -49
  147. package/dist/src/semantics/doors.d.ts +23 -0
  148. package/dist/src/semantics/doors.js +73 -0
  149. package/dist/src/semantics/entitlements.d.ts +2 -2
  150. package/dist/src/semantics/entitlements.js +5 -50
  151. package/dist/src/semantics/events.d.ts +12 -0
  152. package/dist/src/semantics/events.js +36 -0
  153. package/dist/src/semantics/index.d.ts +2 -0
  154. package/dist/src/semantics/index.js +107 -0
  155. package/dist/src/semantics/invoice_payments.d.ts +2 -0
  156. package/dist/src/semantics/invoice_payments.js +12 -0
  157. package/dist/src/semantics/invoiceitems.d.ts +3 -0
  158. package/dist/src/semantics/invoiceitems.js +59 -0
  159. package/dist/src/semantics/invoices.d.ts +16 -18
  160. package/dist/src/semantics/invoices.js +118 -444
  161. package/dist/src/semantics/payment_intents.d.ts +4 -0
  162. package/dist/src/semantics/payment_intents.js +79 -0
  163. package/dist/src/semantics/payment_methods.d.ts +5 -0
  164. package/dist/src/semantics/payment_methods.js +39 -0
  165. package/dist/src/semantics/payouts.d.ts +2 -0
  166. package/dist/src/semantics/payouts.js +21 -0
  167. package/dist/src/semantics/prices.d.ts +4 -0
  168. package/dist/src/semantics/prices.js +37 -0
  169. package/dist/src/semantics/products.d.ts +6 -2
  170. package/dist/src/semantics/products.js +15 -130
  171. package/dist/src/semantics/promotion_codes.d.ts +3 -0
  172. package/dist/src/semantics/promotion_codes.js +35 -0
  173. package/dist/src/semantics/radar.d.ts +2 -2
  174. package/dist/src/semantics/radar.js +5 -74
  175. package/dist/src/semantics/refunds.d.ts +3 -9
  176. package/dist/src/semantics/refunds.js +6 -192
  177. package/dist/src/semantics/setup_intents.d.ts +3 -0
  178. package/dist/src/semantics/{setup-intents.js → setup_intents.js} +10 -53
  179. package/dist/src/semantics/shared.d.ts +822 -47
  180. package/dist/src/semantics/shared.js +3044 -78
  181. package/dist/src/semantics/states.d.ts +531 -0
  182. package/dist/src/semantics/states.js +852 -0
  183. package/dist/src/semantics/subscription_items.d.ts +5 -0
  184. package/dist/src/semantics/subscription_items.js +55 -0
  185. package/dist/src/semantics/subscription_schedules.d.ts +4 -0
  186. package/dist/src/semantics/subscription_schedules.js +60 -0
  187. package/dist/src/semantics/subscriptions.d.ts +7 -11
  188. package/dist/src/semantics/subscriptions.js +44 -415
  189. package/dist/src/semantics/test_helpers.d.ts +6 -0
  190. package/dist/src/semantics/{test-clocks.js → test_helpers.js} +14 -40
  191. package/dist/src/semantics/transfers.d.ts +2 -2
  192. package/dist/src/semantics/transfers.js +6 -101
  193. package/dist/src/server.d.ts +7 -0
  194. package/dist/src/server.js +7 -0
  195. package/generated/pack-facts.json +94 -0
  196. package/package.json +10 -20
  197. package/spec/SOURCE.md +14 -0
  198. package/spec/fixtures3.json.gz +0 -0
  199. package/spec/openapi.json.gz +0 -0
  200. package/spec/patches.json +34 -0
  201. package/spec/sources.json +378 -0
  202. package/src/cli.ts +12 -26
  203. package/src/engine/after-payment.ts +31 -0
  204. package/src/engine/apps-secrets.ts +4 -0
  205. package/src/engine/balance.ts +33 -0
  206. package/src/engine/billing.ts +16 -0
  207. package/src/engine/charges.ts +19 -0
  208. package/src/engine/checkout.ts +40 -0
  209. package/src/engine/common.ts +47 -0
  210. package/src/engine/connect-settings.ts +23 -0
  211. package/src/engine/connect.ts +184 -0
  212. package/src/engine/coupons.ts +5 -0
  213. package/src/engine/credit-notes.ts +6 -0
  214. package/src/engine/customers.ts +35 -0
  215. package/src/engine/display.ts +19 -0
  216. package/src/engine/disputes.ts +9 -0
  217. package/src/engine/entitlements.ts +5 -0
  218. package/src/engine/ephemeral-keys.ts +3 -0
  219. package/src/engine/files.ts +41 -0
  220. package/src/engine/front.ts +31 -0
  221. package/src/engine/invoices.ts +71 -0
  222. package/src/engine/issuing.ts +61 -0
  223. package/src/engine/ledger.ts +50 -0
  224. package/src/engine/oauth.ts +19 -0
  225. package/src/engine/onboarding.ts +54 -0
  226. package/src/{stripe-params.ts → engine/params.ts} +8 -56
  227. package/src/engine/payment-intents.ts +33 -0
  228. package/src/engine/payment-links.ts +6 -0
  229. package/src/engine/payment-methods.ts +25 -0
  230. package/src/engine/plans.ts +42 -0
  231. package/src/engine/platform.ts +47 -0
  232. package/src/engine/products.ts +3 -0
  233. package/src/engine/radar.ts +6 -0
  234. package/src/engine/refunds.ts +29 -0
  235. package/src/engine/renewals.ts +73 -0
  236. package/src/engine/setup-intents.ts +5 -0
  237. package/src/{stripe-twin.ts → engine/stripe.ts} +28 -323
  238. package/src/engine/subscription-schedules.ts +10 -0
  239. package/src/engine/subscriptions.ts +40 -0
  240. package/src/engine/tax.ts +39 -0
  241. package/src/engine/terminal.ts +23 -0
  242. package/src/engine/test-clocks.ts +11 -0
  243. package/src/engine/tokens.ts +22 -0
  244. package/src/engine/transfers.ts +23 -0
  245. package/src/engine/treasury.ts +47 -0
  246. package/src/{stripe-version.ts → engine/version.ts} +4 -3
  247. package/src/engine/webhook-endpoints.ts +14 -0
  248. package/src/engine/webhooks.ts +72 -0
  249. package/src/fetch.ts +27 -0
  250. package/src/generated/surface.gen.json +1 -1
  251. package/src/generated/ui.gen.json +1 -1
  252. package/src/index.ts +8 -116
  253. package/src/manifest.ts +234 -786
  254. package/src/screens/{portal.tsx → billing-portal.tsx} +32 -37
  255. package/src/screens/checkout.tsx +33 -95
  256. package/src/screens/connect-oauth.tsx +64 -88
  257. package/src/screens/{onboarding.tsx → connect-onboarding.tsx} +38 -82
  258. package/src/screens/dashboard.tsx +198 -0
  259. package/src/screens/shared.tsx +84 -0
  260. package/src/screens/stripe-js.ts +170 -0
  261. package/src/semantics/account_links.ts +21 -0
  262. package/src/semantics/accounts.ts +43 -0
  263. package/src/semantics/{apps-secrets.ts → apps.ts} +17 -32
  264. package/src/semantics/around.ts +20 -0
  265. package/src/semantics/balance.ts +6 -207
  266. package/src/semantics/balance_transactions.ts +20 -0
  267. package/src/semantics/billing_portal.ts +51 -0
  268. package/src/semantics/charges.ts +12 -211
  269. package/src/semantics/checkout.ts +13 -268
  270. package/src/semantics/clock.ts +26 -0
  271. package/src/semantics/coupons.ts +5 -67
  272. package/src/semantics/customers.ts +29 -392
  273. package/src/semantics/disputes.ts +9 -59
  274. package/src/semantics/doors.ts +80 -0
  275. package/src/semantics/entitlements.ts +9 -56
  276. package/src/semantics/events.ts +44 -0
  277. package/src/semantics/index.ts +111 -0
  278. package/src/semantics/invoice_payments.ts +18 -0
  279. package/src/semantics/invoiceitems.ts +59 -0
  280. package/src/semantics/invoices.ts +109 -443
  281. package/src/semantics/payment_intents.ts +83 -0
  282. package/src/semantics/payment_methods.ts +43 -0
  283. package/src/semantics/payouts.ts +23 -0
  284. package/src/semantics/prices.ts +42 -0
  285. package/src/semantics/products.ts +18 -142
  286. package/src/semantics/promotion_codes.ts +39 -0
  287. package/src/semantics/radar.ts +8 -77
  288. package/src/semantics/refunds.ts +9 -212
  289. package/src/semantics/setup_intents.ts +45 -0
  290. package/src/semantics/shared.ts +3092 -106
  291. package/src/semantics/states.ts +883 -0
  292. package/src/semantics/subscription_items.ts +54 -0
  293. package/src/semantics/subscription_schedules.ts +66 -0
  294. package/src/semantics/subscriptions.ts +49 -432
  295. package/src/semantics/{test-clocks.ts → test_helpers.ts} +23 -47
  296. package/src/semantics/transfers.ts +11 -131
  297. package/src/server.ts +8 -0
  298. package/client/dashboard-api.ts +0 -286
  299. package/client/stripe-mirror.css +0 -277
  300. package/client/stripe-mirror.tsx +0 -1559
  301. package/dist/client/dashboard-api.d.ts +0 -107
  302. package/dist/client/dashboard-api.js +0 -238
  303. package/dist/client/dashboard-api.ts +0 -286
  304. package/dist/client/stripe-mirror.bundle.js +0 -236
  305. package/dist/client/stripe-mirror.css +0 -277
  306. package/dist/client/stripe-mirror.d.ts +0 -134
  307. package/dist/client/stripe-mirror.js +0 -859
  308. package/dist/client/stripe-mirror.tsx +0 -1559
  309. package/dist/src/screens/connect-settings.js +0 -103
  310. package/dist/src/screens/consent-skin.d.ts +0 -4
  311. package/dist/src/screens/consent-skin.js +0 -18
  312. package/dist/src/screens/financial-connections.d.ts +0 -5
  313. package/dist/src/screens/financial-connections.js +0 -90
  314. package/dist/src/screens/identity.d.ts +0 -5
  315. package/dist/src/screens/identity.js +0 -86
  316. package/dist/src/screens/onboarding.d.ts +0 -13
  317. package/dist/src/screens/portal.d.ts +0 -5
  318. package/dist/src/screens/public-details.d.ts +0 -5
  319. package/dist/src/screens/public-details.js +0 -90
  320. package/dist/src/semantics/after-payment.d.ts +0 -22
  321. package/dist/src/semantics/after-payment.js +0 -99
  322. package/dist/src/semantics/apps-secrets.d.ts +0 -2
  323. package/dist/src/semantics/billing.d.ts +0 -2
  324. package/dist/src/semantics/billing.js +0 -220
  325. package/dist/src/semantics/connect.d.ts +0 -5
  326. package/dist/src/semantics/connect.js +0 -493
  327. package/dist/src/semantics/credit-notes.d.ts +0 -2
  328. package/dist/src/semantics/credit-notes.js +0 -172
  329. package/dist/src/semantics/ephemeral-keys.d.ts +0 -2
  330. package/dist/src/semantics/ephemeral-keys.js +0 -34
  331. package/dist/src/semantics/files.d.ts +0 -2
  332. package/dist/src/semantics/files.js +0 -125
  333. package/dist/src/semantics/issuing.d.ts +0 -13
  334. package/dist/src/semantics/issuing.js +0 -575
  335. package/dist/src/semantics/ledger.d.ts +0 -59
  336. package/dist/src/semantics/ledger.js +0 -200
  337. package/dist/src/semantics/payment-intents.d.ts +0 -18
  338. package/dist/src/semantics/payment-intents.js +0 -452
  339. package/dist/src/semantics/payment-links.d.ts +0 -2
  340. package/dist/src/semantics/payment-links.js +0 -133
  341. package/dist/src/semantics/payment-methods.d.ts +0 -20
  342. package/dist/src/semantics/payment-methods.js +0 -140
  343. package/dist/src/semantics/plans.d.ts +0 -5
  344. package/dist/src/semantics/plans.js +0 -121
  345. package/dist/src/semantics/platform.d.ts +0 -9
  346. package/dist/src/semantics/platform.js +0 -206
  347. package/dist/src/semantics/renewals.d.ts +0 -47
  348. package/dist/src/semantics/renewals.js +0 -281
  349. package/dist/src/semantics/setup-intents.d.ts +0 -2
  350. package/dist/src/semantics/subscription-schedules.d.ts +0 -2
  351. package/dist/src/semantics/subscription-schedules.js +0 -119
  352. package/dist/src/semantics/tax.d.ts +0 -2
  353. package/dist/src/semantics/tax.js +0 -197
  354. package/dist/src/semantics/terminal.d.ts +0 -5
  355. package/dist/src/semantics/terminal.js +0 -182
  356. package/dist/src/semantics/test-clocks.d.ts +0 -6
  357. package/dist/src/semantics/tokens.d.ts +0 -4
  358. package/dist/src/semantics/tokens.js +0 -44
  359. package/dist/src/semantics/treasury.d.ts +0 -2
  360. package/dist/src/semantics/treasury.js +0 -377
  361. package/dist/src/semantics/webhook-endpoints.d.ts +0 -3
  362. package/dist/src/semantics/webhook-endpoints.js +0 -85
  363. package/dist/src/stripe-budget.d.ts +0 -55
  364. package/dist/src/stripe-budget.js +0 -155
  365. package/dist/src/stripe-capabilities.d.ts +0 -3
  366. package/dist/src/stripe-capabilities.js +0 -5836
  367. package/dist/src/stripe-conformance.d.ts +0 -43
  368. package/dist/src/stripe-conformance.js +0 -105
  369. package/dist/src/stripe-connector.d.ts +0 -161
  370. package/dist/src/stripe-connector.js +0 -414
  371. package/dist/src/stripe-emit.d.ts +0 -2
  372. package/dist/src/stripe-emit.js +0 -145
  373. package/dist/src/stripe-events.d.ts +0 -93
  374. package/dist/src/stripe-events.js +0 -392
  375. package/dist/src/stripe-js.d.ts +0 -4
  376. package/dist/src/stripe-js.js +0 -70
  377. package/dist/src/stripe-mirror-ui.d.ts +0 -15
  378. package/dist/src/stripe-mirror-ui.js +0 -87
  379. package/dist/src/stripe-perform-harness.d.ts +0 -9
  380. package/dist/src/stripe-perform-harness.js +0 -26
  381. package/dist/src/stripe-server.d.ts +0 -33
  382. package/dist/src/stripe-server.js +0 -429
  383. package/dist/src/stripe-shared.d.ts +0 -109
  384. package/dist/src/stripe-shared.js +0 -276
  385. package/dist/src/stripe-ui-conformance.d.ts +0 -5
  386. package/dist/src/stripe-ui-conformance.js +0 -79
  387. package/dist/src/stripe-ui-structure.d.ts +0 -3
  388. package/dist/src/stripe-ui-structure.js +0 -168
  389. package/dist/test-fixtures/stripe-known-deviations.json +0 -110
  390. package/dist/test-fixtures/stripe-openapi-operations.SOURCE.md +0 -14
  391. package/dist/test-fixtures/stripe-openapi-operations.json +0 -4717
  392. package/dist/test-fixtures/stripe-schemas.SOURCE.md +0 -35
  393. package/dist/test-fixtures/stripe-schemas.json +0 -3813
  394. package/src/screens/connect-settings.tsx +0 -121
  395. package/src/screens/consent-skin.ts +0 -20
  396. package/src/screens/financial-connections.tsx +0 -101
  397. package/src/screens/identity.tsx +0 -96
  398. package/src/screens/public-details.tsx +0 -105
  399. package/src/semantics/after-payment.ts +0 -118
  400. package/src/semantics/billing.ts +0 -216
  401. package/src/semantics/connect.ts +0 -487
  402. package/src/semantics/credit-notes.ts +0 -168
  403. package/src/semantics/ephemeral-keys.ts +0 -34
  404. package/src/semantics/files.ts +0 -143
  405. package/src/semantics/issuing.ts +0 -590
  406. package/src/semantics/ledger.ts +0 -253
  407. package/src/semantics/payment-intents.ts +0 -463
  408. package/src/semantics/payment-links.ts +0 -148
  409. package/src/semantics/payment-methods.ts +0 -145
  410. package/src/semantics/plans.ts +0 -131
  411. package/src/semantics/platform.ts +0 -220
  412. package/src/semantics/renewals.ts +0 -279
  413. package/src/semantics/setup-intents.ts +0 -87
  414. package/src/semantics/subscription-schedules.ts +0 -129
  415. package/src/semantics/tax.ts +0 -220
  416. package/src/semantics/terminal.ts +0 -195
  417. package/src/semantics/tokens.ts +0 -52
  418. package/src/semantics/treasury.ts +0 -383
  419. package/src/semantics/webhook-endpoints.ts +0 -87
  420. package/src/stripe-budget.ts +0 -181
  421. package/src/stripe-capabilities.ts +0 -5651
  422. package/src/stripe-conformance.ts +0 -124
  423. package/src/stripe-connector.ts +0 -462
  424. package/src/stripe-emit.ts +0 -157
  425. package/src/stripe-events.ts +0 -434
  426. package/src/stripe-js.ts +0 -70
  427. package/src/stripe-mirror-ui.ts +0 -90
  428. package/src/stripe-perform-harness.ts +0 -29
  429. package/src/stripe-server.ts +0 -393
  430. package/src/stripe-shared.ts +0 -297
  431. package/src/stripe-ui-conformance.ts +0 -88
  432. package/src/stripe-ui-structure.ts +0 -182
  433. package/test-fixtures/stripe-known-deviations.json +0 -110
  434. package/test-fixtures/stripe-openapi-operations.json +0 -4717
  435. package/test-fixtures/stripe-schemas.json +0 -3813
  436. /package/dist/src/{screens → engine}/industries.d.ts +0 -0
  437. /package/dist/src/{screens → engine}/industries.js +0 -0
  438. /package/dist/src/{semantics → engine}/test-cards.d.ts +0 -0
  439. /package/dist/src/{semantics → engine}/test-cards.js +0 -0
  440. /package/dist/src/{stripe-version.d.ts → engine/version.d.ts} +0 -0
  441. /package/src/{screens → engine}/industries.ts +0 -0
  442. /package/src/{semantics → engine}/test-cards.ts +0 -0
@@ -1,277 +0,0 @@
1
- /* The Stripe Dashboard in test mode: white frame, left navigation, top search, list tables and detail pages. */
2
- :root {
3
- --text: #414552;
4
- --heading: #353a44;
5
- --muted: #687385;
6
- --faint: #87909f;
7
- --border: #ebeef1;
8
- --border-strong: #d5dbe1;
9
- --hover: #f6f8fa;
10
- --brand: #635bff;
11
- --brand-dark: #5851ea;
12
- --test: #f68a2f;
13
- --danger: #df1b41;
14
- --font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Ubuntu, sans-serif;
15
- --mono: "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
16
- }
17
- * { box-sizing: border-box; }
18
- html, body { margin: 0; background: #fff; color: var(--text); font: 14px/20px var(--font); -webkit-font-smoothing: antialiased; }
19
- a { color: inherit; text-decoration: none; }
20
- button { font: inherit; color: inherit; }
21
- h1, h2, h3 { margin: 0; color: var(--heading); }
22
- .mono { font-family: var(--mono); font-size: 12.5px; }
23
- .muted { color: var(--muted); }
24
- .small { font-size: 13px; line-height: 18px; }
25
- .strong { font-weight: 600; color: var(--heading); }
26
- .nowrap { white-space: nowrap; }
27
- .right { text-align: right; }
28
- .truncate { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
29
- .icon { flex: none; }
30
- .link { color: var(--brand); font-weight: 500; }
31
- .link:hover { color: #0a2540; }
32
-
33
- /* test mode */
34
- .test-band { position: sticky; top: 0; z-index: 30; height: 28px; display: flex; align-items: center; justify-content: center; gap: 10px; background: var(--test); color: #fff; font-size: 13px; }
35
- .test-band-tag { font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 12px; background: rgba(255,255,255,.22); padding: 0 8px; border-radius: 4px; line-height: 20px; }
36
- .test-band-text { font-weight: 500; }
37
-
38
- /* frame */
39
- .frame { display: flex; min-height: calc(100vh - 28px); }
40
- .side { position: sticky; top: 28px; height: calc(100vh - 28px); width: 248px; flex: none; border-right: 1px solid var(--border); padding: 12px 12px 16px; display: flex; flex-direction: column; overflow-y: auto; background: #fff; }
41
- .account-switcher { display: flex; align-items: center; gap: 10px; width: 100%; border: 0; background: none; padding: 8px 8px; border-radius: 6px; cursor: pointer; margin-bottom: 12px; text-align: left; }
42
- .account-switcher:hover { background: var(--hover); }
43
- .account-mark { width: 24px; height: 24px; border-radius: 6px; background: #0a2540; color: #fff; font-weight: 700; font-size: 13px; display: grid; place-items: center; }
44
- .account-name { flex: 1; font-weight: 600; color: var(--heading); }
45
- .nav-group { display: flex; flex-direction: column; gap: 1px; }
46
- .nav-heading { margin: 20px 8px 6px; font-size: 13px; font-weight: 600; color: var(--muted); }
47
- .nav-item { display: flex; align-items: center; gap: 10px; width: 100%; height: 32px; padding: 0 8px; border: 0; background: none; border-radius: 6px; cursor: pointer; font-weight: 500; color: var(--text); text-align: left; }
48
- .nav-item .icon { color: var(--muted); }
49
- .nav-item:hover { background: var(--hover); color: var(--heading); }
50
- .nav-item.active { color: var(--brand); font-weight: 600; }
51
- .nav-item.active .icon { color: var(--brand); }
52
- .nav-item span { flex: 1; }
53
- .nav-caret { margin-left: auto; opacity: .7; }
54
- .nav-sub { padding-left: 34px; height: 30px; font-weight: 400; }
55
- .nav-foot { margin-top: auto; padding-top: 12px; }
56
-
57
- .main { flex: 1; min-width: 0; display: flex; flex-direction: column; }
58
- .topbar { position: sticky; top: 28px; z-index: 20; height: 60px; display: flex; align-items: center; gap: 16px; padding: 0 32px; background: #fff; }
59
- .search { position: relative; flex: 1; max-width: 520px; }
60
- .search-icon { position: absolute; left: 10px; top: 8px; color: var(--muted); }
61
- .search-input { width: 100%; height: 32px; border: 0; border-radius: 6px; background: var(--hover); padding: 0 12px 0 34px; font: inherit; color: var(--heading); outline: none; }
62
- .search-input:focus { background: #fff; box-shadow: 0 0 0 1px var(--border-strong), 0 0 0 4px rgba(99,91,255,.18); }
63
- .search-input::placeholder { color: var(--muted); }
64
- .cmdk { position: absolute; top: 38px; left: 0; right: 0; background: #fff; border-radius: 8px; box-shadow: 0 0 0 1px rgba(64,68,82,.08), 0 8px 24px rgba(64,68,82,.18); padding: 6px 0; max-height: 420px; overflow-y: auto; }
65
- .cmdk-group { padding: 8px 14px 4px; font-size: 12px; font-weight: 600; color: var(--muted); }
66
- .cmdk-hit { display: flex; flex-direction: column; width: 100%; border: 0; background: none; text-align: left; padding: 6px 14px; cursor: pointer; }
67
- .cmdk-hit:hover { background: var(--hover); }
68
- .cmdk-hit-label { color: var(--heading); font-weight: 500; }
69
- .cmdk-hit-sub { color: var(--muted); font-size: 13px; }
70
- .cmdk-empty { padding: 10px 14px; color: var(--muted); }
71
- .topbar-actions { margin-left: auto; display: flex; align-items: center; gap: 4px; }
72
- .icon-btn { width: 32px; height: 32px; border: 0; background: none; border-radius: 6px; display: grid; place-items: center; cursor: pointer; color: var(--muted); }
73
- .icon-btn:hover { background: var(--hover); color: var(--heading); }
74
- .icon-btn.create { background: var(--brand); color: #fff; width: 28px; height: 28px; border-radius: 50%; margin-left: 6px; }
75
- .icon-btn.create:hover { background: var(--brand-dark); color: #fff; }
76
-
77
- .content { padding: 8px 32px 64px; max-width: 1360px; width: 100%; }
78
- .loading { padding: 40px 0; color: var(--muted); }
79
- .page-error { margin: 24px 0; padding: 12px 16px; border-radius: 6px; background: #fff1f3; color: #b3093c; }
80
-
81
- /* page heads */
82
- .page-head { margin: 12px 0 20px; }
83
- .kicker { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); font-weight: 500; margin-bottom: 6px; }
84
- .page-head-row { display: flex; align-items: center; gap: 16px; }
85
- .page-head h1 { font-size: 28px; line-height: 36px; font-weight: 700; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
86
- .page-actions { margin-left: auto; display: flex; gap: 8px; }
87
- .subtitle { color: var(--muted); margin-top: 4px; }
88
- .tabs { display: flex; gap: 24px; border-bottom: 1px solid var(--border); margin-top: 16px; }
89
- .tab { padding: 8px 0 10px; color: var(--muted); font-weight: 500; border-bottom: 2px solid transparent; margin-bottom: -1px; }
90
- .tab:hover { color: var(--heading); }
91
- .tab.active { color: var(--brand); border-bottom-color: var(--brand); font-weight: 600; }
92
- .summary { display: flex; margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--border); }
93
- .summary-item { padding: 0 24px; border-left: 1px solid var(--border); min-width: 120px; }
94
- .summary-item:first-child { padding-left: 0; border-left: 0; }
95
- .summary-label { color: var(--muted); font-size: 13px; margin-bottom: 2px; }
96
-
97
- /* amounts, pills, cards */
98
- .amount-value { font-weight: 600; color: var(--heading); }
99
- .amount-ccy { color: var(--muted); font-weight: 400; }
100
- h1 .amount-value { font-weight: 700; }
101
- h1 .amount-ccy { font-size: 28px; font-weight: 400; color: var(--faint); }
102
- .pill { display: inline-flex; align-items: center; gap: 4px; height: 20px; padding: 0 6px; border-radius: 4px; font-size: 12px; font-weight: 500; line-height: 18px; white-space: nowrap; border: 1px solid transparent; vertical-align: middle; }
103
- h1 .pill { font-size: 13px; height: 22px; }
104
- .pill-green { background: #d7f7c2; color: #05690d; border-color: #a6eb84; }
105
- .pill-grey { background: #ebeef1; color: #545969; border-color: #d5dbe1; }
106
- .pill-red { background: #ffe7f2; color: #b3093c; border-color: #ffccdf; }
107
- .pill-blue { background: #cff5f6; color: #0055bc; border-color: #a2e5ef; }
108
- .pill-orange { background: #fcedb9; color: #a82c00; border-color: #fcd579; }
109
- .pill-purple { background: #f2ebff; color: #533afd; border-color: #d8cbff; }
110
- .card-label { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
111
- .dots { color: var(--muted); letter-spacing: 1px; }
112
- .brand { display: inline-grid; place-items: center; width: 28px; height: 18px; border-radius: 3px; border: 1px solid var(--border-strong); background: #fff; font-size: 9px; font-weight: 800; font-style: italic; letter-spacing: .02em; }
113
- .brand-visa { color: #1a1f71; }
114
- .brand-amex { background: #1f72cd; border-color: #1f72cd; color: #fff; font-style: normal; font-size: 8px; }
115
- .brand-generic { color: var(--muted); }
116
- .check-pass { display: inline-flex; align-items: center; gap: 4px; color: #05690d; }
117
-
118
- /* filter cards */
119
- .filter-cards { display: flex; gap: 8px; margin-bottom: 16px; flex-wrap: wrap; }
120
- .filter-card { min-width: 140px; flex: 0 1 180px; text-align: left; background: #fff; border: 1px solid var(--border-strong); border-radius: 8px; padding: 8px 12px; cursor: pointer; display: flex; flex-direction: column; box-shadow: 0 1px 1px rgba(0,0,0,.03); }
121
- .filter-card:hover { border-color: #a3acba; }
122
- .filter-card.selected { border: 2px solid var(--brand); padding: 7px 11px; }
123
- .filter-card-label { font-size: 13px; color: var(--muted); font-weight: 500; }
124
- .filter-card.selected .filter-card-label { color: var(--brand); }
125
- .filter-card-count { font-size: 18px; line-height: 26px; font-weight: 600; color: var(--heading); }
126
- .filter-card.selected .filter-card-count { color: var(--brand); }
127
-
128
- /* tables */
129
- .table { width: 100%; border-collapse: collapse; }
130
- .table th { text-align: left; font-size: 13px; font-weight: 600; color: var(--heading); padding: 8px 12px 8px 0; border-bottom: 1px solid var(--border); white-space: nowrap; }
131
- .table td { padding: 9px 12px 9px 0; border-bottom: 1px solid var(--border); vertical-align: middle; }
132
- .table th.right, .table td.right { padding-right: 0; padding-left: 12px; text-align: right; }
133
- .table tr.list-row { cursor: pointer; }
134
- .table tr.list-row:hover td { background: var(--hover); }
135
- .table tr.table-total td { border-bottom: 0; }
136
- .table .empty-row td { border-bottom: 0; }
137
- .table-foot { display: flex; align-items: center; justify-content: space-between; padding: 12px 0; color: var(--muted); font-size: 13px; }
138
- .pager { display: flex; gap: 8px; }
139
- .empty { padding: 28px 0; text-align: center; }
140
- .empty-title { font-weight: 600; color: var(--heading); }
141
- .empty-body { color: var(--muted); margin-top: 4px; }
142
-
143
- /* buttons */
144
- .btn { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: 6px; border: 1px solid var(--border-strong); background: #fff; font-weight: 500; color: var(--heading); cursor: pointer; box-shadow: 0 1px 1px rgba(0,0,0,.05); white-space: nowrap; }
145
- .btn:hover { border-color: #a3acba; }
146
- .btn:disabled { color: #a3acba; cursor: default; box-shadow: none; }
147
- .btn:disabled:hover { border-color: var(--border-strong); }
148
- .btn-primary { background: var(--brand); border-color: var(--brand); color: #fff; box-shadow: 0 1px 1px rgba(0,0,0,.08); }
149
- .btn-primary:hover { background: var(--brand-dark); border-color: var(--brand-dark); }
150
- .btn-primary:disabled { background: #a4a1ff; border-color: #a4a1ff; color: #fff; }
151
- .btn-danger { background: var(--danger); border-color: var(--danger); color: #fff; }
152
- .btn-danger:hover { background: #c0123c; border-color: #c0123c; }
153
-
154
- /* sections */
155
- .section { margin-top: 32px; }
156
- .section-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 10px; border-bottom: 1px solid var(--border); margin-bottom: 4px; }
157
- .section-head h2 { font-size: 18px; line-height: 28px; font-weight: 700; }
158
- .section .table th { border-top: 0; }
159
- .props { margin: 0; display: grid; grid-template-columns: 1fr; }
160
- .prop { display: grid; grid-template-columns: 200px 1fr; padding: 6px 0; }
161
- .prop dt { color: var(--muted); }
162
- .prop dd { margin: 0; color: var(--heading); word-break: break-word; }
163
- .detail-side .prop { grid-template-columns: 1fr; padding: 5px 0; }
164
- .detail-side .prop dt { font-size: 13px; }
165
- .detail-columns { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; }
166
- .detail-side .section:first-child, .detail-main .section:first-child { margin-top: 8px; }
167
- .breakdown { margin: 8px 0 0; max-width: 480px; }
168
- .breakdown > div { display: flex; justify-content: space-between; padding: 5px 0; }
169
- .breakdown dt { color: var(--muted); }
170
- .breakdown dd { margin: 0; color: var(--heading); }
171
- .breakdown .total { border-top: 1px solid var(--border); margin-top: 4px; padding-top: 8px; font-weight: 600; }
172
- .breakdown .total dt { color: var(--heading); }
173
-
174
- /* timeline */
175
- .timeline { list-style: none; margin: 8px 0 0; padding: 0; }
176
- .timeline-item { position: relative; display: flex; gap: 12px; padding: 0 0 16px; }
177
- .timeline-item:not(:last-child)::before { content: ""; position: absolute; left: 5px; top: 16px; bottom: 0; width: 1px; background: var(--border-strong); }
178
- .timeline-dot { flex: none; width: 11px; height: 11px; border-radius: 50%; margin-top: 4px; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--border-strong); }
179
- .dot-green { background: #30b130; }
180
- .dot-red { background: var(--danger); }
181
- .dot-blue { background: var(--brand); }
182
- .dot-grey { background: #a3acba; }
183
- .timeline-text { color: var(--heading); font-weight: 500; }
184
- .timeline-time { color: var(--muted); font-size: 13px; }
185
-
186
- /* payment error */
187
- .pay-error { display: flex; gap: 10px; align-items: flex-start; margin: 8px 0 0; padding: 12px 14px; border-radius: 6px; background: #fff1f3; border: 1px solid #ffccdf; color: #b3093c; }
188
- .pay-error-label { font-weight: 600; }
189
- .pay-error-text { color: var(--heading); }
190
-
191
- /* subscriptions on a customer */
192
- .sub-list { display: flex; flex-direction: column; gap: 8px; margin-top: 8px; }
193
- .sub-card { display: block; border: 1px solid var(--border-strong); border-radius: 8px; padding: 10px 14px; }
194
- .sub-card:hover { background: var(--hover); }
195
- .sub-card-main { display: flex; align-items: center; gap: 8px; margin-bottom: 2px; }
196
-
197
- /* products */
198
- .product-cell { display: flex; align-items: center; gap: 12px; }
199
- .product-thumb { width: 36px; height: 36px; border-radius: 6px; background: var(--hover); border: 1px solid var(--border); display: grid; place-items: center; color: var(--faint); overflow: hidden; }
200
- .product-thumb img { width: 100%; height: 100%; object-fit: cover; }
201
-
202
- /* home */
203
- .today { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 32px; padding-bottom: 28px; border-bottom: 1px solid var(--border); }
204
- .today-label { color: var(--muted); font-weight: 500; display: flex; align-items: center; gap: 4px; }
205
- .today-value { font-size: 20px; line-height: 28px; font-weight: 600; color: var(--heading); margin: 2px 0 10px; }
206
- .spark { width: 100%; height: 120px; display: block; }
207
- .today-axis { display: flex; justify-content: space-between; color: var(--faint); font-size: 12px; margin-top: 4px; }
208
- .today-side { display: flex; flex-direction: column; }
209
- .today-side-block { padding: 12px 0; border-bottom: 1px solid var(--border); }
210
- .today-side-block:first-child { padding-top: 0; }
211
- .today-side-value { font-size: 20px; line-height: 28px; font-weight: 600; color: var(--heading); margin: 2px 0; }
212
- .overview-title { font-size: 20px; line-height: 28px; font-weight: 700; margin: 28px 0 16px; }
213
- .home-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--border); }
214
- .metric-card { display: flex; flex-direction: column; padding: 16px 24px 20px 0; border-bottom: 1px solid var(--border); }
215
- .metric-label { color: var(--muted); font-weight: 500; }
216
- .metric-value { font-size: 20px; line-height: 28px; font-weight: 600; color: var(--heading); margin-top: 4px; }
217
-
218
- /* balances */
219
- .balance-summary { display: flex; gap: 48px; padding: 12px 0 16px; }
220
- .balance-bucket { display: flex; flex-direction: column; }
221
- .balance-bucket-label { color: var(--muted); font-weight: 500; }
222
- .balance-bucket-amount { font-size: 20px; line-height: 28px; font-weight: 600; color: var(--heading); }
223
-
224
- /* connect */
225
- .connect-panel { border: 1px solid var(--border-strong); border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; }
226
- .connect-flags { display: flex; gap: 32px; }
227
- .connect-flag { display: flex; gap: 8px; align-items: center; }
228
- .connect-flag-label { color: var(--muted); }
229
- .connect-requirements { margin-top: 10px; }
230
- .connect-req-label { font-weight: 600; color: var(--heading); }
231
- .connect-req-list { margin: 4px 0 0; padding-left: 18px; }
232
-
233
- /* dialogs */
234
- .overlay { position: fixed; inset: 0; z-index: 50; background: rgba(48, 61, 82, .45); display: grid; place-items: start center; padding-top: 12vh; }
235
- .dialog { width: 480px; max-width: calc(100vw - 32px); background: #fff; border-radius: 10px; box-shadow: 0 0 0 1px rgba(64,68,82,.08), 0 16px 48px rgba(48,49,61,.3); overflow: hidden; }
236
- .dialog-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--border); }
237
- .dialog-head h2 { font-size: 18px; line-height: 26px; font-weight: 700; }
238
- .dialog-body { padding: 16px 20px 20px; display: flex; flex-direction: column; gap: 16px; }
239
- .dialog-foot { display: flex; justify-content: flex-end; gap: 8px; padding: 12px 20px; border-top: 1px solid var(--border); background: #fff; }
240
- .dialog-note { margin: 0; color: var(--muted); }
241
- .dialog-subhead { font-weight: 600; color: var(--heading); }
242
- .field { display: flex; flex-direction: column; gap: 6px; }
243
- .field-label { font-weight: 500; color: var(--heading); }
244
- .optional { color: var(--muted); font-weight: 400; }
245
- .field-hint { color: var(--muted); font-size: 13px; }
246
- .field input, .field select { height: 32px; border: 1px solid var(--border-strong); border-radius: 6px; padding: 0 10px; font: inherit; color: var(--heading); background: #fff; outline: none; box-shadow: 0 1px 1px rgba(0,0,0,.03); }
247
- .field input:focus, .field select:focus, .money-input:focus-within { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(99,91,255,.2); }
248
- .money-input { display: flex; align-items: center; height: 32px; border: 1px solid var(--border-strong); border-radius: 6px; padding: 0 10px; max-width: 220px; }
249
- .money-input input { flex: 1; min-width: 0; border: 0; height: 30px; padding: 0 4px; box-shadow: none; }
250
- .money-input input:focus { box-shadow: none; }
251
- .money-prefix, .money-suffix { color: var(--muted); }
252
- .radio-group { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
253
- .radio-group legend { margin-bottom: 8px; }
254
- .radio { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; color: var(--heading); }
255
- .radio input { margin-top: 3px; accent-color: var(--brand); }
256
- .radio-hint { display: block; color: var(--muted); font-size: 13px; }
257
- .form-error { color: #b3093c; background: #fff1f3; border-radius: 6px; padding: 8px 10px; }
258
-
259
- /* list toolbar: filter chips and Export */
260
- .toolbar { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; }
261
- .toolbar-right { margin-left: auto; display: flex; gap: 8px; }
262
- .chip-wrap { position: relative; }
263
- .chip { display: inline-flex; align-items: center; gap: 6px; height: 24px; padding: 0 10px 0 4px; border-radius: 12px; border: 1px dashed #a3acba; background: #fff; color: var(--text); font-size: 13px; font-weight: 500; cursor: pointer; }
264
- .chip:hover { border-color: var(--muted); }
265
- .chip-set { border-style: solid; border-color: var(--border-strong); }
266
- .chip-plus { width: 16px; height: 16px; border-radius: 50%; display: grid; place-items: center; color: var(--muted); border: 1px solid #a3acba; }
267
- .chip-set .chip-plus { border: 0; background: var(--hover); }
268
- .chip-sep { color: var(--border-strong); }
269
- .chip-value { color: var(--brand); }
270
- .popover { position: absolute; z-index: 40; top: 30px; left: 0; min-width: 220px; background: #fff; border-radius: 8px; box-shadow: 0 0 0 1px rgba(64,68,82,.08), 0 8px 24px rgba(64,68,82,.18); padding: 8px 0; }
271
- .popover-title { padding: 4px 14px 8px; font-weight: 600; color: var(--heading); font-size: 13px; }
272
- .popover-item { display: flex; align-items: center; gap: 8px; width: 100%; border: 0; background: none; padding: 6px 14px; text-align: left; cursor: pointer; font-size: 13px; }
273
- .popover-item:hover { background: var(--hover); }
274
- .popover-radio { width: 14px; height: 14px; border-radius: 50%; border: 1px solid #a3acba; flex: none; }
275
- .popover-item.checked .popover-radio { border: 4px solid var(--brand); }
276
- .show-note { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 16px; padding: 10px 12px; border: 1px solid var(--border-strong); border-radius: 6px; color: var(--text); font-size: 13px; }
277
- .show-note button { border: 0; background: none; color: var(--muted); cursor: pointer; padding: 2px; }
@@ -1,134 +0,0 @@
1
- import React from 'react';
2
- import { type StripeRow } from '../src/stripe-shared.js';
3
- import { type CustomerDetail, type Payment, type PaymentDetail, type SubscriptionDetail, type StripeObject } from './dashboard-api.js';
4
- export declare function routeOf(pathname: string): string[];
5
- type Go = (to: string) => void;
6
- export declare function formatDate(ts: unknown, withTime?: boolean): string;
7
- export declare function Icon({ name, size, className }: {
8
- name: string;
9
- size?: number;
10
- className?: string;
11
- }): React.JSX.Element;
12
- /** The card network mark Stripe shows beside a card's last four. */
13
- export declare function CardBrand({ brand }: {
14
- brand?: string;
15
- }): React.JSX.Element;
16
- export declare function CardLabel({ pm }: {
17
- pm?: StripeObject;
18
- }): React.JSX.Element;
19
- export declare function StatusPill({ value, suffix }: {
20
- value: unknown;
21
- suffix?: string;
22
- }): React.JSX.Element;
23
- /** A declined payment's reason, as Stripe states it above the payment. */
24
- export declare function PaymentErrorBanner({ error }: {
25
- error: any;
26
- }): React.JSX.Element | null;
27
- /** The balance's per-currency buckets: incoming (pending) and available. */
28
- export declare function BalanceSummary({ row }: {
29
- row: StripeRow;
30
- }): React.JSX.Element | null;
31
- /** A connected account's readiness: charges, payouts, details, and what is currently due. */
32
- export declare function ConnectAccountPanel({ row }: {
33
- row: StripeRow;
34
- }): React.JSX.Element | null;
35
- export type Section = {
36
- key: string;
37
- label: string;
38
- path: string;
39
- title: (r: StripeRow) => string;
40
- subtitle: (r: StripeRow) => string;
41
- page?: boolean;
42
- columns?: [string, string];
43
- };
44
- export declare const SECTIONS: Section[];
45
- /** A Stripe list table over one resource's objects. */
46
- export declare function ListPane({ section, rows, query, currentId, onSelect }: {
47
- section: Section;
48
- rows: StripeRow[];
49
- query?: string;
50
- currentId?: string;
51
- onSelect: (id: string) => void;
52
- }): React.JSX.Element;
53
- export type SearchHit = {
54
- to: string;
55
- kind: string;
56
- label: string;
57
- sub: string;
58
- };
59
- export declare function globalSearch(data: Record<string, StripeRow[]>, query: string, limit?: number): SearchHit[];
60
- export declare function SideNav({ route, go }: {
61
- route: string[];
62
- go: Go;
63
- }): React.JSX.Element;
64
- export declare function TestModeBand(): React.JSX.Element;
65
- export declare function computeHomeMetrics(data: {
66
- payments: Payment[];
67
- customers: StripeObject[];
68
- subscriptions: StripeObject[];
69
- invoices: StripeObject[];
70
- balance?: StripeObject;
71
- }): {
72
- currency: string;
73
- grossVolume: number;
74
- netVolume: number;
75
- available: number;
76
- pending: number;
77
- succeededPayments: number;
78
- failedPayments: number;
79
- customers: number;
80
- activeSubscriptions: number;
81
- openInvoices: number;
82
- };
83
- export declare function HomeScreen({ go }: {
84
- go: Go;
85
- }): React.JSX.Element;
86
- export declare function PaymentsTable({ payments, go, compact, noCustomer }: {
87
- payments: Payment[];
88
- go: Go;
89
- compact?: boolean;
90
- noCustomer?: boolean;
91
- }): React.JSX.Element;
92
- /** A payment's page: amount and status, who and how, the timeline of its events, the money, its refunds. */
93
- export declare function PaymentDetailView({ p, go, onRefund }: {
94
- p: PaymentDetail;
95
- go: Go;
96
- onRefund: () => void;
97
- }): React.JSX.Element;
98
- /** The create forms the Dashboard opens from a list page: each posts the resource's create call. */
99
- export declare const CREATE_FORMS: Record<string, {
100
- title: string;
101
- submit: string;
102
- fields: Array<{
103
- name: string;
104
- label: string;
105
- placeholder?: string;
106
- required?: boolean;
107
- type?: string;
108
- }>;
109
- }>;
110
- export declare function InvoicesTable({ invoices, customers, go, noCustomer }: {
111
- invoices: StripeObject[];
112
- customers?: Map<string, StripeObject>;
113
- go: Go;
114
- noCustomer?: boolean;
115
- }): React.JSX.Element;
116
- /** A customer's page: who they are, their subscriptions, payments, saved cards, invoices and events. */
117
- export declare function CustomerDetailView({ data, go }: {
118
- data: CustomerDetail;
119
- go: Go;
120
- }): React.JSX.Element;
121
- /** A subscription's page: whose, on what, its period and next invoice, its prices, invoices and events. */
122
- export declare function SubscriptionDetailView({ data, go, onCancel }: {
123
- data: SubscriptionDetail;
124
- go: Go;
125
- onCancel: () => void;
126
- }): React.JSX.Element;
127
- export declare function payoutScheduleText(account: StripeRow | undefined): string;
128
- export declare function Page({ route, search, go }: {
129
- route: string[];
130
- search: string;
131
- go: Go;
132
- }): React.JSX.Element;
133
- export declare function App(): React.JSX.Element;
134
- export {};