diff options
Diffstat (limited to 'docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/js/clipboardjs.js')
-rw-r--r-- | docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/js/clipboardjs.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/js/clipboardjs.js b/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/js/clipboardjs.js new file mode 100644 index 000000000..ffae31c7f --- /dev/null +++ b/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/js/clipboardjs.js @@ -0,0 +1,30 @@ +var Clipboard = require('clipboard/dist/clipboard.js'); +new Clipboard('.copy', { + target: function(trigger) { + if(trigger.classList.contains('copy-toggle')){ + return trigger.previousElementSibling; + } + return trigger.nextElementSibling; + } + }).on('success', function(e) { + successMessage(e.trigger, 'Copied!'); + e.clearSelection(); + }).on('error', function(e) { + successMessage(e.trigger, fallbackMessage(e.action)); +}); + +function successMessage(elem, msg) { + elem.setAttribute('class', 'copied bg-primary-color-dark f6 absolute top-0 right-0 lh-solid hover-bg-primary-color-dark bn white ph3 pv2'); + elem.setAttribute('aria-label', msg); +} + +function fallbackMessage(elem, action) { + var actionMsg = ''; + var actionKey = (action === 'cut' ? 'X' : 'C'); + if (isMac) { + actionMsg = 'Press ⌘-' + actionKey; + } else { + actionMsg = 'Press Ctrl-' + actionKey; + } + return actionMsg; +} |