lone-format 0.12.1 → 0.13.0

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.
Files changed (32) hide show
  1. package/dist/_chunks/_plugin-vue_export-helper-CHgC5LLL.js +9 -0
  2. package/dist/_chunks/index-13rwh2MK.js +788 -0
  3. package/dist/_chunks/index-DfjCsqDT.js +1005 -0
  4. package/dist/_chunks/index-DvNM7Tl4.js +1784 -0
  5. package/dist/components/JsonFormat/JsonNode.vue.d.ts +29 -0
  6. package/dist/components/JsonFormat/index.d.ts +2 -0
  7. package/dist/components/JsonFormat/index.js +4 -0
  8. package/dist/components/JsonFormat/index.vue.d.ts +50 -0
  9. package/dist/components/JsonFormat/themes.d.ts +29 -0
  10. package/dist/components/JsonFormat/types.d.ts +96 -0
  11. package/dist/components/SqlFormat/SqlClauseNode.vue.d.ts +13 -0
  12. package/dist/components/SqlFormat/index.d.ts +5 -0
  13. package/dist/components/SqlFormat/index.js +5 -0
  14. package/dist/components/SqlFormat/index.vue.d.ts +43 -0
  15. package/dist/components/SqlFormat/parser.d.ts +34 -0
  16. package/dist/components/SqlFormat/themes.d.ts +33 -0
  17. package/dist/components/SqlFormat/types.d.ts +99 -0
  18. package/dist/components/XmlFormat/XmlNode.vue.d.ts +37 -0
  19. package/dist/components/XmlFormat/index.d.ts +7 -0
  20. package/dist/components/XmlFormat/index.js +27 -0
  21. package/dist/components/XmlFormat/index.vue.d.ts +57 -0
  22. package/dist/components/XmlFormat/parser.d.ts +93 -0
  23. package/dist/components/XmlFormat/themes.d.ts +29 -0
  24. package/dist/components/XmlFormat/types.d.ts +113 -0
  25. package/dist/components/index.d.ts +6 -0
  26. package/dist/index.d.ts +6 -1
  27. package/dist/lone-format.css +1 -1
  28. package/dist/lone-format.js +13 -31862
  29. package/dist/lone-format.umd.cjs +53 -49
  30. package/dist/types/components.d.ts +1 -0
  31. package/dist/types/index.d.ts +6 -0
  32. package/package.json +8 -3
