Initial commit: Developer Tools MVP with visual editor

- Complete React app with 7 developer tools
- JSON Tool with visual structured editor
- Serialize Tool with visual structured editor
- URL, Base64, CSV/JSON, Beautifier, Diff tools
- Responsive navigation with dropdown menu
- Dark/light mode toggle
- Mobile-responsive design with sticky header
- All tools working with copy/paste functionality
This commit is contained in:
dwindown
2025-08-02 09:31:26 +07:00
commit 7f2dd5260f
45657 changed files with 4730486 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
!function(){var e=/((?:not )?all and )?(\(color-index: *(22|48|70)\))/i,t=/prefers-color-scheme:/i,a=function(a){var i="(prefers-color-scheme: dark)",r=window.matchMedia&&matchMedia(i),c=r&&r.media===i,o=function(){n(r.matches?"dark":"light")},n=function(a){a!==l&&(l=a,"function"==typeof d.onChange&&d.onChange()),[].forEach.call(document.styleSheets||[],(function(i){var r=[];[].forEach.call(i.cssRules||[],(function(e){r.push(e)})),r.forEach((function(i){if(t.test(Object(i.media).mediaText)){var r=[].indexOf.call(i.parentStyleSheet.cssRules,i);i.parentStyleSheet.deleteRule(r)}else{var c=(Object(i.media).mediaText||"").match(e);if(c)i.media.mediaText=((/^dark$/i.test(a)?"48"===c[3]:/^light$/i.test(a)?"70"===c[3]:"22"===c[3])?"not all and ":"")+i.media.mediaText.replace(e,"$2");else{var o=(Object(i.media).mediaText||"").match(/\( *(?:color|max-color): *(48842621|70318723|22511989) *\)/i);o&&o.length>1&&(!/^dark$/i.test(a)||"48842621"!==o[1]&&"22511989"!==o[1]?!/^light$/i.test(a)||"70318723"!==o[1]&&"22511989"!==o[1]?i.media.mediaText=i.media.mediaText.replace(/\( *max-color: *(?:48842621|70318723|22511989) *\)/i,"(color: "+o[1]+")"):i.media.mediaText=i.media.mediaText.replace(/\( *color: *(?:48842621|22511989) *\)/i,"(max-color: "+o[1]+")"):i.media.mediaText=i.media.mediaText.replace(/\( *color: *(?:48842621|70318723) *\)/i,"(max-color: "+o[1]+")"))}}}))}))},d=Object.defineProperty({hasNativeSupport:c,removeListener:function(){r&&r.removeListener(o)}},"scheme",{get:function(){return l},set:n}),l=a||(r&&r.matches?"dark":"light");return n(l),r&&("addEventListener"in r?r.addEventListener("change",o):r.addListener(o)),d};self.prefersColorSchemeInit=a,self.initPrefersColorScheme=a}();
//# sourceMappingURL=browser-global.js.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
var e=/((?:not )?all and )?(\(color-index: *(22|48|70)\))/i,t=/prefers-color-scheme:/i;module.exports=function(a){var i="(prefers-color-scheme: dark)",r=window.matchMedia&&matchMedia(i),c=r&&r.media===i,o=function(){d(r.matches?"dark":"light")},d=function(a){a!==l&&(l=a,"function"==typeof n.onChange&&n.onChange()),[].forEach.call(document.styleSheets||[],(function(i){var r=[];[].forEach.call(i.cssRules||[],(function(e){r.push(e)})),r.forEach((function(i){if(t.test(Object(i.media).mediaText)){var r=[].indexOf.call(i.parentStyleSheet.cssRules,i);i.parentStyleSheet.deleteRule(r)}else{var c=(Object(i.media).mediaText||"").match(e);if(c)i.media.mediaText=((/^dark$/i.test(a)?"48"===c[3]:/^light$/i.test(a)?"70"===c[3]:"22"===c[3])?"not all and ":"")+i.media.mediaText.replace(e,"$2");else{var o=(Object(i.media).mediaText||"").match(/\( *(?:color|max-color): *(48842621|70318723|22511989) *\)/i);o&&o.length>1&&(!/^dark$/i.test(a)||"48842621"!==o[1]&&"22511989"!==o[1]?!/^light$/i.test(a)||"70318723"!==o[1]&&"22511989"!==o[1]?i.media.mediaText=i.media.mediaText.replace(/\( *max-color: *(?:48842621|70318723|22511989) *\)/i,"(color: "+o[1]+")"):i.media.mediaText=i.media.mediaText.replace(/\( *color: *(?:48842621|22511989) *\)/i,"(max-color: "+o[1]+")"):i.media.mediaText=i.media.mediaText.replace(/\( *color: *(?:48842621|70318723) *\)/i,"(max-color: "+o[1]+")"))}}}))}))},n=Object.defineProperty({hasNativeSupport:c,removeListener:function(){r&&r.removeListener(o)}},"scheme",{get:function(){return l},set:d}),l=a||(r&&r.matches?"dark":"light");return d(l),r&&("addEventListener"in r?r.addEventListener("change",o):r.addListener(o)),n};
//# sourceMappingURL=browser.cjs.map

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,2 @@
var e=/((?:not )?all and )?(\(color-index: *(22|48|70)\))/i,t=/prefers-color-scheme:/i,a=function(a){var i="(prefers-color-scheme: dark)",r=window.matchMedia&&matchMedia(i),c=r&&r.media===i,o=function(){d(r.matches?"dark":"light")},d=function(a){a!==l&&(l=a,"function"==typeof n.onChange&&n.onChange()),[].forEach.call(document.styleSheets||[],(function(i){var r=[];[].forEach.call(i.cssRules||[],(function(e){r.push(e)})),r.forEach((function(i){if(t.test(Object(i.media).mediaText)){var r=[].indexOf.call(i.parentStyleSheet.cssRules,i);i.parentStyleSheet.deleteRule(r)}else{var c=(Object(i.media).mediaText||"").match(e);if(c)i.media.mediaText=((/^dark$/i.test(a)?"48"===c[3]:/^light$/i.test(a)?"70"===c[3]:"22"===c[3])?"not all and ":"")+i.media.mediaText.replace(e,"$2");else{var o=(Object(i.media).mediaText||"").match(/\( *(?:color|max-color): *(48842621|70318723|22511989) *\)/i);o&&o.length>1&&(!/^dark$/i.test(a)||"48842621"!==o[1]&&"22511989"!==o[1]?!/^light$/i.test(a)||"70318723"!==o[1]&&"22511989"!==o[1]?i.media.mediaText=i.media.mediaText.replace(/\( *max-color: *(?:48842621|70318723|22511989) *\)/i,"(color: "+o[1]+")"):i.media.mediaText=i.media.mediaText.replace(/\( *color: *(?:48842621|22511989) *\)/i,"(max-color: "+o[1]+")"):i.media.mediaText=i.media.mediaText.replace(/\( *color: *(?:48842621|70318723) *\)/i,"(max-color: "+o[1]+")"))}}}))}))},n=Object.defineProperty({hasNativeSupport:c,removeListener:function(){r&&r.removeListener(o)}},"scheme",{get:function(){return l},set:d}),l=a||(r&&r.matches?"dark":"light");return d(l),r&&("addEventListener"in r?r.addEventListener("change",o):r.addListener(o)),n};export{a as default};
//# sourceMappingURL=browser.mjs.map

