@zhama/tego-ui 0.0.0-stage → 1.36.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.
Files changed (57) hide show
  1. package/LICENSE +172 -0
  2. package/assets/styles/tokens.css +1 -0
  3. package/dist/animations-FAPO43TO.css +1 -0
  4. package/dist/chunk-4MXE2PSC.js +1 -0
  5. package/dist/chunk-6HRT65AA.cjs +1 -0
  6. package/dist/chunk-6Z2BWV6F.js +1 -0
  7. package/dist/chunk-CRTE56HI.js +1 -0
  8. package/dist/chunk-ERURJLNK.cjs +1 -0
  9. package/dist/chunk-GZXKQ2K6.cjs +1 -0
  10. package/dist/chunk-H7AHFBEU.js +1 -0
  11. package/dist/chunk-M2GCF4FZ.cjs +1 -0
  12. package/dist/chunk-MTA2XHQG.cjs +1 -0
  13. package/dist/chunk-MVPRTW7Z.js +1 -0
  14. package/dist/chunk-NA5M3B4G.js +1 -0
  15. package/dist/chunk-ON32SVTM.cjs +1 -0
  16. package/dist/chunk-OS64HXLJ.js +1 -0
  17. package/dist/chunk-QPXIAUJD.js +1 -0
  18. package/dist/chunk-RWEJPTVG.cjs +1 -0
  19. package/dist/chunk-SHFR7LZH.js +1 -0
  20. package/dist/chunk-SLTTRXOU.cjs +1 -0
  21. package/dist/chunk-ULCTAAJ2.js +1 -0
  22. package/dist/chunk-UQZZ6WIZ.cjs +1 -0
  23. package/dist/chunk-YWPIPAUQ.cjs +1 -0
  24. package/dist/command-palette.cjs +1 -0
  25. package/dist/command-palette.d.cts +44 -0
  26. package/dist/command-palette.d.ts +44 -0
  27. package/dist/command-palette.js +1 -0
  28. package/dist/config-form/index.cjs +1 -0
  29. package/dist/config-form/index.d.cts +99 -0
  30. package/dist/config-form/index.d.ts +99 -0
  31. package/dist/config-form/index.js +1 -0
  32. package/dist/design-system/index.cjs +1 -0
  33. package/dist/design-system/index.d.cts +629 -0
  34. package/dist/design-system/index.d.ts +629 -0
  35. package/dist/design-system/index.js +1 -0
  36. package/dist/editors.cjs +1 -0
  37. package/dist/editors.d.cts +68 -0
  38. package/dist/editors.d.ts +68 -0
  39. package/dist/editors.js +1 -0
  40. package/dist/highlight-IORKDKTB.css +1 -0
  41. package/dist/index.cjs +2 -0
  42. package/dist/index.d.cts +3157 -0
  43. package/dist/index.d.ts +3157 -0
  44. package/dist/index.js +2 -0
  45. package/dist/styles-447PVICJ.css +1 -0
  46. package/dist/styles-FZ7XXKJP.css +1 -0
  47. package/dist/summary-charts.cjs +1 -0
  48. package/dist/summary-charts.d.cts +45 -0
  49. package/dist/summary-charts.d.ts +45 -0
  50. package/dist/summary-charts.js +1 -0
  51. package/dist/tag-input.cjs +1 -0
  52. package/dist/tag-input.d.cts +15 -0
  53. package/dist/tag-input.d.ts +15 -0
  54. package/dist/tag-input.js +1 -0
  55. package/package.json +122 -4
  56. package/tailwind-preset.cjs +1 -0
  57. package/README.md +0 -3
