@teleporthq/teleport-plugin-next-workflows 0.43.65 → 0.43.67

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 (305) hide show
  1. package/__tests__/_helpers/bind-workflow-utils.ts +30 -0
  2. package/__tests__/_helpers/run-generated-middleware.ts +11 -2
  3. package/__tests__/admin-form-row-hydration.test.ts +55 -0
  4. package/__tests__/cart-clear-db-mirror.test.ts +12 -0
  5. package/__tests__/cart-get-total-regional-pricing.test.ts +166 -0
  6. package/__tests__/client-config-redaction.test.ts +53 -0
  7. package/__tests__/continue-on-error.test.ts +119 -0
  8. package/__tests__/email-locale-module.test.ts +323 -0
  9. package/__tests__/email-locale-senders.test.ts +268 -0
  10. package/__tests__/invoice-delivery-fee.test.ts +104 -0
  11. package/__tests__/invoice-regional-tax.test.ts +126 -0
  12. package/__tests__/locale-aware-redirects.test.ts +355 -0
  13. package/__tests__/navigation-go-to-page.test.ts +43 -0
  14. package/__tests__/node-handler-file-inline-map.test.ts +29 -3
  15. package/__tests__/payment-redirect-and-order-notification.test.ts +6 -0
  16. package/__tests__/paypal-webhook-order-notification.test.ts +41 -0
  17. package/__tests__/resolve-config-localized-templates.test.ts +262 -0
  18. package/__tests__/sent-email-log-module.test.ts +381 -0
  19. package/__tests__/sent-email-log-wiring.test.ts +267 -0
  20. package/dist/cjs/account-delete-route-generator.d.ts +20 -0
  21. package/dist/cjs/account-delete-route-generator.d.ts.map +1 -1
  22. package/dist/cjs/account-delete-route-generator.js +29 -26
  23. package/dist/cjs/account-delete-route-generator.js.map +1 -1
  24. package/dist/cjs/api-route-generator.d.ts.map +1 -1
  25. package/dist/cjs/api-route-generator.js +57 -11
  26. package/dist/cjs/api-route-generator.js.map +1 -1
  27. package/dist/cjs/auth-generator.d.ts +2 -1
  28. package/dist/cjs/auth-generator.d.ts.map +1 -1
  29. package/dist/cjs/auth-generator.js +55 -18
  30. package/dist/cjs/auth-generator.js.map +1 -1
  31. package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
  32. package/dist/cjs/data-api-route-generator.js +19 -0
  33. package/dist/cjs/data-api-route-generator.js.map +1 -1
  34. package/dist/cjs/email-locale/email-locale-code.d.ts +25 -0
  35. package/dist/cjs/email-locale/email-locale-code.d.ts.map +1 -0
  36. package/dist/cjs/email-locale/email-locale-code.js +228 -0
  37. package/dist/cjs/email-locale/email-locale-code.js.map +1 -0
  38. package/dist/cjs/email-locale/email-locale-scope.d.ts +46 -0
  39. package/dist/cjs/email-locale/email-locale-scope.d.ts.map +1 -0
  40. package/dist/cjs/email-locale/email-locale-scope.js +51 -0
  41. package/dist/cjs/email-locale/email-locale-scope.js.map +1 -0
  42. package/dist/cjs/email-locale/index.d.ts +11 -0
  43. package/dist/cjs/email-locale/index.d.ts.map +1 -0
  44. package/dist/cjs/email-locale/index.js +40 -0
  45. package/dist/cjs/email-locale/index.js.map +1 -0
  46. package/dist/cjs/executor-generator.d.ts +11 -1
  47. package/dist/cjs/executor-generator.d.ts.map +1 -1
  48. package/dist/cjs/executor-generator.js +49 -7
  49. package/dist/cjs/executor-generator.js.map +1 -1
  50. package/dist/cjs/index.d.ts +2 -0
  51. package/dist/cjs/index.d.ts.map +1 -1
  52. package/dist/cjs/index.js +9 -1
  53. package/dist/cjs/index.js.map +1 -1
  54. package/dist/cjs/invoice/api-routes-code.d.ts.map +1 -1
  55. package/dist/cjs/invoice/api-routes-code.js +55 -6
  56. package/dist/cjs/invoice/api-routes-code.js.map +1 -1
  57. package/dist/cjs/invoice/email-sender-code.d.ts.map +1 -1
  58. package/dist/cjs/invoice/email-sender-code.js +72 -31
  59. package/dist/cjs/invoice/email-sender-code.js.map +1 -1
  60. package/dist/cjs/invoice/index.d.ts +1 -4
  61. package/dist/cjs/invoice/index.d.ts.map +1 -1
  62. package/dist/cjs/invoice/index.js +8 -19
  63. package/dist/cjs/invoice/index.js.map +1 -1
  64. package/dist/cjs/invoice/invoice-html-code.d.ts.map +1 -1
  65. package/dist/cjs/invoice/invoice-html-code.js +31 -8
  66. package/dist/cjs/invoice/invoice-html-code.js.map +1 -1
  67. package/dist/cjs/invoice/regional-invoice-tax-code.d.ts +25 -0
  68. package/dist/cjs/invoice/regional-invoice-tax-code.d.ts.map +1 -0
  69. package/dist/cjs/invoice/regional-invoice-tax-code.js +116 -0
  70. package/dist/cjs/invoice/regional-invoice-tax-code.js.map +1 -0
  71. package/dist/cjs/invoice/resolve-data-source.d.ts +6 -0
  72. package/dist/cjs/invoice/resolve-data-source.d.ts.map +1 -0
  73. package/dist/cjs/invoice/resolve-data-source.js +23 -0
  74. package/dist/cjs/invoice/resolve-data-source.js.map +1 -0
  75. package/dist/cjs/nodes/account/account-delete-current.d.ts.map +1 -1
  76. package/dist/cjs/nodes/account/account-delete-current.js +10 -3
  77. package/dist/cjs/nodes/account/account-delete-current.js.map +1 -1
  78. package/dist/cjs/nodes/account/account-login.d.ts.map +1 -1
  79. package/dist/cjs/nodes/account/account-login.js +3 -1
  80. package/dist/cjs/nodes/account/account-login.js.map +1 -1
  81. package/dist/cjs/nodes/account/account-logout.d.ts.map +1 -1
  82. package/dist/cjs/nodes/account/account-logout.js +4 -2
  83. package/dist/cjs/nodes/account/account-logout.js.map +1 -1
  84. package/dist/cjs/nodes/account/account-signup.d.ts.map +1 -1
  85. package/dist/cjs/nodes/account/account-signup.js +12 -2
  86. package/dist/cjs/nodes/account/account-signup.js.map +1 -1
  87. package/dist/cjs/nodes/account/account-social-login.d.ts.map +1 -1
  88. package/dist/cjs/nodes/account/account-social-login.js +4 -2
  89. package/dist/cjs/nodes/account/account-social-login.js.map +1 -1
  90. package/dist/cjs/nodes/cart/cart-clear.d.ts.map +1 -1
  91. package/dist/cjs/nodes/cart/cart-clear.js +6 -0
  92. package/dist/cjs/nodes/cart/cart-clear.js.map +1 -1
  93. package/dist/cjs/nodes/cart/cart-get-total.d.ts.map +1 -1
  94. package/dist/cjs/nodes/cart/cart-get-total.js +81 -5
  95. package/dist/cjs/nodes/cart/cart-get-total.js.map +1 -1
  96. package/dist/cjs/nodes/data/data-create-item.d.ts.map +1 -1
  97. package/dist/cjs/nodes/data/data-create-item.js +16 -0
  98. package/dist/cjs/nodes/data/data-create-item.js.map +1 -1
  99. package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.d.ts.map +1 -1
  100. package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js +6 -0
  101. package/dist/cjs/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
  102. package/dist/cjs/nodes/navigation/navigation-go-to-page.d.ts.map +1 -1
  103. package/dist/cjs/nodes/navigation/navigation-go-to-page.js +4 -1
  104. package/dist/cjs/nodes/navigation/navigation-go-to-page.js.map +1 -1
  105. package/dist/cjs/nodes/navigation/navigation-navigate-to-url.d.ts.map +1 -1
  106. package/dist/cjs/nodes/navigation/navigation-navigate-to-url.js +5 -2
  107. package/dist/cjs/nodes/navigation/navigation-navigate-to-url.js.map +1 -1
  108. package/dist/cjs/nodes/payment/payment-charge-user.d.ts.map +1 -1
  109. package/dist/cjs/nodes/payment/payment-charge-user.js +7 -2
  110. package/dist/cjs/nodes/payment/payment-charge-user.js.map +1 -1
  111. package/dist/cjs/segment-splitter.d.ts +1 -1
  112. package/dist/cjs/segment-splitter.d.ts.map +1 -1
  113. package/dist/cjs/segment-splitter.js +29 -2
  114. package/dist/cjs/segment-splitter.js.map +1 -1
  115. package/dist/cjs/sent-email-log/index.d.ts +16 -0
  116. package/dist/cjs/sent-email-log/index.d.ts.map +1 -0
  117. package/dist/cjs/sent-email-log/index.js +53 -0
  118. package/dist/cjs/sent-email-log/index.js.map +1 -0
  119. package/dist/cjs/sent-email-log/sent-email-log-code.d.ts +4 -0
  120. package/dist/cjs/sent-email-log/sent-email-log-code.d.ts.map +1 -0
  121. package/dist/cjs/sent-email-log/sent-email-log-code.js +415 -0
  122. package/dist/cjs/sent-email-log/sent-email-log-code.js.map +1 -0
  123. package/dist/cjs/sent-email-log/sent-email-log-scope.d.ts +21 -0
  124. package/dist/cjs/sent-email-log/sent-email-log-scope.d.ts.map +1 -0
  125. package/dist/cjs/sent-email-log/sent-email-log-scope.js +36 -0
  126. package/dist/cjs/sent-email-log/sent-email-log-scope.js.map +1 -0
  127. package/dist/cjs/transactional-email-code.d.ts +39 -1
  128. package/dist/cjs/transactional-email-code.d.ts.map +1 -1
  129. package/dist/cjs/transactional-email-code.js +86 -12
  130. package/dist/cjs/transactional-email-code.js.map +1 -1
  131. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  132. package/dist/cjs/webhook-generator.d.ts.map +1 -1
  133. package/dist/cjs/webhook-generator.js +9 -2
  134. package/dist/cjs/webhook-generator.js.map +1 -1
  135. package/dist/cjs/workflow-component-plugin.js +4 -3
  136. package/dist/cjs/workflow-component-plugin.js.map +1 -1
  137. package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
  138. package/dist/cjs/workflow-project-plugin.js +31 -3
  139. package/dist/cjs/workflow-project-plugin.js.map +1 -1
  140. package/dist/cjs/workflow-utils-alias.d.ts +21 -0
  141. package/dist/cjs/workflow-utils-alias.d.ts.map +1 -0
  142. package/dist/cjs/workflow-utils-alias.js +27 -0
  143. package/dist/cjs/workflow-utils-alias.js.map +1 -0
  144. package/dist/esm/account-delete-route-generator.d.ts +20 -0
  145. package/dist/esm/account-delete-route-generator.d.ts.map +1 -1
  146. package/dist/esm/account-delete-route-generator.js +30 -27
  147. package/dist/esm/account-delete-route-generator.js.map +1 -1
  148. package/dist/esm/api-route-generator.d.ts.map +1 -1
  149. package/dist/esm/api-route-generator.js +57 -11
  150. package/dist/esm/api-route-generator.js.map +1 -1
  151. package/dist/esm/auth-generator.d.ts +2 -1
  152. package/dist/esm/auth-generator.d.ts.map +1 -1
  153. package/dist/esm/auth-generator.js +56 -19
  154. package/dist/esm/auth-generator.js.map +1 -1
  155. package/dist/esm/data-api-route-generator.d.ts.map +1 -1
  156. package/dist/esm/data-api-route-generator.js +19 -0
  157. package/dist/esm/data-api-route-generator.js.map +1 -1
  158. package/dist/esm/email-locale/email-locale-code.d.ts +25 -0
  159. package/dist/esm/email-locale/email-locale-code.d.ts.map +1 -0
  160. package/dist/esm/email-locale/email-locale-code.js +222 -0
  161. package/dist/esm/email-locale/email-locale-code.js.map +1 -0
  162. package/dist/esm/email-locale/email-locale-scope.d.ts +46 -0
  163. package/dist/esm/email-locale/email-locale-scope.d.ts.map +1 -0
  164. package/dist/esm/email-locale/email-locale-scope.js +47 -0
  165. package/dist/esm/email-locale/email-locale-scope.js.map +1 -0
  166. package/dist/esm/email-locale/index.d.ts +11 -0
  167. package/dist/esm/email-locale/index.d.ts.map +1 -0
  168. package/dist/esm/email-locale/index.js +28 -0
  169. package/dist/esm/email-locale/index.js.map +1 -0
  170. package/dist/esm/executor-generator.d.ts +11 -1
  171. package/dist/esm/executor-generator.d.ts.map +1 -1
  172. package/dist/esm/executor-generator.js +49 -7
  173. package/dist/esm/executor-generator.js.map +1 -1
  174. package/dist/esm/index.d.ts +2 -0
  175. package/dist/esm/index.d.ts.map +1 -1
  176. package/dist/esm/index.js +2 -0
  177. package/dist/esm/index.js.map +1 -1
  178. package/dist/esm/invoice/api-routes-code.d.ts.map +1 -1
  179. package/dist/esm/invoice/api-routes-code.js +55 -6
  180. package/dist/esm/invoice/api-routes-code.js.map +1 -1
  181. package/dist/esm/invoice/email-sender-code.d.ts.map +1 -1
  182. package/dist/esm/invoice/email-sender-code.js +72 -31
  183. package/dist/esm/invoice/email-sender-code.js.map +1 -1
  184. package/dist/esm/invoice/index.d.ts +1 -4
  185. package/dist/esm/invoice/index.d.ts.map +1 -1
  186. package/dist/esm/invoice/index.js +7 -18
  187. package/dist/esm/invoice/index.js.map +1 -1
  188. package/dist/esm/invoice/invoice-html-code.d.ts.map +1 -1
  189. package/dist/esm/invoice/invoice-html-code.js +31 -8
  190. package/dist/esm/invoice/invoice-html-code.js.map +1 -1
  191. package/dist/esm/invoice/regional-invoice-tax-code.d.ts +25 -0
  192. package/dist/esm/invoice/regional-invoice-tax-code.d.ts.map +1 -0
  193. package/dist/esm/invoice/regional-invoice-tax-code.js +113 -0
  194. package/dist/esm/invoice/regional-invoice-tax-code.js.map +1 -0
  195. package/dist/esm/invoice/resolve-data-source.d.ts +6 -0
  196. package/dist/esm/invoice/resolve-data-source.d.ts.map +1 -0
  197. package/dist/esm/invoice/resolve-data-source.js +19 -0
  198. package/dist/esm/invoice/resolve-data-source.js.map +1 -0
  199. package/dist/esm/nodes/account/account-delete-current.d.ts.map +1 -1
  200. package/dist/esm/nodes/account/account-delete-current.js +10 -3
  201. package/dist/esm/nodes/account/account-delete-current.js.map +1 -1
  202. package/dist/esm/nodes/account/account-login.d.ts.map +1 -1
  203. package/dist/esm/nodes/account/account-login.js +3 -1
  204. package/dist/esm/nodes/account/account-login.js.map +1 -1
  205. package/dist/esm/nodes/account/account-logout.d.ts.map +1 -1
  206. package/dist/esm/nodes/account/account-logout.js +4 -2
  207. package/dist/esm/nodes/account/account-logout.js.map +1 -1
  208. package/dist/esm/nodes/account/account-signup.d.ts.map +1 -1
  209. package/dist/esm/nodes/account/account-signup.js +12 -2
  210. package/dist/esm/nodes/account/account-signup.js.map +1 -1
  211. package/dist/esm/nodes/account/account-social-login.d.ts.map +1 -1
  212. package/dist/esm/nodes/account/account-social-login.js +4 -2
  213. package/dist/esm/nodes/account/account-social-login.js.map +1 -1
  214. package/dist/esm/nodes/cart/cart-clear.d.ts.map +1 -1
  215. package/dist/esm/nodes/cart/cart-clear.js +6 -0
  216. package/dist/esm/nodes/cart/cart-clear.js.map +1 -1
  217. package/dist/esm/nodes/cart/cart-get-total.d.ts.map +1 -1
  218. package/dist/esm/nodes/cart/cart-get-total.js +81 -5
  219. package/dist/esm/nodes/cart/cart-get-total.js.map +1 -1
  220. package/dist/esm/nodes/data/data-create-item.d.ts.map +1 -1
  221. package/dist/esm/nodes/data/data-create-item.js +16 -0
  222. package/dist/esm/nodes/data/data-create-item.js.map +1 -1
  223. package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.d.ts.map +1 -1
  224. package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js +6 -0
  225. package/dist/esm/nodes/ecommerce/ecommerce-generate-invoice.js.map +1 -1
  226. package/dist/esm/nodes/navigation/navigation-go-to-page.d.ts.map +1 -1
  227. package/dist/esm/nodes/navigation/navigation-go-to-page.js +4 -1
  228. package/dist/esm/nodes/navigation/navigation-go-to-page.js.map +1 -1
  229. package/dist/esm/nodes/navigation/navigation-navigate-to-url.d.ts.map +1 -1
  230. package/dist/esm/nodes/navigation/navigation-navigate-to-url.js +5 -2
  231. package/dist/esm/nodes/navigation/navigation-navigate-to-url.js.map +1 -1
  232. package/dist/esm/nodes/payment/payment-charge-user.d.ts.map +1 -1
  233. package/dist/esm/nodes/payment/payment-charge-user.js +7 -2
  234. package/dist/esm/nodes/payment/payment-charge-user.js.map +1 -1
  235. package/dist/esm/segment-splitter.d.ts +1 -1
  236. package/dist/esm/segment-splitter.d.ts.map +1 -1
  237. package/dist/esm/segment-splitter.js +29 -2
  238. package/dist/esm/segment-splitter.js.map +1 -1
  239. package/dist/esm/sent-email-log/index.d.ts +16 -0
  240. package/dist/esm/sent-email-log/index.d.ts.map +1 -0
  241. package/dist/esm/sent-email-log/index.js +45 -0
  242. package/dist/esm/sent-email-log/index.js.map +1 -0
  243. package/dist/esm/sent-email-log/sent-email-log-code.d.ts +4 -0
  244. package/dist/esm/sent-email-log/sent-email-log-code.d.ts.map +1 -0
  245. package/dist/esm/sent-email-log/sent-email-log-code.js +411 -0
  246. package/dist/esm/sent-email-log/sent-email-log-code.js.map +1 -0
  247. package/dist/esm/sent-email-log/sent-email-log-scope.d.ts +21 -0
  248. package/dist/esm/sent-email-log/sent-email-log-scope.d.ts.map +1 -0
  249. package/dist/esm/sent-email-log/sent-email-log-scope.js +31 -0
  250. package/dist/esm/sent-email-log/sent-email-log-scope.js.map +1 -0
  251. package/dist/esm/transactional-email-code.d.ts +39 -1
  252. package/dist/esm/transactional-email-code.d.ts.map +1 -1
  253. package/dist/esm/transactional-email-code.js +81 -10
  254. package/dist/esm/transactional-email-code.js.map +1 -1
  255. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  256. package/dist/esm/webhook-generator.d.ts.map +1 -1
  257. package/dist/esm/webhook-generator.js +9 -2
  258. package/dist/esm/webhook-generator.js.map +1 -1
  259. package/dist/esm/workflow-component-plugin.js +4 -3
  260. package/dist/esm/workflow-component-plugin.js.map +1 -1
  261. package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
  262. package/dist/esm/workflow-project-plugin.js +32 -4
  263. package/dist/esm/workflow-project-plugin.js.map +1 -1
  264. package/dist/esm/workflow-utils-alias.d.ts +21 -0
  265. package/dist/esm/workflow-utils-alias.d.ts.map +1 -0
  266. package/dist/esm/workflow-utils-alias.js +21 -0
  267. package/dist/esm/workflow-utils-alias.js.map +1 -0
  268. package/package.json +4 -4
  269. package/src/account-delete-route-generator.ts +36 -7
  270. package/src/api-route-generator.ts +64 -11
  271. package/src/auth-generator.ts +63 -18
  272. package/src/data-api-route-generator.ts +19 -0
  273. package/src/email-locale/email-locale-code.ts +239 -0
  274. package/src/email-locale/email-locale-scope.ts +65 -0
  275. package/src/email-locale/index.ts +46 -0
  276. package/src/executor-generator.ts +65 -7
  277. package/src/index.ts +8 -0
  278. package/src/invoice/api-routes-code.ts +65 -6
  279. package/src/invoice/email-sender-code.ts +72 -31
  280. package/src/invoice/index.ts +7 -23
  281. package/src/invoice/invoice-html-code.ts +31 -8
  282. package/src/invoice/regional-invoice-tax-code.ts +112 -0
  283. package/src/invoice/resolve-data-source.ts +25 -0
  284. package/src/nodes/account/account-delete-current.ts +10 -3
  285. package/src/nodes/account/account-login.ts +3 -1
  286. package/src/nodes/account/account-logout.ts +4 -2
  287. package/src/nodes/account/account-signup.ts +12 -2
  288. package/src/nodes/account/account-social-login.ts +7 -2
  289. package/src/nodes/cart/cart-clear.ts +6 -0
  290. package/src/nodes/cart/cart-get-total.ts +94 -5
  291. package/src/nodes/data/data-create-item.ts +16 -0
  292. package/src/nodes/ecommerce/ecommerce-generate-invoice.ts +6 -0
  293. package/src/nodes/navigation/navigation-go-to-page.ts +5 -1
  294. package/src/nodes/navigation/navigation-navigate-to-url.ts +6 -2
  295. package/src/nodes/payment/payment-charge-user.ts +13 -2
  296. package/src/nodes/workflow-utils-global.d.ts +12 -0
  297. package/src/segment-splitter.ts +33 -2
  298. package/src/sent-email-log/index.ts +57 -0
  299. package/src/sent-email-log/sent-email-log-code.ts +419 -0
  300. package/src/sent-email-log/sent-email-log-scope.ts +36 -0
  301. package/src/transactional-email-code.ts +112 -4
  302. package/src/webhook-generator.ts +11 -2
  303. package/src/workflow-component-plugin.ts +4 -3
  304. package/src/workflow-project-plugin.ts +36 -4
  305. package/src/workflow-utils-alias.ts +26 -0
