From a4b9a964fb700b507f2b6be8c53f24069c43ff6c Mon Sep 17 00:00:00 2001 From: Andrew Polk Date: Fri, 17 Jul 2026 11:27:04 -0700 Subject: [PATCH] Fix BL-16538 Little arrow in Leveled Reader Tool displays after reenable tool on Canvas page https://issues.bloomlibrary.org/youtrack/issue/BL-16538 The Leveled/Decodable Reader tool bodies are adopted out of the hidden legacy jQuery-UI accordion (#toolbox) and moved into the React/MUI accordion. Those body divs still carry the jQuery-UI ui-accordion-header class, so jQuery-UI's _createIcons() prepends a span.ui-accordion-header-icon (a ui-icon-triangle-1-e sprite) to them. Positioned absolute at the top-left, it renders as a stray right-pointing arrowhead in the tool body. accordion("refresh") on re-enable re-runs _createIcons, which is why it appears intermittently after re-enabling a reader tool on a Canvas page. The earlier BL-16501 fix neutralized these divs' header background/border theming but did not hide the prepended icon span. This adds a rule to the same CSS block hiding span.ui-accordion-header-icon on adopted div[data-toolid] bodies. Tests: none added (CSS-only fix; ran prettier and eslint on the changed file, both clean). Not verified live in Bloom (intermittent repro). Co-Authored-By: Claude Opus 4.8 (1M context) --- .../bookEdit/toolbox/ToolboxRoot.tsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/BloomBrowserUI/bookEdit/toolbox/ToolboxRoot.tsx b/src/BloomBrowserUI/bookEdit/toolbox/ToolboxRoot.tsx index f382e52aac7d..f8ffd1e474c7 100644 --- a/src/BloomBrowserUI/bookEdit/toolbox/ToolboxRoot.tsx +++ b/src/BloomBrowserUI/bookEdit/toolbox/ToolboxRoot.tsx @@ -1025,6 +1025,20 @@ export const ToolboxRoot: React.FunctionComponent = () => { font-weight: normal; } } + + // Those same adopted bodies also keep the + // header icon jQuery-UI's _createIcons() + // prepends to every header: a + // ui-icon-triangle-1-e sprite. As a body + // (not a header) it renders as a stray + // right-pointing arrowhead in the top-left + // corner. The rule above only neutralized the + // header background/border, not this child + // icon, so hide it too. (BL-16538) + div[data-toolid] + span.ui-accordion-header-icon { + display: none !important; + } `} > {section.liveToolBodyElement ? (