@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,133 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseCalendarEventUpdateInputs,
|
|
3
|
+
serializeCalendarEventUpdateInputs
|
|
4
|
+
} from "./chunk-SHBFGRPV.js";
|
|
5
|
+
import {
|
|
6
|
+
ConnectionSelector
|
|
7
|
+
} from "./chunk-VRZ5LMOW.js";
|
|
8
|
+
import "./chunk-K74XQ4Q5.js";
|
|
9
|
+
import {
|
|
10
|
+
DataInput
|
|
11
|
+
} from "./chunk-4PONO4US.js";
|
|
12
|
+
import "./chunk-XPBKU3JX.js";
|
|
13
|
+
import {
|
|
14
|
+
BaseSelect
|
|
15
|
+
} from "./chunk-4NAFQF6V.js";
|
|
16
|
+
import "./chunk-NZ7AXA7B.js";
|
|
17
|
+
import "./chunk-F4PTFXZH.js";
|
|
18
|
+
import "./chunk-IH4T7V4C.js";
|
|
19
|
+
import "./chunk-PYNDJDWZ.js";
|
|
20
|
+
import "./chunk-NIXT2SBH.js";
|
|
21
|
+
import "./chunk-JIDTNKKL.js";
|
|
22
|
+
import "./chunk-JVROGQ7Q.js";
|
|
23
|
+
import "./chunk-IIIZZ4E4.js";
|
|
24
|
+
import "./chunk-HT6L7A5M.js";
|
|
25
|
+
import "./chunk-N3ORMGAI.js";
|
|
26
|
+
import "./chunk-NCSGIRRQ.js";
|
|
27
|
+
import "./chunk-6GKJR52N.js";
|
|
28
|
+
import "./chunk-EBFFDDAS.js";
|
|
29
|
+
import "./chunk-4DGCCXD6.js";
|
|
30
|
+
import "./chunk-7W7UUUIE.js";
|
|
31
|
+
import "./chunk-TS2LNBF2.js";
|
|
32
|
+
|
|
33
|
+
// src/mantine/blocks/action/actionTypes/calendar/eventUpdate/CalendarEventUpdateConfig.tsx
|
|
34
|
+
import React, { useCallback, useEffect, useState } from "react";
|
|
35
|
+
import { Divider, Stack, Text } from "@mantine/core";
|
|
36
|
+
var CalendarEventUpdateConfig = ({ inputs, onInputsChange, editor, blockId }) => {
|
|
37
|
+
const [local, setLocal] = useState(() => parseCalendarEventUpdateInputs(inputs));
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
setLocal(parseCalendarEventUpdateInputs(inputs));
|
|
40
|
+
}, [inputs]);
|
|
41
|
+
const update = useCallback(
|
|
42
|
+
(patch) => {
|
|
43
|
+
const updated = { ...local, ...patch };
|
|
44
|
+
setLocal(updated);
|
|
45
|
+
onInputsChange(serializeCalendarEventUpdateInputs(updated));
|
|
46
|
+
},
|
|
47
|
+
[local, onInputsChange]
|
|
48
|
+
);
|
|
49
|
+
const editorDocument = editor?.document || [];
|
|
50
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "lg" }, /* @__PURE__ */ React.createElement(ConnectionSelector, { toolkit: "googlecalendar", toolkitLabel: "Calendar", value: local.connection, onChange: (connection) => update({ connection }) }), /* @__PURE__ */ React.createElement(Divider, { variant: "dashed" }), /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "Target event"), /* @__PURE__ */ React.createElement(
|
|
51
|
+
DataInput,
|
|
52
|
+
{
|
|
53
|
+
label: "Event ID",
|
|
54
|
+
description: "Reference an upstream list/create block or paste a Google Calendar event ID.",
|
|
55
|
+
placeholder: "${listEvents.firstId} or an event ID",
|
|
56
|
+
value: local.event_id,
|
|
57
|
+
onChange: (value) => update({ event_id: value }),
|
|
58
|
+
editorDocument,
|
|
59
|
+
currentBlockId: blockId,
|
|
60
|
+
required: true
|
|
61
|
+
}
|
|
62
|
+
), /* @__PURE__ */ React.createElement(
|
|
63
|
+
DataInput,
|
|
64
|
+
{
|
|
65
|
+
label: "Calendar",
|
|
66
|
+
placeholder: "primary",
|
|
67
|
+
value: local.calendar_id,
|
|
68
|
+
onChange: (value) => update({ calendar_id: value }),
|
|
69
|
+
editorDocument,
|
|
70
|
+
currentBlockId: blockId
|
|
71
|
+
}
|
|
72
|
+
)), /* @__PURE__ */ React.createElement(Divider, { variant: "dashed" }), /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(Text, { size: "sm", fw: 600 }, "New values"), /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "Calendar's update tool is a full replacement \u2014 any field left blank will be cleared on the event."), /* @__PURE__ */ React.createElement(DataInput, { label: "Title", value: local.summary, onChange: (value) => update({ summary: value }), editorDocument, currentBlockId: blockId }), /* @__PURE__ */ React.createElement(DataInput, { label: "Description", value: local.description, onChange: (value) => update({ description: value }), editorDocument, currentBlockId: blockId }), /* @__PURE__ */ React.createElement(DataInput, { label: "Location", value: local.location, onChange: (value) => update({ location: value }), editorDocument, currentBlockId: blockId }), /* @__PURE__ */ React.createElement(
|
|
73
|
+
DataInput,
|
|
74
|
+
{
|
|
75
|
+
label: "Start time",
|
|
76
|
+
description: "ISO 8601 (required)",
|
|
77
|
+
placeholder: "2026-05-12T09:00:00",
|
|
78
|
+
value: local.start_datetime,
|
|
79
|
+
onChange: (value) => update({ start_datetime: value }),
|
|
80
|
+
editorDocument,
|
|
81
|
+
currentBlockId: blockId,
|
|
82
|
+
required: true
|
|
83
|
+
}
|
|
84
|
+
), /* @__PURE__ */ React.createElement(
|
|
85
|
+
DataInput,
|
|
86
|
+
{
|
|
87
|
+
label: "End time",
|
|
88
|
+
placeholder: "2026-05-12T10:00:00",
|
|
89
|
+
value: local.end_datetime,
|
|
90
|
+
onChange: (value) => update({ end_datetime: value }),
|
|
91
|
+
editorDocument,
|
|
92
|
+
currentBlockId: blockId
|
|
93
|
+
}
|
|
94
|
+
), /* @__PURE__ */ React.createElement(
|
|
95
|
+
DataInput,
|
|
96
|
+
{
|
|
97
|
+
label: "Timezone",
|
|
98
|
+
placeholder: "Europe/London",
|
|
99
|
+
value: local.timezone,
|
|
100
|
+
onChange: (value) => update({ timezone: value }),
|
|
101
|
+
editorDocument,
|
|
102
|
+
currentBlockId: blockId
|
|
103
|
+
}
|
|
104
|
+
), /* @__PURE__ */ React.createElement(
|
|
105
|
+
DataInput,
|
|
106
|
+
{
|
|
107
|
+
label: "Attendees",
|
|
108
|
+
description: "Comma-separated emails or a JSON array",
|
|
109
|
+
value: local.attendees,
|
|
110
|
+
onChange: (value) => update({ attendees: value }),
|
|
111
|
+
editorDocument,
|
|
112
|
+
currentBlockId: blockId
|
|
113
|
+
}
|
|
114
|
+
), /* @__PURE__ */ React.createElement(
|
|
115
|
+
BaseSelect,
|
|
116
|
+
{
|
|
117
|
+
label: "Send invitations",
|
|
118
|
+
data: [
|
|
119
|
+
{ value: "", label: "Don't send invitations" },
|
|
120
|
+
{ value: "all", label: "All guests" },
|
|
121
|
+
{ value: "externalOnly", label: "External guests only" },
|
|
122
|
+
{ value: "none", label: "No notifications" }
|
|
123
|
+
],
|
|
124
|
+
value: local.send_updates || "",
|
|
125
|
+
onChange: (value) => update({ send_updates: value || "" }),
|
|
126
|
+
clearable: true
|
|
127
|
+
}
|
|
128
|
+
)));
|
|
129
|
+
};
|
|
130
|
+
export {
|
|
131
|
+
CalendarEventUpdateConfig
|
|
132
|
+
};
|
|
133
|
+
//# sourceMappingURL=CalendarEventUpdateConfig-KACZA6GH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/calendar/eventUpdate/CalendarEventUpdateConfig.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport { Divider, Stack, Text } from '@mantine/core';\nimport { DataInput } from '@/mantine/components/DataInput';\nimport BaseSelect from '@/mantine/components/Base/BaseSelect';\nimport type { ActionTypeConfigProps } from '../../../actionTypeUI';\nimport { ConnectionSelector } from '../../_shared/ConnectionSelector';\nimport { parseCalendarEventUpdateInputs, serializeCalendarEventUpdateInputs, type CalendarEventUpdateInputs } from '@/core/lib/actionRegistry/actions/calendar/eventUpdate.types';\n\nexport const CalendarEventUpdateConfig: React.FC<ActionTypeConfigProps> = ({ inputs, onInputsChange, editor, blockId }) => {\n const [local, setLocal] = useState<CalendarEventUpdateInputs>(() => parseCalendarEventUpdateInputs(inputs));\n\n useEffect(() => {\n setLocal(parseCalendarEventUpdateInputs(inputs));\n }, [inputs]);\n\n const update = useCallback(\n (patch: Partial<CalendarEventUpdateInputs>) => {\n const updated = { ...local, ...patch };\n setLocal(updated);\n onInputsChange(serializeCalendarEventUpdateInputs(updated));\n },\n [local, onInputsChange]\n );\n\n const editorDocument = editor?.document || [];\n\n return (\n <Stack gap=\"lg\">\n <ConnectionSelector toolkit=\"googlecalendar\" toolkitLabel=\"Calendar\" value={local.connection} onChange={(connection) => update({ connection })} />\n\n <Divider variant=\"dashed\" />\n\n <Stack gap=\"md\">\n <Text size=\"sm\" fw={600}>\n Target event\n </Text>\n <DataInput\n label=\"Event ID\"\n description=\"Reference an upstream list/create block or paste a Google Calendar event ID.\"\n placeholder=\"${listEvents.firstId} or an event ID\"\n value={local.event_id}\n onChange={(value) => update({ event_id: value })}\n editorDocument={editorDocument}\n currentBlockId={blockId}\n required\n />\n <DataInput\n label=\"Calendar\"\n placeholder=\"primary\"\n value={local.calendar_id}\n onChange={(value) => update({ calendar_id: value })}\n editorDocument={editorDocument}\n currentBlockId={blockId}\n />\n </Stack>\n\n <Divider variant=\"dashed\" />\n\n <Stack gap=\"md\">\n <Text size=\"sm\" fw={600}>\n New values\n </Text>\n <Text size=\"xs\" c=\"dimmed\">\n Calendar's update tool is a full replacement — any field left blank will be cleared on the event.\n </Text>\n\n <DataInput label=\"Title\" value={local.summary} onChange={(value) => update({ summary: value })} editorDocument={editorDocument} currentBlockId={blockId} />\n <DataInput label=\"Description\" value={local.description} onChange={(value) => update({ description: value })} editorDocument={editorDocument} currentBlockId={blockId} />\n <DataInput label=\"Location\" value={local.location} onChange={(value) => update({ location: value })} editorDocument={editorDocument} currentBlockId={blockId} />\n\n <DataInput\n label=\"Start time\"\n description=\"ISO 8601 (required)\"\n placeholder=\"2026-05-12T09:00:00\"\n value={local.start_datetime}\n onChange={(value) => update({ start_datetime: value })}\n editorDocument={editorDocument}\n currentBlockId={blockId}\n required\n />\n <DataInput\n label=\"End time\"\n placeholder=\"2026-05-12T10:00:00\"\n value={local.end_datetime}\n onChange={(value) => update({ end_datetime: value })}\n editorDocument={editorDocument}\n currentBlockId={blockId}\n />\n <DataInput\n label=\"Timezone\"\n placeholder=\"Europe/London\"\n value={local.timezone}\n onChange={(value) => update({ timezone: value })}\n editorDocument={editorDocument}\n currentBlockId={blockId}\n />\n <DataInput\n label=\"Attendees\"\n description=\"Comma-separated emails or a JSON array\"\n value={local.attendees}\n onChange={(value) => update({ attendees: value })}\n editorDocument={editorDocument}\n currentBlockId={blockId}\n />\n <BaseSelect\n label=\"Send invitations\"\n data={[\n { value: '', label: \"Don't send invitations\" },\n { value: 'all', label: 'All guests' },\n { value: 'externalOnly', label: 'External guests only' },\n { value: 'none', label: 'No notifications' },\n ]}\n value={local.send_updates || ''}\n onChange={(value) => update({ send_updates: value || '' })}\n clearable\n />\n </Stack>\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import {
|
|
2
|
+
parseCalendarEventUpdateInputs
|
|
3
|
+
} from "./chunk-SHBFGRPV.js";
|
|
4
|
+
import {
|
|
5
|
+
DataInput
|
|
6
|
+
} from "./chunk-4PONO4US.js";
|
|
7
|
+
import "./chunk-XPBKU3JX.js";
|
|
8
|
+
import {
|
|
9
|
+
useRunRuntimeReader
|
|
10
|
+
} from "./chunk-FFYZXA75.js";
|
|
11
|
+
import "./chunk-NZ7AXA7B.js";
|
|
12
|
+
import "./chunk-F4PTFXZH.js";
|
|
13
|
+
import "./chunk-IH4T7V4C.js";
|
|
14
|
+
import "./chunk-PYNDJDWZ.js";
|
|
15
|
+
import "./chunk-NIXT2SBH.js";
|
|
16
|
+
import "./chunk-JIDTNKKL.js";
|
|
17
|
+
import {
|
|
18
|
+
resolveReferences
|
|
19
|
+
} from "./chunk-JVROGQ7Q.js";
|
|
20
|
+
import "./chunk-IIIZZ4E4.js";
|
|
21
|
+
import "./chunk-HT6L7A5M.js";
|
|
22
|
+
import "./chunk-N3ORMGAI.js";
|
|
23
|
+
import "./chunk-NCSGIRRQ.js";
|
|
24
|
+
import {
|
|
25
|
+
DismissibleAlert
|
|
26
|
+
} from "./chunk-IFWKRCFF.js";
|
|
27
|
+
import {
|
|
28
|
+
actionAlertStyles
|
|
29
|
+
} from "./chunk-6GKJR52N.js";
|
|
30
|
+
import "./chunk-EBFFDDAS.js";
|
|
31
|
+
import {
|
|
32
|
+
useBlocknoteHandlers
|
|
33
|
+
} from "./chunk-4DGCCXD6.js";
|
|
34
|
+
import "./chunk-7W7UUUIE.js";
|
|
35
|
+
import "./chunk-TS2LNBF2.js";
|
|
36
|
+
|
|
37
|
+
// src/mantine/blocks/action/actionTypes/calendar/eventUpdate/CalendarEventUpdateFlowDetail.tsx
|
|
38
|
+
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
39
|
+
import { Anchor, Stack, Text } from "@mantine/core";
|
|
40
|
+
var CalendarEventUpdateFlowDetail = ({
|
|
41
|
+
inputs,
|
|
42
|
+
editor,
|
|
43
|
+
block,
|
|
44
|
+
runtime,
|
|
45
|
+
isDisabled,
|
|
46
|
+
provideSigningHandler,
|
|
47
|
+
unlockSigning,
|
|
48
|
+
registerRuntimeInputs,
|
|
49
|
+
executeAction
|
|
50
|
+
}) => {
|
|
51
|
+
const handlers = useBlocknoteHandlers();
|
|
52
|
+
const entityDid = useMemo(() => handlers?.getEntityDid?.() || "", [handlers]);
|
|
53
|
+
const parsed = useMemo(() => parseCalendarEventUpdateInputs(inputs), [inputs]);
|
|
54
|
+
const editorDocument = editor?.document || [];
|
|
55
|
+
const runtimeReader = useRunRuntimeReader(editor);
|
|
56
|
+
const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);
|
|
57
|
+
const resolve = useCallback(
|
|
58
|
+
(field) => {
|
|
59
|
+
const v = parsed[field];
|
|
60
|
+
if (typeof v !== "string") return "";
|
|
61
|
+
return resolveReferences(v, editorDocument, resolveOpts);
|
|
62
|
+
},
|
|
63
|
+
[parsed, editorDocument, resolveOpts]
|
|
64
|
+
);
|
|
65
|
+
const [local, setLocal] = useState(() => ({
|
|
66
|
+
event_id: resolve("event_id"),
|
|
67
|
+
summary: resolve("summary"),
|
|
68
|
+
start_datetime: resolve("start_datetime"),
|
|
69
|
+
end_datetime: resolve("end_datetime"),
|
|
70
|
+
timezone: resolve("timezone"),
|
|
71
|
+
location: resolve("location"),
|
|
72
|
+
attendees: resolve("attendees"),
|
|
73
|
+
description: resolve("description"),
|
|
74
|
+
calendar_id: resolve("calendar_id") || "primary"
|
|
75
|
+
}));
|
|
76
|
+
useEffect(() => {
|
|
77
|
+
setLocal((prev) => ({
|
|
78
|
+
event_id: prev.event_id || resolve("event_id"),
|
|
79
|
+
summary: prev.summary || resolve("summary"),
|
|
80
|
+
start_datetime: prev.start_datetime || resolve("start_datetime"),
|
|
81
|
+
end_datetime: prev.end_datetime || resolve("end_datetime"),
|
|
82
|
+
timezone: prev.timezone || resolve("timezone"),
|
|
83
|
+
location: prev.location || resolve("location"),
|
|
84
|
+
attendees: prev.attendees || resolve("attendees"),
|
|
85
|
+
description: prev.description || resolve("description"),
|
|
86
|
+
calendar_id: prev.calendar_id || resolve("calendar_id") || "primary"
|
|
87
|
+
}));
|
|
88
|
+
}, [resolve]);
|
|
89
|
+
const update = useCallback((patch) => {
|
|
90
|
+
setLocal((prev) => ({ ...prev, ...patch }));
|
|
91
|
+
}, []);
|
|
92
|
+
const connection = parsed.connection;
|
|
93
|
+
const hasConnection = !!connection?.connectedAccountId;
|
|
94
|
+
const entityMismatch = hasConnection && entityDid && connection.entityDid && connection.entityDid !== entityDid;
|
|
95
|
+
const isCompleted = runtime.state === "completed";
|
|
96
|
+
const readyToSign = hasConnection && !entityMismatch && !!local.event_id.trim() && !!local.start_datetime.trim() && !isCompleted;
|
|
97
|
+
useEffect(() => {
|
|
98
|
+
unlockSigning?.(readyToSign);
|
|
99
|
+
}, [unlockSigning, readyToSign]);
|
|
100
|
+
useEffect(() => {
|
|
101
|
+
registerRuntimeInputs?.(local);
|
|
102
|
+
}, [registerRuntimeInputs, local]);
|
|
103
|
+
const [error, setError] = useState(null);
|
|
104
|
+
const execute = useCallback(async () => {
|
|
105
|
+
if (!executeAction) {
|
|
106
|
+
setError("Shared action executor is unavailable");
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
if (!hasConnection) {
|
|
110
|
+
setError("Connect Calendar before running this action.");
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
setError(null);
|
|
114
|
+
try {
|
|
115
|
+
const outcome = await executeAction({ runtimeInputs: local });
|
|
116
|
+
if (!outcome.success) {
|
|
117
|
+
throw new Error(outcome.error || "Calendar event update failed");
|
|
118
|
+
}
|
|
119
|
+
} catch (err) {
|
|
120
|
+
const message = err instanceof Error ? err.message : "Failed to update calendar event";
|
|
121
|
+
setError(message);
|
|
122
|
+
}
|
|
123
|
+
}, [executeAction, hasConnection, local]);
|
|
124
|
+
useEffect(() => {
|
|
125
|
+
if (!provideSigningHandler) return;
|
|
126
|
+
provideSigningHandler(execute);
|
|
127
|
+
}, [provideSigningHandler, execute]);
|
|
128
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, !hasConnection && /* @__PURE__ */ React.createElement(DismissibleAlert, { color: "yellow", styles: actionAlertStyles }, "Connect Calendar in template mode before running this action."), entityMismatch && /* @__PURE__ */ React.createElement(DismissibleAlert, { color: "yellow", styles: actionAlertStyles }, "This block was configured for a different workspace. Reconnect Calendar to use it here."), !isCompleted && hasConnection && !entityMismatch && /* @__PURE__ */ React.createElement(Stack, { gap: "sm" }, /* @__PURE__ */ React.createElement(
|
|
129
|
+
DataInput,
|
|
130
|
+
{
|
|
131
|
+
label: "Event ID",
|
|
132
|
+
description: "Required \u2014 the Calendar event to replace.",
|
|
133
|
+
value: local.event_id,
|
|
134
|
+
onChange: (value) => update({ event_id: value }),
|
|
135
|
+
editorDocument,
|
|
136
|
+
currentBlockId: block.id,
|
|
137
|
+
required: true
|
|
138
|
+
}
|
|
139
|
+
), /* @__PURE__ */ React.createElement(DataInput, { label: "Title", value: local.summary, onChange: (value) => update({ summary: value }), editorDocument, currentBlockId: block.id }), /* @__PURE__ */ React.createElement(
|
|
140
|
+
DataInput,
|
|
141
|
+
{
|
|
142
|
+
label: "Start time",
|
|
143
|
+
description: "ISO 8601 (required)",
|
|
144
|
+
value: local.start_datetime,
|
|
145
|
+
onChange: (value) => update({ start_datetime: value }),
|
|
146
|
+
editorDocument,
|
|
147
|
+
currentBlockId: block.id,
|
|
148
|
+
required: true
|
|
149
|
+
}
|
|
150
|
+
), /* @__PURE__ */ React.createElement(DataInput, { label: "End time", value: local.end_datetime, onChange: (value) => update({ end_datetime: value }), editorDocument, currentBlockId: block.id })), isCompleted && /* @__PURE__ */ React.createElement(DismissibleAlert, { color: "green", styles: actionAlertStyles }, "Event updated", runtime.output?.summary ? ` \u2014 ${runtime.output.summary}` : "", ".", runtime.output?.htmlLink && /* @__PURE__ */ React.createElement(React.Fragment, null, " ", /* @__PURE__ */ React.createElement(Anchor, { href: runtime.output.htmlLink, target: "_blank", rel: "noreferrer" }, "Open in Calendar"))), error && /* @__PURE__ */ React.createElement(DismissibleAlert, { color: "red", styles: actionAlertStyles }, error), isDisabled && !isCompleted && /* @__PURE__ */ React.createElement(Text, { size: "xs", c: "dimmed" }, "This block is currently disabled."));
|
|
151
|
+
};
|
|
152
|
+
export {
|
|
153
|
+
CalendarEventUpdateFlowDetail
|
|
154
|
+
};
|
|
155
|
+
//# sourceMappingURL=CalendarEventUpdateFlowDetail-CD6NHHOU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/calendar/eventUpdate/CalendarEventUpdateFlowDetail.tsx"],"sourcesContent":["import { useRunRuntimeReader } from '@/mantine/hooks/useRunRuntimeReader';\nimport React, { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Anchor, Stack, Text } from '@mantine/core';\nimport { DismissibleAlert as Alert } from '@/mantine/components/Base/DismissibleAlert';\nimport { DataInput } from '@/mantine/components/DataInput';\nimport { useBlocknoteHandlers } from '@/mantine/context/BlocknoteContext';\nimport { resolveReferences } from '@/mantine/utils/referenceResolver';\nimport type { ActionTypeFlowProps } from '../../../actionTypeUI';\nimport { actionAlertStyles } from '../../../alertStyles';\nimport { parseCalendarEventUpdateInputs, type CalendarEventUpdateInputs } from '@/core/lib/actionRegistry/actions/calendar/eventUpdate.types';\n\ninterface RuntimeInputs {\n event_id: string;\n summary: string;\n start_datetime: string;\n end_datetime: string;\n timezone: string;\n location: string;\n attendees: string;\n description: string;\n calendar_id: string;\n}\n\nexport const CalendarEventUpdateFlowDetail: React.FC<ActionTypeFlowProps<RuntimeInputs>> = ({\n inputs,\n editor,\n block,\n runtime,\n isDisabled,\n provideSigningHandler,\n unlockSigning,\n registerRuntimeInputs,\n executeAction,\n}) => {\n const handlers = useBlocknoteHandlers();\n const entityDid = useMemo(() => handlers?.getEntityDid?.() || '', [handlers]);\n\n const parsed = useMemo(() => parseCalendarEventUpdateInputs(inputs), [inputs]);\n const editorDocument = editor?.document || [];\n const runtimeReader = useRunRuntimeReader(editor);\n const resolveOpts = useMemo(() => ({ yRuntime: runtimeReader }), [runtimeReader]);\n\n const resolve = useCallback(\n (field: keyof CalendarEventUpdateInputs): string => {\n const v = parsed[field];\n if (typeof v !== 'string') return '';\n return resolveReferences(v, editorDocument, resolveOpts);\n },\n [parsed, editorDocument, resolveOpts]\n );\n\n const [local, setLocal] = useState<RuntimeInputs>(() => ({\n event_id: resolve('event_id'),\n summary: resolve('summary'),\n start_datetime: resolve('start_datetime'),\n end_datetime: resolve('end_datetime'),\n timezone: resolve('timezone'),\n location: resolve('location'),\n attendees: resolve('attendees'),\n description: resolve('description'),\n calendar_id: resolve('calendar_id') || 'primary',\n }));\n\n useEffect(() => {\n setLocal((prev) => ({\n event_id: prev.event_id || resolve('event_id'),\n summary: prev.summary || resolve('summary'),\n start_datetime: prev.start_datetime || resolve('start_datetime'),\n end_datetime: prev.end_datetime || resolve('end_datetime'),\n timezone: prev.timezone || resolve('timezone'),\n location: prev.location || resolve('location'),\n attendees: prev.attendees || resolve('attendees'),\n description: prev.description || resolve('description'),\n calendar_id: prev.calendar_id || resolve('calendar_id') || 'primary',\n }));\n }, [resolve]);\n\n const update = useCallback((patch: Partial<RuntimeInputs>) => {\n setLocal((prev) => ({ ...prev, ...patch }));\n }, []);\n\n const connection = parsed.connection;\n const hasConnection = !!connection?.connectedAccountId;\n const entityMismatch = hasConnection && entityDid && connection!.entityDid && connection!.entityDid !== entityDid;\n const isCompleted = runtime.state === 'completed';\n\n const readyToSign = hasConnection && !entityMismatch && !!local.event_id.trim() && !!local.start_datetime.trim() && !isCompleted;\n\n useEffect(() => {\n unlockSigning?.(readyToSign);\n }, [unlockSigning, readyToSign]);\n\n useEffect(() => {\n registerRuntimeInputs?.(local);\n }, [registerRuntimeInputs, local]);\n\n const [error, setError] = useState<string | null>(null);\n\n const execute = useCallback(async () => {\n if (!executeAction) {\n setError('Shared action executor is unavailable');\n return;\n }\n if (!hasConnection) {\n setError('Connect Calendar before running this action.');\n return;\n }\n\n setError(null);\n\n try {\n const outcome = await executeAction({ runtimeInputs: local });\n\n if (!outcome.success) {\n throw new Error(outcome.error || 'Calendar event update failed');\n }\n } catch (err) {\n const message = err instanceof Error ? err.message : 'Failed to update calendar event';\n setError(message);\n }\n }, [executeAction, hasConnection, local]);\n\n useEffect(() => {\n if (!provideSigningHandler) return;\n provideSigningHandler(execute);\n }, [provideSigningHandler, execute]);\n\n return (\n <Stack gap=\"md\">\n {!hasConnection && (\n <Alert color=\"yellow\" styles={actionAlertStyles}>\n Connect Calendar in template mode before running this action.\n </Alert>\n )}\n\n {entityMismatch && (\n <Alert color=\"yellow\" styles={actionAlertStyles}>\n This block was configured for a different workspace. Reconnect Calendar to use it here.\n </Alert>\n )}\n\n {!isCompleted && hasConnection && !entityMismatch && (\n <Stack gap=\"sm\">\n <DataInput\n label=\"Event ID\"\n description=\"Required — the Calendar event to replace.\"\n value={local.event_id}\n onChange={(value) => update({ event_id: value })}\n editorDocument={editorDocument}\n currentBlockId={block.id}\n required\n />\n <DataInput label=\"Title\" value={local.summary} onChange={(value) => update({ summary: value })} editorDocument={editorDocument} currentBlockId={block.id} />\n <DataInput\n label=\"Start time\"\n description=\"ISO 8601 (required)\"\n value={local.start_datetime}\n onChange={(value) => update({ start_datetime: value })}\n editorDocument={editorDocument}\n currentBlockId={block.id}\n required\n />\n <DataInput label=\"End time\" value={local.end_datetime} onChange={(value) => update({ end_datetime: value })} editorDocument={editorDocument} currentBlockId={block.id} />\n </Stack>\n )}\n\n {isCompleted && (\n <Alert color=\"green\" styles={actionAlertStyles}>\n Event updated\n {runtime.output?.summary ? ` — ${runtime.output.summary}` : ''}.\n {runtime.output?.htmlLink && (\n <>\n {' '}\n <Anchor href={runtime.output.htmlLink} target=\"_blank\" rel=\"noreferrer\">\n Open in Calendar\n </Anchor>\n </>\n )}\n </Alert>\n )}\n\n {error && (\n <Alert color=\"red\" styles={actionAlertStyles}>\n {error}\n </Alert>\n )}\n\n {isDisabled && !isCompleted && (\n <Text size=\"xs\" c=\"dimmed\">\n This block is currently disabled.\n </Text>\n )}\n </Stack>\n );\n};\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import {
|
|
2
|
+
formatCollectionOptionLabel
|
|
3
|
+
} from "./chunk-EKBQ7K4N.js";
|
|
4
|
+
import {
|
|
5
|
+
parseClaimActionInputs,
|
|
6
|
+
serializeClaimActionInputs
|
|
7
|
+
} from "./chunk-ZUATADUV.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/claim/ClaimConfig.tsx
|
|
43
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
44
|
+
import { Alert, Button, Loader, Stack, Text } from "@mantine/core";
|
|
45
|
+
var ClaimConfig = ({ inputs, onInputsChange, editor, blockId }) => {
|
|
46
|
+
const t = useTranslate();
|
|
47
|
+
const handlers = useBlocknoteHandlers();
|
|
48
|
+
const [local, setLocal] = useState(() => parseClaimActionInputs(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 = parseClaimActionInputs(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(serializeClaimActionInputs(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.claim.config.surveyHasNoQuestions", { defaultValue: "Survey has no recognised questions \u2014 downstream blocks will only see baseline claim fields." })
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
} catch (err) {
|
|
90
|
+
if (gen !== fetchGenRef.current) return;
|
|
91
|
+
setSchemaError(err instanceof Error ? err.message : t("actionTypes.shared.errors.surveyTemplateLoad", { defaultValue: "Failed to load survey template" }));
|
|
92
|
+
update({ surveyAnswersSchema: [] });
|
|
93
|
+
} finally {
|
|
94
|
+
if (gen === fetchGenRef.current) setSchemaLoading(false);
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
[handlers, update]
|
|
98
|
+
);
|
|
99
|
+
useEffect(() => {
|
|
100
|
+
if (local.deedDid.trim() && local.collectionId && local.surveyAnswersSchema.length === 0 && !schemaLoading) {
|
|
101
|
+
void materialiseSurveySchema(local.deedDid.trim(), local.collectionId);
|
|
102
|
+
}
|
|
103
|
+
}, [local.deedDid, local.collectionId]);
|
|
104
|
+
const fetchCollections = useCallback(async () => {
|
|
105
|
+
const deedDid = local.deedDid.trim();
|
|
106
|
+
if (!deedDid) {
|
|
107
|
+
setError(t("actionTypes.shared.errors.didRequired", { defaultValue: "Please enter a {{did}} first", did: "DID" }));
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const persisted = { ...local, deedDid };
|
|
111
|
+
setLocal(persisted);
|
|
112
|
+
onInputsChange(serializeClaimActionInputs(persisted));
|
|
113
|
+
setLoadingCollections(true);
|
|
114
|
+
setError(null);
|
|
115
|
+
try {
|
|
116
|
+
const response = await handlers.getClaimCollections(deedDid);
|
|
117
|
+
const fetched = response?.collections || [];
|
|
118
|
+
setCollections(fetched);
|
|
119
|
+
if (fetched.length === 0) {
|
|
120
|
+
setError(
|
|
121
|
+
t("actionTypes.shared.errors.noCollections", { defaultValue: "No {{claimCollections}} found for this {{did}}", claimCollections: "claim collections", did: "DID" })
|
|
122
|
+
);
|
|
123
|
+
}
|
|
124
|
+
} catch (err) {
|
|
125
|
+
setCollections([]);
|
|
126
|
+
setError(
|
|
127
|
+
err instanceof Error ? err.message : t("actionTypes.shared.errors.fetchCollections", { defaultValue: "Failed to fetch {{claimCollections}}", claimCollections: "claim collections" })
|
|
128
|
+
);
|
|
129
|
+
} finally {
|
|
130
|
+
setLoadingCollections(false);
|
|
131
|
+
}
|
|
132
|
+
}, [handlers, local, onInputsChange, update]);
|
|
133
|
+
useEffect(() => {
|
|
134
|
+
if (local.deedDid.trim() && local.collectionId && collections.length === 0 && !loadingCollections) {
|
|
135
|
+
void fetchCollections();
|
|
136
|
+
}
|
|
137
|
+
}, [local.deedDid, local.collectionId]);
|
|
138
|
+
const unlistedCollectionId = local.collectionId && collections.length > 0 && !collections.some((c) => c.id === local.collectionId) ? local.collectionId : "";
|
|
139
|
+
const collectionOptions = useMemo(() => {
|
|
140
|
+
const options = collections.map((collection) => ({
|
|
141
|
+
value: collection.id,
|
|
142
|
+
label: formatCollectionOptionLabel(collection)
|
|
143
|
+
}));
|
|
144
|
+
if (unlistedCollectionId) options.unshift({ value: unlistedCollectionId, label: `#${unlistedCollectionId}` });
|
|
145
|
+
return options;
|
|
146
|
+
}, [collections, unlistedCollectionId]);
|
|
147
|
+
return /* @__PURE__ */ React.createElement(Stack, { gap: "md" }, /* @__PURE__ */ React.createElement(
|
|
148
|
+
DataInput,
|
|
149
|
+
{
|
|
150
|
+
label: "DID",
|
|
151
|
+
placeholder: t("actionTypes.shared.didPlaceholder", { defaultValue: "Enter deed {{did}}", did: "DID" }),
|
|
152
|
+
description: t("actionTypes.shared.didDescription", {
|
|
153
|
+
defaultValue: "The {{did}} identifier for fetching {{claimCollections}}.",
|
|
154
|
+
did: "DID",
|
|
155
|
+
claimCollections: "claim collections"
|
|
156
|
+
}),
|
|
157
|
+
value: local.deedDid,
|
|
158
|
+
onChange: (value) => update({ deedDid: value }),
|
|
159
|
+
editorDocument: editor?.document || [],
|
|
160
|
+
currentBlockId: blockId,
|
|
161
|
+
required: true
|
|
162
|
+
}
|
|
163
|
+
), /* @__PURE__ */ React.createElement(
|
|
164
|
+
Button,
|
|
165
|
+
{
|
|
166
|
+
size: "xs",
|
|
167
|
+
variant: "subtle",
|
|
168
|
+
onClick: () => {
|
|
169
|
+
const entityDid = handlers.getEntityDid();
|
|
170
|
+
if (entityDid) update({ deedDid: entityDid });
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
t("actionTypes.shared.useCurrentEntity", { defaultValue: "Use Current {{entity}}", entity: "Entity" })
|
|
174
|
+
), /* @__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", {
|
|
175
|
+
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.",
|
|
176
|
+
collectionId: unlistedCollectionId,
|
|
177
|
+
did: "DID"
|
|
178
|
+
})), collectionOptions.length > 0 && /* @__PURE__ */ React.createElement(
|
|
179
|
+
BaseSelect,
|
|
180
|
+
{
|
|
181
|
+
label: "Claim Collection",
|
|
182
|
+
placeholder: t("actionTypes.shared.collectionPlaceholder", { defaultValue: "Select a collection" }),
|
|
183
|
+
value: local.collectionId || null,
|
|
184
|
+
onChange: (value) => {
|
|
185
|
+
const next = value || "";
|
|
186
|
+
update({ collectionId: next, surveyAnswersSchema: [] });
|
|
187
|
+
},
|
|
188
|
+
data: collectionOptions,
|
|
189
|
+
required: true,
|
|
190
|
+
searchable: true
|
|
191
|
+
}
|
|
192
|
+
), 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.claim.config.emitsPrefix", { defaultValue: "Emits" }), " ", /* @__PURE__ */ React.createElement("code", null, "submitted"), " ", t("actionTypes.claim.config.emitsWith", { defaultValue: "with" }), " ", local.surveyAnswersSchema.length, " ", t("actionTypes.claim.config.typedSurveyField", {
|
|
193
|
+
count: local.surveyAnswersSchema.length,
|
|
194
|
+
defaultValue: local.surveyAnswersSchema.length === 1 ? "typed survey field" : "typed survey fields"
|
|
195
|
+
}), ". ", t("actionTypes.claim.config.listenerBlocksCanReference", { defaultValue: "Listener blocks can reference" }), " ", /* @__PURE__ */ React.createElement("code", null, "$", "{", "sourceBlock.payload.surveyAnswers.<field>", "}"), "."), schemaError && /* @__PURE__ */ React.createElement(Alert, { color: "yellow", styles: actionAlertStyles }, schemaError)));
|
|
196
|
+
};
|
|
197
|
+
export {
|
|
198
|
+
ClaimConfig
|
|
199
|
+
};
|
|
200
|
+
//# sourceMappingURL=ClaimConfig-3HKPGK55.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/mantine/blocks/action/actionTypes/claim/ClaimConfig.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { Alert, Button, Loader, Stack, 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 { parseClaimActionInputs, serializeClaimActionInputs, type ClaimActionInputs } 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 ClaimConfig: React.FC<ActionTypeConfigProps> = ({ inputs, onInputsChange, editor, blockId }) => {\n const t = useTranslate();\n const handlers = useBlocknoteHandlers();\n const [local, setLocal] = useState<ClaimActionInputs>(() => parseClaimActionInputs(inputs));\n const [collections, setCollections] = useState<ClaimCollection[]>([]);\n const [loadingCollections, setLoadingCollections] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n // Ref mirrors `local` so async callbacks always merge against the freshest\n // state, not the one captured when the callback was created. Without this,\n // a survey fetch that resolves after `collectionId` was updated would write\n // the schema on top of the STALE collectionId and silently wipe it.\n const localRef = useRef(local);\n useEffect(() => {\n localRef.current = local;\n }, [local]);\n\n useEffect(() => {\n const parsed = parseClaimActionInputs(inputs);\n setLocal(parsed);\n localRef.current = parsed;\n }, [inputs]);\n\n const update = useCallback(\n (patch: Partial<ClaimActionInputs>) => {\n const updated = { ...localRef.current, ...patch };\n localRef.current = updated;\n setLocal(updated);\n onInputsChange(serializeClaimActionInputs(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 currently picked collection and\n * materialise its answer schema into inputs. The schema drives the\n * `submitted` event's payload so downstream listener blocks see typed\n * refs like `${sourceBlock.payload.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; // superseded by a newer pick\n const surveySchema = extractSurveyAnswerSchema(result?.surveyTemplate);\n update({ surveyAnswersSchema: surveySchema });\n if (surveySchema.length === 0) {\n setSchemaError(\n t('actionTypes.claim.config.surveyHasNoQuestions', { defaultValue: 'Survey has no recognised questions — downstream blocks will only see baseline claim fields.' })\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 on mount / when inputs arrive with a collection but no\n // persisted schema (e.g. a block saved before this feature shipped, or when\n // a previous fetch failed). Only runs when fields are actually missing so\n // we don't refetch on every keystroke.\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(serializeClaimActionInputs(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 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 <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 fetches fresh.\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.claim.config.emitsPrefix', { defaultValue: 'Emits' })} <code>submitted</code> {t('actionTypes.claim.config.emitsWith', { defaultValue: 'with' })}{' '}\n {local.surveyAnswersSchema.length}{' '}\n {t('actionTypes.claim.config.typedSurveyField', {\n count: local.surveyAnswersSchema.length,\n defaultValue: local.surveyAnswersSchema.length === 1 ? 'typed survey field' : 'typed survey fields',\n })}\n . {t('actionTypes.claim.config.listenerBlocksCanReference', { defaultValue: 'Listener blocks can reference' })}{' '}\n <code>\n ${'{'}sourceBlock.payload.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 </Stack>\n );\n};\n"],"mappings":"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","names":[]}
|