UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

46 lines (45 loc) 1.5 kB
const FocusVisiblePolyfillMixin = (SuperClass) => { var _a; const coordinateWithPolyfill = (instance) => { if (instance.shadowRoot == null || instance.hasAttribute("data-js-focus-visible")) { return () => { }; } if (self.applyFocusVisiblePolyfill) { self.applyFocusVisiblePolyfill(instance.shadowRoot); } else { const coordinationHandler = () => { self.applyFocusVisiblePolyfill(instance.shadowRoot); }; self.addEventListener("focus-visible-polyfill-ready", coordinationHandler, { once: true }); return () => { self.removeEventListener("focus-visible-polyfill-ready", coordinationHandler); }; } return () => { }; }; const $endPolyfillCoordination = Symbol("endPolyfillCoordination"); class FocusVisibleCoordinator extends SuperClass { constructor() { super(...arguments); this[_a] = null; } connectedCallback() { super.connectedCallback && super.connectedCallback(); if (this[$endPolyfillCoordination] == null) { this[$endPolyfillCoordination] = coordinateWithPolyfill(this); } } disconnectedCallback() { super.disconnectedCallback && super.disconnectedCallback(); if (this[$endPolyfillCoordination] != null) { this[$endPolyfillCoordination](); this[$endPolyfillCoordination] = null; } } } _a = $endPolyfillCoordination; return FocusVisibleCoordinator; }; export { FocusVisiblePolyfillMixin };