@ixo/editor 6.32.1 → 6.34.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 (526) hide show
  1. package/dist/BidConfig-YLGSEIOS.js +154 -0
  2. package/dist/BidConfig-YLGSEIOS.js.map +1 -0
  3. package/dist/BidFlowDetail-TJCJBJZZ.js +365 -0
  4. package/dist/BidFlowDetail-TJCJBJZZ.js.map +1 -0
  5. package/dist/CalendarEventCreateConfig-J2LU6LJO.js +155 -0
  6. package/dist/CalendarEventCreateConfig-J2LU6LJO.js.map +1 -0
  7. package/dist/CalendarEventCreateFlowDetail-ZWHZWDOK.js +174 -0
  8. package/dist/CalendarEventCreateFlowDetail-ZWHZWDOK.js.map +1 -0
  9. package/dist/CalendarEventListConfig-GQNNF4ZB.js +116 -0
  10. package/dist/CalendarEventListConfig-GQNNF4ZB.js.map +1 -0
  11. package/dist/CalendarEventListFlowDetail-SSRTOXIX.js +58 -0
  12. package/dist/CalendarEventListFlowDetail-SSRTOXIX.js.map +1 -0
  13. package/dist/CalendarEventUpdateConfig-KACZA6GH.js +133 -0
  14. package/dist/CalendarEventUpdateConfig-KACZA6GH.js.map +1 -0
  15. package/dist/CalendarEventUpdateFlowDetail-CD6NHHOU.js +155 -0
  16. package/dist/CalendarEventUpdateFlowDetail-CD6NHHOU.js.map +1 -0
  17. package/dist/ClaimConfig-3HKPGK55.js +200 -0
  18. package/dist/ClaimConfig-3HKPGK55.js.map +1 -0
  19. package/dist/ClaimFlowDetail-UVEQMEI5.js +641 -0
  20. package/dist/ClaimFlowDetail-UVEQMEI5.js.map +1 -0
  21. package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js +149 -0
  22. package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js.map +1 -0
  23. package/dist/CollectionLifecycleFlowDetail-WFCSVIIG.js +647 -0
  24. package/dist/CollectionLifecycleFlowDetail-WFCSVIIG.js.map +1 -0
  25. package/dist/CollectionUsersConfig-RI2X3YY2.js +271 -0
  26. package/dist/CollectionUsersConfig-RI2X3YY2.js.map +1 -0
  27. package/dist/CollectionUsersFlowDetail-ZLCJBWHG.js +1276 -0
  28. package/dist/CollectionUsersFlowDetail-ZLCJBWHG.js.map +1 -0
  29. package/dist/CredentialStoreConfig-G66AQDGZ.js +75 -0
  30. package/dist/CredentialStoreConfig-G66AQDGZ.js.map +1 -0
  31. package/dist/CredentialStoreFlowDetail-FL7QAM3S.js +99 -0
  32. package/dist/CredentialStoreFlowDetail-FL7QAM3S.js.map +1 -0
  33. package/dist/DesignPodConfig-LJ7H2CZ6.js +8 -0
  34. package/dist/DesignPodConfig-LJ7H2CZ6.js.map +1 -0
  35. package/dist/DesignPodFlowDetail-JHJWGNVY.js +309 -0
  36. package/dist/DesignPodFlowDetail-JHJWGNVY.js.map +1 -0
  37. package/dist/DomainCardPreviewConfig-Q3X5M4WF.js +37 -0
  38. package/dist/DomainCardPreviewConfig-Q3X5M4WF.js.map +1 -0
  39. package/dist/DomainCardPreviewFlowDetail-Y2FE7O5Z.js +131 -0
  40. package/dist/DomainCardPreviewFlowDetail-Y2FE7O5Z.js.map +1 -0
  41. package/dist/DomainIndexerLookupConfig-N4VONQUY.js +41 -0
  42. package/dist/DomainIndexerLookupConfig-N4VONQUY.js.map +1 -0
  43. package/dist/DomainIndexerLookupFlowDetail-GJ7WWK7I.js +70 -0
  44. package/dist/DomainIndexerLookupFlowDetail-GJ7WWK7I.js.map +1 -0
  45. package/dist/DomainSignConfig-XFIXROVK.js +47 -0
  46. package/dist/DomainSignConfig-XFIXROVK.js.map +1 -0
  47. package/dist/DomainSignFlowDetail-BXZ6JBPR.js +206 -0
  48. package/dist/DomainSignFlowDetail-BXZ6JBPR.js.map +1 -0
  49. package/dist/DomainSingleSelectionConfig-ZNKIXB4P.js +101 -0
  50. package/dist/DomainSingleSelectionConfig-ZNKIXB4P.js.map +1 -0
  51. package/dist/DomainSingleSelectionFlowDetail-HWTQXSLA.js +147 -0
  52. package/dist/DomainSingleSelectionFlowDetail-HWTQXSLA.js.map +1 -0
  53. package/dist/EmailSendConfig-YEGZ5Q77.js +215 -0
  54. package/dist/EmailSendConfig-YEGZ5Q77.js.map +1 -0
  55. package/dist/EntityCreateOracleConfig-UZ6ZIMP5.js +150 -0
  56. package/dist/EntityCreateOracleConfig-UZ6ZIMP5.js.map +1 -0
  57. package/dist/EntityCreateOracleFlowDetail-H2X7CPYU.js +120 -0
  58. package/dist/EntityCreateOracleFlowDetail-H2X7CPYU.js.map +1 -0
  59. package/dist/EntitySingleSelectionConfig-DL57KNKM.js +30 -0
  60. package/dist/EntitySingleSelectionConfig-DL57KNKM.js.map +1 -0
  61. package/dist/EntitySingleSelectionFlowDetail-GFQGX3GA.js +118 -0
  62. package/dist/EntitySingleSelectionFlowDetail-GFQGX3GA.js.map +1 -0
  63. package/dist/EntityTransferConfig-JVZ3H35B.js +62 -0
  64. package/dist/EntityTransferConfig-JVZ3H35B.js.map +1 -0
  65. package/dist/EntityTransferFlowDetail-XEXM34XB.js +132 -0
  66. package/dist/EntityTransferFlowDetail-XEXM34XB.js.map +1 -0
  67. package/dist/EvalEngineConfig-CHC4IRN3.js +464 -0
  68. package/dist/EvalEngineConfig-CHC4IRN3.js.map +1 -0
  69. package/dist/EvalEngineFlowDetail-PUFRNO4U.js +4291 -0
  70. package/dist/EvalEngineFlowDetail-PUFRNO4U.js.map +1 -0
  71. package/dist/EvaluateBidConfig-OE4CM43G.js +151 -0
  72. package/dist/EvaluateBidConfig-OE4CM43G.js.map +1 -0
  73. package/dist/EvaluateBidFlowDetail-2S2N4YTW.js +564 -0
  74. package/dist/EvaluateBidFlowDetail-2S2N4YTW.js.map +1 -0
  75. package/dist/EvaluateClaimConfig-3D4F5LHU.js +297 -0
  76. package/dist/EvaluateClaimConfig-3D4F5LHU.js.map +1 -0
  77. package/dist/EvaluateClaimFlowDetail-QYR7PJRD.js +2237 -0
  78. package/dist/EvaluateClaimFlowDetail-QYR7PJRD.js.map +1 -0
  79. package/dist/FormSubmitConfig-UFZYMLUN.js +59 -0
  80. package/dist/FormSubmitConfig-UFZYMLUN.js.map +1 -0
  81. package/dist/FormSubmitFlowDetail-IAHDJS6P.js +169 -0
  82. package/dist/FormSubmitFlowDetail-IAHDJS6P.js.map +1 -0
  83. package/dist/GovernanceAuthzExecFlowDetail-SQBGU5BX.js +166 -0
  84. package/dist/GovernanceAuthzExecFlowDetail-SQBGU5BX.js.map +1 -0
  85. package/dist/GovernanceAuthzGrantFlowDetail-DZPNLANT.js +88 -0
  86. package/dist/GovernanceAuthzGrantFlowDetail-DZPNLANT.js.map +1 -0
  87. package/dist/GovernanceAuthzRevokeFlowDetail-3JZ4IUJG.js +88 -0
  88. package/dist/GovernanceAuthzRevokeFlowDetail-3JZ4IUJG.js.map +1 -0
  89. package/dist/GovernanceChainVoteFlowDetail-475UDNG6.js +83 -0
  90. package/dist/GovernanceChainVoteFlowDetail-475UDNG6.js.map +1 -0
  91. package/dist/GovernanceConfigConfig-V3WM4WBP.js +30 -0
  92. package/dist/GovernanceConfigConfig-V3WM4WBP.js.map +1 -0
  93. package/dist/GovernanceConfigFlowDetail-SQ5PPDRX.js +267 -0
  94. package/dist/GovernanceConfigFlowDetail-SQ5PPDRX.js.map +1 -0
  95. package/dist/GovernanceContractExecuteFlowDetail-H2ZV6W2E.js +113 -0
  96. package/dist/GovernanceContractExecuteFlowDetail-H2ZV6W2E.js.map +1 -0
  97. package/dist/GovernanceContractInstantiateFlowDetail-YJJMGM54.js +144 -0
  98. package/dist/GovernanceContractInstantiateFlowDetail-YJJMGM54.js.map +1 -0
  99. package/dist/GovernanceContractManageCw20FlowDetail-OCBMW3YJ.js +72 -0
  100. package/dist/GovernanceContractManageCw20FlowDetail-OCBMW3YJ.js.map +1 -0
  101. package/dist/GovernanceContractMigrateFlowDetail-JDNIKTT3.js +104 -0
  102. package/dist/GovernanceContractMigrateFlowDetail-JDNIKTT3.js.map +1 -0
  103. package/dist/GovernanceContractUpdateAdminFlowDetail-SZBOAOCC.js +68 -0
  104. package/dist/GovernanceContractUpdateAdminFlowDetail-SZBOAOCC.js.map +1 -0
  105. package/dist/GovernanceCustomMessageFlowDetail-CXD4ZATO.js +78 -0
  106. package/dist/GovernanceCustomMessageFlowDetail-CXD4ZATO.js.map +1 -0
  107. package/dist/GovernanceDaoAcceptToMarketplaceFlowDetail-Q6ZBNY7Z.js +98 -0
  108. package/dist/GovernanceDaoAcceptToMarketplaceFlowDetail-Q6ZBNY7Z.js.map +1 -0
  109. package/dist/GovernanceDaoAdminExecFlowDetail-JAEAY2US.js +94 -0
  110. package/dist/GovernanceDaoAdminExecFlowDetail-JAEAY2US.js.map +1 -0
  111. package/dist/GovernanceDaoCreateEntityFlowDetail-7RVNTVAB.js +96 -0
  112. package/dist/GovernanceDaoCreateEntityFlowDetail-7RVNTVAB.js.map +1 -0
  113. package/dist/GovernanceDaoJoinFlowDetail-XYCTCNHO.js +68 -0
  114. package/dist/GovernanceDaoJoinFlowDetail-XYCTCNHO.js.map +1 -0
  115. package/dist/GovernanceDaoManageStorageFlowDetail-LMLYLYYC.js +93 -0
  116. package/dist/GovernanceDaoManageStorageFlowDetail-LMLYLYYC.js.map +1 -0
  117. package/dist/GovernanceDaoManageSubDaosFlowDetail-YUFQ67JN.js +84 -0
  118. package/dist/GovernanceDaoManageSubDaosFlowDetail-YUFQ67JN.js.map +1 -0
  119. package/dist/GovernanceDaoUpdateInfoFlowDetail-G5FIBY4L.js +104 -0
  120. package/dist/GovernanceDaoUpdateInfoFlowDetail-G5FIBY4L.js.map +1 -0
  121. package/dist/GovernanceMemberProposalConfig-IGPXEFDB.js +42 -0
  122. package/dist/GovernanceMemberProposalConfig-IGPXEFDB.js.map +1 -0
  123. package/dist/GovernanceMemberProposalFlowDetail-T3VURONF.js +240 -0
  124. package/dist/GovernanceMemberProposalFlowDetail-T3VURONF.js.map +1 -0
  125. package/dist/GovernanceNftBurnFlowDetail-AG4I2O7H.js +69 -0
  126. package/dist/GovernanceNftBurnFlowDetail-AG4I2O7H.js.map +1 -0
  127. package/dist/GovernanceNftManageCollectionsFlowDetail-UAAGO3Q6.js +71 -0
  128. package/dist/GovernanceNftManageCollectionsFlowDetail-UAAGO3Q6.js.map +1 -0
  129. package/dist/GovernanceNftTransferFlowDetail-KXM7DTOV.js +130 -0
  130. package/dist/GovernanceNftTransferFlowDetail-KXM7DTOV.js.map +1 -0
  131. package/dist/GovernanceSettingsProposalConfig-4SLJTBLW.js +42 -0
  132. package/dist/GovernanceSettingsProposalConfig-4SLJTBLW.js.map +1 -0
  133. package/dist/GovernanceSettingsProposalFlowDetail-VFZPSCLR.js +165 -0
  134. package/dist/GovernanceSettingsProposalFlowDetail-VFZPSCLR.js.map +1 -0
  135. package/dist/GovernanceStakingStakeFlowDetail-ULLJ7FLM.js +123 -0
  136. package/dist/GovernanceStakingStakeFlowDetail-ULLJ7FLM.js.map +1 -0
  137. package/dist/GovernanceStakingStakeToGroupFlowDetail-CSPKJA3H.js +84 -0
  138. package/dist/GovernanceStakingStakeToGroupFlowDetail-CSPKJA3H.js.map +1 -0
  139. package/dist/GovernanceSubmissionConfigProposalFlowDetail-MZCPSZF2.js +111 -0
  140. package/dist/GovernanceSubmissionConfigProposalFlowDetail-MZCPSZF2.js.map +1 -0
  141. package/dist/GovernanceTransactionMintFlowDetail-Y2WRAODH.js +66 -0
  142. package/dist/GovernanceTransactionMintFlowDetail-Y2WRAODH.js.map +1 -0
  143. package/dist/GovernanceTransactionPerformTokenSwapFlowDetail-GEK6PMMI.js +133 -0
  144. package/dist/GovernanceTransactionPerformTokenSwapFlowDetail-GEK6PMMI.js.map +1 -0
  145. package/dist/GovernanceTransactionSendFundsConfig-VBKMLSF3.js +42 -0
  146. package/dist/GovernanceTransactionSendFundsConfig-VBKMLSF3.js.map +1 -0
  147. package/dist/GovernanceTransactionSendFundsFlowDetail-5TZB64VL.js +182 -0
  148. package/dist/GovernanceTransactionSendFundsFlowDetail-5TZB64VL.js.map +1 -0
  149. package/dist/GovernanceTransactionSendGroupTokenFlowDetail-EGOWVZM2.js +155 -0
  150. package/dist/GovernanceTransactionSendGroupTokenFlowDetail-EGOWVZM2.js.map +1 -0
  151. package/dist/GovernanceTransactionWithdrawTokenSwapFlowDetail-6XWVO5O6.js +56 -0
  152. package/dist/GovernanceTransactionWithdrawTokenSwapFlowDetail-6XWVO5O6.js.map +1 -0
  153. package/dist/GovernanceValidatorActionsFlowDetail-ZMLPAFUB.js +117 -0
  154. package/dist/GovernanceValidatorActionsFlowDetail-ZMLPAFUB.js.map +1 -0
  155. package/dist/HarvestConfig-AIGOGBFR.js +56 -0
  156. package/dist/HarvestConfig-AIGOGBFR.js.map +1 -0
  157. package/dist/HarvestFlowDetail-X3RUH3X3.js +131 -0
  158. package/dist/HarvestFlowDetail-X3RUH3X3.js.map +1 -0
  159. package/dist/HttpRequestConfig-OQEJIIJY.js +194 -0
  160. package/dist/HttpRequestConfig-OQEJIIJY.js.map +1 -0
  161. package/dist/HttpRequestFlowDetail-JVLV533Z.js +116 -0
  162. package/dist/HttpRequestFlowDetail-JVLV533Z.js.map +1 -0
  163. package/dist/IdentityCreateConfig-ZBUOJ6AL.js +94 -0
  164. package/dist/IdentityCreateConfig-ZBUOJ6AL.js.map +1 -0
  165. package/dist/IdentityCreateFlowDetail-WGKO43IH.js +83 -0
  166. package/dist/IdentityCreateFlowDetail-WGKO43IH.js.map +1 -0
  167. package/dist/IidCreateConfig-RRV2DYXI.js +75 -0
  168. package/dist/IidCreateConfig-RRV2DYXI.js.map +1 -0
  169. package/dist/IidCreateFlowDetail-6M32S6XS.js +57 -0
  170. package/dist/IidCreateFlowDetail-6M32S6XS.js.map +1 -0
  171. package/dist/KycVerifyConfig-VCG65K5K.js +65 -0
  172. package/dist/KycVerifyConfig-VCG65K5K.js.map +1 -0
  173. package/dist/KycVerifyFlowDetail-EWOMXSD3.js +421 -0
  174. package/dist/KycVerifyFlowDetail-EWOMXSD3.js.map +1 -0
  175. package/dist/ListDomainFlowsConfig-3JZEPTOJ.js +37 -0
  176. package/dist/ListDomainFlowsConfig-3JZEPTOJ.js.map +1 -0
  177. package/dist/ListDomainFlowsFlowDetail-XX5AXDZZ.js +257 -0
  178. package/dist/ListDomainFlowsFlowDetail-XX5AXDZZ.js.map +1 -0
  179. package/dist/LoadBatchesConfig-IMODIWRT.js +38 -0
  180. package/dist/LoadBatchesConfig-IMODIWRT.js.map +1 -0
  181. package/dist/LoadBatchesFlowDetail-GB24T76O.js +101 -0
  182. package/dist/LoadBatchesFlowDetail-GB24T76O.js.map +1 -0
  183. package/dist/MatrixDmConfig-NBII27CS.js +120 -0
  184. package/dist/MatrixDmConfig-NBII27CS.js.map +1 -0
  185. package/dist/MatrixRegisterConfig-N2U4FBYF.js +62 -0
  186. package/dist/MatrixRegisterConfig-N2U4FBYF.js.map +1 -0
  187. package/dist/MatrixRegisterFlowDetail-D5YNL5QX.js +86 -0
  188. package/dist/MatrixRegisterFlowDetail-D5YNL5QX.js.map +1 -0
  189. package/dist/MemberMultiSelectConfig-E7WUB2WD.js +30 -0
  190. package/dist/MemberMultiSelectConfig-E7WUB2WD.js.map +1 -0
  191. package/dist/MemberMultiSelectFlowDetail-6C4ZMSDR.js +392 -0
  192. package/dist/MemberMultiSelectFlowDetail-6C4ZMSDR.js.map +1 -0
  193. package/dist/OracleConfig-R7TDTTKN.js +56 -0
  194. package/dist/OracleConfig-R7TDTTKN.js.map +1 -0
  195. package/dist/OracleConfigureOracleConfig-QFF74X3N.js +198 -0
  196. package/dist/OracleConfigureOracleConfig-QFF74X3N.js.map +1 -0
  197. package/dist/OracleConfigureOracleFlowDetail-73BHAN76.js +255 -0
  198. package/dist/OracleConfigureOracleFlowDetail-73BHAN76.js.map +1 -0
  199. package/dist/OracleContractConfig-PHY5L7W2.js +38 -0
  200. package/dist/OracleContractConfig-PHY5L7W2.js.map +1 -0
  201. package/dist/OracleContractFlowDetail-M3PM4AU4.js +78 -0
  202. package/dist/OracleContractFlowDetail-M3PM4AU4.js.map +1 -0
  203. package/dist/OracleDeployConfig-QBG76ATZ.js +10 -0
  204. package/dist/OracleDeployConfig-QBG76ATZ.js.map +1 -0
  205. package/dist/OracleDeployFlowDetail-WKTMD2AD.js +231 -0
  206. package/dist/OracleDeployFlowDetail-WKTMD2AD.js.map +1 -0
  207. package/dist/OracleDeploySetupConfig-75XPGFJQ.js +10 -0
  208. package/dist/OracleDeploySetupConfig-75XPGFJQ.js.map +1 -0
  209. package/dist/OracleDeploySetupFlowDetail-R3BQ7EAU.js +165 -0
  210. package/dist/OracleDeploySetupFlowDetail-R3BQ7EAU.js.map +1 -0
  211. package/dist/OracleDeployStartConfig-NA6GZ4VQ.js +10 -0
  212. package/dist/OracleDeployStartConfig-NA6GZ4VQ.js.map +1 -0
  213. package/dist/OracleDeployStartFlowDetail-EL3CMDMG.js +89 -0
  214. package/dist/OracleDeployStartFlowDetail-EL3CMDMG.js.map +1 -0
  215. package/dist/OracleFlowDetail-5JCJK3GH.js +76 -0
  216. package/dist/OracleFlowDetail-5JCJK3GH.js.map +1 -0
  217. package/dist/OraclePromptConfig-YBRESISH.js +39 -0
  218. package/dist/OraclePromptConfig-YBRESISH.js.map +1 -0
  219. package/dist/OraclePromptFlowDetail-O3XNK7HY.js +112 -0
  220. package/dist/OraclePromptFlowDetail-O3XNK7HY.js.map +1 -0
  221. package/dist/OracleStoreConfigConfig-TUZWTJMA.js +134 -0
  222. package/dist/OracleStoreConfigConfig-TUZWTJMA.js.map +1 -0
  223. package/dist/OracleStoreConfigFlowDetail-Q6AUUSUL.js +99 -0
  224. package/dist/OracleStoreConfigFlowDetail-Q6AUUSUL.js.map +1 -0
  225. package/dist/OracleStoreSecretsAndConfigConfig-SZPYEK7U.js +198 -0
  226. package/dist/OracleStoreSecretsAndConfigConfig-SZPYEK7U.js.map +1 -0
  227. package/dist/OracleStoreSecretsAndConfigFlowDetail-BFV2EHLT.js +220 -0
  228. package/dist/OracleStoreSecretsAndConfigFlowDetail-BFV2EHLT.js.map +1 -0
  229. package/dist/OracleStoreSecretsConfig-PQMF7LFT.js +191 -0
  230. package/dist/OracleStoreSecretsConfig-PQMF7LFT.js.map +1 -0
  231. package/dist/OracleStoreSecretsFlowDetail-DNNOPHVA.js +197 -0
  232. package/dist/OracleStoreSecretsFlowDetail-DNNOPHVA.js.map +1 -0
  233. package/dist/ProposalCreateConfig-U5IHZNT7.js +161 -0
  234. package/dist/ProposalCreateConfig-U5IHZNT7.js.map +1 -0
  235. package/dist/ProposalCreateFlowDetail-4VZZPAWH.js +235 -0
  236. package/dist/ProposalCreateFlowDetail-4VZZPAWH.js.map +1 -0
  237. package/dist/ProposalVoteConfig-MH4MU7SL.js +150 -0
  238. package/dist/ProposalVoteConfig-MH4MU7SL.js.map +1 -0
  239. package/dist/ProposalVoteFlowDetail-IJJ3OHAB.js +280 -0
  240. package/dist/ProposalVoteFlowDetail-IJJ3OHAB.js.map +1 -0
  241. package/dist/ProtocolSelectConfig-S5U3P6K7.js +48 -0
  242. package/dist/ProtocolSelectConfig-S5U3P6K7.js.map +1 -0
  243. package/dist/ProtocolSelectFlowDetail-XBSJIEIH.js +116 -0
  244. package/dist/ProtocolSelectFlowDetail-XBSJIEIH.js.map +1 -0
  245. package/dist/RetireConfig-MV37WWZ6.js +59 -0
  246. package/dist/RetireConfig-MV37WWZ6.js.map +1 -0
  247. package/dist/RetireFlowDetail-VZ5O4SXI.js +147 -0
  248. package/dist/RetireFlowDetail-VZ5O4SXI.js.map +1 -0
  249. package/dist/SandboxProvisionConfig-ZGG4IRHM.js +46 -0
  250. package/dist/SandboxProvisionConfig-ZGG4IRHM.js.map +1 -0
  251. package/dist/SandboxProvisionFlowDetail-RUY64INV.js +79 -0
  252. package/dist/SandboxProvisionFlowDetail-RUY64INV.js.map +1 -0
  253. package/dist/WalletFundConfig-CMM3EP3B.js +117 -0
  254. package/dist/WalletFundConfig-CMM3EP3B.js.map +1 -0
  255. package/dist/WalletFundFlowDetail-TXWCZA4K.js +279 -0
  256. package/dist/WalletFundFlowDetail-TXWCZA4K.js.map +1 -0
  257. package/dist/WalletGenerateAndFundConfig-364RSEND.js +10 -0
  258. package/dist/WalletGenerateAndFundConfig-364RSEND.js.map +1 -0
  259. package/dist/WalletGenerateAndFundFlowDetail-C2LZW3NO.js +54 -0
  260. package/dist/WalletGenerateAndFundFlowDetail-C2LZW3NO.js.map +1 -0
  261. package/dist/WalletGenerateConfig-YYLCS65G.js +10 -0
  262. package/dist/WalletGenerateConfig-YYLCS65G.js.map +1 -0
  263. package/dist/WalletGenerateFlowDetail-CQCNDGJA.js +53 -0
  264. package/dist/WalletGenerateFlowDetail-CQCNDGJA.js.map +1 -0
  265. package/dist/XeroContactCreateConfig-OWG5PA3B.js +102 -0
  266. package/dist/XeroContactCreateConfig-OWG5PA3B.js.map +1 -0
  267. package/dist/XeroContactCreateFlowDetail-6MAINCF6.js +127 -0
  268. package/dist/XeroContactCreateFlowDetail-6MAINCF6.js.map +1 -0
  269. package/dist/XeroInvoiceCreateConfig-O74RUSZM.js +403 -0
  270. package/dist/XeroInvoiceCreateConfig-O74RUSZM.js.map +1 -0
  271. package/dist/XeroInvoiceCreateFlowDetail-UL7KS6CZ.js +631 -0
  272. package/dist/XeroInvoiceCreateFlowDetail-UL7KS6CZ.js.map +1 -0
  273. package/dist/XeroInvoiceListConfig-UR3GONBJ.js +113 -0
  274. package/dist/XeroInvoiceListConfig-UR3GONBJ.js.map +1 -0
  275. package/dist/XeroInvoiceListFlowDetail-LYHODWH6.js +58 -0
  276. package/dist/XeroInvoiceListFlowDetail-LYHODWH6.js.map +1 -0
  277. package/dist/XeroPaymentCreateConfig-RPMAIK6E.js +116 -0
  278. package/dist/XeroPaymentCreateConfig-RPMAIK6E.js.map +1 -0
  279. package/dist/XeroPaymentCreateFlowDetail-CF35MVIM.js +573 -0
  280. package/dist/XeroPaymentCreateFlowDetail-CF35MVIM.js.map +1 -0
  281. package/dist/action-manifest.json +2091 -393
  282. package/dist/chunk-2GAYKKTL.js +9 -0
  283. package/dist/chunk-2GAYKKTL.js.map +1 -0
  284. package/dist/chunk-2WPEATI7.js +315 -0
  285. package/dist/chunk-2WPEATI7.js.map +1 -0
  286. package/dist/chunk-3O42FYT3.js +3333 -0
  287. package/dist/chunk-3O42FYT3.js.map +1 -0
  288. package/dist/chunk-3TUYY4HK.js +20 -0
  289. package/dist/chunk-3TUYY4HK.js.map +1 -0
  290. package/dist/chunk-3XSLBJYI.js +554 -0
  291. package/dist/chunk-3XSLBJYI.js.map +1 -0
  292. package/dist/chunk-4DGCCXD6.js +710 -0
  293. package/dist/chunk-4DGCCXD6.js.map +1 -0
  294. package/dist/chunk-4NAFQF6V.js +11 -0
  295. package/dist/chunk-4NAFQF6V.js.map +1 -0
  296. package/dist/chunk-4PONO4US.js +799 -0
  297. package/dist/chunk-4PONO4US.js.map +1 -0
  298. package/dist/chunk-4TMOIK5M.js +21 -0
  299. package/dist/chunk-4TMOIK5M.js.map +1 -0
  300. package/dist/chunk-5IH3VC5I.js +102 -0
  301. package/dist/chunk-5IH3VC5I.js.map +1 -0
  302. package/dist/chunk-5NTKDOP6.js +89 -0
  303. package/dist/chunk-5NTKDOP6.js.map +1 -0
  304. package/dist/chunk-5O2SFRGU.js +18 -0
  305. package/dist/chunk-5O2SFRGU.js.map +1 -0
  306. package/dist/chunk-632JLECF.js +55 -0
  307. package/dist/chunk-632JLECF.js.map +1 -0
  308. package/dist/chunk-676HDB7K.js +95 -0
  309. package/dist/chunk-676HDB7K.js.map +1 -0
  310. package/dist/chunk-6ESTNTSH.js +223 -0
  311. package/dist/chunk-6ESTNTSH.js.map +1 -0
  312. package/dist/chunk-6GKJR52N.js +15 -0
  313. package/dist/chunk-6GKJR52N.js.map +1 -0
  314. package/dist/chunk-6L4ZIKYU.js +23 -0
  315. package/dist/chunk-6L4ZIKYU.js.map +1 -0
  316. package/dist/chunk-76YX5R4L.js +11 -0
  317. package/dist/chunk-76YX5R4L.js.map +1 -0
  318. package/dist/chunk-7J3GFMN3.js +32 -0
  319. package/dist/chunk-7J3GFMN3.js.map +1 -0
  320. package/dist/chunk-7LSARC2G.js +102 -0
  321. package/dist/chunk-7LSARC2G.js.map +1 -0
  322. package/dist/chunk-7W7UUUIE.js +609 -0
  323. package/dist/chunk-7W7UUUIE.js.map +1 -0
  324. package/dist/chunk-7ZLW7H37.js +21 -0
  325. package/dist/chunk-7ZLW7H37.js.map +1 -0
  326. package/dist/chunk-AAZHI22G.js +18 -0
  327. package/dist/chunk-AAZHI22G.js.map +1 -0
  328. package/dist/chunk-ACNE455I.js +76 -0
  329. package/dist/chunk-ACNE455I.js.map +1 -0
  330. package/dist/chunk-BKLSSLPZ.js +27 -0
  331. package/dist/chunk-BKLSSLPZ.js.map +1 -0
  332. package/dist/chunk-BZ7UPUTY.js +417 -0
  333. package/dist/chunk-BZ7UPUTY.js.map +1 -0
  334. package/dist/chunk-CGFAICUE.js +28 -0
  335. package/dist/chunk-CGFAICUE.js.map +1 -0
  336. package/dist/chunk-CMCEWQ3C.js +19 -0
  337. package/dist/chunk-CMCEWQ3C.js.map +1 -0
  338. package/dist/chunk-CP4UV436.js +41 -0
  339. package/dist/chunk-CP4UV436.js.map +1 -0
  340. package/dist/chunk-D2CQPNQG.js +27508 -0
  341. package/dist/chunk-D2CQPNQG.js.map +1 -0
  342. package/dist/chunk-DIQRZP7Z.js +51 -0
  343. package/dist/chunk-DIQRZP7Z.js.map +1 -0
  344. package/dist/chunk-EBFFDDAS.js +13 -0
  345. package/dist/chunk-EBFFDDAS.js.map +1 -0
  346. package/dist/chunk-EGVS23DR.js +85 -0
  347. package/dist/chunk-EGVS23DR.js.map +1 -0
  348. package/dist/chunk-EKBQ7K4N.js +15 -0
  349. package/dist/chunk-EKBQ7K4N.js.map +1 -0
  350. package/dist/chunk-EKQCZRAN.js +24 -0
  351. package/dist/chunk-EKQCZRAN.js.map +1 -0
  352. package/dist/chunk-EYKZIZ5J.js +48 -0
  353. package/dist/chunk-EYKZIZ5J.js.map +1 -0
  354. package/dist/{chunk-NEOPTPDF.js → chunk-F4PTFXZH.js} +11554 -22046
  355. package/dist/chunk-F4PTFXZH.js.map +1 -0
  356. package/dist/chunk-FFYZXA75.js +58 -0
  357. package/dist/chunk-FFYZXA75.js.map +1 -0
  358. package/dist/chunk-GFGDHPZ2.js +22 -0
  359. package/dist/chunk-GFGDHPZ2.js.map +1 -0
  360. package/dist/chunk-GR3CDFID.js +18 -0
  361. package/dist/chunk-GR3CDFID.js.map +1 -0
  362. package/dist/chunk-GR4SIU32.js +104 -0
  363. package/dist/chunk-GR4SIU32.js.map +1 -0
  364. package/dist/chunk-H5E46IIS.js +18 -0
  365. package/dist/chunk-H5E46IIS.js.map +1 -0
  366. package/dist/chunk-HFHVAMZL.js +22 -0
  367. package/dist/chunk-HFHVAMZL.js.map +1 -0
  368. package/dist/chunk-HRRI4BLF.js +4456 -0
  369. package/dist/chunk-HRRI4BLF.js.map +1 -0
  370. package/dist/chunk-HT6L7A5M.js +12 -0
  371. package/dist/chunk-HT6L7A5M.js.map +1 -0
  372. package/dist/chunk-I2FPFISM.js +301 -0
  373. package/dist/chunk-I2FPFISM.js.map +1 -0
  374. package/dist/chunk-IADAQJDH.js +28 -0
  375. package/dist/chunk-IADAQJDH.js.map +1 -0
  376. package/dist/chunk-IBOBCMQQ.js +99 -0
  377. package/dist/chunk-IBOBCMQQ.js.map +1 -0
  378. package/dist/chunk-IFWKRCFF.js +56 -0
  379. package/dist/chunk-IFWKRCFF.js.map +1 -0
  380. package/dist/chunk-IH4T7V4C.js +40 -0
  381. package/dist/chunk-IH4T7V4C.js.map +1 -0
  382. package/dist/chunk-IIIZZ4E4.js +1679 -0
  383. package/dist/chunk-IIIZZ4E4.js.map +1 -0
  384. package/dist/chunk-ILSFU3WD.js +83 -0
  385. package/dist/chunk-ILSFU3WD.js.map +1 -0
  386. package/dist/chunk-IX3VBV3L.js +43 -0
  387. package/dist/chunk-IX3VBV3L.js.map +1 -0
  388. package/dist/chunk-JBBFSORW.js +846 -0
  389. package/dist/chunk-JBBFSORW.js.map +1 -0
  390. package/dist/chunk-JIDTNKKL.js +1183 -0
  391. package/dist/chunk-JIDTNKKL.js.map +1 -0
  392. package/dist/chunk-JSPE6NGZ.js +22 -0
  393. package/dist/chunk-JSPE6NGZ.js.map +1 -0
  394. package/dist/chunk-JVROGQ7Q.js +150 -0
  395. package/dist/chunk-JVROGQ7Q.js.map +1 -0
  396. package/dist/chunk-K4WUMWNJ.js +32 -0
  397. package/dist/chunk-K4WUMWNJ.js.map +1 -0
  398. package/dist/chunk-K74XQ4Q5.js +11 -0
  399. package/dist/chunk-K74XQ4Q5.js.map +1 -0
  400. package/dist/chunk-KLLMJ4U3.js +22 -0
  401. package/dist/chunk-KLLMJ4U3.js.map +1 -0
  402. package/dist/chunk-LTKVCJ2E.js +27 -0
  403. package/dist/chunk-LTKVCJ2E.js.map +1 -0
  404. package/dist/chunk-M36DJTFZ.js +34 -0
  405. package/dist/chunk-M36DJTFZ.js.map +1 -0
  406. package/dist/chunk-MHM52LCJ.js +154 -0
  407. package/dist/chunk-MHM52LCJ.js.map +1 -0
  408. package/dist/chunk-MQCDMHRZ.js +59 -0
  409. package/dist/chunk-MQCDMHRZ.js.map +1 -0
  410. package/dist/chunk-N3ORMGAI.js +348 -0
  411. package/dist/chunk-N3ORMGAI.js.map +1 -0
  412. package/dist/chunk-NCSGIRRQ.js +28 -0
  413. package/dist/chunk-NCSGIRRQ.js.map +1 -0
  414. package/dist/chunk-NIXT2SBH.js +1423 -0
  415. package/dist/chunk-NIXT2SBH.js.map +1 -0
  416. package/dist/chunk-NJAII6CO.js +148 -0
  417. package/dist/chunk-NJAII6CO.js.map +1 -0
  418. package/dist/chunk-NKE4TL43.js +92 -0
  419. package/dist/chunk-NKE4TL43.js.map +1 -0
  420. package/dist/chunk-NZ7AXA7B.js +1 -0
  421. package/dist/chunk-NZ7AXA7B.js.map +1 -0
  422. package/dist/chunk-OCAYEGI2.js +26 -0
  423. package/dist/chunk-OCAYEGI2.js.map +1 -0
  424. package/dist/chunk-OMLI45ER.js +90 -0
  425. package/dist/chunk-OMLI45ER.js.map +1 -0
  426. package/dist/chunk-P7OBLJAG.js +88 -0
  427. package/dist/chunk-P7OBLJAG.js.map +1 -0
  428. package/dist/chunk-PAY3CBWL.js +2321 -0
  429. package/dist/chunk-PAY3CBWL.js.map +1 -0
  430. package/dist/chunk-PFF6VY35.js +257 -0
  431. package/dist/chunk-PFF6VY35.js.map +1 -0
  432. package/dist/chunk-PYNDJDWZ.js +1758 -0
  433. package/dist/chunk-PYNDJDWZ.js.map +1 -0
  434. package/dist/chunk-QDQ6UMMN.js +53 -0
  435. package/dist/chunk-QDQ6UMMN.js.map +1 -0
  436. package/dist/chunk-QGT3G2XG.js +24 -0
  437. package/dist/chunk-QGT3G2XG.js.map +1 -0
  438. package/dist/chunk-QZYCJ2GZ.js +55 -0
  439. package/dist/chunk-QZYCJ2GZ.js.map +1 -0
  440. package/dist/chunk-REZ7RFSA.js +124 -0
  441. package/dist/chunk-REZ7RFSA.js.map +1 -0
  442. package/dist/chunk-RRYBAE6E.js +2449 -0
  443. package/dist/chunk-RRYBAE6E.js.map +1 -0
  444. package/dist/chunk-RWUZOB62.js +34 -0
  445. package/dist/chunk-RWUZOB62.js.map +1 -0
  446. package/dist/chunk-SB5UCPZH.js +116 -0
  447. package/dist/chunk-SB5UCPZH.js.map +1 -0
  448. package/dist/chunk-SEJJ7CRI.js +99 -0
  449. package/dist/chunk-SEJJ7CRI.js.map +1 -0
  450. package/dist/chunk-SHBFGRPV.js +45 -0
  451. package/dist/chunk-SHBFGRPV.js.map +1 -0
  452. package/dist/chunk-SOFJ4GC5.js +45 -0
  453. package/dist/chunk-SOFJ4GC5.js.map +1 -0
  454. package/dist/chunk-STH2HPZK.js +44 -0
  455. package/dist/chunk-STH2HPZK.js.map +1 -0
  456. package/dist/chunk-TK3JNKME.js +28 -0
  457. package/dist/chunk-TK3JNKME.js.map +1 -0
  458. package/dist/chunk-TMONHFE3.js +46 -0
  459. package/dist/chunk-TMONHFE3.js.map +1 -0
  460. package/dist/chunk-TR4KO3AG.js +44 -0
  461. package/dist/chunk-TR4KO3AG.js.map +1 -0
  462. package/dist/chunk-TS2LNBF2.js +68 -0
  463. package/dist/chunk-TS2LNBF2.js.map +1 -0
  464. package/dist/chunk-UZUMBFPP.js +26 -0
  465. package/dist/chunk-UZUMBFPP.js.map +1 -0
  466. package/dist/chunk-VRZ5LMOW.js +176 -0
  467. package/dist/chunk-VRZ5LMOW.js.map +1 -0
  468. package/dist/chunk-WLGGY6Z6.js +75 -0
  469. package/dist/chunk-WLGGY6Z6.js.map +1 -0
  470. package/dist/chunk-WO7V6ZNC.js +11 -0
  471. package/dist/chunk-WO7V6ZNC.js.map +1 -0
  472. package/dist/chunk-WXSENSRP.js +64 -0
  473. package/dist/chunk-WXSENSRP.js.map +1 -0
  474. package/dist/chunk-XEKBZ2SA.js +19 -0
  475. package/dist/chunk-XEKBZ2SA.js.map +1 -0
  476. package/dist/chunk-XPBKU3JX.js +61 -0
  477. package/dist/chunk-XPBKU3JX.js.map +1 -0
  478. package/dist/chunk-XRYXBXWH.js +24 -0
  479. package/dist/chunk-XRYXBXWH.js.map +1 -0
  480. package/dist/chunk-XVA7QRVH.js +22 -0
  481. package/dist/chunk-XVA7QRVH.js.map +1 -0
  482. package/dist/chunk-YCTHHBSS.js +37 -0
  483. package/dist/chunk-YCTHHBSS.js.map +1 -0
  484. package/dist/chunk-YHPWD5NE.js +70 -0
  485. package/dist/chunk-YHPWD5NE.js.map +1 -0
  486. package/dist/chunk-YLNEKJQ5.js +126 -0
  487. package/dist/chunk-YLNEKJQ5.js.map +1 -0
  488. package/dist/chunk-YN4CEKCF.js +73 -0
  489. package/dist/chunk-YN4CEKCF.js.map +1 -0
  490. package/dist/chunk-YYNMESIF.js +17 -0
  491. package/dist/chunk-YYNMESIF.js.map +1 -0
  492. package/dist/chunk-Z6PRMCV6.js +1 -0
  493. package/dist/chunk-Z6PRMCV6.js.map +1 -0
  494. package/dist/chunk-ZDNW6VQG.js +11 -0
  495. package/dist/chunk-ZDNW6VQG.js.map +1 -0
  496. package/dist/chunk-ZP4D73DO.js +36 -0
  497. package/dist/chunk-ZP4D73DO.js.map +1 -0
  498. package/dist/chunk-ZUATADUV.js +26 -0
  499. package/dist/chunk-ZUATADUV.js.map +1 -0
  500. package/dist/{connections-1NtNQrsY.d.ts → connections-CEcurtWI.d.ts} +74 -9
  501. package/dist/core/index.cjs +14041 -6973
  502. package/dist/core/index.cjs.map +1 -1
  503. package/dist/core/index.d.ts +422 -138
  504. package/dist/core/index.js +425 -183
  505. package/dist/core/index.js.map +1 -1
  506. package/dist/flow-vnext/index.cjs +2842 -0
  507. package/dist/flow-vnext/index.cjs.map +1 -0
  508. package/dist/flow-vnext/index.d.ts +3 -0
  509. package/dist/flow-vnext/index.js +119 -0
  510. package/dist/flow-vnext/index.js.map +1 -0
  511. package/dist/{graphql-client-Bn0tN049.d.ts → graphql-client-B2tREsx6.d.ts} +3 -1
  512. package/dist/index-b9xxXGFs.d.ts +1230 -0
  513. package/dist/index.d.ts +5 -3
  514. package/dist/index.js +202 -37
  515. package/dist/index.js.map +1 -1
  516. package/dist/legacy-BpgIqaQ5.d.ts +14 -0
  517. package/dist/mantine/index.d.ts +7 -4
  518. package/dist/mantine/index.js +84 -30
  519. package/dist/mantine/index.js.map +1 -1
  520. package/dist/{runtime-BFwvCQDF.d.ts → types-Dqk5MTfW.d.ts} +6096 -5386
  521. package/package.json +12 -2
  522. package/dist/chunk-5JF23UP3.js +0 -59687
  523. package/dist/chunk-5JF23UP3.js.map +0 -1
  524. package/dist/chunk-A4CWC4AG.js +0 -374
  525. package/dist/chunk-A4CWC4AG.js.map +0 -1
  526. package/dist/chunk-NEOPTPDF.js.map +0 -1
