@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 @@
1
+ {"version":3,"sources":["../src/mantine/blocks/proposal/flow/ActionsTab.tsx","../src/mantine/blocks/proposal/actions-components/ActionsCard.tsx","../src/mantine/blocks/proposal/ActionsPanel.tsx","../src/mantine/blocks/proposal/actions-components/SpendActionForm.tsx","../src/mantine/blocks/proposal/actions-components/UpdateMembersActionForm.tsx","../src/mantine/blocks/proposal/actions-components/StakeActionForm.tsx","../src/mantine/blocks/proposal/actions-components/JoinActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/MintActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/ExecuteActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/CustomActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/AuthzExecActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/AuthzGrantActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/BurnNftActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/TransferNftActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/ManageCw721ActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/InstantiateActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/MigrateActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/UpdateAdminActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/ManageCw20ActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/ManageSubDaosActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/UpdateInfoActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/ManageStorageItemsActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/DaoAdminExecActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/AcceptToMarketplaceActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/CreateEntityActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/UpdateVotingConfigActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/UpdatePreProposeConfigActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/GovernanceVoteActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/WithdrawTokenSwapActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/PerformTokenSwapActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/StakeToGroupActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/SendGroupTokenActionForm.tsx","../src/mantine/blocks/proposal/actions-components/forms/ValidatorActionsActionForm.tsx","../src/mantine/blocks/proposal/registry/actionRegistry.ts","../src/mantine/blocks/proposal/registry/categories.ts"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { Alert, Button, Card, Stack, Text } from '@mantine/core';\nimport { ProposalAction } from '../../../context/types';\nimport { ActionsCard } from '../actions-components/ActionsCard';\nimport { ActionsPanel } from '../ActionsPanel';\n\ninterface ActionsTabProps {\n actions: string;\n onActionsChange: (actions: ProposalAction[]) => void;\n isProposalCreated: boolean;\n}\n\nexport const ActionsTab: React.FC<ActionsTabProps> = ({ actions, onActionsChange, isProposalCreated }) => {\n const [isEditorVisible, setIsEditorVisible] = useState(false);\n const [editingIndex, setEditingIndex] = useState<number | null>(null);\n\n const parseActions = (actionsJson: string): ProposalAction[] => {\n if (!actionsJson) return [];\n try {\n return JSON.parse(actionsJson);\n } catch (error) {\n return [];\n }\n };\n\n const currentActions = parseActions(actions);\n\n useEffect(() => {\n if (!isProposalCreated && currentActions.length === 0 && !isEditorVisible) {\n setEditingIndex(null);\n setIsEditorVisible(true);\n }\n }, [currentActions.length, isEditorVisible, isProposalCreated]);\n\n const handleAddAction = useCallback(() => {\n if (isProposalCreated) return;\n setEditingIndex(null);\n setIsEditorVisible(true);\n }, [isProposalCreated]);\n\n const handleEditAction = useCallback(\n (index: number) => {\n if (isProposalCreated) return;\n setEditingIndex(index);\n setIsEditorVisible(true);\n },\n [isProposalCreated]\n );\n\n const handleRemoveAction = useCallback(\n (index: number) => {\n if (isProposalCreated) return;\n const newActions = currentActions.filter((_, i) => i !== index);\n onActionsChange(newActions);\n },\n [currentActions, onActionsChange, isProposalCreated]\n );\n\n const handleSaveAction = useCallback(\n (action: ProposalAction) => {\n let newActions: ProposalAction[];\n if (editingIndex !== null) {\n // Edit existing action\n newActions = currentActions.map((a, i) => (i === editingIndex ? action : a));\n } else {\n // Add new action\n newActions = [...currentActions, action];\n }\n onActionsChange(newActions);\n setIsEditorVisible(false);\n setEditingIndex(null);\n },\n [editingIndex, currentActions, onActionsChange]\n );\n\n const handleCancelEditor = useCallback(() => {\n setIsEditorVisible(false);\n setEditingIndex(null);\n }, []);\n\n return (\n <Stack gap=\"md\">\n {isProposalCreated && (\n <Alert color=\"yellow\" title=\"Actions Locked\">\n <Text size=\"sm\">Actions cannot be edited after the proposal has been created. These actions are now part of the on-chain proposal.</Text>\n </Alert>\n )}\n\n <Stack gap=\"sm\">\n {!isProposalCreated && (\n <Button\n onClick={handleAddAction}\n style={{\n backgroundColor: 'color-mix(in srgb, var(--mantine-color-accent-5) 50%, transparent)',\n '&:hover': {\n backgroundColor: 'var(--mantine-color-accent-5)',\n },\n }}\n >\n Add Action\n </Button>\n )}\n\n <ActionsCard\n actions={currentActions}\n isSelected={false}\n onClick={() => {}}\n onEditAction={handleEditAction}\n onRemoveAction={handleRemoveAction}\n disabled={isProposalCreated}\n />\n </Stack>\n\n {!isProposalCreated && isEditorVisible && (\n <Card\n withBorder\n padding=\"lg\"\n radius=\"md\"\n style={{\n backgroundColor: 'var(--mantine-color-neutralColor-3)',\n borderColor: 'var(--mantine-color-neutralColor-5)',\n }}\n >\n <ActionsPanel actions={currentActions} editingIndex={editingIndex} onSave={handleSaveAction} onCancel={handleCancelEditor} isTemplateMode={false} />\n </Card>\n )}\n </Stack>\n );\n};\n","import React from 'react';\nimport { Card, Group, Text, Badge, Stack, ActionIcon, ScrollArea } from '@mantine/core';\nimport { ProposalAction } from '../../../context/types';\n\ninterface ActionsCardProps {\n actions: ProposalAction[];\n isSelected: boolean;\n onClick: () => void;\n onEditAction: (index: number) => void;\n onRemoveAction: (index: number) => void;\n disabled?: boolean;\n}\n\nconst getActionSummary = (action: ProposalAction): string => {\n switch (action.type) {\n case 'Spend':\n const spendData = (action as any).data;\n return `${spendData.amount} ${spendData.denom} to ${spendData.to.slice(0, 8)}...`;\n case 'UpdateMembers':\n const membersData = (action as any).data;\n return `Add ${membersData.add.length}, Remove ${membersData.remove.length} members`;\n default:\n return 'Unknown action';\n }\n};\n\nconst getActionTypeColor = (type: string) => {\n switch (type) {\n case 'Spend':\n return '#4dabf7';\n case 'UpdateMembers':\n return '#ffd43b';\n default:\n return 'var(--mantine-color-dimmed)';\n }\n};\n\nexport const ActionsCard: React.FC<ActionsCardProps> = ({ actions, isSelected, onClick, onEditAction, onRemoveAction, disabled = false }) => {\n const handleCardClick = (e: React.MouseEvent) => {\n if ((e.target as HTMLElement).closest('.action-button')) {\n return;\n }\n onClick();\n };\n\n return (\n <Card\n shadow=\"sm\"\n padding=\"lg\"\n radius=\"md\"\n withBorder\n style={{\n width: '100%',\n cursor: 'pointer',\n backgroundColor: 'var(--mantine-color-neutralColor-3)',\n borderColor: isSelected ? 'var(--mantine-color-accent-5)' : 'var(--mantine-color-neutralColor-5)',\n borderWidth: isSelected ? 2 : 1,\n transition: 'all 0.2s ease',\n }}\n onClick={handleCardClick}\n >\n <Group justify=\"space-between\" align=\"flex-start\">\n <Stack gap=\"xs\" style={{ flex: 1 }}>\n <Text size=\"md\" fw={600}>\n Proposal Actions ({actions.length})\n </Text>\n\n {actions.length === 0 ? (\n <Text size=\"sm\" c=\"dimmed\">\n No actions added yet.\n </Text>\n ) : (\n <ScrollArea h={actions.length > 3 ? 150 : undefined} style={{ marginTop: 8 }}>\n <Stack gap=\"xs\">\n {actions.map((action, index) => (\n <Card\n key={index}\n withBorder\n padding=\"xs\"\n style={{\n backgroundColor: 'var(--mantine-color-neutralColor-2)',\n borderColor: 'var(--mantine-color-neutralColor-5)',\n }}\n >\n <Group justify=\"space-between\" align=\"center\">\n <Group gap=\"xs\" style={{ flex: 1 }}>\n <Badge\n size=\"sm\"\n variant=\"light\"\n style={{\n backgroundColor: `${getActionTypeColor(action.type)}20`,\n color: getActionTypeColor(action.type),\n }}\n >\n {action.type}\n </Badge>\n <Text size=\"sm\" c=\"dimmed\">\n {getActionSummary(action)}\n </Text>\n </Group>\n {!disabled && (\n <Group gap={4}>\n <ActionIcon\n size=\"sm\"\n variant=\"subtle\"\n className=\"action-button\"\n onClick={(e) => {\n e.stopPropagation();\n onEditAction(index);\n }}\n style={{ color: 'var(--mantine-color-accent-5)' }}\n >\n ✏️\n </ActionIcon>\n <ActionIcon\n size=\"sm\"\n variant=\"subtle\"\n className=\"action-button\"\n onClick={(e) => {\n e.stopPropagation();\n onRemoveAction(index);\n }}\n style={{ color: 'var(--mantine-color-red-5)' }}\n >\n 🗑️\n </ActionIcon>\n </Group>\n )}\n </Group>\n </Card>\n ))}\n </Stack>\n </ScrollArea>\n )}\n </Stack>\n </Group>\n </Card>\n );\n};\n","import React, { useState, useEffect, useMemo } from 'react';\nimport { Stack, Button, Group, Text, Card, Badge, Divider, ScrollArea, Alert, Tabs, SimpleGrid, Paper } from '@mantine/core';\nimport { ProposalAction } from '../../context/types';\nimport { getActionConfig, getCategorizedActions } from './registry/actionRegistry';\nimport { ACTION_CATEGORIES } from './registry/categories';\nimport { ActionTypeConfig } from './registry/types';\n\ninterface ActionsPanelProps {\n actions: ProposalAction[];\n editingIndex: number | null;\n onSave: (action: ProposalAction) => void;\n onCancel: () => void;\n isTemplateMode?: boolean;\n}\n\nexport const ActionsPanel: React.FC<ActionsPanelProps> = ({ actions, editingIndex, onSave, onCancel, isTemplateMode = false }) => {\n const isEditing = editingIndex !== null;\n const editingAction = isEditing ? actions[editingIndex] : null;\n\n const initialActionType = editingAction?.type || 'Spend';\n const [selectedActionType, setSelectedActionType] = useState<string>(initialActionType);\n const [actionData, setActionData] = useState<any>(() => {\n if (editingAction) {\n return editingAction.data;\n }\n const config = getActionConfig(selectedActionType);\n return config?.getDefaultData() || {};\n });\n\n const currentActionConfig = getActionConfig(selectedActionType);\n const categorizedActions = useMemo(() => getCategorizedActions(), []);\n\n useEffect(() => {\n if (!isEditing) {\n const config = getActionConfig(selectedActionType);\n if (config) {\n setActionData(config.getDefaultData());\n }\n }\n }, [selectedActionType, isEditing]);\n\n const handleSave = () => {\n if (!currentActionConfig) return;\n\n const validation = currentActionConfig.validateData(actionData);\n if (!validation.isValid) {\n return;\n }\n\n const action: ProposalAction = {\n type: selectedActionType as any,\n data: actionData,\n };\n\n onSave(action);\n };\n\n const renderActionForm = () => {\n if (!currentActionConfig) {\n return (\n <Alert color=\"red\">\n <Text size=\"sm\" c=\"red\">\n Unknown action type selected\n </Text>\n </Alert>\n );\n }\n\n const FormComponent = currentActionConfig.FormComponent;\n return <FormComponent data={actionData} onChange={setActionData} isTemplateMode={isTemplateMode} />;\n };\n\n const getCategoryColor = (category: string) => {\n const colors: Record<string, string> = {\n treasury: '#4dabf7',\n governance: '#ffd43b',\n staking: '#51cf66',\n dao: '#ff6b6b',\n nft: '#a78bfa',\n contract: '#f97316',\n validator: '#06b6d4',\n custom: '#6b7280',\n };\n return colors[category] || '#6b7280';\n };\n\n return (\n <Stack style={{ height: '100%' }}>\n <Text fw={600}>{isEditing ? 'Edit Action' : 'Add New Action'}</Text>\n\n {!isEditing ? (\n <Stack gap=\"md\">\n <Text size=\"sm\" fw={500} c=\"dimmed\">\n Select Action Type\n </Text>\n\n <Tabs\n defaultValue={ACTION_CATEGORIES[0].id}\n styles={{\n root: { backgroundColor: 'transparent' },\n list: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n tab: {\n color: 'var(--mantine-color-dimmed)',\n '&[data-active]': {\n backgroundColor: 'var(--mantine-color-neutralColor-4)',\n color: 'var(--mantine-color-text)',\n borderColor: 'var(--mantine-color-accent-5)',\n },\n '&:hover': {\n backgroundColor: 'var(--mantine-color-neutralColor-3)',\n },\n },\n panel: { paddingTop: 'md' },\n }}\n >\n <Tabs.List>\n {ACTION_CATEGORIES.map((category) => (\n <Tabs.Tab key={category.id} value={category.id}>\n <Group gap=\"xs\">\n <span>{category.icon}</span>\n <span>{category.label}</span>\n </Group>\n </Tabs.Tab>\n ))}\n </Tabs.List>\n\n {ACTION_CATEGORIES.map((category) => (\n <Tabs.Panel key={category.id} value={category.id} mt={10}>\n <SimpleGrid cols={2} spacing=\"xs\">\n {(categorizedActions.get(category.id) || []).map((config: ActionTypeConfig) => (\n <Paper\n key={config.value}\n withBorder\n p=\"sm\"\n style={{\n backgroundColor: selectedActionType === config.value ? 'var(--mantine-color-neutralColor-4)' : 'var(--mantine-color-neutralColor-2)',\n borderColor: selectedActionType === config.value ? 'var(--mantine-color-accent-5)' : 'var(--mantine-color-neutralColor-5)',\n cursor: 'pointer',\n transition: 'all 0.2s',\n }}\n onClick={() => setSelectedActionType(config.value)}\n >\n <Stack gap=\"xs\">\n <Group justify=\"space-between\">\n <Text size=\"sm\" fw={500}>\n {config.label}\n </Text>\n {selectedActionType === config.value && (\n <Badge size=\"xs\" color=\"accent\">\n Selected\n </Badge>\n )}\n </Group>\n {config.description && (\n <Text size=\"xs\" c=\"dimmed\">\n {config.description}\n </Text>\n )}\n </Stack>\n </Paper>\n ))}\n </SimpleGrid>\n </Tabs.Panel>\n ))}\n </Tabs>\n </Stack>\n ) : (\n <Card\n withBorder\n p=\"sm\"\n style={{\n backgroundColor: 'var(--mantine-color-neutralColor-2)',\n borderColor: 'var(--mantine-color-neutralColor-5)',\n }}\n >\n <Group justify=\"space-between\">\n <Group gap=\"xs\">\n <Badge\n size=\"sm\"\n style={{\n backgroundColor: getCategoryColor(currentActionConfig?.category || 'custom') + '20',\n color: getCategoryColor(currentActionConfig?.category || 'custom'),\n }}\n >\n {currentActionConfig?.label || selectedActionType}\n </Badge>\n <Text size=\"sm\" c=\"dimmed\">\n (Editing)\n </Text>\n </Group>\n </Group>\n </Card>\n )}\n\n <Divider color=\"var(--mantine-color-neutralColor-5)\" />\n\n <ScrollArea style={{ flex: 1 }}>{renderActionForm()}</ScrollArea>\n\n <Divider color=\"var(--mantine-color-neutralColor-5)\" />\n\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={500} c=\"dimmed\">\n Current Actions ({actions.length})\n </Text>\n <ScrollArea h={100}>\n <Stack gap=\"xs\">\n {actions.map((action, index) => {\n const config = getActionConfig(action.type);\n return (\n <Card\n key={index}\n withBorder\n padding=\"xs\"\n style={{\n backgroundColor: 'var(--mantine-color-neutralColor-2)',\n borderColor: index === editingIndex ? 'var(--mantine-color-accent-5)' : 'var(--mantine-color-neutralColor-5)',\n borderWidth: index === editingIndex ? 2 : 1,\n opacity: index === editingIndex ? 0.7 : 1,\n }}\n >\n <Group gap=\"xs\">\n <Badge\n size=\"sm\"\n style={{\n backgroundColor: getCategoryColor(config?.category || 'custom') + '20',\n color: getCategoryColor(config?.category || 'custom'),\n }}\n >\n {config?.label || action.type}\n </Badge>\n <Text size=\"sm\" c=\"dimmed\">\n {config?.getSummary(action.data) || 'Action'}\n </Text>\n {index === editingIndex && (\n <Badge size=\"xs\" color=\"accent\">\n Editing\n </Badge>\n )}\n </Group>\n </Card>\n );\n })}\n </Stack>\n </ScrollArea>\n </Stack>\n\n <Group justify=\"flex-end\" mt=\"md\">\n <Button variant=\"secondary\" onClick={onCancel}>\n Cancel\n </Button>\n <Button onClick={handleSave} disabled={!currentActionConfig}>\n {isEditing ? 'Update Action' : 'Add Action'}\n </Button>\n </Group>\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack, Text } from '@mantine/core';\nimport { SpendData } from '../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport BaseNumberInput from '@/mantine/components/Base/BaseNumberInput';\n\ninterface SpendActionFormProps {\n data: SpendData;\n onChange: (data: SpendData) => void;\n}\n\nconst IXO_DENOM = 'uixo';\nconst IXO_EXPONENT = 6;\n\n// The Spend message (and stored action data) carries the amount in the\n// token's smallest unit. For IXO we let the user type whole IXO and convert\n// on the way in/out so nobody has to think in millionths.\nexport const SpendActionForm: React.FC<SpendActionFormProps> = ({ data, onChange }) => {\n const isIxo = data.denom === IXO_DENOM;\n\n const displayAmount = isIxo && data.amount !== '' ? Number(data.amount) / 10 ** IXO_EXPONENT : data.amount;\n\n return (\n <Stack>\n <BaseTextInput\n label=\"Recipient address\"\n description=\"The account that will receive the funds\"\n placeholder=\"ixo1...\"\n value={data.to}\n onChange={(e) => onChange({ ...data, to: e.currentTarget.value })}\n required\n />\n <BaseTextInput\n label=\"Token\"\n description=\"Which token to send from the group treasury. Keep uixo to send IXO.\"\n placeholder=\"uixo\"\n value={data.denom}\n onChange={(e) => onChange({ ...data, denom: e.currentTarget.value, amount: '' })}\n required\n />\n {isIxo ? (\n <BaseNumberInput\n label=\"Amount (IXO)\"\n description=\"How much IXO to send\"\n placeholder=\"10\"\n value={displayAmount === '' ? '' : Number(displayAmount)}\n onChange={(value) => {\n const n = typeof value === 'number' ? value : parseFloat(String(value));\n onChange({ ...data, amount: Number.isFinite(n) && n > 0 ? String(Math.round(n * 10 ** IXO_EXPONENT)) : '' });\n }}\n min={0}\n />\n ) : (\n <Stack gap={4}>\n <BaseTextInput\n label=\"Amount\"\n description=\"Enter the amount in the token's smallest unit\"\n placeholder=\"1000000\"\n value={data.amount}\n onChange={(e) => onChange({ ...data, amount: e.currentTarget.value })}\n required\n />\n <Text size=\"xs\" c=\"dimmed\">\n Tokens are counted in their smallest unit on-chain. Double-check the amount before submitting.\n </Text>\n </Stack>\n )}\n </Stack>\n );\n};\n","import React, { useState } from 'react';\nimport { Stack, Button, Group, Text, Card, Badge, ActionIcon, Divider, ScrollArea } from '@mantine/core';\nimport { ManageMembersData } from '../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport BaseNumberInput from '@/mantine/components/Base/BaseNumberInput';\n\ninterface Member {\n addr: string;\n weight: number;\n}\n\ninterface UpdateMembersActionFormProps {\n data: ManageMembersData;\n onChange: (data: ManageMembersData) => void;\n}\n\nexport const UpdateMembersActionForm: React.FC<UpdateMembersActionFormProps> = ({ data, onChange }) => {\n const [newMember, setNewMember] = useState<Member>({ addr: '', weight: 1 });\n const [newRemoveAddress, setNewRemoveAddress] = useState('');\n\n const handleAddMember = () => {\n if (!newMember.addr) return;\n onChange({\n ...data,\n add: [...(data.add || []), { ...newMember }],\n });\n setNewMember({ addr: '', weight: 1 });\n };\n\n const handleRemoveMember = (index: number) => {\n onChange({\n ...data,\n add: (data.add || []).filter((_, i) => i !== index),\n });\n };\n\n const handleAddRemoveAddress = () => {\n if (!newRemoveAddress) return;\n onChange({\n ...data,\n remove: [...(data.remove || []), { addr: newRemoveAddress }],\n });\n setNewRemoveAddress('');\n };\n\n const handleRemoveRemoveAddress = (index: number) => {\n onChange({\n ...data,\n remove: (data.remove || []).filter((_, i) => i !== index),\n });\n };\n\n return (\n <Stack>\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={500} style={{ color: 'var(--mantine-color-dimmed)' }}>\n Members to Add\n </Text>\n <ScrollArea h={150}>\n <Stack gap=\"xs\">\n {(data.add || []).map((member, index) => (\n <Card\n key={index}\n withBorder\n padding=\"xs\"\n style={{\n backgroundColor: 'var(--mantine-color-neutralColor-2)',\n borderColor: 'var(--mantine-color-neutralColor-5)',\n }}\n >\n <Group justify=\"space-between\">\n <div>\n <Text size=\"sm\" fw={500} style={{ color: 'var(--mantine-color-text)' }}>\n {member.addr.slice(0, 20)}...\n </Text>\n <Badge\n size=\"sm\"\n style={{\n backgroundColor: '#ffd43b20',\n color: '#ffd43b',\n }}\n >\n Weight: {member.weight}\n </Badge>\n </div>\n <ActionIcon size=\"sm\" variant=\"subtle\" onClick={() => handleRemoveMember(index)} style={{ color: 'var(--mantine-color-red-5)' }}>\n 🗑️\n </ActionIcon>\n </Group>\n </Card>\n ))}\n </Stack>\n </ScrollArea>\n <Group grow>\n <BaseTextInput placeholder=\"Member address\" value={newMember.addr} onChange={(e) => setNewMember({ ...newMember, addr: e.currentTarget.value })} />\n <BaseNumberInput placeholder=\"Weight\" value={newMember.weight} onChange={(value) => setNewMember({ ...newMember, weight: Number(value) || 1 })} min={1} />\n <Button\n size=\"sm\"\n onClick={handleAddMember}\n style={{\n backgroundColor: 'color-mix(in srgb, var(--mantine-color-accent-5) 50%, transparent)',\n '&:hover': {\n backgroundColor: 'var(--mantine-color-accent-5)',\n },\n }}\n >\n ➕ Add\n </Button>\n </Group>\n </Stack>\n\n <Divider color=\"#333\" />\n\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={500} style={{ color: 'var(--mantine-color-dimmed)' }}>\n Members to Remove\n </Text>\n <ScrollArea h={100}>\n <Stack gap=\"xs\">\n {(data.remove || []).map((item, index) => (\n <Card\n key={index}\n withBorder\n padding=\"xs\"\n style={{\n backgroundColor: 'var(--mantine-color-neutralColor-2)',\n borderColor: 'var(--mantine-color-neutralColor-5)',\n }}\n >\n <Group justify=\"space-between\">\n <Text size=\"sm\" style={{ color: 'var(--mantine-color-dimmed)' }}>\n {item.addr.slice(0, 30)}...\n </Text>\n <ActionIcon size=\"sm\" variant=\"subtle\" onClick={() => handleRemoveRemoveAddress(index)} style={{ color: 'var(--mantine-color-red-5)' }}>\n 🗑️\n </ActionIcon>\n </Group>\n </Card>\n ))}\n </Stack>\n </ScrollArea>\n <Group grow>\n <BaseTextInput placeholder=\"Address to remove\" value={newRemoveAddress} onChange={(e) => setNewRemoveAddress(e.currentTarget.value)} />\n <Button\n size=\"sm\"\n onClick={handleAddRemoveAddress}\n style={{\n backgroundColor: 'color-mix(in srgb, var(--mantine-color-accent-5) 50%, transparent)',\n '&:hover': {\n backgroundColor: 'var(--mantine-color-accent-5)',\n },\n }}\n >\n ➕ Add\n </Button>\n </Group>\n </Stack>\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { StakeData, StakeType } from '../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport BaseSelect from '@/mantine/components/Base/BaseSelect';\nimport BaseNumberInput from '@/mantine/components/Base/BaseNumberInput';\n\ninterface StakeActionFormProps {\n data: StakeData;\n onChange: (data: StakeData) => void;\n}\n\nconst stakeTypeOptions = [\n { value: StakeType.Delegate, label: 'Delegate' },\n { value: StakeType.Undelegate, label: 'Undelegate' },\n { value: StakeType.Redelegate, label: 'Redelegate' },\n { value: StakeType.WithdrawDelegatorReward, label: 'Withdraw Delegator Reward' },\n];\n\nexport const StakeActionForm: React.FC<StakeActionFormProps> = ({ data, onChange }) => {\n const isRedelegate = data.stakeType === StakeType.Redelegate;\n const needsAmount = data.stakeType !== StakeType.WithdrawDelegatorReward;\n\n return (\n <Stack gap=\"md\">\n <BaseSelect label=\"Stake Type\" value={data.stakeType} onChange={(value) => onChange({ ...data, stakeType: value as StakeType })} data={stakeTypeOptions} required />\n\n <BaseTextInput\n label=\"Validator Address\"\n placeholder={isRedelegate ? 'Source validator address' : 'Validator address'}\n value={data.validator}\n onChange={(e) => onChange({ ...data, validator: e.target.value })}\n required\n />\n\n {isRedelegate && (\n <BaseTextInput\n label=\"Destination Validator Address\"\n placeholder=\"Destination validator address\"\n value={data.toValidator}\n onChange={(e) => onChange({ ...data, toValidator: e.target.value })}\n required\n />\n )}\n\n {needsAmount && (\n <>\n <BaseNumberInput\n label=\"Amount\"\n placeholder=\"Enter amount\"\n value={data.amount}\n onChange={(value) => onChange({ ...data, amount: String(value || '') })}\n min={0}\n hideControls\n required\n />\n\n <BaseSelect\n label=\"Denomination\"\n value={data.denom}\n onChange={(value) => onChange({ ...data, denom: value || 'uixo' })}\n data={[\n { value: 'uixo', label: 'uIXO' },\n { value: 'ixo', label: 'IXO' },\n ]}\n required\n />\n </>\n )}\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { JoinData } from '../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\ninterface JoinActionFormProps {\n data: JoinData;\n onChange: (data: JoinData) => void;\n}\n\nexport const JoinActionForm: React.FC<JoinActionFormProps> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"ID\" placeholder=\"did:ixo:entity:abc123...\" value={data.id} onChange={(e) => onChange({ ...data, id: e.target.value })} required />\n <BaseTextInput label=\"Core Address\" placeholder=\"ixo1...\" value={data.coreAddress} onChange={(e) => onChange({ ...data, coreAddress: e.target.value })} required />\n <BaseTextInput label=\"Address\" placeholder=\"ixo1...\" value={data.address} onChange={(e) => onChange({ ...data, address: e.target.value })} required />\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { MintData } from '../../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport BaseNumberInput from '@/mantine/components/Base/BaseNumberInput';\n\nexport const MintActionForm: React.FC<ActionFormProps<MintData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"Recipient Address\" placeholder=\"ixo1...\" value={data.to} onChange={(e) => onChange({ ...data, to: e.currentTarget.value })} required />\n\n <BaseNumberInput\n label=\"Amount\"\n placeholder=\"Enter amount to mint\"\n value={data.amount}\n onChange={(value) => onChange({ ...data, amount: Number(value) || 0 })}\n min={0}\n hideControls\n required\n />\n </Stack>\n );\n};\n","import React, { useState } from 'react';\nimport { Stack, Button, Group, Text, Card } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { ExecuteData, Coin } from '../../../../context/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const ExecuteActionForm: React.FC<ActionFormProps<ExecuteData>> = ({ data, onChange }) => {\n const [newFund, setNewFund] = useState<Coin>({ denom: 'uixo', amount: '' });\n\n const handleAddFund = () => {\n if (newFund.amount && newFund.denom) {\n onChange({\n ...data,\n funds: [...(data.funds || []), { ...newFund }],\n });\n setNewFund({ denom: 'uixo', amount: '' });\n }\n };\n\n const handleRemoveFund = (index: number) => {\n onChange({\n ...data,\n funds: (data.funds || []).filter((_, i) => i !== index),\n });\n };\n\n const formatMessage = () => {\n try {\n const parsed = JSON.parse(data.message);\n return JSON.stringify(parsed, null, 2);\n } catch {\n return data.message;\n }\n };\n\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"Contract Address\" placeholder=\"ixo1...\" value={data.address} onChange={(e) => onChange({ ...data, address: e.currentTarget.value })} required />\n\n <BaseTextArea\n label=\"Message (JSON)\"\n placeholder='{\"method\": \"execute\", \"params\": {}}'\n value={formatMessage()}\n onChange={(e) => onChange({ ...data, message: e.currentTarget.value })}\n minRows={4}\n required\n />\n\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={500} style={{ color: 'var(--mantine-color-dimmed)' }}>\n Funds (Optional)\n </Text>\n\n {(data.funds || []).map((fund, index) => (\n <Card key={index} withBorder padding=\"xs\" style={{ backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' }}>\n <Group justify=\"space-between\">\n <Text size=\"sm\" style={{ color: 'var(--mantine-color-text)' }}>\n {fund.amount} {fund.denom}\n </Text>\n <Button size=\"xs\" variant=\"subtle\" onClick={() => handleRemoveFund(index)} style={{ color: 'var(--mantine-color-red-5)' }}>\n Remove\n </Button>\n </Group>\n </Card>\n ))}\n\n <Group grow>\n <BaseTextInput placeholder=\"Amount\" value={newFund.amount} onChange={(e) => setNewFund({ ...newFund, amount: e.currentTarget.value })} />\n <BaseTextInput placeholder=\"Denom (e.g., uixo)\" value={newFund.denom} onChange={(e) => setNewFund({ ...newFund, denom: e.currentTarget.value })} />\n <Button\n size=\"sm\"\n onClick={handleAddFund}\n style={{\n backgroundColor: 'color-mix(in srgb, var(--mantine-color-accent-5) 50%, transparent)',\n '&:hover': { backgroundColor: 'var(--mantine-color-accent-5)' },\n }}\n >\n Add Fund\n </Button>\n </Group>\n </Stack>\n </Stack>\n );\n};\n","import React, { useState, useEffect } from 'react';\nimport { Stack, Alert, Group, Text, Badge } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { CustomData } from '../../../../context/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\n\nexport const CustomActionForm: React.FC<ActionFormProps<CustomData>> = ({ data, onChange }) => {\n const [isValid, setIsValid] = useState(true);\n const [error, setError] = useState('');\n\n useEffect(() => {\n try {\n if (data.message) {\n JSON.parse(data.message);\n setIsValid(true);\n setError('');\n }\n } catch (e) {\n setIsValid(false);\n setError((e as Error).message);\n }\n }, [data.message]);\n\n const formatMessage = () => {\n try {\n const parsed = JSON.parse(data.message);\n return JSON.stringify(parsed, null, 2);\n } catch {\n return data.message;\n }\n };\n\n return (\n <Stack gap=\"md\">\n <Alert color=\"yellow\">\n <Text size=\"sm\">⚠️ Custom actions require valid JSON messages. Supports both Wasm and Stargate message formats.</Text>\n </Alert>\n\n <div>\n <Group gap=\"xs\" mb=\"xs\">\n <Text size=\"sm\" fw={500} style={{ color: 'var(--mantine-color-dimmed)' }}>\n Custom Message (JSON)\n </Text>\n <Badge\n size=\"sm\"\n style={{\n backgroundColor: isValid ? '#51cf6620' : '#ff6b6b20',\n color: isValid ? 'var(--mantine-color-accent-5)' : 'var(--mantine-color-red-5)',\n }}\n >\n {isValid ? 'Valid JSON' : 'Invalid JSON'}\n </Badge>\n </Group>\n\n <BaseTextArea\n placeholder={`Example Wasm message:\n{\n \"wasm\": {\n \"execute\": {\n \"contract_addr\": \"ixo1...\",\n \"funds\": [],\n \"msg\": { \"method\": \"value\" }\n }\n }\n}\n\nExample Stargate message:\n{\n \"stargate\": {\n \"type_url\": \"/cosmos.bank.v1beta1.MsgSend\",\n \"value\": { ... }\n }\n}`}\n value={formatMessage()}\n onChange={(e) => onChange({ ...data, message: e.currentTarget.value })}\n minRows={10}\n maxRows={20}\n required\n error={error}\n />\n </div>\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { AuthzExecData, AuthzExecActionTypes } from '../../../../context/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport BaseSelect from '@/mantine/components/Base/BaseSelect';\n\nexport const AuthzExecActionForm: React.FC<ActionFormProps<AuthzExecData>> = ({ data, onChange }) => {\n const actionTypeOptions = [\n { value: AuthzExecActionTypes.Delegate, label: 'Delegate' },\n { value: AuthzExecActionTypes.Undelegate, label: 'Undelegate' },\n { value: AuthzExecActionTypes.Redelegate, label: 'Redelegate' },\n { value: AuthzExecActionTypes.ClaimRewards, label: 'Claim Rewards' },\n { value: AuthzExecActionTypes.Custom, label: 'Custom' },\n ];\n\n const formatMessage = (message: any) => {\n try {\n return JSON.stringify(message, null, 2);\n } catch {\n return typeof message === 'string' ? message : '{}';\n }\n };\n\n const handleMessageChange = (field: string, value: string) => {\n try {\n const parsed = JSON.parse(value);\n onChange({ ...data, [field]: parsed });\n } catch {\n // Keep the string value for partial editing\n onChange({ ...data, [field]: value });\n }\n };\n\n return (\n <Stack gap=\"md\">\n <BaseSelect\n label=\"Action Type\"\n placeholder=\"Select action type\"\n value={data.authzExecActionType}\n onChange={(value) => onChange({ ...data, authzExecActionType: value as any })}\n data={actionTypeOptions}\n required\n />\n\n {data.authzExecActionType === AuthzExecActionTypes.Delegate && (\n <BaseTextArea\n label=\"Delegate Message (JSON)\"\n placeholder='{\"delegator_address\": \"\", \"validator_address\": \"\", \"amount\": {\"denom\": \"uixo\", \"amount\": \"\"}}'\n value={formatMessage(data.delegate)}\n onChange={(e) => handleMessageChange('delegate', e.currentTarget.value)}\n minRows={4}\n />\n )}\n\n {data.authzExecActionType === AuthzExecActionTypes.Undelegate && (\n <BaseTextArea\n label=\"Undelegate Message (JSON)\"\n placeholder='{\"delegator_address\": \"\", \"validator_address\": \"\", \"amount\": {\"denom\": \"uixo\", \"amount\": \"\"}}'\n value={formatMessage(data.undelegate)}\n onChange={(e) => handleMessageChange('undelegate', e.currentTarget.value)}\n minRows={4}\n />\n )}\n\n {data.authzExecActionType === AuthzExecActionTypes.Redelegate && (\n <BaseTextArea\n label=\"Redelegate Message (JSON)\"\n placeholder='{\"delegator_address\": \"\", \"validator_src_address\": \"\", \"validator_dst_address\": \"\", \"amount\": {\"denom\": \"uixo\", \"amount\": \"\"}}'\n value={formatMessage(data.redelegate)}\n onChange={(e) => handleMessageChange('redelegate', e.currentTarget.value)}\n minRows={4}\n />\n )}\n\n {data.authzExecActionType === AuthzExecActionTypes.ClaimRewards && (\n <BaseTextArea\n label=\"Claim Rewards Message (JSON)\"\n placeholder='{\"delegator_address\": \"\", \"validator_address\": \"\"}'\n value={formatMessage(data.claimRewards)}\n onChange={(e) => handleMessageChange('claimRewards', e.currentTarget.value)}\n minRows={3}\n />\n )}\n\n {data.authzExecActionType === AuthzExecActionTypes.Custom && (\n <BaseTextInput label=\"Custom Message\" placeholder=\"Enter custom message\" value={data.custom} onChange={(e) => onChange({ ...data, custom: e.currentTarget.value })} />\n )}\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { AuthzData } from '../../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const AuthzGrantActionForm: React.FC<ActionFormProps<AuthzData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <BaseTextInput\n label=\"Type URL\"\n placeholder=\"/cosmos.authz.v1beta1.MsgGrant\"\n value={data.typeUrl}\n onChange={(e) => onChange({ ...data, typeUrl: e.currentTarget.value })}\n required\n />\n\n <BaseTextInput\n label=\"Grantee Address\"\n placeholder=\"ixo1...\"\n value={data.value?.grantee || ''}\n onChange={(e) =>\n onChange({\n ...data,\n value: { ...(data.value || {}), grantee: e.currentTarget.value },\n })\n }\n required\n />\n\n <BaseTextInput\n label=\"Message Type URL\"\n placeholder=\"/cosmos.staking.v1beta1.MsgDelegate\"\n value={data.value?.msgTypeUrl || ''}\n onChange={(e) =>\n onChange({\n ...data,\n value: { ...(data.value || {}), msgTypeUrl: e.currentTarget.value },\n })\n }\n required\n />\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { BurnNftData } from '../../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const BurnNftActionForm: React.FC<ActionFormProps<BurnNftData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"Collection Address\" placeholder=\"ixo1...\" value={data.collection} onChange={(e) => onChange({ ...data, collection: e.currentTarget.value })} required />\n\n <BaseTextInput label=\"Token ID\" placeholder=\"1\" value={data.tokenId} onChange={(e) => onChange({ ...data, tokenId: e.currentTarget.value })} required />\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack, Checkbox } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { TransferNftData } from '../../../../context/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const TransferNftActionForm: React.FC<ActionFormProps<TransferNftData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"Collection Address\" placeholder=\"ixo1...\" value={data.collection} onChange={(e) => onChange({ ...data, collection: e.currentTarget.value })} required />\n\n <BaseTextInput label=\"Token ID\" placeholder=\"1\" value={data.tokenId} onChange={(e) => onChange({ ...data, tokenId: e.currentTarget.value })} required />\n\n <BaseTextInput label=\"Recipient Address\" placeholder=\"ixo1...\" value={data.recipient} onChange={(e) => onChange({ ...data, recipient: e.currentTarget.value })} required />\n\n <Checkbox\n label=\"Execute Smart Contract\"\n checked={data.executeSmartContract}\n onChange={(e) => onChange({ ...data, executeSmartContract: e.currentTarget.checked })}\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n input: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n\n {data.executeSmartContract && (\n <BaseTextArea\n label=\"Smart Contract Message (JSON)\"\n placeholder='{\"method\": \"execute\", \"params\": {}}'\n value={data.smartContractMsg}\n onChange={(e) => onChange({ ...data, smartContractMsg: e.currentTarget.value })}\n minRows={3}\n />\n )}\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack, Radio, Group } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { ManageCw721Data } from '../../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const ManageCw721ActionForm: React.FC<ActionFormProps<ManageCw721Data>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <Radio.Group label=\"Action\" value={data.adding ? 'add' : 'remove'} onChange={(value) => onChange({ ...data, adding: value === 'add' })}>\n <Group mt=\"xs\">\n <Radio\n value=\"add\"\n label=\"Add CW721 Contract\"\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n radio: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n <Radio\n value=\"remove\"\n label=\"Remove CW721 Contract\"\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n radio: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n </Group>\n </Radio.Group>\n\n <BaseTextInput label=\"NFT Contract Address\" placeholder=\"ixo1...\" value={data.address} onChange={(e) => onChange({ ...data, address: e.currentTarget.value })} required />\n </Stack>\n );\n};\n","import React, { useState } from 'react';\nimport { Stack, Button, Group, Text, Card } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { InstantiateData, Coin } from '../../../../context/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport BaseNumberInput from '@/mantine/components/Base/BaseNumberInput';\n\nexport const InstantiateActionForm: React.FC<ActionFormProps<InstantiateData>> = ({ data, onChange }) => {\n const [newFund, setNewFund] = useState<Coin>({ denom: 'uixo', amount: '' });\n\n const handleAddFund = () => {\n if (newFund.amount && newFund.denom) {\n onChange({\n ...data,\n funds: [...(data.funds || []), { ...newFund }],\n });\n setNewFund({ denom: 'uixo', amount: '' });\n }\n };\n\n const handleRemoveFund = (index: number) => {\n onChange({\n ...data,\n funds: (data.funds || []).filter((_, i) => i !== index),\n });\n };\n\n const formatMessage = () => {\n try {\n const parsed = JSON.parse(data.message);\n return JSON.stringify(parsed, null, 2);\n } catch {\n return data.message;\n }\n };\n\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"Admin Address\" placeholder=\"ixo1...\" value={data.admin} onChange={(e) => onChange({ ...data, admin: e.currentTarget.value })} required />\n\n <BaseNumberInput label=\"Code ID\" placeholder=\"123\" value={data.codeId} onChange={(value) => onChange({ ...data, codeId: Number(value) || 0 })} min={1} required />\n\n <BaseTextInput label=\"Label\" placeholder=\"My Contract\" value={data.label} onChange={(e) => onChange({ ...data, label: e.currentTarget.value })} required />\n\n <BaseTextArea\n label=\"Instantiate Message (JSON)\"\n placeholder='{\"owner\": \"ixo1...\", \"config\": {}}'\n value={formatMessage()}\n onChange={(e) => onChange({ ...data, message: e.currentTarget.value })}\n minRows={4}\n required\n />\n\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={500} style={{ color: 'var(--mantine-color-dimmed)' }}>\n Funds (Optional)\n </Text>\n\n {(data.funds || []).map((fund, index) => (\n <Card key={index} withBorder padding=\"xs\" style={{ backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' }}>\n <Group justify=\"space-between\">\n <Text size=\"sm\" style={{ color: 'var(--mantine-color-text)' }}>\n {fund.amount} {fund.denom}\n </Text>\n <Button size=\"xs\" variant=\"subtle\" onClick={() => handleRemoveFund(index)} style={{ color: 'var(--mantine-color-red-5)' }}>\n Remove\n </Button>\n </Group>\n </Card>\n ))}\n\n <Group grow>\n <BaseTextInput placeholder=\"Amount\" value={newFund.amount} onChange={(e) => setNewFund({ ...newFund, amount: e.currentTarget.value })} />\n <BaseTextInput placeholder=\"Denom (e.g., uixo)\" value={newFund.denom} onChange={(e) => setNewFund({ ...newFund, denom: e.currentTarget.value })} />\n <Button\n size=\"sm\"\n onClick={handleAddFund}\n style={{\n backgroundColor: 'color-mix(in srgb, var(--mantine-color-accent-5) 50%, transparent)',\n '&:hover': { backgroundColor: 'var(--mantine-color-accent-5)' },\n }}\n >\n Add Fund\n </Button>\n </Group>\n </Stack>\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { MigrateData } from '../../../../context/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport BaseNumberInput from '@/mantine/components/Base/BaseNumberInput';\n\nexport const MigrateActionForm: React.FC<ActionFormProps<MigrateData>> = ({ data, onChange }) => {\n const formatMessage = () => {\n try {\n const parsed = JSON.parse(data.msg);\n return JSON.stringify(parsed, null, 2);\n } catch {\n return data.msg;\n }\n };\n\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"Contract Address\" placeholder=\"ixo1...\" value={data.contract} onChange={(e) => onChange({ ...data, contract: e.currentTarget.value })} required />\n\n <BaseNumberInput label=\"New Code ID\" placeholder=\"456\" value={data.codeId} onChange={(value) => onChange({ ...data, codeId: Number(value) || 0 })} min={1} required />\n\n <BaseTextArea\n label=\"Migration Message (JSON)\"\n placeholder='{\"migrate\": {\"new_param\": \"value\"}}'\n value={formatMessage()}\n onChange={(e) => onChange({ ...data, msg: e.currentTarget.value })}\n minRows={4}\n required\n />\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { UpdateAdminData } from '../../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const UpdateAdminActionForm: React.FC<ActionFormProps<UpdateAdminData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"Contract Address\" placeholder=\"ixo1...\" value={data.contract} onChange={(e) => onChange({ ...data, contract: e.currentTarget.value })} required />\n\n <BaseTextInput label=\"New Admin Address\" placeholder=\"ixo1...\" value={data.newAdmin} onChange={(e) => onChange({ ...data, newAdmin: e.currentTarget.value })} required />\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack, Radio, Group } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { ManageCw20Data } from '../../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const ManageCw20ActionForm: React.FC<ActionFormProps<ManageCw20Data>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <Radio.Group label=\"Action\" value={data.adding ? 'add' : 'remove'} onChange={(value) => onChange({ ...data, adding: value === 'add' })}>\n <Group mt=\"xs\">\n <Radio\n value=\"add\"\n label=\"Add CW20 Contract\"\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n radio: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n <Radio\n value=\"remove\"\n label=\"Remove CW20 Contract\"\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n radio: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n </Group>\n </Radio.Group>\n\n <BaseTextInput label=\"Token Contract Address\" placeholder=\"ixo1...\" value={data.address} onChange={(e) => onChange({ ...data, address: e.currentTarget.value })} required />\n </Stack>\n );\n};\n","import React, { useState } from 'react';\nimport { Stack, Button, Group, Text, Card } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { ManageSubDaosData, SubDao } from '../../../../context/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const ManageSubDaosActionForm: React.FC<ActionFormProps<ManageSubDaosData>> = ({ data, onChange }) => {\n const [newSubDao, setNewSubDao] = useState<SubDao>({ addr: '', charter: '' });\n const [newRemoveAddress, setNewRemoveAddress] = useState('');\n\n const handleAddSubDao = () => {\n if (newSubDao.addr) {\n onChange({\n ...data,\n toAdd: [...(data.toAdd || []), { ...newSubDao }],\n });\n setNewSubDao({ addr: '', charter: '' });\n }\n };\n\n const handleRemoveFromAddList = (index: number) => {\n onChange({\n ...data,\n toAdd: (data.toAdd || []).filter((_, i) => i !== index),\n });\n };\n\n const handleAddToRemoveList = () => {\n if (newRemoveAddress) {\n onChange({\n ...data,\n toRemove: [...(data.toRemove || []), { address: newRemoveAddress }],\n });\n setNewRemoveAddress('');\n }\n };\n\n const handleRemoveFromRemoveList = (index: number) => {\n onChange({\n ...data,\n toRemove: (data.toRemove || []).filter((_, i) => i !== index),\n });\n };\n\n return (\n <Stack gap=\"md\">\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={500} style={{ color: 'var(--mantine-color-dimmed)' }}>\n SubDAOs to Add\n </Text>\n\n {(data.toAdd || []).map((subDao, index) => (\n <Card key={index} withBorder padding=\"xs\" style={{ backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' }}>\n <Stack gap=\"xs\">\n <Group justify=\"space-between\">\n <Text size=\"sm\" style={{ color: 'var(--mantine-color-text)' }}>\n {subDao.addr}\n </Text>\n <Button size=\"xs\" variant=\"subtle\" onClick={() => handleRemoveFromAddList(index)} style={{ color: 'var(--mantine-color-red-5)' }}>\n Remove\n </Button>\n </Group>\n {subDao.charter && (\n <Text size=\"xs\" style={{ color: 'var(--mantine-color-dimmed)' }}>\n Charter: {subDao.charter}\n </Text>\n )}\n </Stack>\n </Card>\n ))}\n\n <Stack gap=\"xs\">\n <BaseTextInput placeholder=\"SubDAO Address\" value={newSubDao.addr} onChange={(e) => setNewSubDao({ ...newSubDao, addr: e.currentTarget.value })} />\n <BaseTextArea\n placeholder=\"Charter (optional)\"\n value={newSubDao.charter || ''}\n onChange={(e) => setNewSubDao({ ...newSubDao, charter: e.currentTarget.value })}\n minRows={2}\n />\n <Button\n size=\"sm\"\n onClick={handleAddSubDao}\n style={{\n backgroundColor: 'color-mix(in srgb, var(--mantine-color-accent-5) 50%, transparent)',\n '&:hover': { backgroundColor: 'var(--mantine-color-accent-5)' },\n }}\n >\n Add SubDAO\n </Button>\n </Stack>\n </Stack>\n\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={500} style={{ color: 'var(--mantine-color-dimmed)' }}>\n SubDAOs to Remove\n </Text>\n\n {(data.toRemove || []).map((subDao, index) => (\n <Card key={index} withBorder padding=\"xs\" style={{ backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' }}>\n <Group justify=\"space-between\">\n <Text size=\"sm\" style={{ color: 'var(--mantine-color-text)' }}>\n {subDao.address}\n </Text>\n <Button size=\"xs\" variant=\"subtle\" onClick={() => handleRemoveFromRemoveList(index)} style={{ color: 'var(--mantine-color-red-5)' }}>\n Remove\n </Button>\n </Group>\n </Card>\n ))}\n\n <Group grow>\n <BaseTextInput placeholder=\"SubDAO Address to Remove\" value={newRemoveAddress} onChange={(e) => setNewRemoveAddress(e.currentTarget.value)} />\n <Button\n size=\"sm\"\n onClick={handleAddToRemoveList}\n style={{\n backgroundColor: 'var(--mantine-color-red-5)',\n '&:hover': { backgroundColor: 'var(--mantine-color-red-5)' },\n }}\n >\n Add to Remove List\n </Button>\n </Group>\n </Stack>\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack, Checkbox } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { UpdateInfoData } from '../../../../context/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const UpdateInfoActionForm: React.FC<ActionFormProps<UpdateInfoData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"DAO Name\" placeholder=\"My DAO\" value={data.name} onChange={(e) => onChange({ ...data, name: e.currentTarget.value })} required />\n\n <BaseTextArea\n label=\"Description\"\n placeholder=\"Describe your DAO\"\n value={data.description}\n onChange={(e) => onChange({ ...data, description: e.currentTarget.value })}\n minRows={3}\n />\n\n <BaseTextInput\n label=\"Image URL (Optional)\"\n placeholder=\"https://example.com/image.png\"\n value={data.image_url || ''}\n onChange={(e) => onChange({ ...data, image_url: e.currentTarget.value || null })}\n />\n\n <BaseTextInput\n label=\"DAO URI (Optional)\"\n placeholder=\"https://example.com/dao-info\"\n value={data.dao_uri || ''}\n onChange={(e) => onChange({ ...data, dao_uri: e.currentTarget.value || null })}\n />\n\n <Checkbox\n label=\"Automatically add CW20 tokens\"\n checked={data.automatically_add_cw20s}\n onChange={(e) => onChange({ ...data, automatically_add_cw20s: e.currentTarget.checked })}\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n input: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n\n <Checkbox\n label=\"Automatically add CW721 NFTs\"\n checked={data.automatically_add_cw721s}\n onChange={(e) => onChange({ ...data, automatically_add_cw721s: e.currentTarget.checked })}\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n input: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack, Radio, Group } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { ManageStorageItemsData } from '../../../../context/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const ManageStorageItemsActionForm: React.FC<ActionFormProps<ManageStorageItemsData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <Radio.Group label=\"Action\" value={data.setting ? 'set' : 'remove'} onChange={(value) => onChange({ ...data, setting: value === 'set' })}>\n <Group mt=\"xs\">\n <Radio\n value=\"set\"\n label=\"Set Storage Item\"\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n radio: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n <Radio\n value=\"remove\"\n label=\"Remove Storage Item\"\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n radio: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n </Group>\n </Radio.Group>\n\n <BaseTextInput label=\"Storage Key\" placeholder=\"config_key\" value={data.key} onChange={(e) => onChange({ ...data, key: e.currentTarget.value })} required />\n\n {data.setting && (\n <BaseTextArea\n label=\"Storage Value\"\n placeholder=\"Value to store\"\n value={data.value}\n onChange={(e) => onChange({ ...data, value: e.currentTarget.value })}\n minRows={3}\n required\n />\n )}\n </Stack>\n );\n};\n","import React, { useState } from 'react';\nimport { Stack, Button, Group, Text, Card } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { DaoAdminExecData } from '../../../../context/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const DaoAdminExecActionForm: React.FC<ActionFormProps<DaoAdminExecData>> = ({ data, onChange }) => {\n const [newMsg, setNewMsg] = useState('');\n\n const handleAddMessage = () => {\n if (newMsg) {\n try {\n const parsed = JSON.parse(newMsg);\n onChange({\n ...data,\n msgs: [...(data.msgs || []), parsed],\n });\n setNewMsg('');\n } catch {\n // Invalid JSON, don't add\n }\n }\n };\n\n const handleRemoveMessage = (index: number) => {\n onChange({\n ...data,\n msgs: (data.msgs || []).filter((_, i) => i !== index),\n });\n };\n\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"Core Address\" placeholder=\"ixo1...\" value={data.coreAddress} onChange={(e) => onChange({ ...data, coreAddress: e.currentTarget.value })} required />\n\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={500} style={{ color: 'var(--mantine-color-dimmed)' }}>\n Messages to Execute\n </Text>\n\n {(data.msgs || []).map((msg, index) => (\n <Card key={index} withBorder padding=\"xs\" style={{ backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' }}>\n <Group justify=\"space-between\">\n <Text size=\"sm\" style={{ color: 'var(--mantine-color-text)' }}>\n Message {index + 1}\n </Text>\n <Button size=\"xs\" variant=\"subtle\" onClick={() => handleRemoveMessage(index)} style={{ color: 'var(--mantine-color-red-5)' }}>\n Remove\n </Button>\n </Group>\n <Text size=\"xs\" style={{ color: 'var(--mantine-color-dimmed)', fontFamily: 'monospace' }}>\n {JSON.stringify(msg, null, 2).substring(0, 100)}...\n </Text>\n </Card>\n ))}\n\n <BaseTextArea\n placeholder='Add cosmos message as JSON:\\n{\"bank\": {\"send\": {\"to_address\": \"ixo1...\", \"amount\": [{\"denom\": \"uixo\", \"amount\": \"1000\"}]}}}'\n value={newMsg}\n onChange={(e) => setNewMsg(e.currentTarget.value)}\n minRows={4}\n />\n <Button\n size=\"sm\"\n onClick={handleAddMessage}\n style={{\n backgroundColor: 'color-mix(in srgb, var(--mantine-color-accent-5) 50%, transparent)',\n '&:hover': { backgroundColor: 'var(--mantine-color-accent-5)' },\n }}\n >\n Add Message\n </Button>\n </Stack>\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { AcceptToMarketplaceData } from '../../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const AcceptToMarketplaceActionForm: React.FC<ActionFormProps<AcceptToMarketplaceData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"DID\" placeholder=\"did:ixo:...\" value={data.did} onChange={(e) => onChange({ ...data, did: e.currentTarget.value })} required />\n\n <BaseTextInput\n label=\"Relayer Node DID\"\n placeholder=\"did:ixo:...\"\n value={data.relayerNodeDid}\n onChange={(e) => onChange({ ...data, relayerNodeDid: e.currentTarget.value })}\n required\n />\n\n <BaseTextInput\n label=\"Relayer Node Address\"\n placeholder=\"ixo1...\"\n value={data.relayerNodeAddress}\n onChange={(e) => onChange({ ...data, relayerNodeAddress: e.currentTarget.value })}\n required\n />\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack, Alert, Text } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\n\nexport const CreateEntityActionForm: React.FC<ActionFormProps<any>> = ({ data, onChange }) => {\n const handleJsonChange = (value: string) => {\n try {\n const parsed = JSON.parse(value);\n onChange(parsed);\n } catch {\n // Invalid JSON, don't update\n }\n };\n\n return (\n <Stack gap=\"md\">\n <Alert color=\"blue\" style={{ backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-accent-5)' }}>\n <Text size=\"sm\" style={{ color: 'var(--mantine-color-accent-5)' }}>\n This is a complex entity creation action. Please provide the complete entity data as JSON.\n </Text>\n </Alert>\n\n <BaseTextArea\n label=\"Entity Data (JSON)\"\n placeholder=\"Enter entity creation data as JSON\"\n value={JSON.stringify(data, null, 2)}\n onChange={(e) => handleJsonChange(e.currentTarget.value)}\n minRows={8}\n maxRows={20}\n />\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack, Checkbox, Group } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { UpdateProposalConfigData } from '../../../../context/types';\nimport BaseSelect from '@/mantine/components/Base/BaseSelect';\nimport BaseNumberInput from '@/mantine/components/Base/BaseNumberInput';\n\nexport const UpdateVotingConfigActionForm: React.FC<ActionFormProps<UpdateProposalConfigData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <Checkbox\n label=\"Only members can execute passed proposals\"\n description=\"When off, anyone can trigger the execution of a proposal that already passed\"\n checked={data.onlyMembersExecute}\n onChange={(e) => onChange({ ...data, onlyMembersExecute: e.currentTarget.checked })}\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n input: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n\n <BaseSelect\n label=\"Passing threshold\"\n description=\"How many of the votes cast must be 'yes' for a proposal to pass\"\n value={data.thresholdType}\n onChange={(value) => onChange({ ...data, thresholdType: value as '%' | 'majority' })}\n data={[\n { value: 'majority', label: 'More than half of the votes' },\n { value: '%', label: 'A custom percentage' },\n ]}\n />\n\n {data.thresholdType === '%' && (\n <BaseNumberInput\n label=\"Passing threshold percentage\"\n placeholder=\"51\"\n value={data.thresholdPercentage || 0}\n onChange={(value) => onChange({ ...data, thresholdPercentage: Number(value) || 0 })}\n min={0}\n max={100}\n suffix=\"%\"\n />\n )}\n\n <Checkbox\n label=\"Require a quorum\"\n description=\"A minimum share of the group's voting power must take part for the vote to count\"\n checked={data.quorumEnabled}\n onChange={(e) => onChange({ ...data, quorumEnabled: e.currentTarget.checked })}\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n input: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n\n {data.quorumEnabled && (\n <>\n <BaseSelect\n label=\"Quorum\"\n value={data.quorumType}\n onChange={(value) => onChange({ ...data, quorumType: value as '%' | 'majority' })}\n data={[\n { value: 'majority', label: 'More than half of the voting power' },\n { value: '%', label: 'A custom percentage' },\n ]}\n />\n\n {data.quorumType === '%' && (\n <BaseNumberInput\n label=\"Quorum percentage\"\n placeholder=\"20\"\n value={data.quorumPercentage || 0}\n onChange={(value) => onChange({ ...data, quorumPercentage: Number(value) || 0 })}\n min={0}\n max={100}\n suffix=\"%\"\n />\n )}\n </>\n )}\n\n <Group grow>\n <BaseNumberInput\n label=\"Voting duration\"\n description=\"How long proposals stay open for voting\"\n placeholder=\"7\"\n value={data.proposalDuration}\n onChange={(value) => onChange({ ...data, proposalDuration: Number(value) || 1 })}\n min={1}\n />\n <BaseSelect\n label=\"Unit\"\n value={data.proposalDurationUnits}\n onChange={(value) => onChange({ ...data, proposalDurationUnits: value as any })}\n data={[\n { value: 'minutes', label: 'Minutes' },\n { value: 'hours', label: 'Hours' },\n { value: 'days', label: 'Days' },\n { value: 'weeks', label: 'Weeks' },\n ]}\n />\n </Group>\n\n <Checkbox\n label=\"Allow vote switching\"\n description=\"Members can change their vote until voting closes\"\n checked={data.allowRevoting}\n onChange={(e) => onChange({ ...data, allowRevoting: e.currentTarget.checked })}\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n input: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack, Checkbox } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { DepositRefundPolicy, UpdatePreProposeConfigData } from '../../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport BaseSelect from '@/mantine/components/Base/BaseSelect';\n\nconst IXO_EXPONENT = 6;\n\nexport const UpdatePreProposeConfigActionForm: React.FC<ActionFormProps<UpdatePreProposeConfigData>> = ({ data, onChange }) => {\n // Deposits are stored in the token's smallest unit; for IXO show whole IXO\n // so the user never has to think in millionths.\n const isIxoDeposit = data.depositInfo.type === 'native' && data.depositInfo.denomOrAddress === 'uixo';\n const displayAmount = isIxoDeposit && data.depositInfo.amount !== '' ? String(Number(data.depositInfo.amount) / 10 ** IXO_EXPONENT) : data.depositInfo.amount;\n\n return (\n <Stack gap=\"md\">\n <Checkbox\n label=\"Anyone can submit proposals\"\n description=\"When off, only group members can submit proposals\"\n checked={data.anyoneCanPropose}\n onChange={(e) => onChange({ ...data, anyoneCanPropose: e.currentTarget.checked })}\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n input: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n\n <Checkbox\n label=\"Require a deposit to submit a proposal\"\n description=\"A deposit discourages spam. It can be refunded depending on the policy below.\"\n checked={data.depositRequired}\n onChange={(e) => onChange({ ...data, depositRequired: e.currentTarget.checked })}\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n input: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n\n {data.depositRequired && (\n <>\n <BaseSelect\n label=\"Deposit token\"\n description=\"Which token the deposit is paid in\"\n value={data.depositInfo.type}\n onChange={(value) =>\n onChange({\n ...data,\n depositInfo: {\n ...data.depositInfo,\n type: value as any,\n denomOrAddress: value === 'native' ? 'uixo' : '',\n amount: '',\n },\n })\n }\n data={[\n { value: 'native', label: 'IXO' },\n { value: 'cw20', label: 'A custom token (contract address)' },\n { value: 'voting_module_token', label: \"The group's own token\" },\n ]}\n />\n\n {data.depositInfo.type === 'cw20' && (\n <BaseTextInput\n label=\"Token contract address\"\n placeholder=\"ixo1...\"\n value={data.depositInfo.denomOrAddress}\n onChange={(e) =>\n onChange({\n ...data,\n depositInfo: { ...data.depositInfo, denomOrAddress: e.currentTarget.value },\n })\n }\n required\n />\n )}\n\n <BaseTextInput\n label={isIxoDeposit ? 'Deposit amount (IXO)' : 'Deposit amount'}\n description={isIxoDeposit ? 'How much IXO must be deposited with each proposal' : \"Enter the amount in the token's smallest unit\"}\n placeholder={isIxoDeposit ? '10' : '1000000'}\n value={displayAmount}\n onChange={(e) => {\n const raw = e.currentTarget.value;\n const n = parseFloat(raw);\n const amount = isIxoDeposit ? (Number.isFinite(n) && n > 0 ? String(Math.round(n * 10 ** IXO_EXPONENT)) : '') : raw;\n onChange({\n ...data,\n depositInfo: { ...data.depositInfo, amount },\n });\n }}\n required\n />\n\n <BaseSelect\n label=\"Refund policy\"\n description=\"What happens to the deposit after voting ends\"\n value={data.depositInfo.refundPolicy}\n onChange={(value) =>\n onChange({\n ...data,\n depositInfo: { ...data.depositInfo, refundPolicy: (value as DepositRefundPolicy) || 'always' },\n })\n }\n data={[\n { value: 'always', label: 'Always refund the deposit' },\n { value: 'only_passed', label: 'Refund only if the proposal passes' },\n { value: 'never', label: 'Never refund the deposit' },\n ]}\n />\n </>\n )}\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { GovernanceVoteData } from '../../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport BaseSelect from '@/mantine/components/Base/BaseSelect';\n\nexport const GovernanceVoteActionForm: React.FC<ActionFormProps<GovernanceVoteData>> = ({ data, onChange }) => {\n const voteOptions = [\n { value: '1', label: 'Yes' },\n { value: '2', label: 'Abstain' },\n { value: '3', label: 'No' },\n { value: '4', label: 'No with Veto' },\n ];\n\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"Proposal ID\" placeholder=\"123\" value={data.proposalId} onChange={(e) => onChange({ ...data, proposalId: e.currentTarget.value })} required />\n\n <BaseSelect label=\"Vote Option\" value={data.vote?.toString() || '1'} onChange={(value) => onChange({ ...data, vote: parseInt(value || '1') })} data={voteOptions} required />\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack, Checkbox } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { WithdrawTokenSwapData } from '../../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const WithdrawTokenSwapActionForm: React.FC<ActionFormProps<WithdrawTokenSwapData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <Checkbox\n label=\"Contract chosen\"\n checked={data.contractChosen}\n onChange={(e) => onChange({ ...data, contractChosen: e.currentTarget.checked })}\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n input: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n\n {data.contractChosen && (\n <BaseTextInput\n label=\"Token Swap Contract Address\"\n placeholder=\"ixo1...\"\n value={data.tokenSwapContractAddress || ''}\n onChange={(e) => onChange({ ...data, tokenSwapContractAddress: e.currentTarget.value })}\n required\n />\n )}\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack, Checkbox } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { PerformTokenSwapData } from '../../../../context/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const PerformTokenSwapActionForm: React.FC<ActionFormProps<PerformTokenSwapData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <Checkbox\n label=\"Contract chosen\"\n checked={data.contractChosen}\n onChange={(e) => onChange({ ...data, contractChosen: e.currentTarget.checked })}\n styles={{\n label: { color: 'var(--mantine-color-dimmed)' },\n input: { backgroundColor: 'var(--mantine-color-neutralColor-2)', borderColor: 'var(--mantine-color-neutralColor-5)' },\n }}\n />\n\n {data.contractChosen && (\n <>\n <BaseTextInput\n label=\"Token Swap Contract Address\"\n placeholder=\"ixo1...\"\n value={data.tokenSwapContractAddress || ''}\n onChange={(e) => onChange({ ...data, tokenSwapContractAddress: e.currentTarget.value })}\n required\n />\n\n <BaseTextArea\n label=\"Self Party Information (JSON)\"\n placeholder='{\"tokens\": [{\"denom\": \"uixo\", \"amount\": \"1000\"}]}'\n value={JSON.stringify(data.selfParty || {}, null, 2)}\n onChange={(e) => {\n try {\n const parsed = JSON.parse(e.currentTarget.value);\n onChange({ ...data, selfParty: parsed });\n } catch {\n // Invalid JSON, don't update\n }\n }}\n minRows={4}\n />\n\n <BaseTextArea\n label=\"Counterparty Information (JSON)\"\n placeholder='{\"address\": \"ixo1...\", \"tokens\": [{\"denom\": \"token\", \"amount\": \"500\"}]}'\n value={JSON.stringify(data.counterparty || {}, null, 2)}\n onChange={(e) => {\n try {\n const parsed = JSON.parse(e.currentTarget.value);\n onChange({ ...data, counterparty: parsed });\n } catch {\n // Invalid JSON, don't update\n }\n }}\n minRows={4}\n />\n </>\n )}\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { StakeToGroupData } from '../../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const StakeToGroupActionForm: React.FC<ActionFormProps<StakeToGroupData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <BaseTextInput\n label=\"Token Contract Address\"\n placeholder=\"ixo1...\"\n value={data.tokenContract}\n onChange={(e) => onChange({ ...data, tokenContract: e.currentTarget.value })}\n required\n />\n\n <BaseTextInput\n label=\"Staking Contract Address\"\n placeholder=\"ixo1...\"\n value={data.stakingContract}\n onChange={(e) => onChange({ ...data, stakingContract: e.currentTarget.value })}\n required\n />\n\n <BaseTextInput label=\"Amount\" placeholder=\"1000\" value={data.amount} onChange={(e) => onChange({ ...data, amount: e.currentTarget.value })} required />\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { SendGroupTokenData } from '../../../../context/types';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\n\nexport const SendGroupTokenActionForm: React.FC<ActionFormProps<SendGroupTokenData>> = ({ data, onChange }) => {\n return (\n <Stack gap=\"md\">\n <BaseTextInput label=\"Contract Address\" placeholder=\"ixo1...\" value={data.contract} onChange={(e) => onChange({ ...data, contract: e.currentTarget.value })} required />\n\n <BaseTextInput label=\"Recipient Address\" placeholder=\"ixo1...\" value={data.toAddress} onChange={(e) => onChange({ ...data, toAddress: e.currentTarget.value })} required />\n\n <BaseTextInput label=\"Amount\" placeholder=\"1000\" value={data.amount} onChange={(e) => onChange({ ...data, amount: e.currentTarget.value })} required />\n </Stack>\n );\n};\n","import React from 'react';\nimport { Stack } from '@mantine/core';\nimport { ActionFormProps } from '../../registry/types';\nimport { ValidatorActionsData, ValidatorActionType } from '../../../../context/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\nimport BaseSelect from '@/mantine/components/Base/BaseSelect';\n\nexport const ValidatorActionsActionForm: React.FC<ActionFormProps<ValidatorActionsData>> = ({ data, onChange }) => {\n const actionTypeOptions = [\n { value: ValidatorActionType.CreateValidator, label: 'Create Validator' },\n { value: ValidatorActionType.EditValidator, label: 'Edit Validator' },\n { value: ValidatorActionType.UnjailValidator, label: 'Unjail Validator' },\n { value: ValidatorActionType.WithdrawValidatorCommission, label: 'Withdraw Commission' },\n ];\n\n return (\n <Stack gap=\"md\">\n <BaseSelect\n label=\"Validator Action Type\"\n value={data.validatorActionType}\n onChange={(value) => onChange({ ...data, validatorActionType: value as ValidatorActionType })}\n data={actionTypeOptions}\n required\n />\n\n {data.validatorActionType === ValidatorActionType.CreateValidator && (\n <BaseTextArea\n label=\"Create Validator Message (JSON)\"\n placeholder='{\"description\": {\"moniker\": \"My Validator\", \"identity\": \"\", \"website\": \"\", \"security_contact\": \"\", \"details\": \"\"}, \"commission\": {\"rate\": \"0.10\", \"max_rate\": \"0.20\", \"max_change_rate\": \"0.01\"}, \"min_self_delegation\": \"1\", \"delegator_address\": \"ixo1...\", \"validator_address\": \"ixovaloper1...\", \"pubkey\": {\"@type\": \"/cosmos.crypto.ed25519.PubKey\", \"key\": \"...\"}, \"value\": {\"denom\": \"uixo\", \"amount\": \"1000000\"}}'\n value={data.createMsg}\n onChange={(e) => onChange({ ...data, createMsg: e.currentTarget.value })}\n minRows={8}\n required\n />\n )}\n\n {data.validatorActionType === ValidatorActionType.EditValidator && (\n <BaseTextArea\n label=\"Edit Validator Message (JSON)\"\n placeholder='{\"description\": {\"moniker\": \"Updated Validator\", \"identity\": \"\", \"website\": \"\", \"security_contact\": \"\", \"details\": \"\"}, \"validator_address\": \"ixovaloper1...\", \"commission_rate\": \"0.15\", \"min_self_delegation\": \"1\"}'\n value={data.editMsg}\n onChange={(e) => onChange({ ...data, editMsg: e.currentTarget.value })}\n minRows={6}\n required\n />\n )}\n </Stack>\n );\n};\n","import { ActionTypeConfig, ActionRegistry } from './types';\nimport {\n SpendData,\n ManageMembersData,\n StakeData,\n JoinData,\n StakeType,\n AuthzExecData,\n AuthzData,\n BurnNftData,\n MintData,\n ExecuteData,\n InstantiateData,\n ManageSubDaosData,\n ManageCw721Data,\n ManageCw20Data,\n MigrateData,\n TransferNftData,\n UpdateAdminData,\n UpdatePreProposeConfigData,\n UpdateProposalConfigData,\n GovernanceVoteData,\n WithdrawTokenSwapData,\n UpdateInfoData,\n CustomData,\n ManageStorageItemsData,\n ValidatorActionsData,\n ValidatorActionType,\n PerformTokenSwapData,\n DaoAdminExecData,\n StakeToGroupData,\n SendGroupTokenData,\n AcceptToMarketplaceData,\n AuthzExecActionTypes,\n} from '../../../context/types';\n\n// Import existing forms\nimport { SpendActionForm } from '../actions-components/SpendActionForm';\nimport { UpdateMembersActionForm } from '../actions-components/UpdateMembersActionForm';\nimport { StakeActionForm } from '../actions-components/StakeActionForm';\nimport { JoinActionForm } from '../actions-components/JoinActionForm';\n\n// Import all form components\nimport {\n AuthzExecActionForm,\n AuthzGrantActionForm,\n BurnNftActionForm,\n MintActionForm,\n ExecuteActionForm,\n InstantiateActionForm,\n ManageSubDaosActionForm,\n ManageCw721ActionForm,\n ManageCw20ActionForm,\n MigrateActionForm,\n TransferNftActionForm,\n UpdateAdminActionForm,\n UpdatePreProposeConfigActionForm,\n UpdateVotingConfigActionForm,\n GovernanceVoteActionForm,\n WithdrawTokenSwapActionForm,\n UpdateInfoActionForm,\n CustomActionForm,\n ManageStorageItemsActionForm,\n ValidatorActionsActionForm,\n PerformTokenSwapActionForm,\n DaoAdminExecActionForm,\n StakeToGroupActionForm,\n SendGroupTokenActionForm,\n AcceptToMarketplaceActionForm,\n CreateEntityActionForm,\n} from '../actions-components/forms';\n\n// Helper function to create action configs\nconst createActionConfig = <T>(\n label: string,\n value: string,\n category: ActionTypeConfig['category'],\n FormComponent: ActionTypeConfig['FormComponent'],\n getDefaultData: () => T,\n validateData: (data: T) => { isValid: boolean; errors?: string[] },\n getSummary: (data: T) => string,\n description?: string\n): ActionTypeConfig => ({\n label,\n value,\n category,\n description,\n FormComponent,\n getDefaultData,\n validateData,\n getSummary,\n});\n\n// Create the registry\nexport const actionRegistry: ActionRegistry = new Map([\n // Treasury Actions\n [\n 'Spend',\n createActionConfig<SpendData>(\n 'Spend',\n 'Spend',\n 'treasury',\n SpendActionForm as any,\n () => ({ to: '', denom: 'uixo', amount: '' }),\n (data) => ({\n isValid: !!data.to && !!data.amount && !!data.denom,\n errors: [!data.to && 'Recipient address is required', !data.amount && 'Amount is required', !data.denom && 'Denomination is required'].filter(Boolean) as string[],\n }),\n (data) => `Send ${data.amount} ${data.denom} to ${data.to.slice(0, 8)}...`,\n 'Send funds from treasury'\n ),\n ],\n\n [\n 'SendGroupToken',\n createActionConfig<SendGroupTokenData>(\n 'Send Group Token',\n 'SendGroupToken',\n 'treasury',\n SendGroupTokenActionForm as any,\n () => ({ contract: '', toAddress: '', amount: '' }),\n (data) => ({\n isValid: !!data.contract && !!data.toAddress && !!data.amount,\n errors: [!data.contract && 'Contract address is required', !data.toAddress && 'Recipient address is required', !data.amount && 'Amount is required'].filter(\n Boolean\n ) as string[],\n }),\n (data) => `Send ${data.amount} tokens to ${data.toAddress.slice(0, 8)}...`,\n 'Transfer group tokens'\n ),\n ],\n\n [\n 'Mint',\n createActionConfig<MintData>(\n 'Mint Tokens',\n 'Mint',\n 'treasury',\n MintActionForm as any,\n () => ({ to: '', amount: 0 }),\n (data) => ({\n isValid: !!data.to && data.amount > 0,\n errors: [!data.to && 'Recipient address is required', data.amount <= 0 && 'Amount must be greater than 0'].filter(Boolean) as string[],\n }),\n (data) => `Mint ${data.amount} tokens to ${data.to.slice(0, 8)}...`,\n 'Mint new tokens'\n ),\n ],\n\n [\n 'WithdrawTokenSwap',\n createActionConfig<WithdrawTokenSwapData>(\n 'Withdraw Token Swap',\n 'WithdrawTokenSwap',\n 'treasury',\n WithdrawTokenSwapActionForm as any,\n () => ({ contractChosen: false }),\n (data) => ({\n isValid: data.contractChosen && !!data.tokenSwapContractAddress,\n errors: [!data.contractChosen && 'Contract must be selected', !data.tokenSwapContractAddress && 'Token swap contract address is required'].filter(Boolean) as string[],\n }),\n (_data) => `Withdraw from token swap contract`,\n 'Withdraw funds from token swap'\n ),\n ],\n\n [\n 'PerformTokenSwap',\n createActionConfig<PerformTokenSwapData>(\n 'Perform Token Swap',\n 'PerformTokenSwap',\n 'treasury',\n PerformTokenSwapActionForm as any,\n () => ({ contractChosen: false }),\n (data) => ({\n isValid: data.contractChosen && !!data.tokenSwapContractAddress && !!data.selfParty,\n errors: [\n !data.contractChosen && 'Contract must be selected',\n !data.tokenSwapContractAddress && 'Token swap contract address is required',\n !data.selfParty && 'Self party details are required',\n ].filter(Boolean) as string[],\n }),\n (_data) => `Perform token swap`,\n 'Execute a token swap'\n ),\n ],\n\n // Governance Actions\n [\n 'UpdateMembers',\n createActionConfig<ManageMembersData>(\n 'Update Members',\n 'UpdateMembers',\n 'governance',\n UpdateMembersActionForm as any,\n () => ({ add: [], remove: [] }),\n (data) => ({\n isValid: data.add.length > 0 || data.remove.length > 0,\n errors: [data.add.length === 0 && data.remove.length === 0 && 'Add or remove at least one member'].filter(Boolean) as string[],\n }),\n (data) => `Add ${data.add.length}, Remove ${data.remove.length} members`,\n 'Add or remove DAO members'\n ),\n ],\n\n [\n 'GovernanceVote',\n createActionConfig<GovernanceVoteData>(\n 'Governance Vote',\n 'GovernanceVote',\n 'governance',\n GovernanceVoteActionForm as any,\n () => ({ proposalId: '', vote: 1 }),\n (data) => ({\n isValid: !!data.proposalId && data.vote >= 0,\n errors: [!data.proposalId && 'Proposal ID is required', data.vote < 0 && 'Vote option is required'].filter(Boolean) as string[],\n }),\n (data) => `Vote on proposal #${data.proposalId}`,\n 'Vote on a governance proposal'\n ),\n ],\n\n [\n 'UpdateVotingConfig',\n createActionConfig<UpdateProposalConfigData>(\n 'Update Voting Rules',\n 'UpdateVotingConfig',\n 'governance',\n UpdateVotingConfigActionForm as any,\n () => ({\n // Group creation instantiates dao_proposal_single with\n // only_members_execute: true — default updates to the same policy.\n onlyMembersExecute: true,\n thresholdType: 'majority' as const,\n quorumEnabled: false,\n quorumType: 'majority' as const,\n proposalDuration: 7,\n proposalDurationUnits: 'days' as const,\n allowRevoting: false,\n }),\n (data) => ({\n isValid:\n (data.thresholdType !== '%' || (Number(data.thresholdPercentage) > 0 && Number(data.thresholdPercentage) <= 100)) &&\n (!data.quorumEnabled || data.quorumType !== '%' || (Number(data.quorumPercentage) > 0 && Number(data.quorumPercentage) <= 100)) &&\n Number(data.proposalDuration) > 0,\n errors: [\n data.thresholdType === '%' && !(Number(data.thresholdPercentage) > 0 && Number(data.thresholdPercentage) <= 100) && 'Enter a passing threshold between 1 and 100%',\n data.quorumEnabled && data.quorumType === '%' && !(Number(data.quorumPercentage) > 0 && Number(data.quorumPercentage) <= 100) && 'Enter a quorum between 1 and 100%',\n !(Number(data.proposalDuration) > 0) && 'Enter a voting duration greater than 0',\n ].filter(Boolean) as string[],\n }),\n (_data) => `Update the group's voting rules`,\n \"Change how this group's proposals are voted on\"\n ),\n ],\n\n [\n 'UpdatePreProposeConfig',\n createActionConfig<UpdatePreProposeConfigData>(\n 'Update Proposal Submission Rules',\n 'UpdatePreProposeConfig',\n 'governance',\n UpdatePreProposeConfigActionForm as any,\n () => ({\n depositRequired: false,\n depositInfo: {\n amount: '0',\n type: 'native' as const,\n denomOrAddress: 'uixo',\n refundPolicy: 'always',\n },\n // Groups are created members-only; default the update form to the\n // same policy so updating the deposit doesn't silently open\n // submission to everyone (the on-chain update replaces both fields).\n anyoneCanPropose: false,\n }),\n (data) => ({\n isValid: !data.depositRequired || (Number(data.depositInfo?.amount) > 0 && !!data.depositInfo?.denomOrAddress),\n errors: [\n data.depositRequired && !(Number(data.depositInfo?.amount) > 0) && 'Enter a deposit amount greater than 0',\n data.depositRequired && !data.depositInfo?.denomOrAddress && 'Choose which token the deposit is paid in',\n ].filter(Boolean) as string[],\n }),\n (data) => (data.anyoneCanPropose ? 'Let anyone submit proposals' : 'Only members may submit proposals'),\n 'Change who may submit proposals and whether a deposit is required'\n ),\n ],\n\n // Staking Actions\n [\n 'Stake',\n createActionConfig<StakeData>(\n 'Stake',\n 'Stake',\n 'staking',\n StakeActionForm as any,\n () => ({\n stakeType: StakeType.Delegate,\n validator: '',\n toValidator: '',\n amount: '',\n denom: 'uixo',\n }),\n (data) => ({\n isValid: !!data.validator && (data.stakeType === StakeType.WithdrawDelegatorReward || (!!data.amount && !!data.denom)),\n errors: [\n !data.validator && 'Validator is required',\n data.stakeType === StakeType.Redelegate && !data.toValidator && 'Destination validator is required',\n data.stakeType !== StakeType.WithdrawDelegatorReward && !data.amount && 'Amount is required',\n ].filter(Boolean) as string[],\n }),\n (data) => `${data.stakeType} ${data.stakeType !== StakeType.WithdrawDelegatorReward ? `${data.amount} ${data.denom}` : 'rewards'}`,\n 'Manage staking operations'\n ),\n ],\n\n [\n 'StakeToGroup',\n createActionConfig<StakeToGroupData>(\n 'Stake to Group',\n 'StakeToGroup',\n 'staking',\n StakeToGroupActionForm as any,\n () => ({ tokenContract: '', stakingContract: '', amount: '' }),\n (data) => ({\n isValid: !!data.tokenContract && !!data.stakingContract && !!data.amount,\n errors: [!data.tokenContract && 'Token contract is required', !data.stakingContract && 'Staking contract is required', !data.amount && 'Amount is required'].filter(\n Boolean\n ) as string[],\n }),\n (data) => `Stake ${data.amount} to group`,\n 'Stake tokens to a group'\n ),\n ],\n\n // DAO Management Actions\n [\n 'Join',\n createActionConfig<JoinData>(\n 'Join',\n 'Join',\n 'dao',\n JoinActionForm as any,\n () => ({ id: '', coreAddress: '', address: '' }),\n (data) => ({\n isValid: !!data.id && !!data.coreAddress && !!data.address,\n errors: [!data.id && 'ID is required', !data.coreAddress && 'Core address is required', !data.address && 'Address is required'].filter(Boolean) as string[],\n }),\n (data) => `Join with ID: ${data.id.slice(0, 20)}...`,\n 'Join a DAO or entity'\n ),\n ],\n\n [\n 'UpdateInfo',\n createActionConfig<UpdateInfoData>(\n 'Update DAO Info',\n 'UpdateInfo',\n 'dao',\n UpdateInfoActionForm as any,\n () => ({\n automatically_add_cw20s: false,\n automatically_add_cw721s: false,\n description: '',\n name: '',\n }),\n (data) => ({\n isValid: !!data.name,\n errors: [!data.name && 'Name is required'].filter(Boolean) as string[],\n }),\n (data) => `Update DAO info: ${data.name}`,\n 'Update DAO information'\n ),\n ],\n\n [\n 'ManageSubDaos',\n createActionConfig<ManageSubDaosData>(\n 'Manage SubDAOs',\n 'ManageSubDaos',\n 'dao',\n ManageSubDaosActionForm as any,\n () => ({ toAdd: [], toRemove: [] }),\n (data) => ({\n isValid: data.toAdd.length > 0 || data.toRemove.length > 0,\n errors: [data.toAdd.length === 0 && data.toRemove.length === 0 && 'Add or remove at least one SubDAO'].filter(Boolean) as string[],\n }),\n (data) => `Add ${data.toAdd.length}, Remove ${data.toRemove.length} SubDAOs`,\n 'Add or remove SubDAOs'\n ),\n ],\n\n [\n 'ManageStorageItems',\n createActionConfig<ManageStorageItemsData>(\n 'Manage Storage Items',\n 'ManageStorageItems',\n 'dao',\n ManageStorageItemsActionForm as any,\n () => ({ setting: true, key: '', value: '' }),\n (data) => ({\n isValid: !!data.key,\n errors: [!data.key && 'Key is required', data.setting && !data.value && 'Value is required when setting'].filter(Boolean) as string[],\n }),\n (data) => (data.setting ? `Set storage: ${data.key}` : `Remove storage: ${data.key}`),\n 'Manage DAO storage items'\n ),\n ],\n\n [\n 'DaoAdminExec',\n createActionConfig<DaoAdminExecData>(\n 'DAO Admin Execute',\n 'DaoAdminExec',\n 'dao',\n DaoAdminExecActionForm as any,\n () => ({ coreAddress: '', msgs: [] }),\n (data) => ({\n isValid: !!data.coreAddress && data.msgs.length > 0,\n errors: [!data.coreAddress && 'Core address is required', data.msgs.length === 0 && 'At least one message is required'].filter(Boolean) as string[],\n }),\n (data) => `Execute ${data.msgs.length} admin messages`,\n 'Execute admin messages'\n ),\n ],\n\n [\n 'AcceptToMarketplace',\n createActionConfig<AcceptToMarketplaceData>(\n 'Accept to Marketplace',\n 'AcceptToMarketplace',\n 'dao',\n AcceptToMarketplaceActionForm as any,\n () => ({ did: '', relayerNodeDid: '', relayerNodeAddress: '' }),\n (data) => ({\n isValid: !!data.did && !!data.relayerNodeDid && !!data.relayerNodeAddress,\n errors: [!data.did && 'DID is required', !data.relayerNodeDid && 'Relayer node DID is required', !data.relayerNodeAddress && 'Relayer node address is required'].filter(\n Boolean\n ) as string[],\n }),\n (data) => `Accept ${data.did.slice(0, 10)}... to marketplace`,\n 'Accept entity to marketplace'\n ),\n ],\n\n [\n 'CreateEntity',\n createActionConfig<any>(\n 'Create Entity',\n 'CreateEntity',\n 'dao',\n CreateEntityActionForm as any,\n () => ({}),\n (_data) => ({ isValid: true }),\n (_data) => `Create new entity`,\n 'Create a new entity'\n ),\n ],\n\n // NFT Actions\n [\n 'BurnNft',\n createActionConfig<BurnNftData>(\n 'Burn NFT',\n 'BurnNft',\n 'nft',\n BurnNftActionForm as any,\n () => ({ collection: '', tokenId: '' }),\n (data) => ({\n isValid: !!data.collection && !!data.tokenId,\n errors: [!data.collection && 'Collection address is required', !data.tokenId && 'Token ID is required'].filter(Boolean) as string[],\n }),\n (data) => `Burn NFT #${data.tokenId}`,\n 'Burn an NFT'\n ),\n ],\n\n [\n 'TransferNft',\n createActionConfig<TransferNftData>(\n 'Transfer NFT',\n 'TransferNft',\n 'nft',\n TransferNftActionForm as any,\n () => ({\n collection: '',\n tokenId: '',\n recipient: '',\n executeSmartContract: false,\n smartContractMsg: '',\n }),\n (data) => ({\n isValid: !!data.collection && !!data.tokenId && !!data.recipient,\n errors: [!data.collection && 'Collection address is required', !data.tokenId && 'Token ID is required', !data.recipient && 'Recipient address is required'].filter(\n Boolean\n ) as string[],\n }),\n (data) => `Transfer NFT #${data.tokenId} to ${data.recipient.slice(0, 8)}...`,\n 'Transfer an NFT'\n ),\n ],\n\n [\n 'ManageCw721',\n createActionConfig<ManageCw721Data>(\n 'Manage CW721',\n 'ManageCw721',\n 'nft',\n ManageCw721ActionForm as any,\n () => ({ adding: true, address: '' }),\n (data) => ({\n isValid: !!data.address,\n errors: [!data.address && 'NFT contract address is required'].filter(Boolean) as string[],\n }),\n (data) => `${data.adding ? 'Add' : 'Remove'} CW721: ${data.address.slice(0, 8)}...`,\n 'Manage CW721 NFT contracts'\n ),\n ],\n\n // Smart Contract Actions\n [\n 'Execute',\n createActionConfig<ExecuteData>(\n 'Execute Contract',\n 'Execute',\n 'contract',\n ExecuteActionForm as any,\n () => ({ address: '', message: '{}', funds: [] }),\n (data) => ({\n isValid: !!data.address && !!data.message,\n errors: [!data.address && 'Contract address is required', !data.message && 'Message is required'].filter(Boolean) as string[],\n }),\n (data) => `Execute contract: ${data.address.slice(0, 8)}...`,\n 'Execute a smart contract'\n ),\n ],\n\n [\n 'Instantiate',\n createActionConfig<InstantiateData>(\n 'Instantiate Contract',\n 'Instantiate',\n 'contract',\n InstantiateActionForm as any,\n () => ({ admin: '', codeId: 0, label: '', message: '{}', funds: [] }),\n (data) => ({\n isValid: !!data.admin && data.codeId > 0 && !!data.label && !!data.message,\n errors: [\n !data.admin && 'Admin address is required',\n data.codeId <= 0 && 'Valid code ID is required',\n !data.label && 'Label is required',\n !data.message && 'Message is required',\n ].filter(Boolean) as string[],\n }),\n (data) => `Instantiate contract from code ${data.codeId}`,\n 'Instantiate a new contract'\n ),\n ],\n\n [\n 'Migrate',\n createActionConfig<MigrateData>(\n 'Migrate Contract',\n 'Migrate',\n 'contract',\n MigrateActionForm as any,\n () => ({ contract: '', codeId: 0, msg: '{}' }),\n (data) => ({\n isValid: !!data.contract && data.codeId > 0 && !!data.msg,\n errors: [!data.contract && 'Contract address is required', data.codeId <= 0 && 'Valid code ID is required', !data.msg && 'Migration message is required'].filter(\n Boolean\n ) as string[],\n }),\n (data) => `Migrate contract to code ${data.codeId}`,\n 'Migrate a contract'\n ),\n ],\n\n [\n 'UpdateAdmin',\n createActionConfig<UpdateAdminData>(\n 'Update Contract Admin',\n 'UpdateAdmin',\n 'contract',\n UpdateAdminActionForm as any,\n () => ({ contract: '', newAdmin: '' }),\n (data) => ({\n isValid: !!data.contract && !!data.newAdmin,\n errors: [!data.contract && 'Contract address is required', !data.newAdmin && 'New admin address is required'].filter(Boolean) as string[],\n }),\n (data) => `Update admin for ${data.contract.slice(0, 8)}...`,\n 'Change contract admin'\n ),\n ],\n\n [\n 'ManageCw20',\n createActionConfig<ManageCw20Data>(\n 'Manage CW20',\n 'ManageCw20',\n 'contract',\n ManageCw20ActionForm as any,\n () => ({ adding: true, address: '' }),\n (data) => ({\n isValid: !!data.address,\n errors: [!data.address && 'Token contract address is required'].filter(Boolean) as string[],\n }),\n (data) => `${data.adding ? 'Add' : 'Remove'} CW20: ${data.address.slice(0, 8)}...`,\n 'Manage CW20 token contracts'\n ),\n ],\n\n // Authorization Actions\n [\n 'AuthzExec',\n createActionConfig<AuthzExecData>(\n 'Authz Execute',\n 'AuthzExec',\n 'governance',\n AuthzExecActionForm as any,\n () => ({\n authzExecActionType: AuthzExecActionTypes.Delegate,\n delegate: {} as any,\n undelegate: {} as any,\n redelegate: {} as any,\n claimRewards: {} as any,\n custom: '',\n }),\n (data) => ({\n isValid: !!data.authzExecActionType,\n errors: [!data.authzExecActionType ? 'Action type is required' : ''].filter(Boolean) as string[],\n }),\n (data) => `Execute authorized action: ${data.authzExecActionType}`,\n 'Execute authorized action'\n ),\n ],\n\n [\n 'AuthzGrant',\n createActionConfig<AuthzData>(\n 'Authz Grant',\n 'AuthzGrant',\n 'governance',\n AuthzGrantActionForm as any,\n () => ({ typeUrl: '', value: { grantee: '', msgTypeUrl: '' } }),\n (data) => ({\n isValid: !!data.typeUrl && !!data.value.grantee && !!data.value.msgTypeUrl,\n errors: [!data.typeUrl && 'Type URL is required', !data.value.grantee && 'Grantee address is required', !data.value.msgTypeUrl && 'Message type URL is required'].filter(\n Boolean\n ) as string[],\n }),\n (data) => `Grant authorization to ${data.value.grantee.slice(0, 8)}...`,\n 'Grant authorization'\n ),\n ],\n\n [\n 'AuthzRevoke',\n createActionConfig<AuthzData>(\n 'Authz Revoke',\n 'AuthzRevoke',\n 'governance',\n AuthzGrantActionForm as any, // Reuse same form\n () => ({ typeUrl: '', value: { grantee: '', msgTypeUrl: '' } }),\n (data) => ({\n isValid: !!data.value.grantee && !!data.value.msgTypeUrl,\n errors: [!data.value.grantee && 'Grantee address is required', !data.value.msgTypeUrl && 'Message type URL is required'].filter(Boolean) as string[],\n }),\n (data) => `Revoke authorization from ${data.value.grantee.slice(0, 8)}...`,\n 'Revoke authorization'\n ),\n ],\n\n // Validator Actions\n [\n 'ValidatorActions',\n createActionConfig<ValidatorActionsData>(\n 'Validator Actions',\n 'ValidatorActions',\n 'validator',\n ValidatorActionsActionForm as any,\n () => ({\n validatorActionType: ValidatorActionType.WithdrawValidatorCommission,\n createMsg: '',\n editMsg: '',\n }),\n (data) => ({\n isValid: !!data.validatorActionType,\n errors: [\n !data.validatorActionType && 'Action type is required',\n data.validatorActionType === ValidatorActionType.CreateValidator && !data.createMsg && 'Create message is required',\n data.validatorActionType === ValidatorActionType.EditValidator && !data.editMsg && 'Edit message is required',\n ].filter(Boolean) as string[],\n }),\n (data) => `Validator action: ${data.validatorActionType}`,\n 'Perform validator operations'\n ),\n ],\n\n // Custom Action\n [\n 'Custom',\n createActionConfig<CustomData>(\n 'Custom',\n 'Custom',\n 'custom',\n CustomActionForm as any,\n () => ({ message: '{}' }),\n (data) => {\n try {\n JSON.parse(data.message);\n return { isValid: true };\n } catch {\n return { isValid: false, errors: ['Invalid JSON message'] };\n }\n },\n (_data) => `Custom action`,\n 'Execute custom JSON message'\n ),\n ],\n]);\n\n// Helper functions\nexport const getActionConfig = (type: string): ActionTypeConfig | undefined => {\n return actionRegistry.get(type);\n};\n\nexport const getActionsByCategory = (category: string): ActionTypeConfig[] => {\n return Array.from(actionRegistry.values()).filter((config) => config.category === category);\n};\n\nexport const getAllActionTypes = (): string[] => {\n return Array.from(actionRegistry.keys());\n};\n\nexport const getCategorizedActions = () => {\n const categorized = new Map<string, ActionTypeConfig[]>();\n\n actionRegistry.forEach((config) => {\n const categoryActions = categorized.get(config.category) || [];\n categoryActions.push(config);\n categorized.set(config.category, categoryActions);\n });\n\n return categorized;\n};\n","import { ActionCategory } from './types';\n\nexport const ACTION_CATEGORIES: ActionCategory[] = [\n {\n id: 'treasury',\n label: 'Treasury',\n description: 'Manage funds and tokens',\n icon: '💰',\n },\n {\n id: 'governance',\n label: 'Governance',\n description: 'Voting and proposals',\n icon: '🗳️',\n },\n {\n id: 'staking',\n label: 'Staking',\n description: 'Delegate and manage stakes',\n icon: '🔒',\n },\n {\n id: 'dao',\n label: 'DAO Management',\n description: 'Manage DAO configuration',\n icon: '🏛️',\n },\n {\n id: 'nft',\n label: 'NFTs',\n description: 'NFT operations',\n icon: '🎨',\n },\n {\n id: 'contract',\n label: 'Smart Contracts',\n description: 'Contract interactions',\n icon: '📄',\n },\n {\n id: 'validator',\n label: 'Validator',\n description: 'Validator operations',\n icon: '⚡',\n },\n {\n id: 'custom',\n label: 'Custom',\n description: 'Custom actions',\n icon: '🔧',\n },\n];\n"],"mappings":"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","names":["React","useEffect","useState","Alert","Button","Card","Stack","Text","React","useState","useEffect","Stack","Button","Group","Text","Card","Badge","Divider","ScrollArea","Alert","React","Stack","Text","React","Stack","Text","React","Stack","Group","Text","Card","Badge","ActionIcon","ScrollArea","React","Stack","Text","ScrollArea","Card","Group","Badge","ActionIcon","React","Stack","React","Stack","React","Stack","React","Stack","React","Stack","React","Stack","React","useState","Stack","Button","Group","Text","Card","useState","React","Stack","Text","Card","Group","Button","React","useState","Stack","Group","Text","Badge","useState","React","Stack","Text","Group","Badge","React","Stack","React","Stack","React","Stack","React","Stack","React","Stack","React","Stack","React","Stack","React","Stack","React","Stack","Group","React","Stack","Group","React","useState","Stack","Button","Group","Text","Card","useState","React","Stack","Text","Card","Group","Button","React","Stack","React","Stack","React","Stack","React","Stack","React","Stack","Radio","Group","React","Stack","Radio","Group","React","useState","Stack","Button","Group","Text","Card","useState","React","Stack","Text","Card","Group","Button","React","Stack","Checkbox","React","Stack","Checkbox","React","Stack","Radio","Group","React","Stack","Radio","Group","React","useState","Stack","Button","Group","Text","Card","useState","React","Stack","Text","Card","Group","Button","React","Stack","React","Stack","React","Stack","Alert","Text","React","Stack","Alert","Text","React","Stack","Checkbox","Group","React","Stack","Checkbox","Group","React","Stack","Checkbox","IXO_EXPONENT","React","Stack","Checkbox","React","Stack","React","Stack","React","Stack","Checkbox","React","Stack","Checkbox","React","Stack","Checkbox","React","Stack","Checkbox","React","Stack","React","Stack","React","Stack","React","Stack","React","Stack","React","Stack","useState","useEffect","React","Alert","Text","Stack","Group","Badge","Card","Divider","ScrollArea","Button","useState","useEffect","React","Stack","Alert","Text","Button","Card"]}