- Updated all component headers and documentation
- Changed navbar and footer branding
- Updated homepage hero badge
- Modified page title in index.html
- Simplified footer text to 'Built with ❤️'
- Consistent V2 capitalization across all references
20 lines
766 B
JavaScript
20 lines
766 B
JavaScript
/**
|
|
* returns active element from document or from nested shadowdoms
|
|
*/
|
|
import { safeProbe } from './safe';
|
|
/**
|
|
* returns current active element. If the active element is a "container" itself(shadowRoot or iframe) returns active element inside it
|
|
* @param [inDocument]
|
|
*/
|
|
export const getActiveElement = (inDocument = document) => {
|
|
if (!inDocument || !inDocument.activeElement) {
|
|
return undefined;
|
|
}
|
|
const { activeElement } = inDocument;
|
|
return (activeElement.shadowRoot
|
|
? getActiveElement(activeElement.shadowRoot)
|
|
: activeElement instanceof HTMLIFrameElement && safeProbe(() => activeElement.contentWindow.document)
|
|
? getActiveElement(activeElement.contentWindow.document)
|
|
: activeElement);
|
|
};
|