@@ -0,0 +1,29 @@
1
+ import { ThemeConfig, ThemeType } from './types';
2
+ /**
3
+ * GitHub Light 主题
4
+ */
5
+ declare const githubLight: ThemeConfig;
6
+ /**
7
+ * GitHub Dark 主题
8
+ */
9
+ declare const githubDark: ThemeConfig;
10
+ /**
11
+ * Minimal Light 主题
12
+ */
13
+ declare const minLight: ThemeConfig;
14
+ /**
15
+ * Slack Ochin 主题
16
+ */
17
+ declare const slackOchin: ThemeConfig;
18
+ /**
19
+ * 主题映射表
20
+ */
21
+ declare const themes: Record<ThemeType, ThemeConfig>;
22
+ /**
23
+ * 获取主题配置
24
+ */
25
+ export declare const getTheme: (themeName: ThemeType) => ThemeConfig;
26
+ /**
27
+ * 导出所有主题
28
+ */
29
+ export { githubLight, githubDark, minLight, slackOchin, themes };
@@ -0,0 +1,113 @@
1
+ /**
2
+ * XML 节点类型枚举
3
+ */
4
+ export type XmlNodeType = 'element' | 'text' | 'comment' | 'cdata' | 'declaration';
5
+ /**
6
+ * 主题类型枚举(复用 JSON 的主题)
7
+ */
8
+ export type ThemeType = 'github-light' | 'github-dark' | 'min-light' | 'slack-ochin';
9
+ /**
10
+ * 过滤器类型枚举(仅支持 XPath)
11
+ */
12
+ export type FilterType = 'xpath';
13
+ /**
14
+ * XML 节点接口
15
+ */
16
+ export interface XmlNode {
17
+ type: XmlNodeType;
18
+ tagName?: string;
19
+ attributes?: Record<string, string>;
20
+ children?: XmlNode[];
21
+ content?: string;
22
+ namespace?: string;
23
+ prefix?: string;
24
+ path?: string;
25
+ }
26
+ /**
27
+ * 过滤器配置接口
28
+ */
29
+ export interface FilterConfig {
30
+ type: FilterType;
31
+ expression: string;
32
+ }
33
+ /**
34
+ * 主题配置接口
35
+ */
36
+ export interface ThemeConfig {
37
+ name: ThemeType;
38
+ colors: {
39
+ background: string;
40
+ surfaceBackground: string;
41
+ border: string;
42
+ text: string;
43
+ textSecondary: string;
44
+ buttonBackground: string;
45
+ buttonBackgroundHover: string;
46
+ buttonBorder: string;
47
+ buttonText: string;
48
+ buttonPrimary: string;
49
+ buttonPrimaryHover: string;
50
+ success: string;
51
+ successBackground: string;
52
+ error: string;
53
+ errorBackground: string;
54
+ xmlTag: string;
55
+ xmlAttribute: string;
56
+ xmlAttributeValue: string;
57
+ xmlText: string;
58
+ xmlComment: string;
59
+ xmlCdata: string;
60
+ xmlDeclaration: string;
61
+ xmlBracket: string;
62
+ xmlEquals: string;
63
+ xmlQuote: string;
64
+ collapsedBackground: string;
65
+ collapsedBackgroundHover: string;
66
+ collapsedText: string;
67
+ indentLine: string;
68
+ };
69
+ }
70
+ /**
71
+ * XML 格式化选项
72
+ */
73
+ export interface XmlFormatOptions {
74
+ indentBy?: string;
75
+ format?: boolean;
76
+ showComments?: boolean;
77
+ showCdata?: boolean;
78
+ showDeclaration?: boolean;
79
+ preserveWhitespace?: boolean;
80
+ sortAttributes?: boolean;
81
+ selfClosingTags?: boolean;
82
+ }
83
+ /**
84
+ * 解析后的 XML 数据结构(fast-xml-parser 格式)
85
+ * 使用 preserveOrder: true 时返回数组结构
86
+ */
87
+ export type ParsedXml = any[] | {
88
+ [key: string]: any;
89
+ };
90
+ /**
91
+ * XmlFormat 组件暴露的方法接口
92
+ */
93
+ export interface XmlFormatExposed {
94
+ copyXml: () => Promise<void>;
95
+ compressSource: () => void;
96
+ formatSource: () => void;
97
+ expandAll: () => void;
98
+ collapseAll: () => void;
99
+ toggleExpand: (path: string) => void;
100
+ filter: (config: FilterConfig) => void;
101
+ clearFilter: () => void;
102
+ sort: () => void;
103
+ clearSort: () => void;
104
+ isSorted: () => boolean;
105
+ isValidXml: () => boolean;
106
+ getParsedXml: () => ParsedXml | null;
107
+ getFilteredXml: () => ParsedXml | null;
108
+ getExpandedNodes: () => Set<string>;
109
+ getParseError: () => string;
110
+ getFilterError: () => string;
111
+ parseXmlString: (xmlString: string) => void;
112
+ copyValue: (value: any) => Promise<void>;
113
+ }
@@ -0,0 +1,6 @@
1
+ export { default as JsonFormat } from './JsonFormat/index.vue';
2
+ export { default as XmlFormat } from './XmlFormat/index.vue';
3
+ export { default as SqlFormat } from './SqlFormat/index.vue';
4
+ export type { FilterConfig, FilterType, ThemeConfig, ThemeType, JsonFormatExposed } from './JsonFormat/types';
5
+ export type { XmlNode, XmlNodeType, ParsedXml, XmlFormatOptions, XmlFormatExposed } from './XmlFormat/types';
6
+ export type { SqlDialect, SqlFormatOptions, SqlFormatExposed } from './SqlFormat/types';
package/dist/index.d.ts CHANGED
@@ -1 +1,6 @@
1
- export {}
1
+ import { App } from 'vue';
2
+ declare const _default: {
3
+ install: (app: App) => void;
4
+ };
5
+ export default _default;
6
+ export * from './components';
@@ -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-a802c0ac]{border-radius:6px;background:var(--1909cc0c);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(--1d49ba8b)}.json-format__content[data-v-a802c0ac]{padding:8px 16px;overflow:auto}.json-format__error[data-v-a802c0ac]{color:var(--e9bfef2c);background:var(--16d23d38);border:1px solid var(--e9bfef2c) + "66";border-radius:6px;padding:8px 16px}.json-format__error h4[data-v-a802c0ac]{margin:0 0 8px;font-size:14px;font-weight:600}.json-format__error pre[data-v-a802c0ac]{margin:0;font-size:12px;white-space:pre-wrap;word-break:break-word}.json-format__viewer[data-v-a802c0ac]{color:var(--1d49ba8b)}.xml-node__line[data-v-2ea5f623]{display:inline-block;-webkit-user-select:text;user-select:text}.xml-node__clickable-part[data-v-2ea5f623]{cursor:pointer;display:inline-block;border-radius:3px;transition:background-color .15s ease}.xml-node__clickable-part[data-v-2ea5f623]:hover{background-color:#0000000d}.xml-node__tag[data-v-2ea5f623]{font-weight:600}.xml-node__attribute[data-v-2ea5f623]{margin-left:6px}.xml-node__attr-name[data-v-2ea5f623]{font-weight:500}.xml-node__attr-value[data-v-2ea5f623]{font-style:normal}.xml-node__collapsed-badge[data-v-2ea5f623]{color:var(--451d9899);background-color:var(--6296679a);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-2ea5f623]:hover{opacity:.85;transform:scale(1.05);background-color:var(--cd71bc7c)}.xml-node__collapsed[data-v-2ea5f623]{margin-left:4px;font-style:italic}.xml-node__collapsed--clickable[data-v-2ea5f623]{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-2ea5f623]:hover{background-color:#00000014;font-weight:500}.xml-node__children[data-v-2ea5f623]{margin-left:0;position:relative}.xml-node__children[data-v-2ea5f623]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--30a02a6b);opacity:.3;pointer-events:none}.xml-node__text-content[data-v-2ea5f623]{white-space:pre-wrap;word-break:break-word}.xml-node__comment[data-v-2ea5f623]{font-style:italic;opacity:.8}.xml-node__cdata[data-v-2ea5f623]{opacity:.9}.xml-node__tag--editable[data-v-2ea5f623],.xml-node__attr-name--editable[data-v-2ea5f623],.xml-node__attr-value--editable[data-v-2ea5f623],.xml-node__text-content--editable[data-v-2ea5f623],.xml-node__cdata-content--editable[data-v-2ea5f623]{cursor:pointer;padding:1px 3px;border-radius:3px;transition:background-color .15s ease}.xml-node__tag--editable[data-v-2ea5f623]:hover,.xml-node__attr-name--editable[data-v-2ea5f623]:hover,.xml-node__attr-value--editable[data-v-2ea5f623]:hover,.xml-node__text-content--editable[data-v-2ea5f623]:hover,.xml-node__cdata-content--editable[data-v-2ea5f623]:hover{background-color:#0000000d}.xml-node__tag--editable[contenteditable=true][data-v-2ea5f623],.xml-node__attr-name--editable[contenteditable=true][data-v-2ea5f623],.xml-node__attr-value--editable[contenteditable=true][data-v-2ea5f623],.xml-node__text-content--editable[contenteditable=true][data-v-2ea5f623],.xml-node__cdata-content--editable[contenteditable=true][data-v-2ea5f623]{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-2ea5f623]::selection,.xml-node__attr-name--editable[contenteditable=true][data-v-2ea5f623]::selection,.xml-node__attr-value--editable[contenteditable=true][data-v-2ea5f623]::selection,.xml-node__text-content--editable[contenteditable=true][data-v-2ea5f623]::selection,.xml-node__cdata-content--editable[contenteditable=true][data-v-2ea5f623]::selection{background-color:#0969da33}.xml-format[data-v-d4c202e6]{border-radius:6px;background:var(--592bc0b6);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(--6efa1296)}.xml-format__content[data-v-d4c202e6]{padding:8px 16px;overflow:auto;height:100%;text-align:left}.xml-format__error[data-v-d4c202e6]{color:var(--470e5180);background:var(--43e0a2ce);padding:16px;border-radius:6px}.xml-format__error h4[data-v-d4c202e6]{margin:0 0 8px;font-size:14px;font-weight:600}.xml-format__error pre[data-v-d4c202e6]{margin:0;font-size:13px;white-space:pre-wrap;word-break:break-word}.xml-format__viewer[data-v-d4c202e6]{min-height:100%;width:100%}.xml-declaration[data-v-d4c202e6]{opacity:.9;font-style:italic}.sql-format[data-v-3faa3df9]{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(--ca47134a);color:var(--187be7cc);border-radius:6px;overflow:hidden}.sql-format__content[data-v-3faa3df9]{flex:1;overflow:auto;padding:8px 16px}.sql-format__error[data-v-3faa3df9]{background-color:var(--f22ea76e);color:var(--f89c2e8a);padding:8px 16px;border-radius:6px;border:1px solid var(--f89c2e8a) + "66"}.sql-format__error h4[data-v-3faa3df9]{margin:0 0 8px;font-size:14px;font-weight:600}.sql-format__error pre[data-v-3faa3df9]{margin:0;font-family:inherit;font-size:13px;white-space:pre-wrap;word-wrap:break-word}.sql-format__viewer[data-v-3faa3df9]{display:flex;flex-direction:column}.sql-format__code[data-v-3faa3df9]{margin:0;background-color:var(--ca47134a);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-3faa3df9]{font-family:inherit;display:block;text-align:left}.sql-format__clauses[data-v-3faa3df9]{display:flex;flex-direction:column;gap:0;background-color:var(--ca47134a);border-radius:4px}.sql-format__clause[data-v-3faa3df9]{display:flex;flex-direction:column;background-color:transparent;overflow:hidden}.sql-format__clause-header[data-v-3faa3df9]{display:flex;align-items:flex-start;gap:6px;padding:2px 0;cursor:pointer}.sql-format__clause-header:hover .sql-format__toggle-btn[data-v-3faa3df9]{opacity:.8}.sql-format__clause-keyword[data-v-3faa3df9]{flex:1;min-width:0}.sql-format__toggle-btn[data-v-3faa3df9]{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(--a410fb0c);opacity:.5;transition:all .15s ease;font-size:9px}.sql-format__toggle-btn[data-v-3faa3df9]:hover{opacity:1}.sql-format__toggle-btn[data-v-3faa3df9]:focus{outline:none;opacity:1}.sql-format__toggle-btn[data-v-3faa3df9]:focus-visible{outline:2px solid var(--06751623);outline-offset:2px;opacity:1;border-radius:2px}.sql-format__toggle-icon[data-v-3faa3df9]{display:inline-block;transition:transform .15s ease;transform:rotate(0);-webkit-user-select:none;user-select:none}.sql-format__toggle-icon--expanded[data-v-3faa3df9]{transform:rotate(90deg)}.sql-format__toggle-spacer[data-v-3faa3df9]{flex-shrink:0;width:16px;height:20px}.sql-format__clause-code[data-v-3faa3df9]{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-3faa3df9]{font-family:inherit;display:block;text-align:left}.sql-format__clause-content[data-v-3faa3df9]{padding:0 0 0 22px;background-color:transparent}@media (max-width: 768px){.sql-format__toolbar[data-v-3faa3df9]{flex-direction:column;align-items:stretch}.sql-format__actions[data-v-3faa3df9]{justify-content:stretch}.sql-format__btn[data-v-3faa3df9]{flex:1}.sql-format__info[data-v-3faa3df9]{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-a802c0ac]{border-radius:6px;background:var(--1909cc0c);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(--1d49ba8b)}.json-format__content[data-v-a802c0ac]{padding:8px 16px;overflow:auto}.json-format__error[data-v-a802c0ac]{color:var(--e9bfef2c);background:var(--16d23d38);border:1px solid var(--e9bfef2c) + "66";border-radius:6px;padding:8px 16px}.json-format__error h4[data-v-a802c0ac]{margin:0 0 8px;font-size:14px;font-weight:600}.json-format__error pre[data-v-a802c0ac]{margin:0;font-size:12px;white-space:pre-wrap;word-break:break-word}.json-format__viewer[data-v-a802c0ac]{color:var(--1d49ba8b)}.xml-node__line[data-v-2ea5f623]{display:inline-block;-webkit-user-select:text;user-select:text}.xml-node__clickable-part[data-v-2ea5f623]{cursor:pointer;display:inline-block;border-radius:3px;transition:background-color .15s ease}.xml-node__clickable-part[data-v-2ea5f623]:hover{background-color:#0000000d}.xml-node__tag[data-v-2ea5f623]{font-weight:600}.xml-node__attribute[data-v-2ea5f623]{margin-left:6px}.xml-node__attr-name[data-v-2ea5f623]{font-weight:500}.xml-node__attr-value[data-v-2ea5f623]{font-style:normal}.xml-node__collapsed-badge[data-v-2ea5f623]{color:var(--451d9899);background-color:var(--6296679a);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-2ea5f623]:hover{opacity:.85;transform:scale(1.05);background-color:var(--cd71bc7c)}.xml-node__collapsed[data-v-2ea5f623]{margin-left:4px;font-style:italic}.xml-node__collapsed--clickable[data-v-2ea5f623]{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-2ea5f623]:hover{background-color:#00000014;font-weight:500}.xml-node__children[data-v-2ea5f623]{margin-left:0;position:relative}.xml-node__children[data-v-2ea5f623]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--30a02a6b);opacity:.3;pointer-events:none}.xml-node__text-content[data-v-2ea5f623]{white-space:pre-wrap;word-break:break-word}.xml-node__comment[data-v-2ea5f623]{font-style:italic;opacity:.8}.xml-node__cdata[data-v-2ea5f623]{opacity:.9}.xml-node__tag--editable[data-v-2ea5f623],.xml-node__attr-name--editable[data-v-2ea5f623],.xml-node__attr-value--editable[data-v-2ea5f623],.xml-node__text-content--editable[data-v-2ea5f623],.xml-node__cdata-content--editable[data-v-2ea5f623]{cursor:pointer;padding:1px 3px;border-radius:3px;transition:background-color .15s ease}.xml-node__tag--editable[data-v-2ea5f623]:hover,.xml-node__attr-name--editable[data-v-2ea5f623]:hover,.xml-node__attr-value--editable[data-v-2ea5f623]:hover,.xml-node__text-content--editable[data-v-2ea5f623]:hover,.xml-node__cdata-content--editable[data-v-2ea5f623]:hover{background-color:#0000000d}.xml-node__tag--editable[contenteditable=true][data-v-2ea5f623],.xml-node__attr-name--editable[contenteditable=true][data-v-2ea5f623],.xml-node__attr-value--editable[contenteditable=true][data-v-2ea5f623],.xml-node__text-content--editable[contenteditable=true][data-v-2ea5f623],.xml-node__cdata-content--editable[contenteditable=true][data-v-2ea5f623]{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-2ea5f623]::selection,.xml-node__attr-name--editable[contenteditable=true][data-v-2ea5f623]::selection,.xml-node__attr-value--editable[contenteditable=true][data-v-2ea5f623]::selection,.xml-node__text-content--editable[contenteditable=true][data-v-2ea5f623]::selection,.xml-node__cdata-content--editable[contenteditable=true][data-v-2ea5f623]::selection{background-color:#0969da33}.xml-format[data-v-d4c202e6]{border-radius:6px;background:var(--592bc0b6);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(--6efa1296)}.xml-format__content[data-v-d4c202e6]{padding:8px 16px;overflow:auto;height:100%;text-align:left}.xml-format__error[data-v-d4c202e6]{color:var(--470e5180);background:var(--43e0a2ce);padding:16px;border-radius:6px}.xml-format__error h4[data-v-d4c202e6]{margin:0 0 8px;font-size:14px;font-weight:600}.xml-format__error pre[data-v-d4c202e6]{margin:0;font-size:13px;white-space:pre-wrap;word-break:break-word}.xml-format__viewer[data-v-d4c202e6]{min-height:100%;width:100%}.xml-declaration[data-v-d4c202e6]{opacity:.9;font-style:italic}.sql-clause-node[data-v-8b9383dc]{display:flex;flex-direction:column}.sql-clause-node__header[data-v-8b9383dc]{display:flex;align-items:flex-start;padding:2px 0}.sql-clause-node__header--collapsible[data-v-8b9383dc]{cursor:pointer}.sql-clause-node__header--collapsible[data-v-8b9383dc]:hover{opacity:.8}.sql-clause-node__body[data-v-8b9383dc]{display:flex;flex-direction:column}.sql-clause-node__code[data-v-8b9383dc]{margin:0;padding:0;font-family:inherit;font-size:13px;line-height:1.6;white-space:pre;text-align:left;flex:1}.sql-clause-node__code code[data-v-8b9383dc]{font-family:inherit;display:block;text-align:left}.sql-clause-node__text-segment--clickable[data-v-8b9383dc],.sql-clause-node__rest--clickable[data-v-8b9383dc]{cursor:default}.sql-format[data-v-36f32aa6]{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(--175be318);color:var(--6c8d0a97);border-radius:6px;overflow:hidden}.sql-format__content[data-v-36f32aa6]{flex:1;overflow:auto;padding:8px 16px}.sql-format__error[data-v-36f32aa6]{background-color:var(--e09ea4a8);color:var(--2446b9de);padding:8px 16px;border-radius:6px;border:1px solid var(--2446b9de) + "66"}.sql-format__error h4[data-v-36f32aa6]{margin:0 0 8px;font-size:14px;font-weight:600}.sql-format__error pre[data-v-36f32aa6]{margin:0;font-family:inherit;font-size:13px;white-space:pre-wrap;word-wrap:break-word}.sql-format__viewer[data-v-36f32aa6]{display:flex;flex-direction:column}.sql-format__code[data-v-36f32aa6]{margin:0;background-color:var(--175be318);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-36f32aa6]{font-family:inherit;display:block;text-align:left}.sql-format__clauses[data-v-36f32aa6]{display:flex;flex-direction:column;gap:0;background-color:var(--175be318);border-radius:4px}.sql-format__clause[data-v-36f32aa6]{display:flex;flex-direction:column;background-color:transparent;overflow:hidden}.sql-format__clause-header[data-v-36f32aa6]{display:flex;align-items:flex-start;gap:6px;padding:2px 0}.sql-format__clause-header--collapsible[data-v-36f32aa6]{cursor:pointer}.sql-format__clause-header--collapsible[data-v-36f32aa6]:hover{opacity:.8}.sql-format__clause-keyword[data-v-36f32aa6]{flex:1;min-width:0}.sql-format__clause-code[data-v-36f32aa6]{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-36f32aa6]{font-family:inherit;display:block;text-align:left}.sql-format__clause-content[data-v-36f32aa6]{padding:0;background-color:transparent}.sql-format__clause-content--collapsible[data-v-36f32aa6]{cursor:default}@media (max-width: 768px){.sql-format__toolbar[data-v-36f32aa6]{flex-direction:column;align-items:stretch}.sql-format__actions[data-v-36f32aa6]{justify-content:stretch}.sql-format__btn[data-v-36f32aa6]{flex:1}.sql-format__info[data-v-36f32aa6]{justify-content:center}}