lone-format 0.11.0 → 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- .json-node[data-v-1472a8af]{position:relative}.json-node__line[data-v-1472a8af],.json-node__primitive[data-v-1472a8af]{display:flex;align-items:flex-start;margin-left:calc(var(--2a18b018) * 20px);line-height:1.5;min-height:20px}.json-node__key[data-v-1472a8af]{color:var(--58a14b93);cursor:pointer;font-weight:500;padding:1px 3px;border-radius:3px;-webkit-user-select:text;user-select:text;word-break:break-all;overflow-wrap:break-word;white-space:pre-wrap;max-width:50%;flex-shrink:0;text-align:left}.json-node__key[data-v-1472a8af]:hover{background-color:var(--46fe1b3e)}.json-node__colon[data-v-1472a8af]{color:var(--fbe2c048);margin:0 4px}.json-node__bracket[data-v-1472a8af]{color:var(--fbe2c048);font-weight:500;margin:0 2px}.json-node__bracket--clickable[data-v-1472a8af]{cursor:pointer;padding:1px 3px;border-radius:3px}.json-node__bracket--clickable[data-v-1472a8af]:hover{background-color:var(--46fe1b3e)}.json-node__comma[data-v-1472a8af]{color:var(--fbe2c048);margin-left:2px}.json-node__collapsed-info[data-v-1472a8af]{color:var(--4bd524bb);background-color:var(--3308d23c);font-size:12px;font-weight:500;padding:2px 8px;margin:0 6px;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;display:inline-block;vertical-align:middle}.json-node__collapsed-info[data-v-1472a8af]:hover{opacity:.85;transform:scale(1.05);background-color:var(--36380c60)}.json-node__value-wrapper[data-v-1472a8af]{cursor:pointer;padding:1px 3px;border-radius:3px;-webkit-user-select:text;user-select:text;word-break:break-all;overflow-wrap:break-word;white-space:pre-wrap;max-width:100%;display:inline-block;text-align:left;vertical-align:top;min-width:0;flex:1}.json-node__value-wrapper[data-v-1472a8af]:hover{background-color:var(--46fe1b3e)}.json-node__value-wrapper.json-node__value--string[data-v-1472a8af]{color:var(--0892365d)}.json-node__value-wrapper.json-node__value--number[data-v-1472a8af]{color:var(--0015b195)}.json-node__value-wrapper.json-node__value--boolean[data-v-1472a8af]{color:var(--7db95f5c);font-weight:600}.json-node__value-wrapper.json-node__value--null[data-v-1472a8af]{color:var(--88ec825a);font-style:italic}.json-node__value[data-v-1472a8af]{outline:none}.json-node__key[contenteditable=true][data-v-1472a8af],.json-node__value[contenteditable=true][data-v-1472a8af]{border:1px solid var(--0015b195);border-radius:3px;padding:1px 3px;background:var(--537157f7);outline:none;cursor:text;min-width:10px;display:inline-block}.json-node__key[contenteditable=true][data-v-1472a8af]{color:var(--58a14b93)}.json-node__key[contenteditable=true][data-v-1472a8af]::selection,.json-node__value[contenteditable=true][data-v-1472a8af]::selection{background-color:var(--3cee3331)}.json-node__children-content[data-v-1472a8af]:before{content:"";position:absolute;left:calc(var(--2a18b018) * 20px);top:0;bottom:0;width:1px;background:var(--81323cee);opacity:.5;pointer-events:none}.json-node__children[data-v-1472a8af],.json-node__children-content[data-v-1472a8af]{position:relative}@media (max-width: 768px){.json-node__line[data-v-1472a8af],.json-node__primitive[data-v-1472a8af]{margin-left:calc(var(--2a18b018) * 12px)}}.json-format[data-v-030f8e3b]{border:1px solid var(--4782cf12);border-radius:6px;background:var(--35b95bf9);font-family:Monaco,Consolas,Lucida Console,Courier New,ui-monospace,SFMono-Regular,SF Mono,Liberation Mono,Menlo,monospace;font-size:14px;line-height:1.5;color:var(--cda9ff90)}.json-format__toolbar[data-v-030f8e3b]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--41368ee0);border-bottom:1px solid var(--4782cf12);border-radius:6px 6px 0 0}.json-format__actions[data-v-030f8e3b]{display:flex;gap:8px}.json-format__btn[data-v-030f8e3b]{padding:4px 8px;border:1px solid var(--47674bee);border-radius:6px;background:var(--0f08048b);color:var(--cb00036c);font-size:12px;cursor:pointer;transition:all .2s ease}.json-format__btn[data-v-030f8e3b]:hover:not(:disabled){background:var(--4a92191e);border-color:var(--47674bee)}.json-format__btn[data-v-030f8e3b]:disabled{opacity:.5;cursor:not-allowed}.json-format__btn--primary[data-v-030f8e3b]{background:var(--d30c3876);color:#fff;border-color:var(--d30c3876)}.json-format__btn--primary[data-v-030f8e3b]:hover:not(:disabled){background:var(--3d918877)}.json-format__btn--secondary[data-v-030f8e3b]{background:var(--35b95bf9);border-color:var(--4782cf12)}.json-format__info[data-v-030f8e3b]{display:flex;align-items:center}.json-format__status[data-v-030f8e3b]{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.json-format__status--success[data-v-030f8e3b]{background:var(--4f985866);color:var(--3847a518)}.json-format__status--error[data-v-030f8e3b]{background:var(--28f0996b);color:var(--e9310f46)}.json-format__content[data-v-030f8e3b]{padding:8px 16px;overflow:auto}.json-format__error[data-v-030f8e3b]{color:var(--e9310f46);background:var(--28f0996b);border:1px solid var(--e9310f46) + "66";border-radius:6px;padding:8px 16px}.json-format__error h4[data-v-030f8e3b]{margin:0 0 8px;font-size:14px;font-weight:600}.json-format__error pre[data-v-030f8e3b]{margin:0;font-size:12px;white-space:pre-wrap;word-break:break-word}.json-format__viewer[data-v-030f8e3b]{color:var(--cda9ff90)}.xml-node__line[data-v-acda96f3]{display:inline-block;-webkit-user-select:text;user-select:text}.xml-node__clickable-part[data-v-acda96f3]{cursor:pointer;display:inline-block;border-radius:3px;transition:background-color .15s ease}.xml-node__clickable-part[data-v-acda96f3]:hover{background-color:#0000000d}.xml-node__tag[data-v-acda96f3]{font-weight:600}.xml-node__attribute[data-v-acda96f3]{margin-left:6px}.xml-node__attr-name[data-v-acda96f3]{font-weight:500}.xml-node__attr-value[data-v-acda96f3]{font-style:normal}.xml-node__collapsed-badge[data-v-acda96f3]{margin:0 6px;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;display:inline-block;vertical-align:middle}.xml-node__collapsed-badge[data-v-acda96f3]:hover{opacity:.85;transform:scale(1.05)}.xml-node__collapsed[data-v-acda96f3]{margin-left:4px;font-style:italic}.xml-node__collapsed--clickable[data-v-acda96f3]{cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color .15s ease;-webkit-user-select:none;user-select:none}.xml-node__collapsed--clickable[data-v-acda96f3]:hover{background-color:#00000014;font-weight:500}.xml-node__children[data-v-acda96f3]{margin-left:0;position:relative}.xml-node__children[data-v-acda96f3]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--a71f898c);opacity:.3;pointer-events:none}.xml-node__text-content[data-v-acda96f3]{white-space:pre-wrap;word-break:break-word}.xml-node__comment[data-v-acda96f3]{font-style:italic;opacity:.8}.xml-node__cdata[data-v-acda96f3]{opacity:.9}.xml-node__tag--editable[data-v-acda96f3],.xml-node__attr-name--editable[data-v-acda96f3],.xml-node__attr-value--editable[data-v-acda96f3],.xml-node__text-content--editable[data-v-acda96f3],.xml-node__cdata-content--editable[data-v-acda96f3]{cursor:pointer;padding:1px 3px;border-radius:3px;transition:background-color .15s ease}.xml-node__tag--editable[data-v-acda96f3]:hover,.xml-node__attr-name--editable[data-v-acda96f3]:hover,.xml-node__attr-value--editable[data-v-acda96f3]:hover,.xml-node__text-content--editable[data-v-acda96f3]:hover,.xml-node__cdata-content--editable[data-v-acda96f3]:hover{background-color:#0000000d}.xml-node__tag--editable[contenteditable=true][data-v-acda96f3],.xml-node__attr-name--editable[contenteditable=true][data-v-acda96f3],.xml-node__attr-value--editable[contenteditable=true][data-v-acda96f3],.xml-node__text-content--editable[contenteditable=true][data-v-acda96f3],.xml-node__cdata-content--editable[contenteditable=true][data-v-acda96f3]{border:1px solid #0969da;border-radius:3px;padding:1px 3px;background:#0969da0d;outline:none;cursor:text;min-width:10px;display:inline-block}.xml-node__tag--editable[contenteditable=true][data-v-acda96f3]::selection,.xml-node__attr-name--editable[contenteditable=true][data-v-acda96f3]::selection,.xml-node__attr-value--editable[contenteditable=true][data-v-acda96f3]::selection,.xml-node__text-content--editable[contenteditable=true][data-v-acda96f3]::selection,.xml-node__cdata-content--editable[contenteditable=true][data-v-acda96f3]::selection{background-color:#0969da33}.xml-format[data-v-adf2b2e1]{border:1px solid var(--123bc86d);border-radius:6px;background:var(--6ddcbe22);overflow:hidden;font-family:Monaco,Consolas,Lucida Console,Courier New,ui-monospace,SFMono-Regular,SF Mono,Liberation Mono,Menlo,monospace;font-size:14px;line-height:1.5;color:var(--dd0094a4)}.xml-format__toolbar[data-v-adf2b2e1]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--094dda4c);border-bottom:1px solid var(--123bc86d);gap:8px;flex-wrap:wrap}.xml-format__actions[data-v-adf2b2e1]{display:flex;gap:8px;flex-wrap:wrap}.xml-format__btn[data-v-adf2b2e1]{padding:6px 12px;border:1px solid var(--0ab18d02);border-radius:6px;background:var(--854b8dfe);color:var(--2dd84340);cursor:pointer;font-size:14px;transition:all .2s;white-space:nowrap}.xml-format__btn[data-v-adf2b2e1]:hover:not(:disabled){background:var(--55fdce8a)}.xml-format__btn[data-v-adf2b2e1]:disabled{opacity:.5;cursor:not-allowed}.xml-format__btn--primary[data-v-adf2b2e1]{background:var(--437af30f);color:#fff;border-color:var(--437af30f)}.xml-format__btn--primary[data-v-adf2b2e1]:hover:not(:disabled){background:var(--bfaf1126);border-color:var(--bfaf1126)}.xml-format__info[data-v-adf2b2e1]{display:flex;align-items:center;gap:8px}.xml-format__status[data-v-adf2b2e1]{font-size:14px;font-weight:500;padding:4px 12px;border-radius:12px;white-space:nowrap}.xml-format__status--success[data-v-adf2b2e1]{color:var(--7c1f183c);background:var(--6b8cb2b0)}.xml-format__status--error[data-v-adf2b2e1]{color:var(--c4ad1cb2);background:var(--cc2a0396)}.xml-format__content[data-v-adf2b2e1]{padding:8px 16px;overflow:auto;height:100%;text-align:left}.xml-format__error[data-v-adf2b2e1]{color:var(--c4ad1cb2);background:var(--cc2a0396);padding:16px;border-radius:6px}.xml-format__error h4[data-v-adf2b2e1]{margin:0 0 8px;font-size:14px;font-weight:600}.xml-format__error pre[data-v-adf2b2e1]{margin:0;font-size:13px;white-space:pre-wrap;word-break:break-word}.xml-format__viewer[data-v-adf2b2e1]{min-height:100%;width:100%}.xml-declaration[data-v-adf2b2e1]{opacity:.9;font-style:italic}.sql-format[data-v-18c83476]{font-family:Monaco,Consolas,Lucida Console,Courier New,ui-monospace,SFMono-Regular,SF Mono,Liberation Mono,Menlo,monospace;font-size:14px;line-height:1.6;background-color:var(--3064b840);color:var(--3b1dfd42);border:1px solid var(--27ee2844);border-radius:6px;overflow:hidden}.sql-format__toolbar[data-v-18c83476]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--c31be26e);border-bottom:1px solid var(--27ee2844);gap:8px;flex-wrap:wrap}.sql-format__actions[data-v-18c83476]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sql-format__btn[data-v-18c83476]{padding:6px 12px;border-radius:4px;border:1px solid var(--5a6e4430);background-color:var(--784a8332);color:var(--4c944631);cursor:pointer;font-size:13px;transition:all .2s;white-space:nowrap}.sql-format__btn[data-v-18c83476]:hover:not(:disabled){background-color:var(--0a4c852a)}.sql-format__btn[data-v-18c83476]:disabled{opacity:.5;cursor:not-allowed}.sql-format__btn--primary[data-v-18c83476]{background-color:var(--46d58304);color:#fff;border-color:var(--46d58304)}.sql-format__btn--primary[data-v-18c83476]:hover:not(:disabled){background-color:var(--602ef95e);border-color:var(--602ef95e)}.sql-format__dialect-select[data-v-18c83476]{padding:6px 12px;border-radius:4px;border:1px solid var(--5a6e4430);background-color:var(--784a8332);color:var(--4c944631);cursor:pointer;font-size:13px;transition:all .2s}.sql-format__dialect-select[data-v-18c83476]:hover{background-color:var(--0a4c852a)}.sql-format__info[data-v-18c83476]{display:flex;align-items:center;gap:8px}.sql-format__status[data-v-18c83476]{padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500;white-space:nowrap}.sql-format__status--success[data-v-18c83476]{background-color:var(--0ea5ae9f);color:var(--21c7be91)}.sql-format__status--error[data-v-18c83476]{background-color:var(--55a029e4);color:var(--6ae19c16)}.sql-format__content[data-v-18c83476]{flex:1;overflow:auto}.sql-format__error[data-v-18c83476]{background-color:var(--55a029e4);color:var(--6ae19c16);padding:16px;border-radius:4px}.sql-format__error h4[data-v-18c83476]{margin:0 0 8px;font-size:14px;font-weight:600}.sql-format__error pre[data-v-18c83476]{margin:0;font-family:inherit;font-size:13px;white-space:pre-wrap;word-wrap:break-word}.sql-format__viewer[data-v-18c83476]{display:flex;flex-direction:column}.sql-format__code[data-v-18c83476]{margin:0;padding:12px 16px;background-color:var(--3064b840);border-radius:4px;overflow-x:auto;font-family:inherit;font-size:13px;line-height:1.6;white-space:pre;text-align:left}.sql-format__code code[data-v-18c83476]{font-family:inherit;display:block;text-align:left}.sql-format__clauses[data-v-18c83476]{display:flex;flex-direction:column;gap:0;background-color:var(--3064b840);border-radius:4px;padding:12px 16px}.sql-format__clause[data-v-18c83476]{display:flex;flex-direction:column;background-color:transparent;overflow:hidden}.sql-format__clause-header[data-v-18c83476]{display:flex;align-items:flex-start;gap:6px;padding:2px 0;cursor:pointer}.sql-format__clause-header:hover .sql-format__toggle-btn[data-v-18c83476]{opacity:.8}.sql-format__clause-keyword[data-v-18c83476]{flex:1;min-width:0}.sql-format__toggle-btn[data-v-18c83476]{flex-shrink:0;width:16px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;padding:0;color:var(--f7d0aa56);opacity:.5;transition:all .15s ease;font-size:9px}.sql-format__toggle-btn[data-v-18c83476]:hover{opacity:1}.sql-format__toggle-btn[data-v-18c83476]:focus{outline:none;opacity:1}.sql-format__toggle-btn[data-v-18c83476]:focus-visible{outline:2px solid var(--46d58304);outline-offset:2px;opacity:1;border-radius:2px}.sql-format__toggle-icon[data-v-18c83476]{display:inline-block;transition:transform .15s ease;transform:rotate(0);-webkit-user-select:none;user-select:none}.sql-format__toggle-icon--expanded[data-v-18c83476]{transform:rotate(90deg)}.sql-format__toggle-spacer[data-v-18c83476]{flex-shrink:0;width:16px;height:20px}.sql-format__clause-code[data-v-18c83476]{margin:0;padding:0;font-family:inherit;font-size:13px;line-height:1.6;white-space:pre;text-align:left;flex:1}.sql-format__clause-code code[data-v-18c83476]{font-family:inherit;display:block;text-align:left}.sql-format__clause-content[data-v-18c83476]{padding:0 0 0 22px;background-color:transparent}@media (max-width: 768px){.sql-format__toolbar[data-v-18c83476]{flex-direction:column;align-items:stretch}.sql-format__actions[data-v-18c83476]{justify-content:stretch}.sql-format__btn[data-v-18c83476]{flex:1}.sql-format__info[data-v-18c83476]{justify-content:center}}
1
+ .json-node[data-v-1472a8af]{position:relative}.json-node__line[data-v-1472a8af],.json-node__primitive[data-v-1472a8af]{display:flex;align-items:flex-start;margin-left:calc(var(--2a18b018) * 20px);line-height:1.5;min-height:20px}.json-node__key[data-v-1472a8af]{color:var(--58a14b93);cursor:pointer;font-weight:500;padding:1px 3px;border-radius:3px;-webkit-user-select:text;user-select:text;word-break:break-all;overflow-wrap:break-word;white-space:pre-wrap;max-width:50%;flex-shrink:0;text-align:left}.json-node__key[data-v-1472a8af]:hover{background-color:var(--46fe1b3e)}.json-node__colon[data-v-1472a8af]{color:var(--fbe2c048);margin:0 4px}.json-node__bracket[data-v-1472a8af]{color:var(--fbe2c048);font-weight:500;margin:0 2px}.json-node__bracket--clickable[data-v-1472a8af]{cursor:pointer;padding:1px 3px;border-radius:3px}.json-node__bracket--clickable[data-v-1472a8af]:hover{background-color:var(--46fe1b3e)}.json-node__comma[data-v-1472a8af]{color:var(--fbe2c048);margin-left:2px}.json-node__collapsed-info[data-v-1472a8af]{color:var(--4bd524bb);background-color:var(--3308d23c);font-size:12px;font-weight:500;padding:2px 8px;margin:0 6px;border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;display:inline-block;vertical-align:middle}.json-node__collapsed-info[data-v-1472a8af]:hover{opacity:.85;transform:scale(1.05);background-color:var(--36380c60)}.json-node__value-wrapper[data-v-1472a8af]{cursor:pointer;padding:1px 3px;border-radius:3px;-webkit-user-select:text;user-select:text;word-break:break-all;overflow-wrap:break-word;white-space:pre-wrap;max-width:100%;display:inline-block;text-align:left;vertical-align:top;min-width:0;flex:1}.json-node__value-wrapper[data-v-1472a8af]:hover{background-color:var(--46fe1b3e)}.json-node__value-wrapper.json-node__value--string[data-v-1472a8af]{color:var(--0892365d)}.json-node__value-wrapper.json-node__value--number[data-v-1472a8af]{color:var(--0015b195)}.json-node__value-wrapper.json-node__value--boolean[data-v-1472a8af]{color:var(--7db95f5c);font-weight:600}.json-node__value-wrapper.json-node__value--null[data-v-1472a8af]{color:var(--88ec825a);font-style:italic}.json-node__value[data-v-1472a8af]{outline:none}.json-node__key[contenteditable=true][data-v-1472a8af],.json-node__value[contenteditable=true][data-v-1472a8af]{border:1px solid var(--0015b195);border-radius:3px;padding:1px 3px;background:var(--537157f7);outline:none;cursor:text;min-width:10px;display:inline-block}.json-node__key[contenteditable=true][data-v-1472a8af]{color:var(--58a14b93)}.json-node__key[contenteditable=true][data-v-1472a8af]::selection,.json-node__value[contenteditable=true][data-v-1472a8af]::selection{background-color:var(--3cee3331)}.json-node__children-content[data-v-1472a8af]:before{content:"";position:absolute;left:calc(var(--2a18b018) * 20px);top:0;bottom:0;width:1px;background:var(--81323cee);opacity:.5;pointer-events:none}.json-node__children[data-v-1472a8af],.json-node__children-content[data-v-1472a8af]{position:relative}@media (max-width: 768px){.json-node__line[data-v-1472a8af],.json-node__primitive[data-v-1472a8af]{margin-left:calc(var(--2a18b018) * 12px)}}.json-format[data-v-030f8e3b]{border:1px solid var(--4782cf12);border-radius:6px;background:var(--35b95bf9);font-family:Monaco,Consolas,Lucida Console,Courier New,ui-monospace,SFMono-Regular,SF Mono,Liberation Mono,Menlo,monospace;font-size:14px;line-height:1.5;color:var(--cda9ff90)}.json-format__toolbar[data-v-030f8e3b]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--41368ee0);border-bottom:1px solid var(--4782cf12);border-radius:6px 6px 0 0}.json-format__actions[data-v-030f8e3b]{display:flex;gap:8px}.json-format__btn[data-v-030f8e3b]{padding:4px 8px;border:1px solid var(--47674bee);border-radius:6px;background:var(--0f08048b);color:var(--cb00036c);font-size:12px;cursor:pointer;transition:all .2s ease}.json-format__btn[data-v-030f8e3b]:hover:not(:disabled){background:var(--4a92191e);border-color:var(--47674bee)}.json-format__btn[data-v-030f8e3b]:disabled{opacity:.5;cursor:not-allowed}.json-format__btn--primary[data-v-030f8e3b]{background:var(--d30c3876);color:#fff;border-color:var(--d30c3876)}.json-format__btn--primary[data-v-030f8e3b]:hover:not(:disabled){background:var(--3d918877)}.json-format__btn--secondary[data-v-030f8e3b]{background:var(--35b95bf9);border-color:var(--4782cf12)}.json-format__info[data-v-030f8e3b]{display:flex;align-items:center}.json-format__status[data-v-030f8e3b]{padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500}.json-format__status--success[data-v-030f8e3b]{background:var(--4f985866);color:var(--3847a518)}.json-format__status--error[data-v-030f8e3b]{background:var(--28f0996b);color:var(--e9310f46)}.json-format__content[data-v-030f8e3b]{padding:8px 16px;overflow:auto}.json-format__error[data-v-030f8e3b]{color:var(--e9310f46);background:var(--28f0996b);border:1px solid var(--e9310f46) + "66";border-radius:6px;padding:8px 16px}.json-format__error h4[data-v-030f8e3b]{margin:0 0 8px;font-size:14px;font-weight:600}.json-format__error pre[data-v-030f8e3b]{margin:0;font-size:12px;white-space:pre-wrap;word-break:break-word}.json-format__viewer[data-v-030f8e3b]{color:var(--cda9ff90)}.xml-node__line[data-v-acda96f3]{display:inline-block;-webkit-user-select:text;user-select:text}.xml-node__clickable-part[data-v-acda96f3]{cursor:pointer;display:inline-block;border-radius:3px;transition:background-color .15s ease}.xml-node__clickable-part[data-v-acda96f3]:hover{background-color:#0000000d}.xml-node__tag[data-v-acda96f3]{font-weight:600}.xml-node__attribute[data-v-acda96f3]{margin-left:6px}.xml-node__attr-name[data-v-acda96f3]{font-weight:500}.xml-node__attr-value[data-v-acda96f3]{font-style:normal}.xml-node__collapsed-badge[data-v-acda96f3]{margin:0 6px;padding:2px 8px;border-radius:4px;font-size:12px;font-weight:500;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .2s ease;display:inline-block;vertical-align:middle}.xml-node__collapsed-badge[data-v-acda96f3]:hover{opacity:.85;transform:scale(1.05)}.xml-node__collapsed[data-v-acda96f3]{margin-left:4px;font-style:italic}.xml-node__collapsed--clickable[data-v-acda96f3]{cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color .15s ease;-webkit-user-select:none;user-select:none}.xml-node__collapsed--clickable[data-v-acda96f3]:hover{background-color:#00000014;font-weight:500}.xml-node__children[data-v-acda96f3]{margin-left:0;position:relative}.xml-node__children[data-v-acda96f3]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--a71f898c);opacity:.3;pointer-events:none}.xml-node__text-content[data-v-acda96f3]{white-space:pre-wrap;word-break:break-word}.xml-node__comment[data-v-acda96f3]{font-style:italic;opacity:.8}.xml-node__cdata[data-v-acda96f3]{opacity:.9}.xml-node__tag--editable[data-v-acda96f3],.xml-node__attr-name--editable[data-v-acda96f3],.xml-node__attr-value--editable[data-v-acda96f3],.xml-node__text-content--editable[data-v-acda96f3],.xml-node__cdata-content--editable[data-v-acda96f3]{cursor:pointer;padding:1px 3px;border-radius:3px;transition:background-color .15s ease}.xml-node__tag--editable[data-v-acda96f3]:hover,.xml-node__attr-name--editable[data-v-acda96f3]:hover,.xml-node__attr-value--editable[data-v-acda96f3]:hover,.xml-node__text-content--editable[data-v-acda96f3]:hover,.xml-node__cdata-content--editable[data-v-acda96f3]:hover{background-color:#0000000d}.xml-node__tag--editable[contenteditable=true][data-v-acda96f3],.xml-node__attr-name--editable[contenteditable=true][data-v-acda96f3],.xml-node__attr-value--editable[contenteditable=true][data-v-acda96f3],.xml-node__text-content--editable[contenteditable=true][data-v-acda96f3],.xml-node__cdata-content--editable[contenteditable=true][data-v-acda96f3]{border:1px solid #0969da;border-radius:3px;padding:1px 3px;background:#0969da0d;outline:none;cursor:text;min-width:10px;display:inline-block}.xml-node__tag--editable[contenteditable=true][data-v-acda96f3]::selection,.xml-node__attr-name--editable[contenteditable=true][data-v-acda96f3]::selection,.xml-node__attr-value--editable[contenteditable=true][data-v-acda96f3]::selection,.xml-node__text-content--editable[contenteditable=true][data-v-acda96f3]::selection,.xml-node__cdata-content--editable[contenteditable=true][data-v-acda96f3]::selection{background-color:#0969da33}.xml-format[data-v-adf2b2e1]{border:1px solid var(--123bc86d);border-radius:6px;background:var(--6ddcbe22);overflow:hidden;font-family:Monaco,Consolas,Lucida Console,Courier New,ui-monospace,SFMono-Regular,SF Mono,Liberation Mono,Menlo,monospace;font-size:14px;line-height:1.5;color:var(--dd0094a4)}.xml-format__toolbar[data-v-adf2b2e1]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--094dda4c);border-bottom:1px solid var(--123bc86d);gap:8px;flex-wrap:wrap}.xml-format__actions[data-v-adf2b2e1]{display:flex;gap:8px;flex-wrap:wrap}.xml-format__btn[data-v-adf2b2e1]{padding:6px 12px;border:1px solid var(--0ab18d02);border-radius:6px;background:var(--854b8dfe);color:var(--2dd84340);cursor:pointer;font-size:14px;transition:all .2s;white-space:nowrap}.xml-format__btn[data-v-adf2b2e1]:hover:not(:disabled){background:var(--55fdce8a)}.xml-format__btn[data-v-adf2b2e1]:disabled{opacity:.5;cursor:not-allowed}.xml-format__btn--primary[data-v-adf2b2e1]{background:var(--437af30f);color:#fff;border-color:var(--437af30f)}.xml-format__btn--primary[data-v-adf2b2e1]:hover:not(:disabled){background:var(--bfaf1126);border-color:var(--bfaf1126)}.xml-format__info[data-v-adf2b2e1]{display:flex;align-items:center;gap:8px}.xml-format__status[data-v-adf2b2e1]{font-size:14px;font-weight:500;padding:4px 12px;border-radius:12px;white-space:nowrap}.xml-format__status--success[data-v-adf2b2e1]{color:var(--7c1f183c);background:var(--6b8cb2b0)}.xml-format__status--error[data-v-adf2b2e1]{color:var(--c4ad1cb2);background:var(--cc2a0396)}.xml-format__content[data-v-adf2b2e1]{padding:8px 16px;overflow:auto;height:100%;text-align:left}.xml-format__error[data-v-adf2b2e1]{color:var(--c4ad1cb2);background:var(--cc2a0396);padding:16px;border-radius:6px}.xml-format__error h4[data-v-adf2b2e1]{margin:0 0 8px;font-size:14px;font-weight:600}.xml-format__error pre[data-v-adf2b2e1]{margin:0;font-size:13px;white-space:pre-wrap;word-break:break-word}.xml-format__viewer[data-v-adf2b2e1]{min-height:100%;width:100%}.xml-declaration[data-v-adf2b2e1]{opacity:.9;font-style:italic}.sql-format[data-v-14525f87]{font-family:Monaco,Consolas,Lucida Console,Courier New,ui-monospace,SFMono-Regular,SF Mono,Liberation Mono,Menlo,monospace;font-size:14px;line-height:1.6;background-color:var(--0f8e0258);color:var(--1168a353);border:1px solid var(--3b9fe0d2);border-radius:6px;overflow:hidden}.sql-format__toolbar[data-v-14525f87]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background-color:var(--7c0c3955);border-bottom:1px solid var(--3b9fe0d2);gap:8px;flex-wrap:wrap}.sql-format__actions[data-v-14525f87]{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sql-format__btn[data-v-14525f87]{padding:6px 12px;border-radius:4px;border:1px solid var(--05229bb8);background-color:var(--ae8a51b4);color:var(--5cffa125);cursor:pointer;font-size:13px;transition:all .2s;white-space:nowrap}.sql-format__btn[data-v-14525f87]:hover:not(:disabled){background-color:var(--3b12ec94)}.sql-format__btn[data-v-14525f87]:disabled{opacity:.5;cursor:not-allowed}.sql-format__btn--primary[data-v-14525f87]{background-color:var(--ccbae1ec);color:#fff;border-color:var(--ccbae1ec)}.sql-format__btn--primary[data-v-14525f87]:hover:not(:disabled){background-color:var(--35da2052);border-color:var(--35da2052)}.sql-format__dialect-select[data-v-14525f87]{padding:6px 12px;border-radius:4px;border:1px solid var(--05229bb8);background-color:var(--ae8a51b4);color:var(--5cffa125);cursor:pointer;font-size:13px;transition:all .2s}.sql-format__dialect-select[data-v-14525f87]:hover{background-color:var(--3b12ec94)}.sql-format__info[data-v-14525f87]{display:flex;align-items:center;gap:8px}.sql-format__status[data-v-14525f87]{padding:4px 12px;border-radius:12px;font-size:13px;font-weight:500;white-space:nowrap}.sql-format__status--success[data-v-14525f87]{background-color:var(--27804daa);color:var(--75e12fc6)}.sql-format__status--error[data-v-14525f87]{background-color:var(--049b8770);color:var(--1ade38a2)}.sql-format__content[data-v-14525f87]{flex:1;overflow:auto;padding:8px 16px}.sql-format__error[data-v-14525f87]{background-color:var(--049b8770);color:var(--1ade38a2);padding:8px 16px;border-radius:6px;border:1px solid var(--1ade38a2) + "66"}.sql-format__error h4[data-v-14525f87]{margin:0 0 8px;font-size:14px;font-weight:600}.sql-format__error pre[data-v-14525f87]{margin:0;font-family:inherit;font-size:13px;white-space:pre-wrap;word-wrap:break-word}.sql-format__viewer[data-v-14525f87]{display:flex;flex-direction:column}.sql-format__code[data-v-14525f87]{margin:0;background-color:var(--0f8e0258);border-radius:4px;overflow-x:auto;font-family:inherit;font-size:13px;line-height:1.6;white-space:pre;text-align:left}.sql-format__code code[data-v-14525f87]{font-family:inherit;display:block;text-align:left}.sql-format__clauses[data-v-14525f87]{display:flex;flex-direction:column;gap:0;background-color:var(--0f8e0258);border-radius:4px}.sql-format__clause[data-v-14525f87]{display:flex;flex-direction:column;background-color:transparent;overflow:hidden}.sql-format__clause-header[data-v-14525f87]{display:flex;align-items:flex-start;gap:6px;padding:2px 0;cursor:pointer}.sql-format__clause-header:hover .sql-format__toggle-btn[data-v-14525f87]{opacity:.8}.sql-format__clause-keyword[data-v-14525f87]{flex:1;min-width:0}.sql-format__toggle-btn[data-v-14525f87]{flex-shrink:0;width:16px;height:20px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;cursor:pointer;padding:0;color:var(--4124fb61);opacity:.5;transition:all .15s ease;font-size:9px}.sql-format__toggle-btn[data-v-14525f87]:hover{opacity:1}.sql-format__toggle-btn[data-v-14525f87]:focus{outline:none;opacity:1}.sql-format__toggle-btn[data-v-14525f87]:focus-visible{outline:2px solid var(--ccbae1ec);outline-offset:2px;opacity:1;border-radius:2px}.sql-format__toggle-icon[data-v-14525f87]{display:inline-block;transition:transform .15s ease;transform:rotate(0);-webkit-user-select:none;user-select:none}.sql-format__toggle-icon--expanded[data-v-14525f87]{transform:rotate(90deg)}.sql-format__toggle-spacer[data-v-14525f87]{flex-shrink:0;width:16px;height:20px}.sql-format__clause-code[data-v-14525f87]{margin:0;padding:0;font-family:inherit;font-size:13px;line-height:1.6;white-space:pre;text-align:left;flex:1}.sql-format__clause-code code[data-v-14525f87]{font-family:inherit;display:block;text-align:left}.sql-format__clause-content[data-v-14525f87]{padding:0 0 0 22px;background-color:transparent}@media (max-width: 768px){.sql-format__toolbar[data-v-14525f87]{flex-direction:column;align-items:stretch}.sql-format__actions[data-v-14525f87]{justify-content:stretch}.sql-format__btn[data-v-14525f87]{flex:1}.sql-format__info[data-v-14525f87]{justify-content:center}}
@@ -11747,7 +11747,7 @@ ${s}${q}`);
11747
11747
  try {
11748
11748
  let t = n.replace(/--[^\n]*/g, "").replace(/\/\*[\s\S]*?\*\//g, "");
11749
11749
  const r = [];
11750
- return t = t.replace(/(["'])(?:(?=(\\?))\2.)*?\1/g, (u) => (r.push(u), `__STRING_${r.length - 1}__`)), t = t.replace(/\s+/g, " ").replace(/\s*([(),;])\s*/g, "$1").trim(), r.forEach((u, s) => {
11750
+ return t = t.replace(/(["'])(?:(?=(\\?))\2.)*?\1/g, (u) => (r.push(u), `__STRING_${r.length - 1}__`)), t = t.replace(/\s+/g, " ").replace(/\s*([,;])\s*/g, "$1").replace(/\(\s+/g, "(").replace(/\s+\)/g, ")").trim(), r.forEach((u, s) => {
11751
11751
  t = t.replace(`__STRING_${s}__`, u);
11752
11752
  }), t;
11753
11753
  } catch (t) {
@@ -11945,21 +11945,21 @@ ${s}${q}`);
11945
11945
  emits: ["update:modelValue", "copy-success", "copy-error", "expand-all", "collapse-all", "compress", "format"],
