From 6c9c17e65ee31ae826215462c90e7708ed979dc3 Mon Sep 17 00:00:00 2001 From: Matthew Lipski Date: Wed, 13 Sep 2023 23:11:13 +0200 Subject: [PATCH 1/3] Fixed overflow for slash menu, color picker, and formatting toolbar dropdown. --- packages/react/src/BlockNoteTheme.ts | 4 +- .../DefaultButtons/ColorStyleButton.tsx | 23 ++++---- .../Toolbar/components/ToolbarDropdown.tsx | 20 ++++--- .../DefaultButtons/BlockColorsButton.tsx | 52 +++++++++++-------- .../DragHandleMenu/DragHandleMenu.tsx | 4 +- .../components/SlashMenuPositioner.tsx | 17 ++++-- .../react/src/hooks/usePreventMenuOverflow.ts | 44 ++++++++++++++++ 7 files changed, 121 insertions(+), 43 deletions(-) create mode 100644 packages/react/src/hooks/usePreventMenuOverflow.ts diff --git a/packages/react/src/BlockNoteTheme.ts b/packages/react/src/BlockNoteTheme.ts index 9d6d6ede56..4ff342bc87 100644 --- a/packages/react/src/BlockNoteTheme.ts +++ b/packages/react/src/BlockNoteTheme.ts @@ -41,7 +41,8 @@ export type ComponentStyles = Partial<{ Editor: CSSObject; // Wraps Formatting Toolbar & Hyperlink Toolbar Toolbar: CSSObject; - // Appears on hover for Formatting Toolbar & Hyperlink Toolbar buttons + // Appears on hover for Formatting Toolbar + // & Hyperlink Toolbar buttons Tooltip: CSSObject; SlashMenu: CSSObject; SideMenu: CSSObject; @@ -105,6 +106,7 @@ export const blockNoteToMantineTheme = (theme: Theme): MantineThemeOverride => { boxShadow: shadow, color: theme.colors.menu.text, padding: "2px", + overflowY: "scroll", ".mantine-Menu-label": { backgroundColor: theme.colors.menu.background, color: theme.colors.menu.text, diff --git a/packages/react/src/FormattingToolbar/components/DefaultButtons/ColorStyleButton.tsx b/packages/react/src/FormattingToolbar/components/DefaultButtons/ColorStyleButton.tsx index 2eca1eb91a..d728c39c63 100644 --- a/packages/react/src/FormattingToolbar/components/DefaultButtons/ColorStyleButton.tsx +++ b/packages/react/src/FormattingToolbar/components/DefaultButtons/ColorStyleButton.tsx @@ -6,6 +6,7 @@ import { ColorIcon } from "../../../SharedComponents/ColorPicker/components/Colo import { ColorPicker } from "../../../SharedComponents/ColorPicker/components/ColorPicker"; import { useEditorContentChange } from "../../../hooks/useEditorContentChange"; import { useEditorSelectionChange } from "../../../hooks/useEditorSelectionChange"; +import { usePreventMenuOverflow } from "../../../hooks/usePreventMenuOverflow"; export const ColorStyleButton = (props: { editor: BlockNoteEditor; @@ -51,8 +52,10 @@ export const ColorStyleButton = (props: { [props.editor] ); + const { ref, updateMaxHeight } = usePreventMenuOverflow(); + return ( - + (props: { )} /> - - - +
+ + + +
); }; diff --git a/packages/react/src/SharedComponents/Toolbar/components/ToolbarDropdown.tsx b/packages/react/src/SharedComponents/Toolbar/components/ToolbarDropdown.tsx index 14acb8b9bb..176c72faa3 100644 --- a/packages/react/src/SharedComponents/Toolbar/components/ToolbarDropdown.tsx +++ b/packages/react/src/SharedComponents/Toolbar/components/ToolbarDropdown.tsx @@ -4,6 +4,7 @@ import { ToolbarDropdownItemProps, } from "./ToolbarDropdownItem"; import { ToolbarDropdownTarget } from "./ToolbarDropdownTarget"; +import { usePreventMenuOverflow } from "../../../hooks/usePreventMenuOverflow"; export type ToolbarDropdownProps = { items: ToolbarDropdownItemProps[]; @@ -13,12 +14,17 @@ export type ToolbarDropdownProps = { export function ToolbarDropdown(props: ToolbarDropdownProps) { const selectedItem = props.items.filter((p) => p.isSelected)[0]; + const { ref, updateMaxHeight } = usePreventMenuOverflow(); + if (!selectedItem) { return null; } return ( - + - - {props.items.map((item) => ( - - ))} - +
+ + {props.items.map((item) => ( + + ))} + +
); } diff --git a/packages/react/src/SideMenu/components/DragHandleMenu/DefaultButtons/BlockColorsButton.tsx b/packages/react/src/SideMenu/components/DragHandleMenu/DefaultButtons/BlockColorsButton.tsx index f506655b85..c97fcf00d6 100644 --- a/packages/react/src/SideMenu/components/DragHandleMenu/DefaultButtons/BlockColorsButton.tsx +++ b/packages/react/src/SideMenu/components/DragHandleMenu/DefaultButtons/BlockColorsButton.tsx @@ -6,12 +6,15 @@ import { BlockSchema, PartialBlock } from "@blocknote/core"; import { DragHandleMenuProps } from "../DragHandleMenu"; import { DragHandleMenuItem } from "../DragHandleMenuItem"; import { ColorPicker } from "../../../../SharedComponents/ColorPicker/components/ColorPicker"; +import { usePreventMenuOverflow } from "../../../../hooks/usePreventMenuOverflow"; export const BlockColorsButton = ( props: DragHandleMenuProps & { children: ReactNode } ) => { const [opened, setOpened] = useState(false); + const { ref, updateMaxHeight } = usePreventMenuOverflow(); + const menuCloseTimer = useRef(); const startMenuCloseTimer = useCallback(() => { @@ -27,8 +30,13 @@ export const BlockColorsButton = ( if (menuCloseTimer.current) { clearTimeout(menuCloseTimer.current); } + + if (!opened) { + updateMaxHeight(); + } + setOpened(true); - }, []); + }, [opened, updateMaxHeight]); if ( !("textColor" in props.block.props) || @@ -50,26 +58,28 @@ export const BlockColorsButton = ( - - - props.editor.updateBlock(props.block, { - props: { textColor: color }, - } as PartialBlock) - } - setBackgroundColor={(color) => - props.editor.updateBlock(props.block, { - props: { backgroundColor: color }, - } as PartialBlock) - } - /> - +
+ + + props.editor.updateBlock(props.block, { + props: { textColor: color }, + } as PartialBlock) + } + setBackgroundColor={(color) => + props.editor.updateBlock(props.block, { + props: { backgroundColor: color }, + } as PartialBlock) + } + /> + +
); diff --git a/packages/react/src/SideMenu/components/DragHandleMenu/DragHandleMenu.tsx b/packages/react/src/SideMenu/components/DragHandleMenu/DragHandleMenu.tsx index 1062799004..b67dd98836 100644 --- a/packages/react/src/SideMenu/components/DragHandleMenu/DragHandleMenu.tsx +++ b/packages/react/src/SideMenu/components/DragHandleMenu/DragHandleMenu.tsx @@ -13,6 +13,8 @@ export const DragHandleMenu = (props: { children: ReactNode }) => { }); return ( - {props.children} + + {props.children} + ); }; diff --git a/packages/react/src/SlashMenu/components/SlashMenuPositioner.tsx b/packages/react/src/SlashMenu/components/SlashMenuPositioner.tsx index 35b79eb423..dd808010a1 100644 --- a/packages/react/src/SlashMenu/components/SlashMenuPositioner.tsx +++ b/packages/react/src/SlashMenu/components/SlashMenuPositioner.tsx @@ -10,6 +10,7 @@ import { FC, useEffect, useMemo, useRef, useState } from "react"; import { ReactSlashMenuItem } from "../ReactSlashMenuItem"; import { DefaultSlashMenu } from "./DefaultSlashMenu"; +import { usePreventMenuOverflow } from "../../hooks/usePreventMenuOverflow"; export type SlashMenuProps = Pick, "itemCallback"> & @@ -53,6 +54,8 @@ export const SlashMenuPositioner = < [referencePos.current] // eslint-disable-line ); + const { ref, updateMaxHeight } = usePreventMenuOverflow(); + const slashMenuElement = useMemo(() => { if (!filteredItems || keyboardHoveredItemIndex === undefined) { return null; @@ -61,21 +64,25 @@ export const SlashMenuPositioner = < const SlashMenu = props.slashMenu || DefaultSlashMenu; return ( - props.editor.slashMenu.itemCallback(item)} - keyboardHoveredItemIndex={keyboardHoveredItemIndex} - /> +
+ props.editor.slashMenu.itemCallback(item)} + keyboardHoveredItemIndex={keyboardHoveredItemIndex} + /> +
); }, [ filteredItems, keyboardHoveredItemIndex, props.editor.slashMenu, props.slashMenu, + ref, ]); return ( (null); + + return { + ref: ref, + updateMaxHeight: () => { + setTimeout(() => { + if (!ref.current) { + return; + } + + if (ref.current.childElementCount > 0) { + // Reset any previously set max-height + (ref.current.firstElementChild as HTMLDivElement).style.maxHeight = + "none"; + + // Get the menu DOM rect + const domRect = + ref.current.firstElementChild!.getBoundingClientRect(); + + // Set the menu max height, based on the Tippy position. Checking if + // the top of the menu is above the viewport (position < 0) is a quick + // way to check if the placement is "top" or "bottom". + ( + ref.current.firstElementChild as HTMLDivElement + ).style.maxHeight = `${Math.min( + domRect.top >= 0 + ? window.innerHeight - domRect.top - 20 + : domRect.bottom - 20 + )}px`; + } + }, 10); + }, + }; +} From 620527529c467107a310747d118b5335cba8bef9 Mon Sep 17 00:00:00 2001 From: Matthew Lipski Date: Thu, 14 Sep 2023 16:16:20 +0200 Subject: [PATCH 2/3] Updated screenshots --- ...dark-formatting-toolbar-chromium-linux.png | Bin 13306 -> 13327 bytes .../dark-formatting-toolbar-firefox-linux.png | Bin 26960 -> 27560 bytes .../dark-formatting-toolbar-webkit-linux.png | Bin 29042 -> 29041 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/end-to-end/theming/theming.test.ts-snapshots/dark-formatting-toolbar-chromium-linux.png b/tests/end-to-end/theming/theming.test.ts-snapshots/dark-formatting-toolbar-chromium-linux.png index c429cb72bc1e08974b9ce0039913490024adf8d3..8e9ffc9b25fb26755339fcf4d00d4fc63df72a99 100644 GIT binary patch literal 13327 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 literal 26960 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
RrJ=P3-BQ%ZT4L0a#cwM;2TH7S$RS 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 GU;bZ-`Zlou diff --git a/tests/end-to-end/theming/theming.test.ts-snapshots/dark-formatting-toolbar-webkit-linux.png b/tests/end-to-end/theming/theming.test.ts-snapshots/dark-formatting-toolbar-webkit-linux.png index c6e18efc2964c27b0dbccfaed07f021bc83105a7..0c857303539d4ecc23714b5162fd5af3712b6d40 100644 GIT binary patch literal 29041 zcmeIbc{G*%_cwltP{un+k)eqqL#a*)he|3k6p=BRib9#Eb3`gh>Xu{{nM24t98n1& z^XyQWIp*OUXL$BipU+yq_51z#ThFtewZ6{%$9>ju&UL-t`@Q#TzxHeIYZauUrOvfg za4Ui!To*5#yMiF-+sz5=o8W)KH$$Gl|5$HosGma^=zj?nsbL5rhFm>IsUj>InT>txiDa24FBDj?G?_Us#ANP&F zZ~YYZApiL^jc?Qc`43+{DMb+WLPsKQb-*3F^y92-`CN6W>r|n`K$KQ$k_>A38v@&c z&e_{feGcNYZH#jL{Ezx>@9A7=X=z=7%~dJ_4I}q;yO64?0XVHMkyX^^A5+V5=cGyf%x1GVV5fb-~g@+ThLhb}X3HB)wk z`8l%F?~-w)4_QKaKB#EWOKS2Ad=H_t6yN)mO`ubD$=jSmzZVSOdumkSwY8NKj|9CEZI=f^vDlHSak?@0wQ{})NVx{k3x#!Hx zjIO|y8bJx!C#5VD!?9krBpJA)-_~7<9&<^d%Dt_v+g$e`?O5R|M6Y_lo%o+czjr74 zuEu$jf=ag{tSsn?=YE{!Q8PvFrt-=}gel=D3;GKV*>YajE$|_td*74AubvlS*4Z-E znH5~h0-yOEtXQa*(v3i>{KOE}gl&a)`*!?4zkT7HDJ=esWcbt4hYGpPYZckWS5IygIM2(1_oN&VH9Ll3_ir{|sp&f57*x6&Zjzy4Yirwn z0Fe`8_hU-XI(A&VcILQGzgbOa9A>J;)&RFUR#f1=7J2|(WmVN)gw-$VBYn9j&IhMI z9M`!gK;pSj$?U@;s=VK$l}1{dX?TljRwUE&r?Wv`$AVCeJ*Pb2=sqKef|T>%7HO4gq;W3128^DJ#`d08Yxj!Q(| zdQ!Ug&jlsb;eyLHi+z10Un@^umc{@Oo-{tOm%){m1-Dg~sV@jBy*S^NCOgEI6WRDLK6lrgGWTS*w zKAD>>$wq3ftnK45a#@?sO?r$uE-q94^HISRW|{KcGwUpCeEHmqvpn7S>G5Gz-g5Fv zr*(7rlDWH5>tM_EHIjv~Gu}Xd>G@;)jovLB+;NJyr6JYJeS>$+OWb}b@nBcS^QF8O zisWoNaS|e~bMGqDi@0wOmR9(7NaYa8Kiae_K9ox2pmBnX3xfl-zm+z2e<)P*h+C!~ zduM#88Ap8=U`sMCcAicv%uVX$W>mFH#G5ZScM{c>-ySlby;Q72WrjByJyu4xnkXayuvE4wTI$dyJWC%aNymu zs2gz~KQ3MqQtjfbbM@B&Jgw!TcPO{NSXiBm_e!z>rn09cQV`Dn(_8syw&P8a1;kUf zyVq$#48xTeQF4Bb?d8ZfjW*^c6~kHXg&53nl4kPC+;=vu=%ph3@>t!uz3l!Wj^(sz z4SOQac76Pxn$gC%qc(bdWZU@C`!ioj*xPtLeg)6rJrc5tR_o7K`b2%~z^uvgJzFf* z<30=x9ZBjP6)9$X!P5u~k~w`}bmME^nPJg4g=@t%gEQUaad|28zVhVsBlqUM`>yUH z7=RBRKIt(-x$LgA=G5FUmhw>6@W89efbF8A~S@WJ^^3y5$R0xJx zhh3h+%FwoLphG-rR15cHAVYCW+!nBeT@$Lif{dkGygB8klWkz8e zg`gnIr@q-cjFDMUPJgi-!Htp2m0Q9V&3ZmeL}Sl@MV^hn@^CmpG=dNs4&(6@!UrHj%&Uih4NZ&;%7g~ z5`Wul#>daEZgTg^Vp~)lKRyN&7M>*_fayNHjjToMbcsy-o%KKap%Ok zXpyog``CMH;KAtrO8Cqm@X)$;$L2M{GMQd9VeEOKTrqa~M?2q$_`MO{f7lvNewliWMfJyt zk0Uj~+|u4vk*T|T%Klw>mrpf?lnAX3y(iC4W(T<@$*tNc$)DH|xe_)KvHgt+YA_+Q_1W)^ zgnSx>NL{tX;;tx)tbaG(jc;vnew|~o+EnPS&M9=%aphHE=W79jEWC3=;l9CW$CB#! zRU*!_);!j;+Ms#eycxdR+8Z+AV)L^Y;8Q!O_9ifcVmsRGtY^7E;2$4el7eK;xgDH} z{<7w=i08Lwj~=Z->Tz3Rqt9Lq#jY-J5h_yMndahR$aM91ZQHzf+Sb(!xMAV)5KoGS>4vIG1IZ1HkYpvx7PMyPvgrN@>>b| zQfpL*gs{@sP~`gaT^+9*M+bepr}AtK27S8r4YRbo)Z?er(6rwVe3$^Ih*j{MeJdSM zNa)MGKV!eDxG)VK{ZZmSyN>@)6*fr(rq1WO<#^7$`?KB__FZIK-;*($D2$4sNvF$1 z`btEq=;E-NbAZ?y)f($_ckwmOH>at9XJv{E=1V(a-}ycWxbdVp>hnnHvBbLFHbp5z6)0N^;%5$n%4|VKXEs{B0$WLHaQiZ^*4841AO+owOh%t z^FTapyq`JMgxV!4tW;hw-UIkpId?Vq*SrTW%c``oh}r}6%1D94KTuRwA$$Wt#?C;C3^8aUr z{HMfC2pzd!lBNOMm*fxrl8Ba1ln8(sySUFl7`@VN%^l`pMH1*J-mXj^op;>@Cv+*C z``w~9=UXNuO=!~%B<+B85>dn~v-Kb+lpwlpFHDN_Z+RTv0>5)We|O^5*COj2&5NE) zh}gK>josYu%C-g^_=F(s3J`621*W5wzW=U04S~x^d;iWwzX(cu{tT^Dr|k_!_$4 z(pQ)9!P$1Mu9_GD!b4an=P_$iXuEHulw?A z-l@#xo9P=~fy->t=;EVLTJ!YP46V@|C;1d7ANlMDdWd_lFPf~5&U+}nys%x3pqBO5 zAWy&`iCrB&O{yhJn1}{odM*mW%6D#|FLrMMNqq>}_ChC-SWR)hLH(Ydo=8n`j#Mww zMOL5>9Ty?j|08Ae@clu!nMeI>T`GZ#i)&av<7ou^xj?$yJMZn=JrNDbSJE}b!!9L* zQlcm#dv~);qhEtE3wYaGeRd?VJ!}cXklUU@sI$t;&23p0N04s5T*LRdxkn;3Syf+X zr7k9s=6Vv3cs>kd;F5S)dK@DA$HF4nBf3+|T`$h<{U@6(rp~JRi(l{#S|gSdv#=*OC;^V@gp4S& zivGb%_+S}{z^>?OsWl7xO^C~Zhz3^|mua}o-z11ge&eqBRfah2;(yFuZ1T%?adFY}yt(~SYMZdIu&#lsQf3CZ zx$I@54VZd@Zj?iC3;Z=hohzIERz7FZauc9PhYR=vZ?Z!#`_s_~sq!io#5!<_e%@3~ z8y1u=z94O0ShdZ~z~j%1w`P%a)zfNSGHu{Om^d9!2yHMT8;UrpF^b zwfB6_)e8kjb=^{ynl=OrrMqB{VmOY0r=AB-eR(KGHQPxoH?c0B8GbV!8P#xu>Yo(f zPAR&U)nzXFbQCXhXA?J7mml>BB^dc@~{Cv-ABK6C@uy0IAhnUGKs8d_t5j^KT${|A8{aqAhv`+4Q z72j7fXMw3*ciW642%`8Y>EfDxVOplHQQiA8&5$DWwDwmJsts&CtjKBYD!*N} zjMIr>079A)3Z(4Y%|s;a7P)c`l;Btpy&$Iv;-g28>ItrEDUq5f3yxfB)$^XsV}Y!Q zANzIYorq+Hgh0@O2BS2M1vw|PJ4COThS^>hedcBLk&?b+=n>GRHY57)#-ConwVpa6 zhsfR7#ja~L{^RZNwicQsmRpv>?Gg%j)1l3VB6DI1#Im0bsJTHBaUR_kk7vqeD~J1s zjEfw6MGW*57`q5=ZP*dF7_A#|Hp{5oV?NS0uBX2r@?}AR z>nH!s96Jsh=HC3$VPIZiQS+#NdzfgNP%bl~QviXYqgH)rRI*=5?r!hL!2<^|11@b( z`K2i3B2PL41)zo-GrfK5 z)>{9Vas=bNoueb3P98J&o+Og)H*6Vn zh?$Xw2!oV3rQC+*GuYb>4)os=*pgcSGc zFpCS+4+W_31_X^gGPp2uiHa9J3Ez6Y3niBq2Yb@Y|Ul?6FEGc zD#m^#y}cPvUp!4JPO7L-!dLyS3u{)GdViMt)Vt*5kp^@60vt$pk#7~*2}3Pycx}!{ z2CzGTo?%FJ@MUIaT*)ct(N~2pAvsDL7nV~O8c;zx&$?mnq4$L`_v;VE)0a{M#EPe~ z%PQ9gX3v{yneIAn*Pa|bJuhxqa`q~I5 zO=7xtdV1QV%xwmGF`-H;-FDo5>1R^oab9oe4n27zc?~k&N3Tr+jT1xZ$P+_@kWKs?zF>TC^?zGw>LQ+2C-KwZ z^w(GXE*iUu6;_@h`>!56CshbyguhEWg2ioBs5eMOW!9-{+3%S60IqY zUGHhe(HG;jldtINck_{Z2BM>)9LndvdMH-9Otd!05)^wgCI@?LrOR5$7TWpE+zh@A>9x7w}g=HwuKd%dh2X49!36DmcQI`A zd!#&so9E)F5@kGzX8Ohla*w10%0MjYi}ym3gzk`e@jz?qQRuw9+^5c}in<7xb4ndc z(S6r(WXLMN$91Zc) zzkT}@srXm*OlEfJF79mv7>1qPmMP1}{OH@VOtD|+hwZwT(rMhh^X1eRPEbIRFY>?CYN3K|)RN_en3 zG$=U576u0LAO!4*XxqkjR6f40S;+Heki^PGhRNBpXZLgM)~%5B{h1Q&uoc67a>(zN z)I>>Ln8ahDO+)lT27UeU6g}IttPqGGbiA~&G#BeBfA+&h9}lwo3!ipVq_6#gJ`H%G zq0YMSn4Xzrxa4KLz+uB5ot@W;ZD)E5pjH)Kt74P9`sM+Uf(}g-kBxeMH(#+RdsSzJ zTS^iY_FZaeY;3Hvx(^3J{^BR072`3Pp4t?rvw zICH+$!aj#Gz&-48x^`onQdvm}*-~`f(A(R)xtUK8q6s=(_r~8o<`z|^W)%&Vj>UQ7 zmNU(1@r*@$b?`u!srvwY+*>pojcrz1?O&wL;u+uNn-wS1l6rf42fe1UAW!@R>}pK8 z99>FDvcGlf!-Tuc+mGkaC;Gs0$qF zc;Es3-N4j7hO2yp7T@2L(VDDL)3Y!O>4v;G77F%*9lM^oe#93tzXgP7QU84nOz`2| z;MZfZ?t_%&DcO?W{{o8qUd@4A#h|S^-o1MlXyo+t`wJBSJIMe$DvjgQ(>}jKFx3a` zyFXYAH(A1QM4A$| z`PHGTl`91~1%-u=cxs>Ra)zwAa|@ncdh?}#aYbe)oP2!!Y3dAL0>3>kW$m; z50ighFd;Lq+jJ57?B~h62c`3pJrBDdNDu5at-D zxYBlk7lVnm7S&AOUHDx`URr|n`cfuRfs1LK9DWFBRrv8^3}noB+O%!3R-V&v^|`(C z?N_z4j0!T+(+_Fh^~S}4Gr_&ZH1Su{+nIS3=T`b0MV+dc)P-H!JF|?-4&iu+7)Kx! z^Bz?A6P~WJEe=TG-&p|inEJDw^TRxNkM=a(vyZvaPA!%}ZXPRpx;P5qbEo@*ZM?5r z%_FWb3GKKeme8Dp!~h?yVClcGB)a(-_sY3I*<%XxUv zx+v|H;O_umGmCxYl0(k%>-|*nVu0A2qt=&tT=9z&jwhlkR(kC@+K6K8U!U#bV^M`d zM6;3!xp89~pkToskJd{`}-0jR+ZGd7JNOm_Rx|s(8Qd-veFd zcv^yL05Bb_MfF1ibKinF#h`OPPZP;afXsLS(lps~hm6Tdx9M&%b~jQ#xd^{rlzA;{ zD-R@dtZ)6HRF|s^kxIv5&umx__5L?V9mL~ZCT+dF3SLX&(5_Y>U>zYmyG)!L0de@0 zscW@ZdP^wo7`y*j9;IW@@0?j)1uvfhXHXjQV+MQw>%$tOjR&f**mQb*Zidn^-jY;P zr?Cib`fv;1b1Z%BPg44Drzg)T>(gXcXXg&L@5V^+(aP0|*;wC|9>_gD9&5voMSbQz zg(_3VVawM7gP@~^CN^2K0w3~%a*mbuo!*b>nQ9U4=hO^{{yAJ04=TIk1(i^$9D-vYEoC{P~X;I1mm$sb7s4BDJ%qlHZlT>}`h4eNq9x z)HRcPU-)$mTG$*a$)jl+nNUEY4N)}B>bii7BxGhjr3xfoS?I?t~mLIMtow57JdoV&25+?#5++k;oU*D5`w46+YX zaNlw|1e$!hY3qeWMUH)i(k2m*h;lRk^^%BafaL2se7F3P!UuLNq-u5)m z%=qIiU0xR8fQOChl%pF_cuobf4J1ne3Yj^xY{^%e;(&PNb{!c`6_1RLK$y?1dP}3( ztY&Rx3@{RktKhf+YszWJR-wMrme4-{%O_)MmW^a0q=bV;;wLlRnOLKg8Rk2YR|n9k z5Qq^E`2y!!K1poWl0Yfo*IRFuN=s1{m3dCa-FSn)@HQC_g{;D` z4_Mu?M@FwS6~H{_*t{2nWKBq3gs)WjsJ%?YI(?N84}z5PkQ2%T$N{3%ghH9{Y{T5d zJEDVg!!ReC0E#}0DIJEwX$I}7brOXE%(zCdSz}L}A3_yL0>{5i1xJc;Z^c5i2 zx-CEbM0TEbn_ik|gSIKg!Nj0Q{n)W%hYddr@!;3aT5C+DgXna-Ev5Go;Eo573RW&b zFkF(%I}G>f=?`M;y?uQgsi(Hg9Hqscy!R8vzjov1P})v#JpAO#O_~=jfz&~2RQRij zhRfaid5%f0YzmEo_EhB#+L3tbZwYPiN-_39-_-#W@8B9H1RM<<90sEtN6JLJ6UWA2 zmWrp(S;N+wTjK7ZbVVA$#jY0Eg;UZcqjWF|c(yY6w-`GKf(0#ct4}S(^?khE_U{3W zdS%zCtfDwTzhD7bk)u}M4yDFiX%96EtVTQ_@l+J6zg>v)noJMklK^(;1A|6^?%vz~ z@E6DR#PifNm*uQ0ow)TG0j>QIP#IQntxheCO7622t1ES$ZU!y)2Pz7U@u9wHol~;> zg^ZQoA0|2d@_VL%tra;E%|2oyHQn-moPC@2x_1WZG;nhmA#32ikWoU1>SwlcomKS% z0B@qufLkOThM!iTVB^3a>W2X-l>dFHXC05d7$%MmEHV3|6JBqQ+g}SeNl9(`?Hr79 z63E?TT3Pg$6{?~mlvI!uAR`{J{0jUvj0nBb)XUL@#*U@Nv(Xr!IY1^roTSD#}DmlP7klf!qgCYuO1?}9NFw6&hCHbgmDzhxt~z;Pm@3WstqNKM%jZbd^D0e zp^Z1lNSTDAhr zjmQ56&=CVj2xwJJr3BA=_yFNFF!QutOLFhKTa;y7BvWtXZB3&r4`Z}>S(G>}6CR-( zpz^x`TKD$^=J?Lo4}a1fIQAp_LqOrB9RjljFinX}`$R0a{4cuh#+=An3)Lj*qM z9tQd{__Pdxx`6Ue^hO|gt{O3|7@A+EGa&=ej#4>*&N%|oHs$DT_1zoYn0-Cp1}cxx z+Ft<71`ZX=ozI^?pJ)TYfigjJj{{b)ju!qu-kyETCFBNG=78r|ta0I;NN`E0(POnz z`GN*^nk;A2S5{WO1Ph?$Pea6?0#;XDm|w=L2rBUPSpvRD`K0$vV6Cbp2O={s<7DQI zw)jCWay}HV2w)A>@hz|x=r0jPcY3yor=WwC^b^78Iw(^)p&!31>m0b6w5reMr015& zT(%W-Dz$1&XnrWoRWX|iLmWmy8Lkzl=s8>+h#B;-T<(|n2p>9Z`wR;M^BCmCnL&{Y z{N1SgYP3P)vb&p`!$4^PsCPd<2L-OfZSU6|h}aEuh(~$t21XX>4pfMal#=s)l}9}0 zhV051Tl~EKBnBuZw3L?H(beh-oT(r~5Kszoe6yg=TbTyjZsvBcgyaV`37e>o6F$Zk zpb4#zWJ|{rp@#rmXaVX`&QdyX-E9HfGzY-@q)&0smhe4ESf0;eCjD9})O0Zm31C1SUS*7o)GE-c2dslI5m zLHP;{qgE=Mu84|?YC1I*W6q#-C5IV2M%58WgfKPJGY#DSO3!3{u-(jH2n(>5XrK>6F_MPOI_{7!+Jm=lm^(GNRCKpo1mX==F?WZ_i3|0KO~oEj3YM> zdR4}}C?i*((WfGl5zipU<3R}k-RDrOmg8VK8TexHkUs}X<7Y@^Z5;c~KRY?{>T2cM z7uiQVsCjNp^(4z7+_o$srLPB|X_W&>YZ12X4(bwMP~V?dSGKA5Vk3spNTfDGCasy& zg#7uW_7^H65NLe_8jZ-Hfo6b%(oyS;oCWArP=cI13*2EPNH!$*SJDEO2_5Z}_^hb`m*LmG`#Fj2=4?amm^;P(NpnL+-{=(|0=b+~p za1n%A?Y)7+TZ|Lc>ke^J~@6essWK zFb3~?_d!_?g*&JJ5Wx8RRQfymVn+_n6;h-suZiz+hwq@SJEQ;~N?Sa)|BZ>(L`cI!mR=;$a=gnJQ>v&;!}P+=zF%qiu5 z^pm#uzJbl{>E%w3f=s#3R4#<)?1sz}sW}Rg@nGRy<5f0uAj_ct^nrhXSUBJ-Wy?dX zn9j7*7`A;6YPG@P9c56PL&n&_@(BRn2T<`Cxm<)J3!n zb4+1(Rqf4Or+ozZ-Bn}pT!Yvlwu3HUHQxyh^QY**@YYyEM6XGJu=WKiRwXDqbOkn5 zV0_l*0(g`?Cfn1ex^f7x&&72JBAf4T{&6sv5%gXPhZviJ$iXreu}LxyGxFi^GIJ^^ z&GhMJ_?B*AP*#3Eu)|r%*Fq>uATQKYC|!iXU;}CM%JK{x3+POpWv7K4px*#B!jh*_ zMInR%!0hVJK*$hk@dEkAz&5==)M8bggKCI$6isrK>!j!tca1bO8bD^bc3?F!1XLUC zCcX~2gp{e~k^4}|E~AZ$)>bsCfL72zJ3kb|Q3{ILyD%+Ecdhb{6LcBV(vM@9J4|{3 zAanobFkd^s={X1Qye`r8W4wd*=waHi&GmlBB%WbI0 zpdi&!oc|0-0G8LPAqz^AhHk{gS=acp(043{S!#{fhbM5J4Y&05qdLyErD}^Fx6{ip zuLSUiqsrx(nt;p&90)T1Yz2^$(}3E**A>C^&{zP;%@QCIhT?Ic4Q6EJ<|vO234GIGF!HgG6WJL4SMp z-(h(E<51iKe$oM3Uou@yLMPv63c6tWyaYP3i(}34SUhexU+BagIjnP58CW4n#zK3* zXR%Q?;zOSn7?qToMH&R!nlU3w0-_J<`^E63g%VT}?^AV+`T!9fNl;u$m! z9uGhP{Cu!E6)J?#G!?%=pz-~nmtldfz_|U58!%I$a~r^=7~B*UH^Gn9OgRSrF?AUM z2lRmq0hRP`G@U}O4G9T>0^1mpBUBVVpo=D>L;Eb-A>&H%s?v1#N!AYnwq2nL!%A#;H+9ns&^ z?8~O3J!!Lb{M+50yaSWl+>Ce5=`>b*HY5o?Tp|r*-pyW)J4k&7lE3*y@i5pElsMyy z^6s*KqrRiRhRNsf4i3!1X?R2L8KN=cZis1!hoPMqG=a%unR&N>il+-wWE-e9i+x18 zo8RXuXpB(8kvDW+3nZpt1Y84@7myy@rUDB@5<0zT1zHH_bP%{F%7xGagRVki_GZ5a z8c=61!GYX^15kwLOW-Ed|2$uEDLGLl!yH0u++foU%2{=Fb(sizJG=VF7W`q2HXyhh zLbA6kAJd!>N4U3En=;AqLh~gnD~nG;OA%zD(dKvpw7$^%7`*950*qX#5E?2Zq8lIS zIzZ2uAQ4svLKiT8IFCgo5L{2YlkPaeeAGBdckp6B#@N-~6@DC{#K6vez~o1r)gPk% ze$F`cO1g`}KyXp^GE&evmE$@b&mhugh}?q5(n?A^bsnUwK5V-RcK~tpvo~maJB1!U zRd~dNB;1trU6nyz7#8I~zctuSf z8=-7p%#En%qZ2^Ko+c8rpWi#R1$lA}j%i;vEdQx>6*LC(^I7w-y(hVg;0I;R7{v8Ua|w*|q%=*B!J!5YEVEULVrwNlvGW3ME+ z0?O(i4ODJHRE|S)M1`faL~^?_zc*p)YgR<({MD;hi}yOFZJOO#mr?VgtMQgk#8lzV zDrSUN8hk=e59T39?vrO)Mf~$3B2CV0LiR?$FhbBdg;*H8A)cakMf;@w zfr+{w=JqS-{MZVeAHN9ZRTObI-QpJqTGW%$hXcO^cGKQ<5(?}p=#&?tkKK>!hyLk> z8^Nu{-3Pu;nyei^So~DaCFGDuDCh#$%AF89&Bo1Df)^(w<~>48Ne3yzS<4iAqmvfe zu;-rfBB$a(n&;;lcu*wmD_xxlS$_9%s>rGAAOdwW%=SU-MHw-rZ4O}Nf~Q;t+S=Q< zyKZSujVdb=d+9;kW(x6knS*%L!Y1u_7F{N*K~SN-+7E@#2~>Sjg{ ztKZYf(LCMvH@*<72Z=v`IBtRmex~ao4(;}0F74lTyemiZE`DWaj>)V1VG|klwNxvvrY$G79>x5d;5aM+}%w&1JGaU?>{X3_UONLR^2^rG7-^A-YZ}GD*a|vy=;17^Yy+_mwz=v}Y!|J*d`D z8{V9fcr5^2-te#+bVCWC^vA}=4#yqDB8a{$_`si+x+(j)!#jc@N_s;iA^QpbtA!4h zSX%yqree)f(NgF4yo(=T9?;M3sv0JMxk^Q+P$Oa7LU$<|1Z6k0N85KP1jvXmp^x zb+}NT2((M4gMfB&X9b9z9DQR6+~@U${qU>--M+=JVp=H{ZgT*Al&IxN1%Bj1;y5N} zuJ`IrW>FxAfP`qH0Inn+c4%7T$qFAJLKX~fg0n_9+8m8Ek?HF0_J9s2w1q36ZRr>x zoGFk@xQWiaJcJ&Nq{NP3NJDdbb#eO+-V#0-b2IxGrLo)=xE-k0U8t}|U2Kl#5QH%s z=^eqBV-=RulAa5K)(oRu~Or*`xg27VVBgrPsuQWtaEm2QfKStYg;3(AKK~?wpma}Xwe+v zPM6c<7>7&C_vT~{L<0}7#fsiVWqA7!wOvm1ZTiqb>|TyGk9jZGD6M&y!(8Y*flN+> z!L{-^{o(W4t>#;fAV_#um|VdzpGJv1GH0>eXRffJ>i3vuxJB=U8A5WtiooFe>ux)4 zp)ukt43T+; z+YIxSdZ}hCRo1f~zBdn>oGfy-7&mTb*-biZC&=A=)$PF05N#r7Kg?`?LkA=ix5^I< zRk-47UKM@Za`G9j#$FpdBT{pR>--M4Jr8FHri}uzq29?btK0t6%(hCkPUjS{DVoP` z@p2XU+7LCaT6`$+P(s7k@7v75W1gZO^G~q)LZBABrcve;CuU!dpdT^Q+Q9>t}1l*7aHxlb+`Q8!lf2zkZ zi*Y`rXyURs&#yd$nY$^g_ubZlpk2vY%k#f*^v$Sn!Fd4R7s!}c4egdy) z!FLwO4fD{PJwU^C$Cg$?VD%!q7kp6y!cPEZcaz4e4T}zL;WjYn8JQ%gmE?>Au1>-r zxZhJrBjlv)G>T@v7K$RxR!0Mcp&f19z7{P|jtOw-;VhoZS|1L8>B0lAOt%!jPrRN0 zbQcaJj_Rh%8iPMwg2vwkH2$uYB2GHIoMY>L!Dide6Fe=t94qJ10p(tNnKpi;5(49K zoK=15Qh@ax9N=GBNF5H!jX!f{uCKPCrBD9)iTcS~c7Sys?{Z45kwL%LJHC|s|pUjlD;!2J;^L%w^>Hh zGuR8?aDpkKQWzYY8TDAPmBEM2)?Li-)T2nKz(^iyDw2@H?^IuIjK9APxWmbVL4Oh8 zqiNwLfz3s#ysy5Ng0uE8*EiA*FQFs`utZESaF^2$wOSPmDJNXuQ1#B@kHn%(HM~Zf zc?&FM`K`-gVJXZ%E^pz~J_r>bTap%{ouAtSbhsAXRW2zO&AvU_^lCf@0O$`*Ms0^r;iBWnZ%6LIF?>tb_%v}B`K58hot3x zOkZO)DNQ}dFEdS>=(FIQ8pcfqYai3c$UBbXwxcbIrNiJ@b7lM`^589FB_XC!-OQs#@6_9u_cP7c6A zuDQgQuk5FBm5wvZgy0&K`>kP`otGbYmyX)a*{o$_H`|?UkD6a|`30CZk`Mpc(DXIf zUFqZw2WACypzTTCjoKFaxVw%J*r(rh?*C#S<;Blpz zEdqZ24&9KJZoVUi?YHP7A^0499E|ljM6XlXF-}t5RX{pE7eJ7XL(#pYyq+SLGL(MF z@wzx;t%uJWsODq?WZS)hNX}@HDf1}9s{Dd;dUd|gG`V~L+tJYjPjo1tNg{)vmO`pq zY8og9m}7mFeRL?hFc5WoCY11(#WhcwxDklUFh6BweYT$zFzjFkPiS<&^c`|MC7L); z#?J|8HqbY6v`Xm|JojXWKD%Y7J&W^QPv(KABy!7cXQPKy`sXQ(8$~52;bGzdc^g*b zMpY|3@$u)SBk|{X>p$;Ri0IJPpI19ti2nUBcH=`Z#Q$vup)#g>9-wDfC5E5!_DP1y zt?D6!z@OI}-m1TE5WY=+9*9Gb8)yD|w3_TU{{GQ#%YU6fZjT?+-_OKZ{&Vab7u&EI z>Jl5Sfgl^(AG%Ky_+0v!5A4)~v& z1H_Z_G7#jSP3XT7uu&wV5V#Qy|8t{ZBLX%e0JXqI1b_`TYJ!cL0F8x>nqZ?QK>c82 z$Yg^apnmYbmmsUm{J$nAH{5Q+?f&<>-3Gj&HvS*nBxgU=rGLFo?%AJzUE!jd*17C6 HH~jw>PG<+J literal 29042 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 z z_=sDNg&$MpQ3UyQV#^JNEs~R@2@8k9rmrK)uc}k9ur^^@*Kmxhi;F%r`-nT{@F3aa z10W#F9r^=^aHb4TXi^H+#BK+2Z})3u;eIObi?JI=+_5dwu27TMMAL55DRZALYuk6@ ziV&m{M(zLsf58Ka-tHx5R{UPn_NftE=DsrkpiY9NY;?}?fVZ$oXJ=;%#X3}fWfCaw zHuVZzeu5b+--xn|FP*O>^ZTr{{@Q!zm@C{KWzHiy?yJ{}=_K9{xQ~XYaGfzNUw1@R@O}m<%Gl7%|#$r_E1cKRxE?xXe_D!5OKz^VB(cjla;-_ zSbtA%ujl%3uz>ISaD9X*ZYnbi6ljB}dr5SqZ!aLoc~o1|KOXCuQ*E-dJxzPwDEjee zh>Vy~(I>+6lb^UDf7YLK&Ew0wGWN!m-W%^uXq1(e2^;GZoQZcXp*NgNjS;@xAlT8> zv^1aa9l(|ZBn@CT7%_0MWxQzGu0xEtQYJGXWR|u}^$}#B^AMd#Xk?sa?t4J(u zRwG;l@w-`xwh7OXcAjXd3lq|glRMAsKiQsU=J=hPu=z(O!Dp?9PV{6sU%s>B{t7&J zAPX8q8For4B~oPzf7g#OuH0+?_2oWlKgDu~#gXqj?oO%xGUyEm;g#_v_Yq9XoUJXU zdbs5`&#=Au^XCsLO{)v|I1B6lQMwZ&gQ=V?>hoQEX{J~CId8w1@d3A8xQ`foQKou! zHz9v<^ha~_d69mtlv~04o)ZGJ^&jpU!fn01z2f7~MU=BwN%atVvb4=*o-==OF{qpj z+t_Hv`jTgh;iJx^86`Q^Ak}rP4^)8Rnea5rDkX7pz!#7|fV z^|XDaPY=Z|H#Nq|7Z;?Q39GZ~EtnjOG^?D>!SQ?ie)|_omZ(sI_fi_1h9L7?`Et{| zFA?V$sk>bJ>Y!8IiAZnCv>A4;bbKTy(59omf0L88!09z#;pWCvP*fD}KJvVCFH%#r zOI{Z8jX|!d!lT{-v^UYa<8Ee)bz0p1RD6u|qq3DY4Kv@3u_RE=OerB4?@?I3ae@sKjWV6w-=ae;exk`~Cgb*V5V( zC^MEyw2fv<$*2f!{ImvxZFtH4n^7Xas40sw0EP%zF`j`pFManS-a26xM#- zhrS9tBtZ#FO%7F*YYD7_;wD`OFe`n3>N}CP)>g;)3Sv;7sHiCPhz==uI&(3w?mr{D z+#rQrNf!8S$QN))EYb-64!>ECXHaoyIQs(@GMpH|;W_akcqAvw03HGy1f=Sz&aBa# zl%~Rhg2P@jUxwGh4NNzN0yy_8;_iKap$^_bpiu}!0+uG58SsK-bP)UlPot(K_>!QG zxRKV*$|JTJN?Q*t(MZm;kc_Gq!`ZD&v_g-`kTZDfacRQlZy~4gCU*a!e~yKILJ1&p zUKp*_B%b}_=JpeSAjhK_eP&d%_sMA0rKfwfCL&GCfY|+YNPfiAj5GtLXOmfj7K*#b zWW{OS)Tg{VhMp8PE0Uj1Q*%r!%1%*2elKspg39t-RM=jF^#z&XwrlI7p%5oZuu+v+ zw^-eSQJSgeC<>bkHGRFkEW}Ty6>_nHBzl2$WeXN5KcFW2QB1xr60>>dl3g$WnJ-w9 z4}znyv2oJbv+L8H)_YX|B8p>w>;7qolJZ=c&^(!MUK3;)@A1bCPadcZ;Z2TIw;dVu zoX(aRaBhbdTE+#ZKj&m*urv1sY%!R5ipQn{p2k(o^SRUYai?`dnbdYkJ&dk49Gq97+a{a$5 zeZ0!UmCJ8sbeIS8?PvH3kyG8XG>@CF+{wECm4K2jY}n<3<5{1smX^;}tw}MM%F^IK z?$^*ob81#_o9!(`{WkSROcKSm>l1X`d<>0@czJmN07Py<>D_SvV)v#LWO@Q5Dv7Q` zXYXAuS%w(gfcWccY2i||gO9a!58N#jTwX)0^mj_6sj%ENUEOx2%^Iaw2c=T2u=CAQ z(B94UnYD!^Ib7p7S{vtBdvLFi){MuU5fd!o=Fzw7KMgAPxKzv(_1U9Y6t?3!nG%U6 zsTm_P_u;_c!;i0)40LrBISf~OEdMb9keu$yp8hbTC<|Sl3r z;AwRaP!uR8_!mjcDTKa`ewz#}Ulm#|6=!GRfjFMfyKD#pvpOO&w+_=P;&rDhgLjqKn(PjNOs zGmo)wV6twaF7^P#+7}nUJz?U1uX(a23Zbt5P*Pm_=U9r{C1oGhG|#~T>vr%*p1HaQ zlIU@@LN5Ph9!yyXR+{@(*C0L<)v z7o5VPn-bDSFcx!zF8sb!yb9MVUKufFe>-WT_uf!620{_9{OIb*FaVB+PEJl-3_yzQ zj1Hc+>3|>v6d?jMQG?u%&K{J}qOfaz#OpPPifwCF``=+HO0RW75*94POF zjfcZ}Euf?bQfpr^ZI(ct1qZGUK&cfZ^*V(P{L6VG_juc!(vyZ98-tLzNmE%yMn;e} zy?(z{zd}BC?8>VW_#N=gxrN~$O4P+rKtC0(!_F-#lg?$>-0uVkg0$GjKj8we#qT`o z2Oa)~qR`<7pWDi4-zpALa8Ov}l|9eDeY_TiVnl1QI+Mx*K>pKdj@$U6qN2|lgFC9i z7c1s{=0D{(ftEI0qsnpNw;w%+`wEyDQjhSp@)!NEHXrxSwiFF=#XFNPfUa}3UKpARGz2(9`j&`E^_H{G{Wx!BeuwbqIqD2j2k6Oz8F!cn-(^r4}zPz}WC$uUR= zha_ahF(Ld4ayB@?swf4owK?28zv5<%0QIv)eFQXTz`nqo@+Ja%>;OaV|MTVuocG}i zd8d?3KuyzO!Rd}~3^Bo?y@0nt?~027Wgnpz{=An+5VPeW$m9X0^g$d3mGL31#HWQ-K&BD7-5~a2Ke8V&s0B3N$j11H%n7?*(r^6TZ;7(? z&82!Mq6PY$+iy5Vws3OD&wSPs=HAypJM8%<$`XY^h|$APj{wYlXJmwfg$vv*04Fh6mI#%c)&mT~bZ5$3TxgxeRpgJ`f%?rj=OKaUg{S)no&` z_$Yav9t1W}SZ?m33|js51FA)xexowWg};CqPBxv;h%m-dRs+2Z4GlSDhx~xYheCD& z76y1b{@J{yIxQ)v{2$WlG|me*7;9Pmbk}e#;F`&LFRTg9NKIooqW3#7YR2e?WgCw=m0Jw0FebQ$~jNS+ym_5=ijGAZhvC#wn*m=J9&cz z8`_<;S4;NDD-4#poFI;_yoWCpubZYt`Sn8)vNfb>BhPlDgt6s~w%rCRde{n9<#Ym# zhj9z-)1MC41moev9Sv02>mNwY1FSEN)uYi}t@c;@wwz4y%Nr3bkjf;d7Heh#`Ncn!%UsOLW#AI|O!P8^-~1s6<>@S+(Mj!#JN?|00m? zM3VRiG~3z<4F2=>7$>+b%6cGExS=lNHVB9&Vm7Fik`( z3?`((43J&3Xx!|D*aDBVl@HXm(*nRJt3!mXvslP}0fMrVAHx8eMqkV4l>Uik8E^4H zIpX)1Jdr+A5k~fCKHD#9cn-K*n6_eRI#UHpAl(AcD3XKOr7;-L(gljif8p`(&5dQ& z`Gr%?{~QT^N|;h>Bsxyc8Kr!xAP&mMUK9+g)2oY38Qu|#n~V3Fn~YqZ`IIzPMz%|% z@{@Hy8WOgn%{H1toQ^*(g)P_*loeWGVP?);CHRt~XklMZPbrW=FhV4syPgvTR7oK0 zEdF;V+fvkI3T7oJd~g_mCx@sX;n;WRbUTg%ryyBhvAuFRvy>VU5dnNH z@xiypptBHB=v(*`gAp^U^d2ntKq&^K@i-QJHVNcmV>C#K2ph{-w=A6>)dlLbT9X|v zryxe8gy0x~YsvTGAsivo`}#F4LwOU-ix%w=bjcKiqzu+7YdaeTo)tv6sKT`(`TofvNhkvr zy1Q1p&9Le+m1~8$flNPK+Lb?i4k)_5f8TsQ3{^~JF=OmcE^4;$V)_FAX0_j}C293>R}#{gsn&ffb5Y19MA3e@n{;CqmF z9!SUBNO8UA&{<6C>+9nYH7tON@{CEDGZe4thaE4M96*5!t%u@BLo=Vw-mhgCi!jfT zZrvO%+ym)v0X1^l$7|$yJPmj)D!*WQ3r=fl5}|;b=z4(`$gqT$g$=$pPqcp^8ZbE+ zyJphkSUNo^YSo%D3C&PaQwI3*VH=%U2HH`Q7Q@wnGW`y!5o$%39w%5Zj62u_(eGfRAi z$wWhT;w3tX10cMoKLvNx)w(biiQly754?%-CABB`&f1#UT3Nl9vTTaI;8cym-aRib zG9A-l39j)TAjHLZ$}FpRxdTv}Wc5(R(N|K{6tL9{JomNi$g?LoG$<1QJD?x|iepyb z1QZ^uZL!J}cK#7{b7Q#tCy;;d{=ymM62yUvA?tSbi^4Z?Amq}h^EB#AezW4@x4mI? z4}jR5EB4@GC^epg@UMUq%*>z8%E*|6OQ@g^n#g&$Sb;JEX^`DtFtWa4>8D6|c20Ro z*W9dlr_`z=p~I6B*f#0>t8Qg;x!H|)jH?VNVj2i#_WdP2`Ih1)Wd*l(Mzk*DK}`my z*8B9{#9+k{mw4qi1X24d1+Rb?PzTXd~x|ir187PhfH%9(XwM> zJOK+sp^y4Y&R$$kjj<>Fz;6CfJh!%*O~q2jvDD67-$KY003rWULJDkx)}BBu$e-5| z4>@#x>UWqnb%Y0hK(QQh`)Iaha5W+u%Xe z9!tM5piY>P+9Io?w2&!fxj03rHPPAEuSa!cvhwI|QmB&&)JZ0#b(MboZ>Kj4d25kj zSH%SF^Hu6tBl93p3^Ss243Z_L?oEH`F9R!MRgGT&O5tH@V#l zWF3gM8V*h)oa-!l!y7Tut6p^Uj!jRB@?WOvdJKQsBY)W48^GlPFbp6)O>)zpKzCm8 zUI6J7a@oqGzM?pnt~(0FE^A8z0fz4*@Os1Js8oIX=-Uz~%u}@!_!+)}{hcYR-H{bo zdsOX1nF;6jX5Y2^CovlrHkV=7I*0f;I$*%6WcMr^(^PBzS2EKYQsD^v)^}3F>;;Ym zVPuW_3(;%h!LNTuB{|scD;(DZ4kRRghbp@E)Enp~M2q|P%wlY9V=g#7EHNpxo&O>N zIG>B9Ow%@-Y4C;2CP3cYvZ+iZa=sFJRZmb6fC-dqqd~m(zsg)}$Ld9&dEW5)iV#JMD*)L{Id%JVV(K$*9&1NoeZ~*h5{KD-}R)Ok-flewi zGBODuCkv2&{iv=bz+tXXPm224xDGvG@*QS1gZ?1GxEqwE@b-?574TmSC=^pb{zr3m zlF~sQb4nl^zh9hzWT_ExW^!WU{Wf#RzA#b! zbL9I=FVjIuQ~mIVt8G9)LGo@NkHqwsK%Hwg^TU&LCbE72$UZ8VJllN?sx&;PkWk}2 zo@n{d2YMS|BqY-WR>+oi0~3+`xL4e5JrI1ohZoJ@fz5Ik091HRcql?8dhb3POg z>564O?uCY}tt~!QCx8A5fySEBS2HoAFEA{pts1)D%Zvsu$0N8VhR6{t`z3 z=~r^EP$G{C^!oBNCFOY_)pKUFRWlIZM#UKXRA7)ySuF$vaY#R?7GhD=ksdB$UeI37d_Crxo*Xdo&g3x>rG>B)>G<93kRqKAJmstfT>y7`qL) z0J#W7$N72CLz9O2efigYFp! zB27_JLdJ74VRfI3OP8R>RS5~wODaQFc~u?+GVDTtz$-p^>A6eD0q6g|I`InBN<6V* z-URRht$X?l^|aP)WnlKK4}j_IRgjsjj`bgW^i;e7rXyU>3GpjuXT_XOykBhHo(cxE zHvgr1o^@O_)OM(q?3P=!(dm`E-~1m;2xB5)m)}9= zvy4^H+f7bB2KCKB$p^tq-JU3Q?UtjHkl=#E?+HvO4qo^GZAHDm5GHCs2z&6~j7;>au`|ONQM8Z-Wq2tB-je~nyW$J6!wDRv5 zN)+tpM(7nZ(%M0zglc6F6l`cvIY6OXjJ^P|4+)5aMkS*$RiV^a?A2pH&b;}_sVR_P zfbd6YJ|ueqQ-fChAbeU|ThTuTsf`$4sq|bCdt`-`PJ;eJet!OcJJu|C7s%BQ^DDfk z4LNT@lf{sSy0N8ly*Z)^ueAj4v+~rIRdA7uvxi1?1rWlZFOKQy_hCHgp24KN2c6&5 z;gqCrUS;xm{w{P#fXRVM=wL%#P)BSWd)#9u&FrrytY1eAyxH2&oYH(K0!DK7f=0&` znlw?2yKnq(2lSNRUVXaT4(3t5OAbL7yr<_N+8CFlez>=1r>Ekldnf3SDzV4vqKIBx zo5;-^89IbJLMyGNQv|jde?0}7l8p8W@J$}EH@g{BB%?lUmbY^Wvj^bng9cJ}{b!o+W}2Sx}0Oj;`kRP~~?2@z-s>hi|6MJ1S~c@33`1CrAtJ1f^d-3ambP zwr$WqFEYW{5PH%e@es3_Pby9dzR8V#Gq!rA*uk>r z^q+Hd^fx0nZ)IJ8;et3V+lE=5LMp`!svrGxzs2}s)%(7L!}~k()`?y7bcpNq5sC=) z3bfQEqns;t`OU$-znN4wEoy}L>P-{0p!@3cthR69M&0OEGyL_I6L99s@%XZ{x>VafWXJ^W;1Aa$gHYp_~26;dPV-R9{3N1@v zJk!ze>#GZU(TGoi!5^5+&^&3`@c!+Y))@Ptxitj53eZE@uB_fqL;TW-usTp-L792l zojD?Q*e^5e>Tw7j;M`e{UXM8hO@UbV=g-4yyXb}Dw1Tr2^j9B6Ts>Z0OXOQ?>hh$V z7m8{8v%CS{hr|a{95AyrBS8|CcMe@ug(nqfk~nmcbOW_V41tkvs#&$wM44e+==tRl zkbu3Rmk-EVqu}TZLs+*YqwMU_&ubjlGnJ!nucoyZ^6I0HI39zJmH_kvdIwEnCPm*{ zgx!4(y`;jV7xrvSeqR&qh{~-sNfR<{Fi?Qj{Cl1Qjc6R>3$TM{ag%{jv__x)zx6Ii< zm0*H$j5^GT{pW$CiHS)dg=Ntf#!S+sA#b3gbfqxG1!wf@mwWXtAM8#$X#~ON{k{t z6|Dw|eBmFf5uCT8fGDqV866tm5;meHS5q7=geNJ>m?Xjw9w{0|2Ja0e-AR1;&{xa^ z`HKW+cpjbjVq;136Z`3xtYHApG4I9{Sluy?HhSN?zf$^@Z}LVG^n08K}BiJgGv8vEerExg|rC9s=!usyvfgf^#~&7C1i0f z*lD=GDewbEXRkv^e!8{nMeUw&zW`zy9-TPNjDTx}GbQLb291a^njRW4el-&^Rq`&&v8BIn~pqYAEJJvN=L+@Ano(65-XO8ytDb= zU=%G{5PB0Vr`dd1$$qR(1aC#NUkrzH=!_3g_Qz*W+%j-~o8?S5)V4-YY}f(r;y7tf z9k2f4d`{Zl9bY}>n;Zf`c8c+J8^J0WXW^H;w?wzvS<|C?YdSEw)>!X2M^m^-N2kwf!#!<6m^fy`{YS8k~7nPd#nLbbBTB%k-X#+w6gNG!eak zL58g7{E>8G##c}LbWHy4_fm4G`q~Eo^10hIQF0gk5)*g~1>T=T&YqeQOk>b2UM);15>7~HAIx*#WOo%t#Cos(edg6ISsv$obNjW{jrURZ z=g{>J>}yd`={x(Med`(Oka&wWub8Q}erjqx+iF{%if`RfWsV$nLDX9@Jsd+xVbG@F z7M9=Xyg)@tV7qf9zvK{SIg?+9`%Oqjy-dc@s&GXiyfLB7mb8%&K+HKD{;&!>^{ZEQ z6{LZQOkL+Y!m%gIBq*YfXrkY7Xj%3tg=DHh)6f{N&X zY4|^nORLuikY)Or2kYJHn`nox!u!4H_5(X})IQjmFWbZNAy&(P<8$FC7VUNY#bUg#pHb!J zq3Qi;31Ic~g!zvY-IEKLNs#cb-foC18@ff$4)QD7k63ouqXiUDp zpkse@;!@xjdvh5F*r_xrWLR|vkW&;u8$2s>_7&|=r*r6_^3K{>Sxp>4ILa_Ip!3L0 zBhq0+o&BpqT6K!hX`h!reec1f{>!H?@d#IL(oWC%lO<~Ta>T>L>*$^hr7=y6+R9!N0Qr8me3At}qEl=cFTN zv~P@YOme8L(;v(aGtx-M89o4F?w_^A11E3_=cp0!A6GU9D&*l%V&cQP2S4IfWPGYp zARdF|KLHkGhHwCzJ^Gy3MH0nHy|S*ctY@tH`udOe{;dr`>~oYgJ9=5o&WbIDlfk&j z=!*^9r(amtKP(H(u26VdSz$)(2Cwk5>55@1ali!!4OwBEKVVu9!qF9NZAiCcrmu#s zwZ;nKD*S z7YaPp5=}25uD`zbEz=zW>m9gw{aD}Jt-<(&sX03!E=K6zcfRn|B|h{V=QrH}FBoLt z*h+AZJ^=S|(FFJI%pvB>MGnlnDIiFIN)K1@_}!9V9tf;il-q<%4!aSxcGkeHWL!(w z955U(4o^Z;L~nbs8NqiFP8aJc-MHmn#I1j6VCEc8HXOId8OV4EJGez489x9I`6!8SeErUxh-Y}12ndVu=DHa*y;2dE$X z&!Pv)|GO-?EkSOl1T+k`1?BCOfcn9H4Q%{Bxk Date: Fri, 22 Sep 2023 18:19:15 +0200 Subject: [PATCH 3/3] Added comment for `setTimeout` --- packages/react/src/hooks/usePreventMenuOverflow.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/packages/react/src/hooks/usePreventMenuOverflow.ts b/packages/react/src/hooks/usePreventMenuOverflow.ts index 5501995779..c225edc111 100644 --- a/packages/react/src/hooks/usePreventMenuOverflow.ts +++ b/packages/react/src/hooks/usePreventMenuOverflow.ts @@ -3,16 +3,19 @@ import { useRef } from "react"; // This hook is used to stop Mantine Menu.Dropdown components from extending // beyond the viewport. It does this by dynamically setting the max height of // the dropdown. To use it, set the ref on a Menu.Dropdown's parent div, and -// call updateMaxHeight() whenever the menu is opened/rendered. Unfortunately, -// this may mean you have to create an additional parent div, but you cannot set -// the ref on the Menu or Menu.Dropdown components directly so this is a -// necessary workaround. +// call updateMaxHeight() in the Menu's `onOpen` listener. Unfortunately, this +// may mean you have to create an additional parent div, but you cannot set the +// ref on the Menu or Menu.Dropdown components directly so this is a necessary +// workaround. export function usePreventMenuOverflow() { const ref = useRef(null); return { ref: ref, updateMaxHeight: () => { + // Seems a small delay is necessary to get the correct DOM rect - likely + // because the menu is not yet fully rendered when the `onOpen` event is + // fired. setTimeout(() => { if (!ref.current) { return;