Commit e9f410ea712d28d742325aef9e370da441616395

mAAdhaTTah 2018-03-01T10:15:27

Bump ClipboardJS to 2.0.0 and remove hack This is no longer needed, since it no longer conflicts w/ the built-in global.

diff --git a/package.json b/package.json
index 0701703..5595450 100755
--- a/package.json
+++ b/package.json
@@ -19,7 +19,7 @@
   "license": "MIT",
   "readmeFilename": "README.md",
   "optionalDependencies": {
-    "clipboard": "^1.7.1"
+    "clipboard": "^2.0.0"
   },
   "devDependencies": {
     "chai": "^2.3.0",
diff --git a/plugins/copy-to-clipboard/prism-copy-to-clipboard.js b/plugins/copy-to-clipboard/prism-copy-to-clipboard.js
index 44bb22a..0b185f4 100644
--- a/plugins/copy-to-clipboard/prism-copy-to-clipboard.js
+++ b/plugins/copy-to-clipboard/prism-copy-to-clipboard.js
@@ -9,33 +9,29 @@
 		return;
 	}
 
-	var Clipboard = window.Clipboard || undefined;
+	var ClipboardJS = window.ClipboardJS || undefined;
 
-	if (Clipboard && /(native code)/.test(Clipboard.toString())) {
-		Clipboard = undefined;
-	}
-
-	if (!Clipboard && typeof require === 'function') {
-		Clipboard = require('clipboard');
+	if (!ClipboardJS && typeof require === 'function') {
+		ClipboardJS = require('clipboard');
 	}
 
 	var callbacks = [];
 
-	if (!Clipboard) {
+	if (!ClipboardJS) {
 		var script = document.createElement('script');
 		var head = document.querySelector('head');
 
 		script.onload = function() {
-			Clipboard = window.Clipboard;
+			ClipboardJS = window.ClipboardJS;
 
-			if (Clipboard) {
+			if (ClipboardJS) {
 				while (callbacks.length) {
 					callbacks.pop()();
 				}
 			}
 		};
 
-		script.src = 'https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js';
+		script.src = 'https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js';
 		head.appendChild(script);
 	}
 
@@ -43,7 +39,7 @@
 		var linkCopy = document.createElement('a');
 		linkCopy.textContent = 'Copy';
 
-		if (!Clipboard) {
+		if (!ClipboardJS) {
 			callbacks.push(registerClipboard);
 		} else {
 			registerClipboard();
@@ -52,7 +48,7 @@
 		return linkCopy;
 
 		function registerClipboard() {
-			var clip = new Clipboard(linkCopy, {
+			var clip = new ClipboardJS(linkCopy, {
 				'text': function () {
 					return env.code;
 				}
diff --git a/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js b/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js
index e594607..aa5742d 100644
--- a/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js
+++ b/plugins/copy-to-clipboard/prism-copy-to-clipboard.min.js
@@ -1 +1 @@
-!function(){if("undefined"!=typeof self&&self.Prism&&self.document){if(!Prism.plugins.toolbar)return console.warn("Copy to Clipboard plugin loaded before Toolbar plugin."),void 0;var o=window.Clipboard||void 0;o&&/(native code)/.test(o.toString())&&(o=void 0),o||"function"!=typeof require||(o=require("clipboard"));var t=[];if(!o){var e=document.createElement("script"),n=document.querySelector("head");e.onload=function(){if(o=window.Clipboard)for(;t.length;)t.pop()()},e.src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js",n.appendChild(e)}Prism.plugins.toolbar.registerButton("copy-to-clipboard",function(e){function n(){var t=new o(i,{text:function(){return e.code}});t.on("success",function(){i.textContent="Copied!",r()}),t.on("error",function(){i.textContent="Press Ctrl+C to copy",r()})}function r(){setTimeout(function(){i.textContent="Copy"},5e3)}var i=document.createElement("a");return i.textContent="Copy",o?n():t.push(n),i})}}();
\ No newline at end of file
+!function(){if("undefined"!=typeof self&&self.Prism&&self.document){if(!Prism.plugins.toolbar)return console.warn("Copy to Clipboard plugin loaded before Toolbar plugin."),void 0;var o=window.ClipboardJS||void 0;o||"function"!=typeof require||(o=require("clipboard"));var e=[];if(!o){var t=document.createElement("script"),n=document.querySelector("head");t.onload=function(){if(o=window.ClipboardJS)for(;e.length;)e.pop()()},t.src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.0/clipboard.min.js",n.appendChild(t)}Prism.plugins.toolbar.registerButton("copy-to-clipboard",function(t){function n(){var e=new o(i,{text:function(){return t.code}});e.on("success",function(){i.textContent="Copied!",r()}),e.on("error",function(){i.textContent="Press Ctrl+C to copy",r()})}function r(){setTimeout(function(){i.textContent="Copy"},5e3)}var i=document.createElement("a");return i.textContent="Copy",o?n():e.push(n),i})}}();
\ No newline at end of file