Sha256: 5cdc0a33c2f7eab542babc50e2f3dac9ff529697ba319d9499f161ea513a839b

Contents?: true

Size: 1.28 KB

Versions: 36

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', function ({ 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

36 entries across 36 versions & 1 rubygems

Version Path
primer_view_components-0.0.102 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.93 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.92 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.91 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.90 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.89 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.88 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.87 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.86 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.85 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.84 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.83 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.82 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.81 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.80 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.79 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.78 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.77 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.76 app/components/primer/clipboard_copy_component.js
primer_view_components-0.0.75 app/components/primer/clipboard_copy_component.js