devt
Version:
Setups up local dev-tools menu
1 lines • 12.1 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("react-dom")):"function"==typeof define&&define.amd?define("devt",["React","ReactDOM"],t):"object"==typeof exports?exports.devt=t(require("react"),require("react-dom")):e.devt=t(e.React,e.ReactDOM)}(window,(function(e,t){return function(e){function t(t){for(var o,r,a=t[0],i=t[1],s=0,l=[];s<a.length;s++)r=a[s],Object.prototype.hasOwnProperty.call(n,r)&&n[r]&&l.push(n[r][0]),n[r]=0;for(o in i)Object.prototype.hasOwnProperty.call(i,o)&&(e[o]=i[o]);for(c&&c(t);l.length;)l.shift()()}var o={},n={0:0};function r(t){if(o[t])return o[t].exports;var n=o[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,r),n.l=!0,n.exports}r.e=function(){return Promise.resolve()},r.m=e,r.c=o,r.d=function(e,t,o){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(r.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)r.d(o,n,function(t){return e[t]}.bind(null,n));return o},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="./",r.oe=function(e){throw console.error(e),e};var a=window.webpackJsonpdevt=window.webpackJsonpdevt||[],i=a.push.bind(a);a.push=t,a=a.slice();for(var s=0;s<a.length;s++)t(a[s]);var c=i;return r(r.s="./src/index.js")}({"./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/dev-tools.scss":function(e,t,o){(t=o("./node_modules/css-loader/dist/runtime/api.js")(!1)).push([e.i,"#devt-dev-tools{position:absolute;bottom:0;right:0;background:#000;opacity:0.4;color:#FFF;width:100%;padding:20px;height:60px;width:60px;transition:all 0.3s}#devt-dev-tools:hover{height:300px;width:100%;opacity:0.9;display:grid;grid-template-rows:25px 1fr;row-gap:10px;z-index:999999999}#devt-dev-tools:hover .devt-tools{display:flex}#devt-dev-tools:hover #devt-header{border-bottom:1px solid #e6e6b5}#devt-dev-tools:hover #devt-header .devt-header-title{display:inline-block}#devt-dev-tools:hover #devt-header .devt-refresh{display:block}#devt-dev-tools #devt-header{display:grid;grid-template-columns:50% 50%;font-size:1.2rem}#devt-dev-tools #devt-header .devt-header-title{display:none}#devt-dev-tools #devt-header .devt-refresh{display:none;justify-self:flex-end;cursor:pointer}#devt-dev-tools .devt-tools{display:none;flex-direction:column;flex-wrap:wrap;height:225px;padding:0 10px}#devt-dev-tools .devt-tools .devt-feature label{display:inline-block;margin:0.5rem 0}#devt-dev-tools .devt-tools .devt-feature .devt-toggle{cursor:pointer;display:inline-block;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:40px;height:20px;background-color:#fafafa;position:relative;top:5px;margin-left:5px;border-radius:30px;box-shadow:none;transition:all .2s ease-in-out}#devt-dev-tools .devt-tools .devt-feature .devt-toggle:hover:after{background-color:#ddd}#devt-dev-tools .devt-tools .devt-feature .devt-toggle:after{content:'';display:inline-block;position:absolute;width:18px;height:18px;background-color:#c7c7c7;top:1px;left:2px;border-radius:50%;transition:all .2s ease-in-out}#devt-dev-tools .devt-tools .devt-feature .devt-toggle:checked{box-shadow:inset 0 0 0 15px #158EC6}#devt-dev-tools .devt-tools .devt-feature .devt-toggle:checked:after{left:19px;background-color:#FFF}#devt-dev-tools .devt-tools .devt-feature .devt-toggle:focus{outline:none}\n",""]),e.exports=t},"./node_modules/css-loader/dist/runtime/api.js":function(e,t,o){"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var o=function(e,t){var o=e[1]||"",n=e[3];if(!n)return o;if(t&&"function"==typeof btoa){var r=(i=n,s=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),c="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(s),"/*# ".concat(c," */")),a=n.sources.map((function(e){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(e," */")}));return[o].concat(a).concat([r]).join("\n")}var i,s,c;return[o].join("\n")}(t,e);return t[2]?"@media ".concat(t[2]," {").concat(o,"}"):o})).join("")},t.i=function(e,o,n){"string"==typeof e&&(e=[[null,e,""]]);var r={};if(n)for(var a=0;a<this.length;a++){var i=this[a][0];null!=i&&(r[i]=!0)}for(var s=0;s<e.length;s++){var c=[].concat(e[s]);n&&r[c[0]]||(o&&(c[2]?c[2]="".concat(o," and ").concat(c[2]):c[2]=o),t.push(c))}},t}},"./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js":function(e,t,o){"use strict";var n,r=function(){return void 0===n&&(n=Boolean(window&&document&&document.all&&!window.atob)),n},a=function(){var e={};return function(t){if(void 0===e[t]){var o=document.querySelector(t);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement)try{o=o.contentDocument.head}catch(e){o=null}e[t]=o}return e[t]}}(),i=[];function s(e){for(var t=-1,o=0;o<i.length;o++)if(i[o].identifier===e){t=o;break}return t}function c(e,t){for(var o={},n=[],r=0;r<e.length;r++){var a=e[r],c=t.base?a[0]+t.base:a[0],l=o[c]||0,d="".concat(c," ").concat(l);o[c]=l+1;var u=s(d),f={css:a[1],media:a[2],sourceMap:a[3]};-1!==u?(i[u].references++,i[u].updater(f)):i.push({identifier:d,updater:b(f,t),references:1}),n.push(d)}return n}function l(e){var t=document.createElement("style"),n=e.attributes||{};if(void 0===n.nonce){var r=o.nc;r&&(n.nonce=r)}if(Object.keys(n).forEach((function(e){t.setAttribute(e,n[e])})),"function"==typeof e.insert)e.insert(t);else{var i=a(e.insert||"head");if(!i)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");i.appendChild(t)}return t}var d,u=(d=[],function(e,t){return d[e]=t,d.filter(Boolean).join("\n")});function f(e,t,o,n){var r=o?"":n.media?"@media ".concat(n.media," {").concat(n.css,"}"):n.css;if(e.styleSheet)e.styleSheet.cssText=u(t,r);else{var a=document.createTextNode(r),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(a,i[t]):e.appendChild(a)}}function v(e,t,o){var n=o.css,r=o.media,a=o.sourceMap;if(r?e.setAttribute("media",r):e.removeAttribute("media"),a&&btoa&&(n+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),e.styleSheet)e.styleSheet.cssText=n;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(n))}}var p=null,h=0;function b(e,t){var o,n,r;if(t.singleton){var a=h++;o=p||(p=l(t)),n=f.bind(null,o,a,!1),r=f.bind(null,o,a,!0)}else o=l(t),n=v.bind(null,o,t),r=function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(o)};return n(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap)return;n(e=t)}else r()}}e.exports=function(e,t){(t=t||{}).singleton||"boolean"==typeof t.singleton||(t.singleton=r());var o=c(e=e||[],t);return function(e){if(e=e||[],"[object Array]"===Object.prototype.toString.call(e)){for(var n=0;n<o.length;n++){var r=s(o[n]);i[r].references--}for(var a=c(e,t),l=0;l<o.length;l++){var d=s(o[l]);0===i[d].references&&(i[d].updater(),i.splice(d,1))}o=a}}}},"./src sync dev-tools\\.local\\.js":function(e,t){function o(e){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}o.keys=function(){return[]},o.resolve=o,e.exports=o,o.id="./src sync dev-tools\\.local\\.js"},"./src/DevTools.jsx":function(e,t,o){"use strict";o.d(t,"a",(function(){return c}));var n=o("react"),r=o.n(n),a=o("./src/feature-toggles.js");function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var o=[],n=!0,r=!1,a=void 0;try{for(var i,s=e[Symbol.iterator]();!(n=(i=s.next()).done)&&(o.push(i.value),!t||o.length!==t);n=!0);}catch(e){r=!0,a=e}finally{try{n||null==s.return||s.return()}finally{if(r)throw a}}return o}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var s=function(e){var t=e.f,o=i(Object(n.useState)(a.a[t]),2),s=o[0],c=o[1];return Object(n.useEffect)((function(){s?Object(a.c)(t):Object(a.b)(t)}),[s]),r.a.createElement("div",{className:"devt-feature devt-feature-".concat(t)},r.a.createElement("label",null,t,":"," ",r.a.createElement("input",{type:"checkbox",className:"devt-toggle",checked:s,onChange:function(e){return c(e.target.checked)}})))},c=function(e){var t=e.features;return r.a.createElement("div",{id:"devt-dev-tools"},r.a.createElement("header",{id:"devt-header"},r.a.createElement("div",null,r.a.createElement("span",{className:"devt-header-title"},"Local Dev"),"🛠"),r.a.createElement("div",{className:"devt-refresh",onClick:function(){return window.location.reload()}},"🔄")),r.a.createElement("div",{className:"devt-tools"},t.map((function(e){return r.a.createElement(s,{key:e,f:e})}))))};t.b=c},"./src/dev-tools.scss":function(e,t,o){var n=o("./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"),r=o("./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./src/dev-tools.scss");"string"==typeof(r=r.__esModule?r.default:r)&&(r=[[e.i,r,""]]);var a={insert:"head",singleton:!1},i=(n(r,a),r.locals?r.locals:{});e.exports=i},"./src/feature-toggles.js":function(e,t,o){"use strict";var n,r;function a(e,t){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),o.push.apply(o,n)}return o}function i(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}o.d(t,"c",(function(){return d})),o.d(t,"b",(function(){return u})),o.d(t,"d",(function(){return s}));var s=function(e){for(var t=1;t<arguments.length;t++){var o=null!=arguments[t]?arguments[t]:{};t%2?a(Object(o),!0).forEach((function(t){i(e,t,o[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):a(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}({},null===(n=window)||void 0===n||null===(r=n.APP_CONFIG)||void 0===r?void 0:r.featureToggles),c="feature-toggles";try{Object.assign(s,JSON.parse(window.localStorage.getItem(c)))}catch(e){window.localStorage.removeItem(c)}var l=function(){return window.localStorage.setItem(c,JSON.stringify(s))};function d(e){s[e]=!0,l()}function u(e){s[e]=!1,l()}t.a=s},"./src/index.js":function(e,t,o){"use strict";o.r(t);var n=o("./src/feature-toggles.js");function r(e,t){var n=window.location.search.includes("dev-tools=false")||"false"===window.localStorage.getItem("dev-tools"),r=window.location.search.includes("dev-tools=true")||"true"===window.localStorage.getItem("dev-tools");n||!["dev","develop","development"].includes("production")&&!r?e():Promise.resolve().then(o.bind(null,"./src/install.js")).then((function(e){return e.install(t)})).finally(e)}var a=o("./src/DevTools.jsx");o.d(t,"enable",(function(){return n.c})),o.d(t,"disable",(function(){return n.b})),o.d(t,"featureToggles",(function(){return n.d})),o.d(t,"loadDevTools",(function(){return r})),o.d(t,"DevTools",(function(){return a.a}))},"./src/install.js":function(e,t,o){"use strict";o.r(t),o.d(t,"install",(function(){return c}));var n=o("react"),r=o.n(n),a=o("react-dom"),i=o.n(a),s=o("./src/DevTools.jsx"),c=(o("./src/dev-tools.scss"),function(e){window.devToolsEnabled=!0;var t,n=o("./src sync dev-tools\\.local\\.js"),a=n.keys()[0];a&&(t=n(a).default),t=t||function(){return null};var c=document.createElement("div");document.body.appendChild(c),i.a.render(r.a.createElement(s.b,{features:e}),c)})},react:function(t,o){t.exports=e},"react-dom":function(e,o){e.exports=t}})}));