diff --git a/.storybook/components/ElementNamer.jsx b/.storybook/components/ElementNamer.jsx index e0971ec833..6dc2542bdc 100644 --- a/.storybook/components/ElementNamer.jsx +++ b/.storybook/components/ElementNamer.jsx @@ -1,3 +1,4 @@ +import { use } from '@esm-bundle/chai'; import React, { useEffect } from 'react'; export const TableNamer = ({ names }) => { @@ -17,21 +18,32 @@ export const TableNamer = ({ names }) => { }; export const CopyButtonNamer = ({ names }) => { - useEffect(() => { - const onWindowLoadHander = () => { - const buttons = document.getElementsByClassName('css-3ltsna'); + const windowScrollHandler = () => { + const buttons = document.getElementsByClassName('css-1fdphfk'); + if (buttons) { if (buttons.length !== names.length) { console.error( '🦒: CopyButtonNamer: number of buttons does not match number of names', `Found ${buttons?.length ?? 0} buttons and was provided ${names?.length ?? 0} names` ); + return; } + for (let i = 0; i < buttons.length; i++) { buttons[i].setAttribute('aria-label', names[i]); } - }; - window.addEventListener('load', onWindowLoadHander); - return () => window.removeEventListener('load', onWindowLoadHander); + // avoid triggering the scroll event again if you keep scrolling. + window.removeEventListener('scroll', windowScrollHandler); + } + }; + + useEffect(() => { + // NOTE: a good event here is load or DOMContentLoaded BUT for unknown + // reasons, they don't trigger on the page. The scroll event is a hack + // based on the fact that to reach the area the code needs an update, + // you have to scroll - using a mouse or tabbing. + window.addEventListener('scroll', windowScrollHandler); + return () => window.removeEventListener('scroll', windowScrollHandler); }, [names]); return <>; }; diff --git a/packages/mgt-element/src/utils/version.ts b/packages/mgt-element/src/utils/version.ts index e2c9e61aac..a44b7a71fa 100644 --- a/packages/mgt-element/src/utils/version.ts +++ b/packages/mgt-element/src/utils/version.ts @@ -8,4 +8,4 @@ // THIS FILE IS AUTO GENERATED // ANY CHANGES WILL BE LOST DURING BUILD -export const PACKAGE_VERSION = '4.2.3'; +export const PACKAGE_VERSION = '4.2.4'; diff --git a/stories/overview.stories.mdx b/stories/overview.stories.mdx index 03e7d69ea2..0d59f877a5 100644 --- a/stories/overview.stories.mdx +++ b/stories/overview.stories.mdx @@ -104,4 +104,4 @@ The Microsoft Graph Toolkit is supported in the following browsers. - Check out the Microsoft Graph Toolkit on [GitHub](https://aka.ms/mgt). - +