11946
11946
  setup(n, { expose: t, emit: r }) {
11947
11947
  St((N) => ({
11948
- "3064b840": A.value.colors.background,
11949
- "3b1dfd42": A.value.colors.text,
11950
- "27ee2844": A.value.colors.border,
11951
- c31be26e: A.value.colors.surfaceBackground,
11952
- "5a6e4430": A.value.colors.buttonBorder,
11953
- "784a8332": A.value.colors.buttonBackground,
11954
- "4c944631": A.value.colors.buttonText,
11955
- "0a4c852a": A.value.colors.buttonBackgroundHover,
11956
- "46d58304": A.value.colors.buttonPrimary,
11957
- "602ef95e": A.value.colors.buttonPrimaryHover,
11958
- "0ea5ae9f": A.value.colors.successBackground,
11959
- "21c7be91": A.value.colors.success,
11960
- "55a029e4": A.value.colors.errorBackground,
11961
- "6ae19c16": A.value.colors.error,
11962
- f7d0aa56: A.value.colors.textSecondary
11948
+ "0f8e0258": A.value.colors.background,
11949
+ "1168a353": A.value.colors.text,
11950
+ "3b9fe0d2": A.value.colors.border,
11951
+ "7c0c3955": A.value.colors.surfaceBackground,
11952
+ "05229bb8": A.value.colors.buttonBorder,
11953
+ ae8a51b4: A.value.colors.buttonBackground,
11954
+ "5cffa125": A.value.colors.buttonText,
11955
+ "3b12ec94": A.value.colors.buttonBackgroundHover,
11956
+ ccbae1ec: A.value.colors.buttonPrimary,
11957
+ "35da2052": A.value.colors.buttonPrimaryHover,
11958
+ "27804daa": A.value.colors.successBackground,
11959
+ "75e12fc6": A.value.colors.success,
11960
+ "049b8770": A.value.colors.errorBackground,
11961
+ "1ade38a2": A.value.colors.error,
11962
+ "4124fb61": A.value.colors.textSecondary
11963
11963
  }));
11964
11964
  const u = n, s = r, i = we(""), l = we(u.dialect), b = we([]), d = we(/* @__PURE__ */ new Set()), h = we(""), D = Se(() => i.value === ""), A = Se(() => nu(u.theme)), P = (N) => {
11965
11965
  if (!N || !N.trim()) {
@@ -12135,7 +12135,7 @@ ${s}${q}`);
12135
12135
  class: "sql-format__dialect-select",
12136
12136
  title: "SQL Dialect"
12137
12137
  }, $[1] || ($[1] = [
12138
- Or('<option value="sql" data-v-18c83476>SQL</option><option value="mysql" data-v-18c83476>MySQL</option><option value="postgresql" data-v-18c83476>PostgreSQL</option><option value="sqlite" data-v-18c83476>SQLite</option><option value="plsql" data-v-18c83476>PL/SQL</option><option value="tsql" data-v-18c83476>T-SQL</option>', 6)
12138
+ Or('<option value="sql" data-v-14525f87>SQL</option><option value="mysql" data-v-14525f87>MySQL</option><option value="postgresql" data-v-14525f87>PostgreSQL</option><option value="sqlite" data-v-14525f87>SQLite</option><option value="plsql" data-v-14525f87>PL/SQL</option><option value="tsql" data-v-14525f87>T-SQL</option>', 6)
12139
12139
  ]), 512), [
12140
12140
  [Sr, l.value]
12141
12141
  ])
@@ -12195,7 +12195,7 @@ ${s}${q}`);
12195
12195
  ])