File diff suppressed because one or more lines are too long

3
node_modules/css-prefers-color-scheme/dist/cli.cjs generated vendored Executable file

File diff suppressed because one or more lines are too long

1
node_modules/css-prefers-color-scheme/dist/index.cjs generated vendored Normal file
View File

@@ -0,0 +1 @@
"use strict";const e=/^media$/i,r=/\(\s*prefers-color-scheme\s*:\s*(dark|light|no-preference)\s*\)/i,o={dark:48,light:70,"no-preference":22},s=(e,r)=>`(color-index: ${o[r.toLowerCase()]})`,c={dark:48842621,light:70318723,"no-preference":22511989},t=(e,r)=>`(color: ${c[r.toLowerCase()]})`,l=o=>{const c=!("preserve"in Object(o))||o.preserve,l={};return!("mediaQuery"in Object(o))||"color-index"!==o.mediaQuery&&"color"!==o.mediaQuery?(l["color-index"]=!0,l.color=!0):l[o.mediaQuery]=!0,{postcssPlugin:"postcss-prefers-color-scheme",AtRule:o=>{if(!e.test(o.name))return;const{params:n}=o,a=n.replace(r,s),i=n.replace(r,t);let p=!1;n!==a&&l["color-index"]&&(o.cloneBefore({params:a}),p=!0),n!==i&&l.color&&(o.cloneBefore({params:i}),p=!0),!c&&p&&o.remove()}}};l.postcss=!0,module.exports=l;

1
node_modules/css-prefers-color-scheme/dist/index.mjs generated vendored Normal file
View File

@@ -0,0 +1 @@
const e=/^media$/i,r=/\(\s*prefers-color-scheme\s*:\s*(dark|light|no-preference)\s*\)/i,o={dark:48,light:70,"no-preference":22},s=(e,r)=>`(color-index: ${o[r.toLowerCase()]})`,c={dark:48842621,light:70318723,"no-preference":22511989},a=(e,r)=>`(color: ${c[r.toLowerCase()]})`,l=o=>{const c=!("preserve"in Object(o))||o.preserve,l={};return!("mediaQuery"in Object(o))||"color-index"!==o.mediaQuery&&"color"!==o.mediaQuery?(l["color-index"]=!0,l.color=!0):l[o.mediaQuery]=!0,{postcssPlugin:"postcss-prefers-color-scheme",AtRule:o=>{if(!e.test(o.name))return;const{params:n}=o,t=n.replace(r,s),i=n.replace(r,a);let p=!1;n!==t&&l["color-index"]&&(o.cloneBefore({params:t}),p=!0),n!==i&&l.color&&(o.cloneBefore({params:i}),p=!0),!c&&p&&o.remove()}}};l.postcss=!0;export{l as default};