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
jekyll-v4-theme-primer-0.16.0 _sass/@primer/view-components/app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.32.1 app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.32.0 app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.29.1 app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.29.0 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.23.0 app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.28.1 app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.28.0 app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.27.0 app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.26.0 app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.25.1 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.22.0 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.21.1 app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.25.0 app/components/primer/beta/clipboard_copy.js
jekyll-v4-theme-primer-0.15.0 _sass/@primer/view-components/app/components/primer/beta/clipboard_copy.js
jekyll-v4-theme-primer-0.14.0 _sass/@primer/view-components/app/components/primer/beta/clipboard_copy.js
jekyll-v4-theme-primer-0.13.0 _sass/@primer/view-components/app/components/primer/beta/clipboard_copy.js
openproject-primer_view_components-0.24.0 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.21.0 app/components/primer/beta/clipboard_copy.js
primer_view_components-0.20.1 app/components/primer/beta/clipboard_copy.js