12196
12196
  ], 2));
12197
12197
  }
12198
- }), Wu = /* @__PURE__ */ Bt(qu, [["__scopeId", "data-v-18c83476"]]), Vu = [kn], Hu = (n) => {
12198
+ }), Wu = /* @__PURE__ */ Bt(qu, [["__scopeId", "data-v-14525f87"]]), Vu = [kn], Hu = (n) => {
12199
12199
  Vu.forEach((t) => {
12200
12200
  const r = t.name || t.__name || "UnknownComponent";
12201
12201
  n.component(r, t);
@@ -49,7 +49,7 @@ ${i}${q}`)});const L=u.split(`
49
49
  `).filter(S=>S.trim().length>0).join(`
50
50
  `),c.forEach((S,q)=>{u=u.replace(`__PROTECTED_${q}__`,S.value)});const j=u.split(`
51
51
  `),ce=[];for(let S=0;S<j.length;S++){const q=j[S],G=q.trim();if(q.startsWith(" ")||q.startsWith(" ")){ce.push(q);continue}if(A.some(w=>new RegExp(`^${w}\\b`,"i").test(G))){ce.push(G);continue}let X="";for(let w=S-1;w>=0;w--){const v=j[w].trim(),$=A.find(R=>new RegExp(`^${R}\\b`,"i").test(v));if($){X=$;break}}/^(AND|OR)\b/i.test(G)||X.match(/^(WHERE|HAVING)$/i)||X.match(/JOIN$/i)||X.match(/^ORDER BY$/i)?ce.push(i+G):ce.push(G)}let he=ce.join(`
52
- `);return he=p(he),he}catch(r){throw new Error(`SQL 格式化失败: ${r instanceof Error?r.message:"Unknown error"}`)}},ws=n=>{try{let t=n.replace(/--[^\n]*/g,"").replace(/\/\*[\s\S]*?\*\//g,"");const r=[];return t=t.replace(/(["'])(?:(?=(\\?))\2.)*?\1/g,a=>(r.push(a),`__STRING_${r.length-1}__`)),t=t.replace(/\s+/g," ").replace(/\s*([(),;])\s*/g,"$1").trim(),r.forEach((a,i)=>{t=t.replace(`__STRING_${i}__`,a)}),t}catch(t){throw new Error(`SQL 压缩失败: ${t instanceof Error?t.message:"Unknown error"}`)}},_s=n=>{const t=[];try{const a=kt(n,{keywordCase:"upper"}).split(`
52
+ `);return he=p(he),he}catch(r){throw new Error(`SQL 格式化失败: ${r instanceof Error?r.message:"Unknown error"}`)}},ws=n=>{try{let t=n.replace(/--[^\n]*/g,"").replace(/\/\*[\s\S]*?\*\//g,"");const r=[];return t=t.replace(/(["'])(?:(?=(\\?))\2.)*?\1/g,a=>(r.push(a),`__STRING_${r.length-1}__`)),t=t.replace(/\s+/g," ").replace(/\s*([,;])\s*/g,"$1").replace(/\(\s+/g,"(").replace(/\s+\)/g,")").trim(),r.forEach((a,i)=>{t=t.replace(`__STRING_${i}__`,a)}),t}catch(t){throw new Error(`SQL 压缩失败: ${t instanceof Error?t.message:"Unknown error"}`)}},_s=n=>{const t=[];try{const a=kt(n,{keywordCase:"upper"}).split(`
53
53
  `);let i=null,u=[],c=[];for(const A of a){const p=A.trim();if(!p){i&&u.push(A);continue}if(p.startsWith("--")||p.startsWith("/*")){i?u.push(A):c.push(A);continue}let T=!1,x="UNKNOWN";for(const L of ys)if(new RegExp(`^${L}\\b`,"i").test(p)){T=!0,x=L.replace(/ /g," ");break}T?(i&&u.length>0&&(i.content=u.join(`
54
54
  `),i.raw=u.join(`
55
55
  `),t.push(i)),c.length>0&&(t.push({type:"UNKNOWN",content:c.join(`
@@ -58,8 +58,8 @@ ${i}${q}`)});const L=u.split(`
58
58
  `),i.raw=u.join(`
59
59
  `),t.push(i)),c.length>0&&t.push({type:"UNKNOWN",content:c.join(`
60
60
  `),raw:c.join(`
61
- `),collapsible:!1,path:`clause-${t.length}`}),{clauses:t,raw:n}}catch{return{clauses:[{type:"UNKNOWN",content:n,raw:n,collapsible:!1,path:"clause-0"}],raw:n}}},Ss=n=>{const t=[];let r=n;const a=["COUNT","SUM","AVG","MAX","MIN","UPPER","LOWER","SUBSTRING","CONCAT","LENGTH","TRIM","NOW","DATE","YEAR","MONTH","DAY","COALESCE","CAST","CONVERT","ROUND","ABS","FLOOR","CEIL"],i=["=","!=","<>","<",">","<=",">=","+","-","*","/","%","||"],u=["(",")",",",";","."];for(;r.length>0;){let c=!1;const A=r.match(/^(\s+)/);if(A){t.push({type:"whitespace",value:A[1]}),r=r.slice(A[1].length);continue}const p=r.match(/^(--[^\n]*)/);if(p){t.push({type:"comment",value:p[1]}),r=r.slice(p[1].length);continue}const m=r.match(/^(\/\*[\s\S]*?\*\/)/);if(m){t.push({type:"comment",value:m[1]}),r=r.slice(m[1].length);continue}const T=r.match(/^(["'])(?:(?=(\\?))\2.)*?\1/);if(T){t.push({type:"string",value:T[0]}),r=r.slice(T[0].length);continue}const x=r.match(/^(\d+\.?\d*|\.\d+)/);if(x){t.push({type:"number",value:x[1]}),r=r.slice(x[1].length);continue}for(const F of i)if(r.startsWith(F)){t.push({type:"operator",value:F}),r=r.slice(F.length),c=!0;break}if(c)continue;for(const F of u)if(r.startsWith(F)){t.push({type:"punctuation",value:F}),r=r.slice(F.length),c=!0;break}if(c)continue;const L=r.match(/^([a-zA-Z_][a-zA-Z0-9_]*)/);if(L){const F=L[1],Q=F.toUpperCase();xt.includes(Q)?t.push({type:"keyword",value:F}):a.includes(Q)?t.push({type:"function",value:F}):t.push({type:"identifier",value:F}),r=r.slice(F.length);continue}t.push({type:"punctuation",value:r[0]}),r=r.slice(1)}return t},Bs={key:0,class:"sql-format__toolbar"},Os={class:"sql-format__actions"},ks=["disabled"],Rs=["disabled"],Is=["disabled"],Fs=["disabled"],Ps=["disabled"],Ls={class:"sql-format__info"},Vs={key:0,class:"sql-format__status sql-format__status--success"},$s={key:1,class:"sql-format__status sql-format__status--error"},Ms={class:"sql-format__content"},Us={key:0,class:"sql-format__error"},qs={key:1,class:"sql-format__viewer"},Hs={key:0,class:"sql-format__clauses"},js=["onClick"],Ks=["onClick","title"],Gs={key:1,class:"sql-format__toggle-spacer"},Xs={class:"sql-format__clause-keyword"},Ws={class:"sql-format__clause-code"},zs=["innerHTML"],Ys={key:0,class:"sql-format__clause-content"},Qs={class:"sql-format__clause-code"},Zs=["innerHTML"],Js={key:1,class:"sql-format__code"},ei=["innerHTML"],ti=ft(o.defineComponent({__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},showToolbar:{type:Boolean,default:!0},theme:{default:"github-light"},dialect:{default:"sql"},tabWidth:{default:2}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress","format"],setup(n,{expose:t,emit:r}){o.useCssVars(v=>({"3064b840":x.value.colors.background,"3b1dfd42":x.value.colors.text,"27ee2844":x.value.colors.border,c31be26e:x.value.colors.surfaceBackground,"5a6e4430":x.value.colors.buttonBorder,"784a8332":x.value.colors.buttonBackground,"4c944631":x.value.colors.buttonText,"0a4c852a":x.value.colors.buttonBackgroundHover,"46d58304":x.value.colors.buttonPrimary,"602ef95e":x.value.colors.buttonPrimaryHover,"0ea5ae9f":x.value.colors.successBackground,"21c7be91":x.value.colors.success,"55a029e4":x.value.colors.errorBackground,"6ae19c16":x.value.colors.error,f7d0aa56:x.value.colors.textSecondary}));const a=n,i=r,u=o.ref(""),c=o.ref(a.dialect),A=o.ref([]),p=o.ref(new Set),m=o.ref(""),T=o.computed(()=>u.value===""),x=o.computed(()=>Es(a.theme)),L=v=>{if(!v||!v.trim()){u.value="",A.value=[],p.value.clear();return}try{const $=bs(v);if(!$.valid){u.value=$.error||"Invalid SQL",A.value=[],m.value="";return}const R=_s(v);A.value=R.clauses,m.value=kt(v,{dialect:c.value,tabWidth:a.tabWidth}),p.value=new Set(R.clauses.map(P=>P.path||"")),u.value=""}catch($){u.value=$ instanceof Error?$.message:"Unknown parse error",A.value=[],m.value=""}},F=v=>{const $=Ss(v),R=x.value.colors;return $.map(P=>{let ee=R.text;switch(P.type){case"keyword":ee=R.sqlKeyword;break;case"function":ee=R.sqlFunction;break;case"string":ee=R.sqlString;break;case"number":ee=R.sqlNumber;break;case"comment":ee=R.sqlComment;break;case"operator":ee=R.sqlOperator;break;case"identifier":ee=R.sqlIdentifier;break;case"punctuation":ee=R.sqlPunctuation;break;case"whitespace":return P.value.replace(/ /g,"&nbsp;").replace(/\n/g,`
61
+ `),collapsible:!1,path:`clause-${t.length}`}),{clauses:t,raw:n}}catch{return{clauses:[{type:"UNKNOWN",content:n,raw:n,collapsible:!1,path:"clause-0"}],raw:n}}},Ss=n=>{const t=[];let r=n;const a=["COUNT","SUM","AVG","MAX","MIN","UPPER","LOWER","SUBSTRING","CONCAT","LENGTH","TRIM","NOW","DATE","YEAR","MONTH","DAY","COALESCE","CAST","CONVERT","ROUND","ABS","FLOOR","CEIL"],i=["=","!=","<>","<",">","<=",">=","+","-","*","/","%","||"],u=["(",")",",",";","."];for(;r.length>0;){let c=!1;const A=r.match(/^(\s+)/);if(A){t.push({type:"whitespace",value:A[1]}),r=r.slice(A[1].length);continue}const p=r.match(/^(--[^\n]*)/);if(p){t.push({type:"comment",value:p[1]}),r=r.slice(p[1].length);continue}const m=r.match(/^(\/\*[\s\S]*?\*\/)/);if(m){t.push({type:"comment",value:m[1]}),r=r.slice(m[1].length);continue}const T=r.match(/^(["'])(?:(?=(\\?))\2.)*?\1/);if(T){t.push({type:"string",value:T[0]}),r=r.slice(T[0].length);continue}const x=r.match(/^(\d+\.?\d*|\.\d+)/);if(x){t.push({type:"number",value:x[1]}),r=r.slice(x[1].length);continue}for(const F of i)if(r.startsWith(F)){t.push({type:"operator",value:F}),r=r.slice(F.length),c=!0;break}if(c)continue;for(const F of u)if(r.startsWith(F)){t.push({type:"punctuation",value:F}),r=r.slice(F.length),c=!0;break}if(c)continue;const L=r.match(/^([a-zA-Z_][a-zA-Z0-9_]*)/);if(L){const F=L[1],Q=F.toUpperCase();xt.includes(Q)?t.push({type:"keyword",value:F}):a.includes(Q)?t.push({type:"function",value:F}):t.push({type:"identifier",value:F}),r=r.slice(F.length);continue}t.push({type:"punctuation",value:r[0]}),r=r.slice(1)}return t},Bs={key:0,class:"sql-format__toolbar"},Os={class:"sql-format__actions"},ks=["disabled"],Rs=["disabled"],Is=["disabled"],Fs=["disabled"],Ps=["disabled"],Ls={class:"sql-format__info"},Vs={key:0,class:"sql-format__status sql-format__status--success"},$s={key:1,class:"sql-format__status sql-format__status--error"},Ms={class:"sql-format__content"},Us={key:0,class:"sql-format__error"},qs={key:1,class:"sql-format__viewer"},Hs={key:0,class:"sql-format__clauses"},js=["onClick"],Ks=["onClick","title"],Gs={key:1,class:"sql-format__toggle-spacer"},Xs={class:"sql-format__clause-keyword"},Ws={class:"sql-format__clause-code"},zs=["innerHTML"],Ys={key:0,class:"sql-format__clause-content"},Qs={class:"sql-format__clause-code"},Zs=["innerHTML"],Js={key:1,class:"sql-format__code"},ei=["innerHTML"],ti=ft(o.defineComponent({__name:"index",props:{modelValue:{default:""},readonly:{type:Boolean,default:!1},showToolbar:{type:Boolean,default:!0},theme:{default:"github-light"},dialect:{default:"sql"},tabWidth:{default:2}},emits:["update:modelValue","copy-success","copy-error","expand-all","collapse-all","compress","format"],setup(n,{expose:t,emit:r}){o.useCssVars(v=>({"0f8e0258":x.value.colors.background,"1168a353":x.value.colors.text,"3b9fe0d2":x.value.colors.border,"7c0c3955":x.value.colors.surfaceBackground,"05229bb8":x.value.colors.buttonBorder,ae8a51b4:x.value.colors.buttonBackground,"5cffa125":x.value.colors.buttonText,"3b12ec94":x.value.colors.buttonBackgroundHover,ccbae1ec:x.value.colors.buttonPrimary,"35da2052":x.value.colors.buttonPrimaryHover,"27804daa":x.value.colors.successBackground,"75e12fc6":x.value.colors.success,"049b8770":x.value.colors.errorBackground,"1ade38a2":x.value.colors.error,"4124fb61":x.value.colors.textSecondary}));const a=n,i=r,u=o.ref(""),c=o.ref(a.dialect),A=o.ref([]),p=o.ref(new Set),m=o.ref(""),T=o.computed(()=>u.value===""),x=o.computed(()=>Es(a.theme)),L=v=>{if(!v||!v.trim()){u.value="",A.value=[],p.value.clear();return}try{const $=bs(v);if(!$.valid){u.value=$.error||"Invalid SQL",A.value=[],m.value="";return}const R=_s(v);A.value=R.clauses,m.value=kt(v,{dialect:c.value,tabWidth:a.tabWidth}),p.value=new Set(R.clauses.map(P=>P.path||"")),u.value=""}catch($){u.value=$ instanceof Error?$.message:"Unknown parse error",A.value=[],m.value=""}},F=v=>{const $=Ss(v),R=x.value.colors;return $.map(P=>{let ee=R.text;switch(P.type){case"keyword":ee=R.sqlKeyword;break;case"function":ee=R.sqlFunction;break;case"string":ee=R.sqlString;break;case"number":ee=R.sqlNumber;break;case"comment":ee=R.sqlComment;break;case"operator":ee=R.sqlOperator;break;case"identifier":ee=R.sqlIdentifier;break;case"punctuation":ee=R.sqlPunctuation;break;case"whitespace":return P.value.replace(/ /g,"&nbsp;").replace(/\n/g,`
62
62
  `)}const ue=P.value.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;");return`<span style="color: ${ee}">${ue}</span>`}).join("")},Q=v=>{p.value.has(v)?p.value.delete(v):p.value.add(v),p.value=new Set(p.value)},ie=v=>p.value.has(v),j=v=>{const $=v.content.split(`
63
63
  `);if($.length===0)return"";for(const R of $)if(R.trim())return R;return""},ce=v=>{const $=j(v),R=ie(v.path||""),P=!!he(v);return v.collapsible&&!R&&P?`${F($)}<span style="color: ${x.value.colors.textSecondary}; opacity: 0.6; font-style: italic; margin-left: 4px;"> ...</span>`:F($)},he=v=>{const $=v.content.split(`
64
64
  `);if($.length<=1)return"";let R=0;for(let ee=0;ee<$.length;ee++)if($[ee].trim()){R=ee;break}return $.slice(R+1).join(`
65
- `)},S=()=>{p.value=new Set(A.value.map(v=>v.path||"")),i("expand-all")},q=()=>{p.value=new Set,i("collapse-all")},G=async()=>{if(T.value)try{const v=m.value||a.modelValue;await navigator.clipboard.writeText(v),i("copy-success",v)}catch(v){const $=v instanceof Error?v:new Error("Failed to copy");i("copy-error",$)}},V=()=>{if(T.value)try{const v=kt(a.modelValue,{dialect:c.value,tabWidth:a.tabWidth});i("update:modelValue",v),i("format",v)}catch(v){console.error("Format error:",v)}},g=()=>{if(T.value)try{const v=ws(a.modelValue);i("update:modelValue",v),i("compress",v)}catch(v){console.error("Compress error:",v)}},X=()=>null,w=()=>u.value;return o.watch(()=>a.modelValue,v=>{L(v)},{immediate:!0}),o.watch(()=>a.dialect,v=>{c.value=v}),t({copySql:G,formatSource:V,compressSource:g,expandAll:S,collapseAll:q,toggleExpand:Q,isValidSql:()=>T.value,getParsedSql:X,getParseError:w}),(v,$)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["sql-format",`sql-format--${x.value.name}`])},[v.showToolbar?(o.openBlock(),o.createElementBlock("div",Bs,[o.createElementVNode("div",Os,[o.createElementVNode("button",{class:"sql-format__btn sql-format__btn--primary",onClick:G,disabled:!T.value,title:"Copy SQL"}," 📋 Copy ",8,ks),o.createElementVNode("button",{class:"sql-format__btn sql-format__btn--secondary",onClick:V,disabled:!T.value,title:"Format SQL"}," ✨ Format ",8,Rs),o.createElementVNode("button",{class:"sql-format__btn sql-format__btn--secondary",onClick:g,disabled:!T.value,title:"Compress SQL"}," 📦 Compress ",8,Is),o.createElementVNode("button",{class:"sql-format__btn sql-format__btn--secondary",onClick:S,disabled:!T.value||A.value.length===0,title:"Expand All Clauses"}," ⬇️ Expand All ",8,Fs),o.createElementVNode("button",{class:"sql-format__btn sql-format__btn--secondary",onClick:q,disabled:!T.value||A.value.length===0,title:"Collapse All Clauses"}," ⬆️ Collapse All ",8,Ps),o.withDirectives(o.createElementVNode("select",{"onUpdate:modelValue":$[0]||($[0]=R=>c.value=R),class:"sql-format__dialect-select",title:"SQL Dialect"},$[1]||($[1]=[o.createStaticVNode('<option value="sql" data-v-18c83476>SQL</option><option value="mysql" data-v-18c83476>MySQL</option><option value="postgresql" data-v-18c83476>PostgreSQL</option><option value="sqlite" data-v-18c83476>SQLite</option><option value="plsql" data-v-18c83476>PL/SQL</option><option value="tsql" data-v-18c83476>T-SQL</option>',6)]),512),[[o.vModelSelect,c.value]])]),o.createElementVNode("div",Ls,[T.value?(o.openBlock(),o.createElementBlock("span",Vs," ✅ Valid SQL ")):(o.openBlock(),o.createElementBlock("span",$s," ❌ Invalid SQL "))])])):o.createCommentVNode("",!0),o.createElementVNode("div",Ms,[T.value?(o.openBlock(),o.createElementBlock("div",qs,[A.value.length>0?(o.openBlock(),o.createElementBlock("div",Hs,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(A.value,R=>(o.openBlock(),o.createElementBlock("div",{key:R.path,class:"sql-format__clause"},[o.createElementVNode("div",{class:"sql-format__clause-header",onClick:P=>R.collapsible&&Q(R.path||"")},[R.collapsible?(o.openBlock(),o.createElementBlock("button",{key:0,class:"sql-format__toggle-btn",onClick:o.withModifiers(P=>Q(R.path||""),["stop"]),title:ie(R.path||"")?"Collapse":"Expand"},[o.createElementVNode("span",{class:o.normalizeClass(["sql-format__toggle-icon",{"sql-format__toggle-icon--expanded":ie(R.path||"")}])},"▶",2)],8,Ks)):(o.openBlock(),o.createElementBlock("span",Gs)),o.createElementVNode("div",Xs,[o.createElementVNode("pre",Ws,[o.createElementVNode("code",{innerHTML:ce(R)},null,8,zs)])])],8,js),ie(R.path||"")&&he(R)?(o.openBlock(),o.createElementBlock("div",Ys,[o.createElementVNode("pre",Qs,[o.createElementVNode("code",{innerHTML:F(he(R))},null,8,Zs)])])):o.createCommentVNode("",!0)]))),128))])):(o.openBlock(),o.createElementBlock("pre",Js,[o.createElementVNode("code",{innerHTML:F(a.modelValue)},null,8,ei)]))])):(o.openBlock(),o.createElementBlock("div",Us,[$[2]||($[2]=o.createElementVNode("h4",null,"SQL Parse Error:",-1)),o.createElementVNode("pre",null,o.toDisplayString(u.value),1)]))])],2))}}),[["__scopeId","data-v-18c83476"]]),ri=[Ft],ni={install:n=>{ri.forEach(t=>{const r=t.name||t.__name||"UnknownComponent";n.component(r,t)})}};We.JsonFormat=Ft,We.SqlFormat=ti,We.XmlFormat=gs,We.default=ni,Object.defineProperties(We,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
65
+ `)},S=()=>{p.value=new Set(A.value.map(v=>v.path||"")),i("expand-all")},q=()=>{p.value=new Set,i("collapse-all")},G=async()=>{if(T.value)try{const v=m.value||a.modelValue;await navigator.clipboard.writeText(v),i("copy-success",v)}catch(v){const $=v instanceof Error?v:new Error("Failed to copy");i("copy-error",$)}},V=()=>{if(T.value)try{const v=kt(a.modelValue,{dialect:c.value,tabWidth:a.tabWidth});i("update:modelValue",v),i("format",v)}catch(v){console.error("Format error:",v)}},g=()=>{if(T.value)try{const v=ws(a.modelValue);i("update:modelValue",v),i("compress",v)}catch(v){console.error("Compress error:",v)}},X=()=>null,w=()=>u.value;return o.watch(()=>a.modelValue,v=>{L(v)},{immediate:!0}),o.watch(()=>a.dialect,v=>{c.value=v}),t({copySql:G,formatSource:V,compressSource:g,expandAll:S,collapseAll:q,toggleExpand:Q,isValidSql:()=>T.value,getParsedSql:X,getParseError:w}),(v,$)=>(o.openBlock(),o.createElementBlock("div",{class:o.normalizeClass(["sql-format",`sql-format--${x.value.name}`])},[v.showToolbar?(o.openBlock(),o.createElementBlock("div",Bs,[o.createElementVNode("div",Os,[o.createElementVNode("button",{class:"sql-format__btn sql-format__btn--primary",onClick:G,disabled:!T.value,title:"Copy SQL"}," 📋 Copy ",8,ks),o.createElementVNode("button",{class:"sql-format__btn sql-format__btn--secondary",onClick:V,disabled:!T.value,title:"Format SQL"}," ✨ Format ",8,Rs),o.createElementVNode("button",{class:"sql-format__btn sql-format__btn--secondary",onClick:g,disabled:!T.value,title:"Compress SQL"}," 📦 Compress ",8,Is),o.createElementVNode("button",{class:"sql-format__btn sql-format__btn--secondary",onClick:S,disabled:!T.value||A.value.length===0,title:"Expand All Clauses"}," ⬇️ Expand All ",8,Fs),o.createElementVNode("button",{class:"sql-format__btn sql-format__btn--secondary",onClick:q,disabled:!T.value||A.value.length===0,title:"Collapse All Clauses"}," ⬆️ Collapse All ",8,Ps),o.withDirectives(o.createElementVNode("select",{"onUpdate:modelValue":$[0]||($[0]=R=>c.value=R),class:"sql-format__dialect-select",title:"SQL Dialect"},$[1]||($[1]=[o.createStaticVNode('<option value="sql" data-v-14525f87>SQL</option><option value="mysql" data-v-14525f87>MySQL</option><option value="postgresql" data-v-14525f87>PostgreSQL</option><option value="sqlite" data-v-14525f87>SQLite</option><option value="plsql" data-v-14525f87>PL/SQL</option><option value="tsql" data-v-14525f87>T-SQL</option>',6)]),512),[[o.vModelSelect,c.value]])]),o.createElementVNode("div",Ls,[T.value?(o.openBlock(),o.createElementBlock("span",Vs," ✅ Valid SQL ")):(o.openBlock(),o.createElementBlock("span",$s," ❌ Invalid SQL "))])])):o.createCommentVNode("",!0),o.createElementVNode("div",Ms,[T.value?(o.openBlock(),o.createElementBlock("div",qs,[A.value.length>0?(o.openBlock(),o.createElementBlock("div",Hs,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(A.value,R=>(o.openBlock(),o.createElementBlock("div",{key:R.path,class:"sql-format__clause"},[o.createElementVNode("div",{class:"sql-format__clause-header",onClick:P=>R.collapsible&&Q(R.path||"")},[R.collapsible?(o.openBlock(),o.createElementBlock("button",{key:0,class:"sql-format__toggle-btn",onClick:o.withModifiers(P=>Q(R.path||""),["stop"]),title:ie(R.path||"")?"Collapse":"Expand"},[o.createElementVNode("span",{class:o.normalizeClass(["sql-format__toggle-icon",{"sql-format__toggle-icon--expanded":ie(R.path||"")}])},"▶",2)],8,Ks)):(o.openBlock(),o.createElementBlock("span",Gs)),o.createElementVNode("div",Xs,[o.createElementVNode("pre",Ws,[o.createElementVNode("code",{innerHTML:ce(R)},null,8,zs)])])],8,js),ie(R.path||"")&&he(R)?(o.openBlock(),o.createElementBlock("div",Ys,[o.createElementVNode("pre",Qs,[o.createElementVNode("code",{innerHTML:F(he(R))},null,8,Zs)])])):o.createCommentVNode("",!0)]))),128))])):(o.openBlock(),o.createElementBlock("pre",Js,[o.createElementVNode("code",{innerHTML:F(a.modelValue)},null,8,ei)]))])):(o.openBlock(),o.createElementBlock("div",Us,[$[2]||($[2]=o.createElementVNode("h4",null,"SQL Parse Error:",-1)),o.createElementVNode("pre",null,o.toDisplayString(u.value),1)]))])],2))}}),[["__scopeId","data-v-14525f87"]]),ri=[Ft],ni={install:n=>{ri.forEach(t=>{const r=t.name||t.__name||"UnknownComponent";n.component(r,t)})}};We.JsonFormat=Ft,We.SqlFormat=ti,We.XmlFormat=gs,We.default=ni,Object.defineProperties(We,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lone-format",
3
- "version": "0.11.0",
3
+ "version": "0.11.1",
4
4
  "type": "module",
5
5
  "description": "A Vue 3 component library for formatting with tree-shaking support",
6
6
  "main": "./dist/lone-format.umd.cjs",