@@ -0,0 +1,68 @@
1
+ import React__default from 'react';
2
+ import { IAceEditorProps } from 'react-ace';
3
+
4
+ interface CodeEditorProps {
5
+ value?: string;
6
+ onChange?: (value: string) => void;
7
+ language?: 'javascript' | 'typescript' | 'json' | 'json5' | 'yaml' | 'html' | 'css' | 'markdown' | 'python' | 'xml' | 'sql' | 'text';
8
+ theme?: 'github' | 'monokai' | 'auto';
9
+ height?: string | number;
10
+ width?: string | number;
11
+ placeholder?: string;
12
+ readOnly?: boolean;
13
+ disabled?: boolean;
14
+ className?: string;
15
+ fontSize?: number;
16
+ showGutter?: boolean;
17
+ showPrintMargin?: boolean;
18
+ highlightActiveLine?: boolean;
19
+ enableBasicAutocompletion?: boolean;
20
+ enableLiveAutocompletion?: boolean;
21
+ enableSnippets?: boolean;
22
+ tabSize?: number;
23
+ name?: string;
24
+ wrapEnabled?: boolean;
25
+ onLoad?: IAceEditorProps['onLoad'];
26
+ onCursorChange?: IAceEditorProps['onCursorChange'];
27
+ annotations?: IAceEditorProps['annotations'];
28
+ markers?: IAceEditorProps['markers'];
29
+ commands?: IAceEditorProps['commands'];
30
+ }
31
+ declare const CodeEditor: React__default.ForwardRefExoticComponent<CodeEditorProps & React__default.RefAttributes<HTMLDivElement>>;
32
+
33
+ interface ConfigEditorProps extends Omit<CodeEditorProps, 'onChange'> {
34
+ value?: string;
35
+ onChange?: (value: string, isValid: boolean) => void;
36
+ onValidate?: (value: string) => {
37
+ valid: boolean;
38
+ error?: string;
39
+ };
40
+ showToolbar?: boolean;
41
+ showFormatButton?: boolean;
42
+ showCopyButton?: boolean;
43
+ showClearButton?: boolean;
44
+ showValidateButton?: boolean;
45
+ enableAutoValidation?: boolean;
46
+ formatOnMount?: boolean;
47
+ validateOnChange?: boolean;
48
+ className?: string;
49
+ toolbarClassName?: string;
50
+ errorClassName?: string;
51
+ onToolbarActionsChange?: (actions: React__default.ReactNode | null) => void;
52
+ [key: string]: any;
53
+ }
54
+ /**
55
+ * 增强版配置编辑器组件
56
+ * 支持格式化、验证、复制等功能
57
+ */
58
+ declare function ConfigEditor({ value, onChange, onValidate, language, showToolbar, showFormatButton, showCopyButton, showClearButton, showValidateButton, enableAutoValidation, formatOnMount, validateOnChange, className, toolbarClassName, errorClassName, onToolbarActionsChange, height, ...props }: ConfigEditorProps): React__default.JSX.Element;
59
+ declare namespace ConfigEditor {
60
+ var displayName: string;
61
+ }
62
+
63
+ interface MarkdownEditorProps extends Omit<CodeEditorProps, 'language' | 'placeholder'> {
64
+ placeholder?: string;
65
+ }
66
+ declare const MarkdownEditor: React__default.ForwardRefExoticComponent<MarkdownEditorProps & React__default.RefAttributes<HTMLDivElement>>;
67
+
68
+ export { CodeEditor, type CodeEditorProps, ConfigEditor, type ConfigEditorProps, MarkdownEditor, type MarkdownEditorProps };
@@ -0,0 +1,68 @@
1
+ import React__default from 'react';
2
+ import { IAceEditorProps } from 'react-ace';
3
+
4
+ interface CodeEditorProps {
5
+ value?: string;
6
+ onChange?: (value: string) => void;
7
+ language?: 'javascript' | 'typescript' | 'json' | 'json5' | 'yaml' | 'html' | 'css' | 'markdown' | 'python' | 'xml' | 'sql' | 'text';
8
+ theme?: 'github' | 'monokai' | 'auto';
9
+ height?: string | number;
10
+ width?: string | number;
11
+ placeholder?: string;
12
+ readOnly?: boolean;
13
+ disabled?: boolean;
14
+ className?: string;
15
+ fontSize?: number;
16
+ showGutter?: boolean;
17
+ showPrintMargin?: boolean;
18
+ highlightActiveLine?: boolean;
19
+ enableBasicAutocompletion?: boolean;
20
+ enableLiveAutocompletion?: boolean;
21
+ enableSnippets?: boolean;
22
+ tabSize?: number;
23
+ name?: string;
24
+ wrapEnabled?: boolean;
25
+ onLoad?: IAceEditorProps['onLoad'];
26
+ onCursorChange?: IAceEditorProps['onCursorChange'];
27
+ annotations?: IAceEditorProps['annotations'];
28
+ markers?: IAceEditorProps['markers'];
29
+ commands?: IAceEditorProps['commands'];
30
+ }
31
+ declare const CodeEditor: React__default.ForwardRefExoticComponent<CodeEditorProps & React__default.RefAttributes<HTMLDivElement>>;
32
+
33
+ interface ConfigEditorProps extends Omit<CodeEditorProps, 'onChange'> {
34
+ value?: string;
35
+ onChange?: (value: string, isValid: boolean) => void;
36
+ onValidate?: (value: string) => {
37
+ valid: boolean;
38
+ error?: string;
39
+ };
40
+ showToolbar?: boolean;
41
+ showFormatButton?: boolean;
42
+ showCopyButton?: boolean;
43
+ showClearButton?: boolean;
44
+ showValidateButton?: boolean;
45
+ enableAutoValidation?: boolean;
46
+ formatOnMount?: boolean;
47
+ validateOnChange?: boolean;
48
+ className?: string;
49
+ toolbarClassName?: string;
50
+ errorClassName?: string;
51
+ onToolbarActionsChange?: (actions: React__default.ReactNode | null) => void;
52
+ [key: string]: any;
53
+ }
54
+ /**
55
+ * 增强版配置编辑器组件
56
+ * 支持格式化、验证、复制等功能
57
+ */
58
+ declare function ConfigEditor({ value, onChange, onValidate, language, showToolbar, showFormatButton, showCopyButton, showClearButton, showValidateButton, enableAutoValidation, formatOnMount, validateOnChange, className, toolbarClassName, errorClassName, onToolbarActionsChange, height, ...props }: ConfigEditorProps): React__default.JSX.Element;
59
+ declare namespace ConfigEditor {
60
+ var displayName: string;
61
+ }
62
+
63
+ interface MarkdownEditorProps extends Omit<CodeEditorProps, 'language' | 'placeholder'> {
64
+ placeholder?: string;
65
+ }
66
+ declare const MarkdownEditor: React__default.ForwardRefExoticComponent<MarkdownEditorProps & React__default.RefAttributes<HTMLDivElement>>;
67
+
68
+ export { CodeEditor, type CodeEditorProps, ConfigEditor, type ConfigEditorProps, MarkdownEditor, type MarkdownEditorProps };
@@ -0,0 +1 @@
1
+ var ee=Object.defineProperty;var f=(t,r)=>ee(t,"name",{value:r,configurable:!0});import{Alert as re,AlertDescription as te}from"./chunk-SHFR7LZH.js";import{Button as I}from"./chunk-OS64HXLJ.js";import{Tooltip as W,TooltipTrigger as $,TooltipContent as P,TooltipProvider as ie}from"./chunk-CRTE56HI.js";import{cn as q}from"./chunk-ULCTAAJ2.js";import"./chunk-QPXIAUJD.js";import se from"ace-builds/src-noconflict/ace";import U,{forwardRef as X,useState as D,useEffect as ne,useCallback as C,useMemo as Z}from"react";import oe from"react-ace";import"ace-builds/src-noconflict/mode-javascript";import"ace-builds/src-noconflict/mode-typescript";import"ace-builds/src-noconflict/mode-json";import"ace-builds/src-noconflict/mode-json5";import"ace-builds/src-noconflict/mode-yaml";import"ace-builds/src-noconflict/mode-html";import"ace-builds/src-noconflict/mode-css";import"ace-builds/src-noconflict/mode-markdown";import"ace-builds/src-noconflict/mode-python";import"ace-builds/src-noconflict/mode-xml";import"ace-builds/src-noconflict/mode-sql";import"ace-builds/src-noconflict/mode-text";import"ace-builds/src-noconflict/theme-github";import"ace-builds/src-noconflict/theme-monokai";import"ace-builds/src-noconflict/ext-language_tools";import"ace-builds/src-noconflict/ext-beautify";import{jsx as e,jsxs as o,Fragment as ce}from"react/jsx-runtime";import{WrapText as le,AlertCircle as G,Check as ae,Copy as de,RotateCcw as me}from"lucide-react";var ue={name:"beautify",bindKey:{win:"Ctrl-Shift-B",mac:"Command-Shift-B"},exec:f(t=>{se.require("ace/ext/beautify").beautify(t.session)},"exec")},L=X(({value:t="",onChange:r,language:p="javascript",theme:s,height:N="200px",width:c="100%",placeholder:h="Enter your code here...",readOnly:m=!1,disabled:l=!1,className:H,fontSize:K=14,showGutter:F=!0,showPrintMargin:Q=!1,highlightActiveLine:Y=!0,enableBasicAutocompletion:_=!0,enableLiveAutocompletion:u=!1,enableSnippets:x=!0,tabSize:A=2,name:n="code-editor",wrapEnabled:y=!1,onLoad:O,onCursorChange:a,annotations:S,markers:w,commands:J,...T},E)=>{const[R,v]=D("github");ne(()=>{const b=document.documentElement.classList.contains("dark")||window.matchMedia("(prefers-color-scheme: dark)").matches;v(b?"monokai":"github");const k=new MutationObserver(()=>{const i=document.documentElement.classList.contains("dark");v(i?"monokai":"github")});k.observe(document.documentElement,{attributes:!0,attributeFilter:["class"]});const M=window.matchMedia("(prefers-color-scheme: dark)"),j=f(()=>{!document.documentElement.classList.contains("light")&&!document.documentElement.classList.contains("dark")&&v(M.matches?"monokai":"github")},"handleChange2");return M.addEventListener("change",j),()=>{k.disconnect(),M.removeEventListener("change",j)}},[]);const g=s||R,z=f(b=>{r&&!l&&!m&&r(b)},"handleChange");return e("div",{ref:E,className:q("relative overflow-hidden rounded-md border border-input","focus-within:border-ring focus-within:ring-1 focus-within:ring-ring",l&&"cursor-not-allowed bg-muted opacity-50",H),...T,children:e(oe,{mode:p,theme:g,name:n,value:t,onChange:z,fontSize:K,showGutter:F,showPrintMargin:Q,highlightActiveLine:Y,height:typeof N=="number"?`${N}px`:N,width:typeof c=="number"?`${c}px`:c,readOnly:m||l,placeholder:h,wrapEnabled:y,onLoad:O,onCursorChange:a,annotations:S,markers:w,commands:[ue,...J??[]],setOptions:{enableBasicAutocompletion:_,enableLiveAutocompletion:u,enableSnippets:x,showLineNumbers:F,tabSize:A,useWorker:!1},style:{fontFamily:'ui-monospace, SFMono-Regular, "SF Mono", Consolas, "Liberation Mono", Menlo, monospace'},editorProps:{$blockScrolling:!0}})})});L.displayName="CodeEditor";function fe(t){try{const r=JSON.parse(t);return{formatted:JSON.stringify(r,null,2)}}catch(r){return{formatted:t,error:r instanceof Error?r.message:"Invalid JSON format"}}}f(fe,"formatJSON");function pe(t){return{formatted:t}}f(pe,"formatYAML");function he(t){if(!t.trim())return{valid:!0};try{return JSON.parse(t),{valid:!0}}catch(r){return{valid:!1,error:r instanceof Error?r.message:"Invalid JSON format"}}}f(he,"validateJSON");function V({value:t="",onChange:r,onValidate:p,language:s="json",showToolbar:N=!0,showFormatButton:c=!0,showCopyButton:h=!0,showClearButton:m=!0,showValidateButton:l=!1,enableAutoValidation:H=!0,formatOnMount:K=!1,validateOnChange:F=!0,className:Q,toolbarClassName:Y,errorClassName:_,onToolbarActionsChange:u,height:x="400px",...A}){const[n,y]=D(t),[O,a]=D(null),[S,w]=D(!1),[J,T]=D(!1);U.useEffect(()=>{K&&t&&v()},[]),U.useEffect(()=>{y(t)},[t]);const E=C(i=>{if(p){const d=p(i);return a(d.valid?null:d.error||"Validation failed"),d}if(s==="json"){const d=he(i);return a(d.valid?null:d.error||null),d}return a(null),{valid:!0}},[s,p]),R=C(i=>{y(i);const d=F?E(i):{valid:!0};r&&r(i,d.valid)},[r,E,F]),v=C(()=>{T(!0);try{let i;if(s==="json")i=fe(n);else if(s==="yaml")i=pe(n);else{a("Format not supported for this language");return}i.error?a(i.error):(y(i.formatted),r&&r(i.formatted,!0),a(null))}finally{setTimeout(()=>T(!1),500)}},[n,s,r]),g=C(async()=>{try{await navigator.clipboard.writeText(n),w(!0),setTimeout(()=>w(!1),2e3)}catch(i){console.error("Failed to copy:",i)}},[n]),z=C(()=>{const i=s==="json"?"{}":"";y(i),a(null),r&&r(i,!0)},[s,r]),b=C(()=>{E(n)},[E,n]),k=Z(()=>!c&&!h&&!m&&!l?null:o(ce,{children:[c&&(s==="json"||s==="yaml")&&o(W,{children:[e($,{asChild:!0,children:o(I,{variant:"ghost",size:"sm",onClick:v,disabled:J,className:"h-7 px-2",children:[e(le,{className:"h-3.5 w-3.5"}),e("span",{className:"ml-1.5 text-xs",children:"\u683C\u5F0F\u5316"})]})}),e(P,{children:e("p",{children:"\u683C\u5F0F\u5316\u4EE3\u7801"})})]}),l&&o(W,{children:[e($,{asChild:!0,children:o(I,{variant:"ghost",size:"sm",onClick:b,className:"h-7 px-2",children:[e(G,{className:"h-3.5 w-3.5"}),e("span",{className:"ml-1.5 text-xs",children:"\u9A8C\u8BC1"})]})}),e(P,{children:e("p",{children:"\u9A8C\u8BC1\u4EE3\u7801\u683C\u5F0F"})})]}),h&&o(W,{children:[e($,{asChild:!0,children:o(I,{variant:"ghost",size:"sm",onClick:g,className:"h-7 px-2",children:[S?e(ae,{className:"h-3.5 w-3.5 text-success"}):e(de,{className:"h-3.5 w-3.5"}),e("span",{className:"ml-1.5 text-xs",children:S?"\u5DF2\u590D\u5236":"\u590D\u5236"})]})}),e(P,{children:e("p",{children:"\u590D\u5236\u5230\u526A\u8D34\u677F"})})]}),m&&o(W,{children:[e($,{asChild:!0,children:o(I,{variant:"ghost",size:"sm",onClick:z,className:"h-7 px-2 text-destructive hover:text-destructive",children:[e(me,{className:"h-3.5 w-3.5"}),e("span",{className:"ml-1.5 text-xs",children:"\u6E05\u7A7A"})]})}),e(P,{children:e("p",{children:"\u6E05\u7A7A\u5185\u5BB9"})})]})]}),[S,z,g,v,b,J,s,m,h,c,l]);U.useEffect(()=>{if(u)return u(k),()=>u(null)},[u,k]);const M=Z(()=>N&&!u&&(c||h||m||l),[N,c,h,m,l,u]),j=typeof x=="string"&&(x==="100%"||x==="auto");return o("div",{className:q("flex flex-col gap-2",j&&"h-full overflow-hidden",Q),children:[M&&e(ie,{children:e("div",{className:q("flex shrink-0 items-center justify-end gap-1 rounded-md border bg-muted/30 p-1",Y),children:k})}),j?e("div",{className:"min-h-0 flex-1",children:e(L,{value:n,onChange:R,language:s,height:"100%",className:"h-full [&>.ace_editor]:!h-full",...A})}):e(L,{value:n,onChange:R,language:s,height:x,...A}),O&&H&&o(re,{variant:"destructive",className:q("mt-2 shrink-0",_),children:[e(G,{className:"h-4 w-4"}),e(te,{children:O})]})]})}f(V,"ConfigEditor"),V.displayName="ConfigEditor";var B=X(({placeholder:t="Write markdown...",...r},p)=>e(L,{ref:p,language:"markdown",placeholder:t,...r}));B.displayName="MarkdownEditor";export{L as CodeEditor,V as ConfigEditor,B as MarkdownEditor};
@@ -0,0 +1 @@
1
+ .hljs{display:block;overflow-x:auto;padding:.5em;color:var(--code-fg);background:var(--code-bg)}.hljs-comment,.hljs-quote{color:var(--code-comment);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:var(--code-keyword);font-weight:700}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable,.hljs-tag .hljs-attr{color:var(--code-number)}.hljs-string,.hljs-doctag{color:var(--code-string)}.hljs-title,.hljs-section,.hljs-selector-id{color:var(--code-title);font-weight:700}.hljs-subst{font-weight:400}.hljs-type,.hljs-class .hljs-title{color:var(--code-type);font-weight:700}.hljs-tag,.hljs-name,.hljs-attribute{color:var(--code-tag);font-weight:400}.hljs-regexp,.hljs-link{color:var(--code-regexp)}.hljs-symbol,.hljs-bullet{color:var(--code-symbol)}.hljs-built_in,.hljs-builtin-name{color:var(--code-builtin)}.hljs-meta{color:var(--code-meta);font-weight:700}.hljs-deletion{background:var(--code-deletion-bg);color:var(--code-deletion-fg, currentColor)}.hljs-addition{background:var(--code-addition-bg);color:var(--code-addition-fg, currentColor)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.markdown-content{line-height:1.6}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin-top:1em;margin-bottom:.5em}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child,.markdown-content h4:first-child,.markdown-content h5:first-child,.markdown-content h6:first-child{margin-top:0}.markdown-content p:last-child{margin-bottom:0}.markdown-content ul:last-child,.markdown-content ol:last-child{margin-bottom:0}.markdown-content blockquote p{margin-bottom:.5em}.markdown-content blockquote p:last-child{margin-bottom:0}.markdown-content table{font-size:14px}.markdown-content th{background-color:var(--markdown-th);font-weight:600}.markdown-content pre{font-size:13px;line-height:1.4}.markdown-content code{font-family:var(--font-code)}.markdown-content a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}.markdown-content a:hover{text-decoration-thickness:2px}.markdown-content ul ul,.markdown-content ol ol,.markdown-content ul ol,.markdown-content ol ul{margin-top:.5em;margin-bottom:.5em}