From 02b6520f09c316fbcca834f3f36adad4283318ea Mon Sep 17 00:00:00 2001 From: Will Hunt <2072976+Half-Shot@users.noreply.github.com> Date: Mon, 18 May 2026 22:41:38 +0100 Subject: [PATCH] Module API for adding new file upload mechanisms (#33355) * Initial reword of upload to MVVM. * Update tests * More incremental improvements * Refactor tests to use helper method for composer uploads. * Add drag and drop tests * lint * Add commentary * fixup test * More precise selector * Retarget uploads * lint * fixup * one more type * update snap * Fixup composerUploadFiles * fix import * lint * Copy and paste fixes too * Add tests for pasting * Add tests for pasting files. * Remove redundant fn * rm comment * tidy up * Test cleanup * More clean up * another fix * Begin fleshing out * Park changes * More stuff * Use condensed version * Cleanup tests * more cleaning * last bity * Add a test for the composer * Park up changes * Rewrite Measured to be a functional component * Add tests to cover narrow viewports * lint * breakpoint is optional * Cleanup * Support narrow mode * fixup * begone * Provide default value * add label * fixup test * update copyright * cleanup * Be a bit more lazy with FileDropTarget * remove a debug statement * Fixup * fix two snaps * Update screenshot * and the other one * Update snaps * unfake CIDER * update screens again * remove extra test * Undo accidental snapshots * Bit of tidyup * fixup * even more tidyup * may drag and drop file * tidy up again * snap snap snap * Use load to make sonarQube happy * Bunch of refactors * More cleanup * cleanup debug code * tweaks * remove a test we no longer need * make it happy * fix import * fixup * Update snaps * typo * one off * Add tests * lint * remove only * Reduce screenshot scope * fix snapshot usage * cleanup --- .../playwright/e2e/modules/composer.spec.ts | 37 + .../playwright/sample-files/upload-module.js | 35 + .../send-your-first-message-view-linux.png | Bin 27172 -> 27198 bytes ...n-notification-options-selection-linux.png | Bin 94126 -> 93939 bytes .../window-after-switch-linux.png | Bin 76257 -> 76299 bytes .../window-before-switch-linux.png | Bin 76338 -> 76356 bytes .../components/structures/FileDropTarget.tsx | 8 +- .../src/components/structures/RoomView.tsx | 8 +- .../views/rooms/MessageComposerButtons.tsx | 43 +- apps/web/src/dispatcher/actions.ts | 5 + .../payloads/ComposerInsertFilePayload.ts | 16 + .../payloads/ComposerInsertPayload.ts | 2 +- apps/web/src/modules/ComposerApi.ts | 67 +- .../viewmodels/room/RoomUploadViewModel.tsx | 123 +- .../structures/FileDropTarget-test.tsx | 43 +- .../components/structures/RoomView-test.tsx | 21 - .../__snapshots__/RoomView-test.tsx.snap | 306 +++-- .../views/rooms/MessageComposer-test.tsx | 14 +- .../unit-tests/modules/ComposerApi-test.ts | 81 +- ...l-test.ts => RoomUploadViewModel-test.tsx} | 93 +- .../module-api/element-web-module-api.api.md | 1153 +++++++++-------- packages/module-api/src/api/composer.ts | 64 +- .../UploadButton.stories.tsx/default-auto.png | Bin 0 -> 16865 bytes .../with-open-auto.png | Bin 0 -> 23347 bytes packages/shared-components/src/index.ts | 1 + .../UploadButton/UploadButton.stories.tsx | 93 ++ .../UploadButton/UploadButton.test.tsx | 46 + .../composer/UploadButton/UploadButton.tsx | 112 ++ .../__snapshots__/UploadButton.test.tsx.snap | 79 ++ .../src/room/composer/UploadButton/index.ts | 8 + 30 files changed, 1627 insertions(+), 831 deletions(-) create mode 100644 apps/web/playwright/e2e/modules/composer.spec.ts create mode 100644 apps/web/playwright/sample-files/upload-module.js create mode 100644 apps/web/src/dispatcher/payloads/ComposerInsertFilePayload.ts rename apps/web/test/viewmodels/room/{RoomUploadViewModel-test.ts => RoomUploadViewModel-test.tsx} (63%) create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room/composer/UploadButton/UploadButton.stories.tsx/default-auto.png create mode 100644 packages/shared-components/__vis__/linux/__baselines__/room/composer/UploadButton/UploadButton.stories.tsx/with-open-auto.png create mode 100644 packages/shared-components/src/room/composer/UploadButton/UploadButton.stories.tsx create mode 100644 packages/shared-components/src/room/composer/UploadButton/UploadButton.test.tsx create mode 100644 packages/shared-components/src/room/composer/UploadButton/UploadButton.tsx create mode 100644 packages/shared-components/src/room/composer/UploadButton/__snapshots__/UploadButton.test.tsx.snap create mode 100644 packages/shared-components/src/room/composer/UploadButton/index.ts diff --git a/apps/web/playwright/e2e/modules/composer.spec.ts b/apps/web/playwright/e2e/modules/composer.spec.ts new file mode 100644 index 0000000000..7da67730aa --- /dev/null +++ b/apps/web/playwright/e2e/modules/composer.spec.ts @@ -0,0 +1,37 @@ +/* +Copyright 2026 Element Creations Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { test, expect } from "../../element-web-test"; +import { getSampleFilePath } from "../../sample-files"; + +test.describe("Composer API", () => { + test.use({ + displayName: "Manny", + config: { + modules: ["/modules/upload-module.js"], + }, + page: async ({ page }, use) => { + await page.route("/modules/upload-module.js", async (route) => { + await route.fulfill({ path: getSampleFilePath("upload-module.js") }); + }); + await use(page); + }, + room: async ({ page, app, user, bot }, use) => { + const roomId = await app.client.createRoom({ name: "TestRoom" }); + await use({ roomId }); + }, + }); + test("should be able to select custom uploader", async ({ page, room, app }) => { + page.on("dialog", (dialog) => console.log("Dialog discovered", dialog)); + await app.viewRoomById(room.roomId); + await app.getComposer().getByRole("button", { name: "Attachment" }).click(); + await page.getByRole("menuitem", { name: "Example uploader" }).click({ noWaitAfter: true }); + await page.locator(".mx_Dialog").getByRole("button", { name: "Upload" }).click(); + const fileTile = page.locator(".mx_MFileBody").first(); + await expect(fileTile).toBeVisible(); + }); +}); diff --git a/apps/web/playwright/sample-files/upload-module.js b/apps/web/playwright/sample-files/upload-module.js new file mode 100644 index 0000000000..11edfbca95 --- /dev/null +++ b/apps/web/playwright/sample-files/upload-module.js @@ -0,0 +1,35 @@ +/* +Copyright 2026 Element Creations Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +// Note: eslint-plugin-jsdoc doesn't like import types as parameters, so we +// get around it with @typedef +/** + * @typedef {import("@element-hq/element-web-module-api").Api} Api + */ + +export default class CustomComponentModule { + static moduleApiVersion = "^*"; + /** + * Basic module for testing. + * @param {Api} api API object + */ + constructor(api) { + this.api = api; + } + async load() { + this.api.composer.addFileUploadOption({ + type: "org.example.uploader", + label: "Example uploader", + onSelected: (_roomId, view) => { + this.api.composer.openFileUploadConfirmation( + [new File(["test"], "testfile.txt", { type: "text/plain" })], + view, + ); + }, + }); + } +} diff --git a/apps/web/playwright/snapshots/invite/invite-dialog.spec.ts/send-your-first-message-view-linux.png b/apps/web/playwright/snapshots/invite/invite-dialog.spec.ts/send-your-first-message-view-linux.png index 7e795251a8a09ad511c4d654ec90406a4365c624..64260f6086049d128f46f2ae19cdffe8f68259ea 100644 GIT binary patch literal 27198 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

NCnDyC|je&lmBHAR;54DZ7&3}Cyw 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 diff --git a/apps/web/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-open-notification-options-selection-linux.png b/apps/web/playwright/snapshots/left-panel/room-list-panel/room-list.spec.ts/room-list-item-open-notification-options-selection-linux.png index 6e13920c3eebd7dcb129fe4c3c505a5e457b3973..8333dc76e7cc910d57c8506278097158498a6516 100644 GIT binary patch delta 46397 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%0AlfwkZu$An-w4+;dB_U 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 delta 46618 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

