Sha256: 99311f9cb8ed2a5b673fb900a2c4e677d5ee2b4d7365372315ac6bc14d545136

Contents?: true

Size: 1.28 KB

Versions: 116

Compression:

Stored size: 1.28 KB

Contents

import '@github/clipboard-copy-element';
const CLIPBOARD_COPY_TIMER_DURATION = 2000;
function showSVG(svg) {
    svg.style.display = 'inline-block';
}
function hideSVG(svg) {
    svg.style.display = 'none';
}
// Toggle a copy button.
function showCopy(button) {
    const [copyIcon, checkIcon] = button.querySelectorAll('.octicon');
    if (!copyIcon || !checkIcon)
        return;
    showSVG(copyIcon);
    hideSVG(checkIcon);
}
// Toggle a copy button.
function showCheck(button) {
    const [copyIcon, checkIcon] = button.querySelectorAll('.octicon');
    if (!copyIcon || !checkIcon)
        return;
    hideSVG(copyIcon);
    showSVG(checkIcon);
}
const clipboardCopyElementTimers = new WeakMap();
document.addEventListener('clipboard-copy', ({ target }) => {
    if (!(target instanceof HTMLElement))
        return;
    if (!target.hasAttribute('data-view-component'))
        return;
    const currentTimeout = clipboardCopyElementTimers.get(target);
    if (currentTimeout) {
        clearTimeout(currentTimeout);
        clipboardCopyElementTimers.delete(target);
    }
    else {
        showCheck(target);
    }
    clipboardCopyElementTimers.set(target, setTimeout(() => {
        showCopy(target);
        clipboardCopyElementTimers.delete(target);
    }, CLIPBOARD_COPY_TIMER_DURATION));
});

Version data entries

116 entries across 116 versions & 4 rubygems

Version Path
primer_view_components-0.7.0 app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.7.0 app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.6.3 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.6.0 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.5.1 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.5.0 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.4.0 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.3.1 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.3.0 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.2.0 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.1.9 app/components/primer/beta/clipboard_copy.js
jekyll-v4-theme-primer-0.12.0 _sass/@primer/view-components/app/components/primer/beta/clipboard_copy.js
primer_view_components-0.1.8 app/components/primer/beta/clipboard_copy.js
jekyll-v4-theme-primer-0.11.0 _sass/@primer/view-components/app/components/primer/beta/clipboard_copy.js
jekyll-v4-theme-primer-0.10.0 _sass/@primer/view-components/app/components/primer/beta/clipboard_copy.js
primer_view_components-0.1.7 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.1.6 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.1.5 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.1.4 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.1.3 app/components/primer/beta/clipboard_copy.js