@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.
- package/dist/BidConfig-YLGSEIOS.js +154 -0
- package/dist/BidConfig-YLGSEIOS.js.map +1 -0
- package/dist/BidFlowDetail-TJCJBJZZ.js +365 -0
- package/dist/BidFlowDetail-TJCJBJZZ.js.map +1 -0
- package/dist/CalendarEventCreateConfig-J2LU6LJO.js +155 -0
- package/dist/CalendarEventCreateConfig-J2LU6LJO.js.map +1 -0
- package/dist/CalendarEventCreateFlowDetail-ZWHZWDOK.js +174 -0
- package/dist/CalendarEventCreateFlowDetail-ZWHZWDOK.js.map +1 -0
- package/dist/CalendarEventListConfig-GQNNF4ZB.js +116 -0
- package/dist/CalendarEventListConfig-GQNNF4ZB.js.map +1 -0
- package/dist/CalendarEventListFlowDetail-SSRTOXIX.js +58 -0
- package/dist/CalendarEventListFlowDetail-SSRTOXIX.js.map +1 -0
- package/dist/CalendarEventUpdateConfig-KACZA6GH.js +133 -0
- package/dist/CalendarEventUpdateConfig-KACZA6GH.js.map +1 -0
- package/dist/CalendarEventUpdateFlowDetail-CD6NHHOU.js +155 -0
- package/dist/CalendarEventUpdateFlowDetail-CD6NHHOU.js.map +1 -0
- package/dist/ClaimConfig-3HKPGK55.js +200 -0
- package/dist/ClaimConfig-3HKPGK55.js.map +1 -0
- package/dist/ClaimFlowDetail-UVEQMEI5.js +641 -0
- package/dist/ClaimFlowDetail-UVEQMEI5.js.map +1 -0
- package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js +149 -0
- package/dist/CollectionLifecycleConfig-LCCGZ3CJ.js.map +1 -0
- package/dist/CollectionLifecycleFlowDetail-WFCSVIIG.js +647 -0
- package/dist/CollectionLifecycleFlowDetail-WFCSVIIG.js.map +1 -0
- package/dist/CollectionUsersConfig-RI2X3YY2.js +271 -0
- package/dist/CollectionUsersConfig-RI2X3YY2.js.map +1 -0
- package/dist/CollectionUsersFlowDetail-ZLCJBWHG.js +1276 -0
- package/dist/CollectionUsersFlowDetail-ZLCJBWHG.js.map +1 -0
- package/dist/CredentialStoreConfig-G66AQDGZ.js +75 -0
- package/dist/CredentialStoreConfig-G66AQDGZ.js.map +1 -0
- package/dist/CredentialStoreFlowDetail-FL7QAM3S.js +99 -0
- package/dist/CredentialStoreFlowDetail-FL7QAM3S.js.map +1 -0
- package/dist/DesignPodConfig-LJ7H2CZ6.js +8 -0
- package/dist/DesignPodConfig-LJ7H2CZ6.js.map +1 -0
- package/dist/DesignPodFlowDetail-JHJWGNVY.js +309 -0
- package/dist/DesignPodFlowDetail-JHJWGNVY.js.map +1 -0
- package/dist/DomainCardPreviewConfig-Q3X5M4WF.js +37 -0
- package/dist/DomainCardPreviewConfig-Q3X5M4WF.js.map +1 -0
- package/dist/DomainCardPreviewFlowDetail-Y2FE7O5Z.js +131 -0
- package/dist/DomainCardPreviewFlowDetail-Y2FE7O5Z.js.map +1 -0
- package/dist/DomainIndexerLookupConfig-N4VONQUY.js +41 -0
- package/dist/DomainIndexerLookupConfig-N4VONQUY.js.map +1 -0
- package/dist/DomainIndexerLookupFlowDetail-GJ7WWK7I.js +70 -0
- package/dist/DomainIndexerLookupFlowDetail-GJ7WWK7I.js.map +1 -0
- package/dist/DomainSignConfig-XFIXROVK.js +47 -0
- package/dist/DomainSignConfig-XFIXROVK.js.map +1 -0
- package/dist/DomainSignFlowDetail-BXZ6JBPR.js +206 -0
- package/dist/DomainSignFlowDetail-BXZ6JBPR.js.map +1 -0
- package/dist/DomainSingleSelectionConfig-ZNKIXB4P.js +101 -0
- package/dist/DomainSingleSelectionConfig-ZNKIXB4P.js.map +1 -0
- package/dist/DomainSingleSelectionFlowDetail-HWTQXSLA.js +147 -0
- package/dist/DomainSingleSelectionFlowDetail-HWTQXSLA.js.map +1 -0
- package/dist/EmailSendConfig-YEGZ5Q77.js +215 -0
- package/dist/EmailSendConfig-YEGZ5Q77.js.map +1 -0
- package/dist/EntityCreateOracleConfig-UZ6ZIMP5.js +150 -0
- package/dist/EntityCreateOracleConfig-UZ6ZIMP5.js.map +1 -0
- package/dist/EntityCreateOracleFlowDetail-H2X7CPYU.js +120 -0
- package/dist/EntityCreateOracleFlowDetail-H2X7CPYU.js.map +1 -0
- package/dist/EntitySingleSelectionConfig-DL57KNKM.js +30 -0
- package/dist/EntitySingleSelectionConfig-DL57KNKM.js.map +1 -0
- package/dist/EntitySingleSelectionFlowDetail-GFQGX3GA.js +118 -0
- package/dist/EntitySingleSelectionFlowDetail-GFQGX3GA.js.map +1 -0
- package/dist/EntityTransferConfig-JVZ3H35B.js +62 -0
- package/dist/EntityTransferConfig-JVZ3H35B.js.map +1 -0
- package/dist/EntityTransferFlowDetail-XEXM34XB.js +132 -0
- package/dist/EntityTransferFlowDetail-XEXM34XB.js.map +1 -0
- package/dist/EvalEngineConfig-CHC4IRN3.js +464 -0
- package/dist/EvalEngineConfig-CHC4IRN3.js.map +1 -0
- package/dist/EvalEngineFlowDetail-PUFRNO4U.js +4291 -0
- package/dist/EvalEngineFlowDetail-PUFRNO4U.js.map +1 -0
- package/dist/EvaluateBidConfig-OE4CM43G.js +151 -0
- package/dist/EvaluateBidConfig-OE4CM43G.js.map +1 -0
- package/dist/EvaluateBidFlowDetail-2S2N4YTW.js +564 -0
- package/dist/EvaluateBidFlowDetail-2S2N4YTW.js.map +1 -0
- package/dist/EvaluateClaimConfig-3D4F5LHU.js +297 -0
- package/dist/EvaluateClaimConfig-3D4F5LHU.js.map +1 -0
- package/dist/EvaluateClaimFlowDetail-QYR7PJRD.js +2237 -0
- package/dist/EvaluateClaimFlowDetail-QYR7PJRD.js.map +1 -0
- package/dist/FormSubmitConfig-UFZYMLUN.js +59 -0
- package/dist/FormSubmitConfig-UFZYMLUN.js.map +1 -0
- package/dist/FormSubmitFlowDetail-IAHDJS6P.js +169 -0
- package/dist/FormSubmitFlowDetail-IAHDJS6P.js.map +1 -0
- package/dist/GovernanceAuthzExecFlowDetail-SQBGU5BX.js +166 -0
- package/dist/GovernanceAuthzExecFlowDetail-SQBGU5BX.js.map +1 -0
- package/dist/GovernanceAuthzGrantFlowDetail-DZPNLANT.js +88 -0
- package/dist/GovernanceAuthzGrantFlowDetail-DZPNLANT.js.map +1 -0
- package/dist/GovernanceAuthzRevokeFlowDetail-3JZ4IUJG.js +88 -0
- package/dist/GovernanceAuthzRevokeFlowDetail-3JZ4IUJG.js.map +1 -0
- package/dist/GovernanceChainVoteFlowDetail-475UDNG6.js +83 -0
- package/dist/GovernanceChainVoteFlowDetail-475UDNG6.js.map +1 -0
- package/dist/GovernanceConfigConfig-V3WM4WBP.js +30 -0
- package/dist/GovernanceConfigConfig-V3WM4WBP.js.map +1 -0
- package/dist/GovernanceConfigFlowDetail-SQ5PPDRX.js +267 -0
- package/dist/GovernanceConfigFlowDetail-SQ5PPDRX.js.map +1 -0
- package/dist/GovernanceContractExecuteFlowDetail-H2ZV6W2E.js +113 -0
- package/dist/GovernanceContractExecuteFlowDetail-H2ZV6W2E.js.map +1 -0
- package/dist/GovernanceContractInstantiateFlowDetail-YJJMGM54.js +144 -0
- package/dist/GovernanceContractInstantiateFlowDetail-YJJMGM54.js.map +1 -0
- package/dist/GovernanceContractManageCw20FlowDetail-OCBMW3YJ.js +72 -0
- package/dist/GovernanceContractManageCw20FlowDetail-OCBMW3YJ.js.map +1 -0
- package/dist/GovernanceContractMigrateFlowDetail-JDNIKTT3.js +104 -0
- package/dist/GovernanceContractMigrateFlowDetail-JDNIKTT3.js.map +1 -0
- package/dist/GovernanceContractUpdateAdminFlowDetail-SZBOAOCC.js +68 -0
- package/dist/GovernanceContractUpdateAdminFlowDetail-SZBOAOCC.js.map +1 -0
- package/dist/GovernanceCustomMessageFlowDetail-CXD4ZATO.js +78 -0
- package/dist/GovernanceCustomMessageFlowDetail-CXD4ZATO.js.map +1 -0
- package/dist/GovernanceDaoAcceptToMarketplaceFlowDetail-Q6ZBNY7Z.js +98 -0
- package/dist/GovernanceDaoAcceptToMarketplaceFlowDetail-Q6ZBNY7Z.js.map +1 -0
- package/dist/GovernanceDaoAdminExecFlowDetail-JAEAY2US.js +94 -0
- package/dist/GovernanceDaoAdminExecFlowDetail-JAEAY2US.js.map +1 -0
- package/dist/GovernanceDaoCreateEntityFlowDetail-7RVNTVAB.js +96 -0
- package/dist/GovernanceDaoCreateEntityFlowDetail-7RVNTVAB.js.map +1 -0
- package/dist/GovernanceDaoJoinFlowDetail-XYCTCNHO.js +68 -0
- package/dist/GovernanceDaoJoinFlowDetail-XYCTCNHO.js.map +1 -0
- package/dist/GovernanceDaoManageStorageFlowDetail-LMLYLYYC.js +93 -0
- package/dist/GovernanceDaoManageStorageFlowDetail-LMLYLYYC.js.map +1 -0
- package/dist/GovernanceDaoManageSubDaosFlowDetail-YUFQ67JN.js +84 -0
- package/dist/GovernanceDaoManageSubDaosFlowDetail-YUFQ67JN.js.map +1 -0
- package/dist/GovernanceDaoUpdateInfoFlowDetail-G5FIBY4L.js +104 -0
- package/dist/GovernanceDaoUpdateInfoFlowDetail-G5FIBY4L.js.map +1 -0
- package/dist/GovernanceMemberProposalConfig-IGPXEFDB.js +42 -0
- package/dist/GovernanceMemberProposalConfig-IGPXEFDB.js.map +1 -0
- package/dist/GovernanceMemberProposalFlowDetail-T3VURONF.js +240 -0
- package/dist/GovernanceMemberProposalFlowDetail-T3VURONF.js.map +1 -0
- package/dist/GovernanceNftBurnFlowDetail-AG4I2O7H.js +69 -0
- package/dist/GovernanceNftBurnFlowDetail-AG4I2O7H.js.map +1 -0
- package/dist/GovernanceNftManageCollectionsFlowDetail-UAAGO3Q6.js +71 -0
- package/dist/GovernanceNftManageCollectionsFlowDetail-UAAGO3Q6.js.map +1 -0
- package/dist/GovernanceNftTransferFlowDetail-KXM7DTOV.js +130 -0
- package/dist/GovernanceNftTransferFlowDetail-KXM7DTOV.js.map +1 -0
- package/dist/GovernanceSettingsProposalConfig-4SLJTBLW.js +42 -0
- package/dist/GovernanceSettingsProposalConfig-4SLJTBLW.js.map +1 -0
- package/dist/GovernanceSettingsProposalFlowDetail-VFZPSCLR.js +165 -0
- package/dist/GovernanceSettingsProposalFlowDetail-VFZPSCLR.js.map +1 -0
- package/dist/GovernanceStakingStakeFlowDetail-ULLJ7FLM.js +123 -0
- package/dist/GovernanceStakingStakeFlowDetail-ULLJ7FLM.js.map +1 -0
- package/dist/GovernanceStakingStakeToGroupFlowDetail-CSPKJA3H.js +84 -0
- package/dist/GovernanceStakingStakeToGroupFlowDetail-CSPKJA3H.js.map +1 -0
- package/dist/GovernanceSubmissionConfigProposalFlowDetail-MZCPSZF2.js +111 -0
- package/dist/GovernanceSubmissionConfigProposalFlowDetail-MZCPSZF2.js.map +1 -0
- package/dist/GovernanceTransactionMintFlowDetail-Y2WRAODH.js +66 -0
- package/dist/GovernanceTransactionMintFlowDetail-Y2WRAODH.js.map +1 -0
- package/dist/GovernanceTransactionPerformTokenSwapFlowDetail-GEK6PMMI.js +133 -0
- package/dist/GovernanceTransactionPerformTokenSwapFlowDetail-GEK6PMMI.js.map +1 -0
- package/dist/GovernanceTransactionSendFundsConfig-VBKMLSF3.js +42 -0
- package/dist/GovernanceTransactionSendFundsConfig-VBKMLSF3.js.map +1 -0
- package/dist/GovernanceTransactionSendFundsFlowDetail-5TZB64VL.js +182 -0
- package/dist/GovernanceTransactionSendFundsFlowDetail-5TZB64VL.js.map +1 -0
- package/dist/GovernanceTransactionSendGroupTokenFlowDetail-EGOWVZM2.js +155 -0
- package/dist/GovernanceTransactionSendGroupTokenFlowDetail-EGOWVZM2.js.map +1 -0
- package/dist/GovernanceTransactionWithdrawTokenSwapFlowDetail-6XWVO5O6.js +56 -0
- package/dist/GovernanceTransactionWithdrawTokenSwapFlowDetail-6XWVO5O6.js.map +1 -0
- package/dist/GovernanceValidatorActionsFlowDetail-ZMLPAFUB.js +117 -0
- package/dist/GovernanceValidatorActionsFlowDetail-ZMLPAFUB.js.map +1 -0
- package/dist/HarvestConfig-AIGOGBFR.js +56 -0
- package/dist/HarvestConfig-AIGOGBFR.js.map +1 -0
- package/dist/HarvestFlowDetail-X3RUH3X3.js +131 -0
- package/dist/HarvestFlowDetail-X3RUH3X3.js.map +1 -0
- package/dist/HttpRequestConfig-OQEJIIJY.js +194 -0
- package/dist/HttpRequestConfig-OQEJIIJY.js.map +1 -0
- package/dist/HttpRequestFlowDetail-JVLV533Z.js +116 -0
- package/dist/HttpRequestFlowDetail-JVLV533Z.js.map +1 -0
- package/dist/IdentityCreateConfig-ZBUOJ6AL.js +94 -0
- package/dist/IdentityCreateConfig-ZBUOJ6AL.js.map +1 -0
- package/dist/IdentityCreateFlowDetail-WGKO43IH.js +83 -0
- package/dist/IdentityCreateFlowDetail-WGKO43IH.js.map +1 -0
- package/dist/IidCreateConfig-RRV2DYXI.js +75 -0
- package/dist/IidCreateConfig-RRV2DYXI.js.map +1 -0
- package/dist/IidCreateFlowDetail-6M32S6XS.js +57 -0
- package/dist/IidCreateFlowDetail-6M32S6XS.js.map +1 -0
- package/dist/KycVerifyConfig-VCG65K5K.js +65 -0
- package/dist/KycVerifyConfig-VCG65K5K.js.map +1 -0
- package/dist/KycVerifyFlowDetail-EWOMXSD3.js +421 -0
- package/dist/KycVerifyFlowDetail-EWOMXSD3.js.map +1 -0
- package/dist/ListDomainFlowsConfig-3JZEPTOJ.js +37 -0
- package/dist/ListDomainFlowsConfig-3JZEPTOJ.js.map +1 -0
- package/dist/ListDomainFlowsFlowDetail-XX5AXDZZ.js +257 -0
- package/dist/ListDomainFlowsFlowDetail-XX5AXDZZ.js.map +1 -0
- package/dist/LoadBatchesConfig-IMODIWRT.js +38 -0
- package/dist/LoadBatchesConfig-IMODIWRT.js.map +1 -0
- package/dist/LoadBatchesFlowDetail-GB24T76O.js +101 -0
- package/dist/LoadBatchesFlowDetail-GB24T76O.js.map +1 -0
- package/dist/MatrixDmConfig-NBII27CS.js +120 -0
- package/dist/MatrixDmConfig-NBII27CS.js.map +1 -0
- package/dist/MatrixRegisterConfig-N2U4FBYF.js +62 -0
- package/dist/MatrixRegisterConfig-N2U4FBYF.js.map +1 -0
- package/dist/MatrixRegisterFlowDetail-D5YNL5QX.js +86 -0
- package/dist/MatrixRegisterFlowDetail-D5YNL5QX.js.map +1 -0
- package/dist/MemberMultiSelectConfig-E7WUB2WD.js +30 -0
- package/dist/MemberMultiSelectConfig-E7WUB2WD.js.map +1 -0
- package/dist/MemberMultiSelectFlowDetail-6C4ZMSDR.js +392 -0
- package/dist/MemberMultiSelectFlowDetail-6C4ZMSDR.js.map +1 -0
- package/dist/OracleConfig-R7TDTTKN.js +56 -0
- package/dist/OracleConfig-R7TDTTKN.js.map +1 -0
- package/dist/OracleConfigureOracleConfig-QFF74X3N.js +198 -0
- package/dist/OracleConfigureOracleConfig-QFF74X3N.js.map +1 -0
- package/dist/OracleConfigureOracleFlowDetail-73BHAN76.js +255 -0
- package/dist/OracleConfigureOracleFlowDetail-73BHAN76.js.map +1 -0
- package/dist/OracleContractConfig-PHY5L7W2.js +38 -0
- package/dist/OracleContractConfig-PHY5L7W2.js.map +1 -0
- package/dist/OracleContractFlowDetail-M3PM4AU4.js +78 -0
- package/dist/OracleContractFlowDetail-M3PM4AU4.js.map +1 -0
- package/dist/OracleDeployConfig-QBG76ATZ.js +10 -0
- package/dist/OracleDeployConfig-QBG76ATZ.js.map +1 -0
- package/dist/OracleDeployFlowDetail-WKTMD2AD.js +231 -0
- package/dist/OracleDeployFlowDetail-WKTMD2AD.js.map +1 -0
- package/dist/OracleDeploySetupConfig-75XPGFJQ.js +10 -0
- package/dist/OracleDeploySetupConfig-75XPGFJQ.js.map +1 -0
- package/dist/OracleDeploySetupFlowDetail-R3BQ7EAU.js +165 -0
- package/dist/OracleDeploySetupFlowDetail-R3BQ7EAU.js.map +1 -0
- package/dist/OracleDeployStartConfig-NA6GZ4VQ.js +10 -0
- package/dist/OracleDeployStartConfig-NA6GZ4VQ.js.map +1 -0
- package/dist/OracleDeployStartFlowDetail-EL3CMDMG.js +89 -0
- package/dist/OracleDeployStartFlowDetail-EL3CMDMG.js.map +1 -0
- package/dist/OracleFlowDetail-5JCJK3GH.js +76 -0
- package/dist/OracleFlowDetail-5JCJK3GH.js.map +1 -0
- package/dist/OraclePromptConfig-YBRESISH.js +39 -0
- package/dist/OraclePromptConfig-YBRESISH.js.map +1 -0
- package/dist/OraclePromptFlowDetail-O3XNK7HY.js +112 -0
- package/dist/OraclePromptFlowDetail-O3XNK7HY.js.map +1 -0
- package/dist/OracleStoreConfigConfig-TUZWTJMA.js +134 -0
- package/dist/OracleStoreConfigConfig-TUZWTJMA.js.map +1 -0
- package/dist/OracleStoreConfigFlowDetail-Q6AUUSUL.js +99 -0
- package/dist/OracleStoreConfigFlowDetail-Q6AUUSUL.js.map +1 -0
- package/dist/OracleStoreSecretsAndConfigConfig-SZPYEK7U.js +198 -0
- package/dist/OracleStoreSecretsAndConfigConfig-SZPYEK7U.js.map +1 -0
- package/dist/OracleStoreSecretsAndConfigFlowDetail-BFV2EHLT.js +220 -0
- package/dist/OracleStoreSecretsAndConfigFlowDetail-BFV2EHLT.js.map +1 -0
- package/dist/OracleStoreSecretsConfig-PQMF7LFT.js +191 -0
- package/dist/OracleStoreSecretsConfig-PQMF7LFT.js.map +1 -0
- package/dist/OracleStoreSecretsFlowDetail-DNNOPHVA.js +197 -0
- package/dist/OracleStoreSecretsFlowDetail-DNNOPHVA.js.map +1 -0
- package/dist/ProposalCreateConfig-U5IHZNT7.js +161 -0
- package/dist/ProposalCreateConfig-U5IHZNT7.js.map +1 -0
- package/dist/ProposalCreateFlowDetail-4VZZPAWH.js +235 -0
- package/dist/ProposalCreateFlowDetail-4VZZPAWH.js.map +1 -0
- package/dist/ProposalVoteConfig-MH4MU7SL.js +150 -0
- package/dist/ProposalVoteConfig-MH4MU7SL.js.map +1 -0
- package/dist/ProposalVoteFlowDetail-IJJ3OHAB.js +280 -0
- package/dist/ProposalVoteFlowDetail-IJJ3OHAB.js.map +1 -0
- package/dist/ProtocolSelectConfig-S5U3P6K7.js +48 -0
- package/dist/ProtocolSelectConfig-S5U3P6K7.js.map +1 -0
- package/dist/ProtocolSelectFlowDetail-XBSJIEIH.js +116 -0
- package/dist/ProtocolSelectFlowDetail-XBSJIEIH.js.map +1 -0
- package/dist/RetireConfig-MV37WWZ6.js +59 -0
- package/dist/RetireConfig-MV37WWZ6.js.map +1 -0
- package/dist/RetireFlowDetail-VZ5O4SXI.js +147 -0
- package/dist/RetireFlowDetail-VZ5O4SXI.js.map +1 -0
- package/dist/SandboxProvisionConfig-ZGG4IRHM.js +46 -0
- package/dist/SandboxProvisionConfig-ZGG4IRHM.js.map +1 -0
- package/dist/SandboxProvisionFlowDetail-RUY64INV.js +79 -0
- package/dist/SandboxProvisionFlowDetail-RUY64INV.js.map +1 -0
- package/dist/WalletFundConfig-CMM3EP3B.js +117 -0
- package/dist/WalletFundConfig-CMM3EP3B.js.map +1 -0
- package/dist/WalletFundFlowDetail-TXWCZA4K.js +279 -0
- package/dist/WalletFundFlowDetail-TXWCZA4K.js.map +1 -0
- package/dist/WalletGenerateAndFundConfig-364RSEND.js +10 -0
- package/dist/WalletGenerateAndFundConfig-364RSEND.js.map +1 -0
- package/dist/WalletGenerateAndFundFlowDetail-C2LZW3NO.js +54 -0
- package/dist/WalletGenerateAndFundFlowDetail-C2LZW3NO.js.map +1 -0
- package/dist/WalletGenerateConfig-YYLCS65G.js +10 -0
- package/dist/WalletGenerateConfig-YYLCS65G.js.map +1 -0
- package/dist/WalletGenerateFlowDetail-CQCNDGJA.js +53 -0
- package/dist/WalletGenerateFlowDetail-CQCNDGJA.js.map +1 -0
- package/dist/XeroContactCreateConfig-OWG5PA3B.js +102 -0
- package/dist/XeroContactCreateConfig-OWG5PA3B.js.map +1 -0
- package/dist/XeroContactCreateFlowDetail-6MAINCF6.js +127 -0
- package/dist/XeroContactCreateFlowDetail-6MAINCF6.js.map +1 -0
- package/dist/XeroInvoiceCreateConfig-O74RUSZM.js +403 -0
- package/dist/XeroInvoiceCreateConfig-O74RUSZM.js.map +1 -0
- package/dist/XeroInvoiceCreateFlowDetail-UL7KS6CZ.js +631 -0
- package/dist/XeroInvoiceCreateFlowDetail-UL7KS6CZ.js.map +1 -0
- package/dist/XeroInvoiceListConfig-UR3GONBJ.js +113 -0
- package/dist/XeroInvoiceListConfig-UR3GONBJ.js.map +1 -0
- package/dist/XeroInvoiceListFlowDetail-LYHODWH6.js +58 -0
- package/dist/XeroInvoiceListFlowDetail-LYHODWH6.js.map +1 -0
- package/dist/XeroPaymentCreateConfig-RPMAIK6E.js +116 -0
- package/dist/XeroPaymentCreateConfig-RPMAIK6E.js.map +1 -0
- package/dist/XeroPaymentCreateFlowDetail-CF35MVIM.js +573 -0
- package/dist/XeroPaymentCreateFlowDetail-CF35MVIM.js.map +1 -0
- package/dist/action-manifest.json +2091 -393
- package/dist/chunk-2GAYKKTL.js +9 -0
- package/dist/chunk-2GAYKKTL.js.map +1 -0
- package/dist/chunk-2WPEATI7.js +315 -0
- package/dist/chunk-2WPEATI7.js.map +1 -0
- package/dist/chunk-3O42FYT3.js +3333 -0
- package/dist/chunk-3O42FYT3.js.map +1 -0
- package/dist/chunk-3TUYY4HK.js +20 -0
- package/dist/chunk-3TUYY4HK.js.map +1 -0
- package/dist/chunk-3XSLBJYI.js +554 -0
- package/dist/chunk-3XSLBJYI.js.map +1 -0
- package/dist/chunk-4DGCCXD6.js +710 -0
- package/dist/chunk-4DGCCXD6.js.map +1 -0
- package/dist/chunk-4NAFQF6V.js +11 -0
- package/dist/chunk-4NAFQF6V.js.map +1 -0
- package/dist/chunk-4PONO4US.js +799 -0
- package/dist/chunk-4PONO4US.js.map +1 -0
- package/dist/chunk-4TMOIK5M.js +21 -0
- package/dist/chunk-4TMOIK5M.js.map +1 -0
- package/dist/chunk-5IH3VC5I.js +102 -0
- package/dist/chunk-5IH3VC5I.js.map +1 -0
- package/dist/chunk-5NTKDOP6.js +89 -0
- package/dist/chunk-5NTKDOP6.js.map +1 -0
- package/dist/chunk-5O2SFRGU.js +18 -0
- package/dist/chunk-5O2SFRGU.js.map +1 -0
- package/dist/chunk-632JLECF.js +55 -0
- package/dist/chunk-632JLECF.js.map +1 -0
- package/dist/chunk-676HDB7K.js +95 -0
- package/dist/chunk-676HDB7K.js.map +1 -0
- package/dist/chunk-6ESTNTSH.js +223 -0
- package/dist/chunk-6ESTNTSH.js.map +1 -0
- package/dist/chunk-6GKJR52N.js +15 -0
- package/dist/chunk-6GKJR52N.js.map +1 -0
- package/dist/chunk-6L4ZIKYU.js +23 -0
- package/dist/chunk-6L4ZIKYU.js.map +1 -0
- package/dist/chunk-76YX5R4L.js +11 -0
- package/dist/chunk-76YX5R4L.js.map +1 -0
- package/dist/chunk-7J3GFMN3.js +32 -0
- package/dist/chunk-7J3GFMN3.js.map +1 -0
- package/dist/chunk-7LSARC2G.js +102 -0
- package/dist/chunk-7LSARC2G.js.map +1 -0
- package/dist/chunk-7W7UUUIE.js +609 -0
- package/dist/chunk-7W7UUUIE.js.map +1 -0
- package/dist/chunk-7ZLW7H37.js +21 -0
- package/dist/chunk-7ZLW7H37.js.map +1 -0
- package/dist/chunk-AAZHI22G.js +18 -0
- package/dist/chunk-AAZHI22G.js.map +1 -0
- package/dist/chunk-ACNE455I.js +76 -0
- package/dist/chunk-ACNE455I.js.map +1 -0
- package/dist/chunk-BKLSSLPZ.js +27 -0
- package/dist/chunk-BKLSSLPZ.js.map +1 -0
- package/dist/chunk-BZ7UPUTY.js +417 -0
- package/dist/chunk-BZ7UPUTY.js.map +1 -0
- package/dist/chunk-CGFAICUE.js +28 -0
- package/dist/chunk-CGFAICUE.js.map +1 -0
- package/dist/chunk-CMCEWQ3C.js +19 -0
- package/dist/chunk-CMCEWQ3C.js.map +1 -0
- package/dist/chunk-CP4UV436.js +41 -0
- package/dist/chunk-CP4UV436.js.map +1 -0
- package/dist/chunk-D2CQPNQG.js +27508 -0
- package/dist/chunk-D2CQPNQG.js.map +1 -0
- package/dist/chunk-DIQRZP7Z.js +51 -0
- package/dist/chunk-DIQRZP7Z.js.map +1 -0
- package/dist/chunk-EBFFDDAS.js +13 -0
- package/dist/chunk-EBFFDDAS.js.map +1 -0
- package/dist/chunk-EGVS23DR.js +85 -0
- package/dist/chunk-EGVS23DR.js.map +1 -0
- package/dist/chunk-EKBQ7K4N.js +15 -0
- package/dist/chunk-EKBQ7K4N.js.map +1 -0
- package/dist/chunk-EKQCZRAN.js +24 -0
- package/dist/chunk-EKQCZRAN.js.map +1 -0
- package/dist/chunk-EYKZIZ5J.js +48 -0
- package/dist/chunk-EYKZIZ5J.js.map +1 -0
- package/dist/{chunk-NEOPTPDF.js → chunk-F4PTFXZH.js} +11554 -22046
- package/dist/chunk-F4PTFXZH.js.map +1 -0
- package/dist/chunk-FFYZXA75.js +58 -0
- package/dist/chunk-FFYZXA75.js.map +1 -0
- package/dist/chunk-GFGDHPZ2.js +22 -0
- package/dist/chunk-GFGDHPZ2.js.map +1 -0
- package/dist/chunk-GR3CDFID.js +18 -0
- package/dist/chunk-GR3CDFID.js.map +1 -0
- package/dist/chunk-GR4SIU32.js +104 -0
- package/dist/chunk-GR4SIU32.js.map +1 -0
- package/dist/chunk-H5E46IIS.js +18 -0
- package/dist/chunk-H5E46IIS.js.map +1 -0
- package/dist/chunk-HFHVAMZL.js +22 -0
- package/dist/chunk-HFHVAMZL.js.map +1 -0
- package/dist/chunk-HRRI4BLF.js +4456 -0
- package/dist/chunk-HRRI4BLF.js.map +1 -0
- package/dist/chunk-HT6L7A5M.js +12 -0
- package/dist/chunk-HT6L7A5M.js.map +1 -0
- package/dist/chunk-I2FPFISM.js +301 -0
- package/dist/chunk-I2FPFISM.js.map +1 -0
- package/dist/chunk-IADAQJDH.js +28 -0
- package/dist/chunk-IADAQJDH.js.map +1 -0
- package/dist/chunk-IBOBCMQQ.js +99 -0
- package/dist/chunk-IBOBCMQQ.js.map +1 -0
- package/dist/chunk-IFWKRCFF.js +56 -0
- package/dist/chunk-IFWKRCFF.js.map +1 -0
- package/dist/chunk-IH4T7V4C.js +40 -0
- package/dist/chunk-IH4T7V4C.js.map +1 -0
- package/dist/chunk-IIIZZ4E4.js +1679 -0
- package/dist/chunk-IIIZZ4E4.js.map +1 -0
- package/dist/chunk-ILSFU3WD.js +83 -0
- package/dist/chunk-ILSFU3WD.js.map +1 -0
- package/dist/chunk-IX3VBV3L.js +43 -0
- package/dist/chunk-IX3VBV3L.js.map +1 -0
- package/dist/chunk-JBBFSORW.js +846 -0
- package/dist/chunk-JBBFSORW.js.map +1 -0
- package/dist/chunk-JIDTNKKL.js +1183 -0
- package/dist/chunk-JIDTNKKL.js.map +1 -0
- package/dist/chunk-JSPE6NGZ.js +22 -0
- package/dist/chunk-JSPE6NGZ.js.map +1 -0
- package/dist/chunk-JVROGQ7Q.js +150 -0
- package/dist/chunk-JVROGQ7Q.js.map +1 -0
- package/dist/chunk-K4WUMWNJ.js +32 -0
- package/dist/chunk-K4WUMWNJ.js.map +1 -0
- package/dist/chunk-K74XQ4Q5.js +11 -0
- package/dist/chunk-K74XQ4Q5.js.map +1 -0
- package/dist/chunk-KLLMJ4U3.js +22 -0
- package/dist/chunk-KLLMJ4U3.js.map +1 -0
- package/dist/chunk-LTKVCJ2E.js +27 -0
- package/dist/chunk-LTKVCJ2E.js.map +1 -0
- package/dist/chunk-M36DJTFZ.js +34 -0
- package/dist/chunk-M36DJTFZ.js.map +1 -0
- package/dist/chunk-MHM52LCJ.js +154 -0
- package/dist/chunk-MHM52LCJ.js.map +1 -0
- package/dist/chunk-MQCDMHRZ.js +59 -0
- package/dist/chunk-MQCDMHRZ.js.map +1 -0
- package/dist/chunk-N3ORMGAI.js +348 -0
- package/dist/chunk-N3ORMGAI.js.map +1 -0
- package/dist/chunk-NCSGIRRQ.js +28 -0
- package/dist/chunk-NCSGIRRQ.js.map +1 -0
- package/dist/chunk-NIXT2SBH.js +1423 -0
- package/dist/chunk-NIXT2SBH.js.map +1 -0
- package/dist/chunk-NJAII6CO.js +148 -0
- package/dist/chunk-NJAII6CO.js.map +1 -0
- package/dist/chunk-NKE4TL43.js +92 -0
- package/dist/chunk-NKE4TL43.js.map +1 -0
- package/dist/chunk-NZ7AXA7B.js +1 -0
- package/dist/chunk-NZ7AXA7B.js.map +1 -0
- package/dist/chunk-OCAYEGI2.js +26 -0
- package/dist/chunk-OCAYEGI2.js.map +1 -0
- package/dist/chunk-OMLI45ER.js +90 -0
- package/dist/chunk-OMLI45ER.js.map +1 -0
- package/dist/chunk-P7OBLJAG.js +88 -0
- package/dist/chunk-P7OBLJAG.js.map +1 -0
- package/dist/chunk-PAY3CBWL.js +2321 -0
- package/dist/chunk-PAY3CBWL.js.map +1 -0
- package/dist/chunk-PFF6VY35.js +257 -0
- package/dist/chunk-PFF6VY35.js.map +1 -0
- package/dist/chunk-PYNDJDWZ.js +1758 -0
- package/dist/chunk-PYNDJDWZ.js.map +1 -0
- package/dist/chunk-QDQ6UMMN.js +53 -0
- package/dist/chunk-QDQ6UMMN.js.map +1 -0
- package/dist/chunk-QGT3G2XG.js +24 -0
- package/dist/chunk-QGT3G2XG.js.map +1 -0
- package/dist/chunk-QZYCJ2GZ.js +55 -0
- package/dist/chunk-QZYCJ2GZ.js.map +1 -0
- package/dist/chunk-REZ7RFSA.js +124 -0
- package/dist/chunk-REZ7RFSA.js.map +1 -0
- package/dist/chunk-RRYBAE6E.js +2449 -0
- package/dist/chunk-RRYBAE6E.js.map +1 -0
- package/dist/chunk-RWUZOB62.js +34 -0
- package/dist/chunk-RWUZOB62.js.map +1 -0
- package/dist/chunk-SB5UCPZH.js +116 -0
- package/dist/chunk-SB5UCPZH.js.map +1 -0
- package/dist/chunk-SEJJ7CRI.js +99 -0
- package/dist/chunk-SEJJ7CRI.js.map +1 -0
- package/dist/chunk-SHBFGRPV.js +45 -0
- package/dist/chunk-SHBFGRPV.js.map +1 -0
- package/dist/chunk-SOFJ4GC5.js +45 -0
- package/dist/chunk-SOFJ4GC5.js.map +1 -0
- package/dist/chunk-STH2HPZK.js +44 -0
- package/dist/chunk-STH2HPZK.js.map +1 -0
- package/dist/chunk-TK3JNKME.js +28 -0
- package/dist/chunk-TK3JNKME.js.map +1 -0
- package/dist/chunk-TMONHFE3.js +46 -0
- package/dist/chunk-TMONHFE3.js.map +1 -0
- package/dist/chunk-TR4KO3AG.js +44 -0
- package/dist/chunk-TR4KO3AG.js.map +1 -0
- package/dist/chunk-TS2LNBF2.js +68 -0
- package/dist/chunk-TS2LNBF2.js.map +1 -0
- package/dist/chunk-UZUMBFPP.js +26 -0
- package/dist/chunk-UZUMBFPP.js.map +1 -0
- package/dist/chunk-VRZ5LMOW.js +176 -0
- package/dist/chunk-VRZ5LMOW.js.map +1 -0
- package/dist/chunk-WLGGY6Z6.js +75 -0
- package/dist/chunk-WLGGY6Z6.js.map +1 -0
- package/dist/chunk-WO7V6ZNC.js +11 -0
- package/dist/chunk-WO7V6ZNC.js.map +1 -0
- package/dist/chunk-WXSENSRP.js +64 -0
- package/dist/chunk-WXSENSRP.js.map +1 -0
- package/dist/chunk-XEKBZ2SA.js +19 -0
- package/dist/chunk-XEKBZ2SA.js.map +1 -0
- package/dist/chunk-XPBKU3JX.js +61 -0
- package/dist/chunk-XPBKU3JX.js.map +1 -0
- package/dist/chunk-XRYXBXWH.js +24 -0
- package/dist/chunk-XRYXBXWH.js.map +1 -0
- package/dist/chunk-XVA7QRVH.js +22 -0
- package/dist/chunk-XVA7QRVH.js.map +1 -0
- package/dist/chunk-YCTHHBSS.js +37 -0
- package/dist/chunk-YCTHHBSS.js.map +1 -0
- package/dist/chunk-YHPWD5NE.js +70 -0
- package/dist/chunk-YHPWD5NE.js.map +1 -0
- package/dist/chunk-YLNEKJQ5.js +126 -0
- package/dist/chunk-YLNEKJQ5.js.map +1 -0
- package/dist/chunk-YN4CEKCF.js +73 -0
- package/dist/chunk-YN4CEKCF.js.map +1 -0
- package/dist/chunk-YYNMESIF.js +17 -0
- package/dist/chunk-YYNMESIF.js.map +1 -0
- package/dist/chunk-Z6PRMCV6.js +1 -0
- package/dist/chunk-Z6PRMCV6.js.map +1 -0
- package/dist/chunk-ZDNW6VQG.js +11 -0
- package/dist/chunk-ZDNW6VQG.js.map +1 -0
- package/dist/chunk-ZP4D73DO.js +36 -0
- package/dist/chunk-ZP4D73DO.js.map +1 -0
- package/dist/chunk-ZUATADUV.js +26 -0
- package/dist/chunk-ZUATADUV.js.map +1 -0
- package/dist/{connections-1NtNQrsY.d.ts → connections-CEcurtWI.d.ts} +74 -9
- package/dist/core/index.cjs +14041 -6973
- package/dist/core/index.cjs.map +1 -1
- package/dist/core/index.d.ts +422 -138
- package/dist/core/index.js +425 -183
- package/dist/core/index.js.map +1 -1
- package/dist/flow-vnext/index.cjs +2842 -0
- package/dist/flow-vnext/index.cjs.map +1 -0
- package/dist/flow-vnext/index.d.ts +3 -0
- package/dist/flow-vnext/index.js +119 -0
- package/dist/flow-vnext/index.js.map +1 -0
- package/dist/{graphql-client-Bn0tN049.d.ts → graphql-client-B2tREsx6.d.ts} +3 -1
- package/dist/index-b9xxXGFs.d.ts +1230 -0
- package/dist/index.d.ts +5 -3
- package/dist/index.js +202 -37
- package/dist/index.js.map +1 -1
- package/dist/legacy-BpgIqaQ5.d.ts +14 -0
- package/dist/mantine/index.d.ts +7 -4
- package/dist/mantine/index.js +84 -30
- package/dist/mantine/index.js.map +1 -1
- package/dist/{runtime-BFwvCQDF.d.ts → types-Dqk5MTfW.d.ts} +6096 -5386
- package/package.json +12 -2
- package/dist/chunk-5JF23UP3.js +0 -59687
- package/dist/chunk-5JF23UP3.js.map +0 -1
- package/dist/chunk-A4CWC4AG.js +0 -374
- package/dist/chunk-A4CWC4AG.js.map +0 -1
- package/dist/chunk-NEOPTPDF.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/evaluateBid/EvaluateBidFlowDetail.tsx"],"sourcesContent":["import { useRunRuntimeReader } from '@/mantine/hooks/useRunRuntimeReader';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { ActionIcon, Badge, Box, Button, Divider, Group, Loader, Stack, Text, UnstyledButton } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { IconArrowLeft, IconCheck, IconFilter } from '@tabler/icons-react';\nimport { useBlocknoteHandlers, useTranslate, type Bid, type IUserMatrixProfile } from '@/mantine/context/BlocknoteContext';\nimport { resolveReferences } from '@/mantine/utils/referenceResolver';\nimport type { ActionTypeFlowProps } from '../../actionTypeUI';\nimport { ActAsGroupSection, actAsGroupReady, actAsGroupRuntimeInputs, emptyActAsGroupState, type ActAsGroupState } from '../_shared/groupExecution/ActAsGroupSection';\nimport { GroupProposalStatus } from '../_shared/groupExecution/GroupProposalStatus';\nimport { parseEvaluateBidActionInputs } from './types';\nimport type { EvaluateBidRuntimeInputs } from '@/core/lib/actionRegistry/actions/evaluateBid/types';\nimport BaseTextArea from '@/mantine/components/Base/BaseTextArea';\nimport BaseSelect from '@/mantine/components/Base/BaseSelect';\nimport BaseNumberInput from '@/mantine/components/Base/BaseNumberInput';\nimport BaseTextInput from '@/mantine/components/Base/BaseTextInput';\nimport ListItemContainer from '@/mantine/blocks/list/ListItemContainer';\nimport { actionAlertStyles } from '../../alertStyles';\nimport { CollapsibleSection } from '@/mantine/components/CollapsibleSection';\nimport { DownloadCsvButton, DownloadZipButton, buildBidRows, bidAnswers, buildExportBundle, exportFileNames } from '../_shared/dataExport';\nimport { ReadableKeyValues } from '../_shared/ReadableKeyValues';\nimport { downloadArrayAsCsv, downloadBlob, rowsToCsv } from '@/core/utils/files';\nimport { getBidStatusInfo, type BidStatusContext, type BidStatusKey } from '@/mantine/utils/bidStatus';\nimport { fetchAllBids, dedupeBids, describeBidsPagingStop } from '../_shared/bids/fetchAllBids';\nimport { sortBidsForReview } from '../_shared/bids/sortBids';\nimport type { CollectionGrantee } from '@/core/lib/actionRegistry/actions/collectionUsers/types';\n\n// Helper functions moved from bid block\nfunction getRoleColor(role: string): string {\n const r = String(role || '').toLowerCase();\n if (r === 'service_agent' || r === 'sa') return 'blue';\n if (r === 'evaluation_agent' || r === 'ea') return 'green';\n return 'gray';\n}\n\nfunction getRoleLabel(role: string, translate: (key: string, opts?: { defaultValue?: string }) => string): string {\n const r = String(role || '').toLowerCase();\n if (r === 'service_agent' || r === 'sa') return translate('actionTypes.bid.flow.role.contributor', { defaultValue: 'Contributor' });\n if (r === 'evaluation_agent' || r === 'ea') return translate('actionTypes.bid.flow.role.evaluator', { defaultValue: 'Evaluator' });\n return role || translate('actionTypes.evaluateBid.flow.role.unknown', { defaultValue: 'Unknown' });\n}\n\ntype FilterTab = 'all' | 'pending' | 'approved' | 'rejected';\n\nconst USDC_DENOM = 'ibc/6BBE9BD4246F8E04948D5A4EEE7164B2630263B9EBB5E7DC5F0A46C62A2FF97B';\nconst IXO_DENOM = 'uixo';\nconst CUSTOM_DENOM = '__custom__';\n// On-chain denoms are 6-decimal micro units. The approve-evaluator consumer\n// handler (agent-authz.ts grantEvaluatorAuthz) expects maxAmounts already in\n// base units and applies no conversion, so the human amount entered here must be\n// scaled by 10^DECIMALS — mirrors EvaluateClaimFlowDetail / BidViewPanel.\nconst DECIMALS = 6;\n\ntype PaymentRow = {\n id: string;\n denom: string | null;\n customDenom: string;\n amount: number | string;\n};\n\nconst createPaymentRow = (): PaymentRow => ({\n id: `payment-${Math.random().toString(36).slice(2, 9)}`,\n denom: IXO_DENOM,\n customDenom: '',\n amount: '',\n});\n\nfunction getTimeAgo(dateString: string): string {\n if (!dateString) return '';\n try {\n const date = new Date(dateString);\n const now = new Date();\n const diffMs = now.getTime() - date.getTime();\n const diffMins = Math.floor(diffMs / 60000);\n if (diffMins < 1) return 'just now';\n if (diffMins < 60) return `${diffMins}m ago`;\n const diffHours = Math.floor(diffMins / 60);\n if (diffHours < 24) return `${diffHours}h ago`;\n const diffDays = Math.floor(diffHours / 24);\n if (diffDays < 30) return `${diffDays} day${diffDays > 1 ? 's' : ''} ago`;\n const diffMonths = Math.floor(diffDays / 30);\n return `${diffMonths} month${diffMonths > 1 ? 's' : ''} ago`;\n } catch {\n return dateString;\n }\n}\n\nfunction truncateAddress(address: string): string {\n if (!address) return '';\n if (address.length <= 14) return address;\n return `${address.slice(0, 8)}...${address.slice(-3)}`;\n}\n\n// Status resolution lives in `@/mantine/utils/bidStatus` so the list badges,\n// the filter tabs and the CSV export all read the same rules. The previous\n// local version looked only at `bid.data.status` — a field the submitted survey\n// answers never carry — so every bid rendered and exported as Pending even\n// after it had been approved and the grant issued.\nfunction getBidStatus(\n bid: Bid,\n translate: (key: string, opts?: { defaultValue?: string }) => string,\n context: BidStatusContext\n): { label: string; key: BidStatusKey; color: string } {\n const info = getBidStatusInfo(bid, context);\n const labels: Record<BidStatusKey, string> = {\n approved: translate('actionTypes.evaluateBid.flow.status.approved', { defaultValue: 'Approved' }),\n rejected: translate('actionTypes.evaluateBid.flow.status.rejected', { defaultValue: 'Rejected' }),\n pending: translate('actionTypes.evaluateBid.flow.status.pending', { defaultValue: 'Pending' }),\n };\n return { label: labels[info.key], key: info.key, color: info.color };\n}\n\nexport const EvaluateBidFlowDetail: React.FC<ActionTypeFlowProps<EvaluateBidRuntimeInputs>> = ({\n inputs,\n editor,\n block,\n runtime,\n isDisabled,\n provideSigningHandler,\n unlockSigning,\n registerRuntimeInputs,\n executeAction,\n}) => {\n const [actAs, setActAs] = useState<ActAsGroupState>(emptyActAsGroupState());\n const t = useTranslate();\n const handlers = useBlocknoteHandlers();\n const handlersRef = useRef(handlers);\n useEffect(() => {\n handlersRef.current = handlers;\n }, [handlers]);\n const parsed = useMemo(() => parseEvaluateBidActionInputs(inputs), [inputs]);\n const editorDocument = editor?.document || [];\n const runtimeReader = useRunRuntimeReader(editor);\n const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);\n const deedDid = resolveReferences(parsed.deedDid, editorDocument, resolveOpts).trim();\n const collectionId = resolveReferences(parsed.collectionId, editorDocument, resolveOpts).trim();\n\n const [bids, setBids] = useState<Bid[]>([]);\n const [selectedBidId, setSelectedBidId] = useState<string>('');\n const [decision, setDecision] = useState<'approve' | 'reject' | ''>('');\n const [loadingBids, setLoadingBids] = useState(false);\n const [submitting, setSubmitting] = useState(false);\n const [error, setError] = useState<string | null>(null);\n const [rejectReason, setRejectReason] = useState('');\n const [adminAddress, setAdminAddress] = useState('');\n const [activeFilter, setActiveFilter] = useState<FilterTab>('pending');\n const [paymentRows, setPaymentRows] = useState<PaymentRow[]>([createPaymentRow()]);\n const [profilesByDid, setProfilesByDid] = useState<Record<string, IUserMatrixProfile>>({});\n const [grantees, setGrantees] = useState<CollectionGrantee[]>([]);\n\n const selectedBid = useMemo(() => bids.find((bid) => bid.id === selectedBidId) || null, [bids, selectedBidId]);\n\n // Live authz grants on the collection. A bid has no evaluation record of its\n // own — an existing grant in the bid's role is the only durable evidence that\n // it was approved in an earlier session, so the status of every bid in this\n // list depends on having these loaded.\n const statusContext = useMemo<BidStatusContext>(() => ({ grantees }), [grantees]);\n\n const statusCounts = useMemo(() => {\n const counts: Record<BidStatusKey, number> = { approved: 0, rejected: 0, pending: 0 };\n for (const bid of bids) counts[getBidStatusInfo(bid, statusContext).key] += 1;\n return counts;\n }, [bids, statusContext]);\n\n // Undecided first, then newest — the service returns insertion order, which\n // buries the bids that still need a decision behind long-settled ones.\n const filteredBids = useMemo(() => {\n const ordered = sortBidsForReview(bids, statusContext);\n if (activeFilter === 'all') return ordered;\n return ordered.filter((bid) => getBidStatus(bid, t, statusContext).key === activeFilter);\n }, [bids, activeFilter, t, statusContext]);\n\n /** Optional host capability — absent hosts simply export/render without grant state. */\n const fetchGrantees = useCallback(\n async (adminAddressForList: string): Promise<CollectionGrantee[]> => {\n const listGrantees = (\n handlersRef.current as unknown as {\n collectionUsers?: { list?: (params: { granterAdminAddress: string; collectionId: string }) => Promise<{ grantees: CollectionGrantee[] }> };\n }\n ).collectionUsers?.list;\n if (typeof listGrantees !== 'function' || !adminAddressForList) return [];\n try {\n const result = await listGrantees({ granterAdminAddress: adminAddressForList, collectionId });\n return Array.isArray(result?.grantees) ? result.grantees : [];\n } catch {\n return [];\n }\n },\n [collectionId]\n );\n\n const refreshBids = useCallback(async () => {\n if (!deedDid || !collectionId) return;\n const handlers = handlersRef.current;\n\n setLoadingBids(true);\n setError(null);\n try {\n // Pages through the bot's 10-bid response rather than showing only the first page.\n const [bidsResult, collectionsResponse] = await Promise.all([fetchAllBids(handlers.queryBids, { collectionId, entityDid: deedDid }), handlers.getClaimCollections(deedDid)]);\n const fetchedBids = dedupeBids(bidsResult.bids);\n setBids(fetchedBids);\n const pagingNote = describeBidsPagingStop(bidsResult);\n if (pagingNote) setError(pagingNote);\n if (selectedBidId && !fetchedBids.some((bid) => bid.id === selectedBidId)) {\n setSelectedBidId('');\n }\n const resolvedAdmin = collectionsResponse?.collections?.find?.((c: any) => c?.id === collectionId)?.admin || collectionsResponse?.adminAddress || '';\n setAdminAddress(resolvedAdmin);\n setGrantees(await fetchGrantees(resolvedAdmin));\n } catch (err) {\n setBids([]);\n setAdminAddress('');\n setGrantees([]);\n setError(err instanceof Error ? err.message : t('actionTypes.evaluateBid.flow.errors.loadBids', { defaultValue: 'Failed to load bids' }));\n } finally {\n setLoadingBids(false);\n }\n }, [deedDid, collectionId, selectedBidId, fetchGrantees]);\n\n useEffect(() => {\n setSelectedBidId('');\n setRejectReason('');\n setError(null);\n }, [deedDid, collectionId]);\n\n useEffect(() => {\n setDecision('');\n setRejectReason('');\n setPaymentRows([createPaymentRow()]);\n }, [selectedBidId]);\n\n useEffect(() => {\n if (!deedDid || !collectionId) return;\n refreshBids();\n }, [deedDid, collectionId, refreshBids]);\n\n // IXO-4066 — export all submitted bids with their status and each account's\n // current grant state. Grants are refreshed at download time so the export\n // reflects the collection now rather than when the list last loaded.\n const bidRowOptions = useCallback(\n (freshGrantees: CollectionGrantee[]) => ({\n namesByDid: Object.fromEntries(Object.entries(profilesByDid).map(([did, profile]) => [did, profile?.displayname || ''])),\n grantees: freshGrantees,\n }),\n [profilesByDid]\n );\n\n const downloadBidsCsv = useCallback(\n async (subset: Bid[], filename: string) => {\n const freshGrantees = (await fetchGrantees(adminAddress)) || grantees;\n downloadArrayAsCsv(buildBidRows(subset, freshGrantees, bidRowOptions(freshGrantees)), { filename });\n },\n [adminAddress, fetchGrantees, grantees, bidRowOptions]\n );\n\n const downloadBidsZip = useCallback(\n async (subset: Bid[], names: { csv: string; manifest: string; zip: string }) => {\n const handlers = handlersRef.current;\n const freshGrantees = (await fetchGrantees(adminAddress)) || grantees;\n const fetchMedia = handlers.fetchClaimMedia ? (url: string) => handlers.fetchClaimMedia!(url, { entityDid: deedDid }) : undefined;\n\n const { blob, mediaTotal, mediaFailed } = await buildExportBundle({\n records: subset.map((bid) => ({\n recordId: bid.id,\n answers: bidAnswers(bid),\n manifest: {\n bidId: bid.id,\n did: bid.did,\n address: bid.address,\n role: bid.role,\n created: bid.created,\n status: getBidStatusInfo(bid, { grantees: freshGrantees }).key,\n },\n })),\n fetchMedia,\n renderCsv: (answersByBidId) => rowsToCsv(buildBidRows(subset, freshGrantees, { ...bidRowOptions(freshGrantees), answersByBidId })),\n csvName: names.csv,\n manifestName: names.manifest,\n });\n\n downloadBlob(blob, names.zip);\n if (mediaFailed > 0) {\n setError(`${mediaFailed} of ${mediaTotal} media files could not be downloaded — see downloadStatus in ${names.manifest}.`);\n }\n },\n [adminAddress, fetchGrantees, grantees, bidRowOptions, deedDid]\n );\n\n const handleDownloadBidsCsv = useCallback(() => downloadBidsCsv(bids, exportFileNames.bids(collectionId).csv), [downloadBidsCsv, bids, collectionId]);\n const handleDownloadBidsZip = useCallback(() => downloadBidsZip(bids, exportFileNames.bids(collectionId)), [downloadBidsZip, bids, collectionId]);\n\n useEffect(() => {\n let mounted = true;\n const dids = Array.from(new Set(bids.map((bid) => bid.did).filter(Boolean)));\n const missing = dids.filter((did) => !profilesByDid[did]);\n if (missing.length === 0)\n return () => {\n mounted = false;\n };\n\n const loadProfiles = async () => {\n const handlers = handlersRef.current;\n const results = await Promise.all(\n missing.map(async (did) => {\n try {\n const profile = await handlers.getMatrixInfoPerDid(did);\n return [did, profile] as const;\n } catch {\n return [did, null] as const;\n }\n })\n );\n\n if (!mounted) return;\n setProfilesByDid((prev) => {\n const next = { ...prev };\n results.forEach(([did, profile]) => {\n if (profile) {\n next[did] = profile;\n }\n });\n return next;\n });\n };\n\n loadProfiles();\n return () => {\n mounted = false;\n };\n }, [bids, profilesByDid]);\n\n const addPaymentRow = useCallback(() => {\n setPaymentRows((prev) => [...prev, createPaymentRow()]);\n }, []);\n\n const removePaymentRow = useCallback((id: string) => {\n setPaymentRows((prev) => (prev.length === 1 ? prev : prev.filter((row) => row.id !== id)));\n }, []);\n\n const updatePaymentRow = useCallback((id: string, patch: Partial<PaymentRow>) => {\n setPaymentRows((prev) => prev.map((row) => (row.id === id ? { ...row, ...patch } : row)));\n }, []);\n\n const buildMaxAmounts = useCallback(() => {\n return paymentRows\n .map((row) => {\n const denom = row.denom === CUSTOM_DENOM ? row.customDenom.trim() : row.denom || '';\n const amount = Number(row.amount);\n if (!denom || !Number.isFinite(amount) || amount <= 0) return null;\n // Scale the human amount to on-chain base units (the consumer does not convert).\n return { denom, amount: (amount * Math.pow(10, DECIMALS)).toString() };\n })\n .filter((entry): entry is { denom: string; amount: string } => !!entry);\n }, [paymentRows]);\n\n // Wire registerRuntimeInputs — push selections to parent for diff resolver\n useEffect(() => {\n if (!registerRuntimeInputs) return;\n if (!selectedBid) {\n registerRuntimeInputs({ bidId: '', decision: '', role: '', applicantDid: '', applicantAddress: '', adminAddress: '' });\n return;\n }\n const selectedRole = String(selectedBid.role || '').toLowerCase();\n const selectedBidIsEvaluator = selectedRole === 'evaluation_agent' || selectedRole === 'ea';\n registerRuntimeInputs({\n bidId: selectedBid.id,\n decision: decision || '',\n role: selectedBid.role,\n applicantDid: selectedBid.did,\n applicantAddress: selectedBid.address,\n adminAddress,\n rejectReason: decision === 'reject' ? (selectedBidIsEvaluator ? rejectReason : rejectReason.trim() || 'Rejected') : undefined,\n maxAmounts: selectedBidIsEvaluator ? JSON.stringify(buildMaxAmounts()) : undefined,\n });\n }, [registerRuntimeInputs, selectedBid, decision, adminAddress, rejectReason, buildMaxAmounts]);\n\n // Wire unlockSigning — enable slider based on validation state\n useEffect(() => {\n if (!unlockSigning) return;\n if (!selectedBid || !decision) {\n unlockSigning(false);\n return;\n }\n const selectedRole = String(selectedBid.role || '').toLowerCase();\n const selectedBidIsEvaluator = selectedRole === 'evaluation_agent' || selectedRole === 'ea';\n if (decision === 'approve') {\n unlockSigning(!!adminAddress && actAsGroupReady(actAs));\n } else if (decision === 'reject') {\n unlockSigning((!selectedBidIsEvaluator || !!rejectReason.trim()) && actAsGroupReady(actAs));\n } else {\n unlockSigning(false);\n }\n }, [unlockSigning, selectedBid, decision, adminAddress, rejectReason, actAs]);\n\n // Wire provideSigningHandler — execution logic triggered by slide-to-sign\n useEffect(() => {\n if (!provideSigningHandler || !selectedBid || !decision) return;\n provideSigningHandler(async () => {\n const selectedRole = String(selectedBid.role || '').toLowerCase();\n const selectedBidIsEvaluator = selectedRole === 'evaluation_agent' || selectedRole === 'ea';\n\n if (!executeAction) {\n setError('Shared action executor is unavailable');\n return;\n }\n\n setSubmitting(true);\n setError(null);\n\n try {\n const outcome = await executeAction({\n runtimeInputs: {\n ...actAsGroupRuntimeInputs(actAs),\n decision,\n bidId: selectedBid.id,\n collectionId,\n deedDid,\n role: selectedBid.role,\n applicantDid: selectedBid.did,\n applicantAddress: selectedBid.address,\n adminAddress,\n maxAmounts: selectedBidIsEvaluator ? JSON.stringify(buildMaxAmounts()) : '[]',\n reason: decision === 'reject' ? (selectedBidIsEvaluator ? rejectReason : rejectReason.trim() || 'Rejected') : '',\n },\n });\n\n if (!outcome.success) throw new Error(outcome.error || t('actionTypes.evaluateBid.flow.errors.evaluationFailed', { defaultValue: 'Bid evaluation failed' }));\n\n setSelectedBidId('');\n setDecision('');\n setRejectReason('');\n await refreshBids();\n } catch (err) {\n const message = err instanceof Error ? err.message : t('actionTypes.evaluateBid.flow.errors.evaluateFailed', { defaultValue: 'Failed to evaluate bid' });\n setError(message);\n } finally {\n setSubmitting(false);\n }\n });\n }, [provideSigningHandler, selectedBid, decision, adminAddress, rejectReason, collectionId, deedDid, buildMaxAmounts, refreshBids, executeAction]);\n\n // ── Detail View (slide-in per bid item) ──\n if (selectedBid) {\n const bidStatus = getBidStatus(selectedBid, t, statusContext);\n const bidRole = String(selectedBid.role || '').toLowerCase();\n const bidIsEvaluator = bidRole === 'evaluation_agent' || bidRole === 'ea';\n const selectedBidProfile = profilesByDid[selectedBid.did];\n const selectedDisplayName = selectedBidProfile?.displayname || selectedBid.did || selectedBid.address;\n const selectedAvatarLabel = (selectedBidProfile?.displayname || selectedBid.did || selectedBid.address || '?')[0]?.toUpperCase();\n let bidData: any = null;\n try {\n bidData = typeof selectedBid.data === 'string' ? JSON.parse(selectedBid.data) : selectedBid.data;\n } catch {\n // ignore\n }\n\n return (\n <Stack gap=\"md\">\n {/* Back header */}\n <Group gap=\"xs\" align=\"center\">\n <ActionIcon variant=\"subtle\" color=\"gray\" size=\"sm\" onClick={() => setSelectedBidId('')}>\n <IconArrowLeft size={16} />\n </ActionIcon>\n <Text fw={500} size=\"sm\" truncate style={{ flex: 1, minWidth: 0 }}>\n {t('actionTypes.evaluateBid.flow.bidNumber', { id: selectedBid.id, defaultValue: `Bid #${selectedBid.id}` })}\n </Text>\n <DownloadCsvButton onDownload={() => downloadBidsCsv([selectedBid], exportFileNames.bid(selectedBid.id).csv)} label=\"Download bid CSV\" onError={setError} />\n <DownloadZipButton onDownload={() => downloadBidsZip([selectedBid], exportFileNames.bid(selectedBid.id))} label=\"Download bid + media (ZIP)\" onError={setError} />\n </Group>\n\n {/* Bidder info header */}\n <Group gap={16} align=\"center\" style={{ width: '100%' }}>\n <Box\n style={{\n width: 40,\n height: 40,\n borderRadius: '50%',\n background: 'var(--mantine-color-neutralColor-4)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n fontSize: 16,\n fontWeight: 500,\n color: 'var(--mantine-color-dimmed)',\n backgroundImage: selectedBidProfile?.avatarUrl ? `url(${selectedBidProfile.avatarUrl})` : undefined,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n }}\n >\n {selectedBidProfile?.avatarUrl ? null : selectedAvatarLabel}\n </Box>\n <Stack gap={0} style={{ flex: 1, minWidth: 0 }}>\n <Text fw={500} size=\"md\" truncate>\n {selectedDisplayName}\n </Text>\n <Text size=\"xs\" c=\"dimmed\" truncate>\n {truncateAddress(selectedBid.address)}\n </Text>\n </Stack>\n <Stack gap={0} align=\"flex-end\" style={{ flexShrink: 0 }}>\n <Text fw={500} size=\"md\" c={bidStatus.color === 'green' ? 'green' : bidStatus.color === 'red' ? 'red' : undefined}>\n {bidStatus.color === 'green' && <IconCheck size={14} style={{ verticalAlign: 'middle', marginRight: 4 }} />}\n {bidStatus.label}\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n {getTimeAgo(selectedBid.created || '')}\n </Text>\n </Stack>\n </Group>\n\n <CollapsibleSection title={t('actionTypes.evaluateBid.flow.section.details', { defaultValue: 'Details' })}>\n <Stack gap=\"xs\">\n <Group justify=\"space-between\">\n <Text size=\"xs\" c=\"dimmed\">\n Bid ID\n </Text>\n <Text size=\"xs\" truncate>\n {selectedBid.id}\n </Text>\n </Group>\n <Group justify=\"space-between\">\n <Text size=\"xs\" c=\"dimmed\">\n Collection\n </Text>\n <Text size=\"xs\">{selectedBid.collection || collectionId}</Text>\n </Group>\n <Group justify=\"space-between\">\n <Text size=\"xs\" c=\"dimmed\">\n {t('actionTypes.evaluateBid.flow.details.role', { defaultValue: 'Role' })}\n </Text>\n <Badge size=\"xs\" variant=\"light\" color={getRoleColor(selectedBid.role)}>\n {getRoleLabel(selectedBid.role, t)}\n </Badge>\n </Group>\n <Group justify=\"space-between\">\n <Text size=\"xs\" c=\"dimmed\">\n {t('actionTypes.evaluateBid.flow.details.address', { defaultValue: 'Address' })}\n </Text>\n <Text size=\"xs\">{selectedBid.address}</Text>\n </Group>\n </Stack>\n </CollapsibleSection>\n\n <CollapsibleSection title={t('actionTypes.evaluateBid.flow.section.inputs', { defaultValue: 'Inputs' })}>\n {bidData && typeof bidData === 'object' && Object.keys(bidData).length > 0 ? (\n <ReadableKeyValues data={bidData as Record<string, unknown>} />\n ) : (\n <Text size=\"xs\" c=\"dimmed\">\n {t('actionTypes.evaluateBid.flow.noInputData', { defaultValue: 'No input data available.' })}\n </Text>\n )}\n </CollapsibleSection>\n\n {/* Decision selector */}\n <BaseSelect\n label={t('actionTypes.evaluateClaim.flow.decision.label', { defaultValue: 'Decision' })}\n placeholder={t('actionTypes.evaluateClaim.flow.decision.placeholder', { defaultValue: 'Select decision' })}\n value={decision || null}\n onChange={(value) => setDecision((value as 'approve' | 'reject') || '')}\n data={[\n { value: 'approve', label: t('actionTypes.evaluateClaim.flow.decision.approve', { defaultValue: 'Approve' }) },\n { value: 'reject', label: t('actionTypes.evaluateClaim.flow.decision.reject', { defaultValue: 'Reject' }) },\n ]}\n disabled={isDisabled || submitting}\n />\n\n {/* Collapsible: Evaluation — shown when decision requires extra inputs */}\n {decision && (decision === 'reject' || (decision === 'approve' && bidIsEvaluator)) && (\n <CollapsibleSection title={t('actionTypes.evaluateClaim.flow.section.evaluation', { defaultValue: 'Evaluation' })} defaultOpen>\n <Stack gap=\"md\">\n {/* Reason field — shown when rejecting */}\n {decision === 'reject' && (\n <Stack gap={4}>\n <Text size=\"xs\" c=\"dimmed\">\n {t('actionTypes.evaluateBid.flow.reason', { defaultValue: 'Reason' })}{' '}\n {bidIsEvaluator && (\n <Text span c=\"red\" size=\"xs\">\n *\n </Text>\n )}\n </Text>\n <BaseTextArea\n placeholder={t('actionTypes.evaluateBid.flow.startTyping', { defaultValue: 'Start Typing' })}\n value={rejectReason}\n onChange={(event) => setRejectReason(event.currentTarget.value)}\n minRows={2}\n disabled={isDisabled || submitting}\n />\n </Stack>\n )}\n\n {/* Payment section — shown when approving evaluator bids */}\n {decision === 'approve' && bidIsEvaluator && (\n <>\n <Divider color=\"color-mix(in srgb, var(--mantine-color-text) 6%, transparent)\" />\n <Text size=\"xs\" c=\"dimmed\">\n {t('actionTypes.evaluateBid.flow.paymentLabel', { defaultValue: 'Payment (used as evaluator max amount)' })}\n </Text>\n {paymentRows.map((row, index) => (\n <Stack key={row.id} gap={8}>\n <Group justify=\"space-between\" align=\"center\">\n <Text size=\"sm\">{t('actionTypes.evaluateClaim.flow.payment.token', { index: index + 1, defaultValue: `Token ${index + 1}` })}</Text>\n <Group gap=\"xs\">\n {paymentRows.length > 1 && (\n <Button variant=\"subtle\" size=\"compact-xs\" color=\"red\" onClick={() => removePaymentRow(row.id)} disabled={isDisabled || submitting}>\n {t('actionTypes.evaluateClaim.flow.payment.remove', { defaultValue: 'Remove' })}\n </Button>\n )}\n </Group>\n </Group>\n <BaseSelect\n value={row.denom}\n onChange={(value) => updatePaymentRow(row.id, { denom: value })}\n data={[\n { value: IXO_DENOM, label: 'IXO' },\n { value: USDC_DENOM, label: 'USDC' },\n { value: CUSTOM_DENOM, label: t('actionTypes.evaluateClaim.flow.payment.custom', { defaultValue: 'Custom' }) },\n ]}\n clearable={false}\n disabled={isDisabled || submitting}\n />\n {row.denom === CUSTOM_DENOM && (\n <BaseTextInput\n placeholder={t('actionTypes.evaluateClaim.flow.payment.customDenomPlaceholder', { defaultValue: 'Custom denom (e.g. ibc/... or uixo)' })}\n value={row.customDenom}\n onChange={(event) => updatePaymentRow(row.id, { customDenom: event.currentTarget.value })}\n disabled={isDisabled || submitting}\n />\n )}\n <BaseNumberInput\n min={0}\n value={row.amount}\n onChange={(value) => updatePaymentRow(row.id, { amount: value })}\n placeholder={t('actionTypes.evaluateClaim.flow.payment.amountPlaceholder', { defaultValue: 'Amount' })}\n disabled={isDisabled || submitting}\n />\n </Stack>\n ))}\n <Button variant=\"light\" size=\"xs\" onClick={addPaymentRow} disabled={isDisabled || submitting}>\n {t('actionTypes.evaluateClaim.flow.payment.addPayment', { defaultValue: 'Add Payment' })}\n </Button>\n </>\n )}\n </Stack>\n </CollapsibleSection>\n )}\n\n {error && (\n <Alert color=\"red\" styles={actionAlertStyles}>\n {error}\n </Alert>\n )}\n </Stack>\n );\n }\n\n // ── List View ──\n // Pending is the only tab that is always meaningful: the bids service removes\n // a bid from its query response as soon as it is decided, so this block only\n // ever sees undecided bids. A non-pending status here means the on-chain\n // grant and the service disagree — the grant exists but the bid was never\n // closed out — which is worth being able to look at, hence the conditional\n // tabs. They stay hidden when there is nothing in them rather than inviting a\n // click that always lands on an empty list.\n const filterTabs: { value: FilterTab; label: string }[] = [\n { value: 'pending', label: t('actionTypes.evaluateBid.flow.status.pending', { defaultValue: 'Pending' }) },\n ...(statusCounts.approved > 0 ? [{ value: 'approved' as FilterTab, label: t('actionTypes.evaluateBid.flow.status.approved', { defaultValue: 'Approved' }) }] : []),\n ...(statusCounts.rejected > 0 ? [{ value: 'rejected' as FilterTab, label: t('actionTypes.evaluateBid.flow.status.rejected', { defaultValue: 'Rejected' }) }] : []),\n ...(statusCounts.approved > 0 || statusCounts.rejected > 0\n ? [{ value: 'all' as FilterTab, label: t('actionTypes.evaluateBid.flow.status.all', { defaultValue: 'All' }) }]\n : []),\n ];\n\n return (\n <Stack gap=\"md\">\n <GroupProposalStatus editor={editor} block={block} runtime={runtime} />\n {runtime?.state !== 'awaiting_readback' && <ActAsGroupSection value={actAs} onChange={setActAs} isDisabled={isDisabled} actionLabel=\"decide this application\" />}\n {!deedDid || !collectionId ? (\n <Alert color=\"yellow\" styles={actionAlertStyles}>\n {t('actionTypes.shared.errors.configRequired', {\n defaultValue: 'Configure {{did}} and {{claimCollection}} in template mode before running this action.',\n did: 'DID',\n claimCollection: 'claim collection',\n })}\n </Alert>\n ) : (\n <>\n {/* Filter tabs */}\n <Group justify=\"space-between\" align=\"center\">\n <Group gap={0}>\n {filterTabs.map((tab) => (\n <UnstyledButton\n key={tab.value}\n onClick={() => setActiveFilter(tab.value)}\n px={12}\n py={6}\n style={{\n borderRadius: 8,\n background: activeFilter === tab.value ? 'color-mix(in srgb, var(--mantine-color-text) 10%, transparent)' : 'transparent',\n transition: 'background 150ms ease',\n }}\n >\n <Text size=\"sm\" fw={500} c={activeFilter === tab.value ? 'var(--mantine-color-text)' : 'dimmed'}>\n {tab.label}\n </Text>\n </UnstyledButton>\n ))}\n </Group>\n <Group gap={4}>\n <DownloadCsvButton onDownload={handleDownloadBidsCsv} disabled={loadingBids || bids.length === 0} label=\"Download bids CSV\" onError={setError} />\n <DownloadZipButton onDownload={handleDownloadBidsZip} disabled={loadingBids || bids.length === 0} label=\"Download bids + media (ZIP)\" onError={setError} />\n <ActionIcon variant=\"subtle\" color=\"gray\" size=\"sm\">\n <IconFilter size={16} />\n </ActionIcon>\n </Group>\n </Group>\n\n {/* Loading */}\n {loadingBids && (\n <Group gap=\"xs\" justify=\"center\" py=\"md\">\n <Loader size=\"xs\" />\n <Text size=\"xs\" c=\"dimmed\">\n {t('actionTypes.evaluateBid.flow.loadingBids', { defaultValue: 'Loading bids...' })}\n </Text>\n </Group>\n )}\n\n {/* Empty state */}\n {!loadingBids && filteredBids.length === 0 && (\n <Text size=\"sm\" c=\"dimmed\" ta=\"center\" py=\"md\">\n {bids.length === 0\n ? t('actionTypes.evaluateBid.flow.empty.allCollections', { defaultValue: 'No bids available for this collection.' })\n : t('actionTypes.evaluateBid.flow.empty.filtered', { filter: activeFilter, defaultValue: `No ${activeFilter} bids found.` })}\n </Text>\n )}\n\n {/* Bid list */}\n {filteredBids.length > 0 && (\n <Stack gap={12}>\n {filteredBids.map((bid) => {\n const status = getBidStatus(bid, t, statusContext);\n const profile = profilesByDid[bid.did];\n const displayName = profile?.displayname || bid.did || bid.address;\n const avatarLabel = (profile?.displayname || bid.did || bid.address || '?')[0]?.toUpperCase();\n return (\n <ListItemContainer key={bid.id} isChecked={false} onClick={() => setSelectedBidId(bid.id)}>\n <Group gap={16} align=\"center\" style={{ flex: 1, minWidth: 0 }}>\n {/* Avatar */}\n <Box\n style={{\n width: 32,\n height: 32,\n borderRadius: '50%',\n background: 'var(--mantine-color-neutralColor-4)',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n fontSize: 14,\n fontWeight: 500,\n color: 'var(--mantine-color-dimmed)',\n backgroundImage: profile?.avatarUrl ? `url(${profile.avatarUrl})` : undefined,\n backgroundSize: 'cover',\n backgroundPosition: 'center',\n }}\n >\n {profile?.avatarUrl ? null : avatarLabel}\n </Box>\n {/* Name + address */}\n <Stack gap={0} style={{ flex: 1, minWidth: 0 }}>\n <Text fw={500} size=\"md\" truncate style={{ lineHeight: 1.5 }}>\n {displayName}\n </Text>\n <Text size=\"xs\" c=\"dimmed\" truncate>\n {truncateAddress(bid.address)}\n </Text>\n </Stack>\n </Group>\n {/* Status + time */}\n <Stack gap={0} align=\"flex-end\" style={{ flexShrink: 0, minWidth: 80 }}>\n <Text fw={500} size=\"md\" c={status.color === 'green' ? 'green' : status.color === 'red' ? 'red' : undefined} style={{ lineHeight: 1.5 }}>\n {status.color === 'green' && <IconCheck size={14} style={{ verticalAlign: 'middle', marginRight: 2 }} />}\n {status.label}\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n {getTimeAgo(bid.created || '')}\n </Text>\n </Stack>\n </ListItemContainer>\n );\n })}\n </Stack>\n )}\n </>\n )}\n\n {error && (\n <Alert color=\"red\" styles={actionAlertStyles}>\n {error}\n </Alert>\n )}\n </Stack>\n );\n};\n"],"mappings":"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","names":["handlers"]}
|
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseEvaluateClaimActionInputs,
|
|
3
|
+
serializeEvaluateClaimActionInputs
|
|
4
|
+
} from "./chunk-DIQRZP7Z.js";
|
|
5
|
+
import {
|
|
6
|
+
formatCollectionOptionLabel
|
|
7
|
+
} from "./chunk-EKBQ7K4N.js";
|
|
8
|
+
import {
|
|
9
|
+
BasePrimaryButton
|
|
10
|
+
} from "./chunk-K74XQ4Q5.js";
|
|
11
|
+
import {
|
|
12
|
+
DataInput
|
|
13
|
+
} from "./chunk-4PONO4US.js";
|
|
14
|
+
import "./chunk-XPBKU3JX.js";
|
|
15
|
+
import {
|
|
16
|
+
BaseSelect
|
|
17
|
+
} from "./chunk-4NAFQF6V.js";
|
|
18
|
+
import "./chunk-NZ7AXA7B.js";
|
|
19
|
+
import {
|
|
20
|
+
extractSurveyAnswerSchema
|
|
21
|
+
} from "./chunk-F4PTFXZH.js";
|
|
22
|
+
import "./chunk-IH4T7V4C.js";
|
|
23
|
+
import "./chunk-PYNDJDWZ.js";
|
|
24
|
+
import "./chunk-NIXT2SBH.js";
|
|
25
|
+
import "./chunk-JIDTNKKL.js";
|
|
26
|
+
import "./chunk-JVROGQ7Q.js";
|
|
27
|
+
import "./chunk-IIIZZ4E4.js";
|
|
28
|
+
import "./chunk-HT6L7A5M.js";
|
|
29
|
+
import "./chunk-N3ORMGAI.js";
|
|
30
|
+
import "./chunk-NCSGIRRQ.js";
|
|
31
|
+
import {
|
|
32
|
+
actionAlertStyles
|
|
33
|
+
} from "./chunk-6GKJR52N.js";
|
|
34
|
+
import "./chunk-EBFFDDAS.js";
|
|
35
|
+
import {
|
|
36
|
+
useBlocknoteHandlers,
|
|
37
|
+
useTranslate
|
|
38
|
+
} from "./chunk-4DGCCXD6.js";
|
|
39
|
+
import "./chunk-7W7UUUIE.js";
|
|
40
|
+
import "./chunk-TS2LNBF2.js";
|
|
41
|
+
|
|
42
|
+
// src/mantine/blocks/action/actionTypes/evaluateClaim/EvaluateClaimConfig.tsx
|
|
43
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
44
|
+
import { Alert, Button, Group, Loader, Stack, Switch, Text } from "@mantine/core";
|
|
45
|
+
var EvaluateClaimConfig = ({ inputs, onInputsChange, editor, blockId }) => {
|
|
46
|
+
const t = useTranslate();
|
|
47
|
+
const handlers = useBlocknoteHandlers();
|
|
48
|
+
const [local, setLocal] = useState(() => parseEvaluateClaimActionInputs(inputs));
|
|
49
|
+
const [collections, setCollections] = useState([]);
|
|
50
|
+
const [loadingCollections, setLoadingCollections] = useState(false);
|
|
51
|
+
const [error, setError] = useState(null);
|
|
52
|
+
const localRef = useRef(local);
|
|
53
|
+
useEffect(() => {
|
|
54
|
+
localRef.current = local;
|
|
55
|
+
}, [local]);
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
const parsed = parseEvaluateClaimActionInputs(inputs);
|
|
58
|
+
setLocal(parsed);
|
|
59
|
+
localRef.current = parsed;
|
|
60
|
+
}, [inputs]);
|
|
61
|
+
const update = useCallback(
|
|
62
|
+
(patch) => {
|
|
63
|
+
const updated = { ...localRef.current, ...patch };
|
|
64
|
+
localRef.current = updated;
|
|
65
|
+
setLocal(updated);
|
|
66
|
+
onInputsChange(serializeEvaluateClaimActionInputs(updated));
|
|
67
|
+
},
|
|
68
|
+
[onInputsChange]
|
|
69
|
+
);
|
|
70
|
+
const [schemaLoading, setSchemaLoading] = useState(false);
|
|
71
|
+
const [schemaError, setSchemaError] = useState(null);
|
|
72
|
+
const fetchGenRef = useRef(0);
|
|
73
|
+
const materialiseSurveySchema = useCallback(
|
|
74
|
+
async (deedDid, collectionId) => {
|
|
75
|
+
if (!deedDid || !collectionId) return;
|
|
76
|
+
const gen = ++fetchGenRef.current;
|
|
77
|
+
setSchemaLoading(true);
|
|
78
|
+
setSchemaError(null);
|
|
79
|
+
try {
|
|
80
|
+
const result = await handlers.getDeedSurveyTemplate(deedDid, collectionId);
|
|
81
|
+
if (gen !== fetchGenRef.current) return;
|
|
82
|
+
const surveySchema = extractSurveyAnswerSchema(result?.surveyTemplate);
|
|
83
|
+
update({ surveyAnswersSchema: surveySchema });
|
|
84
|
+
if (surveySchema.length === 0) {
|
|
85
|
+
setSchemaError(
|
|
86
|
+
t("actionTypes.evaluateClaim.config.surveyHasNoQuestions", {
|
|
87
|
+
defaultValue: "Survey has no recognised questions \u2014 downstream blocks will only see baseline evaluation fields."
|
|
88
|
+
})
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
} catch (err) {
|
|
92
|
+
if (gen !== fetchGenRef.current) return;
|
|
93
|
+
setSchemaError(err instanceof Error ? err.message : t("actionTypes.shared.errors.surveyTemplateLoad", { defaultValue: "Failed to load survey template" }));
|
|
94
|
+
update({ surveyAnswersSchema: [] });
|
|
95
|
+
} finally {
|
|
96
|
+
if (gen === fetchGenRef.current) setSchemaLoading(false);
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
[handlers, update]
|
|
100
|
+
);
|
|
101
|
+
useEffect(() => {
|
|
102
|
+
if (local.deedDid.trim() && local.collectionId && local.surveyAnswersSchema.length === 0 && !schemaLoading) {
|
|
103
|
+
void materialiseSurveySchema(local.deedDid.trim(), local.collectionId);
|
|
104
|
+
}
|
|
105
|
+
}, [local.deedDid, local.collectionId]);
|
|
106
|
+
const fetchCollections = useCallback(async () => {
|
|
107
|
+
const deedDid = local.deedDid.trim();
|
|
108
|
+
if (!deedDid) {
|
|
109
|
+
setError(t("actionTypes.shared.errors.didRequired", { defaultValue: "Please enter a {{did}} first", did: "DID" }));
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
const persisted = { ...local, deedDid };
|
|
113
|
+
setLocal(persisted);
|
|
114
|
+
onInputsChange(serializeEvaluateClaimActionInputs(persisted));
|
|
115
|
+
setLoadingCollections(true);
|
|
116
|
+
setError(null);
|
|
117
|
+
try {
|
|
118
|
+
const response = await handlers.getClaimCollections(deedDid);
|
|
119
|
+
const fetched = response?.collections || [];
|
|
120
|
+
setCollections(fetched);
|
|
121
|
+
if (fetched.length === 0) {
|
|
122
|
+
setError(
|
|
123
|
+
t("actionTypes.shared.errors.noCollections", { defaultValue: "No {{claimCollections}} found for this {{did}}", claimCollections: "claim collections", did: "DID" })
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
} catch (err) {
|
|
127
|
+
setCollections([]);
|
|
128
|
+
setError(
|
|
129
|
+
err instanceof Error ? err.message : t("actionTypes.shared.errors.fetchCollections", { defaultValue: "Failed to fetch {{claimCollections}}", claimCollections: "claim collections" })
|
|
130
|
+
);
|
|
131
|
+
} finally {
|
|
132
|
+
setLoadingCollections(false);
|
|
133
|
+
}
|
|
134
|
+
}, [handlers, local, onInputsChange, update]);
|
|
135
|
+
useEffect(() => {
|
|
136
|
+
if (local.deedDid.trim() && local.collectionId && collections.length === 0 && !loadingCollections) {
|
|
137
|
+
void fetchCollections();
|
|
138
|
+
}
|
|
139
|
+
}, [local.deedDid, local.collectionId]);
|
|
140
|
+
const unlistedCollectionId = local.collectionId && collections.length > 0 && !collections.some((c) => c.id === local.collectionId) ? local.collectionId : "";
|
|
141
|
+
const collectionOptions = useMemo(() => {
|
|
142
|
+
const options = collections.map((collection) => ({
|
|
143
|
+
value: collection.id,
|
|
144
|
+
label: formatCollectionOptionLabel(collection)
|
|
145
|
+
}));
|
|
146
|
+
if (unlistedCollectionId) options.unshift({ value: unlistedCollectionId, label: `#${unlistedCollectionId}` });
|
|
147
|
+
return options;
|
|
148
|
+
}, [collections, unlistedCollectionId]);
|
|
149
|
+
const updateXeroDefaults = useCallback(
|
|
150
|
+
(patch) => {
|
|
151
|
+
update({ xeroInvoiceDefaults: { ...localRef.current.xeroInvoiceDefaults, ...patch } });
|
|
152
|
+
},
|
|
153
|
+
[update]
|
|
154
|
+
);
|
|
155
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(
|
|
156
|
+
DataInput,
|
|
157
|
+
{
|
|
158
|
+
label: "DID",
|
|
159
|
+
placeholder: t("actionTypes.shared.didPlaceholder", { defaultValue: "Enter deed {{did}}", did: "DID" }),
|
|
160
|
+
description: t("actionTypes.shared.didDescription", {
|
|
161
|
+
defaultValue: "The {{did}} identifier for fetching {{claimCollections}}.",
|
|
162
|
+
did: "DID",
|
|
163
|
+
claimCollections: "claim collections"
|
|
164
|
+
}),
|
|
165
|
+
value: local.deedDid,
|
|
166
|
+
onChange: (value) => update({ deedDid: value }),
|
|
167
|
+
editorDocument: editor?.document || [],
|
|
168
|
+
currentBlockId: blockId,
|
|
169
|
+
required: true
|
|
170
|
+
}
|
|
171
|
+
), /* @__PURE__ */ React.createElement(
|
|
172
|
+
Button,
|
|
173
|
+
{
|
|
174
|
+
size: "xs",
|
|
175
|
+
variant: "subtle",
|
|
176
|
+
onClick: () => {
|
|
177
|
+
const entityDid = handlers.getEntityDid();
|
|
178
|
+
if (entityDid) update({ deedDid: entityDid });
|
|
179
|
+
}
|
|
180
|
+
},
|
|
181
|
+
t("actionTypes.shared.useCurrentEntity", { defaultValue: "Use Current {{entity}}", entity: "Entity" })
|
|
182
|
+
), /* @__PURE__ */ React.createElement(BasePrimaryButton, { onClick: fetchCollections, disabled: !local.deedDid.trim() || loadingCollections }, loadingCollections ? /* @__PURE__ */ React.createElement(Loader, { size: "xs", color: "dark" }) : t("actionTypes.shared.getCollections", { defaultValue: "Get {{collections}}", collections: "Collections" })), error && /* @__PURE__ */ React.createElement(Alert, { color: "red", styles: actionAlertStyles }, error), unlistedCollectionId && /* @__PURE__ */ React.createElement(Alert, { color: "yellow", styles: actionAlertStyles }, t("actionTypes.shared.errors.collectionNotListed", {
|
|
183
|
+
defaultValue: "Saved collection #{{collectionId}} was not returned for this {{did}}. It has been kept \u2014 re-check the {{did}} or pick another collection to change it.",
|
|
184
|
+
collectionId: unlistedCollectionId,
|
|
185
|
+
did: "DID"
|
|
186
|
+
})), collectionOptions.length > 0 && /* @__PURE__ */ React.createElement(
|
|
187
|
+
BaseSelect,
|
|
188
|
+
{
|
|
189
|
+
label: "Claim Collection",
|
|
190
|
+
placeholder: t("actionTypes.shared.collectionPlaceholder", { defaultValue: "Select a collection" }),
|
|
191
|
+
value: local.collectionId || null,
|
|
192
|
+
onChange: (value) => {
|
|
193
|
+
const next = value || "";
|
|
194
|
+
update({ collectionId: next, surveyAnswersSchema: [] });
|
|
195
|
+
},
|
|
196
|
+
data: collectionOptions,
|
|
197
|
+
required: true,
|
|
198
|
+
searchable: true
|
|
199
|
+
}
|
|
200
|
+
), local.collectionId && /* @__PURE__ */ React.createElement(Stack, { gap: 4 }, schemaLoading && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, t("actionTypes.shared.loadingSurveySchema", { defaultValue: "Loading survey schema..." })), !schemaLoading && local.surveyAnswersSchema.length > 0 && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, t("actionTypes.evaluateClaim.config.outputsPrefix", { defaultValue: "Outputs" }), " ", /* @__PURE__ */ React.createElement("code", null, "surveyAnswers"), " ", t("actionTypes.evaluateClaim.config.outputsWith", { defaultValue: "with" }), " ", local.surveyAnswersSchema.length, " ", t("actionTypes.evaluateClaim.config.typedField", {
|
|
201
|
+
count: local.surveyAnswersSchema.length,
|
|
202
|
+
defaultValue: local.surveyAnswersSchema.length === 1 ? "typed field" : "typed fields"
|
|
203
|
+
}), ". ", t("actionTypes.evaluateClaim.config.listenerBlocksCanReference", { defaultValue: "Listener blocks can reference" }), " ", /* @__PURE__ */ React.createElement("code", null, "$", "{", "thisBlock.output.surveyAnswers.<field>", "}"), "."), schemaError && /* @__PURE__ */ React.createElement(Alert, { color: "yellow", styles: actionAlertStyles }, schemaError)), local.collectionId && /* @__PURE__ */ React.createElement(Stack, { gap: "xs" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600, mt: "md" }, t("actionTypes.evaluateClaim.config.xeroSectionTitle", { defaultValue: "{{xero}} bookkeeping (optional)", xero: "Xero" })), /* @__PURE__ */ React.createElement(
|
|
204
|
+
Switch,
|
|
205
|
+
{
|
|
206
|
+
label: t("actionTypes.evaluateClaim.config.xeroOracleInvoiceOnApprove", { defaultValue: "{{xero}} oracle invoice on approval", xero: "Xero" }),
|
|
207
|
+
description: t("actionTypes.evaluateClaim.config.xeroOracleInvoiceOnApproveDescription", {
|
|
208
|
+
defaultValue: "Create a {{xero}} draft invoice via the contracted {{xero}}-oracle when a claim is approved.",
|
|
209
|
+
xero: "Xero"
|
|
210
|
+
}),
|
|
211
|
+
checked: local.xeroOracleInvoiceOnApprove,
|
|
212
|
+
onChange: (event) => update({ xeroOracleInvoiceOnApprove: event.currentTarget.checked })
|
|
213
|
+
}
|
|
214
|
+
), local.xeroOracleInvoiceOnApprove && /* @__PURE__ */ React.createElement(Stack, { gap: "xs", mt: 4 }, /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, t("actionTypes.evaluateClaim.config.xeroInvoiceDefaultsDescription", {
|
|
215
|
+
defaultValue: "Optional invoice defaults pinned into the oracle payload. Anything left empty is extracted from the claim material; Status defaults to Draft."
|
|
216
|
+
})), /* @__PURE__ */ React.createElement(Group, { grow: true }, /* @__PURE__ */ React.createElement(
|
|
217
|
+
BaseSelect,
|
|
218
|
+
{
|
|
219
|
+
label: t("actionTypes.evaluateClaim.config.xeroInvoiceType", { defaultValue: "Type" }),
|
|
220
|
+
data: [
|
|
221
|
+
{ value: "ACCREC", label: "Sale (ACCREC)" },
|
|
222
|
+
{ value: "ACCPAY", label: "Bill (ACCPAY)" }
|
|
223
|
+
],
|
|
224
|
+
value: local.xeroInvoiceDefaults.Type || "ACCREC",
|
|
225
|
+
onChange: (value) => updateXeroDefaults({ Type: value || "ACCREC" })
|
|
226
|
+
}
|
|
227
|
+
), /* @__PURE__ */ React.createElement(
|
|
228
|
+
BaseSelect,
|
|
229
|
+
{
|
|
230
|
+
label: t("actionTypes.evaluateClaim.config.xeroInvoiceStatus", { defaultValue: "Status" }),
|
|
231
|
+
data: [
|
|
232
|
+
{ value: "DRAFT", label: "Draft" },
|
|
233
|
+
{ value: "SUBMITTED", label: "Submitted" }
|
|
234
|
+
],
|
|
235
|
+
value: local.xeroInvoiceDefaults.Status || "DRAFT",
|
|
236
|
+
onChange: (value) => updateXeroDefaults({ Status: value || "DRAFT" })
|
|
237
|
+
}
|
|
238
|
+
)), /* @__PURE__ */ React.createElement(Group, { grow: true }, /* @__PURE__ */ React.createElement(
|
|
239
|
+
DataInput,
|
|
240
|
+
{
|
|
241
|
+
label: t("actionTypes.evaluateClaim.config.xeroCurrencyCode", { defaultValue: "Currency (optional)" }),
|
|
242
|
+
placeholder: "USD",
|
|
243
|
+
value: local.xeroInvoiceDefaults.CurrencyCode,
|
|
244
|
+
onChange: (value) => updateXeroDefaults({ CurrencyCode: value }),
|
|
245
|
+
editorDocument: editor?.document || [],
|
|
246
|
+
currentBlockId: blockId
|
|
247
|
+
}
|
|
248
|
+
), /* @__PURE__ */ React.createElement(
|
|
249
|
+
DataInput,
|
|
250
|
+
{
|
|
251
|
+
label: t("actionTypes.evaluateClaim.config.xeroTenantId", { defaultValue: "{{xero}} org (optional)", xero: "Xero" }),
|
|
252
|
+
value: local.xeroInvoiceDefaults.tenant_id,
|
|
253
|
+
onChange: (value) => updateXeroDefaults({ tenant_id: value }),
|
|
254
|
+
editorDocument: editor?.document || [],
|
|
255
|
+
currentBlockId: blockId
|
|
256
|
+
}
|
|
257
|
+
)), /* @__PURE__ */ React.createElement(Group, { grow: true }, /* @__PURE__ */ React.createElement(
|
|
258
|
+
DataInput,
|
|
259
|
+
{
|
|
260
|
+
label: t("actionTypes.evaluateClaim.config.xeroContactId", { defaultValue: "Contact ID (optional)" }),
|
|
261
|
+
description: t("actionTypes.evaluateClaim.config.xeroContactIdDescription", {
|
|
262
|
+
defaultValue: "{{xero}} ContactID (UUID). Preferred over Contact name.",
|
|
263
|
+
xero: "Xero"
|
|
264
|
+
}),
|
|
265
|
+
value: local.xeroInvoiceDefaults.ContactID,
|
|
266
|
+
onChange: (value) => updateXeroDefaults({ ContactID: value }),
|
|
267
|
+
editorDocument: editor?.document || [],
|
|
268
|
+
currentBlockId: blockId
|
|
269
|
+
}
|
|
270
|
+
), /* @__PURE__ */ React.createElement(
|
|
271
|
+
DataInput,
|
|
272
|
+
{
|
|
273
|
+
label: t("actionTypes.evaluateClaim.config.xeroContactName", { defaultValue: "Contact name (optional)" }),
|
|
274
|
+
value: local.xeroInvoiceDefaults.ContactName,
|
|
275
|
+
onChange: (value) => updateXeroDefaults({ ContactName: value }),
|
|
276
|
+
editorDocument: editor?.document || [],
|
|
277
|
+
currentBlockId: blockId
|
|
278
|
+
}
|
|
279
|
+
)), /* @__PURE__ */ React.createElement(Group, { grow: true }, /* @__PURE__ */ React.createElement(
|
|
280
|
+
DataInput,
|
|
281
|
+
{
|
|
282
|
+
label: t("actionTypes.evaluateClaim.config.xeroAccountCode", { defaultValue: "Account code (optional)" }),
|
|
283
|
+
description: t("actionTypes.evaluateClaim.config.xeroAccountCodeDescription", {
|
|
284
|
+
defaultValue: "Chart-of-accounts code applied to every invoice line. Defaults to 200 (Sales)."
|
|
285
|
+
}),
|
|
286
|
+
placeholder: "200",
|
|
287
|
+
value: local.xeroInvoiceDefaults.AccountCode,
|
|
288
|
+
onChange: (value) => updateXeroDefaults({ AccountCode: value }),
|
|
289
|
+
editorDocument: editor?.document || [],
|
|
290
|
+
currentBlockId: blockId
|
|
291
|
+
}
|
|
292
|
+
)))));
|
|
293
|
+
};
|
|
294
|
+
export {
|
|
295
|
+
EvaluateClaimConfig
|
|
296
|
+
};
|
|
297
|
+
//# sourceMappingURL=EvaluateClaimConfig-3D4F5LHU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/evaluateClaim/EvaluateClaimConfig.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { Alert, Button, Group, Loader, Stack, Switch, Text } from '@mantine/core';\nimport { DataInput } from '@/mantine/components/DataInput';\nimport BaseSelect from '@/mantine/components/Base/BaseSelect';\nimport BasePrimaryButton from '@/mantine/components/Base/BasePrimaryButton';\nimport type { ActionTypeConfigProps } from '../../actionTypeUI';\nimport { parseEvaluateClaimActionInputs, serializeEvaluateClaimActionInputs, type EvaluateClaimActionInputs, type XeroInvoiceDefaultsInputs } from './types';\nimport { useBlocknoteHandlers, useTranslate, type ClaimCollection } from '@/mantine/context/BlocknoteContext';\nimport { actionAlertStyles } from '../../alertStyles';\nimport { formatCollectionOptionLabel } from '../../collectionLabel';\nimport { extractSurveyAnswerSchema } from '@/core/lib/actionRegistry/actions/claim/surveySchema';\n\nexport const EvaluateClaimConfig: React.FC<ActionTypeConfigProps> = ({ inputs, onInputsChange, editor, blockId }) => {\n const t = useTranslate();\n const handlers = useBlocknoteHandlers();\n const [local, setLocal] = useState<EvaluateClaimActionInputs>(() => parseEvaluateClaimActionInputs(inputs));\n const [collections, setCollections] = useState<ClaimCollection[]>([]);\n const [loadingCollections, setLoadingCollections] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n // Mirrors `local` so async fetch callbacks merge against the freshest state\n // — without this, a survey fetch resolving after the user switches\n // collections would clobber the new collectionId. Same trick as ClaimConfig.\n const localRef = useRef(local);\n useEffect(() => {\n localRef.current = local;\n }, [local]);\n\n useEffect(() => {\n const parsed = parseEvaluateClaimActionInputs(inputs);\n setLocal(parsed);\n localRef.current = parsed;\n }, [inputs]);\n\n const update = useCallback(\n (patch: Partial<EvaluateClaimActionInputs>) => {\n const updated = { ...localRef.current, ...patch };\n localRef.current = updated;\n setLocal(updated);\n onInputsChange(serializeEvaluateClaimActionInputs(updated));\n },\n [onInputsChange]\n );\n\n const [schemaLoading, setSchemaLoading] = useState(false);\n const [schemaError, setSchemaError] = useState<string | null>(null);\n // Generation counter — discards results from stale fetches when the user\n // switches collection mid-flight.\n const fetchGenRef = useRef(0);\n\n /**\n * Fetch the survey template for the picked collection and materialise its\n * answer schema into inputs. Drives the dynamic outputSchema so downstream\n * blocks can reference `${evalBlock.output.surveyAnswers.<field>}`.\n */\n const materialiseSurveySchema = useCallback(\n async (deedDid: string, collectionId: string) => {\n if (!deedDid || !collectionId) return;\n const gen = ++fetchGenRef.current;\n setSchemaLoading(true);\n setSchemaError(null);\n try {\n const result = await handlers.getDeedSurveyTemplate(deedDid, collectionId);\n if (gen !== fetchGenRef.current) return;\n const surveySchema = extractSurveyAnswerSchema(result?.surveyTemplate);\n update({ surveyAnswersSchema: surveySchema });\n if (surveySchema.length === 0) {\n setSchemaError(\n t('actionTypes.evaluateClaim.config.surveyHasNoQuestions', {\n defaultValue: 'Survey has no recognised questions — downstream blocks will only see baseline evaluation fields.',\n })\n );\n }\n } catch (err) {\n if (gen !== fetchGenRef.current) return;\n setSchemaError(err instanceof Error ? err.message : t('actionTypes.shared.errors.surveyTemplateLoad', { defaultValue: 'Failed to load survey template' }));\n update({ surveyAnswersSchema: [] });\n } finally {\n if (gen === fetchGenRef.current) setSchemaLoading(false);\n }\n },\n [handlers, update]\n );\n\n // Auto-materialise when a collection is set but no schema has been\n // persisted yet (covers freshly-loaded blocks and prior-fetch failures).\n useEffect(() => {\n if (local.deedDid.trim() && local.collectionId && local.surveyAnswersSchema.length === 0 && !schemaLoading) {\n void materialiseSurveySchema(local.deedDid.trim(), local.collectionId);\n }\n }, [local.deedDid, local.collectionId]);\n\n const fetchCollections = useCallback(async () => {\n const deedDid = local.deedDid.trim();\n if (!deedDid) {\n setError(t('actionTypes.shared.errors.didRequired', { defaultValue: 'Please enter a {{did}} first', did: 'DID' }));\n return;\n }\n\n const persisted = { ...local, deedDid };\n setLocal(persisted);\n onInputsChange(serializeEvaluateClaimActionInputs(persisted));\n\n setLoadingCollections(true);\n setError(null);\n try {\n const response = await handlers.getClaimCollections(deedDid);\n const fetched = response?.collections || [];\n setCollections(fetched);\n\n if (fetched.length === 0) {\n setError(\n t('actionTypes.shared.errors.noCollections', { defaultValue: 'No {{claimCollections}} found for this {{did}}', claimCollections: 'claim collections', did: 'DID' })\n );\n }\n\n // Deliberately NOT clearing `collectionId` when the fetched list does not\n // contain it. A read that comes back short — indexer lag, a paginated\n // response, a transient empty result — is not evidence the saved\n // collection is gone, and this fetch auto-runs on every panel open. The\n // id is kept and the mismatch surfaced (`unlistedCollectionId`) so the\n // author decides, instead of silently destroying saved configuration.\n } catch (err) {\n setCollections([]);\n setError(\n err instanceof Error\n ? err.message\n : t('actionTypes.shared.errors.fetchCollections', { defaultValue: 'Failed to fetch {{claimCollections}}', claimCollections: 'claim collections' })\n );\n } finally {\n setLoadingCollections(false);\n }\n }, [handlers, local, onInputsChange, update]);\n\n // On open, auto-load the collection list when one is already chosen so the\n // saved selection is visible. The id persists in inputs but the options are\n // fetched (not stored) — without this the dropdown stays hidden on reopen and\n // the step looks unconfigured.\n useEffect(() => {\n if (local.deedDid.trim() && local.collectionId && collections.length === 0 && !loadingCollections) {\n void fetchCollections();\n }\n }, [local.deedDid, local.collectionId]);\n\n // The saved collection is configured but absent from the fetched list. Kept\n // (never auto-cleared) and shown as a selectable option so the picker still\n // reflects the real saved value.\n const unlistedCollectionId = local.collectionId && collections.length > 0 && !collections.some((c) => c.id === local.collectionId) ? local.collectionId : '';\n\n const collectionOptions = useMemo(() => {\n const options = collections.map((collection) => ({\n value: collection.id,\n label: formatCollectionOptionLabel(collection),\n }));\n if (unlistedCollectionId) options.unshift({ value: unlistedCollectionId, label: `#${unlistedCollectionId}` });\n return options;\n }, [collections, unlistedCollectionId]);\n\n const updateXeroDefaults = useCallback(\n (patch: Partial<XeroInvoiceDefaultsInputs>) => {\n update({ xeroInvoiceDefaults: { ...localRef.current.xeroInvoiceDefaults, ...patch } });\n },\n [update]\n );\n\n return (\n <Stack gap=\"md\">\n <DataInput\n label=\"DID\"\n placeholder={t('actionTypes.shared.didPlaceholder', { defaultValue: 'Enter deed {{did}}', did: 'DID' })}\n description={t('actionTypes.shared.didDescription', {\n defaultValue: 'The {{did}} identifier for fetching {{claimCollections}}.',\n did: 'DID',\n claimCollections: 'claim collections',\n })}\n value={local.deedDid}\n onChange={(value) => update({ deedDid: value })}\n editorDocument={editor?.document || []}\n currentBlockId={blockId}\n required\n />\n\n <Button\n size=\"xs\"\n variant=\"subtle\"\n onClick={() => {\n const entityDid = handlers.getEntityDid();\n if (entityDid) update({ deedDid: entityDid });\n }}\n >\n {t('actionTypes.shared.useCurrentEntity', { defaultValue: 'Use Current {{entity}}', entity: 'Entity' })}\n </Button>\n\n <BasePrimaryButton onClick={fetchCollections} disabled={!local.deedDid.trim() || loadingCollections}>\n {loadingCollections ? <Loader size=\"xs\" color=\"dark\" /> : t('actionTypes.shared.getCollections', { defaultValue: 'Get {{collections}}', collections: 'Collections' })}\n </BasePrimaryButton>\n\n {error && (\n <Alert color=\"red\" styles={actionAlertStyles}>\n {error}\n </Alert>\n )}\n\n {unlistedCollectionId && (\n <Alert color=\"yellow\" styles={actionAlertStyles}>\n {t('actionTypes.shared.errors.collectionNotListed', {\n defaultValue: 'Saved collection #{{collectionId}} was not returned for this {{did}}. It has been kept — re-check the {{did}} or pick another collection to change it.',\n collectionId: unlistedCollectionId,\n did: 'DID',\n })}\n </Alert>\n )}\n\n {collectionOptions.length > 0 && (\n <BaseSelect\n label=\"Claim Collection\"\n placeholder={t('actionTypes.shared.collectionPlaceholder', { defaultValue: 'Select a collection' })}\n value={local.collectionId || null}\n onChange={(value) => {\n const next = value || '';\n // Clear the stale schema; the auto-materialise effect picks up\n // the new collection and refetches.\n update({ collectionId: next, surveyAnswersSchema: [] });\n }}\n data={collectionOptions}\n required\n searchable\n />\n )}\n\n {local.collectionId && (\n <Stack gap={4}>\n {schemaLoading && (\n <Text size=\"xs\" c=\"dimmed\">\n {t('actionTypes.shared.loadingSurveySchema', { defaultValue: 'Loading survey schema...' })}\n </Text>\n )}\n {!schemaLoading && local.surveyAnswersSchema.length > 0 && (\n <Text size=\"xs\" c=\"dimmed\">\n {t('actionTypes.evaluateClaim.config.outputsPrefix', { defaultValue: 'Outputs' })} <code>surveyAnswers</code>{' '}\n {t('actionTypes.evaluateClaim.config.outputsWith', { defaultValue: 'with' })} {local.surveyAnswersSchema.length}{' '}\n {t('actionTypes.evaluateClaim.config.typedField', {\n count: local.surveyAnswersSchema.length,\n defaultValue: local.surveyAnswersSchema.length === 1 ? 'typed field' : 'typed fields',\n })}\n . {t('actionTypes.evaluateClaim.config.listenerBlocksCanReference', { defaultValue: 'Listener blocks can reference' })}{' '}\n <code>\n ${'{'}thisBlock.output.surveyAnswers.<field>{'}'}\n </code>\n .\n </Text>\n )}\n {schemaError && (\n <Alert color=\"yellow\" styles={actionAlertStyles}>\n {schemaError}\n </Alert>\n )}\n </Stack>\n )}\n\n {local.collectionId && (\n <Stack gap=\"xs\">\n <Text size=\"sm\" fw={600} mt=\"md\">\n {t('actionTypes.evaluateClaim.config.xeroSectionTitle', { defaultValue: '{{xero}} bookkeeping (optional)', xero: 'Xero' })}\n </Text>\n <Switch\n label={t('actionTypes.evaluateClaim.config.xeroOracleInvoiceOnApprove', { defaultValue: '{{xero}} oracle invoice on approval', xero: 'Xero' })}\n description={t('actionTypes.evaluateClaim.config.xeroOracleInvoiceOnApproveDescription', {\n defaultValue: 'Create a {{xero}} draft invoice via the contracted {{xero}}-oracle when a claim is approved.',\n xero: 'Xero',\n })}\n checked={local.xeroOracleInvoiceOnApprove}\n onChange={(event) => update({ xeroOracleInvoiceOnApprove: event.currentTarget.checked })}\n />\n {local.xeroOracleInvoiceOnApprove && (\n <Stack gap=\"xs\" mt={4}>\n <Text size=\"xs\" c=\"dimmed\">\n {t('actionTypes.evaluateClaim.config.xeroInvoiceDefaultsDescription', {\n defaultValue: 'Optional invoice defaults pinned into the oracle payload. Anything left empty is extracted from the claim material; Status defaults to Draft.',\n })}\n </Text>\n <Group grow>\n <BaseSelect\n label={t('actionTypes.evaluateClaim.config.xeroInvoiceType', { defaultValue: 'Type' })}\n data={[\n { value: 'ACCREC', label: 'Sale (ACCREC)' },\n { value: 'ACCPAY', label: 'Bill (ACCPAY)' },\n ]}\n value={local.xeroInvoiceDefaults.Type || 'ACCREC'}\n onChange={(value) => updateXeroDefaults({ Type: value || 'ACCREC' })}\n />\n <BaseSelect\n label={t('actionTypes.evaluateClaim.config.xeroInvoiceStatus', { defaultValue: 'Status' })}\n data={[\n { value: 'DRAFT', label: 'Draft' },\n { value: 'SUBMITTED', label: 'Submitted' },\n ]}\n value={local.xeroInvoiceDefaults.Status || 'DRAFT'}\n onChange={(value) => updateXeroDefaults({ Status: value || 'DRAFT' })}\n />\n </Group>\n <Group grow>\n <DataInput\n label={t('actionTypes.evaluateClaim.config.xeroCurrencyCode', { defaultValue: 'Currency (optional)' })}\n placeholder=\"USD\"\n value={local.xeroInvoiceDefaults.CurrencyCode}\n onChange={(value) => updateXeroDefaults({ CurrencyCode: value })}\n editorDocument={editor?.document || []}\n currentBlockId={blockId}\n />\n <DataInput\n label={t('actionTypes.evaluateClaim.config.xeroTenantId', { defaultValue: '{{xero}} org (optional)', xero: 'Xero' })}\n value={local.xeroInvoiceDefaults.tenant_id}\n onChange={(value) => updateXeroDefaults({ tenant_id: value })}\n editorDocument={editor?.document || []}\n currentBlockId={blockId}\n />\n </Group>\n <Group grow>\n <DataInput\n label={t('actionTypes.evaluateClaim.config.xeroContactId', { defaultValue: 'Contact ID (optional)' })}\n description={t('actionTypes.evaluateClaim.config.xeroContactIdDescription', {\n defaultValue: '{{xero}} ContactID (UUID). Preferred over Contact name.',\n xero: 'Xero',\n })}\n value={local.xeroInvoiceDefaults.ContactID}\n onChange={(value) => updateXeroDefaults({ ContactID: value })}\n editorDocument={editor?.document || []}\n currentBlockId={blockId}\n />\n <DataInput\n label={t('actionTypes.evaluateClaim.config.xeroContactName', { defaultValue: 'Contact name (optional)' })}\n value={local.xeroInvoiceDefaults.ContactName}\n onChange={(value) => updateXeroDefaults({ ContactName: value })}\n editorDocument={editor?.document || []}\n currentBlockId={blockId}\n />\n </Group>\n <Group grow>\n <DataInput\n label={t('actionTypes.evaluateClaim.config.xeroAccountCode', { defaultValue: 'Account code (optional)' })}\n description={t('actionTypes.evaluateClaim.config.xeroAccountCodeDescription', {\n defaultValue: 'Chart-of-accounts code applied to every invoice line. Defaults to 200 (Sales).',\n })}\n placeholder=\"200\"\n value={local.xeroInvoiceDefaults.AccountCode}\n onChange={(value) => updateXeroDefaults({ AccountCode: value })}\n editorDocument={editor?.document || []}\n currentBlockId={blockId}\n />\n </Group>\n </Stack>\n )}\n </Stack>\n )}\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
|