kJ*> zs<0-xhJpn(+|hxB7WC$-YPY_p+cczR?`TgN2z@9k^HOK=zSkB584>{D(`nO+n@7?b z{r$4rBdN_keC@jvbR4gUub(uz?O)#fFvoyzbaV+5D!`uhiHeX>_4?1t%fsg(5s<@=SLotHwT356 zqF;$@o6oAVfiXS4tnBR5%-j;yYnePfzG3n`65&LsqlQL{(dtwPg*Xh?-?A<*NXGP48>uuUX``^SdC`cufRM=Pdu5X;?$!@)yE2^-|o}~l@6FkS~ zl0aThZ#!f|_Fz0WWdHBe$GL5KS!>nfx?grpwcmmIa)#CA1{`lIz1f2}{NX9|U%-c? zbG@s({@8*feh(h+!mH}KH=slREIG^nhqJd1tDbp5H{W2-JRcX$2reA?>X0bu5bN2vuCeavtrh-Cf{PqVq&4GI;ej7 zUR?U(p>oITvc%aj-*us)Wwz?q&k%OPFf}F(5dQNWfCJH>MM#}P&8>HAJtgOTbu6^R zjK|Bj&(p){yJ^M8FA5!XBms)Rdu{!I-k&*FSW``vGC@=YZ^H-TH6!%}Y<+h}GH_x3 z%_j}3*}_;S&CCdc`>|WMw_evd%>vP~89Iu6+Y{ZlEG%nXqlj*_>g&09acU}gu(EyY zD(jmFGut;G775q~Co+W0=pH*ZI+&zjqT7=o>hrxLgvVsU(MAVPMH|q0SSxAEa?Fi* zM~xK78_$ghpD2ti$7Sp=)r8bsySM%M+g{Lcf2s!_y>0{3o{(`_i(i*trJSJ>(bmON zoOmT$OZo#P%=Myrn~dmj0?^G^?sUK;8zO`I{7L%7Q`eK_#BXw2uDvA#ni4!m!qri{@rHGD`(Co10pYM(YD-M-S+({nc|6>;OfbqsuboySe342XqowpzE!6)O^oczACLdenMp79~pu1n`7t zr~wSU%FXu4He#-}LFwga_WvbQLvjJW+Vn$TdPkxcvRFm3s$^)`TDWF|$5{f;vS{zp zd(-I5nRh}Fbd;F$`{rBNQ<79>S=X(8GyzICy#9E~Dn&jk_*fjBh(8bYEqDm|Zdq|u zKc2pmhM8SPZZ&q|#EPVH0j~2DKnKrnD`jLPqTJ-^yo_sr-5%kw!wCPI(Hp5D|0Hij zC5<^3d2qy_o-olM;h_=`@!9&bZ#lim8*3T|R|>ivwP{WGToS=>ebbkJ^un6s3Gacq z^yE&oS$0(X+rk%dfVK{vj><`G`8Kv%C^g(e-Mr2S@sY6{Q{T)~4T-5}-_Olw3iBRv zmYEN?h$muHV0TDEt$+1k9G6o-f^gyEsWG|!p6sduCvB|4^#LAg?1j%}H^EZpz>pUL zSIHz=CFOB%=H?*hAT-^DkP& zRrI|6c3Yo?N2ayi!d{!?9nTYy3Jqd}1=bOTm@U>sOWGo z&*OYoC{=Z6*TEpn5AmT6e=eQG=Yi$N(C(-CXNS}8Y+K-6s##2V0i8m~{9ESuT*L$t z`}^6+viV1h0QU{SCJ0&Y-X!(v6ljYD2WY7OBP>8YCCh}WeXXDzveQ{T?H&uAqP4bC zo~eiwbw_lvmUhicd}4SbPNR2Mx%C~n%rF=y^hmFqBNfaUVIVR}x~5ybkIK5CQOiQ! z8KGGtN&u*%L(o&bSnQf;Z$r~5PU^<+@)rP&P=2YBQ!&g}o`a+BCWf~SYDzr4N5{r8 zgx$-RD{{EZAoPz-j}KBvg_Nc;8=SHF`h*EDt}GXb4$Qy$RA+V1P1coY{;<=k9a zWNikaFA(Q)bYYcF>jJ$d3sG;+5-kn{*p z3kt+li>0`*B4YK*hdcEYGWIatSWM~_Xbx$r|IM;typdd`18z+yKPMArvAT=Ij7 zs}4p*RtA{rvDg)=ZtD3TG!m?UbVsbHsR zLRTzC(-V$T%I964-#5lHMSFk|!Z~O81u8h(M&4_&mP4slxDrW-OMM7w)IwtYzUxR( zF{CmPbOQKdBEbJw7qYsT`(G|(?J#!+Xk+uojWbDW-WlDsw5=xvT_|we6W=!+3&}F! z1rfHbWe}(97hqyw=kgsu$O4r%6+Bj(xkG4({6`qrQax=8G3iO7?q#V2f;ghMPrgvChI^Ir}9xUJ-e}T6};F2jYKV z*@XMcW3(_RtGK47h*gzYR&}57XfOH$L(*U~@o)gF_$KFbU%c;}r8~^haS0SnT9T5T z)&t*oz#-df&ZGL${1x)23$RlR5!*$9WFpxiX!GhWe zRyGYG+!u!q;M#6y(aX8QJUdxD`w2IQO(_Z9YYjO2J>Dxi92sIXl9QcV=;KYffF~RZ zQYyWo52yi!eXq>^#MB?#*!Jloru|sls6ju>E9B2MIfI74Qa?zS4kA7}WFE^;5_ph> zs1HdF(>1OmRbkzj!#IlTk5{F$B{XN$=5}zD#kktI+*qG>Kw`UYTFt4(*&t2*#Y0xj zt9SVsk4Ythg>28NXH63#{FR!HO<{|ys<8L6SQHZ?+MvStNX))M4gjlMqIGk@+#fEO z08o8A)=b1Ej>{a4KmM>&y4lu8J9ADuAW&sLS0KME=y*~snNEsyCEXzazefDRwDedIO8c#t|F{DFSd^lLFT$A~_(9_QyR6I7k+RXJGbCK>chIIp_NhbVHE*ChZJ}xsc0T*BpeH{PWi2|R z{f&3lJ+Z3SHK*$#+CI$b3zL5DZ}~5l)gNTq^QCqh*D1abR64N75pD3oF5H2MWXrA9 zrbD}S${v&v@q&JlUFJF+WULmo@*JKm&nA{VFU&dWG86~HXmUYy-cgKn7ns-6_Knqadb}xb1p zl=`mu7Or-_q2S3^g5d>SC+6C*6KZ+Pd3LiR+==07_u=Cwtt5>*HPL$)ZR=XpCNNbW z$aug;rF4)p*si`vk6kv0ov_OWIXmQT2ZZleMqOGlmqth-{XVu##q7;xCTsS^Zj!imGnmF~< z7foCPcC~7UIb%Eq>Yq~XtUC$#uD#2t{Y32hV4maQqcrG_E!IJwfmE3BFJi5F`q%yL z_vaK7VTNX;IxPk=-=Z}*cj_(=CPl|mpDVzsJU`bcESdA@GJer%adS-kx$KA0;4>?j zK#zWBbmXEXkJn|JB<3nd)$V+Bey2@P&$(Q~oLC_$^*gN=FnMs`<25{_J3tj|y!IP@#hgYJkdoRZW#4*RzF0%MGg%McMC>6mssrwe9!~ z;<&2Tv!fvA4aP(m1Z$i{2{zX*Pz=9IH_fj@qMwq8yp|fSivp<&dcpTb*qnBlT$OLgc84(1R5qwlUWL}Q4x*W*4?k=N#*uF zhIJ>t;pp?%RdKt1rAa>H30qe?7F|tm=WiQwG=_Ae={D^a6_~*cPImWpY8@wfVOU3{*ovgoLSoCVTBEp;*rg&aca6qHD1MjjhvN#VQfiHB{s9P-hBJ{# zoINq(WRZCpzNG>d;GzWgZSHY0C1^LW6S>v7kkS_>OXEn+e%GTgGScnWCpcRhLhMKR z7JagbPEh|5DF}lV^J!Xy;PtP8++Qb(`rI zMB4tD=V+WyjnqhBhO_nPd0o!-D;!3vBA)`1j_M*iKT{iDlbM$XFlMl2Pg~oQTD)gA zY&(k6HX6A?pcG@%c%@mw&Utz=%Fik~uxp|u7bHYxN4CDayvyrw+TgFcPM3}L>|qo@ zxKUA1H=SKkF;5cLdlPfg&S}^Ki%fiWl21QSep1R;pxsfOHvr4TbuP3Qp|5}HL&6T@ znYKv`O^XTL*yN!5vkk~VFXyX?_Oc72E)=v#$Xmk>vo8W!-l+o4nQD;dEjIBBneuJU z#9R)Qks|aPi^p?bh%6k0@6jcx0i^;Q+RA1gJj71_wcDd}+Vu02AiDk+HBj0XkYnQ`Bt!;IG8h*wICn4J@0for;G`!72E{>HhiJ z(UID+>s|xiCIGA_bW2N_PC+tuc0W6hYSa6_uDLEf}Jwz}}~+pwAO^ z79cDL=X?Ii(ie;(7_Ld#?D0$`_gK~GHQxUfe15GEuePrDrH5vqkeWIIXtB7b(Qv$r z*Pg(@?_aE)bm&MTc$0yFp_b%ebrNX0Vo(*_x?V;U8AENn!$u6n&hFkAmwp>BkU%Zh zO6M}5x)pc5ROTP&-#Kmz5G7b%1`{a%a6^MgX3W;j10f`lV~KCHRKs5MhIVnb%?jW5 zVK}m|$|%0YpSdo+cDd-uUtLgdVBhbQHhm@_jN4^QIaJ|VAjC_q&76%HKE~=DrPVcx zOYnhabv#3bLyWp=sV^uwI`&d0uy2%Sfr6jR@h(;@@&irB`f@dx+6GP*K7THKZ~JV9 z33q&1f*H_v)QmrPCz2S)7PXiE;9of{V|Qe8QS;cG*F}lUaNaj5n?z^Kkko6;H!(BY z5C*n>P3Cx-_Tvp)l+pKOc0VzCYD1^ur4w5(6h%B?oV*i}L%=tXlpy4a&PRXh=G0Yj z_@gsrm5=!{v>lL(FT=l1jG3KW^rQdYbA$ZZ#e?VIv`{L*2tT;djek<_vG4-IlNKK3+2((skOp{!8{Mz#F^qb)!)HXpOg8#WS0dt8!6o$UZ8E?mgZ-Z;Sm{I z!5pj2cszg6$__4vpE;slE_d{@@fUg(5q-{|Yf#BZd-3`d)PXAo>zbAvU5sYwecRM& zJ91h6cK_&6-a`h34x7=0>qL#*EPm|*n5xLoGu+>v8L>C*;+Ps76nkBrL!2< zT^19zHvt529G4p+C&h#Al$`!qOBMSO(!{M}2IBDTn=jjFaHKkec*fq><* zzvbLl-Bm%ynr7Vn12%w;)@FZ5Iz)=74?91qZ+ZUlR@{-a&t9$V4f(RfPP3*6PP1io?-3b_aS_?K? z0=y+OcAeY{Q;rkeoT8J&rRLe9kFR4N`53FJsKJku7&m_WzKKV=+z&mFO&I z9xWq%(^U!SNf0oi=_y>g`SnJQVZF`wCD%0dyobgp9&qRO2`Z(dMK$ihtK(vF8^|#d znNoxyw%EPr`veeuz)#@*_{tVfU^}yy3#Q0-Ya=*h1TsQ!dP4tA!74TFbbr_KbX3tn zlTH`JP3QZ;{fGSn2?SgPoZD9CRJ@uAYQ5O|Mgqi#+0uobMH7~|Cx~i~-X`aB8Wht{8wIf;62ZFPYrO^fy z%UV+ar&}=^d)K$Ad5RV-6hQ3bA#ncrxfA%hG+Cfdu)O|Fwt?Z_QnsuuW*K|)C6@be zeH>#LKGXEBlKWXfl@dkK#Y?iNY;G1-8b*#gJ-oS}y+dX`> zIql5v#a-B}hcn+YDwlkaE9!=wIDbojV!xOaGuMD?`vP;@Jc5z^&pJ8@JVyUQSLGK4?e*3-sYwV`)f0MLHk*i8zT|@@F{t^e;I{9Cf>TPxNP9oL>)~i*K1i znnGfrb8+WsWs?i9S6)x&l;($>dLp3o<=0fjT>OFTh_BmRoqZ;GELF}tcM}qAH2k!~ zcSEFgu92T^Q~5g0fuV1*w{N0*E=*=~8i;77I5Q#M8rpG%hkrvm3mmd zvL=F{SwVe4oj=@FH8r!`Kqn9L8cE*PxhF4STs9RQtFF;rlhu#L1WqCYOR4HznXn$$ zL#{#@waQ3qXr{KZ_J-bC?wL!7)>-2D2kc1XDU8oiXMDn5{ zBp8|!JYG@y18O`LnxvYjPsx%0uJ%{0JGH+|930YdsaIUzn($>XhbIjH5 z5r8H&Q})*|d6fXhWjw|X?+XLBc@1s66UvliaoNk$J;wC5mY69*-myggWJfF2B0VZ- z;~khpW#{ZXV2vkb6Kfg|76me>G~N&%P4+JhuC z);2?R4)yK|up_ol5|~NIdrZFoOFgTqFA0%W*?}3OV~)-Ludv>pE<003o$TE-FG+VL z`txq#K@#qPc=hNwN>2nQFx5*-u{fdUaZUnD8i4SBV2DR#{;EYtDN!2VZMOEs{76xR z8|WiEB>ojcME^O41?^f3&L_Rym=Xa*Q)IZ3Do?3hF>(GLZan{GEzwhx(VNm}KbP$c z=_&`dIqVj?9lI@`D|@)_wi--%`=X2(UJh4?D~#rQ=j{`@K8DMh|CpQTylOFG`{)ZP z+{#D@+^P=_TyTD$c7Gx@en^S=bn)zph1Gn}cb?H}()Lt))=uXN(R+`AL%qNhJ6&qg=3B{MF)w=kXDLfqK$j?MUyDSRxO zg#Q~>_vc|U6a+hM(OFK5H6TDhM9)-blU(q(nv$b8pF1|3o31P?E75N-eMQ;^Qec(J zG$6nqWhrQ7-T3wSeO+BOX^F3!+=XRN4@I~w3Jw$MOiJc zq2GQszG~LV7aQJpB9DevI9*W_J=&f_xF-6s3a`59!u0vVi~);1g5UHHoW$_7^7p2r zLE4S7Crma{a|1HWf7I)$s~>(%F0s6h&&+}5^v!tBu@r3C%uOF4$-*6mJnhL0_Bv+= zY?oTal{Pr>XBtZX8pw=4dsUQ_KvOHxebk6FvUhV>8c1~0o{1~G!&*oa`eL0Meu_3o z`GPKxE*2- z7jC!-9Ld);y3(^wc?ma{8WM0c#6#@&n6!a`bzlVb+BqIBSzPp8WM$#hY`l zm6nfZ8cK+gGTkk+Zny7~{BLL8dkT)-k|aPs#Pz!BrP+IpbuDVY0sHx3{o|%NK{*iz zAZK}3l{d@=YY&ifFm8*{-+rTiv~sD^Jz{NIJj30m=jJok$Z+3qaCFOOqrcNCD^TWi zXRb9`BrkB;Q>4aWbR$55Wu?s(m`3SI*qfkh>SfVCEP~Qu(|b0EzX%t)INQm1$K<{pX$Xlx~>t>M-#Qj+su?%<^=h4Da!4<_v4Gm{^Mv^ zEi>+6x=P<8aXVQc%+7JM^LxxhX8mQ?TCLSmOGYz1+@i^|5%HR9#pBY7>}CrJV7=nh zu5tGynxEbP^^B)}Zg%AuhV>Z)@RSzjJP#lRMLiGWc|9G$??`xkKO-iV6c zJTNk0kAWXe8^de*F7f^_`$dOF^$hg+MX~tz7SP=(Qenec4{c&(9c58u9`k)!*M* z%(RzA5tC?TX^Z})RRl3MQ=+0(E_nnw!-pih%KX4aYnlB`wK|4?V_kp1^!fbfCiud9 zYD!V)Y~9MZ#Dqv^TmBP6cdG-D6pirFJaSLWm1okhZ~-#?NiusZ4<~sttYTaQEheo2;o4o}pIlKXDa`mdadkRp$d zT{annj;qrnzyzmu63Ds?3K)?o<3r>BRx%*CmEe6Uu8fRqM*v#Slxu#{U66+-Rwl$C z##A<4EV}edtz`|sw28DHVWT$>Ii@!EnU@MXcBmSqF_97SsckFg!=qdHMYY>HKOgbE zRBq>7}((;NbEG9z*0za|GRF*FgF8MnTZ>mO~t0m-Fl&Nv7Le~P4%5k=;)R? zr{)dhDW0~1?)FFuT`e(=S9vPBWpm4LHdliPwnYfo}n z32h;TZ!yqBao&OqK38UqJq?FbO^>B%X-^Z)_S=ZBk?R8H8six?k-5o3ebLnC6ati5 z?0sn=vsAA$J3Nmb8h>!H?V`*k%-J57JFn1O+22I!p!QW>=eK}j7`Ktp)j$x7)`X-0 zewd0C2EPOotkX9uHZDJfs_1yRi82vnoZRsq-{8@P$#0MRN{u_&D~O~%BkNVwRVNqa z4a%bn9Xt_9=#)Z|K58~5n8FfPE7bPjds0pK2aH*^j$N@2aX9UPXkMdRE9 z5PmX!evcv)bB!+16khpdPGYlCejS$YCSnho{?@CV`J0!ct3Pf1u)IAD&NCOCp{VO8 zoa6n+La{Qn5M!x`^RkUqQk~`o!(DMC@zA3pZyv1|w&kvB4O1iu9>jbYq{KkuKVSjA zD-koRGrPsWjvs4%&v|rWs@;dV0_vHx1muGZ+bqe&IF!Qujx`x~+#rm>iFZmvUfm9>*h?k{IAdJ5W=;-i>8WeJ>b4*VHBTD6kl62mg(*fSCBkq{a5GigE`YSw~ zC$D#{mp3;?CwyfKlOy&qIXs7L@vu0S2JuK`j4}tlnuxE$+J?>BzLE$*XaCsad)aW` zxTUh8&}SZd(eIsrLxJv+CA#(TV&67f(#%5Z(8JtR?mER{XsaV^Bj1s>N{5CrIUoMX z&y-xLuSANH3WmV)kEKR6g>?c{f7OAp@{DpHm&-(vB!8+5@|o;9>D-dp5-G)_jJT~fX2F6oqWV~Us9WZLr-?X6zi z8s3(#_LOun{3Q{$?(v9ckunNhpFkFDv9tr_i0D>;S7%C$i>FEeeQP z+s7ko1BMW%&%XU8N;_)DF)EkW)EgxiNs3<pyKW8oG=j$z0CdYq5x zd*20g#Z~r8D*q5clpa3S8q`9Xc2Wv>H+tJRH0I>|@%s? z-m>NR5*~=Ka{HlTlrUv^D{|IBl$YfQpmfg!XVHGqo1XUKo$)W06%oca-S33TV$C%$ zEpaT3?isBU+F1R(#!Knx*4ypwY1O7K0N$?JYlp8aZ8W(qW#Y*ZF?s0_e%?HM@=58< z21e@*Jtr&lNE^S8`09vJj6R;7>t$|iE17ls>+3sdbS>idt4j89wXBgcKgi>Qf$V`?Rx^O+v>vlLO_W)#PdU_Uhd< zwWQR1dB(Joj}tY3;NonZmo)M$bnZml&hg1KEnxOjoO@ob8v$Ic3DXc~_`=Vd(=1XQ#&x_`}HQ0vQ?q+>bLC}adkXzEZJo`2v-$>5Vw z(5j0qP+T(%LqLWbj3(|&75C16{wyE0C=^3no&5_|+n#j*F(Y>c_2kBkRReWYp(6b*?v7LM(0P(@tI!R(djvA?D2$8_-A-uTma^ zk+p{f&EXw|Y-Ze_3ucJWYoit&M8fpyCa=^AX_?Wf?)=vot0O$6QA>(am&WizMd{3~*`}@3TqXZ8#oP z8==20nJIPIVy0NYD{RJMd(p=_GS_@B!P-7;*0Y?$lsCz-4c6`E-PT zmmUhGFHMww1@@|#%9al5lABK|od-tVGBuDi>|ahg_YO>yCtcpv1uyUoB=Xl7qE)9Y z9xjcmKp;_!x2Or%bA?#^}If3=Oj&Sc_r`U!+X>c z6T;2E0KGMyep8-UPo*W1$)o1pwC&&ZTTZwoJp+97YdBse9O4)0eS{5DowOv9?bOhJ zn7bh7wOkuBG!i!LVYWYv@MBOT6~cND2*re2_FK2En&T9-FwcyVW>Zi`j$uHM@rD2-)ML%rbS9j ze6O5xSi#2Y{flEQ8t89*;wd8S@fE-T_j<38I|f~o$^)(`;r0TdmTUX51TSju!mQ-& zF_<(mlEhD=0C>20?gn7?^;;Xf)Drl2;1}m%rQ`@9mv5tui0Sj1IDA67A%8D zFX38V`SjjV&{LEY;DGFqxiJqTp`69r(f!L>z&G}vES$g2j#?yMtR~g>xhE;{i|qX| z18KoX7xqzByS^}ud_pf8`SQ=x;0B|wQBnD{6tr>yhd zEfiQu=$NeN4B_=u)$_Kn21b#0MBWBb7yPcR6l14rkhNZ%HK910p!w@sx&$Cq1V$Cz zfy9nlg&LS3_$mGB+04<6+3&kwuZCPv6loNVBI(A)tL5^xU1)kk1aH^oB{Dyuga#hG z{__&wcEsUqK)Uboo1=->e>k^qiH!JRdbtRkPbddlMF7eD-zj;S z%jdYQmg=+ztvm<=W0{GuhFJq7O|lno-)c%V0mW&J(gKMU+nj~}4!Kv9cQZTXBp7wb z^%p4plLQWLQA(@K^_N^sNQd&()9`_Jm(~bs>H{GSad}4;UqNp?uzg z)3UK-_#P{t{0EgT5g!}Fmk;INA@Ce8Ts8|JAIRd2mxpP`=lgO6H+zn^;k3ERO%#pf zoBcAh6n=aMB)g8KigcT<`-tr+*6digdIqiY$)sbRBimk7o_^V-imJeV9MWKEl=(lb z3%&YJyti;pcQTlsy8Ld1c19hKh%KGuoS*GiK=A@dSb(Pe@5N_ z%74?sZdotk{&XA&!6+WKpr!p)s(&>xTqEQ^Xt`eLPwD^NH!zBWC&FcYjG8FoN%FOP zCLj)mT0OQl>X zm9{|+GtXGR7rAwGv=;CqxYHZ9g6{fjIyAYOIi0p^*xf$1K?xFQK#IcCuESf)dX=Go z`f%VCPhjdVb+@uK&?x|qTbJ8D-qq*n$v(*|oQ^S(_^81Lqw8P& z`K`)b6LtEw+U#HY6g|1uQxW85gQm6)|KbO*`<|CJS8)MCQVAiyyKW{TJ;uhVeEA5( z<6iGeBIR+%ql5Zey+-f-J!{`Gsh#%udUoWc#qY zWYm2TBB)by(R(=t9hFJ(tbf<6Y`Ezqq+$uQ7&KccU2iFlsYuJC}0NSZqn$zXziGII5hO16jp7kuB{=D+hPkn3V$vju>9LGfM0ZSIpPlaOD7xOVS@Vk$l zBBm&sY)0xd4=l)d+3%bu{-_?%2w%KlsfbU<@wAz4a7PcS^f7(rx+>wRZtf+n+r-Yn zof*3(JTx*iH1ZhznZo>SAf260kRt&V=qBRWDnEO=HN=1rpO#0KBDjR+t+5+{J?&L$ znAXA~12SXRw@6ra8L+mS-6J={rrIsr5gt)O(%OM_v1eIh&$M6~B#y zy|}jjSAlMqo7*+Yvy_oWF`jnQ?WN7AH}NRayst89SbE5s82NJE@dp%_YC&JFOMGBm zVwv=O<-;yYy%!&$js4@$3T3%PzvA%gPoK4=Js)8nDtUD$Q&Z1Nfd4=<`8ke0ze5oU zgFHVO%b?QmI8T|Mb0;mTr@9ioF zCl5AOv}f~;GdQ~<_PFkTmH9r+=pQ(4f9I@K?wp2|;Bg($TJeIsr8Gp)gn7SIW**nN z^2@~ANKgoQ6DOtdsFd>M!)N^2e`$3(I%u=;I-A>hjQ%lp>yW~by_Vbu>aiR}a={OGJCeY{AK2M>hn;Ps&h74`SA&E2SF zxejY5>c2I~{V^J15sl4hc@^pWd^}Ci6IQ=c7XC9p$ZWGrOM*E&+1L&g0+;S1{&sXG z7qaZBZy)k%^SE~~;z0trn^KE-*yIp(P^2E-i6;KxPKrg9R@totC5v9MbnrBD+&+Jwprux1*an zflUBRf}omRRIrAIk2k5r;$W+TvfLDeHE?XUDv?$U@XTXxa&!Qg2J}K<2Oz=sqr_YGJk}#|bSr)w} z=YPfH752O6zUcGy9lWDk5)3C2nC?!GakRU#xewL0@nN^dMk5r4T6A?bAu9(KyGG@x zbeaV|ZwOAGJ;}^0s}r{WL+$9^;Jdf(S)2kbpxwV2*0JjEDd1l-IuLB#9U?CyKQ6n9 zyRT{X1KL+2#8^eA(2Mo%GP)afH0>lf%(boKWF;j#x?lQrZUJkCywWvV(lf#a^pe5p zk}&>cvA-rpPcl`U&S@`4CE{&w&5w+B)j;rd$x_VWnO`{_q~1^_?}O@FPb;a1cjm|f zd2cBFc6OJkZpv0T89UK=H^ywtJN{Nbr(<|Y%Hq5+mL<~BCV^o*I-@C+gX(C(6 z$Qx>w5L53c&d|Is-@7xN(!F&#DIYTeup-#mINfaRP(24=-4hL!LsWjPMqF<#96pR5 zbWEqu)V^A9zaNe&le_qx%#?ayOdW>FPuk0O4hkKlink!z&m};k$VKd=$vH8gC}Q7b zuJ!WNW%(n|9OaBZP%O(L_+PNuuhmJlkn`0pq=O_jF~Zj$Ua1PInW>TP5z%E$Sj)*| z_z-stp9=@j1B*{?zwgL&w+>Tra~RPL9O<7>6yTPoJyTrP#7nlolcIrBYm|JjTeo9OL}7(7$z84$t`WXd z;gW@w0N71gWw>jvu$Z!t7D(&81y{fK-%6bP>UO2nEzp)I_owH^y}`f^5|9GNU8?=v-Xv2gXlfa_vrY672_q#gGSg zYRk*#$OvT83j1a5SsH5|q~M-yj?egVZDBbY31hREN_rKT$5Z&PdS;uxAZ@9-OU%hF zl1tZsw>=6To9qM`r(9$P65!Sq6C`7-9Bz;HI3oAd2OL`agTMjt%@H&s6S&O)(2eTd zHE0EydD#A3J<}~!#(&K|bmEC)Kptn)tEUfGyFMbIm|R*H2Y)^&lZjUOZ^a=7LT%u} zLEDlbsJjL`(WcR3w$x}4p$l8u5`};g`lEUEu?UhleTuOhW==p9g(vwBe8voTMg0v_ z7F!~^_CAC(iQm20h>gcnSLSm5pH$+1U5MtXL5{zdv%vabRi0wHtVOoM#=?W#t2>$? zli{(Cb6az>>*&N6EldCWG5OO)f?tYt4=bxHJZeT;EA-YyQi#Sf7{SwI6a>K6WAnim zBllAOoDBvL&&IFx!GIO#LnSTenXQ`E|2e2w)feymPGjLJL~BpwxZEORyowXD`RmbX z867A9&@#}o&Bwrk_@2f2YIE-!Ew%nvY*5Oyx49`!Q0zO!vG=4&C^Qbz~wa1E- zr{Lr{HCfmBk#vTr`xq1kbHC0$zd4d_sjG^G`w951>`EC?<3c(J>LYlfOy;A(w;QiE zvMuIjLMDCjR7bmz4UbRy?=C$E@S|M6o&!fB1DfvFp5ryf@tvpzTH1{)%{6nR_Fl;W z{31>VP~ZH^SYgV(S(DY+fO{1k`DDqh>;Alf^0xwH$*qT10$!nLJ;B1wOp8uVZ_*R3 z_m&0iZC2FV#tGs&n2Gp=l54ye_>Nu~6#1@ko33r=%>LfnarLL0rPiTusS;|oGX`+q zVaEBG!LIlP>Be{WYWTeG@E-T7UoC6kNUtqN`*QVBtJ)1Kg8$ijqf{Aoqx_`TkXG0D z@`8EyZyhRk8Z84WOJirtk(|-)l#yhL2xEz874Np+8F{w&kM)ITXbnz0DldmP?43w> z48PRjr@=Ytp$C?w02R)wnf{AUoAXdKiouV!kun)*M%r^kG+%zUo`M!)fnL2H0;Mo4 z-lCI=swH+*@dVfvO~{&vQu@}qk?2*+Qt2bsj#u<6S;R9eySdCb^69K}cik;` z>W~q>KW$`a;2WdW`^%KLw86PP(57S)a*|l7-l;)>3!4cMAe$EL7FlbW%{oa2TG)R>iYQ z8OAuO$J|+8sz;z`5#qk5VlsS?HHwjUA&(_^IJGvZFGpK0V8I(2IGO0AQQC|e_et)A zA{sM~k%vk!a*N%zH5NrYP5KIQ;%Y{4M`RzzMhTZj=+}C7=m?DA=A}jqJYVffjUce7 zzjCwFrxZZtT5+TZ<%$T~qNmWAj@>9{R{sP4@TzU&TxJrVR6V9x(}n!}%sZV(#|(=+ zi%}#=f2!+yeK#|HVY3L5-)qh5qU$rwQR=e9S4}4^dYYF#4|oJMxA(EKEflbaY}UJU z(KEC^b8jns0We0mw?3N9`}Y6q?5v}ri2lF77@#5`AfObYjD z1k>gM%2b;H{hHab(yn#LJ}0zkaWj>=XTjng3x}xi zBY)ELN9$q7AJ^}QyIVn5?~=zI_RPlLwi#PX{ITBpT=&^qyxRRw)UlzlFRv-xB9x$~ z!)^^4)(r)uOpJ~eCM)K`BiFf`-S)o)-()#`n*n^n!$yENyreQt34(VGYeu5d|W-RJ3O zT8NbD)$b)4Y%x?0=BBtCj)$kqJ#!m|uM-`G7!6cZ{-oGWyyayZ=k6wK5XA`eM8DH- z`k=!AYAFfDRxv4E4bPT(->9m4MgWwdr5{LpnKG)0wx;rO=Lh1@Z513GLra_ygo8?b&JKHJOYIi5Z?b^oPVQKd}po@tuDX&i|4!*+584So9l9 zbw$-bLyUhjjKF^lF($Gu)KI$)e0#!@Pp>cR{qg((2?jMza7FumSus__>K*>94^emU zPMN+>dw|%jq|L+E>!$jknM(~z_I(oxYu z3`5@HSKr=xI1;p#r2IHm2*SIL)h2%e~W`sz7$Bunm-d zy$5AAdOO!l+MY8`(;AyGj^NYRd%}Nw0Y%w^vy-@YSaSsuAMMa4^EYC4%v&GYv8RoouHUqevwu?z{sstsG15O?-@Q7En zf68RH*4J)cmg&B}nBlk0H5KxXryw}t)%D&V-{HOG+vcJN7~>a+cz^~(Zt*!r6vNfwbW1;jRVf}f6{}g4Sihfacf_8g9nStPEm@njNg6gws4u-y-FSzgrxx57N?Vf7xGp9(|5Y0nmi+Vy_b#!AIQUcM%Yy})Y<{KrEguCs)xc4XRIg)g6#HSgT)2LZ~ms{&xywzz)1E4KF3Bp)9_%7^VgD*EB0bfdEAibN05P93{>ioj5Tt`we$VQk%1;Fq{n4IB34D6-ZRS8yi! zaqUP}q@3HjYI+AWL((hot3fjOp}{3Bjad-1pvDxqqPCf1;&}bHq^bRYCtXg*-t=Z+ z<{;y?lD3}rvM}KK&%r{u&V`lU*O((mK0GZLk|gyO%)GniJbyese@F`%^!izol)uP21G8Z%&i=~HdkTju5;6y*objQlph_5VKm*Z2s34qx#R z+tsEa2dMkmXtE9z3J$jn{7{4$*PPh>)vgI%t|4yzx#K%~uoS1s&OLzG=UI^g;rwMG zNn1_5q2N58RMus?xCGtq5dzJ&Q;vqm4pY++d~zpt^AtY9`Tq^&(q3@pe%NSnmC%be`J0OH(jmC#Nw$~Y4Im#@YjoZA*0IuU{z65@yXHQYOnU#LQ%2oNvKlJ7)y?0JL?EIt8DerF}pF4 zh&MewBgEdE1f=Bi7oIm6sLL1Iou57aFfS9D^i-)6T*jx?OwX_b=K30=uv7Ex7a$Q4 zNLUa+SWOK#(hrA#=A1HddWvX|LvCvWo!Fi2vockB!m(-al(YfcXS3*9YCq4XlS+Mb zWWH0Yi18UZYwM6Kd+nd#D&^ixtR58Wus$_b8Il%o&J|HBhyUJs-R}(^MZj@L7L z>569MjAK3{0JwUX?;eDrnZut=O!fcl6QXt5=j2p1W4Jn2c)2Us=2=NGT9?m2Ftv`a z>hM;{fGWs(WM@C&Iy%l?__C^VP`ar*G9>1js>kWfn+cwLU%*h&>MXNuTs>Xf8^|f{ zfFuW;d6#k)!l$(CjM13B)^xv(bMFicWoUCzGFV9`-zxGOZA;8AHd4F0J=b(!zaf8vViPJwqy5-V|6H?(tNR^8xEjnz>txlmRuycoP-<)dc7 ztDT5L^)%5$L2s>b)NI>m8F$Sl2*!S4;gc)H9o0_2&6{t+ad?-TNWkSX(kdE#>1{ zk_S$tv&x#t#kTuunzY1h^7j|6<^)rIUg|sO@G7nynt8?bzLPPm@E-1Z69_8 zh0E-W550zub4=704t2xgS7ivUb@|K8qUg+&;{O_=6CK7$=~m>ely2EGn}BO#?|~h8 zAJM_F>hEpJ*8|E{^oY&%EacL|ZV>bA;R+h!l*ZzH=@lzKXGE@|h0C>fRe$Eub2Wq4z2t@Tg{FY%8&tekAx;WlC)OEBZ}@Srz$&VMc~j+D)TF1g zY8X-BP0*%rNM%+Kyp}%jj%RW}#bbS)s?W{|E}iOh4{8}1(mGRWSV!8CQkYS;nxc1{ zN3h7Eo+cirkS-eQeir2ck$l2=2J z)g@Gw?SgspyXxJLZh-u_PlWp+iK zSefyONi*LPMw>;mgM!wCXa!#`7oK35Cy1iHsK z<)gJiX~UkM0z?o{@Zo_HJi4%rPMfgj=MTU$JlVC@>`>5~xOU`T7$_WVz-T&{aI5We z+uAts z*p^+8Ao}W(VXGP+->YQ9-_K_bQOLS)l+1FbtYrlp4Zw!W>qMxk9$RjjqOK5VIvy>8 z^BVUL^nHB-Gh?hNIMvh~T3Q1H=4<4lG?Z>!);-G0P{G0%h4;0Tz+q^AsNV|7a zQ|$xLc&1(=F~{*&W1kZRWELhwaNyFFhL5VXzSLr!rnNS9w*#xX3vjS5*SSC{OP#Lk z`J5sef2^KqU;K2;V3pYHF+I2#GD4OeZ@jp!E-znXnIFeQ)ru3!A5Li?SD8#o&y!ab zEF3Pb^iKV`D>eu`1aRuWrpjJArwHM<~<6%0R&ff^*PN*1cz!R<;9+SdBm)$el1j0#|H6Vgv0;IH*BLHasGZ~ zq5sC9ga{E%R97TSDi9g(`s1|tNqD-@;pj5U!PocjpdZ_;`W-vMgNc)LZ)*jz2 zd{G%RG#mHMd0*yneJcB}2`Gb>?Di;s4Ls}SSt14huO#QQD!!`4OjN^nW{&!!_@I@R z5!WEEO(xA3*y#A8nsG~~#%eiMvdKvzrpS=~E)cp|IesC4DN0v9~Nts0SQ7<=-Z>9COte!wx zY)Cba#K|M$SrcWQ*3D_w5hq)6>30D^Rujqj+OF+iT&qG8W(=GfLm~u>Uw$>=LiT^7 z_W%XNFsbtp(u5(N%|a&5NBHaBTc(bhujTMw7xvOY^CiI029MsE=XrxP1V>7 zT*h>%bfIH>DsDrqq8m5OZ;I5KfX^VC{moHaJgMKEl8QfhjiW`a=55+01YRqS+y9*e zaQzeqUALeL&M|Nfb+UBLv1V>=b@`R@(M;N8Y^HU#c(J=+&5aRg(gjM z0rlRTEu1Zw_;mlRk&>?3did7TkNl2XiI{+W6f{w{V;;CD%%Q`awSy6AozE%CED^ZV ze*YLPtN8_JQd+P@WHkr=@zj%WA)n*1@RWfPl(Gfa96EU$a1ySGPuNqQQp#1;^W0f12(%Tal@&495A*6N zSRE^j20jAj@7Cs2fqj4eC61P$r^+V)JRL;K$mH9OJc|vwx`k-rF`GtoWk|n@b;YN>Sk`U zl2kQED!yer)`jo+<0o6X-QhveuM2g`vDd5OfJ?PqSVtkB|SmjFpHVc<|Obq3QaZ3!8HLK#K3Z=5P zG4u{Or^rlm&Su8AqO3DKY-GAtdZ2gkJLZw1d!;PZap1ctc=P84(92BDdpNM;`^6CG z(#fqOC*GZ|6WLUH&0kZ(#_j~y6JeJ}C=F(o0kt*UMLjeT`IH%>B zxR9edgfUdhL*#@jO3&51+rwom&w)XVol~qBl)aG4c~0cQVRmrRn7G-aI%b?q>3b@u zNQ3LG9m)kDR0ob1Hp75m#2($+15TQVHRzQJg0TYL;%9Em2nd~W&NT?ukgYU)Zw`5j zt!pmRW1qQ>6HmXgwcH7FaswBj~zqo0X{ZyE35x z`;t=G*f}6D_;Wa)ZTCQ0&uwBfW^9zPNHYJVwxO$2eJ%yrm{aLSKcsULxGCz1&X++( zQO~xUg`6~X7qLBde_ge|nVjCNKJL1AwndYR(?%CXK z3ryWaw1)rF$Zv1C7BdUoBrV`EjUSV{fV_XTsCv@X1^V6nz17?x?Zl)241Qz%5f@>p zwP>;`aj7D;F3RbrS(k_ou-1H-2}4apjbzwNFbfB?r1V76+qK6~h3lkw;uUh=O&QGc z!+P|0#Eoa~CzB%GJX=Jb#@5;XERz z)JDlQ)DK=f(?IQ6D-<>A$H2aTy=HNR#|2kHAr0lB{9Y7K6txBLHQp6gpW(SmFBx`D(;YtEAXlYNC{Yb9NxzXAwMl`O!bLS>jVgX)0YW z6wl6U7qq=f`6m%Oye-977}VYeG4Oe()g?=pf6Hm4y+@RazJI9oJ2z`z~Xc&kd`aXxM}cw@Zbnp%C+VGkb`T9%I3zJ=|g3(n#S`)ztYAp zSmvOh=pFm3@sX&+i@T^dn|q9tlQPCFt?@4NL?J{L97$arHLV~biA-l+%w6EK zTE2U$$b=81ylZT$5TQBxku2D$arY&!w%I{ZI~RHg05s5}D8>0E!D9w-A7S*qS?@sa ziXzJ>mSS;_Fn$H6;sJO3a%^ajKa81qntslBzM?MQ?dhp$N{05>Kl!0XyzALIP|v-+ zK{2*l4)5$H$PtbGrPMW8)YCPcJ26}u^q$%egx=Zi@rjhL?cRY{s?x|VQm&aE7||y1 z6`}wEBZ@f~7QmpCUISBs$=&Iiy8E@JcUBgn=np67;raGrL4xTmpbRZc2R zbTpm2MgcQb9O&NwM9s($qB9LwyqHCKmX~*x%2ci|R_sPHZp-)H`d~h(Y?KFeTlujh z^k`W=GB+~4`NP^y(R^Z3*mNNCy_1d}eP7*b;~X6*0rPO|XGNRI#co-dLJ1p=a4LZ0 z&mle3cL|pHcsYHhVb}GCVe`_$xST-+bwEH|_!aLr+Rwv_AS7>Fo}+4`d=&Fi#pIh`$aVQOZ~b~D4J;l$ou zb`9}8lq6(}AobT9E1#$Daw;?}$l~$=u=t+X@KPs;{P}AL?-Zw7R^B9C!NbSz@qV^C zpgP@!q|M@&3{#pyv3Ku&76^5Ju1@>Zu0;gTcY}4DG>Mfoz|eNv|0KXBDV)@|DUE7< zSm0J|`5g}ti!&;)IOut>j8d%EmiQrPJ`GpOS6aYmy6Z$@DRsrN$Z9By#{r}B*^JaC zNzaC+fG;K*4(5?d9SQ`;+d+QjuI$#PSbSL-u?>b zn7?1+2-&gvU4ot;&KqVW0qW8Yl1?!MT`&_gMpsUErH{5=7rVXZ2Qu1Mbu=p)PF<#5 zcL*e!_yQr4$p)(?V~lgPL9MF|_f+nh?#$k+qF^MywkY@|gv{QTN{wL$oK1Hk+P?2g zFLr)`?t)X(9q-y;dgXbk=?oH*Ig=!|0@EYrRB*+1YMov1LAU@gy6I+0mvVNXg_ze< zhY?+KWg9AM5w*jBkVMr2)>Zs%>hY5>-*L6SVDSszn|`l;hfc%T&45(8vy2Q#BG3M?~wn*o0_G{~HqCGy$Z=Y@KD^=#WKsP;wPwNf=BNl1ne z1rxGuRbN(+fx&TQDp^XpUUQfR``>KzTJ(dTv&#mGCezfUy=2ryqG?uT~Ia>+aB&Dv+SvN#RcPa+*flEh9@nj zYFPOJkl~iYWR1~)g$yDWv#~TM!6v(ztytweBEffed|f82@tFs4920{Tb#=)C^Si%? z@d(#1aMkwZ(8p(Mo!t7<)6QGXM{z^TUFj+bPd~9nG?nh8Ht*dCzD1@6u4#$9=*Q~PuL(=AXi(W_o$>KR?Zs*kkOKwQzSOD=qMeK^AKH1W1 zXp2sFi}+zQ>bLibqB6{cw^UuH(?VNj*Cp?5S;l(F%T}-6Z#d;9cSo!jK%Lr(YZC`usE_G^$+M-7gQG3jOw|TUmXY4e zwHimqJp(aZo`+9s7JsmVy)k&|Hy39(A>8`UT`%(ZTLx69*NuWge0*vSsi@_9mybP? zXI94}Extv(a2aRF)k6MXDpUH%5#t9icSU#mjbFxs6V0ZP}E>3ni zF5$of<5QF|d4eu0t~U8Cf^TAW$LwK-V;k6MKiFFEO-WDf7_PMR-6gK3mg8_5L2;}b zUTT>K=!IohCUnP-!#ognDrjzgP;t#*(uK}Wgt2bsGXCSMRv@+;T#`B3(LZ0hv=nZb zD6u1w1bA+gDL^kLTdkKbZ_U2<&C65$^EJ{$c&Rj|r>p;#)H6KZIv=fHp}(Hm%(2U3 z`^wU+@Vmqrc?HVFNL({uulx9>A4@sT2cse=lKdkbW58BCZX$l#CBM+|=UgZQeOkoFuR{-q>9H|; zILBjj=P$NQbYkC8Q1~9*XoE?vH53De99c$9E-kO$Sz9B~XN1Q)^NyQ)*y*bE`Jo2Y zw_Qug*Cg@GKikZ1Jv_hcmR+{>@$zIa$34m==nL?V{?2OiDu4<3U;Ii>+=IJyJi}i; zb(Ntv6EhR*Zef3+*U6ykRp&5NPuc-L#GtpzF&-G_14f;83U(9d)Xx#2=z!xfUKdc; zQW%-{4uDrk4<3aPgd0C^k!Wz-E~m^jS~7jHr6>P&NqIxKvLLWqx`#-o1*rAxC}W4> z=OG8+K<%2;eLM}_wT?hT0kAM{%XOlYkX~TYrLCaky~~pq4h~>p*Ztc?#OP>Hx;OZQ zqrUh`h9r$WC)3m;@FpGUt#Q2W7IfG~82={5$o+ftRfIy{nUYCfvEcID21C+d)H=rL z?3~koK3_+{_B!s7CZ+T^P~WBHH#v7(1*X8aJFIj|P8@UCzb?OV$59NZ` zq+@?*=#<)|6j+n#3vMuX0@pG2SUo`x?^gRRjTVdHk82Ub^yLef{U(A!`J|Sfp;R%^ z%`4K{(Gb?xQ)ObGdLqg7WlsE)IeuS0EhVpy*WX7KFw&~u*xheO&#w?;IT3=zn`Ux_MMd4XL{#g>jqSQ>we*V`UjX*HurPSP^I0|bK_~Y(c%=bcpHy;R}Jb}{wPVZ}zkEFvQi_2r-cNQL$r@SKd z2K$l5gku=Vo@F`dg!(*+g?`Xze=RRSHk4}MR}7d%9JPiyJ3Tj$o$fP=L$f+dzxDc* zG}x2Yfj<@$mz1;k+BrF!VTz1`HoER7`^X>u0w5k)W&^}VZ0Wd?m@K8*05_cpPzXf| zGYYQ9t}zQQ5a~^n07a(oP7|$ifIvgNp4-Ys`SINS^RvE>E$2Uxz3mc!nCr0HM21N{ z=~GtorS|LdR+S$|H->Si{v@*_cO+(rt9yHU)4eJ!r*`P;ys8?y0{ZwCj)j9H?H@L8 zg83kbvCaj-V%~yBsQLWtV_x>aq#gK_K@~&z8Cukv(0J|2cdxsf#mgd6#>EdUq_dXl zeaml+CUhpWkg0I)ov#t0$&v$lq`eV~I?k7N+*;Y-!E}d%^PShsj1H2kjOb|)V!6fDW zuT>;k{#!)}B8lJh+Nr;<2CA-x9@&VC%ZX`ii@5-UL$TRNrPfQ)m9M`(DNDH?={IMG zjvkiuLFhJa4I$mSUh+cO#YbMZT;dpqb=9gm`MTr?J51(l2M0)G6~BD~y(`(TgLYz0~&V;%mXl`^e2FxPP|K2+X?dPyLIpi8B`p10>tr1$6c zsV73>d+2VrvMDF31THBL6Z30kAE!22%$;54y_L1MTR9x!hGxqr2&o}AqLgyYdLo90 zhk>P}A+8|_YymX>!F#-WK!NW}_^)u*+ij(H=9NN3$6a?;>w>IIhwm#+)9ePP83vvQ zWHwo!)Tvb8fHW5&VZ}#BN7EkM^)ZXRIa4BO)cRr|q}Hz(NDCSuF4sKm^Ha zmrm-_qixcwH-t11c?Ux&pLWX~m_Yjf!NGx&vN_fE76Or&oGb_oNPJw552t~d)Y+9r z4inhc`QEzBRfEtfnorElQ_aO?xpFf)B(%(9+>%XA#~U^JRqGlO6Efpx(Ja6{FCNQ3 zzn}dr^2iW^`WiN-YgUe5Y#a--L(fidKB=!yt)(Te`o5Wfmx;K(bwwj5i>Hc@wB$fe z1Xx+4>IZ@rl*Qc7BU&*EO-87EsgyjF{Q31$L5<8QBjTw|@M=JOzkxv8XCI^U#p`IT z#i1x#Tr9!m{|Rm(2EB{U{aiz1bt9VYljG91mcI?{6+2ZfKL)-)hWU3XaI?#Cl{Vsd ztc4w{I>A@319$Lu^QOiJ`bD5N%uulXwdn3h$@nCRP0XB(v7znGC`s4_H7M)6d~GT$ zbl%!i4o@)SX|uFFVBzwq{YS}(UE!Fq|4$= zEBFp%kqE_%zX-17#1x`IT~uzjM%VSfY;F4tL6m^PZ5@vjyZY;Q+mZ`BPwZ~%#DKUA zd9cCA*xTLsGb$afwxtGM6Df>od1jg1-|q`Y;lN$ta26xmUf>(}mjlkLkmyk2?t6~O Qe;EjhvT8DAQm;P$A48cq^8f$< diff --git a/apps/web/playwright/snapshots/settings/appearance-user-settings-tab/appearance-user-settings-tab.spec.ts/window-after-switch-linux.png b/apps/web/playwright/snapshots/settings/appearance-user-settings-tab/appearance-user-settings-tab.spec.ts/window-after-switch-linux.png index f5c34f1c8ab8b8026ea3fdc136fbaf6b16a8362b..c1607c9a8f2a7577a997194ec590f11d4d33c12c 100644 GIT binary patch literal 76299 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�LH5CNwnVvZj7-lJMT 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 z%0A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 KB1+yY@IL@|iUGp_ diff --git a/apps/web/playwright/snapshots/settings/appearance-user-settings-tab/appearance-user-settings-tab.spec.ts/window-before-switch-linux.png b/apps/web/playwright/snapshots/settings/appearance-user-settings-tab/appearance-user-settings-tab.spec.ts/window-before-switch-linux.png index 5d36c3190604f21dd28a39385443d800717db23b..2412bd9963ec42adf56606230848f39b657b39e7 100644 GIT binary patch delta 26771 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 aHFOY{e6K4N_6;&8{WMf{9wHw+d-H#1_ozDn delta 26710 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

-nn;aH>=ZF-3!Am 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Ð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 diff --git a/apps/web/src/components/structures/FileDropTarget.tsx b/apps/web/src/components/structures/FileDropTarget.tsx index a81c05fbad..8dd748cecf 100644 --- a/apps/web/src/components/structures/FileDropTarget.tsx +++ b/apps/web/src/components/structures/FileDropTarget.tsx @@ -29,10 +29,10 @@ const FileDropTarget: React.FC = ({ parent }) => { counter: 0, }); const vm = useRoomUploadViewModel(); - const { mayUpload } = useViewModel(vm); + const { mayDragAndDropFile } = useViewModel(vm); useEffect(() => { - if (!mayUpload || !parent || parent.ondrop) return; + if (!mayDragAndDropFile || !parent || parent.ondrop) return; const onDragEnter = (ev: DragEvent): void => { ev.stopPropagation(); @@ -106,9 +106,9 @@ const FileDropTarget: React.FC = ({ parent }) => { parent?.removeEventListener("dragenter", onDragEnter); parent?.removeEventListener("dragleave", onDragLeave); }; - }, [parent, mayUpload, vm]); + }, [parent, mayDragAndDropFile, vm]); - if (mayUpload && state.dragging) { + if (mayDragAndDropFile && state.dragging) { return (

diff --git a/apps/web/src/components/structures/RoomView.tsx b/apps/web/src/components/structures/RoomView.tsx index 9483b05a9c..0ea1168944 100644 --- a/apps/web/src/components/structures/RoomView.tsx +++ b/apps/web/src/components/structures/RoomView.tsx @@ -1299,7 +1299,7 @@ export class RoomView extends React.Component { const composerInsertPayload = payload as ComposerInsertPayload; if (composerInsertPayload.composerType) break; - let timelineRenderingType: TimelineRenderingType | undefined; + let timelineRenderingType = composerInsertPayload.timelineRenderingType; // ThreadView handles Action.ComposerInsert itself due to it having its own editState if (composerInsertPayload.timelineRenderingType === TimelineRenderingType.Thread) break; if ( @@ -1311,12 +1311,6 @@ export class RoomView extends React.Component { timelineRenderingType = TimelineRenderingType.Room; } - // If the dispatchee didn't request a timeline rendering type, use the current one. - timelineRenderingType = - timelineRenderingType ?? - composerInsertPayload.timelineRenderingType ?? - this.state.timelineRenderingType; - // re-dispatch to the correct composer defaultDispatcher.dispatch({ ...composerInsertPayload, diff --git a/apps/web/src/components/views/rooms/MessageComposerButtons.tsx b/apps/web/src/components/views/rooms/MessageComposerButtons.tsx index 94919e7788..6f4f5d1c44 100644 --- a/apps/web/src/components/views/rooms/MessageComposerButtons.tsx +++ b/apps/web/src/components/views/rooms/MessageComposerButtons.tsx @@ -17,13 +17,13 @@ import { } from "matrix-js-sdk/src/matrix"; import React, { type JSX, createContext, type ReactElement, type ReactNode, useContext } from "react"; import { - AttachmentIcon, MicOnIcon, OverflowHorizontalIcon, PollsIcon, StickerIcon, TextFormattingIcon, } from "@vector-im/compound-design-tokens/assets/web/icons"; +import { UploadButton, useViewModel } from "@element-hq/web-shared-components"; import { _t } from "../../../languageHandler"; import { CollapsibleButton } from "./CollapsibleButton"; @@ -34,7 +34,10 @@ import Modal from "../../../Modal"; import PollCreateDialog from "../elements/PollCreateDialog"; import { MatrixClientPeg } from "../../../MatrixClientPeg"; import MatrixClientContext from "../../../contexts/MatrixClientContext"; -import IconizedContextMenu, { IconizedContextMenuOptionList } from "../context_menus/IconizedContextMenu"; +import IconizedContextMenu, { + IconizedContextMenuOption, + IconizedContextMenuOptionList, +} from "../context_menus/IconizedContextMenu"; import { EmojiButton } from "./EmojiButton"; import { filterBoolean } from "../../../utils/arrays"; import { useSettingValue } from "../../../hooks/useSettings"; @@ -64,6 +67,8 @@ export const OverflowMenuContext = createContext(null const MessageComposerButtons: React.FC = (props: IProps) => { const matrixClient = useContext(MatrixClientContext); + const roomUploadVM = useRoomUploadViewModel(); + const roomUploadSnapshot = useViewModel(roomUploadVM); const { room, narrow } = useScopedRoomContext("room", "narrow"); const isWysiwygLabEnabled = useSettingValue("feature_wysiwyg_composer"); @@ -87,7 +92,15 @@ const MessageComposerButtons: React.FC = (props: IProps) => { ), ]; moreButtons = [ - uploadButton(), // props passed via UploadButtonContext + // This a textual list of buttons, so we can't use the UploadButton here. + roomUploadSnapshot.options.map(({ type, icon: Icon, label }) => ( + roomUploadVM.onUploadOptionSelected(type)} + icon={Icon && } + label={label} + key={type} + /> + )), showStickersButton(props), voiceRecordingButton(props, narrow), props.showPollsButton ? pollButton(room, props.relation) : null, @@ -104,7 +117,7 @@ const MessageComposerButtons: React.FC = (props: IProps) => { ) : ( emojiButton(props) ), - uploadButton(), // props passed via UploadButtonContext + , ]; moreButtons = [ showStickersButton(props), @@ -162,27 +175,6 @@ function emojiButton(props: IProps): ReactElement { ); } -function uploadButton(): ReactElement { - return ; -} - -// Must be rendered within an UploadButtonContextProvider -const UploadButton: React.FC = () => { - const overflowMenuCloser = useContext(OverflowMenuContext); - const vm = useRoomUploadViewModel(); - - const onClick = (): void => { - vm.openUploadDialog(); - overflowMenuCloser?.(); // close overflow menu - }; - - return ( - - - - ); -}; - function showStickersButton(props: IProps): ReactElement | null { return props.showStickersButton ? ( ); } - export default MessageComposerButtons; diff --git a/apps/web/src/dispatcher/actions.ts b/apps/web/src/dispatcher/actions.ts index ad19d1c7d8..b8a4ebdf88 100644 --- a/apps/web/src/dispatcher/actions.ts +++ b/apps/web/src/dispatcher/actions.ts @@ -195,6 +195,11 @@ export enum Action { */ ComposerInsert = "composer_insert", + /** + * Inserts a file into a target composer. + */ + ComposerFileInsert = "composer_insert_file", + /** * Switches space. Should be used with SwitchSpacePayload. */ diff --git a/apps/web/src/dispatcher/payloads/ComposerInsertFilePayload.ts b/apps/web/src/dispatcher/payloads/ComposerInsertFilePayload.ts new file mode 100644 index 0000000000..8445b1610f --- /dev/null +++ b/apps/web/src/dispatcher/payloads/ComposerInsertFilePayload.ts @@ -0,0 +1,16 @@ +/* +Copyright 2026 Element Creations Ltd. + +SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial +Please see LICENSE files in the repository root for full details. +*/ + +import { type ActionPayload } from "../payloads"; +import { type Action } from "../actions"; +import { type TimelineRenderingType } from "../../contexts/RoomContext"; + +export interface ComposerInsertFilesPayload extends ActionPayload { + action: Action.ComposerFileInsert; + files: File[]; + timelineRenderingType: TimelineRenderingType; +} diff --git a/apps/web/src/dispatcher/payloads/ComposerInsertPayload.ts b/apps/web/src/dispatcher/payloads/ComposerInsertPayload.ts index 597db9712e..9712a8303a 100644 --- a/apps/web/src/dispatcher/payloads/ComposerInsertPayload.ts +++ b/apps/web/src/dispatcher/payloads/ComposerInsertPayload.ts @@ -17,7 +17,7 @@ export enum ComposerType { interface IBaseComposerInsertPayload extends ActionPayload { action: Action.ComposerInsert; - timelineRenderingType?: TimelineRenderingType; // undefined if this should just use the current in-focus type. + timelineRenderingType: TimelineRenderingType; composerType?: ComposerType; // falsy if should be re-dispatched to the correct composer } diff --git a/apps/web/src/modules/ComposerApi.ts b/apps/web/src/modules/ComposerApi.ts index c3cce62485..a4b4deed13 100644 --- a/apps/web/src/modules/ComposerApi.ts +++ b/apps/web/src/modules/ComposerApi.ts @@ -5,19 +5,76 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ -import { type ComposerApi as ModuleComposerApi } from "@element-hq/element-web-module-api"; +import { + type ComposerApi as ModuleComposerApi, + type ComposerApiFileUploadOption, + type ComposerApiTarget, +} from "@element-hq/element-web-module-api"; +import { TypedEventEmitter } from "matrix-js-sdk/src/matrix"; import type { MatrixDispatcher } from "../dispatcher/dispatcher"; import { Action } from "../dispatcher/actions"; -import type { ComposerInsertPayload } from "../dispatcher/payloads/ComposerInsertPayload"; +import { ComposerType, type ComposerInsertPayload } from "../dispatcher/payloads/ComposerInsertPayload"; +import { TimelineRenderingType } from "../contexts/RoomContext"; +import type { ComposerInsertFilesPayload } from "../dispatcher/payloads/ComposerInsertFilePayload"; -export class ComposerApi implements ModuleComposerApi { - public constructor(private readonly dispatcher: MatrixDispatcher) {} +export enum ModuleComposerApiEvents { + UploaderOptionsChanged = "uploaderOptionsChanged", +} - public insertPlaintextIntoComposer(plaintext: string): void { +interface ModuleComposerApiEventsMap { + [ModuleComposerApiEvents.UploaderOptionsChanged]: (option: ComposerApiFileUploadOption) => void; +} + +export class ComposerApi + extends TypedEventEmitter + implements ModuleComposerApi +{ + private readonly configuredFileUploadOptions = new Map(); + + public constructor(private readonly dispatcher: MatrixDispatcher) { + super(); + } + + /** + * List of possible file upload options. + */ + public get fileUploadOptions(): ComposerApiFileUploadOption[] { + return [...this.configuredFileUploadOptions.values()]; + } + + public addFileUploadOption(option: ComposerApiFileUploadOption): void { + if (this.configuredFileUploadOptions.has(option.type)) { + throw new Error(`Option "${option.type}" already exists`); + } + if (option.type === "local") { + throw new Error(`Option "local" is reserved`); + } + this.configuredFileUploadOptions.set(option.type, option); + this.emit(ModuleComposerApiEvents.UploaderOptionsChanged, option); + } + + public openFileUploadConfirmation(files: File[], view: ComposerApiTarget = { view: "room" }): void { + if (!["room", "thread"].includes(view.view)) { + throw new Error(`Invalid view '${view.view}'`); + } + this.dispatcher.dispatch({ + action: Action.ComposerFileInsert, + files, + timelineRenderingType: view.view === "room" ? TimelineRenderingType.Room : TimelineRenderingType.Thread, + } satisfies ComposerInsertFilesPayload); + } + + public insertPlaintextIntoComposer(plaintext: string, view: ComposerApiTarget = { view: "room" }): void { + if (!["room", "thread"].includes(view.view)) { + throw new Error(`Invalid view '${view.view}'`); + } this.dispatcher.dispatch({ action: Action.ComposerInsert, text: plaintext, + timelineRenderingType: view.view === "room" ? TimelineRenderingType.Room : TimelineRenderingType.Thread, + // We only support send. + composerType: ComposerType.Send, } satisfies ComposerInsertPayload); } } diff --git a/apps/web/src/viewmodels/room/RoomUploadViewModel.tsx b/apps/web/src/viewmodels/room/RoomUploadViewModel.tsx index 8b409e777b..dd0ca4a0a5 100644 --- a/apps/web/src/viewmodels/room/RoomUploadViewModel.tsx +++ b/apps/web/src/viewmodels/room/RoomUploadViewModel.tsx @@ -5,8 +5,15 @@ * Please see LICENSE files in the repository root for full details. */ -import { BaseViewModel, useCreateAutoDisposedViewModel } from "@element-hq/web-shared-components"; +import { + _t, + BaseViewModel, + type UploadButtonViewActions, + type UploadButtonViewSnapshot, + useCreateAutoDisposedViewModel, +} from "@element-hq/web-shared-components"; import { logger as rootLogger } from "matrix-js-sdk/src/logger"; +import { AttachmentIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; import React, { type ChangeEventHandler, createContext, @@ -24,30 +31,32 @@ import { RoomEvent, } from "matrix-js-sdk/src/matrix"; +import type { ComposerApiFileUploadOption } from "@element-hq/element-web-module-api"; import { useScopedRoomContext } from "../../contexts/ScopedRoomContext"; import { useMatrixClientContext } from "../../contexts/MatrixClientContext"; import ContentMessages from "../../ContentMessages"; -import type { TimelineRenderingType } from "../../contexts/RoomContext"; +import { TimelineRenderingType } from "../../contexts/RoomContext"; import { chromeFileInputFix } from "../../utils/BrowserWorkarounds"; import type { MatrixDispatcher } from "../../dispatcher/dispatcher"; import defaultDispatcher from "../../dispatcher/dispatcher"; +import { ModuleApi } from "../../modules/Api"; +import { ModuleComposerApiEvents } from "../../modules/ComposerApi"; +import { Action } from "../../dispatcher/actions"; +import type { ComposerInsertFilesPayload } from "../../dispatcher/payloads/ComposerInsertFilePayload"; +import { useDispatcher } from "../../hooks/useDispatcher"; +import type { ActionPayload } from "../../dispatcher/payloads"; const logger = rootLogger.getChild("RoomUploadViewModel"); -export interface RoomUploadViewSnapshot { - mayUpload: boolean; -} - -export interface RoomUploadViewActions { - initiateViaInputFiles(files: FileList | null): Promise; - initiateViaDataTransfer(dataTransfer: DataTransfer): Promise; - openUploadDialog(): void; +interface RoomUploadViewSnapshot extends UploadButtonViewSnapshot { + mayDragAndDropFile: boolean; } export class RoomUploadViewModel extends BaseViewModel> - implements RoomUploadViewActions + implements UploadButtonViewActions { + private readonly uploadSelectFns = new Map(); public constructor( private readonly room: Room, private readonly client: MatrixClient, @@ -56,22 +65,66 @@ export class RoomUploadViewModel private replyToEvent: MatrixEvent | undefined, private threadRelation: IEventRelation | undefined, public readonly openUploadDialog: () => void, + private readonly moduleComposerApi = ModuleApi.instance.composer, ) { super( {}, { - mayUpload: room.maySendMessage(), + options: [], + mayDragAndDropFile: false, }, ); + // Initial check. + this.onRoomCurrentStateUpdated(); + // Configure upload functions + for (const option of moduleComposerApi.fileUploadOptions) { + this.uploadSelectFns.set(option.type, option.onSelected); + } + this.uploadSelectFns.set("local", this.openUploadDialog); room.on(RoomEvent.CurrentStateUpdated, this.onRoomCurrentStateUpdated); - this.disposables.track(() => { - room.off(RoomEvent.CurrentStateUpdated, this.onRoomCurrentStateUpdated); - }); + this.disposables.trackListener(room, RoomEvent.CurrentStateUpdated, this.onRoomCurrentStateUpdated); + + moduleComposerApi.on(ModuleComposerApiEvents.UploaderOptionsChanged, this.onUploaderOptionsChanged); + this.disposables.trackListener( + moduleComposerApi, + ModuleComposerApiEvents.UploaderOptionsChanged, + // Types issue. + this.onUploaderOptionsChanged as any, + ); } private onRoomCurrentStateUpdated = (): void => { + const maySendMessage = this.room.maySendMessage(); this.snapshot.merge({ - mayUpload: this.room.maySendMessage(), + mayDragAndDropFile: maySendMessage, + options: maySendMessage + ? [ + { + type: "local", + label: _t("common|attachment"), + icon: AttachmentIcon, + }, + ...this.moduleComposerApi.fileUploadOptions.map((option) => ({ + type: option.type, + label: option.label, + icon: option.icon, + })), + ] + : [], + }); + }; + + private readonly onUploaderOptionsChanged = (option: ComposerApiFileUploadOption): void => { + this.uploadSelectFns.set(option.type, option.onSelected); + this.snapshot.merge({ + options: [ + ...this.snapshot.current.options, + { + type: option.type, + label: option.label, + icon: option.icon, + }, + ], }); }; @@ -127,6 +180,28 @@ export class RoomUploadViewModel } }; + public onUploadOptionSelected = (type: ComposerApiFileUploadOption["type"]): void => { + const fn = this.uploadSelectFns.get(type); + if (!fn) { + throw new Error("Unexpectedly called onUploadOptionSelected with an unknown type"); + } + // At the point of this function being called, we should be in a state that is either rendering a room + // or timeline. + if (![TimelineRenderingType.Room, TimelineRenderingType.Thread].includes(this.timelineRenderingType)) { + throw new Error("TimelineRenderingType must be Room or Thread"); + } + fn( + this.room.roomId, + { + view: this.timelineRenderingType === TimelineRenderingType.Room ? "room" : "thread", + }, + { + inReplyToEventId: this.replyToEvent?.getId(), + relType: this.threadRelation?.rel_type, + }, + ); + }; + private checkCanUpload(): boolean { if (this.client.isGuest()) { this.dispatcher.dispatch({ action: "require_registration" }); @@ -175,6 +250,7 @@ export function RoomUploadContextProvider({ return new RoomUploadViewModel( room, client, + // Checked earlier timelineRenderingType, defaultDispatcher, replyToEvent, @@ -208,6 +284,21 @@ export function RoomUploadContextProvider({ [vm], ); + useDispatcher(defaultDispatcher, (payload: ActionPayload) => { + if (payload.action !== Action.ComposerFileInsert) { + return; + } + const fileInsert = payload as ComposerInsertFilesPayload; + if (fileInsert.timelineRenderingType === timelineRenderingType) { + logger.info( + `Got ComposerFileInsert with ${fileInsert.files.length} files`, + timelineRenderingType, + threadRelation, + ); + vm.initiateViaInputFiles(fileInsert.files); + } + }); + // Note, while this logic could be largely replaced with https://developer.mozilla.org/en-US/docs/Web/API/Window/showOpenFilePicker // it does not enjoy support across all our target platforms. // Therefore, we use the invisible input element trick. diff --git a/apps/web/test/unit-tests/components/structures/FileDropTarget-test.tsx b/apps/web/test/unit-tests/components/structures/FileDropTarget-test.tsx index 2950f66239..30c780de4c 100644 --- a/apps/web/test/unit-tests/components/structures/FileDropTarget-test.tsx +++ b/apps/web/test/unit-tests/components/structures/FileDropTarget-test.tsx @@ -10,26 +10,21 @@ import { render, fireEvent } from "jest-matrix-react"; import { useMockedViewModel } from "@element-hq/web-shared-components"; import FileDropTarget from "../../../../src/components/structures/FileDropTarget.tsx"; -import { - RoomUploadContext, - type RoomUploadViewActions, - type RoomUploadViewModel, - type RoomUploadViewSnapshot, -} from "../../../../src/viewmodels/room/RoomUploadViewModel.tsx"; +import { RoomUploadContext, type RoomUploadViewModel } from "../../../../src/viewmodels/room/RoomUploadViewModel.tsx"; function FileDropTargetWrapped({ element, - snapshot, - actions, + mayDragAndDropFile = false, + onFileDrop, }: { element: HTMLDivElement; - snapshot: RoomUploadViewSnapshot; - actions: Partial; + mayDragAndDropFile?: boolean; + onFileDrop: RoomUploadViewModel["initiateViaDataTransfer"]; }) { - const mockVm = useMockedViewModel( - snapshot, - actions as RoomUploadViewActions, - ); + const mockVm = useMockedViewModel< + { mayDragAndDropFile: boolean }, + Pick + >({ mayDragAndDropFile }, { initiateViaDataTransfer: onFileDrop }); return ( @@ -43,11 +38,7 @@ describe("FileDropTarget", () => { const onFileDrop = jest.fn(); const { asFragment } = render( - , + , ); expect(asFragment()).toMatchSnapshot(); }); @@ -56,11 +47,7 @@ describe("FileDropTarget", () => { const element = document.createElement("div"); const onFileDrop = jest.fn(); const { asFragment } = render( - , + , ); fireEvent.dragEnter(element, { dataTransfer: { @@ -73,13 +60,7 @@ describe("FileDropTarget", () => { it("should not render drop file prompt on mouse over with file if permissions do not allow", () => { const element = document.createElement("div"); const onFileDrop = jest.fn(); - const { asFragment } = render( - , - ); + const { asFragment } = render(); fireEvent.dragEnter(element, { dataTransfer: { types: ["Files"], diff --git a/apps/web/test/unit-tests/components/structures/RoomView-test.tsx b/apps/web/test/unit-tests/components/structures/RoomView-test.tsx index 155ad5d508..90cba684e7 100644 --- a/apps/web/test/unit-tests/components/structures/RoomView-test.tsx +++ b/apps/web/test/unit-tests/components/structures/RoomView-test.tsx @@ -1079,27 +1079,6 @@ describe("RoomView", () => { }); describe("handles Action.ComposerInsert", () => { - it("redispatches an empty composerType, timelineRenderingType with the current state", async () => { - await mountRoomView(); - const promise = untilDispatch((payload) => { - try { - expect(payload).toEqual({ - action: Action.ComposerInsert, - text: "Hello world", - timelineRenderingType: TimelineRenderingType.Room, - composerType: ComposerType.Send, - }); - } catch { - return false; - } - return true; - }, defaultDispatcher); - defaultDispatcher.dispatch({ - action: Action.ComposerInsert, - text: "Hello world", - } satisfies ComposerInsertPayload); - await promise; - }); it("redispatches an empty composerType with the current state", async () => { await mountRoomView(); const promise = untilDispatch((payload) => { diff --git a/apps/web/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap b/apps/web/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap index d093f4da0e..e5dc083aae 100644 --- a/apps/web/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap +++ b/apps/web/test/unit-tests/components/structures/__snapshots__/RoomView-test.tsx.snap @@ -212,7 +212,7 @@ exports[`RoomView for a local room in state ERROR should match the snapshot 1`]

Could not start a chat with this user

@@ -423,7 +423,7 @@ exports[`RoomView for a local room in state NEW should match the snapshot 1`] = >
-
- - - -
+ + + + +
-
- - - -
+ + + + +
-
- - - -
+ + + + +
-
- - - -
+ + + +
+
-
- - - -
+ + + +
+
-
- - - -
+ + + +
+
-
- - - -
+ + + +
+
=> { await userEvent.click(screen.getByLabelText("More options")); @@ -462,7 +459,8 @@ function wrapAndRender( canSendMessages, tombstone, narrow, - } as unknown as RoomContextType; + timelineRenderingType: TimelineRenderingType.Room, + } satisfies Partial as RoomContextType; const defaultProps = { room, @@ -473,9 +471,9 @@ function wrapAndRender( const getRawComponent = (props = {}, context = roomContext, client = mockClient) => ( - + - + ); diff --git a/apps/web/test/unit-tests/modules/ComposerApi-test.ts b/apps/web/test/unit-tests/modules/ComposerApi-test.ts index af70ce0125..7d78343d3f 100644 --- a/apps/web/test/unit-tests/modules/ComposerApi-test.ts +++ b/apps/web/test/unit-tests/modules/ComposerApi-test.ts @@ -5,20 +5,79 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ +import { TimelineRenderingType } from "../../../src/contexts/RoomContext"; import { Action } from "../../../src/dispatcher/actions"; -import type { MatrixDispatcher } from "../../../src/dispatcher/dispatcher"; -import { ComposerApi } from "../../../src/modules/ComposerApi"; +import { MatrixDispatcher } from "../../../src/dispatcher/dispatcher"; +import { type ComposerInsertPayload, ComposerType } from "../../../src/dispatcher/payloads/ComposerInsertPayload"; +import { ComposerApi, ModuleComposerApiEvents } from "../../../src/modules/ComposerApi"; +import type { ComposerInsertFilesPayload } from "../../../src/dispatcher/payloads/ComposerInsertFilePayload"; describe("ComposerApi", () => { - it("should be able to insert text via insertTextIntoComposer()", () => { - const dispatcher = { - dispatch: jest.fn(), - } as unknown as MatrixDispatcher; - const api = new ComposerApi(dispatcher); - api.insertPlaintextIntoComposer("Hello world"); - expect(dispatcher.dispatch).toHaveBeenCalledWith({ - action: Action.ComposerInsert, - text: "Hello world", + describe("insertPlaintextIntoComposer()", () => { + it("should be able to insert text", () => { + const dispatcher = { + dispatch: jest.fn(), + } as unknown as MatrixDispatcher; + const api = new ComposerApi(dispatcher); + api.insertPlaintextIntoComposer("Hello world", { view: "room" }); + expect(dispatcher.dispatch).toHaveBeenCalledWith({ + action: Action.ComposerInsert, + text: "Hello world", + timelineRenderingType: TimelineRenderingType.Room, + composerType: ComposerType.Send, + } satisfies ComposerInsertPayload); + }); + it("throws if called with an invalid view", () => { + const api = new ComposerApi(new MatrixDispatcher()); + expect(() => api.insertPlaintextIntoComposer("text", { view: "bleh" as "room" })).toThrow( + "Invalid view 'bleh'", + ); + }); + }); + describe("openFileUploadConfirmation()", () => { + it("should be able to initiate a file upload", () => { + const dispatcher = { + dispatch: jest.fn(), + } as unknown as MatrixDispatcher; + const api = new ComposerApi(dispatcher); + const files = [new File(["test"], "test.txt")]; + api.openFileUploadConfirmation(files, { view: "room" }); + expect(dispatcher.dispatch).toHaveBeenCalledWith({ + action: Action.ComposerFileInsert, + files: files, + timelineRenderingType: TimelineRenderingType.Room, + } satisfies ComposerInsertFilesPayload); + }); + it("throws if called with an invalid view", () => { + const api = new ComposerApi(new MatrixDispatcher()); + const files = [new File(["test"], "test.txt")]; + expect(() => api.openFileUploadConfirmation(files, { view: "bleh" as "room" })).toThrow( + "Invalid view 'bleh'", + ); + }); + }); + describe("addFileUploadOption()", () => { + it("should be able to add a file upload option", () => { + const api = new ComposerApi(new MatrixDispatcher()); + const eventCb = jest.fn(); + api.on(ModuleComposerApiEvents.UploaderOptionsChanged, eventCb); + const option = { type: "an_option", label: "New option", onSelected: () => {} }; + api.addFileUploadOption(option); + expect(api.fileUploadOptions).toHaveLength(1); + expect(api.fileUploadOptions).toContain(option); + expect(eventCb).toHaveBeenCalledWith(option); + }); + it("throws if called with the type 'local'", () => { + const api = new ComposerApi(new MatrixDispatcher()); + expect(() => api.addFileUploadOption({ type: "local", label: "New option", onSelected: () => {} })).toThrow( + 'Option "local" is reserved', + ); + }); + it("throws if called with a duplicate type", () => { + const api = new ComposerApi(new MatrixDispatcher()); + const option = { type: "an_option", label: "New option", onSelected: () => {} }; + api.addFileUploadOption(option); + expect(() => api.addFileUploadOption({ ...option })).toThrow('Option "an_option" already exists'); }); }); }); diff --git a/apps/web/test/viewmodels/room/RoomUploadViewModel-test.ts b/apps/web/test/viewmodels/room/RoomUploadViewModel-test.tsx similarity index 63% rename from apps/web/test/viewmodels/room/RoomUploadViewModel-test.ts rename to apps/web/test/viewmodels/room/RoomUploadViewModel-test.tsx index 837eaacc62..ce17c09c52 100644 --- a/apps/web/test/viewmodels/room/RoomUploadViewModel-test.ts +++ b/apps/web/test/viewmodels/room/RoomUploadViewModel-test.tsx @@ -4,15 +4,21 @@ * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial * Please see LICENSE files in the repository root for full details. */ - +import React from "react"; import { type IEventRelation, type MatrixClient, type Room, RoomEvent } from "matrix-js-sdk/src/matrix"; +import { render } from "jest-matrix-react"; import type { MockedObject } from "jest-mock"; -import { RoomUploadViewModel } from "../../../src/viewmodels/room/RoomUploadViewModel"; -import { mkEvent, mkStubRoom, stubClient } from "../../test-utils"; +import { RoomUploadContextProvider, RoomUploadViewModel } from "../../../src/viewmodels/room/RoomUploadViewModel"; +import { getRoomContext, mkEvent, mkStubRoom, stubClient } from "../../test-utils"; import { TimelineRenderingType } from "../../../src/contexts/RoomContext"; -import type { MatrixDispatcher } from "../../../src/dispatcher/dispatcher"; +import defaultDispatcher, { MatrixDispatcher } from "../../../src/dispatcher/dispatcher"; import ContentMessages from "../../../src/ContentMessages"; +import { ComposerApi } from "../../../src/modules/ComposerApi"; +import type { ComposerInsertFilesPayload } from "../../../src/dispatcher/payloads/ComposerInsertFilePayload"; +import { ScopedRoomContextProvider } from "../../../src/contexts/ScopedRoomContext"; +import { Action } from "../../../src/dispatcher/actions"; +import MatrixClientContext from "../../../src/contexts/MatrixClientContext"; const sendContentListToRoomSpy = jest.spyOn(ContentMessages.sharedInstance(), "sendContentListToRoom"); describe("RoomUploadViewModel", () => { @@ -31,7 +37,7 @@ describe("RoomUploadViewModel", () => { jest.restoreAllMocks(); }); - it.each([true, false])("handles state of mayUpload when room.maySendMessage = %s", (maySendMessage) => { + it.each([true, false])("handles state when room.maySendMessage = %s", (maySendMessage) => { room.maySendMessage.mockReturnValue(maySendMessage); const vm = new RoomUploadViewModel( room, @@ -42,10 +48,45 @@ describe("RoomUploadViewModel", () => { undefined, () => {}, ); - expect(vm.getSnapshot().mayUpload).toEqual(maySendMessage); + expect(vm.getSnapshot().options).toHaveLength(maySendMessage ? 1 : 0); room.maySendMessage.mockReturnValue(!maySendMessage); room.emit(RoomEvent.CurrentStateUpdated, room, null as any, null as any); - expect(vm.getSnapshot().mayUpload).toEqual(!maySendMessage); + expect(vm.getSnapshot().options).toHaveLength(maySendMessage ? 0 : 1); + }); + + it("handles custom upload option", async () => { + const compApi = new ComposerApi(new MatrixDispatcher()); + const replyEv = mkEvent({ type: "fake", content: {}, user: "any", event: true }); + const vm = new RoomUploadViewModel( + room, + client, + TimelineRenderingType.Room, + dis, + replyEv, + { + rel_type: "any_type", + }, + () => {}, + compApi, + ); + const onSelected = jest.fn(); + const icon = { myicon: 5 } as any; + compApi.addFileUploadOption({ + type: "org.example.test", + label: "My uploader", + icon, + onSelected, + }); + expect(vm.getSnapshot().options).toContainEqual({ type: "org.example.test", label: "My uploader", icon }); + vm.onUploadOptionSelected("org.example.test"); + expect(onSelected).toHaveBeenCalledWith( + room.roomId, + { view: "room" }, + { + inReplyToEventId: replyEv.getId(), + relType: "any_type", + }, + ); }); describe("uploads via input", () => { @@ -171,4 +212,42 @@ describe("RoomUploadViewModel", () => { ); }); }); + + describe("RoomUploadContextProvider", () => { + it("uploads when called via module API", async () => { + sendContentListToRoomSpy.mockResolvedValue(undefined); + render( + + + +

Any child

+
+
+
, + ); + const files = [ + { + name: "fake.png", + size: 1024, + type: "image/png", + }, + ] as File[]; + defaultDispatcher.dispatch( + { + action: Action.ComposerFileInsert, + files, + timelineRenderingType: TimelineRenderingType.Room, + } satisfies ComposerInsertFilesPayload, + true, + ); + expect(sendContentListToRoomSpy).toHaveBeenCalledWith( + files, + room.roomId, + undefined, + undefined, + client, + TimelineRenderingType.Room, + ); + }); + }); }); diff --git a/packages/module-api/element-web-module-api.api.md b/packages/module-api/element-web-module-api.api.md index 097adf064b..47ef6a5828 100644 --- a/packages/module-api/element-web-module-api.api.md +++ b/packages/module-api/element-web-module-api.api.md @@ -1,566 +1,587 @@ -## API Report File for "@element-hq/element-web-module-api" - -> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). - -```ts - -import { ComponentType } from 'react'; -import { IWidget } from 'matrix-widget-api'; -import { JSX } from 'react'; -import { ModuleApi } from '@matrix-org/react-sdk-module-api'; -import { ReactNode } from 'react'; -import { Root } from 'react-dom/client'; -import { RuntimeModule } from '@matrix-org/react-sdk-module-api'; - -// @public -export interface AccountAuthApiExtension { - overwriteAccountAuth(accountInfo: AccountAuthInfo): Promise; -} - -// @public -export interface AccountAuthInfo { - accessToken: string; - deviceId: string; - homeserverUrl: string; - refreshToken?: string; - userId: string; -} - -// @public -export interface AccountDataApi { - delete(eventType: string): Promise; - get(eventType: string): Watchable; - set(eventType: string, content: unknown): Promise; -} - -// @alpha @deprecated (undocumented) -export interface AliasCustomisations { - // (undocumented) - getDisplayAliasForAliasSet?(canonicalAlias: string | null, altAliases: string[]): string | null; -} - -// Warning: (ae-incompatible-release-tags) The symbol "Api" is marked as @public, but its signature references "LegacyModuleApiExtension" which is marked as @alpha -// Warning: (ae-incompatible-release-tags) The symbol "Api" is marked as @public, but its signature references "LegacyCustomisationsApiExtension" which is marked as @alpha -// -// @public -export interface Api extends LegacyModuleApiExtension, LegacyCustomisationsApiExtension, DialogApiExtension, AccountAuthApiExtension, ProfileApiExtension { - // @alpha - readonly builtins: BuiltinsApi; - readonly client: ClientApi; - // @alpha - readonly composer: ComposerApi; - readonly config: ConfigApi; - createRoot(element: Element): Root; - // @alpha - readonly customComponents: CustomComponentsApi; - // @alpha - readonly customisations: CustomisationsApi; - // @alpha - readonly extras: ExtrasApi; - readonly i18n: I18nApi; - readonly navigation: NavigationApi; - readonly rootNode: HTMLElement; - readonly stores: StoresApi; - // @alpha - readonly widget: WidgetApi; - // @alpha - readonly widgetLifecycle: WidgetLifecycleApi; -} - -// @alpha -export interface BuiltinsApi { - renderNotificationDecoration(roomId: string): React.ReactNode; - renderRoomAvatar(roomId: string, size?: string): React.ReactNode; - renderRoomView(roomId: string, props?: RoomViewProps): React.ReactNode; -} - -// @alpha -export type CapabilitiesApprover = (widget: WidgetDescriptor, requestedCapabilities: Set) => MaybePromise | undefined>; - -// @alpha @deprecated (undocumented) -export interface ChatExportCustomisations { - getForceChatExportParameters(): { - format?: ExportFormat; - range?: ExportType; - numberOfMessages?: number; - includeAttachments?: boolean; - sizeMb?: number; - }; -} - -// @public -export interface ClientApi { - accountData: AccountDataApi; - getRoom: (id: string) => Room | null; -} - -// @alpha @deprecated (undocumented) -export interface ComponentVisibilityCustomisations { - shouldShowComponent?(component: "UIComponent.sendInvites" | "UIComponent.roomCreation" | "UIComponent.spaceCreation" | "UIComponent.exploreRooms" | "UIComponent.addIntegrations" | "UIComponent.filterContainer" | "UIComponent.roomOptionsMenu"): boolean; -} - -// @alpha -export interface ComposerApi { - insertPlaintextIntoComposer(plaintext: string): void; -} - -// @public -export interface Config { - // (undocumented) - brand: string; -} - -// @public -export interface ConfigApi { - // (undocumented) - get(): Config; - // (undocumented) - get(key: K): Config[K]; - // (undocumented) - get(key?: K): Config | Config[K]; -} - -// @alpha -export type Container = "top" | "right" | "center"; - -// @alpha -export interface CustomComponentsApi { - registerLoginComponent(renderer: CustomLoginRenderFunction): void; - registerMessageRenderer(eventTypeOrFilter: string | ((mxEvent: MatrixEvent) => boolean), renderer: CustomMessageRenderFunction, hints?: CustomMessageRenderHints): void; - registerRoomPreviewBar(renderer: CustomRoomPreviewBarRenderFunction): void; -} - -// @alpha -export interface CustomisationsApi { - registerShouldShowComponent(fn: (this: void, component: UIComponent) => boolean | void): void; -} - -// @alpha -export type CustomLoginComponentProps = { - serverConfig: CustomLoginComponentPropsServerConfig; - fragmentAfterLogin?: string; - children?: ReactNode; - onLoggedIn(data: AccountAuthInfo): void; - onServerConfigChange(config: CustomLoginComponentPropsServerConfig): void; -}; - -// @alpha -export interface CustomLoginComponentPropsServerConfig { - hsName: string; - hsUrl: string; -} - -// @alpha -export type CustomLoginRenderFunction = ExtendablePropsRenderFunction; - -// @alpha -export type CustomMessageComponentProps = { - mxEvent: MatrixEvent; -}; - -// @alpha -export type CustomMessageRenderFunction = ( -props: CustomMessageComponentProps, -originalComponent?: (props?: OriginalMessageComponentProps) => React.JSX.Element) => JSX.Element; - -// @alpha -export type CustomMessageRenderHints = { - allowEditingEvent?: boolean; - allowDownloadingMedia?: (mxEvent: MatrixEvent) => Promise; -}; - -// @alpha -export type CustomRoomPreviewBarComponentProps = { - roomId?: string; - roomAlias?: string; -}; - -// @alpha -export type CustomRoomPreviewBarRenderFunction = ( -props: CustomRoomPreviewBarComponentProps, -originalComponent: (props: CustomRoomPreviewBarComponentProps) => JSX.Element) => JSX.Element; - -// @public -export interface DialogApiExtension { - openDialog(initialOptions: DialogOptions, dialog: ComponentType

>, props: P): DialogHandle; -} - -// @public -export type DialogHandle = { - finished: Promise<{ - ok: boolean; - model: M | null; - }>; - close(): void; -}; - -// @public -export interface DialogOptions { - title: string; -} - -// @public -export type DialogProps = { - onSubmit(model: M): void; - onCancel(): void; -}; - -// @alpha @deprecated (undocumented) -export interface DirectoryCustomisations { - // (undocumented) - requireCanonicalAliasAccessToPublish?(): boolean; -} - -// @alpha -export type ExtendablePropsRenderFunction =

( -props: P, -originalComponent: (props: P) => JSX.Element) => JSX.Element; - -// @alpha -export interface ExtrasApi { - addRoomHeaderButtonCallback(cb: RoomHeaderButtonsCallback): void; - getVisibleRoomBySpaceKey(spaceKey: string, cb: () => string[]): void; - setSpacePanelItem(spaceKey: string, props: SpacePanelItemProps): void; -} - -// @public -export interface I18nApi { - humanizeTime(this: void, timeMillis: number): string; - get language(): string; - register(this: void, translations: Partial): void; - translate(this: void, key: keyof Translations, variables?: StringVariables): string; - translate(this: void, key: keyof Translations, variables: Variables | undefined, tags: Tags): ReactNode; -} - -// @alpha -export type IdentityApprover = (widget: WidgetDescriptor) => MaybePromise; - -// @alpha @deprecated (undocumented) -export type LegacyCustomisations = (customisations: T) => void; - -// @alpha @deprecated (undocumented) -export interface LegacyCustomisationsApiExtension { - // @deprecated (undocumented) - readonly _registerLegacyAliasCustomisations: LegacyCustomisations; - // @deprecated (undocumented) - readonly _registerLegacyChatExportCustomisations: LegacyCustomisations>; - // @deprecated (undocumented) - readonly _registerLegacyComponentVisibilityCustomisations: LegacyCustomisations; - // @deprecated (undocumented) - readonly _registerLegacyDirectoryCustomisations: LegacyCustomisations; - // @deprecated (undocumented) - readonly _registerLegacyLifecycleCustomisations: LegacyCustomisations; - // @deprecated (undocumented) - readonly _registerLegacyMediaCustomisations: LegacyCustomisations>; - // @deprecated (undocumented) - readonly _registerLegacyRoomListCustomisations: LegacyCustomisations>; - // @deprecated (undocumented) - readonly _registerLegacyUserIdentifierCustomisations: LegacyCustomisations; - // @deprecated (undocumented) - readonly _registerLegacyWidgetPermissionsCustomisations: LegacyCustomisations>; - // @deprecated (undocumented) - readonly _registerLegacyWidgetVariablesCustomisations: LegacyCustomisations; -} - -// @alpha @deprecated (undocumented) -export interface LegacyModuleApiExtension { - // @deprecated - _registerLegacyModule(LegacyModule: RuntimeModuleConstructor): Promise; -} - -// @alpha @deprecated (undocumented) -export interface LifecycleCustomisations { - // (undocumented) - onLoggedOutAndStorageCleared?(): void; -} - -// @alpha -export type LocationRenderFunction = () => JSX.Element; - -// @alpha -export interface MatrixEvent { - content: Record; - eventId: string; - originServerTs: number; - roomId: string; - sender: string; - stateKey?: string; - type: string; - unsigned: Record; -} - -// @public -export type MaybePromise = T | PromiseLike; - -// @alpha @deprecated (undocumented) -export interface Media { - // (undocumented) - downloadSource(): Promise; - // (undocumented) - getSquareThumbnailHttp(dim: number): string | null; - // (undocumented) - getThumbnailHttp(width: number, height: number, mode?: "scale" | "crop"): string | null; - // (undocumented) - getThumbnailOfSourceHttp(width: number, height: number, mode?: "scale" | "crop"): string | null; - // (undocumented) - readonly hasThumbnail: boolean; - // (undocumented) - readonly isEncrypted: boolean; - // (undocumented) - readonly srcHttp: string | null; - // (undocumented) - readonly srcMxc: string; - // (undocumented) - readonly thumbnailHttp: string | null; - // (undocumented) - readonly thumbnailMxc: string | null | undefined; -} - -// @alpha @deprecated (undocumented) -export interface MediaContructable { - // (undocumented) - new (prepared: PreparedMedia): Media; -} - -// @alpha @deprecated (undocumented) -export interface MediaCustomisations { - // (undocumented) - readonly Media: MediaContructable; - // (undocumented) - mediaFromContent(content: Content, client?: Client): Media; - // (undocumented) - mediaFromMxc(mxc?: string, client?: Client): Media; -} - -// @public -export interface Module { - // (undocumented) - load(): Promise; -} - -// @public -export interface ModuleFactory { - // (undocumented) - new (api: Api): Module; - // (undocumented) - readonly moduleApiVersion: string; - // (undocumented) - readonly prototype: Module; -} - -// @public -export class ModuleIncompatibleError extends Error { - constructor(pluginVersion: string); -} - -// @public -export class ModuleLoader { - constructor(api: Api); - // Warning: (ae-forgotten-export) The symbol "ModuleExport" needs to be exported by the entry point index.d.ts - // - // (undocumented) - load(moduleExport: ModuleExport): Promise; - // (undocumented) - start(): Promise; -} - -// @public -export interface NavigationApi { - openRoom(roomIdOrAlias: string, opts?: OpenRoomOptions): void; - // @alpha - registerLocationRenderer(path: string, renderer: LocationRenderFunction): void; - toMatrixToLink(link: string, join?: boolean): Promise; -} - -// @public -export interface OpenRoomOptions { - autoJoin?: boolean; - viaServers?: string[]; -} - -// @alpha -export type OriginalMessageComponentProps = { - showUrlPreview?: boolean; -}; - -// @alpha -export type PreloadApprover = (widget: WidgetDescriptor) => MaybePromise; - -// @public -export interface Profile { - displayName?: string; - isGuest?: boolean; - userId?: string; -} - -// @public -export interface ProfileApiExtension { - readonly profile: Watchable; -} - -// @public -export interface RichVariables { - // (undocumented) - [key: string]: SubstitutionValue; - // (undocumented) - count?: number; -} - -// @public -export interface Room { - getLastActiveTimestamp: () => number; - id: string; - name: Watchable; -} - -// @alpha -export type RoomHeaderButtonsCallback = (roomId: string) => JSX.Element | undefined; - -// @alpha @deprecated (undocumented) -export interface RoomListCustomisations { - isRoomVisible?(room: Room): boolean; -} - -// @public -export interface RoomListStoreApi { - getRooms(): Watchable; - waitForReady(): Promise; -} - -// @alpha -export interface RoomViewProps { - enableReadReceiptsAndMarkersOnActivity?: boolean; - hideComposer?: boolean; - hideHeader?: boolean; - hidePinnedMessageBanner?: boolean; - hideRightPanel?: boolean; - hideWidgets?: boolean; -} - -// @alpha @deprecated (undocumented) -export type RuntimeModuleConstructor = new (api: ModuleApi) => RuntimeModule; - -// @alpha -export interface SpacePanelItemProps { - className?: string; - icon?: JSX.Element; - label: string; - onSelected: () => void; - style?: React.CSSProperties; - tooltip?: string; -} - -// @public -export interface StoresApi { - roomListStore: RoomListStoreApi; -} - -// @public -export interface StringVariables { - // (undocumented) - [key: string]: number | string | null | undefined; - // (undocumented) - count?: number; -} - -// @public -export type SubstitutionValue = number | string | ReactNode | ((sub: string) => ReactNode); - -// @public -export type Tags = Record; - -// @public -export type Translations = Record; - -// @alpha -export const enum UIComponent { - AddIntegrations = "UIComponent.addIntegrations", - CreateRooms = "UIComponent.roomCreation", - CreateSpaces = "UIComponent.spaceCreation", - ExploreRooms = "UIComponent.exploreRooms", - FilterContainer = "UIComponent.filterContainer", - InviteUsers = "UIComponent.sendInvites", - RoomOptionsMenu = "UIComponent.roomOptionsMenu" -} - -// @alpha @deprecated (undocumented) -export interface UserIdentifierCustomisations { - getDisplayUserIdentifier(userId: string, opts: { - roomId?: string; - withDisplayName?: boolean; - }): string | null; -} - -// @public -export function useWatchable(watchable: Watchable): T; - -// @public -export type Variables = StringVariables | RichVariables; - -// @public -export class Watchable { - constructor(currentValue: T); - // Warning: (ae-forgotten-export) The symbol "WatchFn" needs to be exported by the entry point index.d.ts - // - // (undocumented) - protected readonly listeners: Set>; - protected onFirstWatch(): void; - protected onLastWatch(): void; - // (undocumented) - unwatch(listener: (value: T) => void): void; - get value(): T; - set value(value: T); - // (undocumented) - watch(listener: (value: T) => void): void; -} - -// @alpha -export interface WidgetApi { - getAppAvatarUrl(app: IWidget, width?: number, height?: number, resizeMethod?: string): string | null; - getWidgetsInRoom(roomId: string): IWidget[]; - isAppInContainer(app: IWidget, container: Container, roomId: string): boolean; - moveAppToContainer(app: IWidget, container: Container, roomId: string): void; -} - -// @alpha -export type WidgetDescriptor = { - id: string; - templateUrl: string; - creatorUserId: string; - type: string; - origin: string; - roomId?: string; -}; - -// @alpha -export interface WidgetLifecycleApi { - registerCapabilitiesApprover(approver: CapabilitiesApprover): void; - registerIdentityApprover(approver: IdentityApprover): void; - registerPreloadApprover(approver: PreloadApprover): void; -} - -// @alpha @deprecated (undocumented) -export interface WidgetPermissionsCustomisations { - preapproveCapabilities?(widget: Widget, requestedCapabilities: Set): Promise>; -} - -// @alpha @deprecated (undocumented) -export interface WidgetVariablesCustomisations { - isReady?(): Promise; - provideVariables?(): { - currentUserId: string; - userDisplayName?: string; - userHttpAvatarUrl?: string; - clientId?: string; - clientTheme?: string; - clientLanguage?: string; - deviceId?: string; - baseUrl?: string; - }; -} - -// (No @packageDocumentation comment for this package) - -``` +## API Report File for "@element-hq/element-web-module-api" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import { ComponentType } from 'react'; +import { IWidget } from 'matrix-widget-api'; +import { JSX } from 'react'; +import { ModuleApi } from '@matrix-org/react-sdk-module-api'; +import { ReactNode } from 'react'; +import { Root } from 'react-dom/client'; +import { RuntimeModule } from '@matrix-org/react-sdk-module-api'; +import { SVGAttributes } from 'react'; + +// @public +export interface AccountAuthApiExtension { + overwriteAccountAuth(accountInfo: AccountAuthInfo): Promise; +} + +// @public +export interface AccountAuthInfo { + accessToken: string; + deviceId: string; + homeserverUrl: string; + refreshToken?: string; + userId: string; +} + +// @public +export interface AccountDataApi { + delete(eventType: string): Promise; + get(eventType: string): Watchable; + set(eventType: string, content: unknown): Promise; +} + +// @alpha @deprecated (undocumented) +export interface AliasCustomisations { + // (undocumented) + getDisplayAliasForAliasSet?(canonicalAlias: string | null, altAliases: string[]): string | null; +} + +// Warning: (ae-incompatible-release-tags) The symbol "Api" is marked as @public, but its signature references "LegacyModuleApiExtension" which is marked as @alpha +// Warning: (ae-incompatible-release-tags) The symbol "Api" is marked as @public, but its signature references "LegacyCustomisationsApiExtension" which is marked as @alpha +// +// @public +export interface Api extends LegacyModuleApiExtension, LegacyCustomisationsApiExtension, DialogApiExtension, AccountAuthApiExtension, ProfileApiExtension { + // @alpha + readonly builtins: BuiltinsApi; + readonly client: ClientApi; + // @alpha + readonly composer: ComposerApi; + readonly config: ConfigApi; + createRoot(element: Element): Root; + // @alpha + readonly customComponents: CustomComponentsApi; + // @alpha + readonly customisations: CustomisationsApi; + // @alpha + readonly extras: ExtrasApi; + readonly i18n: I18nApi; + readonly navigation: NavigationApi; + readonly rootNode: HTMLElement; + readonly stores: StoresApi; + // @alpha + readonly widget: WidgetApi; + // @alpha + readonly widgetLifecycle: WidgetLifecycleApi; +} + +// @alpha +export interface BuiltinsApi { + renderNotificationDecoration(roomId: string): React.ReactNode; + renderRoomAvatar(roomId: string, size?: string): React.ReactNode; + renderRoomView(roomId: string, props?: RoomViewProps): React.ReactNode; +} + +// @alpha +export type CapabilitiesApprover = (widget: WidgetDescriptor, requestedCapabilities: Set) => MaybePromise | undefined>; + +// @alpha @deprecated (undocumented) +export interface ChatExportCustomisations { + getForceChatExportParameters(): { + format?: ExportFormat; + range?: ExportType; + numberOfMessages?: number; + includeAttachments?: boolean; + sizeMb?: number; + }; +} + +// @public +export interface ClientApi { + accountData: AccountDataApi; + getRoom: (id: string) => Room | null; +} + +// @alpha @deprecated (undocumented) +export interface ComponentVisibilityCustomisations { + shouldShowComponent?(component: "UIComponent.sendInvites" | "UIComponent.roomCreation" | "UIComponent.spaceCreation" | "UIComponent.exploreRooms" | "UIComponent.addIntegrations" | "UIComponent.filterContainer" | "UIComponent.roomOptionsMenu"): boolean; +} + +// @alpha +export interface ComposerApi { + addFileUploadOption(option: ComposerApiFileUploadOption): void; + insertPlaintextIntoComposer(plaintext: string, view: ComposerApiTarget): void; + openFileUploadConfirmation(files: File[], view: ComposerApiTarget): void; +} + +// @alpha +export type ComposerApiFileUploadOption = { + type: string; + label: string; + icon?: ComponentType>; + onSelected: (roomId?: string, view?: ComposerApiTarget, relation?: { + inReplyToEventId?: string; + relType?: string; + }) => Promise | void; +}; + +// @alpha +export type ComposerApiTarget = { + view: "room"; +} | { + view: "thread"; +}; + +// @public +export interface Config { + // (undocumented) + brand: string; +} + +// @public +export interface ConfigApi { + // (undocumented) + get(): Config; + // (undocumented) + get(key: K): Config[K]; + // (undocumented) + get(key?: K): Config | Config[K]; +} + +// @alpha +export type Container = "top" | "right" | "center"; + +// @alpha +export interface CustomComponentsApi { + registerLoginComponent(renderer: CustomLoginRenderFunction): void; + registerMessageRenderer(eventTypeOrFilter: string | ((mxEvent: MatrixEvent) => boolean), renderer: CustomMessageRenderFunction, hints?: CustomMessageRenderHints): void; + registerRoomPreviewBar(renderer: CustomRoomPreviewBarRenderFunction): void; +} + +// @alpha +export interface CustomisationsApi { + registerShouldShowComponent(fn: (this: void, component: UIComponent) => boolean | void): void; +} + +// @alpha +export type CustomLoginComponentProps = { + serverConfig: CustomLoginComponentPropsServerConfig; + fragmentAfterLogin?: string; + children?: ReactNode; + onLoggedIn(data: AccountAuthInfo): void; + onServerConfigChange(config: CustomLoginComponentPropsServerConfig): void; +}; + +// @alpha +export interface CustomLoginComponentPropsServerConfig { + hsName: string; + hsUrl: string; +} + +// @alpha +export type CustomLoginRenderFunction = ExtendablePropsRenderFunction; + +// @alpha +export type CustomMessageComponentProps = { + mxEvent: MatrixEvent; +}; + +// @alpha +export type CustomMessageRenderFunction = ( +props: CustomMessageComponentProps, +originalComponent?: (props?: OriginalMessageComponentProps) => React.JSX.Element) => JSX.Element; + +// @alpha +export type CustomMessageRenderHints = { + allowEditingEvent?: boolean; + allowDownloadingMedia?: (mxEvent: MatrixEvent) => Promise; +}; + +// @alpha +export type CustomRoomPreviewBarComponentProps = { + roomId?: string; + roomAlias?: string; +}; + +// @alpha +export type CustomRoomPreviewBarRenderFunction = ( +props: CustomRoomPreviewBarComponentProps, +originalComponent: (props: CustomRoomPreviewBarComponentProps) => JSX.Element) => JSX.Element; + +// @public +export interface DialogApiExtension { + openDialog(initialOptions: DialogOptions, dialog: ComponentType

>, props: P): DialogHandle; +} + +// @public +export type DialogHandle = { + finished: Promise<{ + ok: boolean; + model: M | null; + }>; + close(): void; +}; + +// @public +export interface DialogOptions { + title: string; +} + +// @public +export type DialogProps = { + onSubmit(model: M): void; + onCancel(): void; +}; + +// @alpha @deprecated (undocumented) +export interface DirectoryCustomisations { + // (undocumented) + requireCanonicalAliasAccessToPublish?(): boolean; +} + +// @alpha +export type ExtendablePropsRenderFunction =

( +props: P, +originalComponent: (props: P) => JSX.Element) => JSX.Element; + +// @alpha +export interface ExtrasApi { + addRoomHeaderButtonCallback(cb: RoomHeaderButtonsCallback): void; + getVisibleRoomBySpaceKey(spaceKey: string, cb: () => string[]): void; + setSpacePanelItem(spaceKey: string, props: SpacePanelItemProps): void; +} + +// @public +export interface I18nApi { + humanizeTime(this: void, timeMillis: number): string; + get language(): string; + register(this: void, translations: Partial): void; + translate(this: void, key: keyof Translations, variables?: StringVariables): string; + translate(this: void, key: keyof Translations, variables: Variables | undefined, tags: Tags): ReactNode; +} + +// @alpha +export type IdentityApprover = (widget: WidgetDescriptor) => MaybePromise; + +// @alpha @deprecated (undocumented) +export type LegacyCustomisations = (customisations: T) => void; + +// @alpha @deprecated (undocumented) +export interface LegacyCustomisationsApiExtension { + // @deprecated (undocumented) + readonly _registerLegacyAliasCustomisations: LegacyCustomisations; + // @deprecated (undocumented) + readonly _registerLegacyChatExportCustomisations: LegacyCustomisations>; + // @deprecated (undocumented) + readonly _registerLegacyComponentVisibilityCustomisations: LegacyCustomisations; + // @deprecated (undocumented) + readonly _registerLegacyDirectoryCustomisations: LegacyCustomisations; + // @deprecated (undocumented) + readonly _registerLegacyLifecycleCustomisations: LegacyCustomisations; + // @deprecated (undocumented) + readonly _registerLegacyMediaCustomisations: LegacyCustomisations>; + // @deprecated (undocumented) + readonly _registerLegacyRoomListCustomisations: LegacyCustomisations>; + // @deprecated (undocumented) + readonly _registerLegacyUserIdentifierCustomisations: LegacyCustomisations; + // @deprecated (undocumented) + readonly _registerLegacyWidgetPermissionsCustomisations: LegacyCustomisations>; + // @deprecated (undocumented) + readonly _registerLegacyWidgetVariablesCustomisations: LegacyCustomisations; +} + +// @alpha @deprecated (undocumented) +export interface LegacyModuleApiExtension { + // @deprecated + _registerLegacyModule(LegacyModule: RuntimeModuleConstructor): Promise; +} + +// @alpha @deprecated (undocumented) +export interface LifecycleCustomisations { + // (undocumented) + onLoggedOutAndStorageCleared?(): void; +} + +// @alpha +export type LocationRenderFunction = () => JSX.Element; + +// @alpha +export interface MatrixEvent { + content: Record; + eventId: string; + originServerTs: number; + roomId: string; + sender: string; + stateKey?: string; + type: string; + unsigned: Record; +} + +// @public +export type MaybePromise = T | PromiseLike; + +// @alpha @deprecated (undocumented) +export interface Media { + // (undocumented) + downloadSource(): Promise; + // (undocumented) + getSquareThumbnailHttp(dim: number): string | null; + // (undocumented) + getThumbnailHttp(width: number, height: number, mode?: "scale" | "crop"): string | null; + // (undocumented) + getThumbnailOfSourceHttp(width: number, height: number, mode?: "scale" | "crop"): string | null; + // (undocumented) + readonly hasThumbnail: boolean; + // (undocumented) + readonly isEncrypted: boolean; + // (undocumented) + readonly srcHttp: string | null; + // (undocumented) + readonly srcMxc: string; + // (undocumented) + readonly thumbnailHttp: string | null; + // (undocumented) + readonly thumbnailMxc: string | null | undefined; +} + +// @alpha @deprecated (undocumented) +export interface MediaContructable { + // (undocumented) + new (prepared: PreparedMedia): Media; +} + +// @alpha @deprecated (undocumented) +export interface MediaCustomisations { + // (undocumented) + readonly Media: MediaContructable; + // (undocumented) + mediaFromContent(content: Content, client?: Client): Media; + // (undocumented) + mediaFromMxc(mxc?: string, client?: Client): Media; +} + +// @public +export interface Module { + // (undocumented) + load(): Promise; +} + +// @public +export interface ModuleFactory { + // (undocumented) + new (api: Api): Module; + // (undocumented) + readonly moduleApiVersion: string; + // (undocumented) + readonly prototype: Module; +} + +// @public +export class ModuleIncompatibleError extends Error { + constructor(pluginVersion: string); +} + +// @public +export class ModuleLoader { + constructor(api: Api); + // Warning: (ae-forgotten-export) The symbol "ModuleExport" needs to be exported by the entry point index.d.ts + // + // (undocumented) + load(moduleExport: ModuleExport): Promise; + // (undocumented) + start(): Promise; +} + +// @public +export interface NavigationApi { + openRoom(roomIdOrAlias: string, opts?: OpenRoomOptions): void; + // @alpha + registerLocationRenderer(path: string, renderer: LocationRenderFunction): void; + toMatrixToLink(link: string, join?: boolean): Promise; +} + +// @public +export interface OpenRoomOptions { + autoJoin?: boolean; + viaServers?: string[]; +} + +// @alpha +export type OriginalMessageComponentProps = { + showUrlPreview?: boolean; +}; + +// @alpha +export type PreloadApprover = (widget: WidgetDescriptor) => MaybePromise; + +// @public +export interface Profile { + displayName?: string; + isGuest?: boolean; + userId?: string; +} + +// @public +export interface ProfileApiExtension { + readonly profile: Watchable; +} + +// @public +export interface RichVariables { + // (undocumented) + [key: string]: SubstitutionValue; + // (undocumented) + count?: number; +} + +// @public +export interface Room { + getLastActiveTimestamp: () => number; + id: string; + name: Watchable; +} + +// @alpha +export type RoomHeaderButtonsCallback = (roomId: string) => JSX.Element | undefined; + +// @alpha @deprecated (undocumented) +export interface RoomListCustomisations { + isRoomVisible?(room: Room): boolean; +} + +// @public +export interface RoomListStoreApi { + getRooms(): Watchable; + waitForReady(): Promise; +} + +// @alpha +export interface RoomViewProps { + enableReadReceiptsAndMarkersOnActivity?: boolean; + hideComposer?: boolean; + hideHeader?: boolean; + hidePinnedMessageBanner?: boolean; + hideRightPanel?: boolean; + hideWidgets?: boolean; +} + +// @alpha @deprecated (undocumented) +export type RuntimeModuleConstructor = new (api: ModuleApi) => RuntimeModule; + +// @alpha +export interface SpacePanelItemProps { + className?: string; + icon?: JSX.Element; + label: string; + onSelected: () => void; + style?: React.CSSProperties; + tooltip?: string; +} + +// @public +export interface StoresApi { + roomListStore: RoomListStoreApi; +} + +// @public +export interface StringVariables { + // (undocumented) + [key: string]: number | string | null | undefined; + // (undocumented) + count?: number; +} + +// @public +export type SubstitutionValue = number | string | ReactNode | ((sub: string) => ReactNode); + +// @public +export type Tags = Record; + +// @public +export type Translations = Record; + +// @alpha +export const enum UIComponent { + AddIntegrations = "UIComponent.addIntegrations", + CreateRooms = "UIComponent.roomCreation", + CreateSpaces = "UIComponent.spaceCreation", + ExploreRooms = "UIComponent.exploreRooms", + FilterContainer = "UIComponent.filterContainer", + InviteUsers = "UIComponent.sendInvites", + RoomOptionsMenu = "UIComponent.roomOptionsMenu" +} + +// @alpha @deprecated (undocumented) +export interface UserIdentifierCustomisations { + getDisplayUserIdentifier(userId: string, opts: { + roomId?: string; + withDisplayName?: boolean; + }): string | null; +} + +// @public +export function useWatchable(watchable: Watchable): T; + +// @public +export type Variables = StringVariables | RichVariables; + +// @public +export class Watchable { + constructor(currentValue: T); + // Warning: (ae-forgotten-export) The symbol "WatchFn" needs to be exported by the entry point index.d.ts + // + // (undocumented) + protected readonly listeners: Set>; + protected onFirstWatch(): void; + protected onLastWatch(): void; + // (undocumented) + unwatch(listener: (value: T) => void): void; + get value(): T; + set value(value: T); + // (undocumented) + watch(listener: (value: T) => void): void; +} + +// @alpha +export interface WidgetApi { + getAppAvatarUrl(app: IWidget, width?: number, height?: number, resizeMethod?: string): string | null; + getWidgetsInRoom(roomId: string): IWidget[]; + isAppInContainer(app: IWidget, container: Container, roomId: string): boolean; + moveAppToContainer(app: IWidget, container: Container, roomId: string): void; +} + +// @alpha +export type WidgetDescriptor = { + id: string; + templateUrl: string; + creatorUserId: string; + type: string; + origin: string; + roomId?: string; +}; + +// @alpha +export interface WidgetLifecycleApi { + registerCapabilitiesApprover(approver: CapabilitiesApprover): void; + registerIdentityApprover(approver: IdentityApprover): void; + registerPreloadApprover(approver: PreloadApprover): void; +} + +// @alpha @deprecated (undocumented) +export interface WidgetPermissionsCustomisations { + preapproveCapabilities?(widget: Widget, requestedCapabilities: Set): Promise>; +} + +// @alpha @deprecated (undocumented) +export interface WidgetVariablesCustomisations { + isReady?(): Promise; + provideVariables?(): { + currentUserId: string; + userDisplayName?: string; + userHttpAvatarUrl?: string; + clientId?: string; + clientTheme?: string; + clientLanguage?: string; + deviceId?: string; + baseUrl?: string; + }; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/module-api/src/api/composer.ts b/packages/module-api/src/api/composer.ts index 6080110992..ba1ac94db4 100644 --- a/packages/module-api/src/api/composer.ts +++ b/packages/module-api/src/api/composer.ts @@ -5,16 +5,74 @@ SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Com Please see LICENSE files in the repository root for full details. */ +import { ComponentType, SVGAttributes } from "react"; + +/** + * An option presented to the user for uploading a file. + * @alpha Unlikely to change + */ +export type ComposerApiFileUploadOption = { + /** + * An unique string to refer to the type of upload + * @example org.example.my_uploader + */ + type: string; + /** + * Human-readable string used in labelling for the option. + */ + label: string; + /** + * An icon to attach to the option. If omitted, no icon is shown. + */ + icon?: ComponentType>; + /** + * Function called when the option is selected. + * @param roomId - The room ID of the room in focus. + * @param relation - Whether or not a thread and/or reply is in focus. + * @returns + */ + onSelected: ( + roomId?: string, + view?: ComposerApiTarget, + relation?: { + inReplyToEventId?: string; + relType?: string; + }, + ) => Promise | void; +}; + +/** + * When handling composer interactions, this represents the target composer. + * @alpha Likely to change. This is intentionally left as an object so it may be extended later. + */ +export type ComposerApiTarget = { view: "room" } | { view: "thread" }; + /** * API to interact with the message composer. * @alpha Likely to change */ export interface ComposerApi { /** - * Insert plaintext into the current composer. - * @param plaintext - The plain text to insert + * Add a new file upload option for the user. + * @throws If another option is already using the same `type`. + * @alpha Likely to change + */ + addFileUploadOption(option: ComposerApiFileUploadOption): void; + /** + * Open the file upload confirmation dialog. This may be used in conjunction + * with `addFileUploadOption` to support an alternative file upload kind. + * @param files - The files to prompt for + * @param view - The target view to send the file into. Defaults to `{ view: "room" }` * @returns Returns immediately, does not await action. * @alpha Likely to change */ - insertPlaintextIntoComposer(plaintext: string): void; + openFileUploadConfirmation(files: File[], view: ComposerApiTarget): void; + /** + * Insert plaintext into the current composer. + * @param plaintext - The plain text to insert + * @param view - The target view to insert text into. Defaults to `{ view: "room" }` + * @returns Returns immediately, does not await action. + * @alpha Likely to change + */ + insertPlaintextIntoComposer(plaintext: string, view: ComposerApiTarget): void; } diff --git a/packages/shared-components/__vis__/linux/__baselines__/room/composer/UploadButton/UploadButton.stories.tsx/default-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room/composer/UploadButton/UploadButton.stories.tsx/default-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..fb3b0a2aa8516bd404938a1ef41c297b5bc5ee10 GIT binary patch literal 16865 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 literal 0 HcmV?d00001 diff --git a/packages/shared-components/__vis__/linux/__baselines__/room/composer/UploadButton/UploadButton.stories.tsx/with-open-auto.png b/packages/shared-components/__vis__/linux/__baselines__/room/composer/UploadButton/UploadButton.stories.tsx/with-open-auto.png new file mode 100644 index 0000000000000000000000000000000000000000..5dbbc8f8b59657a5fab2c6d89be708b8576f8b04 GIT binary patch literal 23347 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 { + const vm = useMockedViewModel(rest, { + onUploadOptionSelected, + }); + return ; +}; + +const UploadButtonWrapper = withViewDocs(UploadButtonWrapperImpl, UploadButton); + +const meta = { + title: "Room/UploadButton", + component: UploadButtonWrapper, + tags: ["autodocs"], + args: { + defaultOpen: false, + onUploadOptionSelected: fn(), + options: [ + { + type: "local", + label: "Attachment", + icon: AttachmentIcon, + }, + { + label: "Fun Button", + icon: ReactionIcon, + type: "fun", + }, + ], + }, +} satisfies Meta; + +export default meta; +type Story = StoryObj; + +export const Default: Story = {}; + +export const WithOneOption: Story = { + // No visible difference + tags: ["skip-test"], + args: { + options: [ + { + type: "local", + label: "Attachment", + icon: AttachmentIcon, + }, + ], + }, +}; + +export const WithOpen: Story = { + args: { + defaultOpen: true, + }, + parameters: { + a11y: { + config: { + rules: [ + { + // Menu contains a header which is invalid + id: "aria-required-children", + enabled: false, + }, + { + // Menu pops open by default + id: "aria-hidden-focus", + enabled: false, + }, + ], + }, + }, + }, +}; diff --git a/packages/shared-components/src/room/composer/UploadButton/UploadButton.test.tsx b/packages/shared-components/src/room/composer/UploadButton/UploadButton.test.tsx new file mode 100644 index 0000000000..8781a58ba2 --- /dev/null +++ b/packages/shared-components/src/room/composer/UploadButton/UploadButton.test.tsx @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ +import React from "react"; +import { render, screen } from "@test-utils"; +import { describe, it, expect } from "vitest"; +import { composeStories } from "@storybook/react-vite"; +import { userEvent } from "vitest/browser"; +import { fn } from "storybook/test"; + +import * as stories from "./UploadButton.stories.tsx"; + +const { Default, WithOneOption } = composeStories(stories); + +describe("UploadButton", () => { + it("renders a default button", () => { + const { container } = render(); + expect(container).toMatchSnapshot(); + }); + it("will provide one option when only one is available", async () => { + userEvent.setup(); + const onUploadOptionSelected = fn(); + const { getByRole } = render(); + await userEvent.click(getByRole("button", { name: "Attachment" })); + expect(onUploadOptionSelected).toHaveBeenCalledWith("local"); + }); + it("can open the menu and select an option", async () => { + const onUploadOptionSelected = fn(); + const { container, getByRole } = render(); + await userEvent.click(getByRole("button", { name: "Attachment" })); + expect(container).toMatchSnapshot(); + await userEvent.click(screen.getByRole("menuitem", { name: "Fun Button" })); + expect(onUploadOptionSelected).toHaveBeenCalledWith("fun"); + }); + it("can ctrl click to get the first option", async () => { + userEvent.setup(); + const onUploadOptionSelected = fn(); + const { getByRole } = render(); + await userEvent.keyboard("[ControlLeft>]"); + await userEvent.click(getByRole("button", { name: "Attachment" })); + expect(onUploadOptionSelected).toHaveBeenCalledWith("local"); + }); +}); diff --git a/packages/shared-components/src/room/composer/UploadButton/UploadButton.tsx b/packages/shared-components/src/room/composer/UploadButton/UploadButton.tsx new file mode 100644 index 0000000000..b037d6fa04 --- /dev/null +++ b/packages/shared-components/src/room/composer/UploadButton/UploadButton.tsx @@ -0,0 +1,112 @@ +/* + * Copyright (c) 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +import React, { + type ReactElement, + type PropsWithChildren, + useState, + type ComponentProps, + type SVGAttributes, + type ComponentType, + useCallback, + type MouseEventHandler, +} from "react"; +import { IconButton, Menu, MenuItem } from "@vector-im/compound-web"; +import { AttachmentIcon } from "@vector-im/compound-design-tokens/assets/web/icons"; + +import { useI18n } from "../../../core/i18n/i18nContext"; +import { useViewModel, type ViewModel } from "../../../core/viewmodel"; + +export interface UploadButtonViewSnapshot { + options: { type: string; label: string; icon?: ComponentType> }[]; +} + +export interface UploadButtonViewActions { + onUploadOptionSelected(type: string): void; +} + +/** + * A composer button to initiate uploading files. The button may also be + * Ctrl+Clicked to pick the first option automatically. + * + * @example + * ```tsx + * + * ``` + */ +export function UploadButton({ + vm, + defaultOpen = false, + ...rootButtonProps +}: PropsWithChildren< + { vm: ViewModel; defaultOpen?: boolean } & ComponentProps< + typeof IconButton + > +>): ReactElement { + const i18n = useI18n(); + const [open, setOpen] = useState(defaultOpen); + const { options } = useViewModel(vm); + + // Ctrl+click is a shortcut to selecting the first item. + const onMenuClick: MouseEventHandler = useCallback( + (ev) => { + if (!ev.ctrlKey) { + return; + } + ev.preventDefault(); + ev.stopPropagation(); + vm.onUploadOptionSelected(options[0].type); + }, + [options, vm], + ); + if (options.length === 1) { + const { label, icon: Icon } = options[0]; + return ( + vm.onUploadOptionSelected(options[0].type)} + > + {Icon ? : } + + ); + } + + const trigger = ( + + + + ); + + return ( +

setOpen(o)} + > + {options.map((o) => ( + vm.onUploadOptionSelected(o.type)} + /> + ))} + + ); +} diff --git a/packages/shared-components/src/room/composer/UploadButton/__snapshots__/UploadButton.test.tsx.snap b/packages/shared-components/src/room/composer/UploadButton/__snapshots__/UploadButton.test.tsx.snap new file mode 100644 index 0000000000..11d4ef2724 --- /dev/null +++ b/packages/shared-components/src/room/composer/UploadButton/__snapshots__/UploadButton.test.tsx.snap @@ -0,0 +1,79 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`UploadButton > can open the menu and select an option 1`] = ` + +`; + +exports[`UploadButton > renders a default button 1`] = ` +
+ +
+`; diff --git a/packages/shared-components/src/room/composer/UploadButton/index.ts b/packages/shared-components/src/room/composer/UploadButton/index.ts new file mode 100644 index 0000000000..2bbcd04eaa --- /dev/null +++ b/packages/shared-components/src/room/composer/UploadButton/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright (c) 2026 Element Creations Ltd. + * + * SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only OR LicenseRef-Element-Commercial + * Please see LICENSE files in the repository root for full details. + */ + +export * from "./UploadButton";