summaryrefslogtreecommitdiffstats
path: root/docs/_vendor/github.com/gohugoio/gohugoioTheme/assets/js/clipboardjs.js
diff options
context:
space:
mode:
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.js30
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;
+}