@kizenapps/cli 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1374 -605
- package/dist/index.js.map +1 -1
- package/dist/viewer/assets/AppDetailPage-Bh4FLKqJ.js +1 -0
- package/dist/viewer/assets/AppDetailPage-BoFB93TE.js +1 -0
- package/dist/viewer/assets/AppDetailPage-Ck_VyLCS.js +1 -0
- package/dist/viewer/assets/BootstrapContext-CL_onTG7.js +1 -0
- package/dist/viewer/assets/BootstrapContext-c_1rWAfc.js +1 -0
- package/dist/viewer/assets/Card-BpDJPrPZ.js +1 -0
- package/dist/viewer/assets/Card-C7KVwKfm.js +1 -0
- package/dist/viewer/assets/CodeStepsPage-BHbbvjvr.js +1 -0
- package/dist/viewer/assets/CodeStepsPage-DnjVkPGB.js +1 -0
- package/dist/viewer/assets/CodeStepsPage-vHoGY4qA.js +1 -0
- package/dist/viewer/assets/CodeViewer--wbTev7Q.js +4 -0
- package/dist/viewer/assets/CodeViewer-Cm7Th9pG.js +4 -0
- package/dist/viewer/assets/ConfigurationPage-DAVSSfuO.js +1 -0
- package/dist/viewer/assets/ConfigurationPage-_PScSEXP.js +1 -0
- package/dist/viewer/assets/ConfigurationPage-zSJDg1f4.js +1 -0
- package/dist/viewer/assets/CredentialsContext-Rkt9WDIb.js +1 -0
- package/dist/viewer/assets/CredentialsContext-k-q4M-VC.js +1 -0
- package/dist/viewer/assets/{DevSidebar-BhTD2bBO.js → DevSidebar-CKdTotWS.js} +1 -1
- package/dist/viewer/assets/DevSidebar-CcSTChgY.js +1 -0
- package/dist/viewer/assets/IconReferencePage-BhQv3kD4.js +1 -0
- package/dist/viewer/assets/IconReferencePage-C_I2Fxnr.js +1 -0
- package/dist/viewer/assets/PluginIcon-CWkWM-Eu.js +1 -0
- package/dist/viewer/assets/SandboxPage-BMz04QVs.js +1 -0
- package/dist/viewer/assets/SandboxPage-BWtQb8kY.js +1 -0
- package/dist/viewer/assets/SandboxPage-DOBUc8VL.js +1 -0
- package/dist/viewer/assets/SidebarContext-Cn8QRb77.js +1 -0
- package/dist/viewer/assets/SidebarContext-DMhpPBf_.js +1 -0
- package/dist/viewer/assets/SourceBrowserPage-C-IhTiL0.js +1 -0
- package/dist/viewer/assets/SourceBrowserPage-Cr6XOIdV.js +1 -0
- package/dist/viewer/assets/VersionsPage-Bpj4_jPC.js +1 -0
- package/dist/viewer/assets/VersionsPage-DAm4Ozs0.js +1 -0
- package/dist/viewer/assets/VersionsPage-T8tsqgQx.js +1 -0
- package/dist/viewer/assets/{api-BOqcXygX.js → api-DFDquUsn.js} +1 -1
- package/dist/viewer/assets/{api-DqAiw0w9.js → api-bszpvP9L.js} +1 -1
- package/dist/viewer/assets/bundleQuery-BQLpZ06V.js +1 -0
- package/dist/viewer/assets/bundleQuery-CjbA01rb.js +1 -0
- package/dist/viewer/assets/fa-core-BoBqCOD3.js +558 -0
- package/dist/viewer/assets/{fa-core-wsCxaNB7.js → fa-core-C4eeAd4v.js} +1 -1
- package/dist/viewer/assets/formatBytes-BCP0hIUu.js +1 -0
- package/dist/viewer/assets/index-7CwR8Ogd.js +5 -0
- package/dist/viewer/assets/index-CCB9tECd.css +2 -0
- package/dist/viewer/assets/index-FEIsXxbf.js +5 -0
- package/dist/viewer/assets/index-fU82pXSW.js +5 -0
- package/dist/viewer/assets/{react-CyWK9rg5.js → react-CmC5kGa_.js} +1 -1
- package/dist/viewer/assets/{react-CkuOm_dq.js → react-csXWLXSE.js} +1 -1
- package/dist/viewer/assets/{recordDetail.worker-BIHPFt8Y.js → recordDetail.worker-C0-mQTaj.js} +1 -1
- package/dist/viewer/assets/useCriticalExceptionDialog-BeVl0uaO.js +14 -0
- package/dist/viewer/assets/useCriticalExceptionDialog-DseJ_u9B.js +14 -0
- package/dist/viewer/assets/useCurrentApp-CWtSEVC4.js +1 -0
- package/dist/viewer/assets/useCurrentApp-x1p8URhM.js +1 -0
- package/dist/viewer/assets/{useLocalStorage-BWwvt0nG.js → useLocalStorage-HYhrPUxS.js} +1 -1
- package/dist/viewer/assets/{useLocalStorage-BlZWItfY.js → useLocalStorage-eJ1PxgAP.js} +1 -1
- package/dist/viewer/assets/{useNavigate-9J1ZzN1J.js → useNavigate-BblEmQ3O.js} +1 -1
- package/dist/viewer/assets/{useNavigate-V8wjv5GQ.js → useNavigate-Ci7hClRo.js} +1 -1
- package/dist/viewer/assets/useQuery-5OkVbV1s.js +1 -0
- package/dist/viewer/assets/useQuery-B3Ek2Yet.js +1 -0
- package/dist/viewer/assets/{validIcons-UmfwFGTT.js → validIcons-BzGQ4tWD.js} +1 -1
- package/dist/viewer/assets/{validIcons-Dqgxgpv-.js → validIcons-CzxkK9y8.js} +1 -1
- package/dist/viewer/index.html +12 -10
- package/package.json +3 -6
- package/dist/viewer/assets/AppDetailPage-BPvWscWJ.js +0 -1
- package/dist/viewer/assets/AppDetailPage-DIuYKCTQ.js +0 -1
- package/dist/viewer/assets/AppDetailPage-r3jzO9Kf.js +0 -1
- package/dist/viewer/assets/BootstrapContext-CExPp3R2.js +0 -1
- package/dist/viewer/assets/BootstrapContext-CTQMWXf-.js +0 -1
- package/dist/viewer/assets/BootstrapContext-DbnbWmQT.js +0 -1
- package/dist/viewer/assets/Card-Bmn1HMWl.js +0 -1
- package/dist/viewer/assets/Card-DMz6T3VL.js +0 -1
- package/dist/viewer/assets/Card-DsqKctyM.js +0 -1
- package/dist/viewer/assets/CodeStepsPage-BHqLfCdV.js +0 -4
- package/dist/viewer/assets/CodeStepsPage-BymhEfzO.js +0 -4
- package/dist/viewer/assets/CodeStepsPage-CD_MhDwY.js +0 -4
- package/dist/viewer/assets/CodeStepsPage-CgI-LqEx.js +0 -4
- package/dist/viewer/assets/CodeStepsPage-Dak3saZE.js +0 -5
- package/dist/viewer/assets/CodeStepsPage-Zj6DscGd.js +0 -4
- package/dist/viewer/assets/ConfigurationPage-Cjy9TH3N.js +0 -1
- package/dist/viewer/assets/ConfigurationPage-DmX-6MM-.js +0 -1
- package/dist/viewer/assets/ConfigurationPage-J56kCD_e.js +0 -1
- package/dist/viewer/assets/CredentialsContext-Xbse1T0q.js +0 -1
- package/dist/viewer/assets/CredentialsContext-zl2e9kpM.js +0 -1
- package/dist/viewer/assets/DevSidebar-B30mgxSn.js +0 -1
- package/dist/viewer/assets/DevSidebar-CsEdCTej.js +0 -1
- package/dist/viewer/assets/IconReferencePage-B6j9wlte.js +0 -1
- package/dist/viewer/assets/IconReferencePage-CJa9yg9Z.js +0 -1
- package/dist/viewer/assets/IconReferencePage-Q5I-lMFQ.js +0 -1
- package/dist/viewer/assets/SandboxPage-C0h7GUkw.js +0 -1
- package/dist/viewer/assets/SandboxPage-GDcydJnJ.js +0 -1
- package/dist/viewer/assets/SandboxPage-JREBQ4id.js +0 -1
- package/dist/viewer/assets/SidebarContext-BPkYyxET.js +0 -1
- package/dist/viewer/assets/SidebarContext-DVDXFWJI.js +0 -1
- package/dist/viewer/assets/SidebarContext-HucmR353.js +0 -1
- package/dist/viewer/assets/VersionsPage-B76eugMm.js +0 -1
- package/dist/viewer/assets/VersionsPage-BIpB0iBz.js +0 -1
- package/dist/viewer/assets/VersionsPage-D0qenxK5.js +0 -1
- package/dist/viewer/assets/bundleQuery-206rQR6g.js +0 -1
- package/dist/viewer/assets/bundleQuery-L4H4wq5q.js +0 -1
- package/dist/viewer/assets/fa-core-DaD7O-yO.js +0 -558
- package/dist/viewer/assets/index-BPiwld5D.js +0 -5
- package/dist/viewer/assets/index-BiyeMU_r.css +0 -2
- package/dist/viewer/assets/index-BlJv_543.js +0 -5
- package/dist/viewer/assets/index-CAYNux5J.js +0 -5
- package/dist/viewer/assets/index-D4AnoAXz.js +0 -5
- package/dist/viewer/assets/index-D8Koqlb-.js +0 -5
- package/dist/viewer/assets/index-DKrC0qkC.js +0 -5
- package/dist/viewer/assets/useLocalStorage-CQO0VGQ6.js +0 -1
- package/dist/viewer/assets/useObjectLookups-BAqe9wvu.js +0 -14
- package/dist/viewer/assets/useObjectLookups-C65zm-bM.js +0 -14
- package/dist/viewer/assets/useObjectLookups-CslM2vSA.js +0 -14
- /package/dist/viewer/assets/{CodeStepsPage-DdKuH37F.css → CodeViewer-DdKuH37F.css} +0 -0
- /package/dist/viewer/assets/{fa-pro-icons-CiTC899m.js → fa-pro-icons-Dr3O0gTt.js} +0 -0
- /package/dist/viewer/assets/{fa-pro-icons-Dzkwxnip.js → fa-pro-icons-j8-_MCQ7.js} +0 -0
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{n as e,t}from"./rolldown-runtime-DF2fYuay.js";import{A as n,T as r,j as i,k as a,x as o}from"./fa-core-BoBqCOD3.js";var s=t(((e,t)=>{function n(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw Error(`map is read-only`)}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw Error(`set is read-only`)}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{let r=e[t],i=typeof r;(i===`object`||i===`function`)&&!Object.isFrozen(r)&&n(r)}),e}var r=class{constructor(e){e.data===void 0&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}};function i(e){return e.replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function a(e,...t){let n=Object.create(null);for(let t in e)n[t]=e[t];return t.forEach(function(e){for(let t in e)n[t]=e[t]}),n}var o=`</span>`,s=e=>!!e.scope,c=(e,{prefix:t})=>{if(e.startsWith(`language:`))return e.replace(`language:`,`language-`);if(e.includes(`.`)){let n=e.split(`.`);return[`${t}${n.shift()}`,...n.map((e,t)=>`${e}${`_`.repeat(t+1)}`)].join(` `)}return`${t}${e}`},l=class{constructor(e,t){this.buffer=``,this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=i(e)}openNode(e){if(!s(e))return;let t=c(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){s(e)&&(this.buffer+=o)}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}},u=(e={})=>{let t={children:[]};return Object.assign(t,e),t},d=class e{constructor(){this.rootNode=u(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){let t=u({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return typeof t==`string`?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(t){typeof t!=`string`&&t.children&&(t.children.every(e=>typeof e==`string`)?t.children=[t.children.join(``)]:t.children.forEach(t=>{e._collapse(t)}))}},f=class extends d{constructor(e){super(),this.options=e}addText(e){e!==``&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){let n=e.root;t&&(n.scope=`language:${t}`),this.add(n)}toHTML(){return new l(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}};function p(e){return e?typeof e==`string`?e:e.source:null}function m(e){return _(`(?=`,e,`)`)}function h(e){return _(`(?:`,e,`)*`)}function g(e){return _(`(?:`,e,`)?`)}function _(...e){return e.map(e=>p(e)).join(``)}function v(e){let t=e[e.length-1];return typeof t==`object`&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function y(...e){return`(`+(v(e).capture?``:`?:`)+e.map(e=>p(e)).join(`|`)+`)`}function b(e){return RegExp(e.toString()+`|`).exec(``).length-1}function x(e,t){let n=e&&e.exec(t);return n&&n.index===0}var S=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function C(e,{joinWith:t}){let n=0;return e.map(e=>{n+=1;let t=n,r=p(e),i=``;for(;r.length>0;){let e=S.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),e[0][0]===`\\`&&e[1]?i+=`\\`+String(Number(e[1])+t):(i+=e[0],e[0]===`(`&&n++)}return i}).map(e=>`(${e})`).join(t)}var w=/\b\B/,T=`[a-zA-Z]\\w*`,E=`[a-zA-Z_]\\w*`,D=`\\b\\d+(\\.\\d+)?`,O=`(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)`,k=`\\b(0b[01]+)`,A=`!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~`,j=(e={})=>{let t=/^#![ ]*\//;return e.binary&&(e.begin=_(t,/.*\b/,e.binary,/\b.*/)),a({scope:`meta`,begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{e.index!==0&&t.ignoreMatch()}},e)},M={begin:`\\\\[\\s\\S]`,relevance:0},N={scope:`string`,begin:`'`,end:`'`,illegal:`\\n`,contains:[M]},P={scope:`string`,begin:`"`,end:`"`,illegal:`\\n`,contains:[M]},F={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},I=function(e,t,n={}){let r=a({scope:`comment`,begin:e,end:t,contains:[]},n);r.contains.push({scope:`doctag`,begin:`[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)`,end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});let i=y(`I`,`a`,`is`,`so`,`us`,`to`,`at`,`if`,`in`,`it`,`on`,/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:_(/[ ]+/,`(`,i,/[.]?[:]?([.][ ]|[ ])/,`){3}`)}),r},L=I(`//`,`$`),R=I(`/\\*`,`\\*/`),z=I(`#`,`$`),B={scope:`number`,begin:D,relevance:0},V={scope:`number`,begin:O,relevance:0},H={scope:`number`,begin:k,relevance:0},ee={scope:`regexp`,begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[M,{begin:/\[/,end:/\]/,relevance:0,contains:[M]}]},U={scope:`title`,begin:T,relevance:0},W={scope:`title`,begin:E,relevance:0},te={begin:`\\.\\s*`+E,relevance:0},G=Object.freeze({__proto__:null,APOS_STRING_MODE:N,BACKSLASH_ESCAPE:M,BINARY_NUMBER_MODE:H,BINARY_NUMBER_RE:k,COMMENT:I,C_BLOCK_COMMENT_MODE:R,C_LINE_COMMENT_MODE:L,C_NUMBER_MODE:V,C_NUMBER_RE:O,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:z,IDENT_RE:T,MATCH_NOTHING_RE:w,METHOD_GUARD:te,NUMBER_MODE:B,NUMBER_RE:D,PHRASAL_WORDS_MODE:F,QUOTE_STRING_MODE:P,REGEXP_MODE:ee,RE_STARTERS_RE:A,SHEBANG:j,TITLE_MODE:U,UNDERSCORE_IDENT_RE:E,UNDERSCORE_TITLE_MODE:W});function ne(e,t){e.input[e.index-1]===`.`&&t.ignoreMatch()}function re(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function ie(e,t){t&&e.beginKeywords&&(e.begin=`\\b(`+e.beginKeywords.split(` `).join(`|`)+`)(?!\\.)(?=\\b|\\s)`,e.__beforeBegin=ne,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function ae(e,t){Array.isArray(e.illegal)&&(e.illegal=y(...e.illegal))}function oe(e,t){if(e.match){if(e.begin||e.end)throw Error(`begin & end are not supported with match`);e.begin=e.match,delete e.match}}function se(e,t){e.relevance===void 0&&(e.relevance=1)}var ce=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw Error(`beforeMatch cannot be used with starts`);let n=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=n.keywords,e.begin=_(n.beforeMatch,m(n.begin)),e.starts={relevance:0,contains:[Object.assign(n,{endsParent:!0})]},e.relevance=0,delete n.beforeMatch},le=[`of`,`and`,`for`,`in`,`not`,`or`,`if`,`then`,`parent`,`list`,`value`],ue=`keyword`;function K(e,t,n=ue){let r=Object.create(null);return typeof e==`string`?i(n,e.split(` `)):Array.isArray(e)?i(n,e):Object.keys(e).forEach(function(n){Object.assign(r,K(e[n],t,n))}),r;function i(e,n){t&&(n=n.map(e=>e.toLowerCase())),n.forEach(function(t){let n=t.split(`|`);r[n[0]]=[e,de(n[0],n[1])]})}}function de(e,t){return t?Number(t):+!fe(e)}function fe(e){return le.includes(e.toLowerCase())}var q={},J=e=>{console.error(e)},Y=(e,...t)=>{console.log(`WARN: ${e}`,...t)},X=(e,t)=>{q[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),q[`${e}/${t}`]=!0)},Z=Error();function pe(e,t,{key:n}){let r=0,i=e[n],a={},o={};for(let e=1;e<=t.length;e++)o[e+r]=i[e],a[e+r]=!0,r+=b(t[e-1]);e[n]=o,e[n]._emit=a,e[n]._multi=!0}function me(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw J(`skip, excludeBegin, returnBegin not compatible with beginScope: {}`),Z;if(typeof e.beginScope!=`object`||e.beginScope===null)throw J(`beginScope must be object`),Z;pe(e,e.begin,{key:`beginScope`}),e.begin=C(e.begin,{joinWith:``})}}function he(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw J(`skip, excludeEnd, returnEnd not compatible with endScope: {}`),Z;if(typeof e.endScope!=`object`||e.endScope===null)throw J(`endScope must be object`),Z;pe(e,e.end,{key:`endScope`}),e.end=C(e.end,{joinWith:``})}}function ge(e){e.scope&&typeof e.scope==`object`&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function _e(e){ge(e),typeof e.beginScope==`string`&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope==`string`&&(e.endScope={_wrap:e.endScope}),me(e),he(e)}function ve(e){function t(t,n){return new RegExp(p(t),`m`+(e.case_insensitive?`i`:``)+(e.unicodeRegex?`u`:``)+(n?`g`:``))}class n{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=b(e)+1}compile(){this.regexes.length===0&&(this.exec=()=>null),this.matcherRe=t(C(this.regexes.map(e=>e[1]),{joinWith:`|`}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;let t=this.matcherRe.exec(e);if(!t)return null;let n=t.findIndex((e,t)=>t>0&&e!==void 0),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];let t=new n;return this.rules.slice(e).forEach(([e,n])=>t.addRule(e,n)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),t.type===`begin`&&this.count++}exec(e){let t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition()&&!(n&&n.index===this.lastIndex)){let t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}function i(e){let t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:`begin`})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:`end`}),e.illegal&&t.addRule(e.illegal,{type:`illegal`}),t}function o(n,r){let a=n;if(n.isCompiled)return a;[re,oe,_e,ce].forEach(e=>e(n,r)),e.compilerExtensions.forEach(e=>e(n,r)),n.__beforeBegin=null,[ie,ae,se].forEach(e=>e(n,r)),n.isCompiled=!0;let s=null;return typeof n.keywords==`object`&&n.keywords.$pattern&&(n.keywords=Object.assign({},n.keywords),s=n.keywords.$pattern,delete n.keywords.$pattern),s||=/\w+/,n.keywords&&=K(n.keywords,e.case_insensitive),a.keywordPatternRe=t(s,!0),r&&(n.begin||=/\B|\b/,a.beginRe=t(a.begin),!n.end&&!n.endsWithParent&&(n.end=/\B|\b/),n.end&&(a.endRe=t(a.end)),a.terminatorEnd=p(a.end)||``,n.endsWithParent&&r.terminatorEnd&&(a.terminatorEnd+=(n.end?`|`:``)+r.terminatorEnd)),n.illegal&&(a.illegalRe=t(n.illegal)),n.contains||=[],n.contains=[].concat(...n.contains.map(function(e){return be(e===`self`?n:e)})),n.contains.forEach(function(e){o(e,a)}),n.starts&&o(n.starts,r),a.matcher=i(a),a}if(e.compilerExtensions||=[],e.contains&&e.contains.includes(`self`))throw Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=a(e.classNameAliases||{}),o(e)}function ye(e){return e?e.endsWithParent||ye(e.starts):!1}function be(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return a(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:ye(e)?a(e,{starts:e.starts?a(e.starts):null}):Object.isFrozen(e)?a(e):e}var xe=`11.11.1`,Se=class extends Error{constructor(e,t){super(e),this.name=`HTMLInjectionError`,this.html=t}},Q=i,Ce=a,we=Symbol(`nomatch`),Te=7,Ee=function(e){let t=Object.create(null),i=Object.create(null),a=[],o=!0,s=`Could not find the language '{}', did you forget to load/include a language module?`,c={disableAutodetect:!0,name:`Plain text`,contains:[]},l={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:`hljs-`,cssSelector:`pre code`,languages:null,__emitter:f};function u(e){return l.noHighlightRe.test(e)}function d(e){let t=e.className+` `;t+=e.parentNode?e.parentNode.className:``;let n=l.languageDetectRe.exec(t);if(n){let t=N(n[1]);return t||(Y(s.replace(`{}`,n[1])),Y(`Falling back to no-highlight mode for this block.`,e)),t?n[1]:`no-highlight`}return t.split(/\s+/).find(e=>u(e)||N(e))}function p(e,t,n){let r=``,i=``;typeof t==`object`?(r=e,n=t.ignoreIllegals,i=t.language):(X(`10.7.0`,`highlight(lang, code, ...args) has been deprecated.`),X(`10.7.0`,`Please use highlight(code, options) instead.
|
|
2
|
+
https://github.com/highlightjs/highlight.js/issues/2277`),i=e,r=t),n===void 0&&(n=!0);let a={code:r,language:i};z(`before:highlight`,a);let o=a.result?a.result:v(a.language,a.code,n);return o.code=a.code,z(`after:highlight`,o),o}function v(e,n,i,a){let c=Object.create(null);function u(e,t){return e.keywords[t]}function d(){if(!A.keywords){M.addText(P);return}let e=0;A.keywordPatternRe.lastIndex=0;let t=A.keywordPatternRe.exec(P),n=``;for(;t;){n+=P.substring(e,t.index);let r=D.case_insensitive?t[0].toLowerCase():t[0],i=u(A,r);if(i){let[e,a]=i;if(M.addText(n),n=``,c[r]=(c[r]||0)+1,c[r]<=Te&&(F+=a),e.startsWith(`_`))n+=t[0];else{let n=D.classNameAliases[e]||e;m(t[0],n)}}else n+=t[0];e=A.keywordPatternRe.lastIndex,t=A.keywordPatternRe.exec(P)}n+=P.substring(e),M.addText(n)}function f(){if(P===``)return;let e=null;if(typeof A.subLanguage==`string`){if(!t[A.subLanguage]){M.addText(P);return}e=v(A.subLanguage,P,!0,j[A.subLanguage]),j[A.subLanguage]=e._top}else e=S(P,A.subLanguage.length?A.subLanguage:null);A.relevance>0&&(F+=e.relevance),M.__addSublanguage(e._emitter,e.language)}function p(){A.subLanguage==null?d():f(),P=``}function m(e,t){e!==``&&(M.startScope(t),M.addText(e),M.endScope())}function h(e,t){let n=1,r=t.length-1;for(;n<=r;){if(!e._emit[n]){n++;continue}let r=D.classNameAliases[e[n]]||e[n],i=t[n];r?m(i,r):(P=i,d(),P=``),n++}}function g(e,t){return e.scope&&typeof e.scope==`string`&&M.openNode(D.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(m(P,D.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),P=``):e.beginScope._multi&&(h(e.beginScope,t),P=``)),A=Object.create(e,{parent:{value:A}}),A}function _(e,t,n){let i=x(e.endRe,n);if(i){if(e[`on:end`]){let n=new r(e);e[`on:end`](t,n),n.isMatchIgnored&&(i=!1)}if(i){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return _(e.parent,t,n)}function y(e){return A.matcher.regexIndex===0?(P+=e[0],1):(R=!0,0)}function b(e){let t=e[0],n=e.rule,i=new r(n),a=[n.__beforeBegin,n[`on:begin`]];for(let n of a)if(n&&(n(e,i),i.isMatchIgnored))return y(t);return n.skip?P+=t:(n.excludeBegin&&(P+=t),p(),!n.returnBegin&&!n.excludeBegin&&(P=t)),g(n,e),n.returnBegin?0:t.length}function C(e){let t=e[0],r=n.substring(e.index),i=_(A,e,r);if(!i)return we;let a=A;A.endScope&&A.endScope._wrap?(p(),m(t,A.endScope._wrap)):A.endScope&&A.endScope._multi?(p(),h(A.endScope,e)):a.skip?P+=t:(a.returnEnd||a.excludeEnd||(P+=t),p(),a.excludeEnd&&(P=t));do A.scope&&M.closeNode(),!A.skip&&!A.subLanguage&&(F+=A.relevance),A=A.parent;while(A!==i.parent);return i.starts&&g(i.starts,e),a.returnEnd?0:t.length}function w(){let e=[];for(let t=A;t!==D;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>M.openNode(e))}let T={};function E(t,r){let a=r&&r[0];if(P+=t,a==null)return p(),0;if(T.type===`begin`&&r.type===`end`&&T.index===r.index&&a===``){if(P+=n.slice(r.index,r.index+1),!o){let t=Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=T.rule,t}return 1}if(T=r,r.type===`begin`)return b(r);if(r.type===`illegal`&&!i){let e=Error(`Illegal lexeme "`+a+`" for mode "`+(A.scope||`<unnamed>`)+`"`);throw e.mode=A,e}else if(r.type===`end`){let e=C(r);if(e!==we)return e}if(r.type===`illegal`&&a===``)return P+=`
|
|
3
|
+
`,1;if(L>1e5&&L>r.index*3)throw Error(`potential infinite loop, way more iterations than matches`);return P+=a,a.length}let D=N(e);if(!D)throw J(s.replace(`{}`,e)),Error(`Unknown language: "`+e+`"`);let O=ve(D),k=``,A=a||O,j={},M=new l.__emitter(l);w();let P=``,F=0,I=0,L=0,R=!1;try{if(D.__emitTokens)D.__emitTokens(n,M);else{for(A.matcher.considerAll();;){L++,R?R=!1:A.matcher.considerAll(),A.matcher.lastIndex=I;let e=A.matcher.exec(n);if(!e)break;let t=E(n.substring(I,e.index),e);I=e.index+t}E(n.substring(I))}return M.finalize(),k=M.toHTML(),{language:e,value:k,relevance:F,illegal:!1,_emitter:M,_top:A}}catch(t){if(t.message&&t.message.includes(`Illegal`))return{language:e,value:Q(n),illegal:!0,relevance:0,_illegalBy:{message:t.message,index:I,context:n.slice(I-100,I+100),mode:t.mode,resultSoFar:k},_emitter:M};if(o)return{language:e,value:Q(n),illegal:!1,relevance:0,errorRaised:t,_emitter:M,_top:A};throw t}}function b(e){let t={value:Q(e),illegal:!1,relevance:0,_top:c,_emitter:new l.__emitter(l)};return t._emitter.addText(e),t}function S(e,n){n=n||l.languages||Object.keys(t);let r=b(e),i=n.filter(N).filter(F).map(t=>v(t,e,!1));i.unshift(r);let[a,o]=i.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(N(e.language).supersetOf===t.language)return 1;if(N(t.language).supersetOf===e.language)return-1}return 0}),s=a;return s.secondBest=o,s}function C(e,t,n){let r=t&&i[t]||n;e.classList.add(`hljs`),e.classList.add(`language-${r}`)}function w(e){let t=null,n=d(e);if(u(n))return;if(z(`before:highlightElement`,{el:e,language:n}),e.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);return}if(e.children.length>0&&(l.ignoreUnescapedHTML||(console.warn(`One of your code blocks includes unescaped HTML. This is a potentially serious security risk.`),console.warn(`https://github.com/highlightjs/highlight.js/wiki/security`),console.warn(`The element with unescaped HTML:`),console.warn(e)),l.throwUnescapedHTML))throw new Se(`One of your code blocks includes unescaped HTML.`,e.innerHTML);t=e;let r=t.textContent,i=n?p(r,{language:n,ignoreIllegals:!0}):S(r);e.innerHTML=i.value,e.dataset.highlighted=`yes`,C(e,n,i.language),e.result={language:i.language,re:i.relevance,relevance:i.relevance},i.secondBest&&(e.secondBest={language:i.secondBest.language,relevance:i.secondBest.relevance}),z(`after:highlightElement`,{el:e,result:i,text:r})}function T(e){l=Ce(l,e)}let E=()=>{k(),X(`10.6.0`,`initHighlighting() deprecated. Use highlightAll() now.`)};function D(){k(),X(`10.6.0`,`initHighlightingOnLoad() deprecated. Use highlightAll() now.`)}let O=!1;function k(){function e(){k()}if(document.readyState===`loading`){O||window.addEventListener(`DOMContentLoaded`,e,!1),O=!0;return}document.querySelectorAll(l.cssSelector).forEach(w)}function A(n,r){let i=null;try{i=r(e)}catch(e){if(J(`Language definition for '{}' could not be registered.`.replace(`{}`,n)),o)J(e);else throw e;i=c}i.name||=n,t[n]=i,i.rawDefinition=r.bind(null,e),i.aliases&&P(i.aliases,{languageName:n})}function j(e){delete t[e];for(let t of Object.keys(i))i[t]===e&&delete i[t]}function M(){return Object.keys(t)}function N(e){return e=(e||``).toLowerCase(),t[e]||t[i[e]]}function P(e,{languageName:t}){typeof e==`string`&&(e=[e]),e.forEach(e=>{i[e.toLowerCase()]=t})}function F(e){let t=N(e);return t&&!t.disableAutodetect}function I(e){e[`before:highlightBlock`]&&!e[`before:highlightElement`]&&(e[`before:highlightElement`]=t=>{e[`before:highlightBlock`](Object.assign({block:t.el},t))}),e[`after:highlightBlock`]&&!e[`after:highlightElement`]&&(e[`after:highlightElement`]=t=>{e[`after:highlightBlock`](Object.assign({block:t.el},t))})}function L(e){I(e),a.push(e)}function R(e){let t=a.indexOf(e);t!==-1&&a.splice(t,1)}function z(e,t){let n=e;a.forEach(function(e){e[n]&&e[n](t)})}function B(e){return X(`10.7.0`,`highlightBlock will be removed entirely in v12.0`),X(`10.7.0`,`Please use highlightElement now.`),w(e)}Object.assign(e,{highlight:p,highlightAuto:S,highlightAll:k,highlightElement:w,highlightBlock:B,configure:T,initHighlighting:E,initHighlightingOnLoad:D,registerLanguage:A,unregisterLanguage:j,listLanguages:M,getLanguage:N,registerAliases:P,autoDetection:F,inherit:Ce,addPlugin:L,removePlugin:R}),e.debugMode=function(){o=!1},e.safeMode=function(){o=!0},e.versionString=xe,e.regex={concat:_,lookahead:m,either:y,optional:g,anyNumberOfTimes:h};for(let e in G)typeof G[e]==`object`&&n(G[e]);return Object.assign(e,G),e},$=Ee({});$.newInstance=()=>Ee({}),t.exports=$,$.HighlightJS=$,$.default=$})),c=e(i(),1),l=e(s()).default;function u(e){let t=e.regex,n=/[\p{XID_Start}_]\p{XID_Continue}*/u,r=`and.as.assert.async.await.break.case.class.continue.def.del.elif.else.except.finally.for.from.global.if.import.in.is.lambda.match.nonlocal|10.not.or.pass.raise.return.try.while.with.yield`.split(`.`),i={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:r,built_in:`__import__.abs.all.any.ascii.bin.bool.breakpoint.bytearray.bytes.callable.chr.classmethod.compile.complex.delattr.dict.dir.divmod.enumerate.eval.exec.filter.float.format.frozenset.getattr.globals.hasattr.hash.help.hex.id.input.int.isinstance.issubclass.iter.len.list.locals.map.max.memoryview.min.next.object.oct.open.ord.pow.print.property.range.repr.reversed.round.set.setattr.slice.sorted.staticmethod.str.sum.super.tuple.type.vars.zip`.split(`.`),literal:[`__debug__`,`Ellipsis`,`False`,`None`,`NotImplemented`,`True`],type:[`Any`,`Callable`,`Coroutine`,`Dict`,`List`,`Literal`,`Generic`,`Optional`,`Sequence`,`Set`,`Tuple`,`Type`,`Union`]},a={className:`meta`,begin:/^(>>>|\.\.\.) /},o={className:`subst`,begin:/\{/,end:/\}/,keywords:i,illegal:/#/},s={begin:/\{\{/,relevance:0},c={className:`string`,contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,a,s,o]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,s,o]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,o]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},l=`[0-9](_?[0-9])*`,u=`(\\b(${l}))?\\.(${l})|\\b(${l})\\.`,d=`\\b|${r.join(`|`)}`,f={className:`number`,relevance:0,variants:[{begin:`(\\b(${l})|(${u}))[eE][+-]?(${l})[jJ]?(?=${d})`},{begin:`(${u})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${d})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${d})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${d})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${d})`},{begin:`\\b(${l})[jJ](?=${d})`}]},p={className:`comment`,begin:t.lookahead(/# type:/),end:/$/,keywords:i,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},m={className:`params`,variants:[{className:``,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:[`self`,a,f,c,e.HASH_COMMENT_MODE]}]};return o.contains=[c,f,a],{name:`Python`,aliases:[`py`,`gyp`,`ipython`],unicodeRegex:!0,keywords:i,illegal:/(<\/|\?)|=>/,contains:[a,f,{scope:`variable.language`,match:/\bself\b/},{beginKeywords:`if`,relevance:0},{match:/\bor\b/,scope:`keyword`},c,p,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,n],scope:{1:`keyword`,3:`title.function`},contains:[m]},{variants:[{match:[/\bclass/,/\s+/,n,/\s*/,/\(\s*/,n,/\s*\)/]},{match:[/\bclass/,/\s+/,n]}],scope:{1:`keyword`,3:`title.class`,6:`title.class.inherited`}},{className:`meta`,begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[f,m,c]}]}}var d=`[A-Za-z$_][0-9A-Za-z$_]*`,f=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends.using`.split(`.`),p=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],m=`Object.Function.Boolean.Symbol.Math.Date.Number.BigInt.String.RegExp.Array.Float32Array.Float64Array.Int8Array.Uint8Array.Uint8ClampedArray.Int16Array.Int32Array.Uint16Array.Uint32Array.BigInt64Array.BigUint64Array.Set.Map.WeakSet.WeakMap.ArrayBuffer.SharedArrayBuffer.Atomics.DataView.JSON.Promise.Generator.GeneratorFunction.AsyncFunction.Reflect.Proxy.Intl.WebAssembly`.split(`.`),h=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],g=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`],_=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`global`],v=[].concat(g,m,h);function y(e){let t=e.regex,n=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},r=d,i={begin:`<>`,end:`</>`},a=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{let r=e[0].length+e.index,i=e.input[r];if(i===`<`||i===`,`){t.ignoreMatch();return}i===`>`&&(n(e,{after:r})||t.ignoreMatch());let a,o=e.input.substring(r);if(a=o.match(/^\s*=/)){t.ignoreMatch();return}if((a=o.match(/^\s+extends\s+/))&&a.index===0){t.ignoreMatch();return}}},s={$pattern:d,keyword:f,literal:p,built_in:v,"variable.language":_},c=`[0-9](_?[0-9])*`,l=`\\.(${c})`,u=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,y={className:`number`,variants:[{begin:`(\\b(${u})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${u})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},b={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:s,contains:[]},x={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`xml`}},S={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`css`}},C={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,b],subLanguage:`graphql`}},w={className:`string`,begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,b]},T={className:`comment`,variants:[e.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:r+`(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},E=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,x,S,C,w,{match:/\$\d+/},y];b.contains=E.concat({begin:/\{/,end:/\}/,keywords:s,contains:[`self`].concat(E)});let D=[].concat(T,b.contains),O=D.concat([{begin:/(\s*)\(/,end:/\)/,keywords:s,contains:[`self`].concat(D)}]),k={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:O},A={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,`(`,t.concat(/\./,r),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,r],scope:{1:`keyword`,3:`title.class`}}]},j={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...m,...h]}},M={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},N={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[k],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function F(e){return t.concat(`(?!`,e.join(`|`),`)`)}let I={match:t.concat(/\b/,F([...g,`super`,`import`].map(e=>`${e}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:`title.function`,relevance:0},L={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},R={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},k]},z=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+e.UNDERSCORE_IDENT_RE+`)\\s*=>`,B={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(z)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[k]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:s,exports:{PARAMS_CONTAINS:O,CLASS_REFERENCE:j},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),M,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,x,S,C,w,T,{match:/\$\d+/},y,j,{scope:`attr`,match:r+t.lookahead(`:`),relevance:0},B,{begin:`(`+e.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[T,e.REGEXP_MODE,{className:`function`,begin:z,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:O}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:a},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:`xml`,contains:[{begin:o.begin,end:o.end,skip:!0,contains:[`self`]}]}]},N,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+e.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[k,e.inherit(e.TITLE_MODE,{begin:r,className:`title.function`})]},{match:/\.\.\./,relevance:0},L,{match:`\\$`+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[k]},I,P,A,R,{match:/\$[(.]/}]}}function b(e){let t=e.regex,n=y(e),r=d,i=[`any`,`void`,`number`,`boolean`,`string`,`object`,`never`,`symbol`,`bigint`,`unknown`],a={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:`keyword`,3:`title.class`}},o={beginKeywords:`interface`,end:/\{/,excludeEnd:!0,keywords:{keyword:`interface extends`,built_in:i},contains:[n.exports.CLASS_REFERENCE]},s={className:`meta`,relevance:10,begin:/^\s*['"]use strict['"]/},c={$pattern:d,keyword:f.concat([`type`,`interface`,`public`,`private`,`protected`,`implements`,`declare`,`abstract`,`readonly`,`enum`,`override`,`satisfies`]),literal:p,built_in:v.concat(i),"variable.language":_},l={className:`meta`,begin:`@`+r},u=(e,t,n)=>{let r=e.contains.findIndex(e=>e.label===t);if(r===-1)throw Error(`can not find mode to replace`);e.contains.splice(r,1,n)};Object.assign(n.keywords,c),n.exports.PARAMS_CONTAINS.push(l);let m=n.contains.find(e=>e.scope===`attr`),h=Object.assign({},m,{match:t.concat(r,t.lookahead(/\s*\?:/))});n.exports.PARAMS_CONTAINS.push([n.exports.CLASS_REFERENCE,m,h]),n.contains=n.contains.concat([l,a,o,h]),u(n,`shebang`,e.SHEBANG()),u(n,`use_strict`,s);let g=n.contains.find(e=>e.label===`func.def`);return g.relevance=0,Object.assign(n,{name:`TypeScript`,aliases:[`ts`,`tsx`,`mts`,`cts`]}),n}var x=`[A-Za-z$_][0-9A-Za-z$_]*`,S=`as.in.of.if.for.while.finally.var.new.function.do.return.void.else.break.catch.instanceof.with.throw.case.default.try.switch.continue.typeof.delete.let.yield.const.class.debugger.async.await.static.import.from.export.extends.using`.split(`.`),C=[`true`,`false`,`null`,`undefined`,`NaN`,`Infinity`],w=`Object.Function.Boolean.Symbol.Math.Date.Number.BigInt.String.RegExp.Array.Float32Array.Float64Array.Int8Array.Uint8Array.Uint8ClampedArray.Int16Array.Int32Array.Uint16Array.Uint32Array.BigInt64Array.BigUint64Array.Set.Map.WeakSet.WeakMap.ArrayBuffer.SharedArrayBuffer.Atomics.DataView.JSON.Promise.Generator.GeneratorFunction.AsyncFunction.Reflect.Proxy.Intl.WebAssembly`.split(`.`),T=[`Error`,`EvalError`,`InternalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`],E=[`setInterval`,`setTimeout`,`clearInterval`,`clearTimeout`,`require`,`exports`,`eval`,`isFinite`,`isNaN`,`parseFloat`,`parseInt`,`decodeURI`,`decodeURIComponent`,`encodeURI`,`encodeURIComponent`,`escape`,`unescape`],D=[`arguments`,`this`,`super`,`console`,`window`,`document`,`localStorage`,`sessionStorage`,`module`,`global`],O=[].concat(E,w,T);function k(e){let t=e.regex,n=(e,{after:t})=>{let n=`</`+e[0].slice(1);return e.input.indexOf(n,t)!==-1},r=x,i={begin:`<>`,end:`</>`},a=/<[A-Za-z0-9\\._:-]+\s*\/>/,o={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{let r=e[0].length+e.index,i=e.input[r];if(i===`<`||i===`,`){t.ignoreMatch();return}i===`>`&&(n(e,{after:r})||t.ignoreMatch());let a,o=e.input.substring(r);if(a=o.match(/^\s*=/)){t.ignoreMatch();return}if((a=o.match(/^\s+extends\s+/))&&a.index===0){t.ignoreMatch();return}}},s={$pattern:x,keyword:S,literal:C,built_in:O,"variable.language":D},c=`[0-9](_?[0-9])*`,l=`\\.(${c})`,u=`0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*`,d={className:`number`,variants:[{begin:`(\\b(${u})((${l})|\\.)?|(${l}))[eE][+-]?(${c})\\b`},{begin:`\\b(${u})\\b((${l})\\b|\\.)?|(${l})\\b`},{begin:`\\b(0|[1-9](_?[0-9])*)n\\b`},{begin:`\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b`},{begin:`\\b0[bB][0-1](_?[0-1])*n?\\b`},{begin:`\\b0[oO][0-7](_?[0-7])*n?\\b`},{begin:`\\b0[0-7]+n?\\b`}],relevance:0},f={className:`subst`,begin:`\\$\\{`,end:`\\}`,keywords:s,contains:[]},p={begin:".?html`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`xml`}},m={begin:".?css`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`css`}},h={begin:".?gql`",end:``,starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:`graphql`}},g={className:`string`,begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,f]},_={className:`comment`,variants:[e.COMMENT(/\/\*\*(?!\/)/,`\\*/`,{relevance:0,contains:[{begin:`(?=@[A-Za-z]+)`,relevance:0,contains:[{className:`doctag`,begin:`@[A-Za-z]+`},{className:`type`,begin:`\\{`,end:`\\}`,excludeEnd:!0,excludeBegin:!0,relevance:0},{className:`variable`,begin:r+`(?=\\s*(-)|$)`,endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},v=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,h,g,{match:/\$\d+/},d];f.contains=v.concat({begin:/\{/,end:/\}/,keywords:s,contains:[`self`].concat(v)});let y=[].concat(_,f.contains),b=y.concat([{begin:/(\s*)\(/,end:/\)/,keywords:s,contains:[`self`].concat(y)}]),k={className:`params`,begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:b},A={variants:[{match:[/class/,/\s+/,r,/\s+/,/extends/,/\s+/,t.concat(r,`(`,t.concat(/\./,r),`)*`)],scope:{1:`keyword`,3:`title.class`,5:`keyword`,7:`title.class.inherited`}},{match:[/class/,/\s+/,r],scope:{1:`keyword`,3:`title.class`}}]},j={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:`title.class`,keywords:{_:[...w,...T]}},M={label:`use_strict`,className:`meta`,relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},N={variants:[{match:[/function/,/\s+/,r,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:`keyword`,3:`title.function`},label:`func.def`,contains:[k],illegal:/%/},P={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:`variable.constant`};function F(e){return t.concat(`(?!`,e.join(`|`),`)`)}let I={match:t.concat(/\b/,F([...E,`super`,`import`].map(e=>`${e}\\s*\\(`)),r,t.lookahead(/\s*\(/)),className:`title.function`,relevance:0},L={begin:t.concat(/\./,t.lookahead(t.concat(r,/(?![0-9A-Za-z$_(])/))),end:r,excludeBegin:!0,keywords:`prototype`,className:`property`,relevance:0},R={match:[/get|set/,/\s+/,r,/(?=\()/],className:{1:`keyword`,3:`title.function`},contains:[{begin:/\(\)/},k]},z=`(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|`+e.UNDERSCORE_IDENT_RE+`)\\s*=>`,B={match:[/const|var|let/,/\s+/,r,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(z)],keywords:`async`,className:{1:`keyword`,3:`title.function`},contains:[k]};return{name:`JavaScript`,aliases:[`js`,`jsx`,`mjs`,`cjs`],keywords:s,exports:{PARAMS_CONTAINS:b,CLASS_REFERENCE:j},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:`shebang`,binary:`node`,relevance:5}),M,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,h,g,_,{match:/\$\d+/},d,j,{scope:`attr`,match:r+t.lookahead(`:`),relevance:0},B,{begin:`(`+e.RE_STARTERS_RE+`|\\b(case|return|throw)\\b)\\s*`,keywords:`return throw case`,relevance:0,contains:[_,e.REGEXP_MODE,{className:`function`,begin:z,returnBegin:!0,end:`\\s*=>`,contains:[{className:`params`,variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:s,contains:b}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:i.begin,end:i.end},{match:a},{begin:o.begin,"on:begin":o.isTrulyOpeningTag,end:o.end}],subLanguage:`xml`,contains:[{begin:o.begin,end:o.end,skip:!0,contains:[`self`]}]}]},N,{beginKeywords:`while if switch catch for`},{begin:`\\b(?!function)`+e.UNDERSCORE_IDENT_RE+`\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{`,returnBegin:!0,label:`func.def`,contains:[k,e.inherit(e.TITLE_MODE,{begin:r,className:`title.function`})]},{match:/\.\.\./,relevance:0},L,{match:`\\$`+r,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:`title.function`},contains:[k]},I,P,A,R,{match:/\$[(.]/}]}}function A(e){let t={className:`attr`,begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},n={match:/[{}[\],:]/,className:`punctuation`,relevance:0},r=[`true`,`false`,`null`],i={scope:`literal`,beginKeywords:r.join(` `)};return{name:`JSON`,aliases:[`jsonc`],keywords:{literal:r},contains:[t,n,e.QUOTE_STRING_MODE,i,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:`\\S`}}function j(e){let t=e.regex,n=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),r=/[\p{L}0-9._:-]+/u,i={className:`symbol`,begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},a={begin:/\s/,contains:[{className:`keyword`,begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},o=e.inherit(a,{begin:/\(/,end:/\)/}),s=e.inherit(e.APOS_STRING_MODE,{className:`string`}),c=e.inherit(e.QUOTE_STRING_MODE,{className:`string`}),l={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:`attr`,begin:r,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:`string`,endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[i]},{begin:/'/,end:/'/,contains:[i]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:`HTML, XML`,aliases:[`html`,`xhtml`,`rss`,`atom`,`xjb`,`xsd`,`xsl`,`plist`,`wsf`,`svg`],case_insensitive:!0,unicodeRegex:!0,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,relevance:10,contains:[a,c,s,o,{begin:/\[/,end:/\]/,contains:[{className:`meta`,begin:/<![a-z]/,end:/>/,contains:[a,o,c,s]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},i,{className:`meta`,end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[c]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:`tag`,begin:/<style(?=\s|>)/,end:/>/,keywords:{name:`style`},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:[`css`,`xml`]}},{className:`tag`,begin:/<script(?=\s|>)/,end:/>/,keywords:{name:`script`},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:[`javascript`,`handlebars`,`xml`]}},{className:`tag`,begin:/<>|<\/>/},{className:`tag`,begin:t.concat(/</,t.lookahead(t.concat(n,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:`name`,begin:n,relevance:0,starts:l}]},{className:`tag`,begin:t.concat(/<\//,t.lookahead(t.concat(n,/>/))),contains:[{className:`name`,begin:n,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function M(e){let t=`true false yes no null`,n=`[\\w#;/?:@&=+$,.~*'()[\\]]+`,r={className:`attr`,variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},i={className:`template-variable`,variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},a={className:`string`,relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:`char.escape`,relevance:0}]},o={className:`string`,relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,i]},s=e.inherit(o,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),c={className:`number`,begin:`\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b`},l={end:`,`,endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},u={begin:/\{/,end:/\}/,contains:[l],illegal:`\\n`,relevance:0},d={begin:`\\[`,end:`\\]`,contains:[l],illegal:`\\n`,relevance:0},f=[r,{className:`meta`,begin:`^---\\s*$`,relevance:10},{className:`string`,begin:`[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*`},{begin:`<%[%=-]?`,end:`[%-]?%>`,subLanguage:`ruby`,excludeBegin:!0,excludeEnd:!0,relevance:0},{className:`type`,begin:`!\\w+!`+n},{className:`type`,begin:`!<`+n+`>`},{className:`type`,begin:`!`+n},{className:`type`,begin:`!!`+n},{className:`meta`,begin:`&`+e.UNDERSCORE_IDENT_RE+`$`},{className:`meta`,begin:`\\*`+e.UNDERSCORE_IDENT_RE+`$`},{className:`bullet`,begin:`-(?=[ ]|$)`,relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},c,{className:`number`,begin:e.C_NUMBER_RE+`\\b`,relevance:0},u,d,a,o],p=[...f];return p.pop(),p.push(s),l.contains=p,{name:`YAML`,case_insensitive:!0,aliases:[`yml`],contains:f}}function N(e){let t=e.regex,n={begin:/<\/?[A-Za-z_]/,end:`>`,subLanguage:`xml`,relevance:0},r={begin:`^[-\\*]{3,}`,end:`$`},i={className:`code`,variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:`(~{3,})[^~](.|\\n)*?\\1~*[ ]*`},{begin:"```",end:"```+[ ]*$"},{begin:`~~~`,end:`~~~+[ ]*$`},{begin:"`.+?`"},{begin:`(?=^( {4}|\\t))`,contains:[{begin:`^( {4}|\\t)`,end:`(\\n)$`}],relevance:0}]},a={className:`bullet`,begin:`^[ ]*([*+-]|(\\d+\\.))(?=\\s+)`,end:`\\s+`,excludeEnd:!0},o={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:`symbol`,begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:`link`,begin:/:\s*/,end:/$/,excludeBegin:!0}]},s={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,/[A-Za-z][A-Za-z0-9+.-]*/,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:`string`,relevance:0,begin:`\\[`,end:`\\]`,excludeBegin:!0,returnEnd:!0},{className:`link`,relevance:0,begin:`\\]\\(`,end:`\\)`,excludeBegin:!0,excludeEnd:!0},{className:`symbol`,relevance:0,begin:`\\]\\[`,end:`\\]`,excludeBegin:!0,excludeEnd:!0}]},c={className:`strong`,contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},l={className:`emphasis`,contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},u=e.inherit(c,{contains:[]}),d=e.inherit(l,{contains:[]});c.contains.push(d),l.contains.push(u);let f=[n,s];return[c,l,u,d].forEach(e=>{e.contains=e.contains.concat(f)}),f=f.concat(c,l),{name:`Markdown`,aliases:[`md`,`mkdown`,`mkd`],contains:[{className:`section`,variants:[{begin:`^#{1,6}`,end:`$`,contains:f},{begin:`(?=^.+?\\n[=-]{2,}$)`,contains:[{begin:`^[=-]*$`},{begin:`^`,end:`\\n`,contains:f}]}]},n,a,c,l,{className:`quote`,begin:`^>\\s+`,contains:f,end:`$`},i,r,s,o,{scope:`literal`,match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}var P=e=>({IMPORTANT:{scope:`meta`,begin:`!important`},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:`number`,begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:`built_in`,begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:`selector-attr`,begin:/\[/,end:/\]/,illegal:`$`,contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:`number`,begin:e.NUMBER_RE+`(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?`,relevance:0},CSS_VARIABLE:{className:`attr`,begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),F=`a.abbr.address.article.aside.audio.b.blockquote.body.button.canvas.caption.cite.code.dd.del.details.dfn.div.dl.dt.em.fieldset.figcaption.figure.footer.form.h1.h2.h3.h4.h5.h6.header.hgroup.html.i.iframe.img.input.ins.kbd.label.legend.li.main.mark.menu.nav.object.ol.optgroup.option.p.picture.q.quote.samp.section.select.source.span.strong.summary.sup.table.tbody.td.textarea.tfoot.th.thead.time.tr.ul.var.video`.split(`.`),I=`defs.g.marker.mask.pattern.svg.switch.symbol.feBlend.feColorMatrix.feComponentTransfer.feComposite.feConvolveMatrix.feDiffuseLighting.feDisplacementMap.feFlood.feGaussianBlur.feImage.feMerge.feMorphology.feOffset.feSpecularLighting.feTile.feTurbulence.linearGradient.radialGradient.stop.circle.ellipse.image.line.path.polygon.polyline.rect.text.use.textPath.tspan.foreignObject.clipPath`.split(`.`),L=[...F,...I],R=`any-hover.any-pointer.aspect-ratio.color.color-gamut.color-index.device-aspect-ratio.device-height.device-width.display-mode.forced-colors.grid.height.hover.inverted-colors.monochrome.orientation.overflow-block.overflow-inline.pointer.prefers-color-scheme.prefers-contrast.prefers-reduced-motion.prefers-reduced-transparency.resolution.scan.scripting.update.width.min-width.max-width.min-height.max-height`.split(`.`).sort().reverse(),z=`active.any-link.blank.checked.current.default.defined.dir.disabled.drop.empty.enabled.first.first-child.first-of-type.fullscreen.future.focus.focus-visible.focus-within.has.host.host-context.hover.indeterminate.in-range.invalid.is.lang.last-child.last-of-type.left.link.local-link.not.nth-child.nth-col.nth-last-child.nth-last-col.nth-last-of-type.nth-of-type.only-child.only-of-type.optional.out-of-range.past.placeholder-shown.read-only.read-write.required.right.root.scope.target.target-within.user-invalid.valid.visited.where`.split(`.`).sort().reverse(),B=[`after`,`backdrop`,`before`,`cue`,`cue-region`,`first-letter`,`first-line`,`grammar-error`,`marker`,`part`,`placeholder`,`selection`,`slotted`,`spelling-error`].sort().reverse(),V=`accent-color.align-content.align-items.align-self.alignment-baseline.all.anchor-name.animation.animation-composition.animation-delay.animation-direction.animation-duration.animation-fill-mode.animation-iteration-count.animation-name.animation-play-state.animation-range.animation-range-end.animation-range-start.animation-timeline.animation-timing-function.appearance.aspect-ratio.backdrop-filter.backface-visibility.background.background-attachment.background-blend-mode.background-clip.background-color.background-image.background-origin.background-position.background-position-x.background-position-y.background-repeat.background-size.baseline-shift.block-size.border.border-block.border-block-color.border-block-end.border-block-end-color.border-block-end-style.border-block-end-width.border-block-start.border-block-start-color.border-block-start-style.border-block-start-width.border-block-style.border-block-width.border-bottom.border-bottom-color.border-bottom-left-radius.border-bottom-right-radius.border-bottom-style.border-bottom-width.border-collapse.border-color.border-end-end-radius.border-end-start-radius.border-image.border-image-outset.border-image-repeat.border-image-slice.border-image-source.border-image-width.border-inline.border-inline-color.border-inline-end.border-inline-end-color.border-inline-end-style.border-inline-end-width.border-inline-start.border-inline-start-color.border-inline-start-style.border-inline-start-width.border-inline-style.border-inline-width.border-left.border-left-color.border-left-style.border-left-width.border-radius.border-right.border-right-color.border-right-style.border-right-width.border-spacing.border-start-end-radius.border-start-start-radius.border-style.border-top.border-top-color.border-top-left-radius.border-top-right-radius.border-top-style.border-top-width.border-width.bottom.box-align.box-decoration-break.box-direction.box-flex.box-flex-group.box-lines.box-ordinal-group.box-orient.box-pack.box-shadow.box-sizing.break-after.break-before.break-inside.caption-side.caret-color.clear.clip.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.color-scheme.column-count.column-fill.column-gap.column-rule.column-rule-color.column-rule-style.column-rule-width.column-span.column-width.columns.contain.contain-intrinsic-block-size.contain-intrinsic-height.contain-intrinsic-inline-size.contain-intrinsic-size.contain-intrinsic-width.container.container-name.container-type.content.content-visibility.counter-increment.counter-reset.counter-set.cue.cue-after.cue-before.cursor.cx.cy.direction.display.dominant-baseline.empty-cells.enable-background.field-sizing.fill.fill-opacity.fill-rule.filter.flex.flex-basis.flex-direction.flex-flow.flex-grow.flex-shrink.flex-wrap.float.flood-color.flood-opacity.flow.font.font-display.font-family.font-feature-settings.font-kerning.font-language-override.font-optical-sizing.font-palette.font-size.font-size-adjust.font-smooth.font-smoothing.font-stretch.font-style.font-synthesis.font-synthesis-position.font-synthesis-small-caps.font-synthesis-style.font-synthesis-weight.font-variant.font-variant-alternates.font-variant-caps.font-variant-east-asian.font-variant-emoji.font-variant-ligatures.font-variant-numeric.font-variant-position.font-variation-settings.font-weight.forced-color-adjust.gap.glyph-orientation-horizontal.glyph-orientation-vertical.grid.grid-area.grid-auto-columns.grid-auto-flow.grid-auto-rows.grid-column.grid-column-end.grid-column-start.grid-gap.grid-row.grid-row-end.grid-row-start.grid-template.grid-template-areas.grid-template-columns.grid-template-rows.hanging-punctuation.height.hyphenate-character.hyphenate-limit-chars.hyphens.icon.image-orientation.image-rendering.image-resolution.ime-mode.initial-letter.initial-letter-align.inline-size.inset.inset-area.inset-block.inset-block-end.inset-block-start.inset-inline.inset-inline-end.inset-inline-start.isolation.justify-content.justify-items.justify-self.kerning.left.letter-spacing.lighting-color.line-break.line-height.line-height-step.list-style.list-style-image.list-style-position.list-style-type.margin.margin-block.margin-block-end.margin-block-start.margin-bottom.margin-inline.margin-inline-end.margin-inline-start.margin-left.margin-right.margin-top.margin-trim.marker.marker-end.marker-mid.marker-start.marks.mask.mask-border.mask-border-mode.mask-border-outset.mask-border-repeat.mask-border-slice.mask-border-source.mask-border-width.mask-clip.mask-composite.mask-image.mask-mode.mask-origin.mask-position.mask-repeat.mask-size.mask-type.masonry-auto-flow.math-depth.math-shift.math-style.max-block-size.max-height.max-inline-size.max-width.min-block-size.min-height.min-inline-size.min-width.mix-blend-mode.nav-down.nav-index.nav-left.nav-right.nav-up.none.normal.object-fit.object-position.offset.offset-anchor.offset-distance.offset-path.offset-position.offset-rotate.opacity.order.orphans.outline.outline-color.outline-offset.outline-style.outline-width.overflow.overflow-anchor.overflow-block.overflow-clip-margin.overflow-inline.overflow-wrap.overflow-x.overflow-y.overlay.overscroll-behavior.overscroll-behavior-block.overscroll-behavior-inline.overscroll-behavior-x.overscroll-behavior-y.padding.padding-block.padding-block-end.padding-block-start.padding-bottom.padding-inline.padding-inline-end.padding-inline-start.padding-left.padding-right.padding-top.page.page-break-after.page-break-before.page-break-inside.paint-order.pause.pause-after.pause-before.perspective.perspective-origin.place-content.place-items.place-self.pointer-events.position.position-anchor.position-visibility.print-color-adjust.quotes.r.resize.rest.rest-after.rest-before.right.rotate.row-gap.ruby-align.ruby-position.scale.scroll-behavior.scroll-margin.scroll-margin-block.scroll-margin-block-end.scroll-margin-block-start.scroll-margin-bottom.scroll-margin-inline.scroll-margin-inline-end.scroll-margin-inline-start.scroll-margin-left.scroll-margin-right.scroll-margin-top.scroll-padding.scroll-padding-block.scroll-padding-block-end.scroll-padding-block-start.scroll-padding-bottom.scroll-padding-inline.scroll-padding-inline-end.scroll-padding-inline-start.scroll-padding-left.scroll-padding-right.scroll-padding-top.scroll-snap-align.scroll-snap-stop.scroll-snap-type.scroll-timeline.scroll-timeline-axis.scroll-timeline-name.scrollbar-color.scrollbar-gutter.scrollbar-width.shape-image-threshold.shape-margin.shape-outside.shape-rendering.speak.speak-as.src.stop-color.stop-opacity.stroke.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke-width.tab-size.table-layout.text-align.text-align-all.text-align-last.text-anchor.text-combine-upright.text-decoration.text-decoration-color.text-decoration-line.text-decoration-skip.text-decoration-skip-ink.text-decoration-style.text-decoration-thickness.text-emphasis.text-emphasis-color.text-emphasis-position.text-emphasis-style.text-indent.text-justify.text-orientation.text-overflow.text-rendering.text-shadow.text-size-adjust.text-transform.text-underline-offset.text-underline-position.text-wrap.text-wrap-mode.text-wrap-style.timeline-scope.top.touch-action.transform.transform-box.transform-origin.transform-style.transition.transition-behavior.transition-delay.transition-duration.transition-property.transition-timing-function.translate.unicode-bidi.user-modify.user-select.vector-effect.vertical-align.view-timeline.view-timeline-axis.view-timeline-inset.view-timeline-name.view-transition-name.visibility.voice-balance.voice-duration.voice-family.voice-pitch.voice-range.voice-rate.voice-stress.voice-volume.white-space.white-space-collapse.widows.width.will-change.word-break.word-spacing.word-wrap.writing-mode.x.y.z-index.zoom`.split(`.`).sort().reverse();function H(e){let t=e.regex,n=P(e),r={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},i=/@-?\w[\w]*(-\w+)*/,a=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:`CSS`,case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:`from to`},classNameAliases:{keyframePosition:`selector-tag`},contains:[n.BLOCK_COMMENT,r,n.CSS_NUMBER_MODE,{className:`selector-id`,begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:`selector-class`,begin:`\\.[a-zA-Z-][a-zA-Z0-9_-]*`,relevance:0},n.ATTRIBUTE_SELECTOR_MODE,{className:`selector-pseudo`,variants:[{begin:`:(`+z.join(`|`)+`)`},{begin:`:(:)?(`+B.join(`|`)+`)`}]},n.CSS_VARIABLE,{className:`attribute`,begin:`\\b(`+V.join(`|`)+`)\\b`},{begin:/:/,end:/[;}{]/,contains:[n.BLOCK_COMMENT,n.HEXCOLOR,n.IMPORTANT,n.CSS_NUMBER_MODE,...a,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:`url data-uri`},contains:[...a,{className:`string`,begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},n.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:`[{;]`,relevance:0,illegal:/:/,contains:[{className:`keyword`,begin:i},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:`and or not only`,attribute:R.join(` `)},contains:[{begin:/[a-z-]+(?=:)/,className:`attribute`},...a,n.CSS_NUMBER_MODE]}]},{className:`selector-tag`,begin:`\\b(`+L.join(`|`)+`)\\b`}]}}function ee(e){let t=e.regex,n={},r={begin:/\$\{/,end:/\}/,contains:[`self`,{begin:/:-/,contains:[n]}]};Object.assign(n,{className:`variable`,variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,`(?![\\w\\d])(?![$])`)},r]});let i={className:`subst`,begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},a=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:`comment`}}),o={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:`string`})]}},s={className:`string`,begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,n,i]};i.contains.push(s);let c={match:/\\"/},l={className:`string`,begin:/'/,end:/'/},u={match:/\\'/},d={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:`number`},e.NUMBER_MODE,n]},f=e.SHEBANG({binary:`(${[`fish`,`bash`,`zsh`,`sh`,`csh`,`ksh`,`tcsh`,`dash`,`scsh`].join(`|`)})`,relevance:10}),p={className:`function`,begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},m=[`if`,`then`,`else`,`elif`,`fi`,`time`,`for`,`while`,`until`,`in`,`do`,`done`,`case`,`esac`,`coproc`,`function`,`select`],h=[`true`,`false`],g={match:/(\/[a-z._-]+)+/},_=[`break`,`cd`,`continue`,`eval`,`exec`,`exit`,`export`,`getopts`,`hash`,`pwd`,`readonly`,`return`,`shift`,`test`,`times`,`trap`,`umask`,`unset`],v=[`alias`,`bind`,`builtin`,`caller`,`command`,`declare`,`echo`,`enable`,`help`,`let`,`local`,`logout`,`mapfile`,`printf`,`read`,`readarray`,`source`,`sudo`,`type`,`typeset`,`ulimit`,`unalias`],y=`autoload.bg.bindkey.bye.cap.chdir.clone.comparguments.compcall.compctl.compdescribe.compfiles.compgroups.compquote.comptags.comptry.compvalues.dirs.disable.disown.echotc.echoti.emulate.fc.fg.float.functions.getcap.getln.history.integer.jobs.kill.limit.log.noglob.popd.print.pushd.pushln.rehash.sched.setcap.setopt.stat.suspend.ttyctl.unfunction.unhash.unlimit.unsetopt.vared.wait.whence.where.which.zcompile.zformat.zftp.zle.zmodload.zparseopts.zprof.zpty.zregexparse.zsocket.zstyle.ztcp`.split(`.`),b=`chcon.chgrp.chown.chmod.cp.dd.df.dir.dircolors.ln.ls.mkdir.mkfifo.mknod.mktemp.mv.realpath.rm.rmdir.shred.sync.touch.truncate.vdir.b2sum.base32.base64.cat.cksum.comm.csplit.cut.expand.fmt.fold.head.join.md5sum.nl.numfmt.od.paste.ptx.pr.sha1sum.sha224sum.sha256sum.sha384sum.sha512sum.shuf.sort.split.sum.tac.tail.tr.tsort.unexpand.uniq.wc.arch.basename.chroot.date.dirname.du.echo.env.expr.factor.groups.hostid.id.link.logname.nice.nohup.nproc.pathchk.pinky.printenv.printf.pwd.readlink.runcon.seq.sleep.stat.stdbuf.stty.tee.test.timeout.tty.uname.unlink.uptime.users.who.whoami.yes`.split(`.`);return{name:`Bash`,aliases:[`sh`,`zsh`],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:m,literal:h,built_in:[..._,...v,`set`,`shopt`,...y,...b]},contains:[f,e.SHEBANG(),p,d,a,o,g,s,c,l,u,n]}}function U(e){return{name:`Plain text`,aliases:[`text`,`txt`],disableAutodetect:!0}}var W=n();l.registerLanguage(`python`,u),l.registerLanguage(`typescript`,b),l.registerLanguage(`javascript`,k),l.registerLanguage(`json`,A),l.registerLanguage(`xml`,j),l.registerLanguage(`yaml`,M),l.registerLanguage(`markdown`,N),l.registerLanguage(`css`,H),l.registerLanguage(`bash`,ee),l.registerLanguage(`plaintext`,U);var te={".ts":`typescript`,".tsx":`typescript`,".js":`javascript`,".jsx":`javascript`,".mjs":`javascript`,".cjs":`javascript`,".json":`json`,".svg":`xml`,".xml":`xml`,".html":`xml`,".htm":`xml`,".yml":`yaml`,".yaml":`yaml`,".md":`markdown`,".mdx":`markdown`,".css":`css`,".scss":`css`,".sh":`bash`,".py":`python`};function G(e){return te[e.toLowerCase()]??`plaintext`}var ne=({code:e,language:t=`python`,onRun:n,isRunning:i=!1,executionMode:s,onModeChange:u})=>{let d=(0,c.useMemo)(()=>l.highlight(e,{language:t}).value.split(`
|
|
4
|
+
`),[e,t]);return(0,W.jsxs)(`div`,{className:`overflow-hidden rounded-lg border border-black/10 bg-white`,children:[(0,W.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-black/10 bg-neutral-50 px-4 py-2`,children:[(0,W.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-400`,children:t}),(0,W.jsx)(`div`,{className:`flex-1`}),s&&u&&(0,W.jsx)(`div`,{className:`flex overflow-hidden rounded border border-black/10 text-[11px] font-medium`,children:[`local`,`remote`].map(e=>(0,W.jsx)(`button`,{onClick:()=>{u(e)},className:`px-2.5 py-0.5 transition-colors ${s===e?`bg-neutral-700 text-white`:`bg-white text-neutral-500 hover:bg-neutral-100`}`,children:e===`local`?`Local`:`Remote`},e))}),n&&(0,W.jsxs)(`button`,{onClick:n,disabled:i,className:`flex items-center gap-1.5 rounded-full border border-black/10 bg-white px-3 py-1 text-[11px] font-medium text-neutral-600 transition-colors hover:border-green-300 hover:text-green-700 disabled:cursor-wait disabled:opacity-50`,children:[(0,W.jsx)(a,{icon:i?r:o,className:i?`animate-spin`:``}),(0,W.jsx)(`span`,{children:i?`Running…`:`Run`})]})]}),(0,W.jsxs)(`div`,{className:`flex overflow-auto bg-white font-mono text-[13px] leading-[20px]`,children:[(0,W.jsx)(`div`,{className:`shrink-0 select-none border-r border-black/5 bg-neutral-50 px-3 py-3 text-right text-neutral-300`,children:d.map((e,t)=>(0,W.jsx)(`div`,{children:String(t+1)},t))}),(0,W.jsx)(`div`,{className:`flex-1 overflow-auto py-3 pl-4 pr-4`,children:d.map((e,t)=>(0,W.jsx)(`div`,{className:`hljs whitespace-pre`,dangerouslySetInnerHTML:{__html:e||`\xA0`}},t))})]})]})};export{G as n,ne as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DF2fYuay.js";import{A as t,T as n,j as r,k as i}from"./fa-core-C4eeAd4v.js";import{a,i as o,n as s}from"./BootstrapContext-c_1rWAfc.js";import{a as c,d as l,f as u,h as d,i as f,l as p,m,n as h,o as g,r as _,s as v,t as y,u as b}from"./useCriticalExceptionDialog-BeVl0uaO.js";import{a as x}from"./CredentialsContext-Rkt9WDIb.js";import{n as S,r as C}from"./api-bszpvP9L.js";import{t as w}from"./Card-C7KVwKfm.js";import{n as T,t as E}from"./useCurrentApp-CWtSEVC4.js";import{t as D}from"./CodeViewer--wbTev7Q.js";var O=e(r(),1),k=t(),A=e=>e?JSON.stringify(e,null,2):`{}`,j=({apiName:e,configTemplate:t})=>{let n=g(e),r=A(t),[i,a]=(0,O.useState)(n?.__kizen_clean_config?JSON.stringify(n.__kizen_clean_config,null,2):r),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(!1);return(0,k.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,k.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,k.jsxs)(`p`,{className:`text-[13px] text-neutral-500 m-0`,children:[`No setup assistant defined. Enter configuration as JSON.`,t?` Pre-populated from config_template.`:``]})}),(0,k.jsx)(`textarea`,{value:i,onChange:e=>{a(e.target.value),s(null),l(!1)},spellCheck:!1,className:`w-full min-h-[300px] rounded border p-3 text-[13px] font-mono leading-relaxed focus:outline-none focus:ring-1 ${o?`border-red-300 focus:ring-red-400`:`border-black/10 focus:ring-blue-400`}`}),o&&(0,k.jsxs)(`span`,{className:`text-[12px] text-red-500`,children:[`Parse error: `,o]}),(0,k.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,k.jsx)(`button`,{onClick:()=>{try{b(e,JSON.parse(i)),s(null),l(!0),setTimeout(()=>{l(!1)},2e3)}catch(e){s(e instanceof Error?e.message:`Invalid JSON`),l(!1)}},className:`rounded bg-blue-600 px-4 py-1.5 text-[13px] font-medium text-white hover:bg-blue-700 active:bg-blue-800`,children:`Save Configuration`}),(0,k.jsx)(`button`,{onClick:()=>{f(e),a(r),s(null),l(!1)},className:`rounded border border-black/10 px-4 py-1.5 text-[13px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:`Reset`}),c&&(0,k.jsx)(`span`,{className:`text-[12px] text-green-600 font-medium`,children:`Saved`})]})]})},M=({open:e,onClose:t,apiName:n,loadFn:r,label:i})=>{let s=(0,O.useMemo)(()=>e?r(n)?.__kizen_clean_config??null:null,[e,n,r]),c=(0,O.useMemo)(()=>s?JSON.stringify(s,null,2):``,[s]),[l,u]=(0,O.useState)(!1);return(0,O.useEffect)(()=>{e||u(!1)},[e]),(0,k.jsx)(o,{open:e,size:`xl`,ariaModal:!0,onBackdropClick:t,header:(0,k.jsx)(a,{title:`Stored JSON — ${i}`,onClose:t}),footer:s?(0,k.jsx)(`button`,{onClick:()=>{navigator.clipboard.writeText(c).then(()=>{u(!0),setTimeout(()=>{u(!1)},1200)})},className:`rounded border border-black/10 px-3 py-1 text-[12px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:l?`Copied`:`Copy`}):void 0,children:(0,k.jsxs)(`div`,{className:`px-5 py-4`,children:[(0,k.jsxs)(`p`,{className:`m-0 mb-3 text-[12px] text-neutral-500`,children:[`This is the saved JSON the plugin runtime will see as`,` `,(0,k.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:i}),`. Save the form to refresh.`]}),s?(0,k.jsx)(D,{code:c,language:`json`}):(0,k.jsx)(`div`,{className:`rounded border border-dashed border-black/10 px-4 py-6 text-center text-[12px] text-neutral-400`,children:`No saved configuration yet. Save the form to populate this view.`})]})})},N=({config:e,apiName:t,loadFn:n,saveFn:r,clearFn:i})=>{let a=n(t)?.__kizen_setup_assistant_values,o=(0,O.useRef)({}),[s,c]=(0,O.useState)(!1),{getObjectByAPIName:l,getCustomObjectDetails:f}=h(),p=(0,O.useCallback)(e=>{o.current=e},[]);return(0,k.jsx)(d,{config:e,value:a,onStateChange:p,disabledKeys:[],getObjectByAPIName:l,getCustomObjectDetails:f,children:(0,k.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[e.fields?.map(e=>(0,k.jsx)(u,{field:e,pluginApiName:t},e.key)),(0,k.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,k.jsx)(`button`,{onClick:()=>{let n=o.current;r(t,n,e),c(!0),setTimeout(()=>{c(!1)},2e3)},className:`rounded bg-blue-600 px-4 py-1.5 text-[13px] font-medium text-white hover:bg-blue-700 active:bg-blue-800`,children:`Save Configuration`}),(0,k.jsx)(`button`,{onClick:()=>{i(t),window.location.reload()},className:`rounded border border-black/10 px-4 py-1.5 text-[13px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:`Reset`}),s&&(0,k.jsx)(`span`,{className:`text-[12px] text-green-600 font-medium`,children:`Saved`})]})]})})},P=({config:e,apiName:t,loadFn:r,saveFn:a,clearFn:o})=>{let c=s(),l=C(),u=(0,O.useMemo)(()=>_(l),[l]),{environment:d}=x(),f=S[d],[p,h]=(0,O.useState)(!1),[g,v]=(0,O.useState)(!1),{onMonitoringException:b,dialog:w}=y();return c?(0,k.jsx)(m,{appPath:f,user:{id:c.team.user,crm_client_id:``},business:c.business,clientObject:c.business.client_object?{id:c.business.client_object.id,objectName:c.business.client_object.object_name}:void 0,teamMember:c.team,onNavigate:()=>{},performFileUpload:()=>Promise.resolve({url:``}),monitoringExceptionHelper:b,performRequest:async(e,t,n,r)=>({data:await u.request(e,t,n,r)}),modal:{showing:p,show:g,showPrompt:()=>{h(!0),v(!0)},onConfirm:()=>{h(!1),v(!1)},onHide:()=>{h(!1),v(!1)}},showToast:()=>{},clearToasts:()=>{},children:()=>(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(N,{config:e,apiName:t,loadFn:r,saveFn:a,clearFn:o}),w]})}):(0,k.jsx)(i,{icon:n,className:`animate-spin text-neutral-400`})},F=()=>{let e=E(),[t,n]=(0,O.useState)(null);if(e.status!==`ok`)return(0,k.jsx)(T,{state:e});let{app:r,apiName:i}=e,a=r.base_config,o=a?.setup_assistant,s=a?.user_setup_assistant,u=(o?.fields?.length??0)>0,d=(s?.fields?.length??0)>0;return!u&&!d?(0,k.jsx)(w,{children:(0,k.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`h2`,{className:`text-[15px] font-bold text-neutral-900 m-0`,children:`Configuration`}),(0,k.jsx)(`p`,{className:`text-[12px] text-neutral-400 m-0 mt-1`,children:`Enter plugin configuration as JSON.`})]}),(0,k.jsx)(j,{apiName:i,configTemplate:r.config_template})]})}):(0,k.jsxs)(`div`,{className:`flex flex-col gap-4 lg:flex-row lg:items-start`,children:[u&&o&&(0,k.jsx)(w,{className:`lg:flex-1 lg:min-w-0`,children:(0,k.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,k.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,k.jsxs)(`div`,{className:`min-w-0`,children:[(0,k.jsx)(`h2`,{className:`text-[15px] font-bold text-neutral-900 m-0`,children:`Business Configuration`}),(0,k.jsxs)(`p`,{className:`text-[12px] text-neutral-400 m-0 mt-1`,children:[`Configure the business-level setup assistant fields. These values are shared across the whole business and exposed to plugin scripts at`,` `,(0,k.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:`this.config`}),`.`]})]}),(0,k.jsx)(`button`,{onClick:()=>{n(`business`)},className:`shrink-0 rounded border border-black/10 px-3 py-1.5 text-[12px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:`View JSON`})]}),(0,k.jsx)(P,{config:o,apiName:i,loadFn:g,saveFn:p,clearFn:f})]})}),d&&s&&(0,k.jsx)(w,{className:`lg:flex-1 lg:min-w-0`,children:(0,k.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,k.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,k.jsxs)(`div`,{className:`min-w-0`,children:[(0,k.jsx)(`h2`,{className:`text-[15px] font-bold text-neutral-900 m-0`,children:`User Configuration`}),(0,k.jsxs)(`p`,{className:`text-[12px] text-neutral-400 m-0 mt-1`,children:[`Configure the per-user setup assistant fields. These values are scoped to the logged-in user and exposed to plugin scripts at`,` `,(0,k.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:`this.userConfig`}),`.`]})]}),(0,k.jsx)(`button`,{onClick:()=>{n(`user`)},className:`shrink-0 rounded border border-black/10 px-3 py-1.5 text-[12px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:`View JSON`})]}),(0,k.jsx)(P,{config:s,apiName:i,loadFn:v,saveFn:l,clearFn:c})]})}),(0,k.jsx)(M,{open:t===`business`,onClose:()=>{n(null)},apiName:i,loadFn:g,label:`this.config`}),(0,k.jsx)(M,{open:t===`user`,onClose:()=>{n(null)},apiName:i,loadFn:v,label:`this.userConfig`})]})};export{F as ConfigurationPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DF2fYuay.js";import{A as t,T as n,j as r,k as i}from"./fa-core-BoBqCOD3.js";import{n as a,t as o}from"./bundleQuery-CjbA01rb.js";import{t as s}from"./useQuery-5OkVbV1s.js";import{a as c,i as l,n as u}from"./BootstrapContext-CL_onTG7.js";import{a as d,d as f,f as p,h as m,i as h,l as g,m as _,n as v,o as y,r as b,s as x,t as S,u as C}from"./useCriticalExceptionDialog-DseJ_u9B.js";import{r as w}from"./CredentialsContext-k-q4M-VC.js";import{n as T,r as E}from"./api-DFDquUsn.js";import{t as D}from"./Card-BpDJPrPZ.js";import{t as O}from"./CodeViewer-Cm7Th9pG.js";var k=e(r(),1),A=t(),j=e=>e?JSON.stringify(e,null,2):`{}`,M=({apiName:e,configTemplate:t})=>{let n=y(e),r=j(t),[i,a]=(0,k.useState)(n?.__kizen_clean_config?JSON.stringify(n.__kizen_clean_config,null,2):r),[o,s]=(0,k.useState)(null),[c,l]=(0,k.useState)(!1);return(0,A.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,A.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,A.jsxs)(`p`,{className:`text-[13px] text-neutral-500 m-0`,children:[`No setup assistant defined. Enter configuration as JSON.`,t?` Pre-populated from config_template.`:``]})}),(0,A.jsx)(`textarea`,{value:i,onChange:e=>{a(e.target.value),s(null),l(!1)},spellCheck:!1,className:`w-full min-h-[300px] rounded border p-3 text-[13px] font-mono leading-relaxed focus:outline-none focus:ring-1 ${o?`border-red-300 focus:ring-red-400`:`border-black/10 focus:ring-blue-400`}`}),o&&(0,A.jsxs)(`span`,{className:`text-[12px] text-red-500`,children:[`Parse error: `,o]}),(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(`button`,{onClick:()=>{try{C(e,JSON.parse(i)),s(null),l(!0),setTimeout(()=>{l(!1)},2e3)}catch(e){s(e instanceof Error?e.message:`Invalid JSON`),l(!1)}},className:`rounded bg-blue-600 px-4 py-1.5 text-[13px] font-medium text-white hover:bg-blue-700 active:bg-blue-800`,children:`Save Configuration`}),(0,A.jsx)(`button`,{onClick:()=>{h(e),a(r),s(null),l(!1)},className:`rounded border border-black/10 px-4 py-1.5 text-[13px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:`Reset`}),c&&(0,A.jsx)(`span`,{className:`text-[12px] text-green-600 font-medium`,children:`Saved`})]})]})},N=({open:e,onClose:t,apiName:n,loadFn:r,label:i})=>{let a=(0,k.useMemo)(()=>e?r(n)?.__kizen_clean_config??null:null,[e,n,r]),o=(0,k.useMemo)(()=>a?JSON.stringify(a,null,2):``,[a]),[s,u]=(0,k.useState)(!1);return(0,k.useEffect)(()=>{e||u(!1)},[e]),(0,A.jsx)(l,{open:e,size:`xl`,ariaModal:!0,onBackdropClick:t,header:(0,A.jsx)(c,{title:`Stored JSON — ${i}`,onClose:t}),footer:a?(0,A.jsx)(`button`,{onClick:()=>{navigator.clipboard.writeText(o).then(()=>{u(!0),setTimeout(()=>{u(!1)},1200)})},className:`rounded border border-black/10 px-3 py-1 text-[12px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:s?`Copied`:`Copy`}):void 0,children:(0,A.jsxs)(`div`,{className:`px-5 py-4`,children:[(0,A.jsxs)(`p`,{className:`m-0 mb-3 text-[12px] text-neutral-500`,children:[`This is the saved JSON the plugin runtime will see as`,` `,(0,A.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:i}),`. Save the form to refresh.`]}),a?(0,A.jsx)(O,{code:o,language:`json`}):(0,A.jsx)(`div`,{className:`rounded border border-dashed border-black/10 px-4 py-6 text-center text-[12px] text-neutral-400`,children:`No saved configuration yet. Save the form to populate this view.`})]})})},P=({config:e,apiName:t,loadFn:n,saveFn:r,clearFn:i})=>{let a=n(t)?.__kizen_setup_assistant_values,o=(0,k.useRef)({}),[s,c]=(0,k.useState)(!1),{getObjectByAPIName:l,getCustomObjectDetails:u}=v(),d=(0,k.useCallback)(e=>{o.current=e},[]);return(0,A.jsx)(m,{config:e,value:a,onStateChange:d,disabledKeys:[],getObjectByAPIName:l,getCustomObjectDetails:u,children:(0,A.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[e.fields?.map(e=>(0,A.jsx)(p,{field:e,pluginApiName:t},e.key)),(0,A.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,A.jsx)(`button`,{onClick:()=>{let n=o.current;r(t,n,e),c(!0),setTimeout(()=>{c(!1)},2e3)},className:`rounded bg-blue-600 px-4 py-1.5 text-[13px] font-medium text-white hover:bg-blue-700 active:bg-blue-800`,children:`Save Configuration`}),(0,A.jsx)(`button`,{onClick:()=>{i(t),window.location.reload()},className:`rounded border border-black/10 px-4 py-1.5 text-[13px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:`Reset`}),s&&(0,A.jsx)(`span`,{className:`text-[12px] text-green-600 font-medium`,children:`Saved`})]})]})})},F=({config:e,apiName:t,loadFn:r,saveFn:a,clearFn:o})=>{let s=u(),c=E(),l=(0,k.useMemo)(()=>b(c),[c]),{environment:d}=w(),f=T[d],[p,m]=(0,k.useState)(!1),[h,g]=(0,k.useState)(!1),{onMonitoringException:v,dialog:y}=S();return s?(0,A.jsx)(_,{appPath:f,user:{id:s.team.user,crm_client_id:``},business:s.business,clientObject:s.business.client_object?{id:s.business.client_object.id,objectName:s.business.client_object.object_name}:void 0,teamMember:s.team,onNavigate:()=>{},performFileUpload:()=>Promise.resolve({url:``}),monitoringExceptionHelper:v,performRequest:async(e,t,n,r)=>({data:await l.request(e,t,n,r)}),modal:{showing:p,show:h,showPrompt:()=>{m(!0),g(!0)},onConfirm:()=>{m(!1),g(!1)},onHide:()=>{m(!1),g(!1)}},showToast:()=>{},clearToasts:()=>{},children:()=>(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(P,{config:e,apiName:t,loadFn:r,saveFn:a,clearFn:o}),y]})}):(0,A.jsx)(i,{icon:n,className:`animate-spin text-neutral-400`})},I=()=>{let{apiName:e}=a({strict:!1}),{data:t,isLoading:n,isError:r}=s(o),[i,c]=(0,k.useState)(null);if(n)return(0,A.jsx)(D,{children:(0,A.jsx)(`p`,{className:`m-0 text-[13px] text-neutral-400`,children:`Fetching bundle.json…`})});if(r)return(0,A.jsx)(D,{children:(0,A.jsx)(`p`,{className:`m-0 text-[13px] text-red-700`,children:`Could not load bundle.json.`})});let l=t?.find(t=>t.api_name===e);if(!l)return(0,A.jsx)(D,{children:(0,A.jsxs)(`p`,{className:`m-0 text-[13px] text-neutral-500`,children:[`No app found with api_name`,` `,(0,A.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 py-0.5`,children:e}),`.`]})});let u=l.base_config,p=u?.setup_assistant,m=u?.user_setup_assistant,_=(p?.fields?.length??0)>0,v=(m?.fields?.length??0)>0;return!_&&!v?(0,A.jsx)(D,{children:(0,A.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,A.jsxs)(`div`,{children:[(0,A.jsx)(`h2`,{className:`text-[15px] font-bold text-neutral-900 m-0`,children:`Configuration`}),(0,A.jsx)(`p`,{className:`text-[12px] text-neutral-400 m-0 mt-1`,children:`Enter plugin configuration as JSON.`})]}),(0,A.jsx)(M,{apiName:e??``,configTemplate:l.config_template})]})}):(0,A.jsxs)(`div`,{className:`flex flex-col gap-4 lg:flex-row lg:items-start`,children:[_&&p&&(0,A.jsx)(D,{className:`lg:flex-1 lg:min-w-0`,children:(0,A.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,A.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,A.jsxs)(`div`,{className:`min-w-0`,children:[(0,A.jsx)(`h2`,{className:`text-[15px] font-bold text-neutral-900 m-0`,children:`Business Configuration`}),(0,A.jsxs)(`p`,{className:`text-[12px] text-neutral-400 m-0 mt-1`,children:[`Configure the business-level setup assistant fields. These values are shared across the whole business and exposed to plugin scripts at`,` `,(0,A.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:`this.config`}),`.`]})]}),(0,A.jsx)(`button`,{onClick:()=>{c(`business`)},className:`shrink-0 rounded border border-black/10 px-3 py-1.5 text-[12px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:`View JSON`})]}),(0,A.jsx)(F,{config:p,apiName:e??``,loadFn:y,saveFn:g,clearFn:h})]})}),v&&m&&(0,A.jsx)(D,{className:`lg:flex-1 lg:min-w-0`,children:(0,A.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,A.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,A.jsxs)(`div`,{className:`min-w-0`,children:[(0,A.jsx)(`h2`,{className:`text-[15px] font-bold text-neutral-900 m-0`,children:`User Configuration`}),(0,A.jsxs)(`p`,{className:`text-[12px] text-neutral-400 m-0 mt-1`,children:[`Configure the per-user setup assistant fields. These values are scoped to the logged-in user and exposed to plugin scripts at`,` `,(0,A.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:`this.userConfig`}),`.`]})]}),(0,A.jsx)(`button`,{onClick:()=>{c(`user`)},className:`shrink-0 rounded border border-black/10 px-3 py-1.5 text-[12px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:`View JSON`})]}),(0,A.jsx)(F,{config:m,apiName:e??``,loadFn:x,saveFn:f,clearFn:d})]})}),(0,A.jsx)(N,{open:i===`business`,onClose:()=>{c(null)},apiName:e??``,loadFn:y,label:`this.config`}),(0,A.jsx)(N,{open:i===`user`,onClose:()=>{c(null)},apiName:e??``,loadFn:x,label:`this.userConfig`})]})};export{I as ConfigurationPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DF2fYuay.js";import{A as t,T as n,j as r,k as i}from"./fa-core-C4eeAd4v.js";import{a,i as o,n as s}from"./BootstrapContext-c_1rWAfc.js";import{a as c,d as l,f as u,h as d,i as f,l as p,m,n as h,o as g,r as _,s as v,t as y,u as b}from"./useCriticalExceptionDialog-BeVl0uaO.js";import{a as x}from"./CredentialsContext-Rkt9WDIb.js";import{n as S,r as C}from"./api-bszpvP9L.js";import{t as w}from"./Card-C7KVwKfm.js";import{n as T,t as E}from"./useCurrentApp-x1p8URhM.js";import{t as D}from"./CodeViewer--wbTev7Q.js";var O=e(r(),1),k=t(),A=e=>e?JSON.stringify(e,null,2):`{}`,j=({apiName:e,configTemplate:t})=>{let n=g(e),r=A(t),[i,a]=(0,O.useState)(n?.__kizen_clean_config?JSON.stringify(n.__kizen_clean_config,null,2):r),[o,s]=(0,O.useState)(null),[c,l]=(0,O.useState)(!1);return(0,k.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,k.jsx)(`div`,{className:`flex items-center justify-between`,children:(0,k.jsxs)(`p`,{className:`text-[13px] text-neutral-500 m-0`,children:[`No setup assistant defined. Enter configuration as JSON.`,t?` Pre-populated from config_template.`:``]})}),(0,k.jsx)(`textarea`,{value:i,onChange:e=>{a(e.target.value),s(null),l(!1)},spellCheck:!1,className:`w-full min-h-[300px] rounded border p-3 text-[13px] font-mono leading-relaxed focus:outline-none focus:ring-1 ${o?`border-red-300 focus:ring-red-400`:`border-black/10 focus:ring-blue-400`}`}),o&&(0,k.jsxs)(`span`,{className:`text-[12px] text-red-500`,children:[`Parse error: `,o]}),(0,k.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,k.jsx)(`button`,{onClick:()=>{try{b(e,JSON.parse(i)),s(null),l(!0),setTimeout(()=>{l(!1)},2e3)}catch(e){s(e instanceof Error?e.message:`Invalid JSON`),l(!1)}},className:`rounded bg-blue-600 px-4 py-1.5 text-[13px] font-medium text-white hover:bg-blue-700 active:bg-blue-800`,children:`Save Configuration`}),(0,k.jsx)(`button`,{onClick:()=>{f(e),a(r),s(null),l(!1)},className:`rounded border border-black/10 px-4 py-1.5 text-[13px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:`Reset`}),c&&(0,k.jsx)(`span`,{className:`text-[12px] text-green-600 font-medium`,children:`Saved`})]})]})},M=({open:e,onClose:t,apiName:n,loadFn:r,label:i})=>{let s=(0,O.useMemo)(()=>e?r(n)?.__kizen_clean_config??null:null,[e,n,r]),c=(0,O.useMemo)(()=>s?JSON.stringify(s,null,2):``,[s]),[l,u]=(0,O.useState)(!1);return(0,O.useEffect)(()=>{e||u(!1)},[e]),(0,k.jsx)(o,{open:e,size:`xl`,ariaModal:!0,onBackdropClick:t,header:(0,k.jsx)(a,{title:`Stored JSON — ${i}`,onClose:t}),footer:s?(0,k.jsx)(`button`,{onClick:()=>{navigator.clipboard.writeText(c).then(()=>{u(!0),setTimeout(()=>{u(!1)},1200)})},className:`rounded border border-black/10 px-3 py-1 text-[12px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:l?`Copied`:`Copy`}):void 0,children:(0,k.jsxs)(`div`,{className:`px-5 py-4`,children:[(0,k.jsxs)(`p`,{className:`m-0 mb-3 text-[12px] text-neutral-500`,children:[`This is the saved JSON the plugin runtime will see as`,` `,(0,k.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:i}),`. Save the form to refresh.`]}),s?(0,k.jsx)(D,{code:c,language:`json`}):(0,k.jsx)(`div`,{className:`rounded border border-dashed border-black/10 px-4 py-6 text-center text-[12px] text-neutral-400`,children:`No saved configuration yet. Save the form to populate this view.`})]})})},N=({config:e,apiName:t,loadFn:n,saveFn:r,clearFn:i})=>{let a=n(t)?.__kizen_setup_assistant_values,o=(0,O.useRef)({}),[s,c]=(0,O.useState)(!1),{getObjectByAPIName:l,getCustomObjectDetails:f}=h(),p=(0,O.useCallback)(e=>{o.current=e},[]);return(0,k.jsx)(d,{config:e,value:a,onStateChange:p,disabledKeys:[],getObjectByAPIName:l,getCustomObjectDetails:f,children:(0,k.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[e.fields?.map(e=>(0,k.jsx)(u,{field:e,pluginApiName:t},e.key)),(0,k.jsxs)(`div`,{className:`flex items-center gap-2 mt-2`,children:[(0,k.jsx)(`button`,{onClick:()=>{let n=o.current;r(t,n,e),c(!0),setTimeout(()=>{c(!1)},2e3)},className:`rounded bg-blue-600 px-4 py-1.5 text-[13px] font-medium text-white hover:bg-blue-700 active:bg-blue-800`,children:`Save Configuration`}),(0,k.jsx)(`button`,{onClick:()=>{i(t),window.location.reload()},className:`rounded border border-black/10 px-4 py-1.5 text-[13px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:`Reset`}),s&&(0,k.jsx)(`span`,{className:`text-[12px] text-green-600 font-medium`,children:`Saved`})]})]})})},P=({config:e,apiName:t,loadFn:r,saveFn:a,clearFn:o})=>{let c=s(),l=C(),u=(0,O.useMemo)(()=>_(l),[l]),{environment:d}=x(),f=S[d],[p,h]=(0,O.useState)(!1),[g,v]=(0,O.useState)(!1),{onMonitoringException:b,dialog:w}=y();return c?(0,k.jsx)(m,{appPath:f,user:{id:c.team.user,crm_client_id:``},business:c.business,clientObject:c.business.client_object?{id:c.business.client_object.id,objectName:c.business.client_object.object_name}:void 0,teamMember:c.team,onNavigate:()=>{},performFileUpload:()=>Promise.resolve({url:``}),monitoringExceptionHelper:b,performRequest:async(e,t,n,r)=>({data:await u.request(e,t,n,r)}),modal:{showing:p,show:g,showPrompt:()=>{h(!0),v(!0)},onConfirm:()=>{h(!1),v(!1)},onHide:()=>{h(!1),v(!1)}},showToast:()=>{},clearToasts:()=>{},children:()=>(0,k.jsxs)(k.Fragment,{children:[(0,k.jsx)(N,{config:e,apiName:t,loadFn:r,saveFn:a,clearFn:o}),w]})}):(0,k.jsx)(i,{icon:n,className:`animate-spin text-neutral-400`})},F=()=>{let e=E(),[t,n]=(0,O.useState)(null);if(e.status!==`ok`)return(0,k.jsx)(T,{state:e});let{app:r,apiName:i}=e,a=r.base_config,o=a?.setup_assistant,s=a?.user_setup_assistant,u=(o?.fields?.length??0)>0,d=(s?.fields?.length??0)>0;return!u&&!d?(0,k.jsx)(w,{children:(0,k.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`h2`,{className:`text-[15px] font-bold text-neutral-900 m-0`,children:`Configuration`}),(0,k.jsx)(`p`,{className:`text-[12px] text-neutral-400 m-0 mt-1`,children:`Enter plugin configuration as JSON.`})]}),(0,k.jsx)(j,{apiName:i,configTemplate:r.config_template})]})}):(0,k.jsxs)(`div`,{className:`flex flex-col gap-4 lg:flex-row lg:items-start`,children:[u&&o&&(0,k.jsx)(w,{className:`lg:flex-1 lg:min-w-0`,children:(0,k.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,k.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,k.jsxs)(`div`,{className:`min-w-0`,children:[(0,k.jsx)(`h2`,{className:`text-[15px] font-bold text-neutral-900 m-0`,children:`Business Configuration`}),(0,k.jsxs)(`p`,{className:`text-[12px] text-neutral-400 m-0 mt-1`,children:[`Configure the business-level setup assistant fields. These values are shared across the whole business and exposed to plugin scripts at`,` `,(0,k.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:`this.config`}),`.`]})]}),(0,k.jsx)(`button`,{onClick:()=>{n(`business`)},className:`shrink-0 rounded border border-black/10 px-3 py-1.5 text-[12px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:`View JSON`})]}),(0,k.jsx)(P,{config:o,apiName:i,loadFn:g,saveFn:p,clearFn:f})]})}),d&&s&&(0,k.jsx)(w,{className:`lg:flex-1 lg:min-w-0`,children:(0,k.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,k.jsxs)(`div`,{className:`flex items-start justify-between gap-3`,children:[(0,k.jsxs)(`div`,{className:`min-w-0`,children:[(0,k.jsx)(`h2`,{className:`text-[15px] font-bold text-neutral-900 m-0`,children:`User Configuration`}),(0,k.jsxs)(`p`,{className:`text-[12px] text-neutral-400 m-0 mt-1`,children:[`Configure the per-user setup assistant fields. These values are scoped to the logged-in user and exposed to plugin scripts at`,` `,(0,k.jsx)(`code`,{className:`rounded bg-neutral-100 px-1 font-mono text-[11px]`,children:`this.userConfig`}),`.`]})]}),(0,k.jsx)(`button`,{onClick:()=>{n(`user`)},className:`shrink-0 rounded border border-black/10 px-3 py-1.5 text-[12px] font-medium text-neutral-600 hover:bg-neutral-50 active:bg-neutral-100`,children:`View JSON`})]}),(0,k.jsx)(P,{config:s,apiName:i,loadFn:v,saveFn:l,clearFn:c})]})}),(0,k.jsx)(M,{open:t===`business`,onClose:()=>{n(null)},apiName:i,loadFn:g,label:`this.config`}),(0,k.jsx)(M,{open:t===`user`,onClose:()=>{n(null)},apiName:i,loadFn:v,label:`this.userConfig`})]})};export{F as ConfigurationPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DF2fYuay.js";import{j as t}from"./fa-core-C4eeAd4v.js";var n=e(t(),1),r=[`go`,`fmo`,`staging`,`integration`,`test1`],i={apiKey:``,userId:``,businessId:``,environment:`go`},a=`devtools-credentials`,o=(0,n.createContext)(i),s=()=>(0,n.useContext)(o);export{s as a,r as i,o as n,i as r,a as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DF2fYuay.js";import{j as t}from"./fa-core-BoBqCOD3.js";var n=e(t(),1),r=[`go`,`fmo`,`staging`,`integration`,`test1`],i=(0,n.createContext)({apiKey:``,userId:``,businessId:``,environment:`go`}),a=()=>(0,n.useContext)(i);export{r as n,a as r,i as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e}from"./rolldown-runtime-DF2fYuay.js";import{b as t,i as n,n as r,v as i,x as a,y as o}from"./fa-core-wsCxaNB7.js";import{n as s}from"./CredentialsContext-zl2e9kpM.js";var c=e(a(),1),l=t(),u=`integration:route-change`,d=`w-full rounded bg-neutral-800 border border-neutral-700 px-2 py-1 text-[12px] font-mono text-neutral-200 focus:outline-none focus:border-neutral-500`,f=`block text-[11px] font-semibold uppercase tracking-widest text-neutral-600 mb-1`;function p(e){return e.toTimeString().slice(0,8)}var m=()=>{let[e,t]=(0,c.useState)(`/`),[n,r]=(0,c.useState)(``),[i,a]=(0,c.useState)(``),[o,s]=(0,c.useState)([]),m=(0,c.useRef)(null);(0,c.useEffect)(()=>{m.current?.scrollIntoView({behavior:`smooth`})},[o]),(0,c.useEffect)(()=>{let e=e=>{let t=e;s(e=>[...e,{time:new Date,location:t.detail.location}].slice(-50))};return window.addEventListener(u,e),()=>{window.removeEventListener(u,e)}},[]);let h=()=>{let t=n&&!n.startsWith(`?`)?`?${n}`:n,r=i&&!i.startsWith(`#`)?`#${i}`:i,a={host:window.location.host,origin:window.location.origin,port:window.location.port,protocol:window.location.protocol,pathname:e,search:t,hash:r,href:`${window.location.origin}${e}${t}${r}`};window.dispatchEvent(new CustomEvent(u,{detail:{location:a}}))},g=e=>{e.key===`Enter`&&h()};return(0,l.jsxs)(`div`,{className:`flex flex-col gap-3 px-4 pb-3`,children:[(0,l.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:f,children:`Search`}),(0,l.jsx)(`input`,{type:`text`,className:d,value:n,onChange:e=>{r(e.target.value)},onKeyDown:g,placeholder:`?tab=notes`,spellCheck:!1})]}),(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:f,children:`Hash`}),(0,l.jsx)(`input`,{type:`text`,className:d,value:i,onChange:e=>{a(e.target.value)},onKeyDown:g,placeholder:`#section`,spellCheck:!1})]})]}),(0,l.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:f,children:`Pathname`}),(0,l.jsx)(`input`,{type:`text`,className:d,value:e,onChange:e=>{t(e.target.value)},onKeyDown:g,placeholder:`/client/abc-123/overview`,spellCheck:!1})]}),(0,l.jsx)(`button`,{onClick:h,className:`rounded bg-neutral-700 px-3 py-1.5 text-[12px] font-semibold text-neutral-200 hover:bg-neutral-600 active:bg-neutral-500`,children:`Dispatch`})]})]}),(0,l.jsxs)(`div`,{className:`flex flex-col border-t border-neutral-800 pt-2`,children:[(0,l.jsxs)(`div`,{className:`mb-1 flex items-center justify-between`,children:[(0,l.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-500`,children:`Navigation Event Stream`}),o.length>0&&(0,l.jsx)(`button`,{onClick:()=>{s([])},className:`text-[11px] text-neutral-600 hover:text-neutral-300`,children:`clear`})]}),(0,l.jsxs)(`div`,{className:`max-h-40 overflow-y-auto`,children:[o.length===0?(0,l.jsx)(`p`,{className:`text-[12px] text-neutral-600`,children:`No events yet.`}):o.map((e,t)=>(0,l.jsxs)(`div`,{className:`px-2 py-0.5 font-mono text-[11px] leading-5 ${t%2==0?`bg-neutral-900`:`bg-neutral-800/40`}`,children:[(0,l.jsx)(`span`,{className:`text-neutral-600`,children:p(e.time)}),(0,l.jsx)(`span`,{className:`ml-2 text-neutral-300`,children:e.location.pathname}),e.location.search&&(0,l.jsx)(`span`,{className:`text-neutral-500`,children:e.location.search}),e.location.hash&&(0,l.jsx)(`span`,{className:`text-neutral-500`,children:e.location.hash})]},t)),(0,l.jsx)(`div`,{ref:m})]})]})]})},h=`w-full rounded bg-neutral-800 border border-neutral-700 px-2 py-1 text-[12px] font-mono text-neutral-200 focus:outline-none focus:border-neutral-500`,g=`block text-[11px] font-semibold uppercase tracking-widest text-neutral-600 mb-1`,_=`text-[11px] font-semibold uppercase tracking-widest text-neutral-500`,v={log:`text-neutral-400`,info:`text-blue-400`,warn:`text-yellow-400`,error:`text-red-400`};function y(e){if(typeof e==`string`)return e;if(e===null)return`null`;if(e===void 0)return`undefined`;try{return JSON.stringify(e)}catch{return`[unserializable]`}}var b=({logs:e,height:t})=>{let n=(0,c.useRef)(null);return(0,c.useEffect)(()=>{n.current?.scrollIntoView({behavior:`smooth`})},[e]),(0,l.jsxs)(`div`,{className:`${t} overflow-x-auto overflow-y-auto pb-4`,children:[e.length===0?(0,l.jsx)(`p`,{className:`px-4 text-[12px] text-neutral-600`,children:`No output yet.`}):e.map((e,t)=>(0,l.jsx)(`div`,{className:`whitespace-pre px-4 text-[12px] leading-5 ${v[e.level]} ${t%2==0?`bg-neutral-900`:`bg-neutral-800/40`}`,children:e.args.map(y).join(` `)},t)),(0,l.jsx)(`div`,{ref:n})]})},x=({logs:e,height:t})=>{let n=(0,c.useRef)(null);return(0,c.useEffect)(()=>{n.current?.scrollIntoView({behavior:`smooth`})},[e]),(0,l.jsxs)(`div`,{className:`${t} overflow-x-auto overflow-y-auto pb-4`,children:[e.length===0?(0,l.jsx)(`p`,{className:`px-4 text-[12px] text-neutral-600`,children:`No output yet.`}):e.map((e,t)=>(0,l.jsx)(`div`,{className:`whitespace-pre px-4 text-[12px] leading-5 text-neutral-500`,children:e},t)),(0,l.jsx)(`div`,{ref:n})]})};function S(e){switch(e.toUpperCase()){case`GET`:return`bg-blue-900/60 text-blue-300`;case`POST`:return`bg-green-900/60 text-green-300`;case`PUT`:return`bg-amber-900/60 text-amber-300`;case`PATCH`:return`bg-orange-900/60 text-orange-300`;case`DELETE`:return`bg-red-900/60 text-red-300`;default:return`bg-neutral-800 text-neutral-400`}}function C(e){return e===0?`bg-neutral-800 text-neutral-400`:e<300?`bg-green-900/60 text-green-300`:e<400?`bg-yellow-900/60 text-yellow-300`:e<500?`bg-orange-900/60 text-orange-300`:`bg-red-900/60 text-red-300`}var w=({logs:e,height:t})=>{let n=(0,c.useRef)(null),[r,i]=(0,c.useState)(null);return(0,c.useEffect)(()=>{n.current?.scrollIntoView({behavior:`smooth`})},[e]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`${t} overflow-x-auto overflow-y-auto pb-4`,children:[e.length===0?(0,l.jsx)(`p`,{className:`px-4 text-[12px] text-neutral-600`,children:`No output yet.`}):e.map((e,t)=>(0,l.jsx)(`div`,{className:`flex items-center gap-1.5 px-3 py-0.5 text-[11px] ${t%2==0?`bg-neutral-900`:`bg-neutral-800/40`}`,children:e.kind===`info`?(0,l.jsx)(`span`,{className:`text-neutral-500`,children:e.message}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{className:`w-12 shrink-0 rounded text-center font-mono font-semibold ${S(e.method)}`,children:e.method}),(0,l.jsx)(`span`,{className:`w-8 shrink-0 rounded text-center font-mono font-semibold ${C(e.status)}`,children:e.status===0?`ERR`:e.status}),(0,l.jsx)(`span`,{className:`w-14 shrink-0 rounded text-center font-mono font-semibold ${e.fromCache?`bg-violet-900/60 text-violet-300`:`bg-neutral-800 text-neutral-400`}`,children:e.fromCache?`cache`:`network`}),(0,l.jsx)(`span`,{className:`min-w-0 truncate cursor-default font-mono text-neutral-400`,onMouseEnter:t=>{let n=t.currentTarget.getBoundingClientRect();i({text:e.url,x:n.left,y:n.top})},onMouseLeave:()=>{i(null)},children:e.url})]})},t)),(0,l.jsx)(`div`,{ref:n})]}),r&&(0,l.jsx)(`div`,{className:`pointer-events-none fixed z-50 max-w-xs break-all rounded bg-neutral-700 px-2 py-1 text-[11px] text-neutral-100 shadow-lg`,style:{left:r.x,top:r.y,transform:`translateY(calc(-100% - 4px))`},children:r.text})]})},T=({onClose:e,buildLogs:t,proxyLogs:a,consoleLogs:u,onClearConsole:d,credentials:f,onCredentialsChange:p,width:v=416,onWidthChange:y})=>{let[S,C]=(0,c.useState)(()=>{let e=localStorage.getItem(`devtools-creds-open`);return e===null?!(f.apiKey&&f.userId&&f.businessId):e!==`false`}),[T,E]=(0,c.useState)([]),[D,O]=(0,c.useState)(void 0),k=(0,c.useCallback)(async()=>{try{let e=await fetch(`/api/credential-profiles`);if(!e.ok)return;let t=await e.json();E(t.profiles),O(t.active)}catch{}},[]);(0,c.useEffect)(()=>{k()},[k]);let A=(0,c.useCallback)(async e=>{let t=e===``?void 0:e;try{await fetch(`/api/credentials/switch`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({profile:t})}),await fetch(`/api/proxy-cache/clear`),O(t)}catch{}},[]),[j,M]=(0,c.useState)(()=>localStorage.getItem(`devtools-routes-open`)!==`false`),[N,P]=(0,c.useState)(()=>localStorage.getItem(`devtools-console-open`)!==`false`),[F,I]=(0,c.useState)(()=>localStorage.getItem(`devtools-proxy-open`)!==`false`),[L,R]=(0,c.useState)(()=>localStorage.getItem(`devtools-build-open`)!==`false`),z=(e,t)=>{t(t=>{let n=!t;return localStorage.setItem(e,String(n)),n})},B=(0,c.useRef)(!1),V=(0,c.useCallback)(e=>{e.preventDefault(),B.current=!0;let t=e=>{if(!B.current)return;let t=Math.min(800,Math.max(280,window.innerWidth-e.clientX));y?.(t)},n=()=>{B.current=!1,document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)};document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)},[y]);return(0,l.jsxs)(`aside`,{className:`relative flex shrink-0 flex-col border-l border-neutral-800 bg-neutral-900 text-neutral-100`,style:{width:v},children:[(0,l.jsx)(`div`,{onMouseDown:V,className:`absolute left-0 top-0 z-10 h-full w-1 cursor-col-resize transition-colors hover:bg-neutral-600`}),(0,l.jsxs)(`div`,{className:`flex items-center justify-between border-b border-neutral-800 px-4 py-3`,children:[(0,l.jsx)(`span`,{className:`text-[12px] font-semibold uppercase tracking-widest text-neutral-400`,children:`Dev Tools`}),(0,l.jsx)(`button`,{onClick:e,className:`text-neutral-500 hover:text-neutral-200`,"aria-label":`Close dev tools`,children:(0,l.jsx)(o,{icon:i,size:`sm`})})]}),(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0`,children:[(0,l.jsxs)(`div`,{className:`flex shrink-0 flex-col border-b border-neutral-800`,children:[(0,l.jsxs)(`button`,{className:`flex items-center justify-between px-4 py-2 hover:bg-neutral-800/50`,onClick:()=>{z(`devtools-creds-open`,C),k()},children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(`span`,{className:_,children:`Credentials`}),!S&&(0,l.jsx)(`span`,{className:`text-[11px] font-mono text-neutral-400`,children:f.environment})]}),(0,l.jsx)(o,{icon:S?r:n,className:`text-neutral-600`,size:`xs`})]}),S&&(0,l.jsxs)(`div`,{className:`flex flex-col gap-2 px-4 pb-3`,children:[T.length>1&&(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`label`,{className:g,children:`Profile`}),(0,l.jsx)(`select`,{className:h,value:D??``,onChange:e=>{A(e.target.value)},children:T.map(e=>(0,l.jsx)(`option`,{value:e.isDefault?``:e.name,children:e.isDefault?`Default`:e.name},e.name))})]}),(0,l.jsxs)(`div`,{className:`flex gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:g,children:`Environment`}),(0,l.jsx)(`select`,{className:h,value:f.environment,onChange:e=>{p({...f,environment:e.target.value})},children:s.map(e=>(0,l.jsx)(`option`,{value:e,children:e},e))})]}),(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:g,children:`Business ID`}),(0,l.jsx)(`input`,{type:`text`,className:h,value:f.businessId,onChange:e=>{p({...f,businessId:e.target.value})},placeholder:`x-business-id`,autoComplete:`off`})]})]}),(0,l.jsxs)(`div`,{className:`flex gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:g,children:`User ID`}),(0,l.jsx)(`input`,{type:`text`,className:h,value:f.userId,onChange:e=>{p({...f,userId:e.target.value})},placeholder:`x-user-id`,autoComplete:`off`})]}),(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:g,children:`API Key`}),(0,l.jsx)(`input`,{type:`password`,className:h,value:f.apiKey,onChange:e=>{p({...f,apiKey:e.target.value})},placeholder:`x-api-key`,autoComplete:`off`})]})]})]})]}),(0,l.jsxs)(`div`,{className:`flex shrink-0 flex-col border-t border-neutral-800 overflow-hidden`,children:[(0,l.jsxs)(`button`,{className:`flex items-center justify-between px-4 py-2 hover:bg-neutral-800/50`,onClick:()=>{z(`devtools-routes-open`,M)},children:[(0,l.jsx)(`span`,{className:_,children:`Routes`}),(0,l.jsx)(o,{icon:j?r:n,className:`text-neutral-600`,size:`xs`})]}),j&&(0,l.jsx)(m,{})]}),(0,l.jsxs)(`div`,{className:`flex shrink-0 flex-col border-t border-neutral-800`,children:[(0,l.jsxs)(`div`,{className:`flex items-center px-4 py-2`,children:[(0,l.jsxs)(`button`,{className:`flex flex-1 items-center gap-2 hover:opacity-70`,onClick:()=>{z(`devtools-console-open`,P)},children:[(0,l.jsx)(`span`,{className:_,children:`Browser Console`}),(0,l.jsx)(o,{icon:N?r:n,className:`text-neutral-600`,size:`xs`})]}),N&&u.length>0&&(0,l.jsx)(`button`,{onClick:d,className:`text-[11px] text-neutral-600 hover:text-neutral-300`,children:`clear`})]}),N&&(0,l.jsx)(b,{logs:u,height:`min-h-32 max-h-64`})]}),(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0 border-t border-neutral-800`,children:[(0,l.jsxs)(`div`,{className:`flex items-center px-4 py-2`,children:[(0,l.jsxs)(`button`,{className:`flex flex-1 items-center gap-2 hover:opacity-70`,onClick:()=>{z(`devtools-proxy-open`,I)},children:[(0,l.jsx)(`span`,{className:_,children:`Network Requests`}),(0,l.jsx)(o,{icon:F?r:n,className:`text-neutral-600`,size:`xs`})]}),F&&(0,l.jsx)(`button`,{onClick:()=>{fetch(`/api/proxy-cache/clear`)},className:`text-[11px] text-neutral-600 hover:text-neutral-300`,children:`clear cache`})]}),F&&(0,l.jsx)(w,{logs:a,height:`flex-1 min-h-0`})]})]}),(0,l.jsxs)(`div`,{className:`flex flex-col border-t border-neutral-800`,children:[(0,l.jsxs)(`button`,{className:`flex items-center justify-between px-4 py-2 hover:bg-neutral-800/50`,onClick:()=>{z(`devtools-build-open`,R)},children:[(0,l.jsx)(`span`,{className:_,children:`Build Log`}),(0,l.jsx)(o,{icon:L?r:n,className:`text-neutral-600`,size:`xs`})]}),L&&(0,l.jsx)(x,{logs:t,height:`max-h-[60px]`})]})]})]})};export{T as DevSidebar};
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DF2fYuay.js";import{A as t,O as n,a as r,j as i,k as a,r as o}from"./fa-core-BoBqCOD3.js";import{n as s}from"./CredentialsContext-k-q4M-VC.js";var c=e(i(),1),l=t(),u=`integration:route-change`,d=`w-full rounded bg-neutral-800 border border-neutral-700 px-2 py-1 text-[12px] font-mono text-neutral-200 focus:outline-none focus:border-neutral-500`,f=`block text-[11px] font-semibold uppercase tracking-widest text-neutral-600 mb-1`;function p(e){return e.toTimeString().slice(0,8)}var m=()=>{let[e,t]=(0,c.useState)(`/`),[n,r]=(0,c.useState)(``),[i,a]=(0,c.useState)(``),[o,s]=(0,c.useState)([]),m=(0,c.useRef)(null);(0,c.useEffect)(()=>{m.current?.scrollIntoView({behavior:`smooth`})},[o]),(0,c.useEffect)(()=>{let e=e=>{let t=e;s(e=>[...e,{time:new Date,location:t.detail.location}].slice(-50))};return window.addEventListener(u,e),()=>{window.removeEventListener(u,e)}},[]);let h=()=>{let t=n&&!n.startsWith(`?`)?`?${n}`:n,r=i&&!i.startsWith(`#`)?`#${i}`:i,a={host:window.location.host,origin:window.location.origin,port:window.location.port,protocol:window.location.protocol,pathname:e,search:t,hash:r,href:`${window.location.origin}${e}${t}${r}`};window.dispatchEvent(new CustomEvent(u,{detail:{location:a}}))},g=e=>{e.key===`Enter`&&h()};return(0,l.jsxs)(`div`,{className:`flex flex-col gap-3 px-4 pb-3`,children:[(0,l.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:f,children:`Search`}),(0,l.jsx)(`input`,{type:`text`,className:d,value:n,onChange:e=>{r(e.target.value)},onKeyDown:g,placeholder:`?tab=notes`,spellCheck:!1})]}),(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:f,children:`Hash`}),(0,l.jsx)(`input`,{type:`text`,className:d,value:i,onChange:e=>{a(e.target.value)},onKeyDown:g,placeholder:`#section`,spellCheck:!1})]})]}),(0,l.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:f,children:`Pathname`}),(0,l.jsx)(`input`,{type:`text`,className:d,value:e,onChange:e=>{t(e.target.value)},onKeyDown:g,placeholder:`/client/abc-123/overview`,spellCheck:!1})]}),(0,l.jsx)(`button`,{onClick:h,className:`rounded bg-neutral-700 px-3 py-1.5 text-[12px] font-semibold text-neutral-200 hover:bg-neutral-600 active:bg-neutral-500`,children:`Dispatch`})]})]}),(0,l.jsxs)(`div`,{className:`flex flex-col border-t border-neutral-800 pt-2`,children:[(0,l.jsxs)(`div`,{className:`mb-1 flex items-center justify-between`,children:[(0,l.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-500`,children:`Navigation Event Stream`}),o.length>0&&(0,l.jsx)(`button`,{onClick:()=>{s([])},className:`text-[11px] text-neutral-600 hover:text-neutral-300`,children:`clear`})]}),(0,l.jsxs)(`div`,{className:`max-h-40 overflow-y-auto`,children:[o.length===0?(0,l.jsx)(`p`,{className:`text-[12px] text-neutral-600`,children:`No events yet.`}):o.map((e,t)=>(0,l.jsxs)(`div`,{className:`px-2 py-0.5 font-mono text-[11px] leading-5 ${t%2==0?`bg-neutral-900`:`bg-neutral-800/40`}`,children:[(0,l.jsx)(`span`,{className:`text-neutral-600`,children:p(e.time)}),(0,l.jsx)(`span`,{className:`ml-2 text-neutral-300`,children:e.location.pathname}),e.location.search&&(0,l.jsx)(`span`,{className:`text-neutral-500`,children:e.location.search}),e.location.hash&&(0,l.jsx)(`span`,{className:`text-neutral-500`,children:e.location.hash})]},t)),(0,l.jsx)(`div`,{ref:m})]})]})]})},h=`w-full rounded bg-neutral-800 border border-neutral-700 px-2 py-1 text-[12px] font-mono text-neutral-200 focus:outline-none focus:border-neutral-500`,g=`block text-[11px] font-semibold uppercase tracking-widest text-neutral-600 mb-1`,_=`text-[11px] font-semibold uppercase tracking-widest text-neutral-500`,v={log:`text-neutral-400`,info:`text-blue-400`,warn:`text-yellow-400`,error:`text-red-400`};function y(e){if(typeof e==`string`)return e;if(e===null)return`null`;if(e===void 0)return`undefined`;try{return JSON.stringify(e)}catch{return`[unserializable]`}}var b=({logs:e,height:t})=>{let n=(0,c.useRef)(null);return(0,c.useEffect)(()=>{n.current?.scrollIntoView({behavior:`smooth`})},[e]),(0,l.jsxs)(`div`,{className:`${t} overflow-x-auto overflow-y-auto pb-4`,children:[e.length===0?(0,l.jsx)(`p`,{className:`px-4 text-[12px] text-neutral-600`,children:`No output yet.`}):e.map((e,t)=>(0,l.jsx)(`div`,{className:`whitespace-pre px-4 text-[12px] leading-5 ${v[e.level]} ${t%2==0?`bg-neutral-900`:`bg-neutral-800/40`}`,children:e.args.map(y).join(` `)},t)),(0,l.jsx)(`div`,{ref:n})]})},x=({logs:e,height:t})=>{let n=(0,c.useRef)(null);return(0,c.useEffect)(()=>{n.current?.scrollIntoView({behavior:`smooth`})},[e]),(0,l.jsxs)(`div`,{className:`${t} overflow-x-auto overflow-y-auto pb-4`,children:[e.length===0?(0,l.jsx)(`p`,{className:`px-4 text-[12px] text-neutral-600`,children:`No output yet.`}):e.map((e,t)=>(0,l.jsx)(`div`,{className:`whitespace-pre px-4 text-[12px] leading-5 text-neutral-500`,children:e},t)),(0,l.jsx)(`div`,{ref:n})]})};function S(e){switch(e.toUpperCase()){case`GET`:return`bg-blue-900/60 text-blue-300`;case`POST`:return`bg-green-900/60 text-green-300`;case`PUT`:return`bg-amber-900/60 text-amber-300`;case`PATCH`:return`bg-orange-900/60 text-orange-300`;case`DELETE`:return`bg-red-900/60 text-red-300`;default:return`bg-neutral-800 text-neutral-400`}}function C(e){return e===0?`bg-neutral-800 text-neutral-400`:e<300?`bg-green-900/60 text-green-300`:e<400?`bg-yellow-900/60 text-yellow-300`:e<500?`bg-orange-900/60 text-orange-300`:`bg-red-900/60 text-red-300`}var w=({logs:e,height:t})=>{let n=(0,c.useRef)(null),[r,i]=(0,c.useState)(null);return(0,c.useEffect)(()=>{n.current?.scrollIntoView({behavior:`smooth`})},[e]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`${t} overflow-x-auto overflow-y-auto pb-4`,children:[e.length===0?(0,l.jsx)(`p`,{className:`px-4 text-[12px] text-neutral-600`,children:`No output yet.`}):e.map((e,t)=>(0,l.jsx)(`div`,{className:`flex items-center gap-1.5 px-3 py-0.5 text-[11px] ${t%2==0?`bg-neutral-900`:`bg-neutral-800/40`}`,children:e.kind===`info`?(0,l.jsx)(`span`,{className:`text-neutral-500`,children:e.message}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{className:`w-12 shrink-0 rounded text-center font-mono font-semibold ${S(e.method)}`,children:e.method}),(0,l.jsx)(`span`,{className:`w-8 shrink-0 rounded text-center font-mono font-semibold ${C(e.status)}`,children:e.status===0?`ERR`:e.status}),(0,l.jsx)(`span`,{className:`w-14 shrink-0 rounded text-center font-mono font-semibold ${e.fromCache?`bg-violet-900/60 text-violet-300`:`bg-neutral-800 text-neutral-400`}`,children:e.fromCache?`cache`:`network`}),(0,l.jsx)(`span`,{className:`min-w-0 truncate cursor-default font-mono text-neutral-400`,onMouseEnter:t=>{let n=t.currentTarget.getBoundingClientRect();i({text:e.url,x:n.left,y:n.top})},onMouseLeave:()=>{i(null)},children:e.url})]})},t)),(0,l.jsx)(`div`,{ref:n})]}),r&&(0,l.jsx)(`div`,{className:`pointer-events-none fixed z-50 max-w-xs break-all rounded bg-neutral-700 px-2 py-1 text-[11px] text-neutral-100 shadow-lg`,style:{left:r.x,top:r.y,transform:`translateY(calc(-100% - 4px))`},children:r.text})]})},T=({onClose:e,buildLogs:t,proxyLogs:i,consoleLogs:u,onClearConsole:d,credentials:f,onCredentialsChange:p,width:v=416,onWidthChange:y})=>{let[S,C]=(0,c.useState)(()=>{let e=localStorage.getItem(`devtools-creds-open`);return e===null?!(f.apiKey&&f.userId&&f.businessId):e!==`false`}),[T,E]=(0,c.useState)([]),[D,O]=(0,c.useState)(void 0),k=(0,c.useCallback)(async()=>{try{let e=await fetch(`/api/credential-profiles`);if(!e.ok)return;let t=await e.json();E(t.profiles),O(t.active)}catch{}},[]);(0,c.useEffect)(()=>{k()},[k]);let A=(0,c.useCallback)(async e=>{let t=e===``?void 0:e;try{await fetch(`/api/credentials/switch`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({profile:t})}),await fetch(`/api/proxy-cache/clear`),O(t)}catch{}},[]),[j,M]=(0,c.useState)(()=>localStorage.getItem(`devtools-routes-open`)!==`false`),[N,P]=(0,c.useState)(()=>localStorage.getItem(`devtools-console-open`)!==`false`),[F,I]=(0,c.useState)(()=>localStorage.getItem(`devtools-proxy-open`)!==`false`),[L,R]=(0,c.useState)(()=>localStorage.getItem(`devtools-build-open`)!==`false`),z=(e,t)=>{t(t=>{let n=!t;return localStorage.setItem(e,String(n)),n})},B=(0,c.useRef)(!1),V=(0,c.useCallback)(e=>{e.preventDefault(),B.current=!0;let t=e=>{if(!B.current)return;let t=Math.min(800,Math.max(280,window.innerWidth-e.clientX));y?.(t)},n=()=>{B.current=!1,document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)};document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)},[y]);return(0,l.jsxs)(`aside`,{className:`relative flex shrink-0 flex-col border-l border-neutral-800 bg-neutral-900 text-neutral-100`,style:{width:v},children:[(0,l.jsx)(`div`,{onMouseDown:V,className:`absolute left-0 top-0 z-10 h-full w-1 cursor-col-resize transition-colors hover:bg-neutral-600`}),(0,l.jsxs)(`div`,{className:`flex items-center justify-between border-b border-neutral-800 px-4 py-3`,children:[(0,l.jsx)(`span`,{className:`text-[12px] font-semibold uppercase tracking-widest text-neutral-400`,children:`Dev Tools`}),(0,l.jsx)(`button`,{onClick:e,className:`text-neutral-500 hover:text-neutral-200`,"aria-label":`Close dev tools`,children:(0,l.jsx)(a,{icon:n,size:`sm`})})]}),(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0`,children:[(0,l.jsxs)(`div`,{className:`flex shrink-0 flex-col border-b border-neutral-800`,children:[(0,l.jsxs)(`button`,{className:`flex items-center justify-between px-4 py-2 hover:bg-neutral-800/50`,onClick:()=>{z(`devtools-creds-open`,C),k()},children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(`span`,{className:_,children:`Credentials`}),!S&&(0,l.jsx)(`span`,{className:`text-[11px] font-mono text-neutral-400`,children:f.environment})]}),(0,l.jsx)(a,{icon:S?o:r,className:`text-neutral-600`,size:`xs`})]}),S&&(0,l.jsxs)(`div`,{className:`flex flex-col gap-2 px-4 pb-3`,children:[T.length>1&&(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`label`,{className:g,children:`Profile`}),(0,l.jsx)(`select`,{className:h,value:D??``,onChange:e=>{A(e.target.value)},children:T.map(e=>(0,l.jsx)(`option`,{value:e.isDefault?``:e.name,children:e.isDefault?`Default`:e.name},e.name))})]}),(0,l.jsxs)(`div`,{className:`flex gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:g,children:`Environment`}),(0,l.jsx)(`select`,{className:h,value:f.environment,onChange:e=>{p({...f,environment:e.target.value})},children:s.map(e=>(0,l.jsx)(`option`,{value:e,children:e},e))})]}),(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:g,children:`Business ID`}),(0,l.jsx)(`input`,{type:`text`,className:h,value:f.businessId,onChange:e=>{p({...f,businessId:e.target.value})},placeholder:`x-business-id`,autoComplete:`off`})]})]}),(0,l.jsxs)(`div`,{className:`flex gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:g,children:`User ID`}),(0,l.jsx)(`input`,{type:`text`,className:h,value:f.userId,onChange:e=>{p({...f,userId:e.target.value})},placeholder:`x-user-id`,autoComplete:`off`})]}),(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:g,children:`API Key`}),(0,l.jsx)(`input`,{type:`password`,className:h,value:f.apiKey,onChange:e=>{p({...f,apiKey:e.target.value})},placeholder:`x-api-key`,autoComplete:`off`})]})]})]})]}),(0,l.jsxs)(`div`,{className:`flex shrink-0 flex-col border-t border-neutral-800 overflow-hidden`,children:[(0,l.jsxs)(`button`,{className:`flex items-center justify-between px-4 py-2 hover:bg-neutral-800/50`,onClick:()=>{z(`devtools-routes-open`,M)},children:[(0,l.jsx)(`span`,{className:_,children:`Routes`}),(0,l.jsx)(a,{icon:j?o:r,className:`text-neutral-600`,size:`xs`})]}),j&&(0,l.jsx)(m,{})]}),(0,l.jsxs)(`div`,{className:`flex shrink-0 flex-col border-t border-neutral-800`,children:[(0,l.jsxs)(`div`,{className:`flex items-center px-4 py-2`,children:[(0,l.jsxs)(`button`,{className:`flex flex-1 items-center gap-2 hover:opacity-70`,onClick:()=>{z(`devtools-console-open`,P)},children:[(0,l.jsx)(`span`,{className:_,children:`Browser Console`}),(0,l.jsx)(a,{icon:N?o:r,className:`text-neutral-600`,size:`xs`})]}),N&&u.length>0&&(0,l.jsx)(`button`,{onClick:d,className:`text-[11px] text-neutral-600 hover:text-neutral-300`,children:`clear`})]}),N&&(0,l.jsx)(b,{logs:u,height:`min-h-32 max-h-64`})]}),(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0 border-t border-neutral-800`,children:[(0,l.jsxs)(`div`,{className:`flex items-center px-4 py-2`,children:[(0,l.jsxs)(`button`,{className:`flex flex-1 items-center gap-2 hover:opacity-70`,onClick:()=>{z(`devtools-proxy-open`,I)},children:[(0,l.jsx)(`span`,{className:_,children:`Network Requests`}),(0,l.jsx)(a,{icon:F?o:r,className:`text-neutral-600`,size:`xs`})]}),F&&(0,l.jsx)(`button`,{onClick:()=>{fetch(`/api/proxy-cache/clear`)},className:`text-[11px] text-neutral-600 hover:text-neutral-300`,children:`clear cache`})]}),F&&(0,l.jsx)(w,{logs:i,height:`flex-1 min-h-0`})]})]}),(0,l.jsxs)(`div`,{className:`flex flex-col border-t border-neutral-800`,children:[(0,l.jsxs)(`button`,{className:`flex items-center justify-between px-4 py-2 hover:bg-neutral-800/50`,onClick:()=>{z(`devtools-build-open`,R)},children:[(0,l.jsx)(`span`,{className:_,children:`Build Log`}),(0,l.jsx)(a,{icon:L?o:r,className:`text-neutral-600`,size:`xs`})]}),L&&(0,l.jsx)(x,{logs:t,height:`max-h-[60px]`})]})]})]})};export{T as DevSidebar};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DF2fYuay.js";import{A as t,O as n,i as r,j as i,k as a,o}from"./fa-core-C4eeAd4v.js";import{i as s}from"./CredentialsContext-Rkt9WDIb.js";var c=e(i(),1),l=t(),u=`integration:route-change`,d=`w-full rounded bg-neutral-800 border border-neutral-700 px-2 py-1 text-[12px] font-mono text-neutral-200 focus:outline-none focus:border-neutral-500`,f=`block text-[11px] font-semibold uppercase tracking-widest text-neutral-600 mb-1`;function p(e){return e.toTimeString().slice(0,8)}var m=()=>{let[e,t]=(0,c.useState)(`/`),[n,r]=(0,c.useState)(``),[i,a]=(0,c.useState)(``),[o,s]=(0,c.useState)([]),m=(0,c.useRef)(null);(0,c.useEffect)(()=>{m.current?.scrollIntoView({behavior:`instant`})},[o]),(0,c.useEffect)(()=>{let e=e=>{let t=e;s(e=>[...e,{time:new Date,location:t.detail.location}].slice(-50))};return window.addEventListener(u,e),()=>{window.removeEventListener(u,e)}},[]);let h=()=>{let t=n&&!n.startsWith(`?`)?`?${n}`:n,r=i&&!i.startsWith(`#`)?`#${i}`:i,a={host:window.location.host,origin:window.location.origin,port:window.location.port,protocol:window.location.protocol,pathname:e,search:t,hash:r,href:`${window.location.origin}${e}${t}${r}`};window.dispatchEvent(new CustomEvent(u,{detail:{location:a}}))},g=e=>{e.key===`Enter`&&h()};return(0,l.jsxs)(`div`,{className:`flex flex-col gap-3 px-4 pb-3`,children:[(0,l.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:f,children:`Search`}),(0,l.jsx)(`input`,{type:`text`,className:d,value:n,onChange:e=>{r(e.target.value)},onKeyDown:g,placeholder:`?tab=notes`,spellCheck:!1})]}),(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:f,children:`Hash`}),(0,l.jsx)(`input`,{type:`text`,className:d,value:i,onChange:e=>{a(e.target.value)},onKeyDown:g,placeholder:`#section`,spellCheck:!1})]})]}),(0,l.jsxs)(`div`,{className:`flex items-end gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:f,children:`Pathname`}),(0,l.jsx)(`input`,{type:`text`,className:d,value:e,onChange:e=>{t(e.target.value)},onKeyDown:g,placeholder:`/client/abc-123/overview`,spellCheck:!1})]}),(0,l.jsx)(`button`,{onClick:h,className:`rounded bg-neutral-700 px-3 py-1.5 text-[12px] font-semibold text-neutral-200 hover:bg-neutral-600 active:bg-neutral-500`,children:`Dispatch`})]})]}),(0,l.jsxs)(`div`,{className:`flex flex-col border-t border-neutral-800 pt-2`,children:[(0,l.jsxs)(`div`,{className:`mb-1 flex items-center justify-between`,children:[(0,l.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-500`,children:`Navigation Event Stream`}),o.length>0&&(0,l.jsx)(`button`,{onClick:()=>{s([])},className:`text-[11px] text-neutral-600 hover:text-neutral-300`,children:`clear`})]}),(0,l.jsxs)(`div`,{className:`max-h-40 overflow-y-auto`,children:[o.length===0?(0,l.jsx)(`p`,{className:`text-[12px] text-neutral-600`,children:`No events yet.`}):o.map((e,t)=>(0,l.jsxs)(`div`,{className:`px-2 py-0.5 font-mono text-[11px] leading-5 ${t%2==0?`bg-neutral-900`:`bg-neutral-800/40`}`,children:[(0,l.jsx)(`span`,{className:`text-neutral-600`,children:p(e.time)}),(0,l.jsx)(`span`,{className:`ml-2 text-neutral-300`,children:e.location.pathname}),e.location.search&&(0,l.jsx)(`span`,{className:`text-neutral-500`,children:e.location.search}),e.location.hash&&(0,l.jsx)(`span`,{className:`text-neutral-500`,children:e.location.hash})]},t)),(0,l.jsx)(`div`,{ref:m})]})]})]})},h=`w-full rounded bg-neutral-800 border border-neutral-700 px-2 py-1 text-[12px] font-mono text-neutral-200 focus:outline-none focus:border-neutral-500`,g=`block text-[11px] font-semibold uppercase tracking-widest text-neutral-600 mb-1`,_=`text-[11px] font-semibold uppercase tracking-widest text-neutral-500`,v={log:`text-neutral-400`,info:`text-blue-400`,warn:`text-yellow-400`,error:`text-red-400`};function y(e){if(typeof e==`string`)return e;if(e===null)return`null`;if(e===void 0)return`undefined`;try{return JSON.stringify(e)}catch{return`[unserializable]`}}var b=({logs:e,height:t})=>{let n=(0,c.useRef)(null);return(0,c.useEffect)(()=>{n.current?.scrollIntoView({behavior:`smooth`})},[e]),(0,l.jsxs)(`div`,{className:`${t} overflow-x-auto overflow-y-auto pb-4`,children:[e.length===0?(0,l.jsx)(`p`,{className:`px-4 text-[12px] text-neutral-600`,children:`No output yet.`}):e.map((e,t)=>(0,l.jsx)(`div`,{className:`whitespace-pre px-4 text-[12px] leading-5 ${v[e.level]} ${t%2==0?`bg-neutral-900`:`bg-neutral-800/40`}`,children:e.args.map(y).join(` `)},t)),(0,l.jsx)(`div`,{ref:n})]})},x=({logs:e,height:t})=>{let n=(0,c.useRef)(null);return(0,c.useEffect)(()=>{n.current?.scrollIntoView({behavior:`smooth`})},[e]),(0,l.jsxs)(`div`,{className:`${t} overflow-x-auto overflow-y-auto pb-4`,children:[e.length===0?(0,l.jsx)(`p`,{className:`px-4 text-[12px] text-neutral-600`,children:`No output yet.`}):e.map((e,t)=>(0,l.jsx)(`div`,{className:`whitespace-pre px-4 text-[12px] leading-5 text-neutral-500`,children:e},t)),(0,l.jsx)(`div`,{ref:n})]})};function S(e){switch(e.toUpperCase()){case`GET`:return`bg-blue-900/60 text-blue-300`;case`POST`:return`bg-green-900/60 text-green-300`;case`PUT`:return`bg-amber-900/60 text-amber-300`;case`PATCH`:return`bg-orange-900/60 text-orange-300`;case`DELETE`:return`bg-red-900/60 text-red-300`;default:return`bg-neutral-800 text-neutral-400`}}function C(e){return e===0?`bg-neutral-800 text-neutral-400`:e<300?`bg-green-900/60 text-green-300`:e<400?`bg-yellow-900/60 text-yellow-300`:e<500?`bg-orange-900/60 text-orange-300`:`bg-red-900/60 text-red-300`}var w=({logs:e,height:t})=>{let n=(0,c.useRef)(null),[r,i]=(0,c.useState)(null);return(0,c.useEffect)(()=>{n.current?.scrollIntoView({behavior:`smooth`})},[e]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(`div`,{className:`${t} overflow-x-auto overflow-y-auto pb-4`,children:[e.length===0?(0,l.jsx)(`p`,{className:`px-4 text-[12px] text-neutral-600`,children:`No output yet.`}):e.map((e,t)=>(0,l.jsx)(`div`,{className:`flex items-center gap-1.5 px-3 py-0.5 text-[11px] ${t%2==0?`bg-neutral-900`:`bg-neutral-800/40`}`,children:e.kind===`info`?(0,l.jsx)(`span`,{className:`text-neutral-500`,children:e.message}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{className:`w-12 shrink-0 rounded text-center font-mono font-semibold ${S(e.method)}`,children:e.method}),(0,l.jsx)(`span`,{className:`w-8 shrink-0 rounded text-center font-mono font-semibold ${C(e.status)}`,children:e.status===0?`ERR`:e.status}),(0,l.jsx)(`span`,{className:`w-14 shrink-0 rounded text-center font-mono font-semibold ${e.fromCache?`bg-violet-900/60 text-violet-300`:`bg-neutral-800 text-neutral-400`}`,children:e.fromCache?`cache`:`network`}),(0,l.jsx)(`span`,{className:`min-w-0 truncate cursor-default font-mono text-neutral-400`,onMouseEnter:t=>{let n=t.currentTarget.getBoundingClientRect();i({text:e.url,x:n.left,y:n.top})},onMouseLeave:()=>{i(null)},children:e.url})]})},t)),(0,l.jsx)(`div`,{ref:n})]}),r&&(0,l.jsx)(`div`,{className:`pointer-events-none fixed z-50 max-w-xs break-all rounded bg-neutral-700 px-2 py-1 text-[11px] text-neutral-100 shadow-lg`,style:{left:r.x,top:r.y,transform:`translateY(calc(-100% - 4px))`},children:r.text})]})},T=({onClose:e,buildLogs:t,proxyLogs:i,consoleLogs:u,onClearConsole:d,credentials:f,onCredentialsChange:p,width:v=416,onWidthChange:y})=>{let[S,C]=(0,c.useState)(()=>{let e=localStorage.getItem(`devtools-creds-open`);return e===null?!(f.apiKey&&f.userId&&f.businessId):e!==`false`}),[T,E]=(0,c.useState)([]),[D,O]=(0,c.useState)(void 0),k=(0,c.useCallback)(async()=>{try{let e=await fetch(`/api/credential-profiles`);if(!e.ok)return;let t=await e.json();E(t.profiles),O(t.active)}catch{}},[]);(0,c.useEffect)(()=>{k()},[k]);let A=(0,c.useCallback)(async e=>{let t=e===``?void 0:e;try{await fetch(`/api/credentials/switch`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({profile:t})}),await fetch(`/api/proxy-cache/clear`),O(t)}catch{}},[]),[j,M]=(0,c.useState)(()=>localStorage.getItem(`devtools-routes-open`)!==`false`),[N,P]=(0,c.useState)(()=>localStorage.getItem(`devtools-console-open`)!==`false`),[F,I]=(0,c.useState)(()=>localStorage.getItem(`devtools-proxy-open`)!==`false`),[L,R]=(0,c.useState)(()=>localStorage.getItem(`devtools-build-open`)!==`false`),z=(e,t)=>{t(t=>{let n=!t;return localStorage.setItem(e,String(n)),n})},B=(0,c.useRef)(!1),V=(0,c.useCallback)(e=>{e.preventDefault(),B.current=!0;let t=e=>{if(!B.current)return;let t=Math.min(800,Math.max(280,window.innerWidth-e.clientX));y?.(t)},n=()=>{B.current=!1,document.removeEventListener(`mousemove`,t),document.removeEventListener(`mouseup`,n)};document.addEventListener(`mousemove`,t),document.addEventListener(`mouseup`,n)},[y]);return(0,l.jsxs)(`aside`,{className:`relative flex shrink-0 flex-col border-l border-neutral-800 bg-neutral-900 text-neutral-100`,style:{width:v},children:[(0,l.jsx)(`div`,{onMouseDown:V,className:`absolute left-0 top-0 z-10 h-full w-1 cursor-col-resize transition-colors hover:bg-neutral-600`}),(0,l.jsxs)(`div`,{className:`flex items-center justify-between border-b border-neutral-800 px-4 py-3`,children:[(0,l.jsx)(`span`,{className:`text-[12px] font-semibold uppercase tracking-widest text-neutral-400`,children:`Dev Tools`}),(0,l.jsx)(`button`,{onClick:e,className:`text-neutral-500 hover:text-neutral-200`,"aria-label":`Close dev tools`,children:(0,l.jsx)(a,{icon:n,size:`sm`})})]}),(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col overflow-hidden`,children:[(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0`,children:[(0,l.jsxs)(`div`,{className:`flex shrink-0 flex-col border-b border-neutral-800`,children:[(0,l.jsxs)(`button`,{className:`flex items-center justify-between px-4 py-2 hover:bg-neutral-800/50`,onClick:()=>{z(`devtools-creds-open`,C),k()},children:[(0,l.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,l.jsx)(`span`,{className:_,children:`Credentials`}),!S&&(0,l.jsx)(`span`,{className:`text-[11px] font-mono text-neutral-400`,children:f.environment})]}),(0,l.jsx)(a,{icon:S?r:o,className:`text-neutral-600`,size:`xs`})]}),S&&(0,l.jsxs)(`div`,{className:`flex flex-col gap-2 px-4 pb-3`,children:[T.length>1&&(0,l.jsxs)(`div`,{children:[(0,l.jsx)(`label`,{className:g,children:`Profile`}),(0,l.jsx)(`select`,{className:h,value:D??``,onChange:e=>{A(e.target.value)},children:T.map(e=>(0,l.jsx)(`option`,{value:e.isDefault?``:e.name,children:e.isDefault?`Default`:e.name},e.name))})]}),(0,l.jsxs)(`div`,{className:`flex gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:g,children:`Environment`}),(0,l.jsx)(`select`,{className:h,value:f.environment,onChange:e=>{p({...f,environment:e.target.value})},children:s.map(e=>(0,l.jsx)(`option`,{value:e,children:e},e))})]}),(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:g,children:`Business ID`}),(0,l.jsx)(`input`,{type:`text`,className:h,value:f.businessId,onChange:e=>{p({...f,businessId:e.target.value})},placeholder:`x-business-id`,autoComplete:`off`})]})]}),(0,l.jsxs)(`div`,{className:`flex gap-2`,children:[(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:g,children:`User ID`}),(0,l.jsx)(`input`,{type:`text`,className:h,value:f.userId,onChange:e=>{p({...f,userId:e.target.value})},placeholder:`x-user-id`,autoComplete:`off`})]}),(0,l.jsxs)(`div`,{className:`flex-1`,children:[(0,l.jsx)(`label`,{className:g,children:`API Key`}),(0,l.jsx)(`input`,{type:`password`,className:h,value:f.apiKey,onChange:e=>{p({...f,apiKey:e.target.value})},placeholder:`x-api-key`,autoComplete:`off`})]})]})]})]}),(0,l.jsxs)(`div`,{className:`flex shrink-0 flex-col border-t border-neutral-800 overflow-hidden`,children:[(0,l.jsxs)(`button`,{className:`flex items-center justify-between px-4 py-2 hover:bg-neutral-800/50`,onClick:()=>{z(`devtools-routes-open`,M)},children:[(0,l.jsx)(`span`,{className:_,children:`Routes`}),(0,l.jsx)(a,{icon:j?r:o,className:`text-neutral-600`,size:`xs`})]}),j&&(0,l.jsx)(m,{})]}),(0,l.jsxs)(`div`,{className:`flex shrink-0 flex-col border-t border-neutral-800`,children:[(0,l.jsxs)(`div`,{className:`flex items-center px-4 py-2`,children:[(0,l.jsxs)(`button`,{className:`flex flex-1 items-center gap-2 hover:opacity-70`,onClick:()=>{z(`devtools-console-open`,P)},children:[(0,l.jsx)(`span`,{className:_,children:`Browser Console`}),(0,l.jsx)(a,{icon:N?r:o,className:`text-neutral-600`,size:`xs`})]}),N&&u.length>0&&(0,l.jsx)(`button`,{onClick:d,className:`text-[11px] text-neutral-600 hover:text-neutral-300`,children:`clear`})]}),N&&(0,l.jsx)(b,{logs:u,height:`min-h-32 max-h-64`})]}),(0,l.jsxs)(`div`,{className:`flex flex-1 flex-col min-h-0 border-t border-neutral-800`,children:[(0,l.jsxs)(`div`,{className:`flex items-center px-4 py-2`,children:[(0,l.jsxs)(`button`,{className:`flex flex-1 items-center gap-2 hover:opacity-70`,onClick:()=>{z(`devtools-proxy-open`,I)},children:[(0,l.jsx)(`span`,{className:_,children:`Network Requests`}),(0,l.jsx)(a,{icon:F?r:o,className:`text-neutral-600`,size:`xs`})]}),F&&(0,l.jsx)(`button`,{onClick:()=>{fetch(`/api/proxy-cache/clear`)},className:`text-[11px] text-neutral-600 hover:text-neutral-300`,children:`clear cache`})]}),F&&(0,l.jsx)(w,{logs:i,height:`flex-1 min-h-0`})]})]}),(0,l.jsxs)(`div`,{className:`flex flex-col border-t border-neutral-800`,children:[(0,l.jsxs)(`button`,{className:`flex items-center justify-between px-4 py-2 hover:bg-neutral-800/50`,onClick:()=>{z(`devtools-build-open`,R)},children:[(0,l.jsx)(`span`,{className:_,children:`Build Log`}),(0,l.jsx)(a,{icon:L?r:o,className:`text-neutral-600`,size:`xs`})]}),L&&(0,l.jsx)(x,{logs:t,height:`max-h-[60px]`})]})]})]})};export{T as DevSidebar};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DF2fYuay.js";import{A as t,j as n,k as r}from"./fa-core-C4eeAd4v.js";import{t as i}from"./Card-C7KVwKfm.js";import{i as a,n as o,r as s}from"./validIcons-BzGQ4tWD.js";var c=e(n(),1),l=t(),u=1200,d=()=>{let[e,t]=(0,c.useState)(null),n=(0,c.useRef)(null);(0,c.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]);let d=e=>{navigator.clipboard.writeText(e),t(e),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>{t(null)},u)};return(0,l.jsx)(`div`,{className:`space-y-4 text-[13px]`,children:(0,l.jsxs)(i,{children:[(0,l.jsxs)(`div`,{className:`mb-3 flex items-baseline justify-between gap-4`,children:[(0,l.jsxs)(`div`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-400`,children:[`Icon Reference (`,o.length,` icons)`]}),(0,l.jsx)(`div`,{className:`text-[11px] text-neutral-400`,children:`Click an icon to copy its name`})]}),(0,l.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:o.map(t=>{let n=e===t;return(0,l.jsxs)(`button`,{type:`button`,onClick:()=>{d(t)},className:`flex w-32 cursor-pointer items-center gap-1.5 rounded px-1.5 py-1 text-left transition-colors ${n?`bg-emerald-100`:`hover:bg-black/5`}`,title:t,children:[a[t]?(0,l.jsx)(r,{icon:a[t],className:`w-3.5 shrink-0 text-[13px] text-neutral-500`}):s.has(t)?(0,l.jsx)(`span`,{className:`w-3.5 shrink-0 text-center font-mono text-[9px] text-neutral-400`,children:`K`}):null,(0,l.jsx)(`span`,{className:`truncate font-mono text-[10px] text-neutral-500`,children:n?`Copied!`:t})]},t)})})]})})};export{d as IconReferencePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{n as e}from"./rolldown-runtime-DF2fYuay.js";import{A as t,j as n,k as r}from"./fa-core-BoBqCOD3.js";import{t as i}from"./Card-BpDJPrPZ.js";import{i as a,n as o,r as s}from"./validIcons-CzxkK9y8.js";var c=e(n(),1),l=t(),u=()=>{let[e,t]=(0,c.useState)(null),n=(0,c.useRef)(null);(0,c.useEffect)(()=>()=>{n.current&&clearTimeout(n.current)},[]);let u=e=>{navigator.clipboard.writeText(e),t(e),n.current&&clearTimeout(n.current),n.current=setTimeout(()=>t(null),1200)};return(0,l.jsx)(`div`,{className:`space-y-4 text-[13px]`,children:(0,l.jsxs)(i,{children:[(0,l.jsxs)(`div`,{className:`mb-3 flex items-baseline justify-between gap-4`,children:[(0,l.jsxs)(`div`,{className:`text-[11px] font-semibold uppercase tracking-widest text-neutral-400`,children:[`Icon Reference (`,o.length,` icons)`]}),(0,l.jsx)(`div`,{className:`text-[11px] text-neutral-400`,children:`Click an icon to copy its name`})]}),(0,l.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:o.map(t=>{let n=e===t;return(0,l.jsxs)(`button`,{type:`button`,onClick:()=>u(t),className:`flex w-32 cursor-pointer items-center gap-1.5 rounded px-1.5 py-1 text-left transition-colors ${n?`bg-emerald-100`:`hover:bg-black/5`}`,title:t,children:[a[t]?(0,l.jsx)(r,{icon:a[t],className:`w-3.5 shrink-0 text-[13px] text-neutral-500`}):s.has(t)?(0,l.jsx)(`span`,{className:`w-3.5 shrink-0 text-center font-mono text-[9px] text-neutral-400`,children:`K`}):null,(0,l.jsx)(`span`,{className:`truncate font-mono text-[10px] text-neutral-500`,children:n?`Copied!`:t})]},t)})})]})})};export{u as IconReferencePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,k as t}from"./fa-core-C4eeAd4v.js";import{i as n,r,t as i}from"./validIcons-BzGQ4tWD.js";var a=e(),o=`rounded px-1 font-mono text-[10px] bg-neutral-100 text-neutral-400`,s=`rounded px-1 font-mono text-[10px] bg-amber-100 text-amber-600`,c=({name:e,className:c,fallbackClassName:l,unknownClassName:u})=>{if(!e)return null;let d=n[e];return d?(0,a.jsx)(t,{icon:d,className:c}):(0,a.jsx)(`span`,{className:i.has(e)||r.has(e)?l??o:u??s,children:e})};export{c as t};
|