@@ -0,0 +1,147 @@
1
+ import {
2
+ parseRetireConfigInputs
3
+ } from "./chunk-AAZHI22G.js";
4
+ import {
5
+ useRunRuntimeReader
6
+ } from "./chunk-FFYZXA75.js";
7
+ import "./chunk-NZ7AXA7B.js";
8
+ import {
9
+ resolveReferences
10
+ } from "./chunk-JVROGQ7Q.js";
11
+ import "./chunk-IIIZZ4E4.js";
12
+ import "./chunk-HT6L7A5M.js";
13
+ import "./chunk-NCSGIRRQ.js";
14
+ import {
15
+ DismissibleAlert
16
+ } from "./chunk-IFWKRCFF.js";
17
+ import {
18
+ actionAlertStyles
19
+ } from "./chunk-6GKJR52N.js";
20
+ import {
21
+ BaseTextInput
22
+ } from "./chunk-WO7V6ZNC.js";
23
+ import {
24
+ useBlocknoteHandlers
25
+ } from "./chunk-4DGCCXD6.js";
26
+ import "./chunk-7W7UUUIE.js";
27
+ import "./chunk-TS2LNBF2.js";
28
+
29
+ // src/mantine/blocks/action/actionTypes/carbon/retire/RetireFlowDetail.tsx
30
+ import React, { useCallback, useEffect, useMemo, useState } from "react";
31
+ import { Group, NumberInput, Stack, Switch, Text } from "@mantine/core";
32
+ import { IconAlertTriangle, IconCheck, IconAlertCircle } from "@tabler/icons-react";
33
+ function parseBatches(resolved) {
34
+ const trimmed = (resolved || "").trim();
35
+ if (!trimmed) return [];
36
+ try {
37
+ const parsed = JSON.parse(trimmed);
38
+ return Array.isArray(parsed) ? parsed : [];
39
+ } catch {
40
+ return [];
41
+ }
42
+ }
43
+ function composeJurisdiction(j) {
44
+ const parts = [j.country, j.state, j.postal].map((p) => (p || "").trim()).filter(Boolean);
45
+ return parts.length ? parts.join(", ") : "Global";
46
+ }
47
+ var RetireFlowDetail = ({
48
+ inputs,
49
+ editor,
50
+ block,
51
+ runtime,
52
+ isDisabled,
53
+ provideSigningHandler,
54
+ unlockSigning,
55
+ registerRuntimeInputs,
56
+ executeAction
57
+ }) => {
58
+ const handlers = useBlocknoteHandlers();
59
+ const owner = useMemo(() => {
60
+ try {
61
+ return handlers?.getCurrentUser?.()?.address || "";
62
+ } catch {
63
+ return "";
64
+ }
65
+ }, [handlers]);
66
+ const parsed = useMemo(() => parseRetireConfigInputs(inputs), [inputs]);
67
+ const editorDocument = editor?.document || [];
68
+ const runtimeReader = useRunRuntimeReader(editor);
69
+ const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);
70
+ const batches = useMemo(() => parseBatches(resolveReferences(parsed.batchesRef || "", editorDocument, resolveOpts)), [parsed.batchesRef, editorDocument, resolveOpts]);
71
+ const [retireAll, setRetireAll] = useState(true);
72
+ const [amounts, setAmounts] = useState({});
73
+ const [reason, setReason] = useState(parsed.reason || "offset");
74
+ const [country, setCountry] = useState("");
75
+ const [stateRegion, setStateRegion] = useState("");
76
+ const [postal, setPostal] = useState("");
77
+ const [error, setError] = useState(null);
78
+ const effectiveSelections = useMemo(() => {
79
+ if (retireAll) return batches.map((b) => ({ id: b.id, amount: Number(b.amount) || 0 })).filter((s) => s.amount > 0);
80
+ return batches.map((b) => ({ id: b.id, amount: Number(amounts[b.id]) || 0 })).filter((s) => s.amount > 0);
81
+ }, [retireAll, batches, amounts]);
82
+ const totalRetiring = effectiveSelections.reduce((s, x) => s + x.amount, 0);
83
+ const txHash = runtime.output?.transactionHash || "";
84
+ const retiredAmount = runtime.output?.retiredAmount ?? 0;
85
+ const isCompleted = runtime.state === "completed" && !!txHash;
86
+ const runtimeError = runtime.error?.message || null;
87
+ const jurisdiction = useMemo(() => ({ country, state: stateRegion, postal }), [country, stateRegion, postal]);
88
+ const canSign = !isDisabled && !isCompleted && effectiveSelections.length > 0 && totalRetiring > 0 && !!country.trim() && !!owner;
89
+ const setAmount = useCallback((id, value, max) => {
90
+ const clamped = Math.max(0, Math.min(Number.isFinite(value) ? value : 0, max));
91
+ setAmounts((prev) => ({ ...prev, [id]: clamped }));
92
+ }, []);
93
+ useEffect(() => {
94
+ unlockSigning?.(canSign);
95
+ }, [unlockSigning, canSign]);
96
+ useEffect(() => {
97
+ const byId = new Map(batches.map((b) => [b.id, b]));
98
+ registerRuntimeInputs?.({
99
+ selections: effectiveSelections,
100
+ retireAll,
101
+ reason,
102
+ jurisdiction,
103
+ selectedBatches: effectiveSelections.map((s) => ({ id: s.id, amount: s.amount, alsoKnownAs: byId.get(s.id)?.alsoKnownAs }))
104
+ });
105
+ }, [registerRuntimeInputs, effectiveSelections, retireAll, reason, jurisdiction, batches]);
106
+ useEffect(() => {
107
+ if (!provideSigningHandler) return;
108
+ provideSigningHandler(async () => {
109
+ setError(null);
110
+ if (!executeAction) {
111
+ setError("Retire action executor is unavailable");
112
+ return;
113
+ }
114
+ if (!owner) {
115
+ setError("No connected wallet address");
116
+ return;
117
+ }
118
+ if (effectiveSelections.length === 0) {
119
+ setError("No batches selected to retire");
120
+ return;
121
+ }
122
+ const jurisdictionStr = composeJurisdiction(jurisdiction);
123
+ console.log("[carbon.retire] signing", { owner, count: effectiveSelections.length, jurisdiction: jurisdictionStr });
124
+ const outcome = await executeAction({
125
+ runtimeInputs: { owner, reason: reason || "offset", jurisdiction: jurisdictionStr, tokens: effectiveSelections }
126
+ });
127
+ if (!outcome.success) {
128
+ setError(outcome.error || "Retire failed");
129
+ }
130
+ });
131
+ }, [provideSigningHandler, executeAction, owner, effectiveSelections, reason, jurisdiction]);
132
+ return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Retire Carbon"), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Permanently retire credits to offset impact.")), isCompleted ? /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), color: "green", title: "Retired" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Permanently retired ", retiredAmount, " CARBON."), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed", style: { wordBreak: "break-all" } }, "Tx: ", txHash))) : batches.length === 0 ? /* @__PURE__ */ React.createElement(DismissibleAlert, { color: "yellow", styles: actionAlertStyles }, "No retireable batches. Configure the retireable batches reference and ensure the upstream Load Carbon Batches block has run.") : /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertTriangle, { size: 16 }), color: "orange", styles: actionAlertStyles }, "Retiring is permanent and irreversible. Retired credits are burned and cannot be recovered."), /* @__PURE__ */ React.createElement(Switch, { label: "Retire full amount of every batch", checked: retireAll, onChange: (event) => setRetireAll(event.currentTarget.checked), disabled: isDisabled }), !retireAll && /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, batches.map((b) => /* @__PURE__ */ React.createElement(Group, { key: b.id, justify: "space-between", wrap: "nowrap" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", style: { flex: 1, wordBreak: "break-all" } }, b.alsoKnownAs || b.id, " ", /* @__PURE__ */ React.createElement(Text, { span: true, size: "xs", c: "dimmed" }, "(max ", b.amount, ")")), /* @__PURE__ */ React.createElement(
133
+ NumberInput,
134
+ {
135
+ value: amounts[b.id] ?? 0,
136
+ onChange: (value) => setAmount(b.id, typeof value === "number" ? value : Number(value), Number(b.amount) || 0),
137
+ min: 0,
138
+ max: Number(b.amount) || 0,
139
+ disabled: isDisabled,
140
+ w: 120
141
+ }
142
+ )))), /* @__PURE__ */ React.createElement(Group, { grow: true }, /* @__PURE__ */ React.createElement(BaseTextInput, { label: "Country", placeholder: "Required", value: country, onChange: (e) => setCountry(e.currentTarget.value) }), /* @__PURE__ */ React.createElement(BaseTextInput, { label: "State / Region", value: stateRegion, onChange: (e) => setStateRegion(e.currentTarget.value) }), /* @__PURE__ */ React.createElement(BaseTextInput, { label: "Postal code", value: postal, onChange: (e) => setPostal(e.currentTarget.value) })), /* @__PURE__ */ React.createElement(BaseTextInput, { label: "Reason", placeholder: "offset", value: reason, onChange: (e) => setReason(e.currentTarget.value) }), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Retiring ", totalRetiring, " CARBON across ", effectiveSelections.length, " batch", effectiveSelections.length === 1 ? "" : "es", !country.trim() ? " \xB7 enter a country to continue" : ""), !owner && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "red" }, "No connected wallet \u2014 connect a wallet to retire.")), (error || runtimeError) && !isCompleted && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "red", styles: actionAlertStyles }, error || runtimeError));
143
+ };
144
+ export {
145
+ RetireFlowDetail
146
+ };
147
+ //# sourceMappingURL=RetireFlowDetail-VZ5O4SXI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mantine/blocks/action/actionTypes/carbon/retire/RetireFlowDetail.tsx"],"sourcesContent":["import { useRunRuntimeReader } from '@/mantine/hooks/useRunRuntimeReader';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Group, NumberInput, Stack, Switch, Text } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { IconAlertTriangle, IconCheck, IconAlertCircle } from '@tabler/icons-react';\nimport { resolveReferences } from '@/mantine/utils/referenceResolver';\nimport { useBlocknoteHandlers } from '@/mantine/context/BlocknoteContext';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport type { ActionTypeFlowProps } from '../../../actionTypeUI';\nimport type { CarbonRetireableBatch, CarbonRetireRuntimeInputs } from '@/core/lib/actionRegistry/actions/carbon/types';\nimport { actionAlertStyles } from '../../../alertStyles';\nimport { parseRetireConfigInputs } from './types';\n\nfunction parseBatches(resolved: string): CarbonRetireableBatch[] {\n const trimmed = (resolved || '').trim();\n if (!trimmed) return [];\n try {\n const parsed = JSON.parse(trimmed);\n return Array.isArray(parsed) ? (parsed as CarbonRetireableBatch[]) : [];\n } catch {\n return [];\n }\n}\n\nfunction composeJurisdiction(j: { country?: string; state?: string; postal?: string }): string {\n const parts = [j.country, j.state, j.postal].map((p) => (p || '').trim()).filter(Boolean);\n return parts.length ? parts.join(', ') : 'Global';\n}\n\nexport const RetireFlowDetail: React.FC<ActionTypeFlowProps<CarbonRetireRuntimeInputs>> = ({\n inputs,\n editor,\n block,\n runtime,\n isDisabled,\n provideSigningHandler,\n unlockSigning,\n registerRuntimeInputs,\n executeAction,\n}) => {\n const handlers = useBlocknoteHandlers();\n const owner = useMemo(() => {\n try {\n return handlers?.getCurrentUser?.()?.address || '';\n } catch {\n return '';\n }\n }, [handlers]);\n\n const parsed = useMemo(() => parseRetireConfigInputs(inputs), [inputs]);\n const editorDocument = editor?.document || [];\n const runtimeReader = useRunRuntimeReader(editor);\n const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);\n const batches = useMemo(() => parseBatches(resolveReferences(parsed.batchesRef || '', editorDocument, resolveOpts)), [parsed.batchesRef, editorDocument, resolveOpts]);\n\n const [retireAll, setRetireAll] = useState(true);\n const [amounts, setAmounts] = useState<Record<string, number>>({});\n const [reason, setReason] = useState<string>(parsed.reason || 'offset');\n const [country, setCountry] = useState('');\n const [stateRegion, setStateRegion] = useState('');\n const [postal, setPostal] = useState('');\n const [error, setError] = useState<string | null>(null);\n\n const effectiveSelections = useMemo(() => {\n if (retireAll) return batches.map((b) => ({ id: b.id, amount: Number(b.amount) || 0 })).filter((s) => s.amount > 0);\n return batches.map((b) => ({ id: b.id, amount: Number(amounts[b.id]) || 0 })).filter((s) => s.amount > 0);\n }, [retireAll, batches, amounts]);\n const totalRetiring = effectiveSelections.reduce((s, x) => s + x.amount, 0);\n\n // Runtime-derived state — source of truth.\n const txHash: string = runtime.output?.transactionHash || '';\n const retiredAmount: number = runtime.output?.retiredAmount ?? 0;\n const isCompleted = runtime.state === 'completed' && !!txHash;\n const runtimeError = runtime.error?.message || null;\n\n const jurisdiction = useMemo(() => ({ country, state: stateRegion, postal }), [country, stateRegion, postal]);\n const canSign = !isDisabled && !isCompleted && effectiveSelections.length > 0 && totalRetiring > 0 && !!country.trim() && !!owner;\n\n const setAmount = useCallback((id: string, value: number, max: number) => {\n const clamped = Math.max(0, Math.min(Number.isFinite(value) ? value : 0, max));\n setAmounts((prev) => ({ ...prev, [id]: clamped }));\n }, []);\n\n useEffect(() => {\n unlockSigning?.(canSign);\n }, [unlockSigning, canSign]);\n\n useEffect(() => {\n const byId = new Map(batches.map((b) => [b.id, b]));\n registerRuntimeInputs?.({\n selections: effectiveSelections,\n retireAll,\n reason,\n jurisdiction,\n selectedBatches: effectiveSelections.map((s) => ({ id: s.id, amount: s.amount, alsoKnownAs: byId.get(s.id)?.alsoKnownAs })),\n });\n }, [registerRuntimeInputs, effectiveSelections, retireAll, reason, jurisdiction, batches]);\n\n useEffect(() => {\n if (!provideSigningHandler) return;\n provideSigningHandler(async () => {\n setError(null);\n if (!executeAction) {\n setError('Retire action executor is unavailable');\n return;\n }\n if (!owner) {\n setError('No connected wallet address');\n return;\n }\n if (effectiveSelections.length === 0) {\n setError('No batches selected to retire');\n return;\n }\n const jurisdictionStr = composeJurisdiction(jurisdiction);\n console.log('[carbon.retire] signing', { owner, count: effectiveSelections.length, jurisdiction: jurisdictionStr });\n const outcome = await executeAction({\n runtimeInputs: { owner, reason: reason || 'offset', jurisdiction: jurisdictionStr, tokens: effectiveSelections } as unknown as CarbonRetireRuntimeInputs,\n });\n if (!outcome.success) {\n setError(outcome.error || 'Retire failed');\n }\n });\n }, [provideSigningHandler, executeAction, owner, effectiveSelections, reason, jurisdiction]);\n\n return (\n <Stack gap=\"md\">\n <Stack gap={2}>\n <Text fw={600}>{block?.props?.title || 'Retire Carbon'}</Text>\n <Text size=\"sm\" c=\"dimmed\">\n {block?.props?.description || 'Permanently retire credits to offset impact.'}\n </Text>\n </Stack>\n\n {isCompleted ? (\n <Alert icon={<IconCheck size={16} />} color=\"green\" title=\"Retired\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">Permanently retired {retiredAmount} CARBON.</Text>\n <Text size=\"xs\" c=\"dimmed\" style={{ wordBreak: 'break-all' }}>\n Tx: {txHash}\n </Text>\n </Stack>\n </Alert>\n ) : batches.length === 0 ? (\n <Alert color=\"yellow\" styles={actionAlertStyles}>\n No retireable batches. Configure the retireable batches reference and ensure the upstream Load Carbon Batches block has run.\n </Alert>\n ) : (\n <>\n <Alert icon={<IconAlertTriangle size={16} />} color=\"orange\" styles={actionAlertStyles}>\n Retiring is permanent and irreversible. Retired credits are burned and cannot be recovered.\n </Alert>\n\n <Switch label=\"Retire full amount of every batch\" checked={retireAll} onChange={(event) => setRetireAll(event.currentTarget.checked)} disabled={isDisabled} />\n {!retireAll && (\n <Stack gap=\"xs\">\n {batches.map((b) => (\n <Group key={b.id} justify=\"space-between\" wrap=\"nowrap\">\n <Text size=\"sm\" style={{ flex: 1, wordBreak: 'break-all' }}>\n {b.alsoKnownAs || b.id}{' '}\n <Text span size=\"xs\" c=\"dimmed\">\n (max {b.amount})\n </Text>\n </Text>\n <NumberInput\n value={amounts[b.id] ?? 0}\n onChange={(value) => setAmount(b.id, typeof value === 'number' ? value : Number(value), Number(b.amount) || 0)}\n min={0}\n max={Number(b.amount) || 0}\n disabled={isDisabled}\n w={120}\n />\n </Group>\n ))}\n </Stack>\n )}\n\n <Group grow>\n <BaseTextInput label=\"Country\" placeholder=\"Required\" value={country} onChange={(e) => setCountry(e.currentTarget.value)} />\n <BaseTextInput label=\"State / Region\" value={stateRegion} onChange={(e) => setStateRegion(e.currentTarget.value)} />\n <BaseTextInput label=\"Postal code\" value={postal} onChange={(e) => setPostal(e.currentTarget.value)} />\n </Group>\n <BaseTextInput label=\"Reason\" placeholder=\"offset\" value={reason} onChange={(e) => setReason(e.currentTarget.value)} />\n\n <Text size=\"xs\" c=\"dimmed\">\n Retiring {totalRetiring} CARBON across {effectiveSelections.length} batch{effectiveSelections.length === 1 ? '' : 'es'}\n {!country.trim() ? ' · enter a country to continue' : ''}\n </Text>\n {!owner && (\n <Text size=\"xs\" c=\"red\">\n No connected wallet — connect a wallet to retire.\n </Text>\n )}\n </>\n )}\n\n {(error || runtimeError) && !isCompleted && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"red\" styles={actionAlertStyles}>\n {error || runtimeError}\n </Alert>\n )}\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,46 @@
1
+ import {
2
+ parseSandboxProvisionInputs,
3
+ serializeSandboxProvisionInputs
4
+ } from "./chunk-EKQCZRAN.js";
5
+ import {
6
+ BaseTextInput
7
+ } from "./chunk-WO7V6ZNC.js";
8
+
9
+ // src/mantine/blocks/action/actionTypes/sandboxProvision/SandboxProvisionConfig.tsx
10
+ import React, { useCallback, useEffect, useState } from "react";
11
+ import { Stack, Text } from "@mantine/core";
12
+ var SandboxProvisionConfig = ({ inputs, onInputsChange }) => {
13
+ const [local, setLocal] = useState(() => parseSandboxProvisionInputs(inputs));
14
+ useEffect(() => {
15
+ setLocal(parseSandboxProvisionInputs(inputs));
16
+ }, [inputs]);
17
+ const update = useCallback(
18
+ (patch) => {
19
+ const updated = { ...local, ...patch };
20
+ setLocal(updated);
21
+ onInputsChange(serializeSandboxProvisionInputs(updated));
22
+ },
23
+ [local, onInputsChange]
24
+ );
25
+ return /* @__PURE__ */ React.createElement(Stack, { gap: "lg" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Provision Sandbox"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Provisions a sandbox environment for the oracle entity. Secrets and config are read from the Matrix room. Reference upstream block outputs using the", " ", "{{blockId.output.key}}", " pattern.")), /* @__PURE__ */ React.createElement(
26
+ BaseTextInput,
27
+ {
28
+ label: "Entity DID",
29
+ placeholder: "{{entityBlock.output.entityDid}}",
30
+ value: local.entityDid || "",
31
+ onChange: (event) => update({ entityDid: event.currentTarget.value })
32
+ }
33
+ ), /* @__PURE__ */ React.createElement(
34
+ BaseTextInput,
35
+ {
36
+ label: "Matrix Room ID",
37
+ placeholder: "{{matrixBlock.output.matrixRoomId}}",
38
+ value: local.matrixRoomId || "",
39
+ onChange: (event) => update({ matrixRoomId: event.currentTarget.value })
40
+ }
41
+ ));
42
+ };
43
+ export {
44
+ SandboxProvisionConfig
45
+ };
46
+ //# sourceMappingURL=SandboxProvisionConfig-ZGG4IRHM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mantine/blocks/action/actionTypes/sandboxProvision/SandboxProvisionConfig.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { Stack, Text } from '@mantine/core';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport type { ActionTypeConfigProps } from '../../actionTypeUI';\nimport { parseSandboxProvisionInputs, serializeSandboxProvisionInputs, type SandboxProvisionInputs } from './types';\n\nexport const SandboxProvisionConfig: React.FC<ActionTypeConfigProps> = ({ inputs, onInputsChange }) => {\n const [local, setLocal] = useState<SandboxProvisionInputs>(() => parseSandboxProvisionInputs(inputs));\n\n useEffect(() => {\n setLocal(parseSandboxProvisionInputs(inputs));\n }, [inputs]);\n\n const update = useCallback(\n (patch: Partial<SandboxProvisionInputs>) => {\n const updated = { ...local, ...patch };\n setLocal(updated);\n onInputsChange(serializeSandboxProvisionInputs(updated));\n },\n [local, onInputsChange]\n );\n\n return (\n <Stack gap=\"lg\">\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Provision Sandbox\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n Provisions a sandbox environment for the oracle entity. Secrets and config are read from the Matrix room. Reference upstream block outputs using the{' '}\n {'{{blockId.output.key}}'} pattern.\n </Text>\n </Stack>\n\n <BaseTextInput\n label=\"Entity DID\"\n placeholder=\"{{entityBlock.output.entityDid}}\"\n value={local.entityDid || ''}\n onChange={(event) => update({ entityDid: event.currentTarget.value })}\n />\n <BaseTextInput\n label=\"Matrix Room ID\"\n placeholder=\"{{matrixBlock.output.matrixRoomId}}\"\n value={local.matrixRoomId || ''}\n onChange={(event) => update({ matrixRoomId: event.currentTarget.value })}\n />\n </Stack>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,OAAO,SAAS,aAAa,WAAW,gBAAgB;AACxD,SAAS,OAAO,YAAY;AAKrB,IAAM,yBAA0D,CAAC,EAAE,QAAQ,eAAe,MAAM;AACrG,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAiC,MAAM,4BAA4B,MAAM,CAAC;AAEpG,YAAU,MAAM;AACd,aAAS,4BAA4B,MAAM,CAAC;AAAA,EAC9C,GAAG,CAAC,MAAM,CAAC;AAEX,QAAM,SAAS;AAAA,IACb,CAAC,UAA2C;AAC1C,YAAM,UAAU,EAAE,GAAG,OAAO,GAAG,MAAM;AACrC,eAAS,OAAO;AAChB,qBAAe,gCAAgC,OAAO,CAAC;AAAA,IACzD;AAAA,IACA,CAAC,OAAO,cAAc;AAAA,EACxB;AAEA,SACE,oCAAC,SAAM,KAAI,QACT,oCAAC,SAAM,KAAI,QACT,oCAAC,QAAK,MAAK,MAAK,IAAI,OAAK,mBAEzB,GACA,oCAAC,QAAK,MAAK,MAAK,GAAE,YAAS,wJAC4H,KACpJ,0BAAyB,WAC5B,CACF,GAEA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,aAAY;AAAA,MACZ,OAAO,MAAM,aAAa;AAAA,MAC1B,UAAU,CAAC,UAAU,OAAO,EAAE,WAAW,MAAM,cAAc,MAAM,CAAC;AAAA;AAAA,EACtE,GACA;AAAA,IAAC;AAAA;AAAA,MACC,OAAM;AAAA,MACN,aAAY;AAAA,MACZ,OAAO,MAAM,gBAAgB;AAAA,MAC7B,UAAU,CAAC,UAAU,OAAO,EAAE,cAAc,MAAM,cAAc,MAAM,CAAC;AAAA;AAAA,EACzE,CACF;AAEJ;","names":[]}
@@ -0,0 +1,79 @@
1
+ import {
2
+ parseSandboxProvisionInputs
3
+ } from "./chunk-EKQCZRAN.js";
4
+ import {
5
+ useRunRuntimeReader
6
+ } from "./chunk-FFYZXA75.js";
7
+ import "./chunk-NZ7AXA7B.js";
8
+ import {
9
+ resolveReferences
10
+ } from "./chunk-JVROGQ7Q.js";
11
+ import "./chunk-IIIZZ4E4.js";
12
+ import "./chunk-HT6L7A5M.js";
13
+ import "./chunk-NCSGIRRQ.js";
14
+ import {
15
+ DismissibleAlert
16
+ } from "./chunk-IFWKRCFF.js";
17
+ import {
18
+ actionAlertStyles
19
+ } from "./chunk-6GKJR52N.js";
20
+ import "./chunk-4DGCCXD6.js";
21
+ import "./chunk-7W7UUUIE.js";
22
+ import "./chunk-TS2LNBF2.js";
23
+
24
+ // src/mantine/blocks/action/actionTypes/sandboxProvision/SandboxProvisionFlowDetail.tsx
25
+ import React, { useCallback, useMemo } from "react";
26
+ import { Anchor, Button, Group, Loader, Stack, Text } from "@mantine/core";
27
+ import { IconCheck, IconAlertCircle } from "@tabler/icons-react";
28
+ var SandboxProvisionFlowDetail = ({ inputs, editor, block, runtime, updateRuntime, isDisabled, executeAction }) => {
29
+ const parsed = useMemo(() => parseSandboxProvisionInputs(inputs), [inputs]);
30
+ const editorDocument = editor?.document || [];
31
+ const runtimeReader = useRunRuntimeReader(editor);
32
+ const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);
33
+ const resolvedEntityDid = resolveReferences(parsed.entityDid || "", editorDocument, resolveOpts).trim();
34
+ const resolvedMatrixRoomId = resolveReferences(parsed.matrixRoomId || "", editorDocument, resolveOpts).trim();
35
+ const inputsReady = !!(resolvedEntityDid && resolvedMatrixRoomId);
36
+ const sandboxUrl = runtime.output?.sandboxUrl || runtime.output?.url || "";
37
+ const status = runtime.output?.status || "";
38
+ const hasProof = !!status || !!sandboxUrl;
39
+ const isRunning = runtime.state === "running";
40
+ const isCompleted = runtime.state === "completed" && hasProof;
41
+ const isStale = runtime.state === "completed" && !hasProof;
42
+ const isFailed = runtime.state === "failed";
43
+ const errorMessage = runtime.error?.message || null;
44
+ const handleExecute = useCallback(async () => {
45
+ console.log("[sandbox.provision] handleExecute", { "runtime.state": runtime.state, hasProof, inputsReady });
46
+ if (isDisabled || isRunning) return;
47
+ if (!executeAction) {
48
+ updateRuntime({ state: "failed", error: { message: "Shared action executor is unavailable", at: Date.now() } });
49
+ return;
50
+ }
51
+ if (!inputsReady) {
52
+ console.warn("[sandbox.provision] inputs not ready");
53
+ return;
54
+ }
55
+ try {
56
+ const outcome = await executeAction({
57
+ runtimeInputs: { entityDid: resolvedEntityDid, matrixRoomId: resolvedMatrixRoomId }
58
+ });
59
+ console.log("[sandbox.provision] outcome", outcome);
60
+ if (!outcome.success) throw new Error(outcome.error || "Sandbox provisioning failed");
61
+ const payload = outcome.output;
62
+ if (!payload?.status && !payload?.sandboxUrl) {
63
+ throw new Error("Action returned success without status or sandboxUrl. Check the [oracle:provisionSandbox] handler logs.");
64
+ }
65
+ } catch (err) {
66
+ const message = err instanceof Error ? err.message : "Failed to provision sandbox";
67
+ console.error("[sandbox.provision] failed", { message, err });
68
+ updateRuntime({ state: "failed", error: { message, at: Date.now() } });
69
+ }
70
+ }, [executeAction, isDisabled, isRunning, hasProof, inputsReady, resolvedEntityDid, resolvedMatrixRoomId, runtime.state, updateRuntime]);
71
+ const handleRetry = useCallback(() => {
72
+ updateRuntime({ state: "idle", error: void 0, output: {} });
73
+ }, [updateRuntime]);
74
+ return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Stack, { gap: 2 }, /* @__PURE__ */ React.createElement(Text, { fw: 600 }, block?.props?.title || "Provision Sandbox"), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, block?.props?.description || "Provision a sandbox environment for the oracle.")), !isRunning && !isCompleted && !isStale && !isFailed && !inputsReady && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm", c: "dimmed" }, "Waiting for upstream entity DID + matrix room...")), isRunning && /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Loader, { size: 14 }), /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Provisioning sandbox environment...")), isCompleted && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconCheck, { size: 16 }), title: "Sandbox Ready", color: "green" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Sandbox environment provisioned successfully."), sandboxUrl && /* @__PURE__ */ React.createElement(Anchor, { href: sandboxUrl, target: "_blank", size: "xs" }, sandboxUrl))), isStale && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "yellow", title: "Inconsistent State" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm" }, "Marked completed but no status or sandboxUrl recorded. Stale state \u2014 reset and re-run."), /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "outline", size: "xs", onClick: handleRetry }, "Reset"), /* @__PURE__ */ React.createElement(Button, { variant: "filled", size: "xs", onClick: handleExecute, disabled: !inputsReady }, "Force Run Now")))), isFailed && errorMessage && /* @__PURE__ */ React.createElement(DismissibleAlert, { icon: /* @__PURE__ */ React.createElement(IconAlertCircle, { size: 16 }), color: "red", styles: actionAlertStyles }, errorMessage), isFailed && /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "outline", onClick: handleRetry }, "Try Again")), !isRunning && !isStale && /* @__PURE__ */ React.createElement(Group, null, /* @__PURE__ */ React.createElement(Button, { variant: "filled", size: "sm", onClick: handleExecute, disabled: !inputsReady || isDisabled }, isCompleted ? "Re-run" : inputsReady ? "Run Now" : "Waiting for inputs...")));
75
+ };
76
+ export {
77
+ SandboxProvisionFlowDetail
78
+ };
79
+ //# sourceMappingURL=SandboxProvisionFlowDetail-RUY64INV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mantine/blocks/action/actionTypes/sandboxProvision/SandboxProvisionFlowDetail.tsx"],"sourcesContent":["import { useRunRuntimeReader } from '@/mantine/hooks/useRunRuntimeReader';\nimport React, { useCallback, useMemo } from 'react';\nimport { Anchor, Button, Group, Loader, Stack, Text } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { IconCheck, IconAlertCircle } from '@tabler/icons-react';\nimport { resolveReferences } from '@/mantine/utils/referenceResolver';\nimport type { ActionTypeFlowProps } from '../../actionTypeUI';\nimport { parseSandboxProvisionInputs } from './types';\nimport { actionAlertStyles } from '../../alertStyles';\n\nexport const SandboxProvisionFlowDetail: React.FC<ActionTypeFlowProps> = ({ inputs, editor, block, runtime, updateRuntime, isDisabled, executeAction }) => {\n const parsed = useMemo(() => parseSandboxProvisionInputs(inputs), [inputs]);\n const editorDocument = editor?.document || [];\n const runtimeReader = useRunRuntimeReader(editor);\n const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);\n const resolvedEntityDid = resolveReferences(parsed.entityDid || '', editorDocument, resolveOpts).trim();\n const resolvedMatrixRoomId = resolveReferences(parsed.matrixRoomId || '', editorDocument, resolveOpts).trim();\n const inputsReady = !!(resolvedEntityDid && resolvedMatrixRoomId);\n\n // Derived from runtime — single source of truth.\n const sandboxUrl: string = runtime.output?.sandboxUrl || runtime.output?.url || '';\n const status: string = runtime.output?.status || '';\n const hasProof = !!status || !!sandboxUrl;\n const isRunning = runtime.state === 'running';\n const isCompleted = runtime.state === 'completed' && hasProof;\n const isStale = runtime.state === 'completed' && !hasProof;\n const isFailed = runtime.state === 'failed';\n const errorMessage = runtime.error?.message || null;\n\n const handleExecute = useCallback(async () => {\n console.log('[sandbox.provision] handleExecute', { 'runtime.state': runtime.state, hasProof, inputsReady });\n if (isDisabled || isRunning) return;\n\n if (!executeAction) {\n updateRuntime({ state: 'failed', error: { message: 'Shared action executor is unavailable', at: Date.now() } });\n return;\n }\n\n if (!inputsReady) {\n console.warn('[sandbox.provision] inputs not ready');\n return;\n }\n\n try {\n const outcome = await executeAction({\n runtimeInputs: { entityDid: resolvedEntityDid, matrixRoomId: resolvedMatrixRoomId },\n });\n\n console.log('[sandbox.provision] outcome', outcome);\n if (!outcome.success) throw new Error(outcome.error || 'Sandbox provisioning failed');\n\n const payload = outcome.output as { sandboxUrl?: string; status?: string } | undefined;\n if (!payload?.status && !payload?.sandboxUrl) {\n throw new Error('Action returned success without status or sandboxUrl. Check the [oracle:provisionSandbox] handler logs.');\n }\n } catch (err) {\n const message = err instanceof Error ? err.message : 'Failed to provision sandbox';\n console.error('[sandbox.provision] failed', { message, err });\n updateRuntime({ state: 'failed', error: { message, at: Date.now() } });\n }\n }, [executeAction, isDisabled, isRunning, hasProof, inputsReady, resolvedEntityDid, resolvedMatrixRoomId, runtime.state, updateRuntime]);\n\n const handleRetry = useCallback(() => {\n updateRuntime({ state: 'idle', error: undefined, output: {} });\n }, [updateRuntime]);\n\n return (\n <Stack gap=\"md\">\n <Stack gap={2}>\n <Text fw={600}>{block?.props?.title || 'Provision Sandbox'}</Text>\n <Text size=\"sm\" c=\"dimmed\">\n {block?.props?.description || 'Provision a sandbox environment for the oracle.'}\n </Text>\n </Stack>\n\n {!isRunning && !isCompleted && !isStale && !isFailed && !inputsReady && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\" c=\"dimmed\">\n Waiting for upstream entity DID + matrix room...\n </Text>\n </Group>\n )}\n\n {isRunning && (\n <Group gap=\"xs\">\n <Loader size={14} />\n <Text size=\"sm\">Provisioning sandbox environment...</Text>\n </Group>\n )}\n\n {isCompleted && (\n <Alert icon={<IconCheck size={16} />} title=\"Sandbox Ready\" color=\"green\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">Sandbox environment provisioned successfully.</Text>\n {sandboxUrl && (\n <Anchor href={sandboxUrl} target=\"_blank\" size=\"xs\">\n {sandboxUrl}\n </Anchor>\n )}\n </Stack>\n </Alert>\n )}\n\n {isStale && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"yellow\" title=\"Inconsistent State\">\n <Stack gap=\"xs\">\n <Text size=\"sm\">Marked completed but no status or sandboxUrl recorded. Stale state — reset and re-run.</Text>\n <Group>\n <Button variant=\"outline\" size=\"xs\" onClick={handleRetry}>\n Reset\n </Button>\n <Button variant=\"filled\" size=\"xs\" onClick={handleExecute} disabled={!inputsReady}>\n Force Run Now\n </Button>\n </Group>\n </Stack>\n </Alert>\n )}\n\n {isFailed && errorMessage && (\n <Alert icon={<IconAlertCircle size={16} />} color=\"red\" styles={actionAlertStyles}>\n {errorMessage}\n </Alert>\n )}\n {isFailed && (\n <Group>\n <Button variant=\"outline\" onClick={handleRetry}>\n Try Again\n </Button>\n </Group>\n )}\n\n {!isRunning && !isStale && (\n <Group>\n <Button variant=\"filled\" size=\"sm\" onClick={handleExecute} disabled={!inputsReady || isDisabled}>\n {isCompleted ? 'Re-run' : inputsReady ? 'Run Now' : 'Waiting for inputs...'}\n </Button>\n </Group>\n )}\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,117 @@
1
+ import {
2
+ DEFAULT_FUND_AMOUNT,
3
+ granterLabel,
4
+ parseWalletFundInputs,
5
+ serializeWalletFundInputs,
6
+ useSpendGranters,
7
+ useWalletBalances
8
+ } from "./chunk-SB5UCPZH.js";
9
+ import {
10
+ BaseSelect
11
+ } from "./chunk-4NAFQF6V.js";
12
+ import {
13
+ formatTokenAmount
14
+ } from "./chunk-IH4T7V4C.js";
15
+ import {
16
+ BaseTextInput
17
+ } from "./chunk-WO7V6ZNC.js";
18
+ import {
19
+ useBlocknoteHandlers
20
+ } from "./chunk-4DGCCXD6.js";
21
+ import "./chunk-7W7UUUIE.js";
22
+ import "./chunk-TS2LNBF2.js";
23
+
24
+ // src/mantine/blocks/action/actionTypes/walletFund/WalletFundConfig.tsx
25
+ import React, { useCallback, useEffect, useMemo, useState } from "react";
26
+ import { Group, Loader, NumberInput, Stack, Switch, Text } from "@mantine/core";
27
+ var CUSTOM_SOURCE = "__custom__";
28
+ var RUNNER_PICKS = "";
29
+ var WalletFundConfig = ({ inputs, onInputsChange }) => {
30
+ const [local, setLocal] = useState(() => parseWalletFundInputs(inputs));
31
+ const handlers = useBlocknoteHandlers();
32
+ const { granters } = useSpendGranters();
33
+ useEffect(() => {
34
+ setLocal(parseWalletFundInputs(inputs));
35
+ }, [inputs]);
36
+ const update = useCallback(
37
+ (patch) => {
38
+ const updated = { ...local, ...patch };
39
+ setLocal(updated);
40
+ onInputsChange(serializeWalletFundInputs(updated));
41
+ },
42
+ [local, onInputsChange]
43
+ );
44
+ const signedInAddress = useMemo(() => {
45
+ try {
46
+ return handlers?.getCurrentUser?.()?.address || "";
47
+ } catch {
48
+ return "";
49
+ }
50
+ }, [handlers]);
51
+ const isReference = local.fromAddress.includes("{{");
52
+ const balanceAddress = !local.fromAddress || isReference ? signedInAddress : local.fromAddress;
53
+ const { balances, loading: loadingBalances } = useWalletBalances(balanceAddress);
54
+ const [customSource, setCustomSource] = useState(false);
55
+ const sourceValue = useMemo(() => {
56
+ if (!local.fromAddress) return "";
57
+ if (granters.some((g) => g.address === local.fromAddress)) return local.fromAddress;
58
+ return CUSTOM_SOURCE;
59
+ }, [local.fromAddress, granters]);
60
+ const showCustomSource = customSource || sourceValue === CUSTOM_SOURCE;
61
+ const sourceOptions = useMemo(
62
+ () => [
63
+ { value: "", label: "Signed-in user\u2019s wallet (default)" },
64
+ ...granters.map((g) => ({ value: g.address, label: granterLabel(g) })),
65
+ { value: CUSTOM_SOURCE, label: "A specific wallet\u2026" }
66
+ ],
67
+ [granters]
68
+ );
69
+ const selectedToken = useMemo(() => balances.find((b) => b.denom === local.denom), [balances, local.denom]);
70
+ const tokenOptions = useMemo(() => {
71
+ const options = [{ value: RUNNER_PICKS, label: "Chosen when the flow runs (defaults to IXO)" }];
72
+ for (const b of balances) {
73
+ options.push({ value: b.denom, label: `${b.tokenName || b.denom} \xB7 ${b.amount.toLocaleString()} available` });
74
+ }
75
+ if (local.denom && !balances.some((b) => b.denom === local.denom)) {
76
+ options.push({ value: local.denom, label: local.denom });
77
+ }
78
+ return options;
79
+ }, [balances, local.denom]);
80
+ const runnerEntersAmount = !local.amount || local.amount <= 0;
81
+ return /* @__PURE__ */ React.createElement(Stack, { gap: "lg" }, /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Send from"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Which wallet the tokens leave. Defaults to the wallet of whoever runs the flow. Another wallet only works if that runner can act on it \u2014 it has granted them a send authorization."), /* @__PURE__ */ React.createElement(
82
+ BaseSelect,
83
+ {
84
+ data: sourceOptions,
85
+ value: sourceValue,
86
+ onChange: (value) => {
87
+ if (value === CUSTOM_SOURCE) {
88
+ setCustomSource(true);
89
+ return;
90
+ }
91
+ setCustomSource(false);
92
+ update({ fromAddress: value || "" });
93
+ }
94
+ }
95
+ ), showCustomSource && /* @__PURE__ */ React.createElement(BaseTextInput, { placeholder: "ixo1\u2026 or {{blockId.output.address}}", value: local.fromAddress, onChange: (event) => update({ fromAddress: event.currentTarget.value }) })), /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Group, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Token"), loadingBalances && /* @__PURE__ */ React.createElement(Loader, { size: 12 })), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, isReference || !local.fromAddress ? "Listing the tokens in your own wallet. Leave it on \u201Cchosen when the flow runs\u201D so the runner picks from whatever the source wallet actually holds." : "The tokens this wallet holds."), /* @__PURE__ */ React.createElement(BaseSelect, { data: tokenOptions, value: local.denom, onChange: (value) => update({ denom: value || "" }), searchable: true })), /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Amount"), /* @__PURE__ */ React.createElement(
96
+ Switch,
97
+ {
98
+ label: "Let the person running the flow enter the amount",
99
+ checked: runnerEntersAmount,
100
+ onChange: (event) => update({ amount: event.currentTarget.checked ? 0 : DEFAULT_FUND_AMOUNT })
101
+ }
102
+ ), !runnerEntersAmount && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "In the token\u2019s smallest on-chain unit \u2014 ", formatTokenAmount(DEFAULT_FUND_AMOUNT, "uixo", 6, "IXO"), " is ", DEFAULT_FUND_AMOUNT, "."), /* @__PURE__ */ React.createElement(
103
+ NumberInput,
104
+ {
105
+ placeholder: "0",
106
+ value: local.amount,
107
+ onChange: (value) => update({ amount: typeof value === "number" ? value : 0 }),
108
+ min: 0,
109
+ allowDecimal: false,
110
+ suffix: local.denom ? ` ${local.denom}` : void 0
111
+ }
112
+ ), selectedToken?.exponent !== void 0 && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "= ", formatTokenAmount(local.amount, selectedToken.denom, selectedToken.exponent, selectedToken.tokenName)))), /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Target Address"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "The wallet address to fund. Can be a block reference (e.g. from wallet.generate output)."), /* @__PURE__ */ React.createElement(BaseTextInput, { placeholder: "ixo1... or {{blockId.output.address}}", value: local.address, onChange: (event) => update({ address: event.currentTarget.value }) })));
113
+ };
114
+ export {
115
+ WalletFundConfig
116
+ };
117
+ //# sourceMappingURL=WalletFundConfig-CMM3EP3B.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mantine/blocks/action/actionTypes/walletFund/WalletFundConfig.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Group, Loader, NumberInput, Stack, Switch, Text } from '@mantine/core';\nimport BaseSelect from '@/mantine/components/Base/BaseSelect';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport { useBlocknoteHandlers } from '@/mantine/context/BlocknoteContext';\nimport { formatTokenAmount } from '@/core/utils/tokenAmount';\nimport type { ActionTypeConfigProps } from '../../actionTypeUI';\nimport { DEFAULT_FUND_AMOUNT, parseWalletFundInputs, serializeWalletFundInputs, type WalletFundInputs } from './types';\nimport { granterLabel, useSpendGranters, useWalletBalances } from './useWalletTokens';\n\n/** Sentinel for \"pin a wallet the picker doesn't list\" — never stored. */\nconst CUSTOM_SOURCE = '__custom__';\n/** Sentinel for \"the runner picks the token\" — stored as an empty denom. */\nconst RUNNER_PICKS = '';\n\nexport const WalletFundConfig: React.FC<ActionTypeConfigProps> = ({ inputs, onInputsChange }) => {\n const [local, setLocal] = useState<WalletFundInputs>(() => parseWalletFundInputs(inputs));\n const handlers = useBlocknoteHandlers();\n const { granters } = useSpendGranters();\n\n useEffect(() => {\n setLocal(parseWalletFundInputs(inputs));\n }, [inputs]);\n\n const update = useCallback(\n (patch: Partial<WalletFundInputs>) => {\n const updated = { ...local, ...patch };\n setLocal(updated);\n onInputsChange(serializeWalletFundInputs(updated));\n },\n [local, onInputsChange]\n );\n\n const signedInAddress = useMemo(() => {\n try {\n return handlers?.getCurrentUser?.()?.address || '';\n } catch {\n return '';\n }\n }, [handlers]);\n\n // A `{{ref}}` source resolves only at run time, so the token list is drawn\n // from the signed-in user's wallet in that case — it is the author's own\n // holdings, which is the closest thing to the real list available here.\n const isReference = local.fromAddress.includes('{{');\n const balanceAddress = !local.fromAddress || isReference ? signedInAddress : local.fromAddress;\n const { balances, loading: loadingBalances } = useWalletBalances(balanceAddress);\n\n const [customSource, setCustomSource] = useState(false);\n const sourceValue = useMemo(() => {\n if (!local.fromAddress) return '';\n if (granters.some((g) => g.address === local.fromAddress)) return local.fromAddress;\n return CUSTOM_SOURCE;\n }, [local.fromAddress, granters]);\n const showCustomSource = customSource || sourceValue === CUSTOM_SOURCE;\n\n const sourceOptions = useMemo(\n () => [\n { value: '', label: 'Signed-in user’s wallet (default)' },\n ...granters.map((g) => ({ value: g.address, label: granterLabel(g) })),\n { value: CUSTOM_SOURCE, label: 'A specific wallet…' },\n ],\n [granters]\n );\n\n const selectedToken = useMemo(() => balances.find((b) => b.denom === local.denom), [balances, local.denom]);\n const tokenOptions = useMemo(() => {\n const options = [{ value: RUNNER_PICKS, label: 'Chosen when the flow runs (defaults to IXO)' }];\n for (const b of balances) {\n options.push({ value: b.denom, label: `${b.tokenName || b.denom} · ${b.amount.toLocaleString()} available` });\n }\n // Keep a pinned denom visible even when this wallet no longer holds it —\n // dropping it from the list would silently reset the author's choice.\n if (local.denom && !balances.some((b) => b.denom === local.denom)) {\n options.push({ value: local.denom, label: local.denom });\n }\n return options;\n }, [balances, local.denom]);\n\n const runnerEntersAmount = !local.amount || local.amount <= 0;\n\n return (\n <Stack gap=\"lg\">\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Send from\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n Which wallet the tokens leave. Defaults to the wallet of whoever runs the flow. Another wallet only works if that runner can act on it — it has granted them a send\n authorization.\n </Text>\n <BaseSelect\n data={sourceOptions}\n value={sourceValue}\n onChange={(value) => {\n if (value === CUSTOM_SOURCE) {\n setCustomSource(true);\n return;\n }\n setCustomSource(false);\n update({ fromAddress: value || '' });\n }}\n />\n {showCustomSource && (\n <BaseTextInput placeholder=\"ixo1… or {{blockId.output.address}}\" value={local.fromAddress} onChange={(event) => update({ fromAddress: event.currentTarget.value })} />\n )}\n </Stack>\n\n <Stack gap=\"xs\">\n <Group gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Token\n </Text>\n {loadingBalances && <Loader size={12} />}\n </Group>\n <Text size=\"xs\" c=\"dimmed\">\n {isReference || !local.fromAddress\n ? 'Listing the tokens in your own wallet. Leave it on “chosen when the flow runs” so the runner picks from whatever the source wallet actually holds.'\n : 'The tokens this wallet holds.'}\n </Text>\n <BaseSelect data={tokenOptions} value={local.denom} onChange={(value) => update({ denom: value || '' })} searchable />\n </Stack>\n\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Amount\n </Text>\n <Switch\n label=\"Let the person running the flow enter the amount\"\n checked={runnerEntersAmount}\n onChange={(event) => update({ amount: event.currentTarget.checked ? 0 : DEFAULT_FUND_AMOUNT })}\n />\n {!runnerEntersAmount && (\n <>\n <Text size=\"xs\" c=\"dimmed\">\n In the token’s smallest on-chain unit — {formatTokenAmount(DEFAULT_FUND_AMOUNT, 'uixo', 6, 'IXO')} is {DEFAULT_FUND_AMOUNT}.\n </Text>\n <NumberInput\n placeholder=\"0\"\n value={local.amount}\n onChange={(value) => update({ amount: typeof value === 'number' ? value : 0 })}\n min={0}\n allowDecimal={false}\n suffix={local.denom ? ` ${local.denom}` : undefined}\n />\n {selectedToken?.exponent !== undefined && (\n <Text size=\"xs\" c=\"dimmed\">\n = {formatTokenAmount(local.amount, selectedToken.denom, selectedToken.exponent, selectedToken.tokenName)}\n </Text>\n )}\n </>\n )}\n </Stack>\n\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600}>\n Target Address\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n The wallet address to fund. Can be a block reference (e.g. from wallet.generate output).\n </Text>\n <BaseTextInput placeholder=\"ixo1... or {{blockId.output.address}}\" value={local.address} onChange={(event) => update({ address: event.currentTarget.value })} />\n </Stack>\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}