@@ -285,6 +285,7 @@ function buildInvoiceDataScope(invoiceData) {
285
285
  discountAmount: formatCurrencyValue(invoiceData.discountAmount, sym),
286
286
  shippingAmount: formatCurrencyValue(shippingAmountNumber, sym),
287
287
  hasShipping: shippingAmountNumber > 0 ? 'true' : 'false',
288
+ hasTax: Number(invoiceData.taxAmount) > 0 ? 'true' : 'false',
288
289
  total: formatCurrencyValue(invoiceData.total, sym),
289
290
  currency: invoiceData.currency || 'USD',
290
291
  currencySymbol: sym,
@@ -331,13 +332,18 @@ function buildInvoiceDataScope(invoiceData) {
331
332
  var lineStored = Number(it.totalPrice || it.total_price);
332
333
  if (!isFinite(lineStored) || lineStored === 0) lineStored = qty * unitStored;
333
334
 
334
- var unitNet = computeNetFromGrossValue(unitStored, taxRate, taxIncluded);
335
- var lineNet = computeNetFromGrossValue(lineStored, taxRate, taxIncluded);
335
+ // A line on an order priced by region carries its own rate and inclusion
336
+ // mode (a food line at 7% beside a tools line at 19%); every other line is
337
+ // taxed at the invoice's single rate.
338
+ var lineRate = typeof it.taxIncluded === 'boolean' ? Number(it.taxRate) || 0 : taxRate;
339
+ var lineIncluded = typeof it.taxIncluded === 'boolean' ? it.taxIncluded : taxIncluded;
340
+ var unitNet = computeNetFromGrossValue(unitStored, lineRate, lineIncluded);
341
+ var lineNet = computeNetFromGrossValue(lineStored, lineRate, lineIncluded);
336
342
  // Per-unit VAT mirrors the GUI helper: derived from the NET unit
337
343
  // price at the configured rate (rather than dividing line VAT by qty,
338
344
  // which yields odd values when qty is 0 or missing).
339
- var unitVat = computeLineVatAmountValue(unitStored, taxRate, taxIncluded);
340
- var lineVat = computeLineVatAmountValue(lineStored, taxRate, taxIncluded);
345
+ var unitVat = computeLineVatAmountValue(unitStored, lineRate, lineIncluded);
346
+ var lineVat = computeLineVatAmountValue(lineStored, lineRate, lineIncluded);
341
347
  var unitGross = unitNet + unitVat;
342
348
  var lineGross = lineNet + lineVat;
343
349
 
@@ -375,6 +381,9 @@ function buildInvoiceDataScope(invoiceData) {
375
381
  lineTotalNet: formatCurrencyValue(lineNet, sym),
376
382
  lineTotalGross: formatCurrencyValue(lineGross, sym),
377
383
  lineVatAmount: formatCurrencyValue(lineVat, sym),
384
+ // The rate this line was taxed at ("20%"): its own on an order priced by
385
+ // region, the invoice's single rate otherwise. Bound by the VAT % column.
386
+ lineVatRate: (lineRate > 0 ? Math.round(lineRate * 100) / 100 : 0) + '%',
378
387
  sku: it.sku || '',
379
388
  itemTaxRate: it.taxRate != null ? String(it.taxRate) : (taxRate > 0 ? String(taxRate) : ''),
380
389
  itemTaxAmount: it.taxAmount != null ? formatCurrencyValue(it.taxAmount, sym) : formatCurrencyValue(lineVat, sym),
@@ -545,13 +554,20 @@ function resolveReferenceValue(ref, scope) {
545
554
  }
546
555
 
547
556
  function matchConditionOperation(val, op, operand) {
557
+ // The editor stores every operand as a STRING ('true', '0'), while
558
+ // \`resolveReferenceValue\` hands back a typed value for \`expr\` references
559
+ // (it turns 'true' into boolean true). A strict \`===\` across those two
560
+ // shapes never matches — that is how the template's Delivery row, gated on
561
+ // \`Invoice.hasShipping = 'true'\`, stayed hidden on every invoice with a
562
+ // fee — so mixed-type equality compares the string forms instead.
563
+ var sameType = typeof val === typeof operand;
548
564
  switch (op) {
549
565
  case '=':
550
566
  case '===':
551
- return val === operand;
567
+ return sameType ? val === operand : String(val) === String(operand);
552
568
  case '!=':
553
569
  case '!==':
554
- return val !== operand;
570
+ return sameType ? val !== operand : String(val) !== String(operand);
555
571
  case '>': return Number(val) > Number(operand);
556
572
  case '<': return Number(val) < Number(operand);
557
573
  case '>=': return Number(val) >= Number(operand);
@@ -896,18 +912,25 @@ function buildFallbackInvoiceHtml(scope) {
896
912
  '<th style="text-align:left;border-bottom:2px solid #333;padding:6px;">Item</th>' +
897
913
  '<th style="text-align:right;border-bottom:2px solid #333;padding:6px;">Qty</th>' +
898
914
  '<th style="text-align:right;border-bottom:2px solid #333;padding:6px;">Unit Price</th>' +
915
+ '<th style="text-align:right;border-bottom:2px solid #333;padding:6px;">VAT %</th>' +
916
+ '<th style="text-align:right;border-bottom:2px solid #333;padding:6px;">VAT</th>' +
899
917
  '<th style="text-align:right;border-bottom:2px solid #333;padding:6px;">Total</th>' +
900
918
  '</tr></thead><tbody>');
901
919
  products.forEach(function (p) {
902
920
  parts.push('<tr>' +
903
921
  '<td style="border-bottom:1px solid #eee;padding:6px;">' + (p.variantSwatchesHtml || '') + escapeHtml(p.name) + '</td>' +
904
922
  '<td style="border-bottom:1px solid #eee;padding:6px;text-align:right;">' + escapeHtml(p.quantity) + '</td>' +
905
- '<td style="border-bottom:1px solid #eee;padding:6px;text-align:right;">' + escapeHtml(p.unitPrice) + '</td>' +
906
- '<td style="border-bottom:1px solid #eee;padding:6px;text-align:right;">' + escapeHtml(p.lineTotal) + '</td>' +
923
+ '<td style="border-bottom:1px solid #eee;padding:6px;text-align:right;">' + escapeHtml(p.unitPriceNet) + '</td>' +
924
+ '<td style="border-bottom:1px solid #eee;padding:6px;text-align:right;">' + escapeHtml(p.lineVatRate) + '</td>' +
925
+ '<td style="border-bottom:1px solid #eee;padding:6px;text-align:right;">' + escapeHtml(p.lineVatAmount) + '</td>' +
926
+ '<td style="border-bottom:1px solid #eee;padding:6px;text-align:right;">' + escapeHtml(p.lineTotalGross) + '</td>' +
907
927
  '</tr>');
908
928
  });
909
929
  parts.push('</tbody></table>');
910
930
  var totalsRows = '<div style="display:flex;justify-content:space-between;margin-bottom:4px;"><span>Subtotal</span><span>' + escapeHtml(inv.subtotal) + '</span></div>';
931
+ if (inv.hasTax === 'true') {
932
+ totalsRows += '<div style="display:flex;justify-content:space-between;margin-bottom:4px;"><span>VAT</span><span>' + escapeHtml(inv.taxAmount) + '</span></div>';
933
+ }
911
934
  if (inv.hasShipping === 'true') {
912
935
  totalsRows += '<div style="display:flex;justify-content:space-between;margin-bottom:4px;"><span>Delivery</span><span>' + escapeHtml(inv.shippingAmount) + '</span></div>';
913
936
  }
@@ -1 +1 @@
1
- {"version":3,"file":"invoice-html-code.js","sourceRoot":"","sources":["../../../src/invoice/invoice-html-code.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invoice-html-code.js","sourceRoot":"","sources":["../../../src/invoice/invoice-html-code.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Invoice VAT for an order placed on a store with shipping zones and tax
3
+ * jurisdictions, as source for the generated `/api/invoices/generate` route.
4
+ *
5
+ * Such an order does not have ONE rate: a German food line at 7% can sit beside
6
+ * a tools line at 19%, a French order's prices may include VAT while the store
7
+ * default adds it on top, and the delivery fee may be taxed. The store's
8
+ * baked `DEFAULT_TAX_RATE` / `TAX_INCLUDED_IN_PRICE` describe none of that, so
9
+ * the place-order workflow records what was actually charged in
10
+ * `teleport_orders.tax_breakdown`, and this prices the invoice from it.
11
+ *
12
+ * Totals reconcile with `teleport_orders.total_amount` by construction:
13
+ * `goods (gross) + shipping_amount (gross) - discount_amount`. The discount is
14
+ * taken off the goods first and only then off the shipping, exactly as the
15
+ * payment line items split it, and each part's tax shrinks in proportion.
16
+ *
17
+ * The printed rows add up too: `subtotal` (goods, net) + `taxAmount` (goods
18
+ * AND shipping tax) + `shippingNet` = `total`. Delivery is therefore shown net
19
+ * of its tax, or its tax would be counted twice.
20
+ *
21
+ * An order without a breakdown — every order placed before regions existed —
22
+ * returns null and keeps the single-rate arithmetic it was always invoiced with.
23
+ */
24
+ export declare const REGIONAL_INVOICE_TAX_CODE = "\nfunction parseOrderTaxBreakdown(raw) {\n if (!raw) return null;\n var parsed = raw;\n if (typeof raw === 'string') {\n try {\n parsed = JSON.parse(raw);\n } catch (e) {\n return null;\n }\n }\n if (!parsed || typeof parsed !== 'object' || !Array.isArray(parsed.lines)) return null;\n return parsed;\n}\n\nfunction regionalInvoiceRound(value, decimals) {\n var factor = decimals === 0 ? 1 : 100;\n var n = Number(value);\n return Math.round((isFinite(n) ? n : 0) * factor) / factor;\n}\n\n// items: the invoice lines as the route normalised them (productId, variantId,\n// quantity, unitPrice, totalPrice \u2014 all stored, i.e. NET where tax is added on\n// top and GROSS where it is included).\nfunction resolveRegionalInvoiceTax(breakdown, items, discountAmount, shippingAmount) {\n var decimals = breakdown.taxDecimals === 0 ? 0 : 2;\n var standardRate = Number(breakdown.taxRate);\n if (!isFinite(standardRate) || standardRate < 0) standardRate = 0;\n var standardIncluded = breakdown.taxIncluded === true;\n var claimed = [];\n var itemTax = [];\n var goodsGross = 0;\n var goodsTax = 0;\n for (var i = 0; i < items.length; i++) {\n var item = items[i];\n var match = null;\n for (var l = 0; l < breakdown.lines.length; l++) {\n var line = breakdown.lines[l];\n if (!line || claimed.indexOf(l) !== -1) continue;\n if (\n String(line.productId || '') === String(item.productId || '') &&\n String(line.variantId || '') === String(item.variantId || '')\n ) {\n match = line;\n claimed.push(l);\n break;\n }\n }\n var matchedRate = match ? Number(match.taxRate) : NaN;\n var rate = isFinite(matchedRate) && matchedRate >= 0 ? matchedRate : standardRate;\n var included = match ? match.taxIncluded === true : standardIncluded;\n var quantity = Number(item.quantity) || 1;\n var stored = Number(item.totalPrice) || 0;\n var lineGross = !included && rate > 0\n ? regionalInvoiceRound(\n regionalInvoiceRound((Number(item.unitPrice) || 0) * (1 + rate / 100), decimals) * quantity,\n decimals\n )\n : stored;\n var lineTax = included\n ? (rate > 0 ? stored - stored / (1 + rate / 100) : 0)\n : lineGross - stored;\n goodsGross += lineGross;\n goodsTax += lineTax;\n itemTax.push({ rate: rate, included: included, amount: regionalInvoiceRound(lineTax, decimals) });\n }\n\n var discount = discountAmount > 0 ? discountAmount : 0;\n var shipping = shippingAmount > 0 ? shippingAmount : 0;\n var goodsAfter = Math.max(0, goodsGross - discount);\n var goodsShare = goodsGross > 0 ? goodsAfter / goodsGross : 0;\n var shippingAfter = Math.max(0, shipping - Math.max(0, discount - goodsGross));\n var shippingShare = shipping > 0 ? shippingAfter / shipping : 0;\n var shippingTax = Number(breakdown.shippingTax);\n if (!isFinite(shippingTax) || shippingTax < 0) shippingTax = 0;\n var allocatedGoodsTax = goodsTax * goodsShare;\n var allocatedShippingTax = shippingTax * shippingShare;\n\n return {\n taxRate: standardRate,\n taxIncluded: standardIncluded,\n subtotal: goodsAfter - allocatedGoodsTax,\n taxAmount: allocatedGoodsTax + allocatedShippingTax,\n shippingNet: shippingAfter - allocatedShippingTax,\n total: goodsAfter + shippingAfter,\n itemTax: itemTax,\n };\n}\n";
25
+ //# sourceMappingURL=regional-invoice-tax-code.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regional-invoice-tax-code.d.ts","sourceRoot":"","sources":["../../../src/invoice/regional-invoice-tax-code.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,yBAAyB,8zGAwFrC,CAAA"}
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.REGIONAL_INVOICE_TAX_CODE = void 0;
4
+ /**
5
+ * Invoice VAT for an order placed on a store with shipping zones and tax
6
+ * jurisdictions, as source for the generated `/api/invoices/generate` route.
7
+ *
8
+ * Such an order does not have ONE rate: a German food line at 7% can sit beside
9
+ * a tools line at 19%, a French order's prices may include VAT while the store
10
+ * default adds it on top, and the delivery fee may be taxed. The store's
11
+ * baked `DEFAULT_TAX_RATE` / `TAX_INCLUDED_IN_PRICE` describe none of that, so
12
+ * the place-order workflow records what was actually charged in
13
+ * `teleport_orders.tax_breakdown`, and this prices the invoice from it.
14
+ *
15
+ * Totals reconcile with `teleport_orders.total_amount` by construction:
16
+ * `goods (gross) + shipping_amount (gross) - discount_amount`. The discount is
17
+ * taken off the goods first and only then off the shipping, exactly as the
18
+ * payment line items split it, and each part's tax shrinks in proportion.
19
+ *
20
+ * The printed rows add up too: `subtotal` (goods, net) + `taxAmount` (goods
21
+ * AND shipping tax) + `shippingNet` = `total`. Delivery is therefore shown net
22
+ * of its tax, or its tax would be counted twice.
23
+ *
24
+ * An order without a breakdown — every order placed before regions existed —
25
+ * returns null and keeps the single-rate arithmetic it was always invoiced with.
26
+ */
27
+ exports.REGIONAL_INVOICE_TAX_CODE = `
28
+ function parseOrderTaxBreakdown(raw) {
29
+ if (!raw) return null;
30
+ var parsed = raw;
31
+ if (typeof raw === 'string') {
32
+ try {
33
+ parsed = JSON.parse(raw);
34
+ } catch (e) {
35
+ return null;
36
+ }
37
+ }
38
+ if (!parsed || typeof parsed !== 'object' || !Array.isArray(parsed.lines)) return null;
39
+ return parsed;
40
+ }
41
+
42
+ function regionalInvoiceRound(value, decimals) {
43
+ var factor = decimals === 0 ? 1 : 100;
44
+ var n = Number(value);
45
+ return Math.round((isFinite(n) ? n : 0) * factor) / factor;
46
+ }
47
+
48
+ // items: the invoice lines as the route normalised them (productId, variantId,
49
+ // quantity, unitPrice, totalPrice — all stored, i.e. NET where tax is added on
50
+ // top and GROSS where it is included).
51
+ function resolveRegionalInvoiceTax(breakdown, items, discountAmount, shippingAmount) {
52
+ var decimals = breakdown.taxDecimals === 0 ? 0 : 2;
53
+ var standardRate = Number(breakdown.taxRate);
54
+ if (!isFinite(standardRate) || standardRate < 0) standardRate = 0;
55
+ var standardIncluded = breakdown.taxIncluded === true;
56
+ var claimed = [];
57
+ var itemTax = [];
58
+ var goodsGross = 0;
59
+ var goodsTax = 0;
60
+ for (var i = 0; i < items.length; i++) {
61
+ var item = items[i];
62
+ var match = null;
63
+ for (var l = 0; l < breakdown.lines.length; l++) {
64
+ var line = breakdown.lines[l];
65
+ if (!line || claimed.indexOf(l) !== -1) continue;
66
+ if (
67
+ String(line.productId || '') === String(item.productId || '') &&
68
+ String(line.variantId || '') === String(item.variantId || '')
69
+ ) {
70
+ match = line;
71
+ claimed.push(l);
72
+ break;
73
+ }
74
+ }
75
+ var matchedRate = match ? Number(match.taxRate) : NaN;
76
+ var rate = isFinite(matchedRate) && matchedRate >= 0 ? matchedRate : standardRate;
77
+ var included = match ? match.taxIncluded === true : standardIncluded;
78
+ var quantity = Number(item.quantity) || 1;
79
+ var stored = Number(item.totalPrice) || 0;
80
+ var lineGross = !included && rate > 0
81
+ ? regionalInvoiceRound(
82
+ regionalInvoiceRound((Number(item.unitPrice) || 0) * (1 + rate / 100), decimals) * quantity,
83
+ decimals
84
+ )
85
+ : stored;
86
+ var lineTax = included
87
+ ? (rate > 0 ? stored - stored / (1 + rate / 100) : 0)
88
+ : lineGross - stored;
89
+ goodsGross += lineGross;
90
+ goodsTax += lineTax;
91
+ itemTax.push({ rate: rate, included: included, amount: regionalInvoiceRound(lineTax, decimals) });
92
+ }
93
+
94
+ var discount = discountAmount > 0 ? discountAmount : 0;
95
+ var shipping = shippingAmount > 0 ? shippingAmount : 0;
96
+ var goodsAfter = Math.max(0, goodsGross - discount);
97
+ var goodsShare = goodsGross > 0 ? goodsAfter / goodsGross : 0;
98
+ var shippingAfter = Math.max(0, shipping - Math.max(0, discount - goodsGross));
99
+ var shippingShare = shipping > 0 ? shippingAfter / shipping : 0;
100
+ var shippingTax = Number(breakdown.shippingTax);
101
+ if (!isFinite(shippingTax) || shippingTax < 0) shippingTax = 0;
102
+ var allocatedGoodsTax = goodsTax * goodsShare;
103
+ var allocatedShippingTax = shippingTax * shippingShare;
104
+
105
+ return {
106
+ taxRate: standardRate,
107
+ taxIncluded: standardIncluded,
108
+ subtotal: goodsAfter - allocatedGoodsTax,
109
+ taxAmount: allocatedGoodsTax + allocatedShippingTax,
110
+ shippingNet: shippingAfter - allocatedShippingTax,
111
+ total: goodsAfter + shippingAfter,
112
+ itemTax: itemTax,
113
+ };
114
+ }
115
+ `;
116
+ //# sourceMappingURL=regional-invoice-tax-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"regional-invoice-tax-code.js","sourceRoot":"","sources":["../../../src/invoice/regional-invoice-tax-code.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACU,QAAA,yBAAyB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwFxC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { DataSourceType, ProjectPluginStructure } from '@teleporthq/teleport-types';
2
+ export declare const resolveInvoiceDataSource: (structure: ProjectPluginStructure) => {
3
+ dataSourceType: DataSourceType | null;
4
+ dataSourceConfig: Record<string, unknown> | null;
5
+ };
6
+ //# sourceMappingURL=resolve-data-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-data-source.d.ts","sourceRoot":"","sources":["../../../src/invoice/resolve-data-source.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAEnF,eAAO,MAAM,wBAAwB,cACxB,sBAAsB,KAChC;IAAE,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IAAC,gBAAgB,EAAE,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAoB3F,CAAA"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveInvoiceDataSource = void 0;
4
+ const resolveInvoiceDataSource = (structure) => {
5
+ var _a;
6
+ const { uidl } = structure;
7
+ if (!uidl.dataSources) {
8
+ return { dataSourceType: null, dataSourceConfig: null };
9
+ }
10
+ if ((_a = uidl.authentication) === null || _a === void 0 ? void 0 : _a.dataSourceId) {
11
+ const ds = uidl.dataSources[uidl.authentication.dataSourceId];
12
+ if (ds) {
13
+ return { dataSourceType: ds.type, dataSourceConfig: ds.config };
14
+ }
15
+ }
16
+ const dsEntries = Object.values(uidl.dataSources);
17
+ if (dsEntries.length > 0) {
18
+ return { dataSourceType: dsEntries[0].type, dataSourceConfig: dsEntries[0].config };
19
+ }
20
+ return { dataSourceType: null, dataSourceConfig: null };
21
+ };
22
+ exports.resolveInvoiceDataSource = resolveInvoiceDataSource;
23
+ //# sourceMappingURL=resolve-data-source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-data-source.js","sourceRoot":"","sources":["../../../src/invoice/resolve-data-source.ts"],"names":[],"mappings":";;;AAEO,MAAM,wBAAwB,GAAG,CACtC,SAAiC,EAC4D,EAAE;;IAC/F,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAA;IAE1B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;QACrB,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAA;KACxD;IAED,IAAI,MAAA,IAAI,CAAC,cAAc,0CAAE,YAAY,EAAE;QACrC,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAA;QAC7D,IAAI,EAAE,EAAE;YACN,OAAO,EAAE,cAAc,EAAE,EAAE,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,CAAC,MAAM,EAAE,CAAA;SAChE;KACF;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACjD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;QACxB,OAAO,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAA;KACpF;IAED,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAA;AACzD,CAAC,CAAA;AAtBY,QAAA,wBAAwB,4BAsBpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"account-delete-current.d.ts","sourceRoot":"","sources":["../../../../src/nodes/account/account-delete-current.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA2EhE,eAAO,MAAM,oBAAoB,EAAE,oBAUlC,CAAA"}
1
+ {"version":3,"file":"account-delete-current.d.ts","sourceRoot":"","sources":["../../../../src/nodes/account/account-delete-current.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAkFhE,eAAO,MAAM,oBAAoB,EAAE,oBAUlC,CAAA"}
@@ -12,10 +12,16 @@ const types_1 = require("../types");
12
12
  async function account_delete_current(config, context) {
13
13
  const baseUrl = (context && context.__baseUrl) || '';
14
14
  // The route resolves the current user from the NextAuth session cookie, which
15
- // the browser sends automatically with this same-origin request.
15
+ // the browser sends automatically with this same-origin request. The page's
16
+ // language rides along (see buildContext) so the farewell email is sent in it.
17
+ const deleteHeaders = { 'Content-Type': 'application/json' };
18
+ const runLocale = context && context.__locale;
19
+ if (typeof runLocale === 'string' && runLocale) {
20
+ deleteHeaders['x-teleport-locale'] = runLocale;
21
+ }
16
22
  const response = await fetch(baseUrl + '/api/account/delete-current', {
17
23
  method: 'POST',
18
- headers: { 'Content-Type': 'application/json' },
24
+ headers: deleteHeaders,
19
25
  body: '{}',
20
26
  });
21
27
  let data = {};
@@ -58,7 +64,8 @@ async function account_delete_current(config, context) {
58
64
  win.document.body.appendChild(el);
59
65
  }
60
66
  catch (_e) { }
61
- const redirectTo = (config && config.redirectTo) || '/';
67
+ // The configured page, in the language the visitor was browsing in.
68
+ const redirectTo = __workflowUtils.localizeHref((config && config.redirectTo) || '/', runLocale);
62
69
  window.setTimeout(function () {
63
70
  window.location.href = redirectTo;
64
71
  }, 1500);
@@ -1 +1 @@
1
- {"version":3,"file":"account-delete-current.js","sourceRoot":"","sources":["../../../../src/nodes/account/account-delete-current.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,8EAA8E;AAC9E,yEAAyE;AACzE,gFAAgF;AAChF,0EAA0E;AAC1E,gFAAgF;AAChF,+EAA+E;AAC/E,uEAAuE;AACvE,KAAK,UAAU,sBAAsB,CAAC,MAAW,EAAE,OAAgC;IACjF,MAAM,OAAO,GAAG,CAAC,OAAO,IAAK,OAAe,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;IAE7D,8EAA8E;IAC9E,iEAAiE;IACjE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,6BAA6B,EAAE;QACpE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI;KACX,CAAC,CAAA;IAEF,IAAI,IAAI,GAAQ,EAAE,CAAA;IAClB,IAAI;QACF,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;KAC7B;IAAC,OAAO,EAAE,EAAE,GAAE;IAEf,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,0BAA0B,CAAC,CAAA;KACpE;IAED,+EAA+E;IAC/E,yEAAyE;IACzE,6EAA6E;IAC7E,0CAA0C;IAC1C,MAAM,aAAa,GACjB,CAAC,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAA;IAC/E,IAAI,aAAa,IAAI,OAAO,aAAa,CAAC,OAAO,KAAK,UAAU,EAAE;QAChE,IAAI;YACF,MAAM,aAAa,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;SACjD;QAAC,OAAO,EAAE,EAAE,GAAE;KAChB;IAED,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAI;YACF,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;SACrD;QAAC,OAAO,EAAE,EAAE,GAAE;QACf,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QAE/F,MAAM,OAAO,GACX,CAAC,MAAM,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,yDAAyD,CAAA;QAChG,0EAA0E;QAC1E,6EAA6E;QAC7E,sCAAsC;QACtC,IAAI;YACF,MAAM,GAAG,GAAG,MAAa,CAAA;YACzB,MAAM,EAAE,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;YAC5C,EAAE,CAAC,WAAW,GAAG,OAAO,CAAA;YACxB,EAAE,CAAC,YAAY,CACb,OAAO,EACP,wEAAwE;gBACtE,wEAAwE;gBACxE,uEAAuE;gBACvE,wEAAwE,CAC3E,CAAA;YACD,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;SAClC;QAAC,OAAO,EAAE,EAAE,GAAE;QAEf,MAAM,UAAU,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAA;QACvD,MAAM,CAAC,UAAU,CAAC;YAChB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,UAAU,CAAA;QACnC,CAAC,EAAE,IAAI,CAAC,CAAA;KACT;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;AAC5C,CAAC;AAEY,QAAA,oBAAoB,GAAyB;IACxD,QAAQ,EAAE,wBAAwB;IAClC,YAAY,EAAE,QAAQ;IACtB,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE;QACZ,WAAW,EAAE,SAAS;KACvB;IACD,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,sBAAsB,CAAC,CAAA;IAChD,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"account-delete-current.js","sourceRoot":"","sources":["../../../../src/nodes/account/account-delete-current.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"account-login.d.ts","sourceRoot":"","sources":["../../../../src/nodes/account/account-login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAoFhE,eAAO,MAAM,YAAY,EAAE,oBAmC1B,CAAA"}
1
+ {"version":3,"file":"account-login.d.ts","sourceRoot":"","sources":["../../../../src/nodes/account/account-login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAsFhE,eAAO,MAAM,YAAY,EAAE,oBAmC1B,CAAA"}
@@ -59,7 +59,9 @@ async function account_login(config, context) {
59
59
  catch (_e) { }
60
60
  }
61
61
  window.dispatchEvent(new CustomEvent('teleport:auth-user-changed', { detail: { user } }));
62
- window.location.href = '/';
62
+ // Home page of the language the visitor signed in from (see buildContext
63
+ // for how the run learns it).
64
+ window.location.href = __workflowUtils.localizeHref('/', context && context.__locale);
63
65
  }
64
66
  // Contract exposes user fields flat (id, email, name, ...) plus `user`/`success`.
65
67
  // Built without Object.assign/spread — this handler is .toString()'d and
@@ -1 +1 @@
1
- {"version":3,"file":"account-login.js","sourceRoot":"","sources":["../../../../src/nodes/account/account-login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-login.js","sourceRoot":"","sources":["../../../../src/nodes/account/account-login.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,aAAa,CAAC,MAAW,EAAE,OAAgC;IACxE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAA;IAC1B,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAEhC,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;KACnD;IAED,wEAAwE;IACxE,4EAA4E;IAC5E,wEAAwE;IACxE,2EAA2E;IAC3E,4EAA4E;IAC5E,uEAAuE;IACvE,uEAAuE;IACvE,2EAA2E;IAC3E,yEAAyE;IACzE,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,aAAa,GACjB,CAAC,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAA;IAC/E,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,CAAC,MAAM,KAAK,UAAU,EAAE;QAChE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;KAClF;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAA;IAEnC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE;QACzC,KAAK;QACL,QAAQ;QACR,QAAQ,EAAE,KAAK;KAChB,CAAC,CAAA;IAEF,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE;QAC1B,2EAA2E;QAC3E,wEAAwE;QACxE,gEAAgE;QAChE,2EAA2E;QAC3E,4EAA4E;QAC5E,2EAA2E;QAC3E,4EAA4E;QAC5E,eAAe;QACf,MAAM,QAAQ,GAAG,aAAa,CAAC,iBAAiB,CAAA;QAChD,MAAM,IAAI,KAAK,CACb,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvF,CAAA;KACF;IAED,IAAI,IAAI,GAAG,IAAI,CAAA;IACf,IAAI;QACF,MAAM,OAAO,GAAG,CAAC,OAAO,IAAK,OAAe,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QAC7D,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,OAAO,GAAG,mBAAmB,CAAC,CAAA;QAC7D,IAAI,UAAU,CAAC,EAAE,EAAE;YACjB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,IAAI,EAAE,CAAA;YACvC,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;SACrD;KACF;IAAC,OAAO,EAAE,EAAE,GAAE;IAEf,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAI,IAAI,EAAE;YACR,IAAI;gBACF,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;aACxE;YAAC,OAAO,EAAE,EAAE,GAAE;SAChB;QACD,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QACzF,yEAAyE;QACzE,8BAA8B;QAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,IAAK,OAAe,CAAC,QAAQ,CAAC,CAAA;KAC/F;IAED,kFAAkF;IAClF,yEAAyE;IACzE,8EAA8E;IAC9E,MAAM,KAAK,GAAQ,EAAE,CAAA;IACrB,IAAI,IAAI,EAAE;QACR,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;YACzC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAI,IAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;SAC1C;KACF;IACD,KAAK,CAAC,IAAI,GAAG,IAAI,IAAI,IAAI,CAAA;IACzB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAA;IACpB,OAAO,KAAK,CAAA;AACd,CAAC;AAEY,QAAA,YAAY,GAAyB;IAChD,QAAQ,EAAE,eAAe;IACzB,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE;QACZ,WAAW,EAAE,SAAS;KACvB;IACD,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,aAAa,CAAC,CAAA;IACvC,CAAC;IACD,qBAAqB;QACnB,OAAO;;;;;;;;;;;;;;;;;;;;;;;EAuBT,CAAA;IACA,CAAC;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"account-logout.d.ts","sourceRoot":"","sources":["../../../../src/nodes/account/account-logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA2BhE,eAAO,MAAM,aAAa,EAAE,oBAS3B,CAAA"}
1
+ {"version":3,"file":"account-logout.d.ts","sourceRoot":"","sources":["../../../../src/nodes/account/account-logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA6BhE,eAAO,MAAM,aAAa,EAAE,oBAS3B,CAAA"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.accountLogout = void 0;
4
4
  const types_1 = require("../types");
5
- async function account_logout(_config, _context) {
5
+ async function account_logout(_config, context) {
6
6
  // Read signOut off the window bridge session-provider.js publishes instead of
7
7
  // `require('next-auth/react')` — see the account-login handler for the full
8
8
  // rationale (avoids the dangling-module "reading 'call'" crash that a
@@ -19,7 +19,9 @@ async function account_logout(_config, _context) {
19
19
  }
20
20
  catch (_e) { }
21
21
  window.dispatchEvent(new CustomEvent('teleport:auth-user-changed', { detail: { user: null } }));
22
- window.location.href = '/';
22
+ // Home page of the language the visitor signed out from (see buildContext
23
+ // for how the run learns it).
24
+ window.location.href = __workflowUtils.localizeHref('/', context && context.__locale);
23
25
  }
24
26
  return { success: true };
25
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"account-logout.js","sourceRoot":"","sources":["../../../../src/nodes/account/account-logout.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,cAAc,CAAC,OAAgB,EAAE,QAAiC;IAC/E,8EAA8E;IAC9E,4EAA4E;IAC5E,sEAAsE;IACtE,0EAA0E;IAC1E,MAAM,aAAa,GACjB,CAAC,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAA;IAC/E,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,CAAC,OAAO,KAAK,UAAU,EAAE;QACjE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;KAClF;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAA;IAErC,MAAM,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IAElC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAI;YACF,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;SACrD;QAAC,OAAO,EAAE,EAAE,GAAE;QACf,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QAC/F,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAA;KAC3B;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC;AAEY,QAAA,aAAa,GAAyB;IACjD,QAAQ,EAAE,gBAAgB;IAC1B,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE;QACZ,WAAW,EAAE,SAAS;KACvB;IACD,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAA;IACxC,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"account-logout.js","sourceRoot":"","sources":["../../../../src/nodes/account/account-logout.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,cAAc,CAAC,OAAgB,EAAE,OAAgC;IAC9E,8EAA8E;IAC9E,4EAA4E;IAC5E,sEAAsE;IACtE,0EAA0E;IAC1E,MAAM,aAAa,GACjB,CAAC,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAA;IAC/E,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,CAAC,OAAO,KAAK,UAAU,EAAE;QACjE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;KAClF;IACD,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAA;IAErC,MAAM,OAAO,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAA;IAElC,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,IAAI;YACF,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;SACrD;QAAC,OAAO,EAAE,EAAE,GAAE;QACf,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,4BAA4B,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,CAAA;QAC/F,0EAA0E;QAC1E,8BAA8B;QAC9B,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,IAAK,OAAe,CAAC,QAAQ,CAAC,CAAA;KAC/F;IAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC;AAEY,QAAA,aAAa,GAAyB;IACjD,QAAQ,EAAE,gBAAgB;IAC1B,YAAY,EAAE,QAAQ;IACtB,YAAY,EAAE;QACZ,WAAW,EAAE,SAAS;KACvB;IACD,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,cAAc,CAAC,CAAA;IACxC,CAAC;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"account-signup.d.ts","sourceRoot":"","sources":["../../../../src/nodes/account/account-signup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA6GhE,eAAO,MAAM,aAAa,EAAE,oBA8D3B,CAAA"}
1
+ {"version":3,"file":"account-signup.d.ts","sourceRoot":"","sources":["../../../../src/nodes/account/account-signup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAuHhE,eAAO,MAAM,aAAa,EAAE,oBA8D3B,CAAA"}
@@ -29,6 +29,7 @@ async function account_signup(config, context) {
29
29
  bodyComponentId: true,
30
30
  bodyTemplatePurpose: true,
31
31
  templateParams: true,
32
+ localizedTemplates: true,
32
33
  };
33
34
  const configKeys = Object.keys(config);
34
35
  for (let i = 0; i < configKeys.length; i++) {
@@ -37,9 +38,17 @@ async function account_signup(config, context) {
37
38
  }
38
39
  }
39
40
  const baseUrl = (context && context.__baseUrl) || '';
41
+ // The language of the page the visitor signs up from, so the route sends
42
+ // the welcome email in it. The runtime puts it on the context (see
43
+ // buildContext); the route falls back to the request when it is absent.
44
+ const signupHeaders = { 'Content-Type': 'application/json' };
45
+ const runLocale = context && context.__locale;
46
+ if (typeof runLocale === 'string' && runLocale) {
47
+ signupHeaders['x-teleport-locale'] = runLocale;
48
+ }
40
49
  const response = await fetch(baseUrl + '/api/auth/signup', {
41
50
  method: 'POST',
42
- headers: { 'Content-Type': 'application/json' },
51
+ headers: signupHeaders,
43
52
  body: JSON.stringify(bodyObj),
44
53
  });
45
54
  const data = await response.json();
@@ -84,7 +93,8 @@ async function account_signup(config, context) {
84
93
  catch (_e) { }
85
94
  }
86
95
  window.dispatchEvent(new CustomEvent('teleport:auth-user-changed', { detail: { user } }));
87
- window.location.href = '/';
96
+ // Home page of the language the visitor signed up from.
97
+ window.location.href = __workflowUtils.localizeHref('/', runLocale);
88
98
  }
89
99
  // Contract exposes user fields flat (id, email, name, ...) plus `user`/`success`.
90
100
  // Built without Object.assign/spread — this handler is .toString()'d and
@@ -1 +1 @@
1
- {"version":3,"file":"account-signup.js","sourceRoot":"","sources":["../../../../src/nodes/account/account-signup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-signup.js","sourceRoot":"","sources":["../../../../src/nodes/account/account-signup.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"account-social-login.d.ts","sourceRoot":"","sources":["../../../../src/nodes/account/account-social-login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA2BhE,eAAO,MAAM,kBAAkB,EAAE,oBAUhC,CAAA"}
1
+ {"version":3,"file":"account-social-login.d.ts","sourceRoot":"","sources":["../../../../src/nodes/account/account-social-login.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAgChE,eAAO,MAAM,kBAAkB,EAAE,oBAUhC,CAAA"}
@@ -2,12 +2,14 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.accountSocialLogin = void 0;
4
4
  const types_1 = require("../types");
5
- async function account_social_login(config, _context) {
5
+ async function account_social_login(config, context) {
6
6
  const provider = config.provider;
7
7
  if (!provider) {
8
8
  throw new Error('Provider is required');
9
9
  }
10
- const callbackUrl = config.callbackUrl || '/';
10
+ // Where the provider sends the visitor back to, in the language they started
11
+ // the sign-in from (see buildContext for how the run learns it).
12
+ const callbackUrl = __workflowUtils.localizeHref(config.callbackUrl || '/', context && context.__locale);
11
13
  // Read signIn off the window bridge session-provider.js publishes instead of
12
14
  // `require('next-auth/react')` — see the account-login handler for the full
13
15
  // rationale (avoids the dangling-module "reading 'call'" crash that a
@@ -1 +1 @@
1
- {"version":3,"file":"account-social-login.js","sourceRoot":"","sources":["../../../../src/nodes/account/account-social-login.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,oBAAoB,CAAC,MAAW,EAAE,QAAiC;IAChF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAEhC,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;KACxC;IAED,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,GAAG,CAAA;IAE7C,6EAA6E;IAC7E,4EAA4E;IAC5E,sEAAsE;IACtE,0EAA0E;IAC1E,MAAM,aAAa,GACjB,CAAC,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAA;IAC/E,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,CAAC,MAAM,KAAK,UAAU,EAAE;QAChE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;KAClF;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAA;IAEnC,MAAM,MAAM,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAA;IAEvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;AAC9D,CAAC;AAEY,QAAA,kBAAkB,GAAyB;IACtD,QAAQ,EAAE,sBAAsB;IAChC,YAAY,EAAE,QAAQ;IACtB,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE;QACZ,WAAW,EAAE,SAAS;KACvB;IACD,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,oBAAoB,CAAC,CAAA;IAC9C,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"account-social-login.js","sourceRoot":"","sources":["../../../../src/nodes/account/account-social-login.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,oBAAoB,CAAC,MAAW,EAAE,OAAgC;IAC/E,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAA;IAEhC,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;KACxC;IAED,6EAA6E;IAC7E,iEAAiE;IACjE,MAAM,WAAW,GAAG,eAAe,CAAC,YAAY,CAC9C,MAAM,CAAC,WAAW,IAAI,GAAG,EACzB,OAAO,IAAK,OAAe,CAAC,QAAQ,CACrC,CAAA;IAED,6EAA6E;IAC7E,4EAA4E;IAC5E,sEAAsE;IACtE,0EAA0E;IAC1E,MAAM,aAAa,GACjB,CAAC,OAAO,MAAM,KAAK,WAAW,IAAK,MAAc,CAAC,kBAAkB,CAAC,IAAI,IAAI,CAAA;IAC/E,IAAI,CAAC,aAAa,IAAI,OAAO,aAAa,CAAC,MAAM,KAAK,UAAU,EAAE;QAChE,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAA;KAClF;IACD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAA;IAEnC,MAAM,MAAM,CAAC,QAAQ,EAAE,EAAE,WAAW,EAAE,CAAC,CAAA;IAEvC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAA;AAC9D,CAAC;AAEY,QAAA,kBAAkB,GAAyB;IACtD,QAAQ,EAAE,sBAAsB;IAChC,YAAY,EAAE,QAAQ;IACtB,UAAU,EAAE,IAAI;IAChB,YAAY,EAAE;QACZ,WAAW,EAAE,SAAS;KACvB;IACD,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,oBAAoB,CAAC,CAAA;IAC9C,CAAC;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cart-clear.d.ts","sourceRoot":"","sources":["../../../../src/nodes/cart/cart-clear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AAyDhE,eAAO,MAAM,SAAS,EAAE,oBAMvB,CAAA"}
1
+ {"version":3,"file":"cart-clear.d.ts","sourceRoot":"","sources":["../../../../src/nodes/cart/cart-clear.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA+DhE,eAAO,MAAM,SAAS,EAAE,oBAMvB,CAAA"}
@@ -39,6 +39,11 @@ async function cart_clear() {
39
39
  // An applied voucher belongs to the cart that is being emptied — after
40
40
  // a completed checkout it must not carry over to the next order.
41
41
  localStorage.removeItem('workflow_voucher');
42
+ // So is the shipping method picked for it: the next order starts from
43
+ // the cheapest rate again instead of a choice made weeks ago. Literal
44
+ // key — a serialized handler cannot import
45
+ // `RegionalPricing.SHIPPING_RATE_STORAGE_KEY`.
46
+ localStorage.removeItem('workflow_shipping_rate');
42
47
  const sessionId = localStorage.getItem('workflow_cart_session_id') || null;
43
48
  fetch('/api/cart/sync', {
44
49
  method: 'POST',
@@ -51,6 +56,7 @@ async function cart_clear() {
51
56
  }
52
57
  window.dispatchEvent(new CustomEvent('teleport:cart-changed'));
53
58
  window.dispatchEvent(new CustomEvent('teleport:voucher-changed'));
59
+ window.dispatchEvent(new CustomEvent('teleport:shipping-rate-changed'));
54
60
  }
55
61
  return { success: true };
56
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"cart-clear.js","sourceRoot":"","sources":["../../../../src/nodes/cart/cart-clear.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,UAAU;IACvB,IAAI;QACF,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;QAEzD,wDAAwD;QACxD,EAAE;QACF,iEAAiE;QACjE,6DAA6D;QAC7D,qEAAqE;QACrE,kEAAkE;QAClE,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,uCAAuC;QACvC,EAAE;QACF,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,sEAAsE;QACtE,uEAAuE;QACvE,0EAA0E;QAC1E,kEAAkE;QAClE,6BAA6B;QAC7B,EAAE;QACF,wEAAwE;QACxE,2EAA2E;QAC3E,uEAAuE;QACvE,YAAY;QACZ,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,IAAI;gBACF,gEAAgE;gBAChE,oEAAoE;gBACpE,oEAAoE;gBACpE,iEAAiE;gBACjE,YAAY,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;gBACpE,uEAAuE;gBACvE,iEAAiE;gBACjE,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;gBAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAA;gBAC1E,KAAK,CAAC,gBAAgB,EAAE;oBACtB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;iBAC/C,CAAC,CAAC,KAAK,CAAC,cAAa,CAAC,CAAC,CAAA;aACzB;YAAC,OAAO,MAAM,EAAE;gBACf,uEAAuE;aACxE;YACD,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAA;YAC9D,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,0BAA0B,CAAC,CAAC,CAAA;SAClE;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;KACzB;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KACzD;AACH,CAAC;AACY,QAAA,SAAS,GAAyB;IAC7C,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,QAAQ;IACtB,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,UAAU,CAAC,CAAA;IACpC,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"cart-clear.js","sourceRoot":"","sources":["../../../../src/nodes/cart/cart-clear.ts"],"names":[],"mappings":";;;AAAA,oCAAgE;AAEhE,KAAK,UAAU,UAAU;IACvB,IAAI;QACF,YAAY,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAA;QAEzD,wDAAwD;QACxD,EAAE;QACF,iEAAiE;QACjE,6DAA6D;QAC7D,qEAAqE;QACrE,kEAAkE;QAClE,0EAA0E;QAC1E,0EAA0E;QAC1E,wEAAwE;QACxE,uCAAuC;QACvC,EAAE;QACF,0EAA0E;QAC1E,yEAAyE;QACzE,yEAAyE;QACzE,sEAAsE;QACtE,uEAAuE;QACvE,0EAA0E;QAC1E,kEAAkE;QAClE,6BAA6B;QAC7B,EAAE;QACF,wEAAwE;QACxE,2EAA2E;QAC3E,uEAAuE;QACvE,YAAY;QACZ,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;YACjC,IAAI;gBACF,gEAAgE;gBAChE,oEAAoE;gBACpE,oEAAoE;gBACpE,iEAAiE;gBACjE,YAAY,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;gBACpE,uEAAuE;gBACvE,iEAAiE;gBACjE,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAA;gBAC3C,sEAAsE;gBACtE,sEAAsE;gBACtE,2CAA2C;gBAC3C,+CAA+C;gBAC/C,YAAY,CAAC,UAAU,CAAC,wBAAwB,CAAC,CAAA;gBACjD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,0BAA0B,CAAC,IAAI,IAAI,CAAA;gBAC1E,KAAK,CAAC,gBAAgB,EAAE;oBACtB,MAAM,EAAE,MAAM;oBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;oBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC;iBAC/C,CAAC,CAAC,KAAK,CAAC,cAAa,CAAC,CAAC,CAAA;aACzB;YAAC,OAAO,MAAM,EAAE;gBACf,uEAAuE;aACxE;YACD,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAA;YAC9D,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,0BAA0B,CAAC,CAAC,CAAA;YACjE,MAAM,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,gCAAgC,CAAC,CAAC,CAAA;SACxE;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAA;KACzB;IAAC,OAAO,GAAY,EAAE;QACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,CAAA;KACzD;AACH,CAAC;AACY,QAAA,SAAS,GAAyB;IAC7C,QAAQ,EAAE,YAAY;IACtB,YAAY,EAAE,QAAQ;IACtB,eAAe;QACb,OAAO,IAAA,uBAAe,EAAC,UAAU,CAAC,CAAA;IACpC,CAAC;CACF,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"cart-get-total.d.ts","sourceRoot":"","sources":["../../../../src/nodes/cart/cart-get-total.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA4JhE,eAAO,MAAM,YAAY,EAAE,oBAM1B,CAAA"}
1
+ {"version":3,"file":"cart-get-total.d.ts","sourceRoot":"","sources":["../../../../src/nodes/cart/cart-get-total.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,UAAU,CAAA;AA2OhE,eAAO,MAAM,YAAY,EAAE,oBAe1B,CAAA"}