@hienlh/ppm 0.9.39 → 0.9.41
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.
- package/CHANGELOG.md +3 -50
- package/dist/web/assets/browser-tab--V6I70pH.js +1 -0
- package/dist/web/assets/chat-tab-CrkhvVjF.js +10 -0
- package/dist/web/assets/code-editor-BfMyExLp.js +2 -0
- package/dist/web/assets/{database-viewer-TjRo2b8_.js → database-viewer-CeRUrZKj.js} +1 -1
- package/dist/web/assets/{diff-viewer-BMhCz0xk.js → diff-viewer-D2p3WTMS.js} +1 -1
- package/dist/web/assets/{extension-webview-DiVdlE2r.js → extension-webview-DQWAHMlR.js} +1 -1
- package/dist/web/assets/git-graph-BWRMlCdK.js +1 -0
- package/dist/web/assets/index-C7esr4gM.css +2 -0
- package/dist/web/assets/index-DU6UVgQY.js +30 -0
- package/dist/web/assets/keybindings-store-BE2T8jM9.js +1 -0
- package/dist/web/assets/{markdown-renderer-IyEzLrC6.js → markdown-renderer-C7lKs47M.js} +4 -4
- package/dist/web/assets/{postgres-viewer-CSynGGkJ.js → postgres-viewer-Cr9jpBNd.js} +1 -1
- package/dist/web/assets/{settings-tab-BdI4HhRa.js → settings-tab-DKy-YDg2.js} +1 -1
- package/dist/web/assets/{sqlite-viewer-C5mviyU5.js → sqlite-viewer-9AmeF-Zs.js} +1 -1
- package/dist/web/assets/square-oPKIkJiw.js +1 -0
- package/dist/web/assets/{terminal-tab-CDyC1grg.js → terminal-tab-DFhB4Rxh.js} +1 -1
- package/dist/web/assets/{use-monaco-theme-DcVicB_i.js → use-monaco-theme-B7XLw-OX.js} +1 -1
- package/dist/web/index.html +2 -3
- package/dist/web/sw.js +1 -1
- package/docs/codebase-summary.md +3 -33
- package/docs/project-changelog.md +0 -47
- package/docs/project-roadmap.md +7 -14
- package/docs/system-architecture.md +2 -65
- package/package.json +1 -1
- package/src/server/index.ts +0 -7
- package/src/server/routes/settings.ts +1 -72
- package/src/services/config.service.ts +1 -1
- package/src/services/db.service.ts +1 -279
- package/src/services/git.service.ts +2 -2
- package/src/types/config.ts +0 -26
- package/src/web/components/browser/browser-tab.tsx +128 -97
- package/src/web/components/chat/chat-history-bar.tsx +3 -8
- package/src/web/components/layout/command-palette.tsx +1 -1
- package/src/web/components/settings/settings-tab.tsx +1 -4
- package/src/web/hooks/use-url-sync.ts +1 -1
- package/dist/web/assets/browser-tab-DnIsHiCc.js +0 -1
- package/dist/web/assets/chat-tab-il6D4jql.js +0 -10
- package/dist/web/assets/code-editor-BUc1jBqm.js +0 -2
- package/dist/web/assets/git-graph-4eGJ8B1A.js +0 -1
- package/dist/web/assets/index-BmcV1di6.js +0 -30
- package/dist/web/assets/index-CcFDEPCo.css +0 -2
- package/dist/web/assets/keybindings-store--5T5hsAj.js +0 -1
- package/dist/web/assets/tab-store-BXMIUvsE.js +0 -1
- package/docs/streaming-input-guide.md +0 -267
- package/snapshot-state.md +0 -1526
- package/src/services/ppmbot/ppmbot-formatter.ts +0 -88
- package/src/services/ppmbot/ppmbot-memory.ts +0 -333
- package/src/services/ppmbot/ppmbot-service.ts +0 -545
- package/src/services/ppmbot/ppmbot-session.ts +0 -199
- package/src/services/ppmbot/ppmbot-streamer.ts +0 -288
- package/src/services/ppmbot/ppmbot-telegram.ts +0 -279
- package/src/types/ppmbot.ts +0 -103
- package/src/web/components/settings/ppmbot-settings-section.tsx +0 -270
- package/test-session-ops.mjs +0 -444
- package/test-tokens.mjs +0 -212
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./react-nm2Ru1Pt.js";import"./api-client-BKIT_Qeg.js";import{W as e}from"./index-DU6UVgQY.js";export{e as useKeybindingsStore};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/c4Diagram-IC4MRINW--pF1r5lr.js","assets/dist-Cep75xXf.js","assets/chunk-CFjPhJqf.js","assets/src-Dw4QhedI.js","assets/chunk-GEFDOKGD-tDjHsAUs.js","assets/math-y9zN1W-N.js","assets/chunk-7R4GIKGN-Dvbyu4Zw.js","assets/preload-helper-Bf_JiD2A.js","assets/isArrayLikeObject-CGBoxvCD.js","assets/chunk-JSJVCQXG-BBmymCjA.js","assets/flowDiagram-PKNHOUZH-CRxlE9Sr.js","assets/chunk-PU5JKC2W-C7Gry6md.js","assets/channel-C2fMafck.js","assets/chunk-55IACEB6-D5cABeB9.js","assets/chunk-FMBD7UC4-D23YVTOU.js","assets/chunk-GLR3WWYH-DBdWQ3zy.js","assets/chunk-KYZI473N-Djw13C-3.js","assets/chunk-PQ6SQG4A-DX0xW7kO.js","assets/chunk-YBOYWFTD-av5aeHLq.js","assets/rough.esm-nHaDi0Kw.js","assets/chunk-O4XLMI2P-BsUWb9d0.js","assets/line-B75-Rx70.js","assets/path-DIKpVbHL.js","assets/array-DqLCdDFv.js","assets/chunk-MX3YWQON-C2UEioMs.js","assets/chunk-KX2RTZJC-DP36BDiU.js","assets/chunk-XPW4576I-BPEX8KhL.js","assets/erDiagram-INFDFZHY-DLeYhAAT.js","assets/gitGraphDiagram-K3NZZRJ6-BeHSX7kk.js","assets/chunk-XZSTWKYB-Cb0iqycX.js","assets/isEmpty-B9L-Ge-H.js","assets/_baseUniq-Yy35llnn.js","assets/_basePickBy-3Xe18azI.js","assets/clone-B2hUek6n.js","assets/chunk-7E7YKBS2-CkFGv6Zs.js","assets/chunk-C72U2L5F-CtqKiH4q.js","assets/chunk-EGIJ26TM-Cpr87sBR.js","assets/chunk-L3YUKLVL-HG_eMj_C.js","assets/chunk-OZEHJAEY-rG0P22U9.js","assets/chunk-R5LLSJPH-CMY0PkRK.js","assets/chunk-XIRO2GV7-DRJEb7Zb.js","assets/mermaid-parser.core-8u2leTXI.js","assets/chunk-4BX2VUAB-C3aZvW7B.js","assets/chunk-QZHKN3VN-DFKFM_C1.js","assets/ganttDiagram-A5KZAMGK-BdjmoMLS.js","assets/linear-Bcjv9FQt.js","assets/defaultLocale-CrJzLgRD.js","assets/init-C0r9Gk5G.js","assets/infoDiagram-LFFYTUFH-ZZmpgc6t.js","assets/chunk-HHEYEP7N-BBw_z0fW.js","assets/pieDiagram-SKSYHLDU-At5Kz0KK.js","assets/ordinal-LFEjVtwQ.js","assets/arc-B9n1Gvb5.js","assets/quadrantDiagram-337W2JSQ-CdjGIDfw.js","assets/xychartDiagram-JWTSCODW-DylHYNtJ.js","assets/requirementDiagram-Z7DCOOCP-B9F_Cx_p.js","assets/sequenceDiagram-2WXFIKYE-DM-tMAhx.js","assets/classDiagram-VBA2DB6C-Dp4Kk3Yb.js","assets/chunk-WL4C6EOR-CXuQvlyu.js","assets/classDiagram-v2-RAHNMMFH-D8IvcV_B.js","assets/stateDiagram-RAJIS63D-C4EMl6jf.js","assets/dagre-BFcnKyBF.js","assets/graphlib-Duh_bWLa.js","assets/chunk-NQ4KR5QH-DXUTQ-BL.js","assets/stateDiagram-v2-FVOUBMTO-B-UjZch3.js","assets/journeyDiagram-4ABVD52K-CgDI-UG4.js","assets/timeline-definition-YZTLITO2-A4PN_Efm.js","assets/mindmap-definition-YRQLILUH-BaOBwb-W.js","assets/kanban-definition-K7BYSVSG-h4g10UHL.js","assets/sankeyDiagram-WA2Y5GQK-RolPi8bU.js","assets/diagram-P4PSJMXO-hzmp0GHK.js","assets/diagram-IFDJBPK2-sqTog_XV.js","assets/blockDiagram-WCTKOSBZ-h3cDF2vI.js","assets/architectureDiagram-2XIMDMQ5-DqAZP_F6.js","assets/cytoscape.esm-CWPXKqbJ.js","assets/ishikawaDiagram-PHBUUO56-Cu0Rt1Ok.js","assets/vennDiagram-LZ73GAT5-ywK7LMaH.js","assets/diagram-E7M64L7V-DxPjK7_c.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./react-nm2Ru1Pt.js";import{t as n}from"./createLucideIcon-PuMiQgHl.js";import{t as r}from"./
|
|
2
|
+
import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./react-nm2Ru1Pt.js";import{t as n}from"./createLucideIcon-PuMiQgHl.js";import{t as r}from"./preload-helper-Bf_JiD2A.js";import{t as i}from"./jsx-runtime-kMwlnEGE.js";import{t as a}from"./utils-DMiycH3O.js";import{i as o,r as s,t as c}from"./api-client-BKIT_Qeg.js";import{B as l,G as u,L as d,n as f,r as p}from"./index-DU6UVgQY.js";import{t as m}from"./isEmpty-B9L-Ge-H.js";import{a as h,d as g,h as _,i as v,m as y,r as b}from"./chunk-GEFDOKGD-tDjHsAUs.js";import{_ as x,g as S,h as C,p as w}from"./src-Dw4QhedI.js";import{F as T,G as ee,H as te,J as ne,M as E,N as D,S as re,T as ie,X as ae,Y as oe,Z as se,c as ce,f as le,g as ue,h as de,l as fe,n as pe,p as me,r as he,t as ge,w as _e,x as ve,y as O,z as ye}from"./chunk-7R4GIKGN-Dvbyu4Zw.js";import{t as be}from"./chunk-HHEYEP7N-BBw_z0fW.js";import{i as xe,o as Se}from"./chunk-PU5JKC2W-C7Gry6md.js";import{n as Ce}from"./chunk-GLR3WWYH-DBdWQ3zy.js";import{n as we,t as Te}from"./chunk-XPW4576I-BPEX8KhL.js";var Ee=n(`code`,[[`path`,{d:`m16 18 6-6-6-6`,key:`eg8j8`}],[`path`,{d:`m8 6-6 6 6 6`,key:`ppft3o`}]]);function De(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var k=De();function Oe(e){k=e}var A={exec:()=>null};function j(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(M.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var ke=(()=>{try{return!0}catch{return!1}})(),M={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,`i`),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},Ae=/^(?:[ \t]*(?:\n|$))+/,je=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Me=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,N=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Ne=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Pe=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,Fe=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Ie=j(Fe).replace(/bull/g,Pe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),Le=j(Fe).replace(/bull/g,Pe).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Re=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,ze=/^[^\n]+/,Be=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,Ve=j(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,Be).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),He=j(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Pe).getRegex(),Ue=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,We=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,Ge=j(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,We).replace(`tag`,Ue).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Ke=j(Re).replace(`hr`,N).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Ue).getRegex(),qe={blockquote:j(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,Ke).getRegex(),code:je,def:Ve,fences:Me,heading:Ne,hr:N,html:Ge,lheading:Ie,list:He,newline:Ae,paragraph:Ke,table:A,text:ze},Je=j(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,N).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Ue).getRegex(),Ye={...qe,lheading:Le,table:Je,paragraph:j(Re).replace(`hr`,N).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,Je).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,Ue).getRegex()},Xe={...qe,html:j(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,We).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:A,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:j(Re).replace(`hr`,N).replace(`heading`,` *#{1,6} *[^
|
|
3
3
|
]`).replace(`lheading`,Ie).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},Ze=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,Qe=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,$e=/^( {2,}|\\)\n(?!\s*$)/,et=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,tt=/[\p{P}\p{S}]/u,nt=/[\s\p{P}\p{S}]/u,rt=/[^\s\p{P}\p{S}]/u,it=j(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,nt).getRegex(),at=/(?!~)[\p{P}\p{S}]/u,ot=/(?!~)[\s\p{P}\p{S}]/u,st=/(?:[^\s\p{P}\p{S}]|~)/u,ct=/(?![*_])[\p{P}\p{S}]/u,lt=/(?![*_])[\s\p{P}\p{S}]/u,ut=/(?:[^\s\p{P}\p{S}]|[*_])/u,dt=j(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,ke?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),ft=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,pt=j(ft,`u`).replace(/punct/g,tt).getRegex(),mt=j(ft,`u`).replace(/punct/g,at).getRegex(),ht=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,gt=j(ht,`gu`).replace(/notPunctSpace/g,rt).replace(/punctSpace/g,nt).replace(/punct/g,tt).getRegex(),_t=j(ht,`gu`).replace(/notPunctSpace/g,st).replace(/punctSpace/g,ot).replace(/punct/g,at).getRegex(),vt=j(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,rt).replace(/punctSpace/g,nt).replace(/punct/g,tt).getRegex(),yt=j(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,ct).getRegex(),bt=j(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,ut).replace(/punctSpace/g,lt).replace(/punct/g,ct).getRegex(),xt=j(/\\(punct)/,`gu`).replace(/punct/g,tt).getRegex(),St=j(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Ct=j(We).replace(`(?:-->|$)`,`-->`).getRegex(),wt=j(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,Ct).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Tt=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,Et=j(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,Tt).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Dt=j(/^!?\[(label)\]\[(ref)\]/).replace(`label`,Tt).replace(`ref`,Be).getRegex(),Ot=j(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,Be).getRegex(),kt=j(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,Dt).replace(`nolink`,Ot).getRegex(),At=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,jt={_backpedal:A,anyPunctuation:xt,autolink:St,blockSkip:dt,br:$e,code:Qe,del:A,delLDelim:A,delRDelim:A,emStrongLDelim:pt,emStrongRDelimAst:gt,emStrongRDelimUnd:vt,escape:Ze,link:Et,nolink:Ot,punctuation:it,reflink:Dt,reflinkSearch:kt,tag:wt,text:et,url:A},Mt={...jt,link:j(/^!?\[(label)\]\((.*?)\)/).replace(`label`,Tt).getRegex(),reflink:j(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,Tt).getRegex()},Nt={...jt,emStrongRDelimAst:_t,emStrongLDelim:mt,delLDelim:yt,delRDelim:bt,url:j(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,At).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:j(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,At).getRegex()},Pt={...Nt,br:j($e).replace(`{2,}`,`*`).getRegex(),text:j(Nt.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},Ft={normal:qe,gfm:Ye,pedantic:Xe},P={normal:jt,gfm:Nt,breaks:Pt,pedantic:Mt},It={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`},Lt=e=>It[e];function F(e,t){if(t){if(M.escapeTest.test(e))return e.replace(M.escapeReplace,Lt)}else if(M.escapeTestNoEncode.test(e))return e.replace(M.escapeReplaceNoEncode,Lt);return e}function Rt(e){try{e=encodeURI(e).replace(M.percentDecode,`%`)}catch{return null}return e}function zt(e,t){let n=e.replace(M.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(M.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``);for(;r<n.length;r++)n[r]=n[r].trim().replace(M.slashPipe,`|`);return n}function I(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function Bt(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function Vt(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function Ht(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`);r.state.inLink=!0;let c={type:e[0].charAt(0)===`!`?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,c}function Ut(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
|
|
4
4
|
`).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
|
|
5
5
|
`)}var Wt=class{options;rules;lexer;constructor(e){this.options=e||k}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,``);return{type:`code`,raw:t[0],codeBlockStyle:`indented`,text:this.options.pedantic?e:I(e,`
|
|
@@ -57,8 +57,8 @@ ${this.parser.parse(e)}</blockquote>
|
|
|
57
57
|
${e}</tr>
|
|
58
58
|
`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
|
|
59
59
|
`}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${F(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=Rt(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+F(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=Rt(e);if(i===null)return F(n);e=i;let a=`<img src="${e}" alt="${F(n)}"`;return t&&(a+=` title="${F(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:F(e.text)}},Kt=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},R=class e{options;renderer;textRenderer;constructor(e){this.options=e||k,this.options.renderer=this.options.renderer||new Gt,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Kt}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},z=class{options;block;constructor(e){this.options=e||k}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(){return this.block?L.lex:L.lexInline}provideParser(){return this.block?R.parse:R.parseInline}},B=new class{defaults=De();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=R;Renderer=Gt;TextRenderer=Kt;Lexer=L;Tokenizer=Wt;Hooks=z;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new Gt(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new Wt(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new z;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];z.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&z.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:t[r]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return L.lex(e,t??this.defaults)}parser(e,t){return R.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer():e?L.lex:L.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser():e?R.parse:R.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer():e?L.lex:L.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser():e?R.parse:R.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
|
|
60
|
-
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+F(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function V(e,t){return B.parse(e,t)}V.options=V.setOptions=function(e){return B.setOptions(e),V.defaults=B.defaults,Oe(V.defaults),V},V.getDefaults=De,V.defaults=k,V.use=function(...e){return B.use(...e),V.defaults=B.defaults,Oe(V.defaults),V},V.walkTokens=function(e,t){return B.walkTokens(e,t)},V.parseInline=B.parseInline,V.Parser=R,V.parser=R.parse,V.Renderer=Gt,V.TextRenderer=Kt,V.Lexer=L,V.lexer=L.lex,V.Tokenizer=Wt,V.Hooks=z,V.parse=V,V.options,V.setOptions,V.use,V.walkTokens,V.parseInline,R.parse,L.lex;var qt=`comm`,Jt=`rule`,Yt=`decl`,Xt=`@import`,Zt=`@namespace`,Qt=`@keyframes`,$t=`@layer`,en=Math.abs,tn=String.fromCharCode;function nn(e){return e.trim()}function rn(e,t,n){return e.replace(t,n)}function an(e,t,n){return e.indexOf(t,n)}function H(e,t){return e.charCodeAt(t)|0}function U(e,t,n){return e.slice(t,n)}function W(e){return e.length}function on(e){return e.length}function sn(e,t){return t.push(e),e}var cn=1,G=1,ln=0,K=0,q=0,J=``;function un(e,t,n,r,i,a,o,s){return{value:e,root:t,parent:n,type:r,props:i,children:a,line:cn,column:G,length:o,return:``,siblings:s}}function dn(){return q}function fn(){return q=K>0?H(J,--K):0,G--,q===10&&(G=1,cn--),q}function Y(){return q=K<ln?H(J,K++):0,G++,q===10&&(G=1,cn++),q}function X(){return H(J,K)}function pn(){return K}function mn(e,t){return U(J,e,t)}function Z(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function hn(e){return cn=G=1,ln=W(J=e),K=0,[]}function gn(e){return J=``,e}function _n(e){return nn(mn(K-1,bn(e===91?e+2:e===40?e+1:e)))}function vn(e){for(;(q=X())&&q<33;)Y();return Z(e)>2||Z(q)>3?``:` `}function yn(e,t){for(;--t&&Y()&&!(q<48||q>102||q>57&&q<65||q>70&&q<97););return mn(e,pn()+(t<6&&X()==32&&Y()==32))}function bn(e){for(;Y();)switch(q){case e:return K;case 34:case 39:e!==34&&e!==39&&bn(q);break;case 40:e===41&&bn(e);break;case 92:Y();break}return K}function xn(e,t){for(;Y()&&e+q!==57&&!(e+q===84&&X()===47););return`/*`+mn(t,K-1)+`*`+tn(e===47?e:Y())}function Sn(e){for(;!Z(X());)Y();return mn(e,K)}function Cn(e){return gn(wn(``,null,null,null,[``],e=hn(e),0,[0],e))}function wn(e,t,n,r,i,a,o,s,c){for(var l=0,u=0,d=o,f=0,p=0,m=0,h=1,g=1,_=1,v=0,y=``,b=i,x=a,S=r,C=y;g;)switch(m=v,v=Y()){case 40:if(m!=108&&H(C,d-1)==58){an(C+=rn(_n(v),`&`,`&\f`),`&\f`,en(l?s[l-1]:0))!=-1&&(_=-1);break}case 34:case 39:case 91:C+=_n(v);break;case 9:case 10:case 13:case 32:C+=vn(m);break;case 92:C+=yn(pn()-1,7);continue;case 47:switch(X()){case 42:case 47:sn(En(xn(Y(),pn()),t,n,c),c),(Z(m||1)==5||Z(X()||1)==5)&&W(C)&&U(C,-1,void 0)!==` `&&(C+=` `);break;default:C+=`/`}break;case 123*h:s[l++]=W(C)*_;case 125*h:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:_==-1&&(C=rn(C,/\f/g,``)),p>0&&(W(C)-d||h===0&&m===47)&&sn(p>32?Dn(C+`;`,r,n,d-1,c):Dn(rn(C,` `,``)+`;`,r,n,d-2,c),c);break;case 59:C+=`;`;default:if(sn(S=Tn(C,t,n,l,u,i,s,y,b=[],x=[],d,a),a),v===123)if(u===0)wn(C,t,S,S,b,a,d,s,x);else{switch(f){case 99:if(H(C,3)===110)break;case 108:if(H(C,2)===97)break;default:u=0;case 100:case 109:case 115:}u?wn(e,S,S,r&&sn(Tn(e,S,S,0,0,i,s,y,i,b=[],d,x),x),i,x,d,s,r?b:x):wn(C,S,S,S,[``],x,0,s,x)}}l=u=p=0,h=_=1,y=C=``,d=o;break;case 58:d=1+W(C),p=m;default:if(h<1){if(v==123)--h;else if(v==125&&h++==0&&fn()==125)continue}switch(C+=tn(v),v*h){case 38:_=u>0?1:(C+=`\f`,-1);break;case 44:s[l++]=(W(C)-1)*_,_=1;break;case 64:X()===45&&(C+=_n(Y())),f=X(),u=d=W(y=C+=Sn(pn())),v++;break;case 45:m===45&&W(C)==2&&(h=0)}}return a}function Tn(e,t,n,r,i,a,o,s,c,l,u,d){for(var f=i-1,p=i===0?a:[``],m=on(p),h=0,g=0,_=0;h<r;++h)for(var v=0,y=U(e,f+1,f=en(g=o[h])),b=e;v<m;++v)(b=nn(g>0?p[v]+` `+y:rn(y,/&\f/g,p[v])))&&(c[_++]=b);return un(e,t,n,i===0?Jt:s,c,l,u,d)}function En(e,t,n,r){return un(e,t,n,qt,tn(dn()),U(e,2,-2),0,r)}function Dn(e,t,n,r,i){return un(e,t,n,Yt,U(e,0,r),U(e,r+1,-1),r,i)}function On(e,t){for(var n=``,r=0;r<e.length;r++)n+=t(e[r],r,e,t)||``;return n}function kn(e,t,n,r){switch(e.type){case $t:if(e.children.length)break;case Xt:case Zt:case Yt:return e.return=e.return||e.value;case qt:return``;case Qt:return e.return=e.value+`{`+On(e.children,r)+`}`;case Jt:if(!W(e.value=e.props.join(`,`)))return``}return W(n=On(e.children,r))?e.return=e.value+`{`+n+`}`:``}var An=`c4`,jn={id:An,detector:C(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./c4Diagram-IC4MRINW--pF1r5lr.js`);return{diagram:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));return{id:An,diagram:e}},`loader`)},Mn=`flowchart`,Nn={id:Mn,detector:C((e,t)=>t?.flowchart?.defaultRenderer===`dagre-wrapper`||t?.flowchart?.defaultRenderer===`elk`?!1:/^\s*graph/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./flowDiagram-PKNHOUZH-CRxlE9Sr.js`);return{diagram:e}},__vite__mapDeps([10,1,2,11,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23,24,9,25,26]));return{id:Mn,diagram:e}},`loader`)},Pn=`flowchart-v2`,Fn={id:Pn,detector:C((e,t)=>t?.flowchart?.defaultRenderer===`dagre-d3`?!1:(t?.flowchart?.defaultRenderer===`elk`&&(t.layout=`elk`),/^\s*graph/.test(e)&&t?.flowchart?.defaultRenderer===`dagre-wrapper`?!0:/^\s*flowchart/.test(e)),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./flowDiagram-PKNHOUZH-CRxlE9Sr.js`);return{diagram:e}},__vite__mapDeps([10,1,2,11,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23,24,9,25,26]));return{id:Pn,diagram:e}},`loader`)},In=`er`,Ln={id:In,detector:C(e=>/^\s*erDiagram/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./erDiagram-INFDFZHY-DLeYhAAT.js`);return{diagram:e}},__vite__mapDeps([27,1,2,11,3,4,5,6,7,8,12,13,15,16,17,18,19,20,21,22,23,24,25]));return{id:In,diagram:e}},`loader`)},Rn=`gitGraph`,zn={id:Rn,detector:C(e=>/^\s*gitGraph/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./gitGraphDiagram-K3NZZRJ6-BeHSX7kk.js`);return{diagram:e}},__vite__mapDeps([28,1,2,29,30,8,31,32,33,34,35,36,37,38,39,40,41,7,3,4,5,6,42,43]));return{id:Rn,diagram:e}},`loader`)},Bn=`gantt`,Vn={id:Bn,detector:C(e=>/^\s*gantt/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./ganttDiagram-A5KZAMGK-BdjmoMLS.js`);return{diagram:e}},__vite__mapDeps([44,2,1,45,3,46,47,4,5,6,7,8]));return{id:Bn,diagram:e}},`loader`)},Hn=`info`,Un={id:Hn,detector:C(e=>/^\s*info/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./infoDiagram-LFFYTUFH-ZZmpgc6t.js`);return{diagram:e}},__vite__mapDeps([48,29,2,30,8,31,32,33,34,35,36,37,38,39,40,41,7,3,6,49]));return{id:Hn,diagram:e}},`loader`)},Wn=`pie`,Gn={id:Wn,detector:C(e=>/^\s*pie/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./pieDiagram-SKSYHLDU-At5Kz0KK.js`);return{diagram:e}},__vite__mapDeps([50,1,2,29,30,8,31,32,33,34,35,36,37,38,39,40,41,7,3,22,51,47,52,5,23,4,6,42,49]));return{id:Wn,diagram:e}},`loader`)},Kn=`quadrantChart`,qn={id:Kn,detector:C(e=>/^\s*quadrantChart/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./quadrantDiagram-337W2JSQ-CdjGIDfw.js`);return{diagram:e}},__vite__mapDeps([53,45,3,2,46,47,6,7]));return{id:Kn,diagram:e}},`loader`)},Jn=`xychart`,Yn={id:Jn,detector:C(e=>/^\s*xychart(-beta)?/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./xychartDiagram-JWTSCODW-DylHYNtJ.js`);return{diagram:e}},__vite__mapDeps([54,1,2,11,3,4,5,6,7,8,45,46,47,51,21,22,23,49]));return{id:Jn,diagram:e}},`loader`)},Xn=`requirement`,Zn={id:Xn,detector:C(e=>/^\s*requirement(Diagram)?/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./requirementDiagram-Z7DCOOCP-B9F_Cx_p.js`);return{diagram:e}},__vite__mapDeps([55,1,2,11,3,4,5,6,7,8,13,15,16,17,18,19,20,21,22,23,24,25]));return{id:Xn,diagram:e}},`loader`)},Qn=`sequence`,$n={id:Qn,detector:C(e=>/^\s*sequenceDiagram/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./sequenceDiagram-2WXFIKYE-DM-tMAhx.js`);return{diagram:e}},__vite__mapDeps([56,1,2,3,4,5,6,7,8,9,43,26]));return{id:Qn,diagram:e}},`loader`)},er=`class`,tr={id:er,detector:C((e,t)=>t?.class?.defaultRenderer===`dagre-wrapper`?!1:/^\s*classDiagram/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./classDiagram-VBA2DB6C-Dp4Kk3Yb.js`);return{diagram:e}},__vite__mapDeps([57,1,2,11,3,4,5,6,7,8,13,14,15,16,17,18,19,20,21,22,23,24,9,25,58]));return{id:er,diagram:e}},`loader`)},nr=`classDiagram`,rr={id:nr,detector:C((e,t)=>/^\s*classDiagram/.test(e)&&t?.class?.defaultRenderer===`dagre-wrapper`?!0:/^\s*classDiagram-v2/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./classDiagram-v2-RAHNMMFH-D8IvcV_B.js`);return{diagram:e}},__vite__mapDeps([59,1,2,11,3,4,5,6,7,8,13,14,15,16,17,18,19,20,21,22,23,24,9,25,58]));return{id:nr,diagram:e}},`loader`)},ir=`state`,ar={id:ir,detector:C((e,t)=>t?.state?.defaultRenderer===`dagre-wrapper`?!1:/^\s*stateDiagram/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./stateDiagram-RAJIS63D-C4EMl6jf.js`);return{diagram:e}},__vite__mapDeps([60,1,2,11,3,4,5,6,7,8,21,22,23,61,62,30,31,32,13,15,16,17,18,19,20,24,25,63]));return{id:ir,diagram:e}},`loader`)},or=`stateDiagram`,sr={id:or,detector:C((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&t?.state?.defaultRenderer===`dagre-wrapper`),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./stateDiagram-v2-FVOUBMTO-B-UjZch3.js`);return{diagram:e}},__vite__mapDeps([64,1,2,11,3,4,5,6,7,8,13,15,16,17,18,19,20,21,22,23,24,25,63]));return{id:or,diagram:e}},`loader`)},cr=`journey`,lr={id:cr,detector:C(e=>/^\s*journey/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await i(async()=>{let{diagram:e}=await import(`./journeyDiagram-4ABVD52K-CgDI-UG4.js`);return{diagram:e}},__vite__mapDeps([65,1,2,3,52,22,5,6,7,14,9]));return{id:cr,diagram:e}},`loader`)},ur={draw:C((e,t,n)=>{S.debug(`rendering svg for syntax error
|
|
61
|
-
`);let r=be(t),i=r.append(`g`);r.attr(`viewBox`,`0 0 2412 512`),ce(r,100,512,!0),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z`),i.append(`text`).attr(`class`,`error-text`).attr(`x`,1440).attr(`y`,250).attr(`font-size`,`150px`).style(`text-anchor`,`middle`).text(`Syntax error in text`),i.append(`text`).attr(`class`,`error-text`).attr(`x`,1250).attr(`y`,400).attr(`font-size`,`100px`).style(`text-anchor`,`middle`).text(`mermaid version ${n}`)},`draw`)},dr=ur,fr={db:{},renderer:ur,parser:{parse:C(()=>{},`parse`)}},pr=`flowchart-elk`,mr={id:pr,detector:C((e,t={})=>/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&t?.flowchart?.defaultRenderer===`elk`?(t.layout=`elk`,!0):!1,`detector`),loader:C(async()=>{let{diagram:e}=await
|
|
60
|
+
Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+F(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function V(e,t){return B.parse(e,t)}V.options=V.setOptions=function(e){return B.setOptions(e),V.defaults=B.defaults,Oe(V.defaults),V},V.getDefaults=De,V.defaults=k,V.use=function(...e){return B.use(...e),V.defaults=B.defaults,Oe(V.defaults),V},V.walkTokens=function(e,t){return B.walkTokens(e,t)},V.parseInline=B.parseInline,V.Parser=R,V.parser=R.parse,V.Renderer=Gt,V.TextRenderer=Kt,V.Lexer=L,V.lexer=L.lex,V.Tokenizer=Wt,V.Hooks=z,V.parse=V,V.options,V.setOptions,V.use,V.walkTokens,V.parseInline,R.parse,L.lex;var qt=`comm`,Jt=`rule`,Yt=`decl`,Xt=`@import`,Zt=`@namespace`,Qt=`@keyframes`,$t=`@layer`,en=Math.abs,tn=String.fromCharCode;function nn(e){return e.trim()}function rn(e,t,n){return e.replace(t,n)}function an(e,t,n){return e.indexOf(t,n)}function H(e,t){return e.charCodeAt(t)|0}function U(e,t,n){return e.slice(t,n)}function W(e){return e.length}function on(e){return e.length}function sn(e,t){return t.push(e),e}var cn=1,G=1,ln=0,K=0,q=0,J=``;function un(e,t,n,r,i,a,o,s){return{value:e,root:t,parent:n,type:r,props:i,children:a,line:cn,column:G,length:o,return:``,siblings:s}}function dn(){return q}function fn(){return q=K>0?H(J,--K):0,G--,q===10&&(G=1,cn--),q}function Y(){return q=K<ln?H(J,K++):0,G++,q===10&&(G=1,cn++),q}function X(){return H(J,K)}function pn(){return K}function mn(e,t){return U(J,e,t)}function Z(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function hn(e){return cn=G=1,ln=W(J=e),K=0,[]}function gn(e){return J=``,e}function _n(e){return nn(mn(K-1,bn(e===91?e+2:e===40?e+1:e)))}function vn(e){for(;(q=X())&&q<33;)Y();return Z(e)>2||Z(q)>3?``:` `}function yn(e,t){for(;--t&&Y()&&!(q<48||q>102||q>57&&q<65||q>70&&q<97););return mn(e,pn()+(t<6&&X()==32&&Y()==32))}function bn(e){for(;Y();)switch(q){case e:return K;case 34:case 39:e!==34&&e!==39&&bn(q);break;case 40:e===41&&bn(e);break;case 92:Y();break}return K}function xn(e,t){for(;Y()&&e+q!==57&&!(e+q===84&&X()===47););return`/*`+mn(t,K-1)+`*`+tn(e===47?e:Y())}function Sn(e){for(;!Z(X());)Y();return mn(e,K)}function Cn(e){return gn(wn(``,null,null,null,[``],e=hn(e),0,[0],e))}function wn(e,t,n,r,i,a,o,s,c){for(var l=0,u=0,d=o,f=0,p=0,m=0,h=1,g=1,_=1,v=0,y=``,b=i,x=a,S=r,C=y;g;)switch(m=v,v=Y()){case 40:if(m!=108&&H(C,d-1)==58){an(C+=rn(_n(v),`&`,`&\f`),`&\f`,en(l?s[l-1]:0))!=-1&&(_=-1);break}case 34:case 39:case 91:C+=_n(v);break;case 9:case 10:case 13:case 32:C+=vn(m);break;case 92:C+=yn(pn()-1,7);continue;case 47:switch(X()){case 42:case 47:sn(En(xn(Y(),pn()),t,n,c),c),(Z(m||1)==5||Z(X()||1)==5)&&W(C)&&U(C,-1,void 0)!==` `&&(C+=` `);break;default:C+=`/`}break;case 123*h:s[l++]=W(C)*_;case 125*h:case 59:case 0:switch(v){case 0:case 125:g=0;case 59+u:_==-1&&(C=rn(C,/\f/g,``)),p>0&&(W(C)-d||h===0&&m===47)&&sn(p>32?Dn(C+`;`,r,n,d-1,c):Dn(rn(C,` `,``)+`;`,r,n,d-2,c),c);break;case 59:C+=`;`;default:if(sn(S=Tn(C,t,n,l,u,i,s,y,b=[],x=[],d,a),a),v===123)if(u===0)wn(C,t,S,S,b,a,d,s,x);else{switch(f){case 99:if(H(C,3)===110)break;case 108:if(H(C,2)===97)break;default:u=0;case 100:case 109:case 115:}u?wn(e,S,S,r&&sn(Tn(e,S,S,0,0,i,s,y,i,b=[],d,x),x),i,x,d,s,r?b:x):wn(C,S,S,S,[``],x,0,s,x)}}l=u=p=0,h=_=1,y=C=``,d=o;break;case 58:d=1+W(C),p=m;default:if(h<1){if(v==123)--h;else if(v==125&&h++==0&&fn()==125)continue}switch(C+=tn(v),v*h){case 38:_=u>0?1:(C+=`\f`,-1);break;case 44:s[l++]=(W(C)-1)*_,_=1;break;case 64:X()===45&&(C+=_n(Y())),f=X(),u=d=W(y=C+=Sn(pn())),v++;break;case 45:m===45&&W(C)==2&&(h=0)}}return a}function Tn(e,t,n,r,i,a,o,s,c,l,u,d){for(var f=i-1,p=i===0?a:[``],m=on(p),h=0,g=0,_=0;h<r;++h)for(var v=0,y=U(e,f+1,f=en(g=o[h])),b=e;v<m;++v)(b=nn(g>0?p[v]+` `+y:rn(y,/&\f/g,p[v])))&&(c[_++]=b);return un(e,t,n,i===0?Jt:s,c,l,u,d)}function En(e,t,n,r){return un(e,t,n,qt,tn(dn()),U(e,2,-2),0,r)}function Dn(e,t,n,r,i){return un(e,t,n,Yt,U(e,0,r),U(e,r+1,-1),r,i)}function On(e,t){for(var n=``,r=0;r<e.length;r++)n+=t(e[r],r,e,t)||``;return n}function kn(e,t,n,r){switch(e.type){case $t:if(e.children.length)break;case Xt:case Zt:case Yt:return e.return=e.return||e.value;case qt:return``;case Qt:return e.return=e.value+`{`+On(e.children,r)+`}`;case Jt:if(!W(e.value=e.props.join(`,`)))return``}return W(n=On(e.children,r))?e.return=e.value+`{`+n+`}`:``}var An=`c4`,jn={id:An,detector:C(e=>/^\s*C4Context|C4Container|C4Component|C4Dynamic|C4Deployment/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./c4Diagram-IC4MRINW--pF1r5lr.js`);return{diagram:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]));return{id:An,diagram:e}},`loader`)},Mn=`flowchart`,Nn={id:Mn,detector:C((e,t)=>t?.flowchart?.defaultRenderer===`dagre-wrapper`||t?.flowchart?.defaultRenderer===`elk`?!1:/^\s*graph/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./flowDiagram-PKNHOUZH-CRxlE9Sr.js`);return{diagram:e}},__vite__mapDeps([10,1,2,11,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23,24,9,25,26]));return{id:Mn,diagram:e}},`loader`)},Pn=`flowchart-v2`,Fn={id:Pn,detector:C((e,t)=>t?.flowchart?.defaultRenderer===`dagre-d3`?!1:(t?.flowchart?.defaultRenderer===`elk`&&(t.layout=`elk`),/^\s*graph/.test(e)&&t?.flowchart?.defaultRenderer===`dagre-wrapper`?!0:/^\s*flowchart/.test(e)),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./flowDiagram-PKNHOUZH-CRxlE9Sr.js`);return{diagram:e}},__vite__mapDeps([10,1,2,11,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23,24,9,25,26]));return{id:Pn,diagram:e}},`loader`)},In=`er`,Ln={id:In,detector:C(e=>/^\s*erDiagram/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./erDiagram-INFDFZHY-DLeYhAAT.js`);return{diagram:e}},__vite__mapDeps([27,1,2,11,3,4,5,6,7,8,12,13,15,16,17,18,19,20,21,22,23,24,25]));return{id:In,diagram:e}},`loader`)},Rn=`gitGraph`,zn={id:Rn,detector:C(e=>/^\s*gitGraph/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./gitGraphDiagram-K3NZZRJ6-BeHSX7kk.js`);return{diagram:e}},__vite__mapDeps([28,1,2,29,30,8,31,32,33,34,35,36,37,38,39,40,41,7,3,4,5,6,42,43]));return{id:Rn,diagram:e}},`loader`)},Bn=`gantt`,Vn={id:Bn,detector:C(e=>/^\s*gantt/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./ganttDiagram-A5KZAMGK-BdjmoMLS.js`);return{diagram:e}},__vite__mapDeps([44,2,1,45,3,46,47,4,5,6,7,8]));return{id:Bn,diagram:e}},`loader`)},Hn=`info`,Un={id:Hn,detector:C(e=>/^\s*info/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./infoDiagram-LFFYTUFH-ZZmpgc6t.js`);return{diagram:e}},__vite__mapDeps([48,29,2,30,8,31,32,33,34,35,36,37,38,39,40,41,7,3,6,49]));return{id:Hn,diagram:e}},`loader`)},Wn=`pie`,Gn={id:Wn,detector:C(e=>/^\s*pie/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./pieDiagram-SKSYHLDU-At5Kz0KK.js`);return{diagram:e}},__vite__mapDeps([50,1,2,29,30,8,31,32,33,34,35,36,37,38,39,40,41,7,3,22,51,47,52,5,23,4,6,42,49]));return{id:Wn,diagram:e}},`loader`)},Kn=`quadrantChart`,qn={id:Kn,detector:C(e=>/^\s*quadrantChart/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./quadrantDiagram-337W2JSQ-CdjGIDfw.js`);return{diagram:e}},__vite__mapDeps([53,45,3,2,46,47,6,7]));return{id:Kn,diagram:e}},`loader`)},Jn=`xychart`,Yn={id:Jn,detector:C(e=>/^\s*xychart(-beta)?/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./xychartDiagram-JWTSCODW-DylHYNtJ.js`);return{diagram:e}},__vite__mapDeps([54,1,2,11,3,4,5,6,7,8,45,46,47,51,21,22,23,49]));return{id:Jn,diagram:e}},`loader`)},Xn=`requirement`,Zn={id:Xn,detector:C(e=>/^\s*requirement(Diagram)?/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./requirementDiagram-Z7DCOOCP-B9F_Cx_p.js`);return{diagram:e}},__vite__mapDeps([55,1,2,11,3,4,5,6,7,8,13,15,16,17,18,19,20,21,22,23,24,25]));return{id:Xn,diagram:e}},`loader`)},Qn=`sequence`,$n={id:Qn,detector:C(e=>/^\s*sequenceDiagram/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./sequenceDiagram-2WXFIKYE-DM-tMAhx.js`);return{diagram:e}},__vite__mapDeps([56,1,2,3,4,5,6,7,8,9,43,26]));return{id:Qn,diagram:e}},`loader`)},er=`class`,tr={id:er,detector:C((e,t)=>t?.class?.defaultRenderer===`dagre-wrapper`?!1:/^\s*classDiagram/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./classDiagram-VBA2DB6C-Dp4Kk3Yb.js`);return{diagram:e}},__vite__mapDeps([57,1,2,11,3,4,5,6,7,8,13,14,15,16,17,18,19,20,21,22,23,24,9,25,58]));return{id:er,diagram:e}},`loader`)},nr=`classDiagram`,rr={id:nr,detector:C((e,t)=>/^\s*classDiagram/.test(e)&&t?.class?.defaultRenderer===`dagre-wrapper`?!0:/^\s*classDiagram-v2/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./classDiagram-v2-RAHNMMFH-D8IvcV_B.js`);return{diagram:e}},__vite__mapDeps([59,1,2,11,3,4,5,6,7,8,13,14,15,16,17,18,19,20,21,22,23,24,9,25,58]));return{id:nr,diagram:e}},`loader`)},ir=`state`,ar={id:ir,detector:C((e,t)=>t?.state?.defaultRenderer===`dagre-wrapper`?!1:/^\s*stateDiagram/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./stateDiagram-RAJIS63D-C4EMl6jf.js`);return{diagram:e}},__vite__mapDeps([60,1,2,11,3,4,5,6,7,8,21,22,23,61,62,30,31,32,13,15,16,17,18,19,20,24,25,63]));return{id:ir,diagram:e}},`loader`)},or=`stateDiagram`,sr={id:or,detector:C((e,t)=>!!(/^\s*stateDiagram-v2/.test(e)||/^\s*stateDiagram/.test(e)&&t?.state?.defaultRenderer===`dagre-wrapper`),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./stateDiagram-v2-FVOUBMTO-B-UjZch3.js`);return{diagram:e}},__vite__mapDeps([64,1,2,11,3,4,5,6,7,8,13,15,16,17,18,19,20,21,22,23,24,25,63]));return{id:or,diagram:e}},`loader`)},cr=`journey`,lr={id:cr,detector:C(e=>/^\s*journey/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./journeyDiagram-4ABVD52K-CgDI-UG4.js`);return{diagram:e}},__vite__mapDeps([65,1,2,3,52,22,5,6,7,14,9]));return{id:cr,diagram:e}},`loader`)},ur={draw:C((e,t,n)=>{S.debug(`rendering svg for syntax error
|
|
61
|
+
`);let r=be(t),i=r.append(`g`);r.attr(`viewBox`,`0 0 2412 512`),ce(r,100,512,!0),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z`),i.append(`path`).attr(`class`,`error-icon`).attr(`d`,`m436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z`),i.append(`text`).attr(`class`,`error-text`).attr(`x`,1440).attr(`y`,250).attr(`font-size`,`150px`).style(`text-anchor`,`middle`).text(`Syntax error in text`),i.append(`text`).attr(`class`,`error-text`).attr(`x`,1250).attr(`y`,400).attr(`font-size`,`100px`).style(`text-anchor`,`middle`).text(`mermaid version ${n}`)},`draw`)},dr=ur,fr={db:{},renderer:ur,parser:{parse:C(()=>{},`parse`)}},pr=`flowchart-elk`,mr={id:pr,detector:C((e,t={})=>/^\s*flowchart-elk/.test(e)||/^\s*(flowchart|graph)/.test(e)&&t?.flowchart?.defaultRenderer===`elk`?(t.layout=`elk`,!0):!1,`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./flowDiagram-PKNHOUZH-CRxlE9Sr.js`);return{diagram:e}},__vite__mapDeps([10,1,2,11,3,4,5,6,7,8,12,13,14,15,16,17,18,19,20,21,22,23,24,9,25,26]));return{id:pr,diagram:e}},`loader`)},hr=`timeline`,gr={id:hr,detector:C(e=>/^\s*timeline/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./timeline-definition-YZTLITO2-A4PN_Efm.js`);return{diagram:e}},__vite__mapDeps([66,3,2,52,22,5,6,7]));return{id:hr,diagram:e}},`loader`)},_r=`mindmap`,vr={id:_r,detector:C(e=>/^\s*mindmap/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./mindmap-definition-YRQLILUH-BaOBwb-W.js`);return{diagram:e}},__vite__mapDeps([67,1,2,11,3,4,5,6,7,8,13,15,16,17,18,19,20,21,22,23,24,25]));return{id:_r,diagram:e}},`loader`)},yr=`kanban`,br={id:yr,detector:C(e=>/^\s*kanban/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./kanban-definition-K7BYSVSG-h4g10UHL.js`);return{diagram:e}},__vite__mapDeps([68,1,2,11,3,4,5,6,7,8,14,49,16,17,18,19,26]));return{id:yr,diagram:e}},`loader`)},xr=`sankey`,Sr={id:xr,detector:C(e=>/^\s*sankey(-beta)?/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./sankeyDiagram-WA2Y5GQK-RolPi8bU.js`);return{diagram:e}},__vite__mapDeps([69,3,2,51,47,6,7]));return{id:xr,diagram:e}},`loader`)},Cr=`packet`,wr={id:Cr,detector:C(e=>/^\s*packet(-beta)?/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./diagram-P4PSJMXO-hzmp0GHK.js`);return{diagram:e}},__vite__mapDeps([70,1,2,29,30,8,31,32,33,34,35,36,37,38,39,40,41,7,3,4,5,6,42,49]));return{id:Cr,diagram:e}},`loader`)},Tr=`radar`,Er={id:Tr,detector:C(e=>/^\s*radar-beta/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./diagram-IFDJBPK2-sqTog_XV.js`);return{diagram:e}},__vite__mapDeps([71,1,2,29,30,8,31,32,33,34,35,36,37,38,39,40,41,7,3,4,5,6,42,49]));return{id:Tr,diagram:e}},`loader`)},Dr=`block`,Or={id:Dr,detector:C(e=>/^\s*block(-beta)?/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./blockDiagram-WCTKOSBZ-h3cDF2vI.js`);return{diagram:e}},__vite__mapDeps([72,1,2,11,3,4,5,6,7,8,21,22,23,62,30,31,12,33,14,24,18]));return{id:Dr,diagram:e}},`loader`)},kr=`architecture`,Ar={id:kr,detector:C(e=>/^\s*architecture/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./architectureDiagram-2XIMDMQ5-DqAZP_F6.js`);return{diagram:e}},__vite__mapDeps([73,2,1,29,30,8,31,32,33,11,3,4,5,6,7,34,35,36,37,38,39,40,41,74,42,49]));return{id:kr,diagram:e}},`loader`)},jr=`ishikawa`,Mr={id:jr,detector:C(e=>/^\s*ishikawa(-beta)?\b/i.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./ishikawaDiagram-PHBUUO56-Cu0Rt1Ok.js`);return{diagram:e}},__vite__mapDeps([75,1,2,3,4,5,6,7,8,49,19]));return{id:jr,diagram:e}},`loader`)},Nr=`venn`,Pr={id:Nr,detector:C(e=>/^\s*venn-beta/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./vennDiagram-LZ73GAT5-ywK7LMaH.js`);return{diagram:e}},__vite__mapDeps([76,1,2,3,4,5,6,7,8,49,19]));return{id:Nr,diagram:e}},`loader`)},Fr=`treemap`,Ir={id:Fr,detector:C(e=>/^\s*treemap/.test(e),`detector`),loader:C(async()=>{let{diagram:e}=await r(async()=>{let{diagram:e}=await import(`./diagram-E7M64L7V-DxPjK7_c.js`);return{diagram:e}},__vite__mapDeps([77,1,2,29,30,8,31,32,33,34,35,36,37,38,39,40,41,7,3,46,51,47,4,5,6,42,49,25,17]));return{id:Fr,diagram:e}},`loader`)},Lr=!1,Rr=C(()=>{Lr||(Lr=!0,E(`error`,fr,e=>e.toLowerCase().trim()===`error`),E(`---`,{db:{clear:C(()=>{},`clear`)},styles:{},renderer:{draw:C(()=>{},`draw`)},parser:{parse:C(()=>{throw Error("Diagrams beginning with --- are not valid. If you were trying to use a YAML front-matter, please ensure that you've correctly opened and closed the YAML front-matter with un-indented `---` blocks")},`parse`)},init:C(()=>null,`init`)},e=>e.toLowerCase().trimStart().startsWith(`---`)),D(mr,vr,Ar),D(jn,br,rr,tr,Ln,Vn,Un,Gn,Zn,$n,Fn,Nn,gr,zn,sr,ar,lr,qn,Sr,wr,Yn,Or,Er,Mr,Ir,Pr))},`addDiagrams`),zr=C(async()=>{S.debug(`Loading registered diagrams`);let e=(await Promise.allSettled(Object.entries(me).map(async([e,{detector:t,loader:n}])=>{if(n)try{ve(e)}catch{try{let{diagram:e,id:r}=await n();E(r,e,t)}catch(t){throw S.error(`Failed to load external diagram with key ${e}. Removing from detectors.`),delete me[e],t}}}))).filter(e=>e.status===`rejected`);if(e.length>0){S.error(`Failed to load ${e.length} external diagrams`);for(let t of e)S.error(t);throw Error(`Failed to load ${e.length} external diagrams`)}},`loadRegisteredDiagrams`),Br=`graphics-document document`;function Vr(e,t){e.attr(`role`,Br),t!==``&&e.attr(`aria-roledescription`,t)}C(Vr,`setA11yDiagramInfo`);function Hr(e,t,n,r){if(e.insert!==void 0){if(n){let t=`chart-desc-${r}`;e.attr(`aria-describedby`,t),e.insert(`desc`,`:first-child`).attr(`id`,t).text(n)}if(t){let n=`chart-title-${r}`;e.attr(`aria-labelledby`,n),e.insert(`title`,`:first-child`).attr(`id`,n).text(t)}}}C(Hr,`addSVGa11yTitleDescription`);var Ur=class e{constructor(e,t,n,r,i){this.type=e,this.text=t,this.db=n,this.parser=r,this.renderer=i}static{C(this,`Diagram`)}static async fromText(t,n={}){let r=O(),i=le(t,r);t=h(t)+`
|
|
62
62
|
`;try{ve(i)}catch{let e=re(i);if(!e)throw new ge(`Diagram ${i} not found.`);let{id:t,diagram:n}=await e();E(t,n)}let{db:a,parser:o,renderer:s,init:c}=ve(i);return o.parser&&(o.parser.yy=a),a.clear?.(),c?.(r),n.title&&a.setDiagramTitle?.(n.title),await o.parse(t),new e(i,t,a,o,s)}async render(e,t){await this.renderer.draw(this.text,e,t,this)}getParser(){return this.parser}getType(){return this.type}},Wr=[],Gr=C(()=>{Wr.forEach(e=>{e()}),Wr=[]},`attachFunctions`),Kr=C(e=>e.replace(/^\s*%%(?!{)[^\n]+\n?/gm,``).trimStart(),`cleanupComments`);function qr(e){let t=e.match(ue);if(!t)return{text:e,metadata:{}};let n=we(t[1],{schema:Te})??{};n=typeof n==`object`&&!Array.isArray(n)?n:{};let r={};return n.displayMode&&(r.displayMode=n.displayMode.toString()),n.title&&(r.title=n.title.toString()),n.config&&(r.config=n.config),{text:e.slice(t[0].length),metadata:r}}C(qr,`extractFrontMatter`);var Jr=C(e=>e.replace(/\r\n?/g,`
|
|
63
63
|
`).replace(/<(\w+)([^>]*)>/g,(e,t,n)=>`<`+t+n.replace(/="([^"]*)"/g,`='$1'`)+`>`),`cleanupText`),Yr=C(e=>{let{text:t,metadata:n}=qr(e),{displayMode:r,title:i,config:a={}}=n;return r&&(a.gantt||={},a.gantt.displayMode=r),{title:i,config:a,text:t}},`processFrontmatter`),Xr=C(e=>{let t=_.detectInit(e)??{},n=_.detectDirective(e,`wrap`);return Array.isArray(n)?t.wrap=n.some(({type:e})=>e===`wrap`):n?.type===`wrap`&&(t.wrap=!0),{text:y(e),directive:t}},`processDirectives`);function Zr(e){let t=Yr(Jr(e)),n=Xr(t.text),r=b(t.config,n.directive);return e=Kr(n.text),{code:e,title:t.title,config:r}}C(Zr,`preprocessDiagram`);function Qr(e){let t=new TextEncoder().encode(e),n=Array.from(t,e=>String.fromCodePoint(e)).join(``);return btoa(n)}C(Qr,`toBase64`);var $r=5e4,ei=`graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa`,ti=`sandbox`,ni=`loose`,ri=`http://www.w3.org/2000/svg`,ii=`http://www.w3.org/1999/xlink`,ai=`http://www.w3.org/1999/xhtml`,oi=`100%`,si=`100%`,ci=`border:0;margin:0;`,li=`margin:0`,ui=`allow-top-navigation-by-user-activation allow-popups`,di=`The "iframe" tag is not supported by your browser.`,fi=[`foreignobject`],pi=[`dominant-baseline`];function mi(e){let t=Zr(e);return T(),pe(t.config??{}),t}C(mi,`processAndSetConfigs`);async function hi(e,t){Rr();try{let{code:t,config:n}=mi(e);return{diagramType:(await Ei(t)).type,config:n}}catch(e){if(t?.suppressErrors)return!1;throw e}}C(hi,`parse`);var gi=C((e,t,n=[])=>`
|
|
64
64
|
.${e} ${t} { ${n.join(` !important; `)} !important; }`,`cssImportantStyles`),_i=C((e,t=new Map)=>{let n=``;if(e.themeCSS!==void 0&&(n+=`
|
|
@@ -66,4 +66,4 @@ ${e.themeCSS}`),e.fontFamily!==void 0&&(n+=`
|
|
|
66
66
|
:root { --mermaid-font-family: ${e.fontFamily}}`),e.altFontFamily!==void 0&&(n+=`
|
|
67
67
|
:root { --mermaid-alt-font-family: ${e.altFontFamily}}`),t instanceof Map){let r=_e(e)?[`> *`,`span`]:[`rect`,`polygon`,`ellipse`,`circle`,`path`];t.forEach(e=>{m(e.styles)||r.forEach(t=>{n+=gi(e.id,t,e.styles)}),m(e.textStyles)||(n+=gi(e.id,`tspan`,(e?.textStyles||[]).map(e=>e.replace(`color`,`fill`))))})}return n},`createCssStyles`),vi=C((e,t,n,r)=>On(Cn(`${r}{${ne(t,_i(e,n),e.themeVariables)}}`),kn),`createUserStyles`),yi=C((e=``,t,n)=>{let r=e;return!n&&!t&&(r=r.replace(/marker-end="url\([\d+./:=?A-Za-z-]*?#/g,`marker-end="url(#`)),r=v(r),r=r.replace(/<br>/g,`<br/>`),r},`cleanUpSvgCode`),bi=C((e=``,t)=>`<iframe style="width:${oi};height:${t?.viewBox?.baseVal?.height?t.viewBox.baseVal.height+`px`:si};${ci}" src="data:text/html;charset=UTF-8;base64,${Qr(`<body style="${li}">${e}</body>`)}" sandbox="${ui}">
|
|
68
68
|
${di}
|
|
69
|
-
</iframe>`,`putIntoIFrame`),xi=C((e,t,n,r,i)=>{let a=e.append(`div`);a.attr(`id`,n),r&&a.attr(`style`,r);let o=a.append(`svg`).attr(`id`,t).attr(`width`,`100%`).attr(`xmlns`,ri);return i&&o.attr(`xmlns:xlink`,i),o.append(`g`),e},`appendDivSvgG`);function Si(e,t){return e.append(`iframe`).attr(`id`,t).attr(`style`,`width: 100%; height: 100%;`).attr(`sandbox`,``)}C(Si,`sandboxedIframe`);var Ci=C((e,t,n,r)=>{e.getElementById(t)?.remove(),e.getElementById(n)?.remove(),e.getElementById(r)?.remove()},`removeExistingElements`),wi=C(async function(e,t,n){Rr();let r=mi(t);t=r.code;let i=O();S.debug(i),t.length>(i?.maxTextSize??$r)&&(t=ei);let a=`#`+e,o=`i`+e,s=`#`+o,c=`d`+e,l=`#`+c,u=C(()=>{let e=w(f?s:l).node();e&&`remove`in e&&e.remove()},`removeTempElements`),d=w(`body`),f=i.securityLevel===ti,p=i.securityLevel===ni,m=i.fontFamily;n===void 0?(Ci(document,e,c,o),f?(d=w(Si(w(`body`),o).nodes()[0].contentDocument.body),d.node().style.margin=0):d=w(`body`),xi(d,e,c)):(n&&(n.innerHTML=``),f?(d=w(Si(w(n),o).nodes()[0].contentDocument.body),d.node().style.margin=0):d=w(n),xi(d,e,c,`font-family: ${m}`,ii));let h,g;try{h=await Ur.fromText(t,{title:r.title})}catch(e){if(i.suppressErrorRendering)throw u(),e;h=await Ur.fromText(`error`),g=e}let _=d.select(l).node(),v=h.type,y=_.firstChild,b=y.firstChild,x=h.renderer.getClasses?.(t,h),T=vi(i,v,x,a),ee=document.createElement(`style`);ee.innerHTML=T,y.insertBefore(ee,b);try{await h.renderer.draw(t,e,`11.13.0`,h)}catch(n){throw i.suppressErrorRendering?u():dr.draw(t,e,`11.13.0`),n}let te=d.select(`${l} svg`),ne=h.db.getAccTitle?.(),E=h.db.getAccDescription?.();Di(v,te,ne,E),d.select(`[id="${e}"]`).selectAll(`foreignobject > *`).attr(`xmlns`,ai);let D=d.select(l).node().innerHTML;if(S.debug(`config.arrowMarkerAbsolute`,i.arrowMarkerAbsolute),D=yi(D,f,de(i.arrowMarkerAbsolute)),f){let e=d.select(l+` svg`).node();D=bi(D,e)}else p||(D=se.sanitize(D,{ADD_TAGS:fi,ADD_ATTR:pi,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(Gr(),g)throw g;return u(),{diagramType:v,svg:D,bindFunctions:h.db.bindFunctions}},`render`);function Ti(e={}){let t=he({},e);t?.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables||={},t.themeVariables.fontFamily=t.fontFamily),ye(t),t?.theme&&t.theme in oe?t.themeVariables=oe[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=oe.default.getThemeVariables(t.themeVariables)),x((typeof t==`object`?ee(t):ie()).logLevel),Rr()}C(Ti,`initialize`);var Ei=C((e,t={})=>{let{code:n}=Zr(e);return Ur.fromText(n,t)},`getDiagramFromText`);function Di(e,t,n,r){Vr(t,e),Hr(t,n,r,t.attr(`id`))}C(Di,`addA11yInfo`);var Q=Object.freeze({render:wi,parse:hi,getDiagramFromText:Ei,initialize:Ti,getConfig:O,setConfig:te,getSiteConfig:ie,updateSiteConfig:ae,reset:C(()=>{T()},`reset`),globalReset:C(()=>{T(fe)},`globalReset`),defaultConfig:fe});x(O().logLevel),T(O());var Oi=C((e,t,n)=>{S.warn(e),g(e)?(n&&n(e.str,e.hash),t.push({...e,message:e.str,error:e})):(n&&n(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},`handleError`),ki=C(async function(e={querySelector:`.mermaid`}){try{await Ai(e)}catch(t){if(g(t)&&S.error(t.str),$.parseError&&$.parseError(t),!e.suppressErrors)throw S.error(`Use the suppressErrors option to suppress these errors`),t}},`run`),Ai=C(async function({postRenderCallback:e,querySelector:t,nodes:n}={querySelector:`.mermaid`}){let r=Q.getConfig();S.debug(`${e?``:`No `}Callback function found`);let i;if(n)i=n;else if(t)i=document.querySelectorAll(t);else throw Error(`Nodes and querySelector are both undefined`);S.debug(`Found ${i.length} diagrams`),r?.startOnLoad!==void 0&&(S.debug(`Start On Load: `+r?.startOnLoad),Q.updateSiteConfig({startOnLoad:r?.startOnLoad}));let a=new _.InitIDGenerator(r.deterministicIds,r.deterministicIDSeed),o,s=[];for(let t of Array.from(i)){if(S.info(`Rendering diagram: `+t.id),t.getAttribute(`data-processed`))continue;t.setAttribute(`data-processed`,`true`);let n=`mermaid-${a.next()}`;o=t.innerHTML,o=Se(_.entityDecode(o)).trim().replace(/<br\s*\/?>/gi,`<br/>`);let r=_.detectInit(o);r&&S.debug(`Detected early reinit: `,r);try{let{svg:r,bindFunctions:i}=await Bi(n,o,t);t.innerHTML=r,e&&await e(n),i&&i(t)}catch(e){Oi(e,s,$.parseError)}}if(s.length>0)throw s[0]},`runThrowsErrors`),ji=C(function(e){Q.initialize(e)},`initialize`),Mi=C(async function(e,t,n){S.warn(`mermaid.init is deprecated. Please use run instead.`),e&&ji(e);let r={postRenderCallback:n,querySelector:`.mermaid`};typeof t==`string`?r.querySelector=t:t&&(t instanceof HTMLElement?r.nodes=[t]:r.nodes=t),await ki(r)},`init`),Ni=C(async(e,{lazyLoad:t=!0}={})=>{Rr(),D(...e),t===!1&&await zr()},`registerExternalDiagrams`),Pi=C(function(){if($.startOnLoad){let{startOnLoad:e}=Q.getConfig();e&&$.run().catch(e=>S.error(`Mermaid failed to initialize`,e))}},`contentLoaded`);typeof document<`u`&&window.addEventListener(`load`,Pi,!1);var Fi=C(function(e){$.parseError=e},`setParseErrorHandler`),Ii=[],Li=!1,Ri=C(async()=>{if(!Li){for(Li=!0;Ii.length>0;){let e=Ii.shift();if(e)try{await e()}catch(e){S.error(`Error executing queue`,e)}}Li=!1}},`executeQueue`),zi=C(async(e,t)=>new Promise((n,r)=>{let i=C(()=>new Promise((i,a)=>{Q.parse(e,t).then(e=>{i(e),n(e)},e=>{S.error(`Error parsing`,e),$.parseError?.(e),a(e),r(e)})}),`performCall`);Ii.push(i),Ri().catch(r)}),`parse`),Bi=C((e,t,n)=>new Promise((r,i)=>{let a=C(()=>new Promise((a,o)=>{Q.render(e,t,n).then(e=>{a(e),r(e)},e=>{S.error(`Error parsing`,e),$.parseError?.(e),o(e),i(e)})}),`performCall`);Ii.push(a),Ri().catch(i)}),`render`),$={startOnLoad:!0,mermaidAPI:Q,parse:zi,render:Bi,init:Mi,run:ki,registerExternalDiagrams:Ni,registerLayoutLoaders:Ce,initialize:ji,parseError:void 0,contentLoaded:Pi,setParseErrorHandler:Fi,detectType:le,registerIconPacks:xe,getRegisteredDiagramsMetadata:C(()=>Object.keys(me).map(e=>({id:e})),`getRegisteredDiagramsMetadata`)},Vi=$,Hi=e(t(),1),Ui=a(),Wi=/^(sequenceDiagram|flowchart|graph\s|classDiagram|stateDiagram|erDiagram|journey|gantt|pie|quadrantChart|requirementDiagram|gitGraph|mindmap|timeline|sankey|xychart|block-beta|packet-beta|architecture-beta|kanban)\b/,Gi=!1;function Ki(){Gi||=(Vi.initialize({startOnLoad:!1,theme:`default`,securityLevel:`loose`,fontFamily:`ui-sans-serif, system-ui, sans-serif`}),!0)}var qi=/^(\/|[A-Za-z]:[/\\])/;V.use({gfm:!0,breaks:!0});var Ji=RegExp(`\\.(ts|tsx|js|jsx|mjs|cjs|py|json|md|mdx|yaml|yml|toml|css|scss|less|html|htm|sh|bash|zsh|go|rs|sql|rb|java|kt|swift|c|cpp|h|hpp|cs|vue|svelte|txt|env|cfg|conf|ini|xml|csv|log|dockerfile|makefile|gradle)$`,`i`),Yi=/[*?{}\[\]]/;function Xi(e){let t=e;return t=t.replace(/<table/g,`<div class="table-scroll-wrapper overflow-x-auto"><table`),t=t.replace(/<\/table>/g,`</table></div>`),t=t.replace(/<a\s+href="(https?:\/\/[^"]+)"/g,`<a href="$1" target="_blank" rel="noopener noreferrer"`),t=t.replace(/<a\s+href="([^"]+)"/g,(e,t)=>/^https?:\/\//.test(t)||Yi.test(t)||!Ji.test(t)?e:`<a href="${t}" data-file-path="${t}"`),t=t.split(/(<pre[\s\S]*?<\/pre>)/g).map(e=>e.startsWith(`<pre`)?e:e.replace(/<code>([^<]+)<\/code>/g,(e,t)=>{let n=t.trim();return!n||n.includes(` `)||Yi.test(n)||!Ji.test(n)?e:`<code data-file-clickable="${n}" style="cursor:pointer;text-decoration:underline;text-decoration-style:dotted">${t}</code>`})).join(``),t}function Zi({content:e,projectName:t,className:n=``,codeActions:i=!1}){let a=(0,Hi.useMemo)(()=>{try{return Xi(V.parse(e))}catch{return e}},[e]),m=(0,Hi.useRef)(null),h=r(e=>e.openTab),g=d(e=>e.tree),_=p(e=>e.open),v=f(e=>e.open);return(0,Hi.useEffect)(()=>{let e=m.current;if(!e)return;(async()=>{Ki();let t=e.querySelectorAll(`pre`);for(let e of t){let t=e.querySelector(`code`);if(!t)continue;let n=t.className??``,r=(t.textContent??``).trim();if(n.includes(`language-mermaid`)||Wi.test(r))try{let t=`mermaid-${Math.random().toString(36).slice(2,9)}`,{svg:n}=await Vi.render(t,r),i=document.createElement(`div`);i.className=`mermaid-diagram group relative cursor-pointer rounded-lg border border-border bg-white dark:bg-zinc-50 p-3 overflow-x-auto my-2`,i.innerHTML=n;let a=document.createElement(`div`);a.className=`absolute top-2 right-2 flex items-center gap-1 px-2 py-1 rounded bg-black/60 text-white text-xs can-hover:opacity-0 can-hover:group-hover:opacity-100 transition-opacity pointer-events-none`,a.textContent=`Click to expand`,i.appendChild(a),i.addEventListener(`click`,()=>v(n)),e.replaceWith(i)}catch{}}})();let n=t=>{let n=t.target,r=n.closest(`a[data-file-path]`);if(r&&e.contains(r)){t.preventDefault(),a(r.getAttribute(`data-file-path`)??``);return}let i=n.closest(`code[data-file-clickable]`);if(i&&e.contains(i)){a(i.getAttribute(`data-file-clickable`)??``);return}};function r(e,t){let n=[];for(let i of e)i.type===`file`&&i.name===t&&n.push(i.path),i.children&&n.push(...r(i.children,t));return n}function a(e){if(!e)return;let n=/^(\/|[A-Za-z]:[/\\])/.test(e),r=/^(\.\/|\.\.\/)/.test(e),i=o(e);if(n){let n={filePath:e};t&&(n.projectName=t),l.get(`/api/fs/read?path=${encodeURIComponent(e)}`).then(()=>{h({type:`editor`,title:i,metadata:n,projectId:null,closable:!0})}).catch(()=>u(e));return}if(r&&t){let n={filePath:e,projectName:t};l.get(`${s(t)}/files/read?path=${encodeURIComponent(e)}`).then(()=>{h({type:`editor`,title:i,metadata:n,projectId:t,closable:!0})}).catch(()=>d(e));return}d(e)}function d(e){let n=o(e),i=r(g,n);if(i.length===1){let e=i[0];h({type:`editor`,title:n,metadata:{filePath:e,projectName:t},projectId:t??null,closable:!0})}else u(e)}e.addEventListener(`click`,n);let f=[];return e.querySelectorAll(`img`).forEach(e=>{let t=e.getAttribute(`src`)??``;if(!qi.test(t))return;e.style.opacity=`0.3`,e.style.minHeight=`48px`,e.style.minWidth=`48px`;let n=c();fetch(`/api/fs/raw?path=${encodeURIComponent(t)}`,{headers:n?{Authorization:`Bearer ${n}`}:{}}).then(e=>{if(!e.ok)throw Error(`Failed to load`);return e.blob()}).then(n=>{let r=URL.createObjectURL(n);f.push(r),e.src=r,e.style.opacity=``,e.style.minHeight=``,e.style.minWidth=``,e.style.maxHeight=`400px`,e.style.maxWidth=`100%`,e.style.objectFit=`contain`,e.style.borderRadius=`0.375rem`,e.style.border=`1px solid var(--color-border)`,e.style.cursor=`pointer`,e.onclick=()=>_(r,e.alt||o(t))}).catch(()=>{e.style.opacity=`0.5`,e.alt=`[Image not found: ${o(t)}]`})}),i&&e.querySelectorAll(`pre`).forEach(e=>{if(e.querySelector(`.code-actions`))return;let n=e.querySelector(`code`),r=n?.textContent??e.textContent??``,i=n?.className??``,a=/language-(bash|sh|shell|zsh)/.test(i)||!i.includes(`language-`)&&r.startsWith(`$`);e.style.position=`relative`,e.classList.add(`group`);let o=document.createElement(`div`);o.className=`code-actions absolute top-1 right-1 flex gap-1`;let s=document.createElement(`button`);if(s.className=`flex items-center justify-center size-6 rounded bg-surface-elevated/80 hover:bg-surface-elevated text-text-secondary hover:text-text-primary transition-colors border border-border/50`,s.title=`Copy`,s.innerHTML=`<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>`,s.addEventListener(`click`,()=>{navigator.clipboard.writeText(r),s.innerHTML=`<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>`,setTimeout(()=>{s.innerHTML=`<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>`},2e3)}),o.appendChild(s),a&&t){let e=document.createElement(`button`);e.className=`flex items-center justify-center size-6 rounded bg-surface-elevated/80 hover:bg-surface-elevated text-text-secondary hover:text-text-primary transition-colors border border-border/50`,e.title=`Run in terminal`,e.innerHTML=`<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 17 10 11 4 5"/><line x1="12" y1="19" x2="20" y2="19"/></svg>`,e.addEventListener(`click`,()=>{navigator.clipboard.writeText(r.replace(/^\$\s*/gm,``)),h({type:`terminal`,title:`Terminal`,metadata:{projectName:t},projectId:t,closable:!0})}),o.appendChild(e)}e.appendChild(o)}),()=>{e.removeEventListener(`click`,n),f.forEach(e=>URL.revokeObjectURL(e))}},[a,t,h,i,_,v]),(0,Ui.jsx)(`div`,{ref:m,className:`markdown-content prose-sm ${n}`,dangerouslySetInnerHTML:{__html:a}})}export{Ee as n,Zi as t};
|
|
69
|
+
</iframe>`,`putIntoIFrame`),xi=C((e,t,n,r,i)=>{let a=e.append(`div`);a.attr(`id`,n),r&&a.attr(`style`,r);let o=a.append(`svg`).attr(`id`,t).attr(`width`,`100%`).attr(`xmlns`,ri);return i&&o.attr(`xmlns:xlink`,i),o.append(`g`),e},`appendDivSvgG`);function Si(e,t){return e.append(`iframe`).attr(`id`,t).attr(`style`,`width: 100%; height: 100%;`).attr(`sandbox`,``)}C(Si,`sandboxedIframe`);var Ci=C((e,t,n,r)=>{e.getElementById(t)?.remove(),e.getElementById(n)?.remove(),e.getElementById(r)?.remove()},`removeExistingElements`),wi=C(async function(e,t,n){Rr();let r=mi(t);t=r.code;let i=O();S.debug(i),t.length>(i?.maxTextSize??$r)&&(t=ei);let a=`#`+e,o=`i`+e,s=`#`+o,c=`d`+e,l=`#`+c,u=C(()=>{let e=w(f?s:l).node();e&&`remove`in e&&e.remove()},`removeTempElements`),d=w(`body`),f=i.securityLevel===ti,p=i.securityLevel===ni,m=i.fontFamily;n===void 0?(Ci(document,e,c,o),f?(d=w(Si(w(`body`),o).nodes()[0].contentDocument.body),d.node().style.margin=0):d=w(`body`),xi(d,e,c)):(n&&(n.innerHTML=``),f?(d=w(Si(w(n),o).nodes()[0].contentDocument.body),d.node().style.margin=0):d=w(n),xi(d,e,c,`font-family: ${m}`,ii));let h,g;try{h=await Ur.fromText(t,{title:r.title})}catch(e){if(i.suppressErrorRendering)throw u(),e;h=await Ur.fromText(`error`),g=e}let _=d.select(l).node(),v=h.type,y=_.firstChild,b=y.firstChild,x=h.renderer.getClasses?.(t,h),T=vi(i,v,x,a),ee=document.createElement(`style`);ee.innerHTML=T,y.insertBefore(ee,b);try{await h.renderer.draw(t,e,`11.13.0`,h)}catch(n){throw i.suppressErrorRendering?u():dr.draw(t,e,`11.13.0`),n}let te=d.select(`${l} svg`),ne=h.db.getAccTitle?.(),E=h.db.getAccDescription?.();Di(v,te,ne,E),d.select(`[id="${e}"]`).selectAll(`foreignobject > *`).attr(`xmlns`,ai);let D=d.select(l).node().innerHTML;if(S.debug(`config.arrowMarkerAbsolute`,i.arrowMarkerAbsolute),D=yi(D,f,de(i.arrowMarkerAbsolute)),f){let e=d.select(l+` svg`).node();D=bi(D,e)}else p||(D=se.sanitize(D,{ADD_TAGS:fi,ADD_ATTR:pi,HTML_INTEGRATION_POINTS:{foreignobject:!0}}));if(Gr(),g)throw g;return u(),{diagramType:v,svg:D,bindFunctions:h.db.bindFunctions}},`render`);function Ti(e={}){let t=he({},e);t?.fontFamily&&!t.themeVariables?.fontFamily&&(t.themeVariables||={},t.themeVariables.fontFamily=t.fontFamily),ye(t),t?.theme&&t.theme in oe?t.themeVariables=oe[t.theme].getThemeVariables(t.themeVariables):t&&(t.themeVariables=oe.default.getThemeVariables(t.themeVariables)),x((typeof t==`object`?ee(t):ie()).logLevel),Rr()}C(Ti,`initialize`);var Ei=C((e,t={})=>{let{code:n}=Zr(e);return Ur.fromText(n,t)},`getDiagramFromText`);function Di(e,t,n,r){Vr(t,e),Hr(t,n,r,t.attr(`id`))}C(Di,`addA11yInfo`);var Q=Object.freeze({render:wi,parse:hi,getDiagramFromText:Ei,initialize:Ti,getConfig:O,setConfig:te,getSiteConfig:ie,updateSiteConfig:ae,reset:C(()=>{T()},`reset`),globalReset:C(()=>{T(fe)},`globalReset`),defaultConfig:fe});x(O().logLevel),T(O());var Oi=C((e,t,n)=>{S.warn(e),g(e)?(n&&n(e.str,e.hash),t.push({...e,message:e.str,error:e})):(n&&n(e),e instanceof Error&&t.push({str:e.message,message:e.message,hash:e.name,error:e}))},`handleError`),ki=C(async function(e={querySelector:`.mermaid`}){try{await Ai(e)}catch(t){if(g(t)&&S.error(t.str),$.parseError&&$.parseError(t),!e.suppressErrors)throw S.error(`Use the suppressErrors option to suppress these errors`),t}},`run`),Ai=C(async function({postRenderCallback:e,querySelector:t,nodes:n}={querySelector:`.mermaid`}){let r=Q.getConfig();S.debug(`${e?``:`No `}Callback function found`);let i;if(n)i=n;else if(t)i=document.querySelectorAll(t);else throw Error(`Nodes and querySelector are both undefined`);S.debug(`Found ${i.length} diagrams`),r?.startOnLoad!==void 0&&(S.debug(`Start On Load: `+r?.startOnLoad),Q.updateSiteConfig({startOnLoad:r?.startOnLoad}));let a=new _.InitIDGenerator(r.deterministicIds,r.deterministicIDSeed),o,s=[];for(let t of Array.from(i)){if(S.info(`Rendering diagram: `+t.id),t.getAttribute(`data-processed`))continue;t.setAttribute(`data-processed`,`true`);let n=`mermaid-${a.next()}`;o=t.innerHTML,o=Se(_.entityDecode(o)).trim().replace(/<br\s*\/?>/gi,`<br/>`);let r=_.detectInit(o);r&&S.debug(`Detected early reinit: `,r);try{let{svg:r,bindFunctions:i}=await Bi(n,o,t);t.innerHTML=r,e&&await e(n),i&&i(t)}catch(e){Oi(e,s,$.parseError)}}if(s.length>0)throw s[0]},`runThrowsErrors`),ji=C(function(e){Q.initialize(e)},`initialize`),Mi=C(async function(e,t,n){S.warn(`mermaid.init is deprecated. Please use run instead.`),e&&ji(e);let r={postRenderCallback:n,querySelector:`.mermaid`};typeof t==`string`?r.querySelector=t:t&&(t instanceof HTMLElement?r.nodes=[t]:r.nodes=t),await ki(r)},`init`),Ni=C(async(e,{lazyLoad:t=!0}={})=>{Rr(),D(...e),t===!1&&await zr()},`registerExternalDiagrams`),Pi=C(function(){if($.startOnLoad){let{startOnLoad:e}=Q.getConfig();e&&$.run().catch(e=>S.error(`Mermaid failed to initialize`,e))}},`contentLoaded`);typeof document<`u`&&window.addEventListener(`load`,Pi,!1);var Fi=C(function(e){$.parseError=e},`setParseErrorHandler`),Ii=[],Li=!1,Ri=C(async()=>{if(!Li){for(Li=!0;Ii.length>0;){let e=Ii.shift();if(e)try{await e()}catch(e){S.error(`Error executing queue`,e)}}Li=!1}},`executeQueue`),zi=C(async(e,t)=>new Promise((n,r)=>{let i=C(()=>new Promise((i,a)=>{Q.parse(e,t).then(e=>{i(e),n(e)},e=>{S.error(`Error parsing`,e),$.parseError?.(e),a(e),r(e)})}),`performCall`);Ii.push(i),Ri().catch(r)}),`parse`),Bi=C((e,t,n)=>new Promise((r,i)=>{let a=C(()=>new Promise((a,o)=>{Q.render(e,t,n).then(e=>{a(e),r(e)},e=>{S.error(`Error parsing`,e),$.parseError?.(e),o(e),i(e)})}),`performCall`);Ii.push(a),Ri().catch(i)}),`render`),$={startOnLoad:!0,mermaidAPI:Q,parse:zi,render:Bi,init:Mi,run:ki,registerExternalDiagrams:Ni,registerLayoutLoaders:Ce,initialize:ji,parseError:void 0,contentLoaded:Pi,setParseErrorHandler:Fi,detectType:le,registerIconPacks:xe,getRegisteredDiagramsMetadata:C(()=>Object.keys(me).map(e=>({id:e})),`getRegisteredDiagramsMetadata`)},Vi=$,Hi=e(t(),1),Ui=i(),Wi=/^(sequenceDiagram|flowchart|graph\s|classDiagram|stateDiagram|erDiagram|journey|gantt|pie|quadrantChart|requirementDiagram|gitGraph|mindmap|timeline|sankey|xychart|block-beta|packet-beta|architecture-beta|kanban)\b/,Gi=!1;function Ki(){Gi||=(Vi.initialize({startOnLoad:!1,theme:`default`,securityLevel:`loose`,fontFamily:`ui-sans-serif, system-ui, sans-serif`}),!0)}var qi=/^(\/|[A-Za-z]:[/\\])/;V.use({gfm:!0,breaks:!0});var Ji=RegExp(`\\.(ts|tsx|js|jsx|mjs|cjs|py|json|md|mdx|yaml|yml|toml|css|scss|less|html|htm|sh|bash|zsh|go|rs|sql|rb|java|kt|swift|c|cpp|h|hpp|cs|vue|svelte|txt|env|cfg|conf|ini|xml|csv|log|dockerfile|makefile|gradle)$`,`i`),Yi=/[*?{}\[\]]/;function Xi(e){let t=e;return t=t.replace(/<table/g,`<div class="table-scroll-wrapper overflow-x-auto"><table`),t=t.replace(/<\/table>/g,`</table></div>`),t=t.replace(/<a\s+href="(https?:\/\/[^"]+)"/g,`<a href="$1" target="_blank" rel="noopener noreferrer"`),t=t.replace(/<a\s+href="([^"]+)"/g,(e,t)=>/^https?:\/\//.test(t)||Yi.test(t)||!Ji.test(t)?e:`<a href="${t}" data-file-path="${t}"`),t=t.split(/(<pre[\s\S]*?<\/pre>)/g).map(e=>e.startsWith(`<pre`)?e:e.replace(/<code>([^<]+)<\/code>/g,(e,t)=>{let n=t.trim();return!n||n.includes(` `)||Yi.test(n)||!Ji.test(n)?e:`<code data-file-clickable="${n}" style="cursor:pointer;text-decoration:underline;text-decoration-style:dotted">${t}</code>`})).join(``),t}function Zi({content:e,projectName:t,className:n=``,codeActions:r=!1}){let i=(0,Hi.useMemo)(()=>{try{return Xi(V.parse(e))}catch{return e}},[e]),m=(0,Hi.useRef)(null),h=u(e=>e.openTab),g=d(e=>e.tree),_=p(e=>e.open),v=f(e=>e.open);return(0,Hi.useEffect)(()=>{let e=m.current;if(!e)return;(async()=>{Ki();let t=e.querySelectorAll(`pre`);for(let e of t){let t=e.querySelector(`code`);if(!t)continue;let n=t.className??``,r=(t.textContent??``).trim();if(n.includes(`language-mermaid`)||Wi.test(r))try{let t=`mermaid-${Math.random().toString(36).slice(2,9)}`,{svg:n}=await Vi.render(t,r),i=document.createElement(`div`);i.className=`mermaid-diagram group relative cursor-pointer rounded-lg border border-border bg-white dark:bg-zinc-50 p-3 overflow-x-auto my-2`,i.innerHTML=n;let a=document.createElement(`div`);a.className=`absolute top-2 right-2 flex items-center gap-1 px-2 py-1 rounded bg-black/60 text-white text-xs can-hover:opacity-0 can-hover:group-hover:opacity-100 transition-opacity pointer-events-none`,a.textContent=`Click to expand`,i.appendChild(a),i.addEventListener(`click`,()=>v(n)),e.replaceWith(i)}catch{}}})();let n=t=>{let n=t.target,r=n.closest(`a[data-file-path]`);if(r&&e.contains(r)){t.preventDefault(),u(r.getAttribute(`data-file-path`)??``);return}let i=n.closest(`code[data-file-clickable]`);if(i&&e.contains(i)){u(i.getAttribute(`data-file-clickable`)??``);return}};function i(e,t){let n=[];for(let r of e)r.type===`file`&&r.name===t&&n.push(r.path),r.children&&n.push(...i(r.children,t));return n}function u(e){if(!e)return;let n=/^(\/|[A-Za-z]:[/\\])/.test(e),r=/^(\.\/|\.\.\/)/.test(e),i=a(e);if(n){let n={filePath:e};t&&(n.projectName=t),c.get(`/api/fs/read?path=${encodeURIComponent(e)}`).then(()=>{h({type:`editor`,title:i,metadata:n,projectId:null,closable:!0})}).catch(()=>l(e));return}if(r&&t){let n={filePath:e,projectName:t};c.get(`${o(t)}/files/read?path=${encodeURIComponent(e)}`).then(()=>{h({type:`editor`,title:i,metadata:n,projectId:t,closable:!0})}).catch(()=>d(e));return}d(e)}function d(e){let n=a(e),r=i(g,n);if(r.length===1){let e=r[0];h({type:`editor`,title:n,metadata:{filePath:e,projectName:t},projectId:t??null,closable:!0})}else l(e)}e.addEventListener(`click`,n);let f=[];return e.querySelectorAll(`img`).forEach(e=>{let t=e.getAttribute(`src`)??``;if(!qi.test(t))return;e.style.opacity=`0.3`,e.style.minHeight=`48px`,e.style.minWidth=`48px`;let n=s();fetch(`/api/fs/raw?path=${encodeURIComponent(t)}`,{headers:n?{Authorization:`Bearer ${n}`}:{}}).then(e=>{if(!e.ok)throw Error(`Failed to load`);return e.blob()}).then(n=>{let r=URL.createObjectURL(n);f.push(r),e.src=r,e.style.opacity=``,e.style.minHeight=``,e.style.minWidth=``,e.style.maxHeight=`400px`,e.style.maxWidth=`100%`,e.style.objectFit=`contain`,e.style.borderRadius=`0.375rem`,e.style.border=`1px solid var(--color-border)`,e.style.cursor=`pointer`,e.onclick=()=>_(r,e.alt||a(t))}).catch(()=>{e.style.opacity=`0.5`,e.alt=`[Image not found: ${a(t)}]`})}),r&&e.querySelectorAll(`pre`).forEach(e=>{if(e.querySelector(`.code-actions`))return;let n=e.querySelector(`code`),r=n?.textContent??e.textContent??``,i=n?.className??``,a=/language-(bash|sh|shell|zsh)/.test(i)||!i.includes(`language-`)&&r.startsWith(`$`);e.style.position=`relative`,e.classList.add(`group`);let o=document.createElement(`div`);o.className=`code-actions absolute top-1 right-1 flex gap-1`;let s=document.createElement(`button`);if(s.className=`flex items-center justify-center size-6 rounded bg-surface-elevated/80 hover:bg-surface-elevated text-text-secondary hover:text-text-primary transition-colors border border-border/50`,s.title=`Copy`,s.innerHTML=`<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>`,s.addEventListener(`click`,()=>{navigator.clipboard.writeText(r),s.innerHTML=`<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"/></svg>`,setTimeout(()=>{s.innerHTML=`<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><rect width="14" height="14" x="8" y="8" rx="2" ry="2"/><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"/></svg>`},2e3)}),o.appendChild(s),a&&t){let e=document.createElement(`button`);e.className=`flex items-center justify-center size-6 rounded bg-surface-elevated/80 hover:bg-surface-elevated text-text-secondary hover:text-text-primary transition-colors border border-border/50`,e.title=`Run in terminal`,e.innerHTML=`<svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="4 17 10 11 4 5"/><line x1="12" y1="19" x2="20" y2="19"/></svg>`,e.addEventListener(`click`,()=>{navigator.clipboard.writeText(r.replace(/^\$\s*/gm,``)),h({type:`terminal`,title:`Terminal`,metadata:{projectName:t},projectId:t,closable:!0})}),o.appendChild(e)}e.appendChild(o)}),()=>{e.removeEventListener(`click`,n),f.forEach(e=>URL.revokeObjectURL(e))}},[i,t,h,r,_,v]),(0,Ui.jsx)(`div`,{ref:m,className:`markdown-content prose-sm ${n}`,dangerouslySetInnerHTML:{__html:i}})}export{Ee as n,Zi as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./react-nm2Ru1Pt.js";import{t as n}from"./chevron-right-5HgK6l7K.js";import{t as r}from"./table-DFevCOMd.js";import{t as i}from"./jsx-runtime-kMwlnEGE.js";import{t as a}from"./api-client-BKIT_Qeg.js";import{Dt as o,Tt as s,bt as c,et as l,nt as u,ut as d}from"./index-BmcV1di6.js";import{n as f,r as p,t as m}from"./lib-BeaDXEkP.js";import{i as h,r as g,t as _}from"./dist-DKlZwvf8.js";var v=e(t(),1),y=`/api/postgres`;function b(e){let[t,n]=(0,v.useState)(``),[r,i]=(0,v.useState)(!1),o=e?`/api/db/connections/${e}`:null,[s,c]=(0,v.useState)([]),[l,u]=(0,v.useState)(null),[d,f]=(0,v.useState)(`public`),[p,m]=(0,v.useState)(null),[h,g]=(0,v.useState)([]),[_,b]=(0,v.useState)(!1),[x,S]=(0,v.useState)(null),[C,w]=(0,v.useState)(1),[T,E]=(0,v.useState)(null),[D,O]=(0,v.useState)(null),[k,A]=(0,v.useState)(!1),j=(0,v.useCallback)(async e=>{b(!0),S(null);try{let t=await a.post(`${y}/test`,{connectionString:e});if(!t.ok){S(t.error??`Connection failed`);return}n(e),i(!0);let r=await a.post(`${y}/tables`,{connectionString:e});c(r),r.length>0&&(u(r[0].name),f(r[0].schema))}catch(e){S(e.message)}finally{b(!1)}},[]),M=(0,v.useCallback)(async()=>{if(o){b(!0);try{c(await a.get(`${o}/tables?cached=1`))}catch(e){S(e.message)}finally{b(!1)}return}if(t){b(!0);try{c(await a.post(`${y}/tables`,{connectionString:t}))}catch(e){S(e.message)}finally{b(!1)}}},[o,t,l]);(0,v.useEffect)(()=>{o&&(i(!0),M())},[o]);let N=(0,v.useCallback)(async(e,n,r)=>{let i=e??l,s=n??d;if(i){b(!0);try{if(o){let[e,t]=await Promise.all([a.get(`${o}/data?table=${encodeURIComponent(i)}&schema=${s}&page=${r??C}&limit=100`),a.get(`${o}/schema?table=${encodeURIComponent(i)}&schema=${s}`)]);m(e),g(t)}else{if(!t)return;let[e,n]=await Promise.all([a.post(`${y}/data`,{connectionString:t,table:i,schema:s,page:r??C,limit:100}),a.post(`${y}/schema`,{connectionString:t,table:i,schema:s})]);m(e),g(n)}}catch(e){S(e.message)}finally{b(!1)}}},[o,t,l,d,C]);return{connectionString:t,connected:r,connect:j,tables:s,selectedTable:l,selectTable:(0,v.useCallback)((e,t=`public`)=>{u(e),f(t),w(1),E(null),N(e,t,1)},[N]),tableData:p,schema:h,loading:_,error:x,page:C,setPage:(0,v.useCallback)(e=>{w(e),N(void 0,void 0,e)},[N]),queryResult:T,queryError:D,queryLoading:k,executeQuery:(0,v.useCallback)(async e=>{if(!(!o&&!t)){A(!0),O(null);try{let n=o?await a.post(`${o}/query`,{sql:e}):await a.post(`${y}/query`,{connectionString:t,sql:e});E(n),n.changeType===`modify`&&N()}catch(e){O(e.message)}finally{A(!1)}}},[o,t,N]),updateCell:(0,v.useCallback)(async(e,n,r,i)=>{if(l)try{if(o)await a.put(`${o}/cell`,{table:l,schema:d,pkColumn:e,pkValue:n,column:r,value:i});else{if(!t)return;await a.post(`${y}/cell`,{connectionString:t,table:l,schema:d,pkColumn:e,pkValue:n,column:r,value:i})}N()}catch(e){S(e.message)}},[o,t,l,d,N]),refreshTables:M,refreshData:N}}var x=i();function S({metadata:e}){let t=e?.connectionString??``,n=e?.connectionId,r=b(n);return r.connected?(0,x.jsx)(w,{pg:r,initialTable:e?.tableName,hideTableList:!!n,connectionName:e?.connectionName}):(0,x.jsx)(C,{initialValue:t,onConnect:r.connect,loading:r.loading,error:r.error})}function C({initialValue:e,onConnect:t,loading:n,error:r}){let[i,a]=(0,v.useState)(e);return(0,x.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-3 w-full max-w-lg px-4`,children:[(0,x.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium`,children:[(0,x.jsx)(c,{className:`size-4`}),` Connect to PostgreSQL`]}),(0,x.jsx)(`input`,{className:`w-full px-3 py-2 rounded border border-border bg-background text-sm font-mono outline-none focus:border-primary`,placeholder:`postgresql://user:pass@host:5432/db`,value:i,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&i.trim()&&t(i.trim())}}),r&&(0,x.jsxs)(`p`,{className:`text-xs text-destructive flex items-center gap-1`,children:[(0,x.jsx)(s,{className:`size-3`}),r]}),(0,x.jsx)(`button`,{type:`button`,disabled:n||!i.trim(),onClick:()=>t(i.trim()),className:`px-4 py-2 rounded bg-primary text-primary-foreground text-sm hover:bg-primary/90 disabled:opacity-50 transition-colors`,children:n?(0,x.jsx)(d,{className:`size-4 animate-spin mx-auto`}):`Connect`})]})})}function w({pg:e,initialTable:t,hideTableList:n,connectionName:i}){let[a,o]=(0,v.useState)(!1),s=(0,v.useRef)(!1);return(0,v.useEffect)(()=>{if(!(!t||s.current)){if(n&&e.connected)s.current=!0,e.selectTable(t);else if(e.tables.length>0){let n=e.tables.find(e=>e.name===t);n&&(s.current=!0,e.selectTable(n.name,n.schema))}}},[t,e.connected,e.tables]),(0,x.jsxs)(`div`,{className:`flex h-full w-full overflow-hidden`,children:[!n&&(0,x.jsxs)(`div`,{className:`w-48 shrink-0 flex flex-col bg-background overflow-hidden`,children:[(0,x.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border`,children:[(0,x.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase tracking-wider`,children:`Tables`}),(0,x.jsx)(`button`,{type:`button`,onClick:e.refreshTables,className:`text-muted-foreground hover:text-foreground transition-colors`,title:`Refresh`,children:(0,x.jsx)(l,{className:`size-3`})})]}),(0,x.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[e.tables.map(t=>(0,x.jsxs)(`button`,{type:`button`,onClick:()=>e.selectTable(t.name,t.schema),className:`w-full flex items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors ${e.selectedTable===t.name?`bg-muted text-foreground`:`text-muted-foreground hover:bg-muted/50 hover:text-foreground`}`,children:[(0,x.jsx)(r,{className:`size-3 shrink-0`}),(0,x.jsxs)(`span`,{className:`truncate flex-1`,children:[t.schema===`public`?``:`${t.schema}.`,t.name]}),(0,x.jsx)(`span`,{className:`text-[10px] opacity-60`,children:t.rowCount})]},`${t.schema}.${t.name}`)),e.tables.length===0&&(0,x.jsx)(`p`,{className:`px-3 py-4 text-xs text-muted-foreground text-center`,children:`No tables found`})]})]}),(0,x.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden ${n?``:`border-l border-border`}`,children:[(0,x.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border bg-background shrink-0`,children:[(0,x.jsx)(c,{className:`size-3.5 text-muted-foreground`}),(0,x.jsx)(`span`,{className:`text-xs text-muted-foreground truncate`,children:i??`PostgreSQL`}),e.selectedTable&&(0,x.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`/ `,e.selectedTable]}),(0,x.jsx)(`div`,{className:`ml-auto`,children:(0,x.jsx)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`px-2 py-1 rounded text-xs transition-colors ${a?`bg-muted text-foreground`:`text-muted-foreground hover:text-foreground`}`,children:`SQL`})})]}),(0,x.jsx)(`div`,{className:`flex-1 overflow-hidden ${a?`max-h-[60%]`:``}`,children:(0,x.jsx)(T,{tableData:e.tableData,schema:e.schema,loading:e.loading,page:e.page,onPageChange:e.setPage,onCellUpdate:e.updateCell})}),a&&(0,x.jsx)(`div`,{className:`border-t border-border h-[40%] shrink-0`,children:(0,x.jsx)(E,{onExecute:e.executeQuery,result:e.queryResult,error:e.queryError,loading:e.queryLoading})})]})]})}function T({tableData:e,schema:t,loading:r,page:i,onPageChange:a,onCellUpdate:s}){let[c,l]=(0,v.useState)(null),[u,h]=(0,v.useState)(``),g=(0,v.useMemo)(()=>t.find(e=>e.pk)?.name??null,[t]),_=(0,v.useCallback)((e,t,n)=>{l({rowIdx:e,col:t}),h(n==null?``:String(n))},[]),y=(0,v.useCallback)(()=>{if(!c||!e||!g)return;let t=e.rows[c.rowIdx];if(!t)return;let n=t[c.col];String(n??``)!==u&&s(g,t[g],c.col,u===``?null:u),l(null)},[c,u,e,g,s]),b=(0,v.useCallback)(()=>l(null),[]),S=(0,v.useMemo)(()=>(e?.columns??[]).map(e=>({id:e,accessorFn:t=>t[e],header:()=>(0,x.jsx)(`span`,{className:t.find(t=>t.name===e)?.pk?`font-bold`:``,children:e}),cell:({row:t,getValue:n})=>{let r=c?.rowIdx===t.index&&c?.col===e,i=n();return r?(0,x.jsx)(`input`,{autoFocus:!0,className:`w-full bg-transparent border border-primary/50 rounded px-1 py-0 text-xs outline-none`,value:u,onChange:e=>h(e.target.value),onBlur:y,onKeyDown:e=>{e.key===`Enter`&&y(),e.key===`Escape`&&b()}}):(0,x.jsx)(`span`,{className:`cursor-pointer truncate block ${i==null?`text-muted-foreground/40 italic`:``}`,onDoubleClick:()=>g&&_(t.index,e,i),title:i==null?`NULL`:String(i),children:i==null?`NULL`:String(i)})}})),[e?.columns,t,c,u,y,b,_,g]),C=f({data:e?.rows??[],columns:S,getCoreRowModel:p()});if(!e)return(0,x.jsx)(`div`,{className:`flex items-center justify-center h-full text-xs text-muted-foreground`,children:r?(0,x.jsx)(d,{className:`size-4 animate-spin`}):`Select a table`});let w=Math.ceil(e.total/e.limit)||1;return(0,x.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden`,children:[(0,x.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,x.jsxs)(`table`,{className:`w-full text-xs border-collapse`,children:[(0,x.jsx)(`thead`,{className:`sticky top-0 z-10 bg-muted`,children:C.getHeaderGroups().map(e=>(0,x.jsx)(`tr`,{children:e.headers.map(e=>(0,x.jsx)(`th`,{className:`px-2 py-1.5 text-left font-medium text-muted-foreground border-b border-border whitespace-nowrap`,children:m(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,x.jsxs)(`tbody`,{children:[C.getRowModel().rows.map(e=>(0,x.jsx)(`tr`,{className:`hover:bg-muted/30 border-b border-border/50`,children:e.getVisibleCells().map(e=>(0,x.jsx)(`td`,{className:`px-2 py-1 max-w-[300px]`,children:m(e.column.columnDef.cell,e.getContext())},e.id))},e.id)),e.rows.length===0&&(0,x.jsx)(`tr`,{children:(0,x.jsx)(`td`,{colSpan:e.columns.length,className:`px-2 py-8 text-center text-muted-foreground`,children:`No data`})})]})]})}),(0,x.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-t border-border bg-background shrink-0 text-xs text-muted-foreground`,children:[(0,x.jsxs)(`span`,{children:[e.total.toLocaleString(),` rows`]}),(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsx)(`button`,{type:`button`,disabled:i<=1,onClick:()=>a(i-1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,x.jsx)(o,{className:`size-3.5`})}),(0,x.jsxs)(`span`,{children:[i,` / `,w]}),(0,x.jsx)(`button`,{type:`button`,disabled:i>=w,onClick:()=>a(i+1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,x.jsx)(n,{className:`size-3.5`})})]})]})]})}function E({onExecute:e,result:t,error:n,loading:r}){let[i,a]=(0,v.useState)(`SELECT * FROM `),o=(0,v.useCallback)(()=>{let t=i.trim();t&&e(t)},[i,e]);return(0,x.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden`,children:[(0,x.jsxs)(`div`,{className:`flex items-start gap-1 border-b border-border bg-background`,onKeyDown:(0,v.useCallback)(e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),o())},[o]),children:[(0,x.jsx)(`div`,{className:`flex-1 max-h-[120px] overflow-auto`,children:(0,x.jsx)(h,{value:i,onChange:a,extensions:[g({dialect:_})],basicSetup:{lineNumbers:!1,foldGutter:!1,highlightActiveLine:!1},className:`text-xs [&_.cm-editor]:!outline-none [&_.cm-scroller]:!overflow-auto`})}),(0,x.jsx)(`button`,{type:`button`,onClick:o,disabled:r,title:`Execute (Cmd+Enter)`,className:`shrink-0 m-1 p-1.5 rounded bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50 transition-colors`,children:r?(0,x.jsx)(d,{className:`size-3.5 animate-spin`}):(0,x.jsx)(u,{className:`size-3.5`})})]}),(0,x.jsxs)(`div`,{className:`flex-1 overflow-auto text-xs`,children:[n&&(0,x.jsx)(`div`,{className:`px-3 py-2 text-destructive bg-destructive/5`,children:n}),t?.changeType===`modify`&&(0,x.jsxs)(`div`,{className:`px-3 py-2 text-green-500`,children:[`Query executed. `,t.rowsAffected,` row(s) affected.`]}),t?.changeType===`select`&&t.rows.length>0&&(0,x.jsxs)(`table`,{className:`w-full border-collapse`,children:[(0,x.jsx)(`thead`,{className:`sticky top-0 bg-muted`,children:(0,x.jsx)(`tr`,{children:t.columns.map(e=>(0,x.jsx)(`th`,{className:`px-2 py-1 text-left font-medium text-muted-foreground border-b border-border whitespace-nowrap`,children:e},e))})}),(0,x.jsx)(`tbody`,{children:t.rows.map((e,n)=>(0,x.jsx)(`tr`,{className:`hover:bg-muted/30 border-b border-border/50`,children:t.columns.map(t=>(0,x.jsx)(`td`,{className:`px-2 py-1 max-w-[300px] truncate`,title:e[t]==null?`NULL`:String(e[t]),children:e[t]==null?(0,x.jsx)(`span`,{className:`text-muted-foreground/40 italic`,children:`NULL`}):String(e[t])},t))},n))})]}),t?.changeType===`select`&&t.rows.length===0&&(0,x.jsx)(`div`,{className:`px-3 py-2 text-muted-foreground`,children:`No results`})]})]})}export{S as PostgresViewer};
|
|
1
|
+
import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./react-nm2Ru1Pt.js";import{t as n}from"./chevron-right-5HgK6l7K.js";import{t as r}from"./table-DFevCOMd.js";import{t as i}from"./jsx-runtime-kMwlnEGE.js";import{t as a}from"./api-client-BKIT_Qeg.js";import{at as o,jt as s,kt as c,pt as l,rt as u,wt as d}from"./index-DU6UVgQY.js";import{n as f,r as p,t as m}from"./lib-BeaDXEkP.js";import{i as h,r as g,t as _}from"./dist-DKlZwvf8.js";var v=e(t(),1),y=`/api/postgres`;function b(e){let[t,n]=(0,v.useState)(``),[r,i]=(0,v.useState)(!1),o=e?`/api/db/connections/${e}`:null,[s,c]=(0,v.useState)([]),[l,u]=(0,v.useState)(null),[d,f]=(0,v.useState)(`public`),[p,m]=(0,v.useState)(null),[h,g]=(0,v.useState)([]),[_,b]=(0,v.useState)(!1),[x,S]=(0,v.useState)(null),[C,w]=(0,v.useState)(1),[T,E]=(0,v.useState)(null),[D,O]=(0,v.useState)(null),[k,A]=(0,v.useState)(!1),j=(0,v.useCallback)(async e=>{b(!0),S(null);try{let t=await a.post(`${y}/test`,{connectionString:e});if(!t.ok){S(t.error??`Connection failed`);return}n(e),i(!0);let r=await a.post(`${y}/tables`,{connectionString:e});c(r),r.length>0&&(u(r[0].name),f(r[0].schema))}catch(e){S(e.message)}finally{b(!1)}},[]),M=(0,v.useCallback)(async()=>{if(o){b(!0);try{c(await a.get(`${o}/tables?cached=1`))}catch(e){S(e.message)}finally{b(!1)}return}if(t){b(!0);try{c(await a.post(`${y}/tables`,{connectionString:t}))}catch(e){S(e.message)}finally{b(!1)}}},[o,t,l]);(0,v.useEffect)(()=>{o&&(i(!0),M())},[o]);let N=(0,v.useCallback)(async(e,n,r)=>{let i=e??l,s=n??d;if(i){b(!0);try{if(o){let[e,t]=await Promise.all([a.get(`${o}/data?table=${encodeURIComponent(i)}&schema=${s}&page=${r??C}&limit=100`),a.get(`${o}/schema?table=${encodeURIComponent(i)}&schema=${s}`)]);m(e),g(t)}else{if(!t)return;let[e,n]=await Promise.all([a.post(`${y}/data`,{connectionString:t,table:i,schema:s,page:r??C,limit:100}),a.post(`${y}/schema`,{connectionString:t,table:i,schema:s})]);m(e),g(n)}}catch(e){S(e.message)}finally{b(!1)}}},[o,t,l,d,C]);return{connectionString:t,connected:r,connect:j,tables:s,selectedTable:l,selectTable:(0,v.useCallback)((e,t=`public`)=>{u(e),f(t),w(1),E(null),N(e,t,1)},[N]),tableData:p,schema:h,loading:_,error:x,page:C,setPage:(0,v.useCallback)(e=>{w(e),N(void 0,void 0,e)},[N]),queryResult:T,queryError:D,queryLoading:k,executeQuery:(0,v.useCallback)(async e=>{if(!(!o&&!t)){A(!0),O(null);try{let n=o?await a.post(`${o}/query`,{sql:e}):await a.post(`${y}/query`,{connectionString:t,sql:e});E(n),n.changeType===`modify`&&N()}catch(e){O(e.message)}finally{A(!1)}}},[o,t,N]),updateCell:(0,v.useCallback)(async(e,n,r,i)=>{if(l)try{if(o)await a.put(`${o}/cell`,{table:l,schema:d,pkColumn:e,pkValue:n,column:r,value:i});else{if(!t)return;await a.post(`${y}/cell`,{connectionString:t,table:l,schema:d,pkColumn:e,pkValue:n,column:r,value:i})}N()}catch(e){S(e.message)}},[o,t,l,d,N]),refreshTables:M,refreshData:N}}var x=i();function S({metadata:e}){let t=e?.connectionString??``,n=e?.connectionId,r=b(n);return r.connected?(0,x.jsx)(w,{pg:r,initialTable:e?.tableName,hideTableList:!!n,connectionName:e?.connectionName}):(0,x.jsx)(C,{initialValue:t,onConnect:r.connect,loading:r.loading,error:r.error})}function C({initialValue:e,onConnect:t,loading:n,error:r}){let[i,a]=(0,v.useState)(e);return(0,x.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,x.jsxs)(`div`,{className:`flex flex-col gap-3 w-full max-w-lg px-4`,children:[(0,x.jsxs)(`div`,{className:`flex items-center gap-2 text-sm font-medium`,children:[(0,x.jsx)(d,{className:`size-4`}),` Connect to PostgreSQL`]}),(0,x.jsx)(`input`,{className:`w-full px-3 py-2 rounded border border-border bg-background text-sm font-mono outline-none focus:border-primary`,placeholder:`postgresql://user:pass@host:5432/db`,value:i,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&i.trim()&&t(i.trim())}}),r&&(0,x.jsxs)(`p`,{className:`text-xs text-destructive flex items-center gap-1`,children:[(0,x.jsx)(c,{className:`size-3`}),r]}),(0,x.jsx)(`button`,{type:`button`,disabled:n||!i.trim(),onClick:()=>t(i.trim()),className:`px-4 py-2 rounded bg-primary text-primary-foreground text-sm hover:bg-primary/90 disabled:opacity-50 transition-colors`,children:n?(0,x.jsx)(l,{className:`size-4 animate-spin mx-auto`}):`Connect`})]})})}function w({pg:e,initialTable:t,hideTableList:n,connectionName:i}){let[a,o]=(0,v.useState)(!1),s=(0,v.useRef)(!1);return(0,v.useEffect)(()=>{if(!(!t||s.current)){if(n&&e.connected)s.current=!0,e.selectTable(t);else if(e.tables.length>0){let n=e.tables.find(e=>e.name===t);n&&(s.current=!0,e.selectTable(n.name,n.schema))}}},[t,e.connected,e.tables]),(0,x.jsxs)(`div`,{className:`flex h-full w-full overflow-hidden`,children:[!n&&(0,x.jsxs)(`div`,{className:`w-48 shrink-0 flex flex-col bg-background overflow-hidden`,children:[(0,x.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border`,children:[(0,x.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase tracking-wider`,children:`Tables`}),(0,x.jsx)(`button`,{type:`button`,onClick:e.refreshTables,className:`text-muted-foreground hover:text-foreground transition-colors`,title:`Refresh`,children:(0,x.jsx)(u,{className:`size-3`})})]}),(0,x.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[e.tables.map(t=>(0,x.jsxs)(`button`,{type:`button`,onClick:()=>e.selectTable(t.name,t.schema),className:`w-full flex items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors ${e.selectedTable===t.name?`bg-muted text-foreground`:`text-muted-foreground hover:bg-muted/50 hover:text-foreground`}`,children:[(0,x.jsx)(r,{className:`size-3 shrink-0`}),(0,x.jsxs)(`span`,{className:`truncate flex-1`,children:[t.schema===`public`?``:`${t.schema}.`,t.name]}),(0,x.jsx)(`span`,{className:`text-[10px] opacity-60`,children:t.rowCount})]},`${t.schema}.${t.name}`)),e.tables.length===0&&(0,x.jsx)(`p`,{className:`px-3 py-4 text-xs text-muted-foreground text-center`,children:`No tables found`})]})]}),(0,x.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden ${n?``:`border-l border-border`}`,children:[(0,x.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border bg-background shrink-0`,children:[(0,x.jsx)(d,{className:`size-3.5 text-muted-foreground`}),(0,x.jsx)(`span`,{className:`text-xs text-muted-foreground truncate`,children:i??`PostgreSQL`}),e.selectedTable&&(0,x.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`/ `,e.selectedTable]}),(0,x.jsx)(`div`,{className:`ml-auto`,children:(0,x.jsx)(`button`,{type:`button`,onClick:()=>o(e=>!e),className:`px-2 py-1 rounded text-xs transition-colors ${a?`bg-muted text-foreground`:`text-muted-foreground hover:text-foreground`}`,children:`SQL`})})]}),(0,x.jsx)(`div`,{className:`flex-1 overflow-hidden ${a?`max-h-[60%]`:``}`,children:(0,x.jsx)(T,{tableData:e.tableData,schema:e.schema,loading:e.loading,page:e.page,onPageChange:e.setPage,onCellUpdate:e.updateCell})}),a&&(0,x.jsx)(`div`,{className:`border-t border-border h-[40%] shrink-0`,children:(0,x.jsx)(E,{onExecute:e.executeQuery,result:e.queryResult,error:e.queryError,loading:e.queryLoading})})]})]})}function T({tableData:e,schema:t,loading:r,page:i,onPageChange:a,onCellUpdate:o}){let[c,u]=(0,v.useState)(null),[d,h]=(0,v.useState)(``),g=(0,v.useMemo)(()=>t.find(e=>e.pk)?.name??null,[t]),_=(0,v.useCallback)((e,t,n)=>{u({rowIdx:e,col:t}),h(n==null?``:String(n))},[]),y=(0,v.useCallback)(()=>{if(!c||!e||!g)return;let t=e.rows[c.rowIdx];if(!t)return;let n=t[c.col];String(n??``)!==d&&o(g,t[g],c.col,d===``?null:d),u(null)},[c,d,e,g,o]),b=(0,v.useCallback)(()=>u(null),[]),S=(0,v.useMemo)(()=>(e?.columns??[]).map(e=>({id:e,accessorFn:t=>t[e],header:()=>(0,x.jsx)(`span`,{className:t.find(t=>t.name===e)?.pk?`font-bold`:``,children:e}),cell:({row:t,getValue:n})=>{let r=c?.rowIdx===t.index&&c?.col===e,i=n();return r?(0,x.jsx)(`input`,{autoFocus:!0,className:`w-full bg-transparent border border-primary/50 rounded px-1 py-0 text-xs outline-none`,value:d,onChange:e=>h(e.target.value),onBlur:y,onKeyDown:e=>{e.key===`Enter`&&y(),e.key===`Escape`&&b()}}):(0,x.jsx)(`span`,{className:`cursor-pointer truncate block ${i==null?`text-muted-foreground/40 italic`:``}`,onDoubleClick:()=>g&&_(t.index,e,i),title:i==null?`NULL`:String(i),children:i==null?`NULL`:String(i)})}})),[e?.columns,t,c,d,y,b,_,g]),C=f({data:e?.rows??[],columns:S,getCoreRowModel:p()});if(!e)return(0,x.jsx)(`div`,{className:`flex items-center justify-center h-full text-xs text-muted-foreground`,children:r?(0,x.jsx)(l,{className:`size-4 animate-spin`}):`Select a table`});let w=Math.ceil(e.total/e.limit)||1;return(0,x.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden`,children:[(0,x.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,x.jsxs)(`table`,{className:`w-full text-xs border-collapse`,children:[(0,x.jsx)(`thead`,{className:`sticky top-0 z-10 bg-muted`,children:C.getHeaderGroups().map(e=>(0,x.jsx)(`tr`,{children:e.headers.map(e=>(0,x.jsx)(`th`,{className:`px-2 py-1.5 text-left font-medium text-muted-foreground border-b border-border whitespace-nowrap`,children:m(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,x.jsxs)(`tbody`,{children:[C.getRowModel().rows.map(e=>(0,x.jsx)(`tr`,{className:`hover:bg-muted/30 border-b border-border/50`,children:e.getVisibleCells().map(e=>(0,x.jsx)(`td`,{className:`px-2 py-1 max-w-[300px]`,children:m(e.column.columnDef.cell,e.getContext())},e.id))},e.id)),e.rows.length===0&&(0,x.jsx)(`tr`,{children:(0,x.jsx)(`td`,{colSpan:e.columns.length,className:`px-2 py-8 text-center text-muted-foreground`,children:`No data`})})]})]})}),(0,x.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-t border-border bg-background shrink-0 text-xs text-muted-foreground`,children:[(0,x.jsxs)(`span`,{children:[e.total.toLocaleString(),` rows`]}),(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsx)(`button`,{type:`button`,disabled:i<=1,onClick:()=>a(i-1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,x.jsx)(s,{className:`size-3.5`})}),(0,x.jsxs)(`span`,{children:[i,` / `,w]}),(0,x.jsx)(`button`,{type:`button`,disabled:i>=w,onClick:()=>a(i+1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,x.jsx)(n,{className:`size-3.5`})})]})]})]})}function E({onExecute:e,result:t,error:n,loading:r}){let[i,a]=(0,v.useState)(`SELECT * FROM `),s=(0,v.useCallback)(()=>{let t=i.trim();t&&e(t)},[i,e]);return(0,x.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden`,children:[(0,x.jsxs)(`div`,{className:`flex items-start gap-1 border-b border-border bg-background`,onKeyDown:(0,v.useCallback)(e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),s())},[s]),children:[(0,x.jsx)(`div`,{className:`flex-1 max-h-[120px] overflow-auto`,children:(0,x.jsx)(h,{value:i,onChange:a,extensions:[g({dialect:_})],basicSetup:{lineNumbers:!1,foldGutter:!1,highlightActiveLine:!1},className:`text-xs [&_.cm-editor]:!outline-none [&_.cm-scroller]:!overflow-auto`})}),(0,x.jsx)(`button`,{type:`button`,onClick:s,disabled:r,title:`Execute (Cmd+Enter)`,className:`shrink-0 m-1 p-1.5 rounded bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50 transition-colors`,children:r?(0,x.jsx)(l,{className:`size-3.5 animate-spin`}):(0,x.jsx)(o,{className:`size-3.5`})})]}),(0,x.jsxs)(`div`,{className:`flex-1 overflow-auto text-xs`,children:[n&&(0,x.jsx)(`div`,{className:`px-3 py-2 text-destructive bg-destructive/5`,children:n}),t?.changeType===`modify`&&(0,x.jsxs)(`div`,{className:`px-3 py-2 text-green-500`,children:[`Query executed. `,t.rowsAffected,` row(s) affected.`]}),t?.changeType===`select`&&t.rows.length>0&&(0,x.jsxs)(`table`,{className:`w-full border-collapse`,children:[(0,x.jsx)(`thead`,{className:`sticky top-0 bg-muted`,children:(0,x.jsx)(`tr`,{children:t.columns.map(e=>(0,x.jsx)(`th`,{className:`px-2 py-1 text-left font-medium text-muted-foreground border-b border-border whitespace-nowrap`,children:e},e))})}),(0,x.jsx)(`tbody`,{children:t.rows.map((e,n)=>(0,x.jsx)(`tr`,{className:`hover:bg-muted/30 border-b border-border/50`,children:t.columns.map(t=>(0,x.jsx)(`td`,{className:`px-2 py-1 max-w-[300px] truncate`,title:e[t]==null?`NULL`:String(e[t]),children:e[t]==null?(0,x.jsx)(`span`,{className:`text-muted-foreground/40 italic`,children:`NULL`}):String(e[t])},t))},n))})]}),t?.changeType===`select`&&t.rows.length===0&&(0,x.jsx)(`div`,{className:`px-3 py-2 text-muted-foreground`,children:`No results`})]})]})}export{S as PostgresViewer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"./react-nm2Ru1Pt.js";import"./react-dom-Bpkvzu3U.js";import"./dist-DRTW9IWi.js";import"./jsx-runtime-kMwlnEGE.js";import"./api-client-BKIT_Qeg.js";import"./api-settings-Bid0NHuI.js";import{a as e}from"./index-
|
|
1
|
+
import"./react-nm2Ru1Pt.js";import"./react-dom-Bpkvzu3U.js";import"./dist-DRTW9IWi.js";import"./jsx-runtime-kMwlnEGE.js";import"./api-client-BKIT_Qeg.js";import"./api-settings-Bid0NHuI.js";import{a as e}from"./index-DU6UVgQY.js";export{e as SettingsTab};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./react-nm2Ru1Pt.js";import{t as n}from"./chevron-right-5HgK6l7K.js";import{t as r}from"./table-DFevCOMd.js";import{t as i}from"./jsx-runtime-kMwlnEGE.js";import{i as a,t as o}from"./api-client-BKIT_Qeg.js";import{Dt as s,Tt as c,bt as l,et as u,nt as d,ut as f}from"./index-BmcV1di6.js";import{n as p,r as m,t as h}from"./lib-BeaDXEkP.js";import{i as g,n as _,r as v}from"./dist-DKlZwvf8.js";var y=e(t(),1);function b(e,t,n){let[r,i]=(0,y.useState)([]),[s,c]=(0,y.useState)(null),[l,u]=(0,y.useState)(null),[d,f]=(0,y.useState)([]),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(null),[_,v]=(0,y.useState)(1),[b,x]=(0,y.useState)(null),[S,C]=(0,y.useState)(null),[w,T]=(0,y.useState)(!1),E=n?`/api/db/connections/${n}`:null,D=E??`${a(e)}/sqlite`,O=E?``:`path=${encodeURIComponent(t)}`,k=(0,y.useCallback)(async()=>{m(!0),g(null);try{let e=E?`?cached=1`:O?`?${O}`:``,t=await o.get(`${D}/tables${e}`);i(t),!E&&t.length>0&&!s&&c(t[0].name)}catch(e){g(e.message)}finally{m(!1)}},[D,O,E]);(0,y.useEffect)(()=>{k()},[k]);let A=(0,y.useCallback)(async()=>{if(s){m(!0);try{let e=O?`${O}&`:``,[t,n]=await Promise.all([o.get(`${D}/data?${e}table=${encodeURIComponent(s)}&page=${_}&limit=100`),o.get(`${D}/schema?${e}table=${encodeURIComponent(s)}`)]);u(t),f(n)}catch(e){g(e.message)}finally{m(!1)}}},[D,O,s,_]);return(0,y.useEffect)(()=>{A()},[A]),{tables:r,selectedTable:s,selectTable:(0,y.useCallback)(e=>{c(e),v(1),x(null)},[]),tableData:l,schema:d,loading:p,error:h,page:_,setPage:v,queryResult:b,queryError:S,queryLoading:w,executeQuery:(0,y.useCallback)(async e=>{T(!0),C(null);try{let n=E?{sql:e}:{path:t,sql:e},r=await o.post(`${D}/query`,n);x(r),r.changeType===`modify`&&A()}catch(e){C(e.message)}finally{T(!1)}},[D,E,t,A]),updateCell:(0,y.useCallback)(async(e,n,r)=>{if(s)try{E?await o.put(`${D}/cell`,{table:s,pkColumn:`rowid`,pkValue:e,column:n,value:r}):await o.put(`${D}/cell`,{path:t,table:s,rowid:e,column:n,value:r}),A()}catch(e){g(e.message)}},[D,E,t,s,A]),refreshTables:k,refreshData:A}}var x=i();function S({tables:e,selectedTable:t,onSelect:n,onRefresh:i}){return(0,x.jsxs)(`div`,{className:`w-48 shrink-0 flex flex-col bg-background overflow-hidden`,children:[(0,x.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border`,children:[(0,x.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase tracking-wider`,children:`Tables`}),(0,x.jsx)(`button`,{type:`button`,onClick:i,className:`text-muted-foreground hover:text-foreground transition-colors`,title:`Refresh tables`,children:(0,x.jsx)(u,{className:`size-3`})})]}),(0,x.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[e.map(e=>(0,x.jsxs)(`button`,{type:`button`,onClick:()=>n(e.name),className:`w-full flex items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors ${t===e.name?`bg-muted text-foreground`:`text-muted-foreground hover:bg-muted/50 hover:text-foreground`}`,children:[(0,x.jsx)(r,{className:`size-3 shrink-0`}),(0,x.jsx)(`span`,{className:`truncate flex-1`,children:e.name}),(0,x.jsx)(`span`,{className:`text-[10px] opacity-60`,children:e.rowCount})]},e.name)),e.length===0&&(0,x.jsx)(`p`,{className:`px-3 py-4 text-xs text-muted-foreground text-center`,children:`No tables found`})]})]})}function C({tableData:e,schema:t,loading:r,page:i,onPageChange:a,onCellUpdate:o}){if(!e)return(0,x.jsx)(`div`,{className:`flex items-center justify-center h-full text-xs text-muted-foreground`,children:r?(0,x.jsx)(f,{className:`size-4 animate-spin`}):`Select a table`});let c=Math.ceil(e.total/e.limit)||1;return(0,x.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden`,children:[(0,x.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,x.jsx)(w,{columns:e.columns,rows:e.rows,schema:t,onCellUpdate:o})}),(0,x.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-t border-border bg-background shrink-0 text-xs text-muted-foreground`,children:[(0,x.jsxs)(`span`,{children:[e.total.toLocaleString(),` rows`]}),(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsx)(`button`,{type:`button`,disabled:i<=1,onClick:()=>a(i-1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,x.jsx)(s,{className:`size-3.5`})}),(0,x.jsxs)(`span`,{children:[i,` / `,c]}),(0,x.jsx)(`button`,{type:`button`,disabled:i>=c,onClick:()=>a(i+1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,x.jsx)(n,{className:`size-3.5`})})]})]})]})}function w({columns:e,rows:t,schema:n,onCellUpdate:r}){let[i,a]=(0,y.useState)(null),[o,s]=(0,y.useState)(``),c=(0,y.useMemo)(()=>new Set(n.filter(e=>e.pk).map(e=>e.name)),[n]),l=(0,y.useCallback)((e,t,n)=>{t!==`rowid`&&(a({rowIdx:e,col:t}),s(n==null?``:String(n)))},[]),u=(0,y.useCallback)(()=>{if(!i)return;let e=t[i.rowIdx];if(!e)return;let n=e.rowid,s=e[i.col];String(s??``)!==o&&r(n,i.col,o===``?null:o),a(null)},[i,o,t,r]),d=(0,y.useCallback)(()=>a(null),[]),f=p({data:t,columns:(0,y.useMemo)(()=>e.map(e=>({id:e,accessorFn:t=>t[e],header:()=>(0,x.jsx)(`span`,{className:`${c.has(e)?`font-bold`:``} ${e===`rowid`?`text-muted-foreground/50`:``}`,children:e}),cell:({row:t,getValue:n})=>{let r=t.index,a=i?.rowIdx===r&&i?.col===e,c=n();return a?(0,x.jsx)(`input`,{autoFocus:!0,className:`w-full bg-transparent border border-primary/50 rounded px-1 py-0 text-xs outline-none`,value:o,onChange:e=>s(e.target.value),onBlur:u,onKeyDown:e=>{e.key===`Enter`&&u(),e.key===`Escape`&&d()}}):(0,x.jsx)(`span`,{className:`cursor-pointer truncate block ${c==null?`text-muted-foreground/40 italic`:``} ${e===`rowid`?`text-muted-foreground/50`:``}`,onDoubleClick:()=>l(r,e,c),title:c==null?`NULL`:String(c),children:c==null?`NULL`:String(c)})}})),[e,c,i,o,u,d,l]),getCoreRowModel:m()});return(0,x.jsxs)(`table`,{className:`w-full text-xs border-collapse`,children:[(0,x.jsx)(`thead`,{className:`sticky top-0 z-10 bg-muted`,children:f.getHeaderGroups().map(e=>(0,x.jsx)(`tr`,{children:e.headers.map(e=>(0,x.jsx)(`th`,{className:`px-2 py-1.5 text-left font-medium text-muted-foreground border-b border-border whitespace-nowrap`,children:h(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,x.jsxs)(`tbody`,{children:[f.getRowModel().rows.map(e=>(0,x.jsx)(`tr`,{className:`hover:bg-muted/30 border-b border-border/50`,children:e.getVisibleCells().map(e=>(0,x.jsx)(`td`,{className:`px-2 py-1 max-w-[300px]`,children:h(e.column.columnDef.cell,e.getContext())},e.id))},e.id)),t.length===0&&(0,x.jsx)(`tr`,{children:(0,x.jsx)(`td`,{colSpan:e.length,className:`px-2 py-8 text-center text-muted-foreground`,children:`No data`})})]})]})}function T({onExecute:e,result:t,error:n,loading:r}){let[i,a]=(0,y.useState)(`SELECT * FROM `),o=(0,y.useCallback)(()=>{let t=i.trim();t&&e(t)},[i,e]);return(0,x.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden`,children:[(0,x.jsxs)(`div`,{className:`flex items-start gap-1 border-b border-border bg-background`,onKeyDown:(0,y.useCallback)(e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),o())},[o]),children:[(0,x.jsx)(`div`,{className:`flex-1 max-h-[120px] overflow-auto`,children:(0,x.jsx)(g,{value:i,onChange:a,extensions:[v({dialect:_})],basicSetup:{lineNumbers:!1,foldGutter:!1,highlightActiveLine:!1},className:`text-xs [&_.cm-editor]:!outline-none [&_.cm-scroller]:!overflow-auto`})}),(0,x.jsx)(`button`,{type:`button`,onClick:o,disabled:r,className:`shrink-0 m-1 p-1.5 rounded bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50 transition-colors`,title:`Execute (Cmd+Enter)`,children:r?(0,x.jsx)(f,{className:`size-3.5 animate-spin`}):(0,x.jsx)(d,{className:`size-3.5`})})]}),(0,x.jsxs)(`div`,{className:`flex-1 overflow-auto text-xs`,children:[n&&(0,x.jsx)(`div`,{className:`px-3 py-2 text-destructive bg-destructive/5`,children:n}),t&&t.changeType===`modify`&&(0,x.jsxs)(`div`,{className:`px-3 py-2 text-green-500`,children:[`Query executed. `,t.rowsAffected,` row(s) affected.`]}),t&&t.changeType===`select`&&t.rows.length>0&&(0,x.jsxs)(`table`,{className:`w-full border-collapse`,children:[(0,x.jsx)(`thead`,{className:`sticky top-0 bg-muted`,children:(0,x.jsx)(`tr`,{children:t.columns.map(e=>(0,x.jsx)(`th`,{className:`px-2 py-1 text-left font-medium text-muted-foreground border-b border-border whitespace-nowrap`,children:e},e))})}),(0,x.jsx)(`tbody`,{children:t.rows.map((e,n)=>(0,x.jsx)(`tr`,{className:`hover:bg-muted/30 border-b border-border/50`,children:t.columns.map(t=>(0,x.jsx)(`td`,{className:`px-2 py-1 max-w-[300px] truncate`,title:e[t]==null?`NULL`:String(e[t]),children:e[t]==null?(0,x.jsx)(`span`,{className:`text-muted-foreground/40 italic`,children:`NULL`}):String(e[t])},t))},n))})]}),t&&t.changeType===`select`&&t.rows.length===0&&(0,x.jsx)(`div`,{className:`px-3 py-2 text-muted-foreground`,children:`No results`})]})]})}function E({metadata:e}){let t=e?.filePath,n=e?.projectName,r=e?.connectionId,i=e?.tableName,[a,o]=(0,y.useState)(!1);return r?(0,x.jsx)(D,{projectName:``,dbPath:``,connectionId:r,connectionName:e?.connectionName,initialTable:i,queryPanelOpen:a,onToggleQueryPanel:()=>o(e=>!e),hideTableList:!0}):!t||!n?(0,x.jsxs)(`div`,{className:`flex items-center justify-center h-full text-text-secondary text-sm`,children:[(0,x.jsx)(l,{className:`size-5 mr-2`}),` No database file selected.`]}):(0,x.jsx)(D,{projectName:n,dbPath:t,queryPanelOpen:a,onToggleQueryPanel:()=>o(e=>!e)})}function D({projectName:e,dbPath:t,connectionId:n,connectionName:r,initialTable:i,queryPanelOpen:a,onToggleQueryPanel:o,hideTableList:s}){let u=b(e,t,n),d=(0,y.useRef)(!1);return(0,y.useEffect)(()=>{i&&!d.current&&u.tables.length>0&&(d.current=!0,u.selectTable(i))},[i,u.tables]),u.error&&u.tables.length===0?(0,x.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-text-secondary`,children:[(0,x.jsx)(c,{className:`size-10 text-destructive`}),(0,x.jsx)(`p`,{className:`text-sm`,children:u.error})]}):u.loading&&u.tables.length===0?(0,x.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-text-secondary`,children:[(0,x.jsx)(f,{className:`size-5 animate-spin`}),(0,x.jsx)(`span`,{className:`text-sm`,children:`Loading database...`})]}):(0,x.jsxs)(`div`,{className:`flex h-full w-full overflow-hidden`,children:[!s&&(0,x.jsx)(S,{tables:u.tables,selectedTable:u.selectedTable,onSelect:u.selectTable,onRefresh:u.refreshTables}),(0,x.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden ${s?``:`border-l border-border`}`,children:[(0,x.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border bg-background shrink-0`,children:[(0,x.jsx)(l,{className:`size-3.5 text-muted-foreground`}),(0,x.jsx)(`span`,{className:`text-xs text-muted-foreground truncate`,children:r??t}),(0,x.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:u.selectedTable&&`/ ${u.selectedTable}`}),(0,x.jsx)(`div`,{className:`ml-auto`,children:(0,x.jsx)(`button`,{type:`button`,onClick:o,className:`px-2 py-1 rounded text-xs transition-colors ${a?`bg-muted text-foreground`:`text-muted-foreground hover:text-foreground`}`,children:`SQL`})})]}),(0,x.jsx)(`div`,{className:`flex-1 overflow-hidden ${a?`max-h-[60%]`:``}`,children:(0,x.jsx)(C,{tableData:u.tableData,schema:u.schema,loading:u.loading,page:u.page,onPageChange:u.setPage,onCellUpdate:u.updateCell})}),a&&(0,x.jsx)(`div`,{className:`border-t border-border h-[40%] shrink-0`,children:(0,x.jsx)(T,{onExecute:u.executeQuery,result:u.queryResult,error:u.queryError,loading:u.queryLoading})})]})]})}export{E as SqliteViewer};
|
|
1
|
+
import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./react-nm2Ru1Pt.js";import{t as n}from"./chevron-right-5HgK6l7K.js";import{t as r}from"./table-DFevCOMd.js";import{t as i}from"./jsx-runtime-kMwlnEGE.js";import{i as a,t as o}from"./api-client-BKIT_Qeg.js";import{at as s,jt as c,kt as l,pt as u,rt as d,wt as f}from"./index-DU6UVgQY.js";import{n as p,r as m,t as h}from"./lib-BeaDXEkP.js";import{i as g,n as _,r as v}from"./dist-DKlZwvf8.js";var y=e(t(),1);function b(e,t,n){let[r,i]=(0,y.useState)([]),[s,c]=(0,y.useState)(null),[l,u]=(0,y.useState)(null),[d,f]=(0,y.useState)([]),[p,m]=(0,y.useState)(!1),[h,g]=(0,y.useState)(null),[_,v]=(0,y.useState)(1),[b,x]=(0,y.useState)(null),[S,C]=(0,y.useState)(null),[w,T]=(0,y.useState)(!1),E=n?`/api/db/connections/${n}`:null,D=E??`${a(e)}/sqlite`,O=E?``:`path=${encodeURIComponent(t)}`,k=(0,y.useCallback)(async()=>{m(!0),g(null);try{let e=E?`?cached=1`:O?`?${O}`:``,t=await o.get(`${D}/tables${e}`);i(t),!E&&t.length>0&&!s&&c(t[0].name)}catch(e){g(e.message)}finally{m(!1)}},[D,O,E]);(0,y.useEffect)(()=>{k()},[k]);let A=(0,y.useCallback)(async()=>{if(s){m(!0);try{let e=O?`${O}&`:``,[t,n]=await Promise.all([o.get(`${D}/data?${e}table=${encodeURIComponent(s)}&page=${_}&limit=100`),o.get(`${D}/schema?${e}table=${encodeURIComponent(s)}`)]);u(t),f(n)}catch(e){g(e.message)}finally{m(!1)}}},[D,O,s,_]);return(0,y.useEffect)(()=>{A()},[A]),{tables:r,selectedTable:s,selectTable:(0,y.useCallback)(e=>{c(e),v(1),x(null)},[]),tableData:l,schema:d,loading:p,error:h,page:_,setPage:v,queryResult:b,queryError:S,queryLoading:w,executeQuery:(0,y.useCallback)(async e=>{T(!0),C(null);try{let n=E?{sql:e}:{path:t,sql:e},r=await o.post(`${D}/query`,n);x(r),r.changeType===`modify`&&A()}catch(e){C(e.message)}finally{T(!1)}},[D,E,t,A]),updateCell:(0,y.useCallback)(async(e,n,r)=>{if(s)try{E?await o.put(`${D}/cell`,{table:s,pkColumn:`rowid`,pkValue:e,column:n,value:r}):await o.put(`${D}/cell`,{path:t,table:s,rowid:e,column:n,value:r}),A()}catch(e){g(e.message)}},[D,E,t,s,A]),refreshTables:k,refreshData:A}}var x=i();function S({tables:e,selectedTable:t,onSelect:n,onRefresh:i}){return(0,x.jsxs)(`div`,{className:`w-48 shrink-0 flex flex-col bg-background overflow-hidden`,children:[(0,x.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border`,children:[(0,x.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase tracking-wider`,children:`Tables`}),(0,x.jsx)(`button`,{type:`button`,onClick:i,className:`text-muted-foreground hover:text-foreground transition-colors`,title:`Refresh tables`,children:(0,x.jsx)(d,{className:`size-3`})})]}),(0,x.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[e.map(e=>(0,x.jsxs)(`button`,{type:`button`,onClick:()=>n(e.name),className:`w-full flex items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors ${t===e.name?`bg-muted text-foreground`:`text-muted-foreground hover:bg-muted/50 hover:text-foreground`}`,children:[(0,x.jsx)(r,{className:`size-3 shrink-0`}),(0,x.jsx)(`span`,{className:`truncate flex-1`,children:e.name}),(0,x.jsx)(`span`,{className:`text-[10px] opacity-60`,children:e.rowCount})]},e.name)),e.length===0&&(0,x.jsx)(`p`,{className:`px-3 py-4 text-xs text-muted-foreground text-center`,children:`No tables found`})]})]})}function C({tableData:e,schema:t,loading:r,page:i,onPageChange:a,onCellUpdate:o}){if(!e)return(0,x.jsx)(`div`,{className:`flex items-center justify-center h-full text-xs text-muted-foreground`,children:r?(0,x.jsx)(u,{className:`size-4 animate-spin`}):`Select a table`});let s=Math.ceil(e.total/e.limit)||1;return(0,x.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden`,children:[(0,x.jsx)(`div`,{className:`flex-1 overflow-auto`,children:(0,x.jsx)(w,{columns:e.columns,rows:e.rows,schema:t,onCellUpdate:o})}),(0,x.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-1.5 border-t border-border bg-background shrink-0 text-xs text-muted-foreground`,children:[(0,x.jsxs)(`span`,{children:[e.total.toLocaleString(),` rows`]}),(0,x.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,x.jsx)(`button`,{type:`button`,disabled:i<=1,onClick:()=>a(i-1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,x.jsx)(c,{className:`size-3.5`})}),(0,x.jsxs)(`span`,{children:[i,` / `,s]}),(0,x.jsx)(`button`,{type:`button`,disabled:i>=s,onClick:()=>a(i+1),className:`p-0.5 rounded hover:bg-muted disabled:opacity-30`,children:(0,x.jsx)(n,{className:`size-3.5`})})]})]})]})}function w({columns:e,rows:t,schema:n,onCellUpdate:r}){let[i,a]=(0,y.useState)(null),[o,s]=(0,y.useState)(``),c=(0,y.useMemo)(()=>new Set(n.filter(e=>e.pk).map(e=>e.name)),[n]),l=(0,y.useCallback)((e,t,n)=>{t!==`rowid`&&(a({rowIdx:e,col:t}),s(n==null?``:String(n)))},[]),u=(0,y.useCallback)(()=>{if(!i)return;let e=t[i.rowIdx];if(!e)return;let n=e.rowid,s=e[i.col];String(s??``)!==o&&r(n,i.col,o===``?null:o),a(null)},[i,o,t,r]),d=(0,y.useCallback)(()=>a(null),[]),f=p({data:t,columns:(0,y.useMemo)(()=>e.map(e=>({id:e,accessorFn:t=>t[e],header:()=>(0,x.jsx)(`span`,{className:`${c.has(e)?`font-bold`:``} ${e===`rowid`?`text-muted-foreground/50`:``}`,children:e}),cell:({row:t,getValue:n})=>{let r=t.index,a=i?.rowIdx===r&&i?.col===e,c=n();return a?(0,x.jsx)(`input`,{autoFocus:!0,className:`w-full bg-transparent border border-primary/50 rounded px-1 py-0 text-xs outline-none`,value:o,onChange:e=>s(e.target.value),onBlur:u,onKeyDown:e=>{e.key===`Enter`&&u(),e.key===`Escape`&&d()}}):(0,x.jsx)(`span`,{className:`cursor-pointer truncate block ${c==null?`text-muted-foreground/40 italic`:``} ${e===`rowid`?`text-muted-foreground/50`:``}`,onDoubleClick:()=>l(r,e,c),title:c==null?`NULL`:String(c),children:c==null?`NULL`:String(c)})}})),[e,c,i,o,u,d,l]),getCoreRowModel:m()});return(0,x.jsxs)(`table`,{className:`w-full text-xs border-collapse`,children:[(0,x.jsx)(`thead`,{className:`sticky top-0 z-10 bg-muted`,children:f.getHeaderGroups().map(e=>(0,x.jsx)(`tr`,{children:e.headers.map(e=>(0,x.jsx)(`th`,{className:`px-2 py-1.5 text-left font-medium text-muted-foreground border-b border-border whitespace-nowrap`,children:h(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,x.jsxs)(`tbody`,{children:[f.getRowModel().rows.map(e=>(0,x.jsx)(`tr`,{className:`hover:bg-muted/30 border-b border-border/50`,children:e.getVisibleCells().map(e=>(0,x.jsx)(`td`,{className:`px-2 py-1 max-w-[300px]`,children:h(e.column.columnDef.cell,e.getContext())},e.id))},e.id)),t.length===0&&(0,x.jsx)(`tr`,{children:(0,x.jsx)(`td`,{colSpan:e.length,className:`px-2 py-8 text-center text-muted-foreground`,children:`No data`})})]})]})}function T({onExecute:e,result:t,error:n,loading:r}){let[i,a]=(0,y.useState)(`SELECT * FROM `),o=(0,y.useCallback)(()=>{let t=i.trim();t&&e(t)},[i,e]);return(0,x.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden`,children:[(0,x.jsxs)(`div`,{className:`flex items-start gap-1 border-b border-border bg-background`,onKeyDown:(0,y.useCallback)(e=>{(e.metaKey||e.ctrlKey)&&e.key===`Enter`&&(e.preventDefault(),o())},[o]),children:[(0,x.jsx)(`div`,{className:`flex-1 max-h-[120px] overflow-auto`,children:(0,x.jsx)(g,{value:i,onChange:a,extensions:[v({dialect:_})],basicSetup:{lineNumbers:!1,foldGutter:!1,highlightActiveLine:!1},className:`text-xs [&_.cm-editor]:!outline-none [&_.cm-scroller]:!overflow-auto`})}),(0,x.jsx)(`button`,{type:`button`,onClick:o,disabled:r,className:`shrink-0 m-1 p-1.5 rounded bg-primary text-primary-foreground hover:bg-primary/90 disabled:opacity-50 transition-colors`,title:`Execute (Cmd+Enter)`,children:r?(0,x.jsx)(u,{className:`size-3.5 animate-spin`}):(0,x.jsx)(s,{className:`size-3.5`})})]}),(0,x.jsxs)(`div`,{className:`flex-1 overflow-auto text-xs`,children:[n&&(0,x.jsx)(`div`,{className:`px-3 py-2 text-destructive bg-destructive/5`,children:n}),t&&t.changeType===`modify`&&(0,x.jsxs)(`div`,{className:`px-3 py-2 text-green-500`,children:[`Query executed. `,t.rowsAffected,` row(s) affected.`]}),t&&t.changeType===`select`&&t.rows.length>0&&(0,x.jsxs)(`table`,{className:`w-full border-collapse`,children:[(0,x.jsx)(`thead`,{className:`sticky top-0 bg-muted`,children:(0,x.jsx)(`tr`,{children:t.columns.map(e=>(0,x.jsx)(`th`,{className:`px-2 py-1 text-left font-medium text-muted-foreground border-b border-border whitespace-nowrap`,children:e},e))})}),(0,x.jsx)(`tbody`,{children:t.rows.map((e,n)=>(0,x.jsx)(`tr`,{className:`hover:bg-muted/30 border-b border-border/50`,children:t.columns.map(t=>(0,x.jsx)(`td`,{className:`px-2 py-1 max-w-[300px] truncate`,title:e[t]==null?`NULL`:String(e[t]),children:e[t]==null?(0,x.jsx)(`span`,{className:`text-muted-foreground/40 italic`,children:`NULL`}):String(e[t])},t))},n))})]}),t&&t.changeType===`select`&&t.rows.length===0&&(0,x.jsx)(`div`,{className:`px-3 py-2 text-muted-foreground`,children:`No results`})]})]})}function E({metadata:e}){let t=e?.filePath,n=e?.projectName,r=e?.connectionId,i=e?.tableName,[a,o]=(0,y.useState)(!1);return r?(0,x.jsx)(D,{projectName:``,dbPath:``,connectionId:r,connectionName:e?.connectionName,initialTable:i,queryPanelOpen:a,onToggleQueryPanel:()=>o(e=>!e),hideTableList:!0}):!t||!n?(0,x.jsxs)(`div`,{className:`flex items-center justify-center h-full text-text-secondary text-sm`,children:[(0,x.jsx)(f,{className:`size-5 mr-2`}),` No database file selected.`]}):(0,x.jsx)(D,{projectName:n,dbPath:t,queryPanelOpen:a,onToggleQueryPanel:()=>o(e=>!e)})}function D({projectName:e,dbPath:t,connectionId:n,connectionName:r,initialTable:i,queryPanelOpen:a,onToggleQueryPanel:o,hideTableList:s}){let c=b(e,t,n),d=(0,y.useRef)(!1);return(0,y.useEffect)(()=>{i&&!d.current&&c.tables.length>0&&(d.current=!0,c.selectTable(i))},[i,c.tables]),c.error&&c.tables.length===0?(0,x.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-text-secondary`,children:[(0,x.jsx)(l,{className:`size-10 text-destructive`}),(0,x.jsx)(`p`,{className:`text-sm`,children:c.error})]}):c.loading&&c.tables.length===0?(0,x.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-text-secondary`,children:[(0,x.jsx)(u,{className:`size-5 animate-spin`}),(0,x.jsx)(`span`,{className:`text-sm`,children:`Loading database...`})]}):(0,x.jsxs)(`div`,{className:`flex h-full w-full overflow-hidden`,children:[!s&&(0,x.jsx)(S,{tables:c.tables,selectedTable:c.selectedTable,onSelect:c.selectTable,onRefresh:c.refreshTables}),(0,x.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden ${s?``:`border-l border-border`}`,children:[(0,x.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border bg-background shrink-0`,children:[(0,x.jsx)(f,{className:`size-3.5 text-muted-foreground`}),(0,x.jsx)(`span`,{className:`text-xs text-muted-foreground truncate`,children:r??t}),(0,x.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:c.selectedTable&&`/ ${c.selectedTable}`}),(0,x.jsx)(`div`,{className:`ml-auto`,children:(0,x.jsx)(`button`,{type:`button`,onClick:o,className:`px-2 py-1 rounded text-xs transition-colors ${a?`bg-muted text-foreground`:`text-muted-foreground hover:text-foreground`}`,children:`SQL`})})]}),(0,x.jsx)(`div`,{className:`flex-1 overflow-hidden ${a?`max-h-[60%]`:``}`,children:(0,x.jsx)(C,{tableData:c.tableData,schema:c.schema,loading:c.loading,page:c.page,onPageChange:c.setPage,onCellUpdate:c.updateCell})}),a&&(0,x.jsx)(`div`,{className:`border-t border-border h-[40%] shrink-0`,children:(0,x.jsx)(T,{onExecute:c.executeQuery,result:c.queryResult,error:c.queryError,loading:c.queryLoading})})]})]})}export{E as SqliteViewer};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{t as e}from"./createLucideIcon-PuMiQgHl.js";var t=e(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]);export{t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./react-nm2Ru1Pt.js";import{t as n}from"./jsx-runtime-kMwlnEGE.js";import{n as r}from"./utils-DMiycH3O.js";import{
|
|
1
|
+
import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./react-nm2Ru1Pt.js";import{t as n}from"./jsx-runtime-kMwlnEGE.js";import{n as r}from"./utils-DMiycH3O.js";import{Dt as i,J as a,Tt as o}from"./index-DU6UVgQY.js";var s=e(t(),1),c=Object.defineProperty,l=Object.getOwnPropertyDescriptor,u=(e,t)=>{for(var n in t)c(e,n,{get:t[n],enumerable:!0})},d=(e,t,n,r)=>{for(var i=r>1?void 0:r?l(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&c(t,n,i),i},f=(e,t)=>(n,r)=>t(n,r,e),p=`Terminal input`,m={get:()=>p,set:e=>p=e},h=`Too much output to announce, navigate to rows manually to read`,g={get:()=>h,set:e=>h=e};function _(e){return e.replace(/\r?\n/g,`\r`)}function v(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function ee(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function te(e,t,n,r){e.stopPropagation(),e.clipboardData&&ne(e.clipboardData.getData(`text/plain`),t,n,r)}function ne(e,t,n,r){e=_(e),e=v(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function re(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function ie(e,t,n,r,i){re(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function y(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function ae(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var oe=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o);continue}i!==65279&&(t[r++]=i)}return r}},b=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}else this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(c=(i&31)<<6|a&63,c<128){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},se=``,ce=` `,le=class e{constructor(){this.fg=0,this.bg=0,this.extended=new x}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return(this.fg&50331648)==0}isBgDefault(){return(this.bg&50331648)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},x=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},S=class e extends le{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new x,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?y(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},ue=`di$target`,de=`di$dependencies`,C=new Map;function fe(e){return e[de]||[]}function w(e){if(C.has(e))return C.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);pe(t,e,r)};return t._id=e,C.set(e,t),t}function pe(e,t,n){t[ue]===t?t[de].push({id:e,index:n}):(t[de]=[{id:e,index:n}],t[ue]=t)}var T=w(`BufferService`),me=w(`CoreMouseService`),E=w(`CoreService`),he=w(`CharsetService`),ge=w(`InstantiationService`),_e=w(`LogService`),D=w(`OptionsService`),ve=w(`OscLinkService`),ye=w(`UnicodeService`),be=w(`DecorationService`),xe=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new S,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(!(c===-1&&!n.hasContent(t))){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId)if(c===-1){c=t,s=a.extended.urlId;continue}else l=a.extended.urlId!==s;else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+(!l&&t===o-1?1:0),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):Se(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};xe=d([f(0,T),f(1,D),f(2,ve)],xe);function Se(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
2
2
|
|
|
3
3
|
WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var Ce=w(`CharSizeService`),we=w(`CoreBrowserService`),Te=w(`MouseService`),Ee=w(`RenderService`),De=w(`SelectionService`),Oe=w(`CharacterJoinerService`),ke=w(`ThemeService`),Ae=w(`LinkProviderService`),je=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Le.isErrorNoTelemetry(e)?new Le(e.message+`
|
|
4
4
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./react-nm2Ru1Pt.js";import{t as n}from"./createLucideIcon-PuMiQgHl.js";import{
|
|
1
|
+
import{o as e}from"./chunk-CFjPhJqf.js";import{t}from"./react-nm2Ru1Pt.js";import{t as n}from"./createLucideIcon-PuMiQgHl.js";import{J as r}from"./index-DU6UVgQY.js";var i=n(`text-wrap`,[[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`,key:`18xa6z`}],[`path`,{d:`M3 19h6`,key:`1ygdsz`}],[`path`,{d:`M3 5h18`,key:`1u36vt`}]]);function a(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function o(e){if(Array.isArray(e))return e}function s(e,t,n){return(t=g(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e,t){var n=e==null?null:typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n!=null){var r,i,a,o,s=[],c=!0,l=!1;try{if(a=(n=n.call(e)).next,t!==0)for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){l=!0,i=e}finally{try{if(!c&&n.return!=null&&(o=n.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}function l(){throw TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
2
2
|
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function u(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function d(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?u(Object(n),!0).forEach(function(t){s(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):u(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function f(e,t){if(e==null)return{};var n,r,i=p(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)n=a[r],t.indexOf(n)===-1&&{}.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function p(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function m(e,t){return o(e)||c(e,t)||_(e,t)||l()}function h(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function g(e){var t=h(e,`string`);return typeof t==`symbol`?t:t+``}function _(e,t){if(e){if(typeof e==`string`)return a(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(e,t):void 0}}function v(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function y(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?y(Object(n),!0).forEach(function(t){v(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):y(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function x(){var e=[...arguments];return function(t){return e.reduceRight(function(e,t){return t(e)},t)}}function S(e){return function t(){var n=this,r=[...arguments];return r.length>=e.length?e.apply(this,r):function(){var e=[...arguments];return t.apply(n,[].concat(r,e))}}}function C(e){return{}.toString.call(e).includes(`Object`)}function w(e){return!Object.keys(e).length}function T(e){return typeof e==`function`}function E(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function D(e,t){return C(t)||M(`changeType`),Object.keys(t).some(function(t){return!E(e,t)})&&M(`changeField`),t}function O(e){T(e)||M(`selectorType`)}function k(e){T(e)||C(e)||M(`handlerType`),C(e)&&Object.values(e).some(function(e){return!T(e)})&&M(`handlersType`)}function A(e){e||M(`initialIsRequired`),C(e)||M(`initialType`),w(e)&&M(`initialContent`)}function j(e,t){throw Error(e[t]||e.default)}var M=S(j)({initialIsRequired:`initial state is required`,initialType:`initial state should be an object`,initialContent:`initial state shouldn't be an empty object`,handlerType:`handler should be an object or a function`,handlersType:`all handlers should be a functions`,selectorType:`selector should be a function`,changeType:`provided value of changes should be an object`,changeField:`it seams you want to change a field in the state which is not specified in the "initial" state`,default:"an unknown error accured in `state-local` package"}),N={changes:D,selector:O,handler:k,initial:A};function P(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};N.initial(e),N.handler(t);var n={current:e},r=S(ee)(n,t),i=S(I)(n),a=S(N.changes)(e),o=S(F)(n);function s(){var e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(e){return e};return N.selector(e),e(n.current)}function c(e){x(r,i,a,o)(e)}return[s,c]}function F(e,t){return T(t)?t(e.current):t}function I(e,t){return e.current=b(b({},e.current),t),t}function ee(e,t,n){return T(t)?t(e.current):Object.keys(n).forEach(function(n){return t[n]?.call(t,e.current[n])}),n}var te={create:P},ne={paths:{vs:`https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs`}};function re(e){return function t(){var n=this,r=[...arguments];return r.length>=e.length?e.apply(this,r):function(){var e=[...arguments];return t.apply(n,[].concat(r,e))}}}function ie(e){return{}.toString.call(e).includes(`Object`)}function ae(e){return e||ce(`configIsRequired`),ie(e)||ce(`configType`),e.urls?(oe(),{paths:{vs:e.urls.monacoBase}}):e}function oe(){console.warn(L.deprecation)}function se(e,t){throw Error(e[t]||e.default)}var L={configIsRequired:`the configuration object is required`,configType:`the configuration object should be an object`,default:"an unknown error accured in `@monaco-editor/loader` package",deprecation:`Deprecation warning!
|
|
3
3
|
You are using deprecated way of configuration.
|
|
4
4
|
|
package/dist/web/index.html
CHANGED
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
40
40
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
41
41
|
<link href="https://fonts.googleapis.com/css2?family=Geist+Mono:wght@400;500;600;700&family=Geist:wght@400;500;600;700&display=swap" rel="stylesheet" />
|
|
42
|
-
<script type="module" crossorigin src="/assets/index-
|
|
42
|
+
<script type="module" crossorigin src="/assets/index-DU6UVgQY.js"></script>
|
|
43
43
|
<link rel="modulepreload" crossorigin href="/assets/chunk-CFjPhJqf.js">
|
|
44
44
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-Bf_JiD2A.js">
|
|
45
45
|
<link rel="modulepreload" crossorigin href="/assets/react-nm2Ru1Pt.js">
|
|
@@ -50,10 +50,9 @@
|
|
|
50
50
|
<link rel="modulepreload" crossorigin href="/assets/utils-DMiycH3O.js">
|
|
51
51
|
<link rel="modulepreload" crossorigin href="/assets/chevron-right-5HgK6l7K.js">
|
|
52
52
|
<link rel="modulepreload" crossorigin href="/assets/react-SKk5z-bm.js">
|
|
53
|
-
<link rel="modulepreload" crossorigin href="/assets/tab-store-BXMIUvsE.js">
|
|
54
53
|
<link rel="modulepreload" crossorigin href="/assets/api-client-BKIT_Qeg.js">
|
|
55
54
|
<link rel="modulepreload" crossorigin href="/assets/api-settings-Bid0NHuI.js">
|
|
56
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
55
|
+
<link rel="stylesheet" crossorigin href="/assets/index-C7esr4gM.css">
|
|
57
56
|
<link rel="manifest" href="/manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script></head>
|
|
58
57
|
<body class="bg-[#0f1419] text-[#e5e7eb] font-sans antialiased">
|
|
59
58
|
<div id="root"></div>
|