@devtable/settings-form 13.42.12 → 13.43.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.
@@ -1,4 +1,4 @@
1
- (function(C,k){typeof exports=="object"&&typeof module<"u"?k(exports,require("react"),require("@mantine/core"),require("@mantine/notifications"),require("@tabler/icons-react"),require("react-i18next"),require("crypto-js"),require("lodash"),require("axios"),require("react-hook-form"),require("@monaco-editor/react"),require("i18next"),require("i18next-browser-languagedetector"),require("intl-pluralrules"),require("ahooks"),require("@mantine/modals"),require("@mantine/hooks")):typeof define=="function"&&define.amd?define(["exports","react","@mantine/core","@mantine/notifications","@tabler/icons-react","react-i18next","crypto-js","lodash","axios","react-hook-form","@monaco-editor/react","i18next","i18next-browser-languagedetector","intl-pluralrules","ahooks","@mantine/modals","@mantine/hooks"],k):(C=typeof globalThis<"u"?globalThis:C||self,k(C["settings-form"]={},C.react,C["@mantine/core"],C["@mantine/notifications"],C["@tabler/icons-react"],C["react-i18next"],C.CryptoJS,C._,C.axios,C["react-hook-form"],C["@monaco-editor/react"],C.i18next,C["i18next-browser-languagedetector"],C["intl-pluralrules"],C.ahooks,C["@mantine/modals"],C["@mantine/hooks"]))})(this,function(C,k,h,D,B,L,vn,yn,St,j,ze,Sn,xn,ya,me,Te,_n){"use strict";function wn(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const r=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(t,n,r.get?r:{enumerable:!0,get:()=>e[n]})}}return t.default=e,Object.freeze(t)}const En=wn(vn);var it={exports:{}},Pe={};/**
1
+ (function(x,P){typeof exports=="object"&&typeof module<"u"?P(exports,require("react"),require("@mantine/core"),require("@mantine/notifications"),require("@tabler/icons-react"),require("react-i18next"),require("crypto-js"),require("lodash"),require("axios"),require("react-hook-form"),require("@monaco-editor/react"),require("i18next"),require("i18next-browser-languagedetector"),require("intl-pluralrules"),require("ahooks"),require("@mantine/modals"),require("@mantine/code-highlight")):typeof define=="function"&&define.amd?define(["exports","react","@mantine/core","@mantine/notifications","@tabler/icons-react","react-i18next","crypto-js","lodash","axios","react-hook-form","@monaco-editor/react","i18next","i18next-browser-languagedetector","intl-pluralrules","ahooks","@mantine/modals","@mantine/code-highlight"],P):(x=typeof globalThis<"u"?globalThis:x||self,P(x["settings-form"]={},x.react,x["@mantine/core"],x["@mantine/notifications"],x["@tabler/icons-react"],x["react-i18next"],x.CryptoJS,x._,x.axios,x["react-hook-form"],x["@monaco-editor/react"],x.i18next,x["i18next-browser-languagedetector"],x["intl-pluralrules"],x.ahooks,x["@mantine/modals"],x["@mantine/code-highlight"]))})(this,function(x,P,o,T,A,w,Yt,Vt,Qe,v,fe,Gt,Wt,Aa,K,ae,Kt){"use strict";function Qt(r){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const s in r)if(s!=="default"){const n=Object.getOwnPropertyDescriptor(r,s);Object.defineProperty(t,s,n.get?n:{enumerable:!0,get:()=>r[s]})}}return t.default=r,Object.freeze(t)}const Jt=Qt(Yt);var Oe={exports:{}},me={};/**
2
2
  * @license React
3
3
  * react-jsx-runtime.production.min.js
4
4
  *
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * This source code is licensed under the MIT license found in the
8
8
  * LICENSE file in the root directory of this source tree.
9
- */var xt;function Tn(){if(xt)return Pe;xt=1;var e=k,t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,s=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function l(u,c,g){var m,d={},p=null,f=null;g!==void 0&&(p=""+g),c.key!==void 0&&(p=""+c.key),c.ref!==void 0&&(f=c.ref);for(m in c)r.call(c,m)&&!i.hasOwnProperty(m)&&(d[m]=c[m]);if(u&&u.defaultProps)for(m in c=u.defaultProps,c)d[m]===void 0&&(d[m]=c[m]);return{$$typeof:t,type:u,key:p,ref:f,props:d,_owner:s.current}}return Pe.Fragment=n,Pe.jsx=l,Pe.jsxs=l,Pe}var Be={};/**
9
+ */var Je;function Ht(){if(Je)return me;Je=1;var r=P,t=Symbol.for("react.element"),s=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,i=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function c(u,d,f){var h,j={},b=null,C=null;f!==void 0&&(b=""+f),d.key!==void 0&&(b=""+d.key),d.ref!==void 0&&(C=d.ref);for(h in d)n.call(d,h)&&!l.hasOwnProperty(h)&&(j[h]=d[h]);if(u&&u.defaultProps)for(h in d=u.defaultProps,d)j[h]===void 0&&(j[h]=d[h]);return{$$typeof:t,type:u,key:b,ref:C,props:j,_owner:i.current}}return me.Fragment=s,me.jsx=c,me.jsxs=c,me}var he={};/**
10
10
  * @license React
11
11
  * react-jsx-runtime.development.js
12
12
  *
@@ -14,31 +14,23 @@
14
14
  *
15
15
  * This source code is licensed under the MIT license found in the
16
16
  * LICENSE file in the root directory of this source tree.
17
- */var _t;function An(){return _t||(_t=1,process.env.NODE_ENV!=="production"&&function(){var e=k,t=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),u=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),g=Symbol.for("react.suspense"),m=Symbol.for("react.suspense_list"),d=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),f=Symbol.for("react.offscreen"),y=Symbol.iterator,b="@@iterator";function _(o){if(o===null||typeof o!="object")return null;var S=y&&o[y]||o[b];return typeof S=="function"?S:null}var w=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function x(o){{for(var S=arguments.length,E=new Array(S>1?S-1:0),A=1;A<S;A++)E[A-1]=arguments[A];T("error",o,E)}}function T(o,S,E){{var A=w.ReactDebugCurrentFrame,N=A.getStackAddendum();N!==""&&(S+="%s",E=E.concat([N]));var F=E.map(function(R){return String(R)});F.unshift("Warning: "+S),Function.prototype.apply.call(console[o],console,F)}}var O=!1,H=!1,J=!1,P=!1,V=!1,M;M=Symbol.for("react.module.reference");function te(o){return!!(typeof o=="string"||typeof o=="function"||o===r||o===i||V||o===s||o===g||o===m||P||o===f||O||H||J||typeof o=="object"&&o!==null&&(o.$$typeof===p||o.$$typeof===d||o.$$typeof===l||o.$$typeof===u||o.$$typeof===c||o.$$typeof===M||o.getModuleId!==void 0))}function z(o,S,E){var A=o.displayName;if(A)return A;var N=S.displayName||S.name||"";return N!==""?E+"("+N+")":E}function X(o){return o.displayName||"Context"}function q(o){if(o==null)return null;if(typeof o.tag=="number"&&x("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case r:return"Fragment";case n:return"Portal";case i:return"Profiler";case s:return"StrictMode";case g:return"Suspense";case m:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case u:var S=o;return X(S)+".Consumer";case l:var E=o;return X(E._context)+".Provider";case c:return z(o,o.render,"ForwardRef");case d:var A=o.displayName||null;return A!==null?A:q(o.type)||"Memo";case p:{var N=o,F=N._payload,R=N._init;try{return q(R(F))}catch{return null}}}return null}var ee=Object.assign,U=0,ae,Q,ne,ue,ce,pe,xe;function se(){}se.__reactDisabledLog=!0;function ge(){{if(U===0){ae=console.log,Q=console.info,ne=console.warn,ue=console.error,ce=console.group,pe=console.groupCollapsed,xe=console.groupEnd;var o={configurable:!0,enumerable:!0,value:se,writable:!0};Object.defineProperties(console,{info:o,log:o,warn:o,error:o,group:o,groupCollapsed:o,groupEnd:o})}U++}}function we(){{if(U--,U===0){var o={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:ee({},o,{value:ae}),info:ee({},o,{value:Q}),warn:ee({},o,{value:ne}),error:ee({},o,{value:ue}),group:ee({},o,{value:ce}),groupCollapsed:ee({},o,{value:pe}),groupEnd:ee({},o,{value:xe})})}U<0&&x("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var fe=w.ReactCurrentDispatcher,Ve;function Re(o,S,E){{if(Ve===void 0)try{throw Error()}catch(N){var A=N.stack.trim().match(/\n( *(at )?)/);Ve=A&&A[1]||""}return`
18
- `+Ve+o}}var Le=!1,Ee;{var Ne=typeof WeakMap=="function"?WeakMap:Map;Ee=new Ne}function rn(o,S){if(!o||Le)return"";{var E=Ee.get(o);if(E!==void 0)return E}var A;Le=!0;var N=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var F;F=fe.current,fe.current=null,ge();try{if(S){var R=function(){throw Error()};if(Object.defineProperty(R.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(R,[])}catch(he){A=he}Reflect.construct(o,[],R)}else{try{R.call()}catch(he){A=he}o.call(R.prototype)}}else{try{throw Error()}catch(he){A=he}o()}}catch(he){if(he&&A&&typeof he.stack=="string"){for(var I=he.stack.split(`
19
- `),re=A.stack.split(`
20
- `),Y=I.length-1,W=re.length-1;Y>=1&&W>=0&&I[Y]!==re[W];)W--;for(;Y>=1&&W>=0;Y--,W--)if(I[Y]!==re[W]){if(Y!==1||W!==1)do if(Y--,W--,W<0||I[Y]!==re[W]){var ie=`
21
- `+I[Y].replace(" at new "," at ");return o.displayName&&ie.includes("<anonymous>")&&(ie=ie.replace("<anonymous>",o.displayName)),typeof o=="function"&&Ee.set(o,ie),ie}while(Y>=1&&W>=0);break}}}finally{Le=!1,fe.current=F,we(),Error.prepareStackTrace=N}var Fe=o?o.displayName||o.name:"",bn=Fe?Re(Fe):"";return typeof o=="function"&&Ee.set(o,bn),bn}function Xr(o,S,E){return rn(o,!1)}function Qr(o){var S=o.prototype;return!!(S&&S.isReactComponent)}function rt(o,S,E){if(o==null)return"";if(typeof o=="function")return rn(o,Qr(o));if(typeof o=="string")return Re(o);switch(o){case g:return Re("Suspense");case m:return Re("SuspenseList")}if(typeof o=="object")switch(o.$$typeof){case c:return Xr(o.render);case d:return rt(o.type,S,E);case p:{var A=o,N=A._payload,F=A._init;try{return rt(F(N),S,E)}catch{}}}return""}var at=Object.prototype.hasOwnProperty,an={},sn=w.ReactDebugCurrentFrame;function st(o){if(o){var S=o._owner,E=rt(o.type,o._source,S?S.type:null);sn.setExtraStackFrame(E)}else sn.setExtraStackFrame(null)}function Jr(o,S,E,A,N){{var F=Function.call.bind(at);for(var R in o)if(F(o,R)){var I=void 0;try{if(typeof o[R]!="function"){var re=Error((A||"React class")+": "+E+" type `"+R+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof o[R]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw re.name="Invariant Violation",re}I=o[R](S,R,A,E,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(Y){I=Y}I&&!(I instanceof Error)&&(st(N),x("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",A||"React class",E,R,typeof I),st(null)),I instanceof Error&&!(I.message in an)&&(an[I.message]=!0,st(N),x("Failed %s type: %s",E,I.message),st(null))}}}var ea=Array.isArray;function ht(o){return ea(o)}function ta(o){{var S=typeof Symbol=="function"&&Symbol.toStringTag,E=S&&o[Symbol.toStringTag]||o.constructor.name||"Object";return E}}function na(o){try{return on(o),!1}catch{return!0}}function on(o){return""+o}function ln(o){if(na(o))return x("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ta(o)),on(o)}var We=w.ReactCurrentOwner,ra={key:!0,ref:!0,__self:!0,__source:!0},un,cn,mt;mt={};function aa(o){if(at.call(o,"ref")){var S=Object.getOwnPropertyDescriptor(o,"ref").get;if(S&&S.isReactWarning)return!1}return o.ref!==void 0}function sa(o){if(at.call(o,"key")){var S=Object.getOwnPropertyDescriptor(o,"key").get;if(S&&S.isReactWarning)return!1}return o.key!==void 0}function ia(o,S){if(typeof o.ref=="string"&&We.current&&S&&We.current.stateNode!==S){var E=q(We.current.type);mt[E]||(x('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',q(We.current.type),o.ref),mt[E]=!0)}}function oa(o,S){{var E=function(){un||(un=!0,x("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",S))};E.isReactWarning=!0,Object.defineProperty(o,"key",{get:E,configurable:!0})}}function la(o,S){{var E=function(){cn||(cn=!0,x("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",S))};E.isReactWarning=!0,Object.defineProperty(o,"ref",{get:E,configurable:!0})}}var ua=function(o,S,E,A,N,F,R){var I={$$typeof:t,type:o,key:S,ref:E,props:R,_owner:F};return I._store={},Object.defineProperty(I._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(I,"_self",{configurable:!1,enumerable:!1,writable:!1,value:A}),Object.defineProperty(I,"_source",{configurable:!1,enumerable:!1,writable:!1,value:N}),Object.freeze&&(Object.freeze(I.props),Object.freeze(I)),I};function ca(o,S,E,A,N){{var F,R={},I=null,re=null;E!==void 0&&(ln(E),I=""+E),sa(S)&&(ln(S.key),I=""+S.key),aa(S)&&(re=S.ref,ia(S,N));for(F in S)at.call(S,F)&&!ra.hasOwnProperty(F)&&(R[F]=S[F]);if(o&&o.defaultProps){var Y=o.defaultProps;for(F in Y)R[F]===void 0&&(R[F]=Y[F])}if(I||re){var W=typeof o=="function"?o.displayName||o.name||"Unknown":o;I&&oa(R,W),re&&la(R,W)}return ua(o,I,re,N,A,We.current,R)}}var bt=w.ReactCurrentOwner,dn=w.ReactDebugCurrentFrame;function $e(o){if(o){var S=o._owner,E=rt(o.type,o._source,S?S.type:null);dn.setExtraStackFrame(E)}else dn.setExtraStackFrame(null)}var vt;vt=!1;function yt(o){return typeof o=="object"&&o!==null&&o.$$typeof===t}function pn(){{if(bt.current){var o=q(bt.current.type);if(o)return`
17
+ */var He;function Xt(){return He||(He=1,process.env.NODE_ENV!=="production"&&function(){var r=P,t=Symbol.for("react.element"),s=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),c=Symbol.for("react.provider"),u=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),f=Symbol.for("react.suspense"),h=Symbol.for("react.suspense_list"),j=Symbol.for("react.memo"),b=Symbol.for("react.lazy"),C=Symbol.for("react.offscreen"),q=Symbol.iterator,Y="@@iterator";function X(a){if(a===null||typeof a!="object")return null;var p=q&&a[q]||a[Y];return typeof p=="function"?p:null}var k=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function D(a){{for(var p=arguments.length,m=new Array(p>1?p-1:0),g=1;g<p;g++)m[g-1]=arguments[g];L("error",a,m)}}function L(a,p,m){{var g=k.ReactDebugCurrentFrame,y=g.getStackAddendum();y!==""&&(p+="%s",m=m.concat([y]));var E=m.map(function(S){return String(S)});E.unshift("Warning: "+p),Function.prototype.apply.call(console[a],console,E)}}var Z=!1,ce=!1,ke=!1,Zn=!1,ea=!1,jt;jt=Symbol.for("react.module.reference");function ta(a){return!!(typeof a=="string"||typeof a=="function"||a===n||a===l||ea||a===i||a===f||a===h||Zn||a===C||Z||ce||ke||typeof a=="object"&&a!==null&&(a.$$typeof===b||a.$$typeof===j||a.$$typeof===c||a.$$typeof===u||a.$$typeof===d||a.$$typeof===jt||a.getModuleId!==void 0))}function na(a,p,m){var g=a.displayName;if(g)return g;var y=p.displayName||p.name||"";return y!==""?m+"("+y+")":m}function _t(a){return a.displayName||"Context"}function G(a){if(a==null)return null;if(typeof a.tag=="number"&&D("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a;switch(a){case n:return"Fragment";case s:return"Portal";case l:return"Profiler";case i:return"StrictMode";case f:return"Suspense";case h:return"SuspenseList"}if(typeof a=="object")switch(a.$$typeof){case u:var p=a;return _t(p)+".Consumer";case c:var m=a;return _t(m._context)+".Provider";case d:return na(a,a.render,"ForwardRef");case j:var g=a.displayName||null;return g!==null?g:G(a.type)||"Memo";case b:{var y=a,E=y._payload,S=y._init;try{return G(S(E))}catch{return null}}}return null}var te=Object.assign,ve=0,Tt,St,wt,yt,Ct,Dt,zt;function Et(){}Et.__reactDisabledLog=!0;function aa(){{if(ve===0){Tt=console.log,St=console.info,wt=console.warn,yt=console.error,Ct=console.group,Dt=console.groupCollapsed,zt=console.groupEnd;var a={configurable:!0,enumerable:!0,value:Et,writable:!0};Object.defineProperties(console,{info:a,log:a,warn:a,error:a,group:a,groupCollapsed:a,groupEnd:a})}ve++}}function ra(){{if(ve--,ve===0){var a={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:te({},a,{value:Tt}),info:te({},a,{value:St}),warn:te({},a,{value:wt}),error:te({},a,{value:yt}),group:te({},a,{value:Ct}),groupCollapsed:te({},a,{value:Dt}),groupEnd:te({},a,{value:zt})})}ve<0&&D("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var Ne=k.ReactCurrentDispatcher,Fe;function ze(a,p,m){{if(Fe===void 0)try{throw Error()}catch(y){var g=y.stack.trim().match(/\n( *(at )?)/);Fe=g&&g[1]||""}return`
18
+ `+Fe+a}}var Be=!1,Ee;{var sa=typeof WeakMap=="function"?WeakMap:Map;Ee=new sa}function At(a,p){if(!a||Be)return"";{var m=Ee.get(a);if(m!==void 0)return m}var g;Be=!0;var y=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var E;E=Ne.current,Ne.current=null,aa();try{if(p){var S=function(){throw Error()};if(Object.defineProperty(S.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(S,[])}catch(F){g=F}Reflect.construct(a,[],S)}else{try{S.call()}catch(F){g=F}a.call(S.prototype)}}else{try{throw Error()}catch(F){g=F}a()}}catch(F){if(F&&g&&typeof F.stack=="string"){for(var _=F.stack.split(`
19
+ `),N=g.stack.split(`
20
+ `),$=_.length-1,M=N.length-1;$>=1&&M>=0&&_[$]!==N[M];)M--;for(;$>=1&&M>=0;$--,M--)if(_[$]!==N[M]){if($!==1||M!==1)do if($--,M--,M<0||_[$]!==N[M]){var B=`
21
+ `+_[$].replace(" at new "," at ");return a.displayName&&B.includes("<anonymous>")&&(B=B.replace("<anonymous>",a.displayName)),typeof a=="function"&&Ee.set(a,B),B}while($>=1&&M>=0);break}}}finally{Be=!1,Ne.current=E,ra(),Error.prepareStackTrace=y}var pe=a?a.displayName||a.name:"",ne=pe?ze(pe):"";return typeof a=="function"&&Ee.set(a,ne),ne}function ia(a,p,m){return At(a,!1)}function oa(a){var p=a.prototype;return!!(p&&p.isReactComponent)}function Ae(a,p,m){if(a==null)return"";if(typeof a=="function")return At(a,oa(a));if(typeof a=="string")return ze(a);switch(a){case f:return ze("Suspense");case h:return ze("SuspenseList")}if(typeof a=="object")switch(a.$$typeof){case d:return ia(a.render);case j:return Ae(a.type,p,m);case b:{var g=a,y=g._payload,E=g._init;try{return Ae(E(y),p,m)}catch{}}}return""}var je=Object.prototype.hasOwnProperty,Pt={},Ot=k.ReactDebugCurrentFrame;function Pe(a){if(a){var p=a._owner,m=Ae(a.type,a._source,p?p.type:null);Ot.setExtraStackFrame(m)}else Ot.setExtraStackFrame(null)}function la(a,p,m,g,y){{var E=Function.call.bind(je);for(var S in a)if(E(a,S)){var _=void 0;try{if(typeof a[S]!="function"){var N=Error((g||"React class")+": "+m+" type `"+S+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof a[S]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw N.name="Invariant Violation",N}_=a[S](p,S,g,m,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch($){_=$}_&&!(_ instanceof Error)&&(Pe(y),D("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",g||"React class",m,S,typeof _),Pe(null)),_ instanceof Error&&!(_.message in Pt)&&(Pt[_.message]=!0,Pe(y),D("Failed %s type: %s",m,_.message),Pe(null))}}}var ua=Array.isArray;function Ue(a){return ua(a)}function ca(a){{var p=typeof Symbol=="function"&&Symbol.toStringTag,m=p&&a[Symbol.toStringTag]||a.constructor.name||"Object";return m}}function da(a){try{return $t(a),!1}catch{return!0}}function $t(a){return""+a}function Mt(a){if(da(a))return D("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",ca(a)),$t(a)}var _e=k.ReactCurrentOwner,pa={key:!0,ref:!0,__self:!0,__source:!0},It,Rt,Ye;Ye={};function fa(a){if(je.call(a,"ref")){var p=Object.getOwnPropertyDescriptor(a,"ref").get;if(p&&p.isReactWarning)return!1}return a.ref!==void 0}function ma(a){if(je.call(a,"key")){var p=Object.getOwnPropertyDescriptor(a,"key").get;if(p&&p.isReactWarning)return!1}return a.key!==void 0}function ha(a,p){if(typeof a.ref=="string"&&_e.current&&p&&_e.current.stateNode!==p){var m=G(_e.current.type);Ye[m]||(D('Component "%s" contains the string ref "%s". Support for string refs will be removed in a future major release. This case cannot be automatically converted to an arrow function. We ask you to manually fix this case by using useRef() or createRef() instead. Learn more about using refs safely here: https://reactjs.org/link/strict-mode-string-ref',G(_e.current.type),a.ref),Ye[m]=!0)}}function ga(a,p){{var m=function(){It||(It=!0,D("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",p))};m.isReactWarning=!0,Object.defineProperty(a,"key",{get:m,configurable:!0})}}function xa(a,p){{var m=function(){Rt||(Rt=!0,D("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",p))};m.isReactWarning=!0,Object.defineProperty(a,"ref",{get:m,configurable:!0})}}var ba=function(a,p,m,g,y,E,S){var _={$$typeof:t,type:a,key:p,ref:m,props:S,_owner:E};return _._store={},Object.defineProperty(_._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(_,"_self",{configurable:!1,enumerable:!1,writable:!1,value:g}),Object.defineProperty(_,"_source",{configurable:!1,enumerable:!1,writable:!1,value:y}),Object.freeze&&(Object.freeze(_.props),Object.freeze(_)),_};function va(a,p,m,g,y){{var E,S={},_=null,N=null;m!==void 0&&(Mt(m),_=""+m),ma(p)&&(Mt(p.key),_=""+p.key),fa(p)&&(N=p.ref,ha(p,y));for(E in p)je.call(p,E)&&!pa.hasOwnProperty(E)&&(S[E]=p[E]);if(a&&a.defaultProps){var $=a.defaultProps;for(E in $)S[E]===void 0&&(S[E]=$[E])}if(_||N){var M=typeof a=="function"?a.displayName||a.name||"Unknown":a;_&&ga(S,M),N&&xa(S,M)}return ba(a,_,N,y,g,_e.current,S)}}var Ve=k.ReactCurrentOwner,Lt=k.ReactDebugCurrentFrame;function de(a){if(a){var p=a._owner,m=Ae(a.type,a._source,p?p.type:null);Lt.setExtraStackFrame(m)}else Lt.setExtraStackFrame(null)}var Ge;Ge=!1;function We(a){return typeof a=="object"&&a!==null&&a.$$typeof===t}function qt(){{if(Ve.current){var a=G(Ve.current.type);if(a)return`
22
22
 
23
- Check the render method of \``+o+"`."}return""}}function da(o){{if(o!==void 0){var S=o.fileName.replace(/^.*[\\\/]/,""),E=o.lineNumber;return`
23
+ Check the render method of \``+a+"`."}return""}}function ja(a){{if(a!==void 0){var p=a.fileName.replace(/^.*[\\\/]/,""),m=a.lineNumber;return`
24
24
 
25
- Check your code at `+S+":"+E+"."}return""}}var gn={};function pa(o){{var S=pn();if(!S){var E=typeof o=="string"?o:o.displayName||o.name;E&&(S=`
25
+ Check your code at `+p+":"+m+"."}return""}}var kt={};function _a(a){{var p=qt();if(!p){var m=typeof a=="string"?a:a.displayName||a.name;m&&(p=`
26
26
 
27
- Check the top-level render call using <`+E+">.")}return S}}function fn(o,S){{if(!o._store||o._store.validated||o.key!=null)return;o._store.validated=!0;var E=pa(S);if(gn[E])return;gn[E]=!0;var A="";o&&o._owner&&o._owner!==bt.current&&(A=" It was passed a child from "+q(o._owner.type)+"."),$e(o),x('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',E,A),$e(null)}}function hn(o,S){{if(typeof o!="object")return;if(ht(o))for(var E=0;E<o.length;E++){var A=o[E];yt(A)&&fn(A,S)}else if(yt(o))o._store&&(o._store.validated=!0);else if(o){var N=_(o);if(typeof N=="function"&&N!==o.entries)for(var F=N.call(o),R;!(R=F.next()).done;)yt(R.value)&&fn(R.value,S)}}}function ga(o){{var S=o.type;if(S==null||typeof S=="string")return;var E;if(typeof S=="function")E=S.propTypes;else if(typeof S=="object"&&(S.$$typeof===c||S.$$typeof===d))E=S.propTypes;else return;if(E){var A=q(S);Jr(E,o.props,"prop",A,o)}else if(S.PropTypes!==void 0&&!vt){vt=!0;var N=q(S);x("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",N||"Unknown")}typeof S.getDefaultProps=="function"&&!S.getDefaultProps.isReactClassApproved&&x("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function fa(o){{for(var S=Object.keys(o.props),E=0;E<S.length;E++){var A=S[E];if(A!=="children"&&A!=="key"){$e(o),x("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",A),$e(null);break}}o.ref!==null&&($e(o),x("Invalid attribute `ref` supplied to `React.Fragment`."),$e(null))}}function mn(o,S,E,A,N,F){{var R=te(o);if(!R){var I="";(o===void 0||typeof o=="object"&&o!==null&&Object.keys(o).length===0)&&(I+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var re=da(N);re?I+=re:I+=pn();var Y;o===null?Y="null":ht(o)?Y="array":o!==void 0&&o.$$typeof===t?(Y="<"+(q(o.type)||"Unknown")+" />",I=" Did you accidentally export a JSX literal instead of a component?"):Y=typeof o,x("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Y,I)}var W=ca(o,S,E,N,F);if(W==null)return W;if(R){var ie=S.children;if(ie!==void 0)if(A)if(ht(ie)){for(var Fe=0;Fe<ie.length;Fe++)hn(ie[Fe],o);Object.freeze&&Object.freeze(ie)}else x("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else hn(ie,o)}return o===r?fa(W):ga(W),W}}function ha(o,S,E){return mn(o,S,E,!0)}function ma(o,S,E){return mn(o,S,E,!1)}var ba=ma,va=ha;Be.Fragment=r,Be.jsx=ba,Be.jsxs=va}()),Be}process.env.NODE_ENV==="production"?it.exports=Tn():it.exports=An();var a=it.exports;function kn(e){e=e||{};const t=Object.keys(e).sort(),n=[];for(let r=0;r<t.length;r++){const s=t[r];if(s!="authentication"&&e[s])n.push(t[r]+"="+(typeof e[s]=="object"?JSON.stringify(e[s]):e[s]));else{const i=Object.keys(e[s]).sort();for(let l=0;l<i.length;l++){const u=i[l];u!="sign"&&e[s][u]&&n.push(i[l]+"="+(typeof e[s][u]=="object"?JSON.stringify(e[s][u]):e[s][u]))}}}return n.sort().join("&")}function Cn(e,t){let n=kn(e);return n+="&key="+t,En.MD5(n).toString().toUpperCase()}class wt{constructor(){this.type="default_api_client",this.baseURL="http://localhost:31200",this.app_id="",this.app_secret=""}getAuthentication(t){if(!this.app_id||!this.app_secret)return;const n=new Date().getTime().toString();return{app_id:this.app_id,nonce_str:n,sign:Cn({app_id:this.app_id,nonce_str:n,...t},this.app_secret)}}getRequest(t,n){return(r,s,i,l)=>{const u=this.buildHeader(i),c=this.buildAxiosConfig(t,r,s,i,u,n);return St(c).then(g=>l?g:g.data).catch(g=>{if(St.isCancel(g))return Promise.reject(g);const m=yn.get(g,"response.data.detail.message",g.message);return Promise.reject(new Error(m))})}}get(t){return this.getRequest("GET",t)}post(t){return this.getRequest("POST",t)}put(t){return this.getRequest("PUT",t)}buildAxiosConfig(t,n,r,s,i,l){const u={baseURL:this.baseURL,method:t,url:n,params:t==="GET"?r:s.params,headers:i,signal:l};return["POST","PUT"].includes(t)&&(u.data=s.string?JSON.stringify(r):r,u.data.authentication=this.getAuthentication(u.data)),u}buildHeader(t){const n=window.localStorage.getItem("token");return{"X-Requested-With":"XMLHttpRequest","Content-Type":t.string?"application/x-www-form-urlencoded":"application/json",authorization:n?`bearer ${n}`:"",...t.headers}}}class Et{constructor(t){this.implementation=t}getRequest(t,n){return this.implementation.getRequest(t,n)}get(t){return this.getRequest("GET",t)}post(t){return this.getRequest("POST",t)}put(t){return this.getRequest("PUT",t)}}const Me=new wt,Tt=new Et(Me),G=Tt;function At(e){Me.baseURL!==e.apiBaseURL&&(Me.baseURL=e.apiBaseURL),e.app_id&&(Me.app_id=e.app_id),e.app_secret&&(Me.app_secret=e.app_secret)}const jn={login:async(e,t)=>{const n={name:e,password:t};return await G.post()("/account/login",n,{})},list:async()=>await G.post()("/account/list",{filter:{},sort:[{field:"name",order:"ASC"}],pagination:{page:1,pagesize:100}},{}),get:async()=>await G.get()("/account/get",{},{}),update:async(e,t)=>{const n={name:e.trim(),email:t.trim()};return await G.put()("/account/update",n,{})},changepassword:async(e,t)=>{const n={old_password:e.trim(),new_password:t.trim()};return await G.post()("/account/changepassword",n,{})},create:async(e,t,n,r)=>await G.post()("/account/create",{name:e.trim(),email:t.trim(),password:n.trim(),role_id:r},{}),edit:async e=>(e.reset_password||(e.new_password=void 0),await G.put()("/account/edit",e,{})),delete:async e=>{if(e)return G.post()("/account/delete",{id:e},{})}},On={list:async()=>await G.post()("/api/key/list",{filter:{search:""},sort:[{field:"name",order:"ASC"}],pagination:{page:1,pagesize:100}},{}),create:async(e,t)=>G.post()("/api/key/create",{name:e,role_id:t},{}),delete:async e=>{if(e)return G.post()("/api/key/delete",{id:e},{})}},In={list:async()=>await G.post()("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}},{}),create:async(e,t,n)=>await G.post()("/datasource/create",{type:e,key:t,config:n},{}),update:async(e,t)=>await G.put()("/datasource/update",{id:e,config:t},{}),delete:async e=>{await G.post()("/datasource/delete",{id:e},{})}},Dn={list:async()=>await G.get()("/role/list",{},{})};var kt=60,Ct=kt*60,jt=Ct*24,Rn=jt*7,Ae=1e3,ot=kt*Ae,Ot=Ct*Ae,Ln=jt*Ae,Nn=Rn*Ae,lt="millisecond",ke="second",Ce="minute",je="hour",be="day",Ke="week",oe="month",It="quarter",ve="year",Oe="date",$n="YYYY-MM-DDTHH:mm:ssZ",Dt="Invalid Date",Fn=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,zn=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g;const Pn={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var n=["th","st","nd","rd"],r=t%100;return"["+t+(n[(r-20)%10]||n[r]||n[0])+"]"}};var ut=function(t,n,r){var s=String(t);return!s||s.length>=n?t:""+Array(n+1-s.length).join(r)+t},Bn=function(t){var n=-t.utcOffset(),r=Math.abs(n),s=Math.floor(r/60),i=r%60;return(n<=0?"+":"-")+ut(s,2,"0")+":"+ut(i,2,"0")},Mn=function e(t,n){if(t.date()<n.date())return-e(n,t);var r=(n.year()-t.year())*12+(n.month()-t.month()),s=t.clone().add(r,oe),i=n-s<0,l=t.clone().add(r+(i?-1:1),oe);return+(-(r+(n-s)/(i?s-l:l-s))||0)},Gn=function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},Un=function(t){var n={M:oe,y:ve,w:Ke,d:be,D:Oe,h:je,m:Ce,s:ke,ms:lt,Q:It};return n[t]||String(t||"").toLowerCase().replace(/s$/,"")},qn=function(t){return t===void 0};const Yn={s:ut,z:Bn,m:Mn,a:Gn,p:Un,u:qn};var Ge="en",_e={};_e[Ge]=Pn;var ct=function(t){return t instanceof Xe},Ze=function e(t,n,r){var s;if(!t)return Ge;if(typeof t=="string"){var i=t.toLowerCase();_e[i]&&(s=i),n&&(_e[i]=n,s=i);var l=t.split("-");if(!s&&l.length>1)return e(l[0])}else{var u=t.name;_e[u]=t,s=u}return!r&&s&&(Ge=s),s||!r&&Ge},K=function(t,n){if(ct(t))return t.clone();var r=typeof n=="object"?n:{};return r.date=t,r.args=arguments,new Xe(r)},Hn=function(t,n){return K(t,{locale:n.$L,utc:n.$u,x:n.$x,$offset:n.$offset})},$=Yn;$.l=Ze,$.i=ct,$.w=Hn;var Vn=function(t){var n=t.date,r=t.utc;if(n===null)return new Date(NaN);if($.u(n))return new Date;if(n instanceof Date)return new Date(n);if(typeof n=="string"&&!/Z$/i.test(n)){var s=n.match(Fn);if(s){var i=s[2]-1||0,l=(s[7]||"0").substring(0,3);return r?new Date(Date.UTC(s[1],i,s[3]||1,s[4]||0,s[5]||0,s[6]||0,l)):new Date(s[1],i,s[3]||1,s[4]||0,s[5]||0,s[6]||0,l)}}return new Date(n)},Xe=function(){function e(n){this.$L=Ze(n.locale,null,!0),this.parse(n)}var t=e.prototype;return t.parse=function(r){this.$d=Vn(r),this.$x=r.x||{},this.init()},t.init=function(){var r=this.$d;this.$y=r.getFullYear(),this.$M=r.getMonth(),this.$D=r.getDate(),this.$W=r.getDay(),this.$H=r.getHours(),this.$m=r.getMinutes(),this.$s=r.getSeconds(),this.$ms=r.getMilliseconds()},t.$utils=function(){return $},t.isValid=function(){return this.$d.toString()!==Dt},t.isSame=function(r,s){var i=K(r);return this.startOf(s)<=i&&i<=this.endOf(s)},t.isAfter=function(r,s){return K(r)<this.startOf(s)},t.isBefore=function(r,s){return this.endOf(s)<K(r)},t.$g=function(r,s,i){return $.u(r)?this[s]:this.set(i,r)},t.unix=function(){return Math.floor(this.valueOf()/1e3)},t.valueOf=function(){return this.$d.getTime()},t.startOf=function(r,s){var i=this,l=$.u(s)?!0:s,u=$.p(r),c=function(w,x){var T=$.w(i.$u?Date.UTC(i.$y,x,w):new Date(i.$y,x,w),i);return l?T:T.endOf(be)},g=function(w,x){var T=[0,0,0,0],O=[23,59,59,999];return $.w(i.toDate()[w].apply(i.toDate("s"),(l?T:O).slice(x)),i)},m=this.$W,d=this.$M,p=this.$D,f="set"+(this.$u?"UTC":"");switch(u){case ve:return l?c(1,0):c(31,11);case oe:return l?c(1,d):c(0,d+1);case Ke:{var y=this.$locale().weekStart||0,b=(m<y?m+7:m)-y;return c(l?p-b:p+(6-b),d)}case be:case Oe:return g(f+"Hours",0);case je:return g(f+"Minutes",1);case Ce:return g(f+"Seconds",2);case ke:return g(f+"Milliseconds",3);default:return this.clone()}},t.endOf=function(r){return this.startOf(r,!1)},t.$set=function(r,s){var i,l=$.p(r),u="set"+(this.$u?"UTC":""),c=(i={},i[be]=u+"Date",i[Oe]=u+"Date",i[oe]=u+"Month",i[ve]=u+"FullYear",i[je]=u+"Hours",i[Ce]=u+"Minutes",i[ke]=u+"Seconds",i[lt]=u+"Milliseconds",i)[l],g=l===be?this.$D+(s-this.$W):s;if(l===oe||l===ve){var m=this.clone().set(Oe,1);m.$d[c](g),m.init(),this.$d=m.set(Oe,Math.min(this.$D,m.daysInMonth())).$d}else c&&this.$d[c](g);return this.init(),this},t.set=function(r,s){return this.clone().$set(r,s)},t.get=function(r){return this[$.p(r)]()},t.add=function(r,s){var i=this,l;r=Number(r);var u=$.p(s),c=function(p){var f=K(i);return $.w(f.date(f.date()+Math.round(p*r)),i)};if(u===oe)return this.set(oe,this.$M+r);if(u===ve)return this.set(ve,this.$y+r);if(u===be)return c(1);if(u===Ke)return c(7);var g=(l={},l[Ce]=ot,l[je]=Ot,l[ke]=Ae,l)[u]||1,m=this.$d.getTime()+r*g;return $.w(m,this)},t.subtract=function(r,s){return this.add(r*-1,s)},t.format=function(r){var s=this,i=this.$locale();if(!this.isValid())return i.invalidDate||Dt;var l=r||$n,u=$.z(this),c=this.$H,g=this.$m,m=this.$M,d=i.weekdays,p=i.months,f=i.meridiem,y=function(T,O,H,J){return T&&(T[O]||T(s,l))||H[O].slice(0,J)},b=function(T){return $.s(c%12||12,T,"0")},_=f||function(x,T,O){var H=x<12?"AM":"PM";return O?H.toLowerCase():H},w=function(T){switch(T){case"YY":return String(s.$y).slice(-2);case"YYYY":return $.s(s.$y,4,"0");case"M":return m+1;case"MM":return $.s(m+1,2,"0");case"MMM":return y(i.monthsShort,m,p,3);case"MMMM":return y(p,m);case"D":return s.$D;case"DD":return $.s(s.$D,2,"0");case"d":return String(s.$W);case"dd":return y(i.weekdaysMin,s.$W,d,2);case"ddd":return y(i.weekdaysShort,s.$W,d,3);case"dddd":return d[s.$W];case"H":return String(c);case"HH":return $.s(c,2,"0");case"h":return b(1);case"hh":return b(2);case"a":return _(c,g,!0);case"A":return _(c,g,!1);case"m":return String(g);case"mm":return $.s(g,2,"0");case"s":return String(s.$s);case"ss":return $.s(s.$s,2,"0");case"SSS":return $.s(s.$ms,3,"0");case"Z":return u}return null};return l.replace(zn,function(x,T){return T||w(x)||u.replace(":","")})},t.utcOffset=function(){return-Math.round(this.$d.getTimezoneOffset()/15)*15},t.diff=function(r,s,i){var l=this,u=$.p(s),c=K(r),g=(c.utcOffset()-this.utcOffset())*ot,m=this-c,d=function(){return $.m(l,c)},p;switch(u){case ve:p=d()/12;break;case oe:p=d();break;case It:p=d()/3;break;case Ke:p=(m-g)/Nn;break;case be:p=(m-g)/Ln;break;case je:p=m/Ot;break;case Ce:p=m/ot;break;case ke:p=m/Ae;break;default:p=m;break}return i?p:$.a(p)},t.daysInMonth=function(){return this.endOf(oe).$D},t.$locale=function(){return _e[this.$L]},t.locale=function(r,s){if(!r)return this.$L;var i=this.clone(),l=Ze(r,s,!0);return l&&(i.$L=l),i},t.clone=function(){return $.w(this.$d,this)},t.toDate=function(){return new Date(this.valueOf())},t.toJSON=function(){return this.isValid()?this.toISOString():null},t.toISOString=function(){return this.$d.toISOString()},t.toString=function(){return this.$d.toUTCString()},e}(),Rt=Xe.prototype;K.prototype=Rt,[["$ms",lt],["$s",ke],["$m",Ce],["$H",je],["$W",be],["$M",oe],["$y",ve],["$D",Oe]].forEach(function(e){Rt[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),K.extend=function(e,t){return e.$i||(e(t,Xe,K),e.$i=!0),K},K.locale=Ze,K.isDayjs=ct,K.unix=function(e){return K(e*1e3)},K.en=_e[Ge],K.Ls=_e,K.p={};const Z={datasource:In,account:jn,role:Dn,api_key:On,sql_snippet:{list:async({pagination:e},t)=>{const n=await G.post(t)("/sql_snippet/list",{sort:[{field:"update_time",order:"DESC"}],pagination:e},{});return n.data.forEach(r=>{r.create_time=K(r.create_time).format("YYYY-MM-DD HH:mm:ss"),r.update_time=K(r.update_time).format("YYYY-MM-DD HH:mm:ss")}),n},get:async(e,t)=>await G.post(t)("/sql_snippet/get",{id:e},{}),create:async(e,t)=>await G.post(t)("/sql_snippet/create",e,{}),update:async(e,t)=>await G.put(t)("/sql_snippet/update",e,{}),delete:async(e,t)=>G.post(t)("/sql_snippet/delete",{id:e},{})}},le={size:"sm",spacing:"md",button:{size:"xs"}};function Wn({styles:e=le}){return a.jsx(h.Box,{mx:"auto",children:a.jsx(h.Alert,{mt:e.spacing,icon:a.jsx(B.IconAlertCircle,{size:16}),children:a.jsxs(L.Trans,{i18nKey:"datasource.db.permission_tip",children:["Only ",a.jsx("b",{children:"SELECT"})," privilege is needed."]})})})}const Lt=({value:e,onChange:t,height:n="200px",defaultLanguage:r="sql"})=>{const s=l=>{console.log("changing"),t==null||t(l??"")},i=!t;return a.jsx(ze,{className:"minimal-monaco-editor",height:n,defaultLanguage:r,value:e,onChange:i?void 0:s,theme:"vs-dark",options:{lineNumbers:"off",folding:!1,lineDecorationsWidth:20,lineNumbersMinChars:0,wordWrap:"on",minimap:{enabled:!1},readOnly:i||!t}})};function de({size:e,disabled:t}){const{t:n}=L.useTranslation();return a.jsx(h.Button,{type:"submit",color:"green",leftIcon:a.jsx(B.IconDeviceFloppy,{size:16}),size:e,disabled:t,children:n("common.actions.submit")})}const Kn={translation:{datasource:{label:"Data Source",add:"Add a data source",edit:"Edit data source",connection_info:"Connection Info",db:{host:"Host",port:"Port",username:"Username",password:"Password",database:"Database",permission_tip:"Only <1>SELECT</1> privilege is needed."},cant_edit:{db:"Only HTTP datasources can be edited",preset:"This is a preset datasource, it can not be changed"},delete:{title:"Delete this data source?",hint:"This action won't affect your database or HTTP service.",cant_delete_preset:"This is a preset datasource, it can not be deleted"},http:{base_url:"Base URL",processing:{pre:{label:"Pre processing of queries",description:"This function will run before sending the request (for scenarios like encryption)"},post:{label:"Post processing of queries",description:"This function will run after getting a response (for scenarios like decryption)"}}},state:{adding:"Adding data source...",added:"Data source is added",updating:"Updating data source...",updated:"Data source is updated",deleting:"Deleting data source...",deleted:"Data source [{{name}}] is deleted"}},account:{label:"Account",add:"Add an account",edit:"Edit account",editing_xx:"Editing account [{{name}}]",username:"Username",email:"Email",password:"Password",password_hint:"Password must be at least 8 characters long",new_password:"New password",reset_password:"Reset password",state:{adding:"Adding account...",added:"Account is added",updating:"Updating account...",updated:"Account is updated",deleting:"Deleting account...",deleted:"Account [{{name}}] is deleted",logging_in:"Logging in...",logged_in:"Logged in"},delete:"Delete this account?"},global_sql_snippet:{label:"Global SQL Snippet",add:"Add a snippet",edit:"Edit snippet",content:"Content",description:"Global SQL Snippets are shared among dashboards",state:{adding:"Adding snippet...",added:"Snippet is added",updating:"Updating snippet...",updated:"Snippet is updated",deleting:"Deleting snippet...",deleted:"Snippet [{{name}}] is deleted"},delete:"Delete this snippet?"},api_key:{label:"API Key",add:"Add an API Key",edit:"Edit API key",app_id:"APP ID",app_secret:"APP Secret",state:{adding:"Adding API key...",added:"API key is added",updating:"Updating API key...",updated:"API Key is updated",deleting:"Deleting API key...",deleted:"API key [{{name}}] is deleted"},save:{title:"API Key is generated",warn:"Make sure you save it - you won't be able to access it again.",saved:"I've saved this API Key"},delete:"Delete this key?"},role:{label:"Role"},common:{type:"Type",name:"Name",name_placeholder:"A unique name",created_at:"Created At",updated_at:"Updated At",state:{pending:"Pending",successful:"Successful",failed:"Failed"},action:"Action",actions:{edit:"Edit",delete:"Delete",submit:"Submit",reset_to_default:"Reset to default",cancel:"Cancel",save:"Save",confirm:"Confirm"}}}},Zn={translation:{datasource:{label:"数据源",add:"添加数据源",edit:"编辑数据源",connection_info:"连接信息",db:{host:"主机(host)",port:"端口(port)",username:"用户名(username)",password:"密码(password)",database:"数据库(database)",permission_tip:"只需具备 <1>SELECT</1> 权限"},cant_edit:{db:"只有HTTP数据源可以编辑",preset:"这是预设数据源,不可编辑"},delete:{title:"删除这个数据源?",hint:"此操作不会影响您的数据库或HTTP服务",cant_delete_preset:"这是预设数据源,不可删除"},http:{base_url:"访问地址",processing:{pre:{label:"查询请求预处理",description:"此函数在请求发起前执行(例如加密场景)"},post:{label:"查询请求后处理",description:"此函数在请求获得响应后执行(例如解密场景)"}}},state:{adding:"正在添加数据源...",added:"数据源已添加",updating:"正在更新数据源...",updated:"数据源已更新",deleting:"正在删除数据源...",deleted:'数据源"{{name}}"已删除'}},account:{label:"账户",add:"添加账户",edit:"编辑账户",editing_xx:'正在编辑账户 "{{name}}"',username:"用户名",email:"邮箱",password:"密码",password_hint:"密码得至少包含8个字符",new_password:"新密码",reset_password:"重置密码",state:{adding:"正在添加账户...",added:"账户已添加",updating:"正在更新账户...",updated:"账户已更新",deleting:"正在删除账户...",deleted:'账户"{{name}}"已删除',logging_in:"正在登录...",logged_in:"已登录"},delete:"删除这个账户?"},global_sql_snippet:{label:"全局SQL片段",add:"添加片段",edit:"编辑片段",content:"SQL片段内容",description:"在制作任何看板时,既可以制订该看板自己的SQL片段,也可以使用这里的全局SQL片段",state:{adding:"正在添加片段...",added:"片段已添加",updating:"正在更新片段...",updated:"片段已更新",deleting:"正在删除片段...",deleted:'片段"{{name}}"已删除'},delete:"删除这个片段?"},api_key:{label:"API令牌",add:"添加令牌",edit:"编辑令牌",app_id:"应用ID",app_secret:"应用密钥",state:{adding:"正在添加令牌...",added:"令牌已添加",updating:"正在更新令牌...",updated:"令牌已更新",deleting:"正在删除令牌...",deleted:'令牌"{{name}}"已删除'},save:{title:"API令牌已生成",warn:"此信息只出现一次,请务必保存",saved:"我已保存"},delete:"删除这个片段?"},role:{label:"角色"},common:{type:"类型",name:"名称",name_placeholder:"名称须唯一",created_at:"创建时间",updated_at:"更新时间",state:{pending:"处理中",successful:"成功",failed:"失败"},action:"动作",actions:{edit:"编辑",delete:"删除",submit:"提交",reset_to_default:"还原为默认值",cancel:"取消",save:"保存",confirm:"确认"}}}},dt=Sn.createInstance({debug:!1,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:Kn,zh:Zn}}).use(xn).use(L.initReactI18next);dt.init();function Xn({lang:e,children:t}){return k.useEffect(()=>{dt.changeLanguage(e)},[e]),a.jsx(L.I18nextProvider,{i18n:dt,children:t})}const Qn=e=>e.replace(/([^:])(\/\/+)/g,"$1/");function Jn(e){k.useEffect(()=>{if(ze.loader.__getMonacoInstance())return;console.log("loading monaco for @devtable/settings-form");const n=Qn(e);ze.loader.config({paths:{vs:n}}),ze.loader.init().then(r=>console.log("monaco instance:",r))},[])}function Ue(e,t){const n=r=>{const{lang:s,config:i,...l}=r;return At(i),Jn(i.monacoPath),a.jsx(k.Suspense,{fallback:a.jsx(h.Loader,{color:"gray"}),children:a.jsx(Xn,{lang:s,children:a.jsx(t,{...l})})})};return n.displayName=`withEntry(${e})`,n}function er({submit:e,styles:t=le,type:n}){const{t:r}=L.useTranslation(),{control:s,setValue:i,handleSubmit:l}=j.useForm({defaultValues:{type:n,key:"",config:{host:"",port:5432,username:"",password:"",database:""}}});return k.useEffect(()=>{i("type",n)},[i,n]),a.jsx(h.Box,{mx:"auto",children:a.jsxs("form",{onSubmit:l(e),children:[a.jsx(j.Controller,{name:"key",control:s,render:({field:u})=>a.jsx(h.TextInput,{mb:t.spacing,size:t.size,required:!0,label:r("common.name"),placeholder:r("common.name_placeholder"),...u})}),a.jsx(h.Divider,{label:r("datasource.connection_info"),labelPosition:"center"}),a.jsxs(h.Group,{grow:!0,children:[a.jsx(j.Controller,{name:"config.host",control:s,render:({field:u})=>a.jsx(h.TextInput,{mb:t.spacing,size:t.size,required:!0,label:r("datasource.db.host"),sx:{flexGrow:1},...u})}),a.jsx(j.Controller,{name:"config.port",control:s,render:({field:u})=>a.jsx(h.NumberInput,{mb:t.spacing,size:t.size,required:!0,label:r("datasource.db.port"),hideControls:!0,sx:{width:"8em"},...u})})]}),a.jsx(j.Controller,{name:"config.username",control:s,render:({field:u})=>a.jsx(h.TextInput,{mb:t.spacing,size:t.size,required:!0,label:r("datasource.db.username"),...u})}),a.jsx(j.Controller,{name:"config.password",control:s,render:({field:u})=>a.jsx(h.PasswordInput,{mb:t.spacing,size:t.size,required:!0,label:r("datasource.db.password"),...u})}),a.jsx(j.Controller,{name:"config.database",control:s,render:({field:u})=>a.jsx(h.TextInput,{mb:t.spacing,size:t.size,required:!0,label:r("datasource.db.database"),...u})}),a.jsx(h.Group,{position:"right",mt:t.spacing,children:a.jsx(de,{size:t.button.size})})]})})}const tr=({value:e,onChange:t})=>{const n=r=>{r&&t(r)};return a.jsx(h.Box,{sx:{position:"relative"},children:a.jsx(ze,{height:"500px",defaultLanguage:"javascript",value:e,onChange:n,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},Qe=k.forwardRef(({value:e,onChange:t,label:n,modalTitle:r,defaultValue:s,styles:i},l)=>{const{t:u}=L.useTranslation(),[c,{setTrue:g,setFalse:m}]=me.useBoolean(),[d,p]=k.useState(e),f=()=>{m(),t(d)},y=()=>{m(),p(e)},b=()=>{p(s)};return k.useEffect(()=>{p(e)},[e]),a.jsxs(a.Fragment,{children:[a.jsx(h.Button,{color:"grape",variant:"filled",leftIcon:a.jsx(B.IconMathFunction,{size:16}),size:i.button.size,onClick:g,sx:{flexGrow:1},children:n}),a.jsx(h.Modal,{size:800,title:r,opened:c,onClose:m,closeOnClickOutside:!1,withCloseButton:!1,children:c&&a.jsxs(h.Stack,{children:[a.jsx(tr,{value:d,onChange:p}),a.jsxs(h.Group,{position:"apart",children:[a.jsx(h.Button,{size:i.button.size,onClick:b,color:"red",leftIcon:a.jsx(B.IconRecycle,{size:20}),children:u("common.actions.reset_to_default")}),a.jsxs(h.Group,{position:"right",children:[a.jsx(h.Button,{size:i.button.size,onClick:y,variant:"subtle",children:u("common.actions.cancel")}),a.jsx(h.Button,{size:i.button.size,color:"green",leftIcon:a.jsx(B.IconDeviceFloppy,{size:16}),onClick:f,children:u("common.actions.save")})]})]})]})})]})}),Je={pre:["function pre_process({ method, url, params, headers, data }, utils) {"," // your code goes here"," return { method, url, params, headers, data }","}"].join(`
27
+ Check the top-level render call using <`+m+">.")}return p}}function Nt(a,p){{if(!a._store||a._store.validated||a.key!=null)return;a._store.validated=!0;var m=_a(p);if(kt[m])return;kt[m]=!0;var g="";a&&a._owner&&a._owner!==Ve.current&&(g=" It was passed a child from "+G(a._owner.type)+"."),de(a),D('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',m,g),de(null)}}function Ft(a,p){{if(typeof a!="object")return;if(Ue(a))for(var m=0;m<a.length;m++){var g=a[m];We(g)&&Nt(g,p)}else if(We(a))a._store&&(a._store.validated=!0);else if(a){var y=X(a);if(typeof y=="function"&&y!==a.entries)for(var E=y.call(a),S;!(S=E.next()).done;)We(S.value)&&Nt(S.value,p)}}}function Ta(a){{var p=a.type;if(p==null||typeof p=="string")return;var m;if(typeof p=="function")m=p.propTypes;else if(typeof p=="object"&&(p.$$typeof===d||p.$$typeof===j))m=p.propTypes;else return;if(m){var g=G(p);la(m,a.props,"prop",g,a)}else if(p.PropTypes!==void 0&&!Ge){Ge=!0;var y=G(p);D("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",y||"Unknown")}typeof p.getDefaultProps=="function"&&!p.getDefaultProps.isReactClassApproved&&D("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Sa(a){{for(var p=Object.keys(a.props),m=0;m<p.length;m++){var g=p[m];if(g!=="children"&&g!=="key"){de(a),D("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",g),de(null);break}}a.ref!==null&&(de(a),D("Invalid attribute `ref` supplied to `React.Fragment`."),de(null))}}var Bt={};function Ut(a,p,m,g,y,E){{var S=ta(a);if(!S){var _="";(a===void 0||typeof a=="object"&&a!==null&&Object.keys(a).length===0)&&(_+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var N=ja(y);N?_+=N:_+=qt();var $;a===null?$="null":Ue(a)?$="array":a!==void 0&&a.$$typeof===t?($="<"+(G(a.type)||"Unknown")+" />",_=" Did you accidentally export a JSX literal instead of a component?"):$=typeof a,D("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",$,_)}var M=va(a,p,m,y,E);if(M==null)return M;if(S){var B=p.children;if(B!==void 0)if(g)if(Ue(B)){for(var pe=0;pe<B.length;pe++)Ft(B[pe],a);Object.freeze&&Object.freeze(B)}else D("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Ft(B,a)}if(je.call(p,"key")){var ne=G(a),F=Object.keys(p).filter(function(Ea){return Ea!=="key"}),Ke=F.length>0?"{key: someKey, "+F.join(": ..., ")+": ...}":"{key: someKey}";if(!Bt[ne+Ke]){var za=F.length>0?"{"+F.join(": ..., ")+": ...}":"{}";D(`A props object containing a "key" prop is being spread into JSX:
28
+ let props = %s;
29
+ <%s {...props} />
30
+ React keys must be passed directly to JSX without using spread:
31
+ let props = %s;
32
+ <%s key={someKey} {...props} />`,Ke,ne,za,ne),Bt[ne+Ke]=!0}}return a===n?Sa(M):Ta(M),M}}function wa(a,p,m){return Ut(a,p,m,!0)}function ya(a,p,m){return Ut(a,p,m,!1)}var Ca=ya,Da=wa;he.Fragment=n,he.jsx=Ca,he.jsxs=Da}()),he}process.env.NODE_ENV==="production"?Oe.exports=Ht():Oe.exports=Xt();var e=Oe.exports;function Zt(r){r=r||{};const t=Object.keys(r).sort(),s=[];for(let n=0;n<t.length;n++){const i=t[n];if(i!="authentication"&&r[i])s.push(t[n]+"="+(typeof r[i]=="object"?JSON.stringify(r[i]):r[i]));else{const l=Object.keys(r[i]).sort();for(let c=0;c<l.length;c++){const u=l[c];u!="sign"&&r[i][u]&&s.push(l[c]+"="+(typeof r[i][u]=="object"?JSON.stringify(r[i][u]):r[i][u]))}}}return s.sort().join("&")}function en(r,t){let s=Zt(r);return s+="&key="+t,Jt.MD5(s).toString().toUpperCase()}class Xe{constructor(){this.type="default_api_client",this.baseURL="http://localhost:31200",this.app_id="",this.app_secret=""}getAuthentication(t){if(!this.app_id||!this.app_secret)return;const s=new Date().getTime().toString();return{app_id:this.app_id,nonce_str:s,sign:en({app_id:this.app_id,nonce_str:s,...t},this.app_secret)}}getRequest(t,s){return(n,i,l,c)=>{const u=this.buildHeader(l),d=this.buildAxiosConfig(t,n,i,l,u,s);return Qe(d).then(f=>c?f:f.data).catch(f=>{if(Qe.isCancel(f))return Promise.reject(f);const h=Vt.get(f,"response.data.detail.message",f.message);return Promise.reject(new Error(h))})}}get(t){return this.getRequest("GET",t)}post(t){return this.getRequest("POST",t)}put(t){return this.getRequest("PUT",t)}buildAxiosConfig(t,s,n,i,l,c){const u={baseURL:this.baseURL,method:t,url:s,params:t==="GET"?n:i.params,headers:l,signal:c};return["POST","PUT"].includes(t)&&(u.data=i.string?JSON.stringify(n):n,u.data.authentication=this.getAuthentication(u.data)),u}buildHeader(t){const s=window.localStorage.getItem("token");return{"X-Requested-With":"XMLHttpRequest","Content-Type":t.string?"application/x-www-form-urlencoded":"application/json",authorization:s?`bearer ${s}`:"",...t.headers}}}class Ze{constructor(t){this.implementation=t}getRequest(t,s){return this.implementation.getRequest(t,s)}get(t){return this.getRequest("GET",t)}post(t){return this.getRequest("POST",t)}put(t){return this.getRequest("PUT",t)}}const ge=new Xe,et=new Ze(ge),O=et;function tt(r){ge.baseURL!==r.apiBaseURL&&(ge.baseURL=r.apiBaseURL),r.app_id&&(ge.app_id=r.app_id),r.app_secret&&(ge.app_secret=r.app_secret)}const tn={login:async(r,t)=>{const s={name:r,password:t};return await O.post()("/account/login",s,{})},list:async()=>await O.post()("/account/list",{filter:{},sort:[{field:"name",order:"ASC"}],pagination:{page:1,pagesize:100}},{}),get:async()=>await O.get()("/account/get",{},{}),update:async(r,t)=>{const s={name:r.trim(),email:t.trim()};return await O.put()("/account/update",s,{})},changepassword:async(r,t)=>{const s={old_password:r.trim(),new_password:t.trim()};return await O.post()("/account/changepassword",s,{})},create:async(r,t,s,n)=>await O.post()("/account/create",{name:r.trim(),email:t.trim(),password:s.trim(),role_id:n},{}),edit:async r=>(r.reset_password||(r.new_password=void 0),await O.put()("/account/edit",r,{})),delete:async r=>{if(r)return O.post()("/account/delete",{id:r},{})}},nn={list:async()=>await O.post()("/api/key/list",{filter:{search:""},sort:[{field:"name",order:"ASC"}],pagination:{page:1,pagesize:100}},{}),create:async(r,t)=>O.post()("/api/key/create",{name:r,role_id:t},{}),delete:async r=>{if(r)return O.post()("/api/key/delete",{id:r},{})}},an={list:async()=>await O.post()("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}},{}),create:async(r,t,s)=>await O.post()("/datasource/create",{type:r,key:t,config:s},{}),update:async(r,t)=>await O.put()("/datasource/update",{id:r,config:t},{}),delete:async r=>{await O.post()("/datasource/delete",{id:r},{})}},rn={list:async()=>await O.get()("/role/list",{},{})};var nt=60,at=nt*60,rt=at*24,sn=rt*7,re=1e3,$e=nt*re,st=at*re,on=rt*re,ln=sn*re,Me="millisecond",se="second",ie="minute",oe="hour",Q="day",Te="week",U="month",it="quarter",J="year",le="date",un="YYYY-MM-DDTHH:mm:ssZ",ot="Invalid Date",cn=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,dn=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g;const pn={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var s=["th","st","nd","rd"],n=t%100;return"["+t+(s[(n-20)%10]||s[n]||s[0])+"]"}};var Ie=function(t,s,n){var i=String(t);return!i||i.length>=s?t:""+Array(s+1-i.length).join(n)+t},fn=function(t){var s=-t.utcOffset(),n=Math.abs(s),i=Math.floor(n/60),l=n%60;return(s<=0?"+":"-")+Ie(i,2,"0")+":"+Ie(l,2,"0")},mn=function r(t,s){if(t.date()<s.date())return-r(s,t);var n=(s.year()-t.year())*12+(s.month()-t.month()),i=t.clone().add(n,U),l=s-i<0,c=t.clone().add(n+(l?-1:1),U);return+(-(n+(s-i)/(l?i-c:c-i))||0)},hn=function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},gn=function(t){var s={M:U,y:J,w:Te,d:Q,D:le,h:oe,m:ie,s:se,ms:Me,Q:it};return s[t]||String(t||"").toLowerCase().replace(/s$/,"")},xn=function(t){return t===void 0};const bn={s:Ie,z:fn,m:mn,a:hn,p:gn,u:xn};var xe="en",ee={};ee[xe]=pn;var Re=function(t){return t instanceof we},Se=function r(t,s,n){var i;if(!t)return xe;if(typeof t=="string"){var l=t.toLowerCase();ee[l]&&(i=l),s&&(ee[l]=s,i=l);var c=t.split("-");if(!i&&c.length>1)return r(c[0])}else{var u=t.name;ee[u]=t,i=u}return!n&&i&&(xe=i),i||!n&&xe},I=function(t,s){if(Re(t))return t.clone();var n=typeof s=="object"?s:{};return n.date=t,n.args=arguments,new we(n)},vn=function(t,s){return I(t,{locale:s.$L,utc:s.$u,x:s.$x,$offset:s.$offset})},z=bn;z.l=Se,z.i=Re,z.w=vn;var jn=function(t){var s=t.date,n=t.utc;if(s===null)return new Date(NaN);if(z.u(s))return new Date;if(s instanceof Date)return new Date(s);if(typeof s=="string"&&!/Z$/i.test(s)){var i=s.match(cn);if(i){var l=i[2]-1||0,c=(i[7]||"0").substring(0,3);return n?new Date(Date.UTC(i[1],l,i[3]||1,i[4]||0,i[5]||0,i[6]||0,c)):new Date(i[1],l,i[3]||1,i[4]||0,i[5]||0,i[6]||0,c)}}return new Date(s)},we=function(){function r(s){this.$L=Se(s.locale,null,!0),this.parse(s)}var t=r.prototype;return t.parse=function(n){this.$d=jn(n),this.$x=n.x||{},this.init()},t.init=function(){var n=this.$d;this.$y=n.getFullYear(),this.$M=n.getMonth(),this.$D=n.getDate(),this.$W=n.getDay(),this.$H=n.getHours(),this.$m=n.getMinutes(),this.$s=n.getSeconds(),this.$ms=n.getMilliseconds()},t.$utils=function(){return z},t.isValid=function(){return this.$d.toString()!==ot},t.isSame=function(n,i){var l=I(n);return this.startOf(i)<=l&&l<=this.endOf(i)},t.isAfter=function(n,i){return I(n)<this.startOf(i)},t.isBefore=function(n,i){return this.endOf(i)<I(n)},t.$g=function(n,i,l){return z.u(n)?this[i]:this.set(l,n)},t.unix=function(){return Math.floor(this.valueOf()/1e3)},t.valueOf=function(){return this.$d.getTime()},t.startOf=function(n,i){var l=this,c=z.u(i)?!0:i,u=z.p(n),d=function(k,D){var L=z.w(l.$u?Date.UTC(l.$y,D,k):new Date(l.$y,D,k),l);return c?L:L.endOf(Q)},f=function(k,D){var L=[0,0,0,0],Z=[23,59,59,999];return z.w(l.toDate()[k].apply(l.toDate("s"),(c?L:Z).slice(D)),l)},h=this.$W,j=this.$M,b=this.$D,C="set"+(this.$u?"UTC":"");switch(u){case J:return c?d(1,0):d(31,11);case U:return c?d(1,j):d(0,j+1);case Te:{var q=this.$locale().weekStart||0,Y=(h<q?h+7:h)-q;return d(c?b-Y:b+(6-Y),j)}case Q:case le:return f(C+"Hours",0);case oe:return f(C+"Minutes",1);case ie:return f(C+"Seconds",2);case se:return f(C+"Milliseconds",3);default:return this.clone()}},t.endOf=function(n){return this.startOf(n,!1)},t.$set=function(n,i){var l,c=z.p(n),u="set"+(this.$u?"UTC":""),d=(l={},l[Q]=u+"Date",l[le]=u+"Date",l[U]=u+"Month",l[J]=u+"FullYear",l[oe]=u+"Hours",l[ie]=u+"Minutes",l[se]=u+"Seconds",l[Me]=u+"Milliseconds",l)[c],f=c===Q?this.$D+(i-this.$W):i;if(c===U||c===J){var h=this.clone().set(le,1);h.$d[d](f),h.init(),this.$d=h.set(le,Math.min(this.$D,h.daysInMonth())).$d}else d&&this.$d[d](f);return this.init(),this},t.set=function(n,i){return this.clone().$set(n,i)},t.get=function(n){return this[z.p(n)]()},t.add=function(n,i){var l=this,c;n=Number(n);var u=z.p(i),d=function(b){var C=I(l);return z.w(C.date(C.date()+Math.round(b*n)),l)};if(u===U)return this.set(U,this.$M+n);if(u===J)return this.set(J,this.$y+n);if(u===Q)return d(1);if(u===Te)return d(7);var f=(c={},c[ie]=$e,c[oe]=st,c[se]=re,c)[u]||1,h=this.$d.getTime()+n*f;return z.w(h,this)},t.subtract=function(n,i){return this.add(n*-1,i)},t.format=function(n){var i=this,l=this.$locale();if(!this.isValid())return l.invalidDate||ot;var c=n||un,u=z.z(this),d=this.$H,f=this.$m,h=this.$M,j=l.weekdays,b=l.months,C=l.meridiem,q=function(L,Z,ce,ke){return L&&(L[Z]||L(i,c))||ce[Z].slice(0,ke)},Y=function(L){return z.s(d%12||12,L,"0")},X=C||function(D,L,Z){var ce=D<12?"AM":"PM";return Z?ce.toLowerCase():ce},k=function(L){switch(L){case"YY":return String(i.$y).slice(-2);case"YYYY":return z.s(i.$y,4,"0");case"M":return h+1;case"MM":return z.s(h+1,2,"0");case"MMM":return q(l.monthsShort,h,b,3);case"MMMM":return q(b,h);case"D":return i.$D;case"DD":return z.s(i.$D,2,"0");case"d":return String(i.$W);case"dd":return q(l.weekdaysMin,i.$W,j,2);case"ddd":return q(l.weekdaysShort,i.$W,j,3);case"dddd":return j[i.$W];case"H":return String(d);case"HH":return z.s(d,2,"0");case"h":return Y(1);case"hh":return Y(2);case"a":return X(d,f,!0);case"A":return X(d,f,!1);case"m":return String(f);case"mm":return z.s(f,2,"0");case"s":return String(i.$s);case"ss":return z.s(i.$s,2,"0");case"SSS":return z.s(i.$ms,3,"0");case"Z":return u}return null};return c.replace(dn,function(D,L){return L||k(D)||u.replace(":","")})},t.utcOffset=function(){return-Math.round(this.$d.getTimezoneOffset()/15)*15},t.diff=function(n,i,l){var c=this,u=z.p(i),d=I(n),f=(d.utcOffset()-this.utcOffset())*$e,h=this-d,j=function(){return z.m(c,d)},b;switch(u){case J:b=j()/12;break;case U:b=j();break;case it:b=j()/3;break;case Te:b=(h-f)/ln;break;case Q:b=(h-f)/on;break;case oe:b=h/st;break;case ie:b=h/$e;break;case se:b=h/re;break;default:b=h;break}return l?b:z.a(b)},t.daysInMonth=function(){return this.endOf(U).$D},t.$locale=function(){return ee[this.$L]},t.locale=function(n,i){if(!n)return this.$L;var l=this.clone(),c=Se(n,i,!0);return c&&(l.$L=c),l},t.clone=function(){return z.w(this.$d,this)},t.toDate=function(){return new Date(this.valueOf())},t.toJSON=function(){return this.isValid()?this.toISOString():null},t.toISOString=function(){return this.$d.toISOString()},t.toString=function(){return this.$d.toUTCString()},r}(),lt=we.prototype;I.prototype=lt,[["$ms",Me],["$s",se],["$m",ie],["$H",oe],["$W",Q],["$M",U],["$y",J],["$D",le]].forEach(function(r){lt[r[1]]=function(t){return this.$g(t,r[0],r[1])}}),I.extend=function(r,t){return r.$i||(r(t,we,I),r.$i=!0),I},I.locale=Se,I.isDayjs=Re,I.unix=function(r){return I(r*1e3)},I.en=ee[xe],I.Ls=ee,I.p={};const R={datasource:an,account:tn,role:rn,api_key:nn,sql_snippet:{list:async({pagination:r},t)=>{const s=await O.post(t)("/sql_snippet/list",{sort:[{field:"update_time",order:"DESC"}],pagination:r},{});return s.data.forEach(n=>{n.create_time=I(n.create_time).format("YYYY-MM-DD HH:mm:ss"),n.update_time=I(n.update_time).format("YYYY-MM-DD HH:mm:ss")}),s},get:async(r,t)=>await O.post(t)("/sql_snippet/get",{id:r},{}),create:async(r,t)=>await O.post(t)("/sql_snippet/create",r,{}),update:async(r,t)=>await O.put(t)("/sql_snippet/update",r,{}),delete:async(r,t)=>O.post(t)("/sql_snippet/delete",{id:r},{})}},V={size:"sm",spacing:"md",button:{size:"xs"}};function _n({styles:r=V}){return e.jsx(o.Box,{mx:"auto",children:e.jsx(o.Alert,{mt:r.spacing,icon:e.jsx(A.IconAlertCircle,{size:16}),children:e.jsxs(w.Trans,{i18nKey:"datasource.db.permission_tip",children:["Only ",e.jsx("b",{children:"SELECT"})," privilege is needed."]})})})}const ut=({value:r,onChange:t,height:s="200px",defaultLanguage:n="sql"})=>{const i=c=>{console.log("changing"),t==null||t(c??"")},l=!t;return e.jsx(fe,{className:"minimal-monaco-editor",height:s,defaultLanguage:n,value:r,onChange:l?void 0:i,theme:"vs-dark",options:{lineNumbers:"off",folding:!1,lineDecorationsWidth:20,lineNumbersMinChars:0,wordWrap:"on",minimap:{enabled:!1},readOnly:l||!t}})};function W({size:r,disabled:t}){const{t:s}=w.useTranslation();return e.jsx(o.Button,{type:"submit",color:"green",leftSection:e.jsx(A.IconDeviceFloppy,{size:16}),size:r,disabled:t,children:s("common.actions.submit")})}const Tn={translation:{datasource:{label:"Data Source",add:"Add a data source",edit:"Edit data source",connection_info:"Connection Info",db:{host:"Host",port:"Port",username:"Username",password:"Password",database:"Database",permission_tip:"Only <1>SELECT</1> privilege is needed."},cant_edit:{db:"Only HTTP datasources can be edited",preset:"This is a preset datasource, it can not be changed"},delete:{title:"Delete this data source?",hint:"This action won't affect your database or HTTP service.",cant_delete_preset:"This is a preset datasource, it can not be deleted"},http:{base_url:"Base URL",processing:{pre:{label:"Pre processing of queries",description:"This function will run before sending the request (for scenarios like encryption)"},post:{label:"Post processing of queries",description:"This function will run after getting a response (for scenarios like decryption)"}}},state:{adding:"Adding data source...",added:"Data source is added",updating:"Updating data source...",updated:"Data source is updated",deleting:"Deleting data source...",deleted:"Data source [{{name}}] is deleted"}},account:{label:"Account",add:"Add an account",edit:"Edit account",editing_xx:"Editing account [{{name}}]",username:"Username",email:"Email",password:"Password",password_hint:"Password must be at least 8 characters long",new_password:"New password",reset_password:"Reset password",state:{adding:"Adding account...",added:"Account is added",updating:"Updating account...",updated:"Account is updated",deleting:"Deleting account...",deleted:"Account [{{name}}] is deleted",logging_in:"Logging in...",logged_in:"Logged in"},delete:"Delete this account?"},global_sql_snippet:{label:"Global SQL Snippet",add:"Add a snippet",edit:"Edit snippet",content:"Content",description:"Global SQL Snippets are shared among dashboards",state:{adding:"Adding snippet...",added:"Snippet is added",updating:"Updating snippet...",updated:"Snippet is updated",deleting:"Deleting snippet...",deleted:"Snippet [{{name}}] is deleted"},delete:"Delete this snippet?"},api_key:{label:"API Key",add:"Add an API Key",edit:"Edit API key",app_id:"APP ID",app_secret:"APP Secret",state:{adding:"Adding API key...",added:"API key is added",updating:"Updating API key...",updated:"API Key is updated",deleting:"Deleting API key...",deleted:"API key [{{name}}] is deleted"},save:{title:"API Key is generated",warn:"Make sure you save it - you won't be able to access it again.",saved:"I've saved this API Key"},delete:"Delete this key?"},role:{label:"Role"},common:{type:"Type",name:"Name",name_placeholder:"A unique name",created_at:"Created At",updated_at:"Updated At",state:{pending:"Pending",successful:"Successful",failed:"Failed"},action:"Action",actions:{edit:"Edit",delete:"Delete",submit:"Submit",reset_to_default:"Reset to default",cancel:"Cancel",save:"Save",confirm:"Confirm"}}}},Sn={translation:{datasource:{label:"数据源",add:"添加数据源",edit:"编辑数据源",connection_info:"连接信息",db:{host:"主机(host)",port:"端口(port)",username:"用户名(username)",password:"密码(password)",database:"数据库(database)",permission_tip:"只需具备 <1>SELECT</1> 权限"},cant_edit:{db:"只有HTTP数据源可以编辑",preset:"这是预设数据源,不可编辑"},delete:{title:"删除这个数据源?",hint:"此操作不会影响您的数据库或HTTP服务",cant_delete_preset:"这是预设数据源,不可删除"},http:{base_url:"访问地址",processing:{pre:{label:"查询请求预处理",description:"此函数在请求发起前执行(例如加密场景)"},post:{label:"查询请求后处理",description:"此函数在请求获得响应后执行(例如解密场景)"}}},state:{adding:"正在添加数据源...",added:"数据源已添加",updating:"正在更新数据源...",updated:"数据源已更新",deleting:"正在删除数据源...",deleted:'数据源"{{name}}"已删除'}},account:{label:"账户",add:"添加账户",edit:"编辑账户",editing_xx:'正在编辑账户 "{{name}}"',username:"用户名",email:"邮箱",password:"密码",password_hint:"密码得至少包含8个字符",new_password:"新密码",reset_password:"重置密码",state:{adding:"正在添加账户...",added:"账户已添加",updating:"正在更新账户...",updated:"账户已更新",deleting:"正在删除账户...",deleted:'账户"{{name}}"已删除',logging_in:"正在登录...",logged_in:"已登录"},delete:"删除这个账户?"},global_sql_snippet:{label:"全局SQL片段",add:"添加片段",edit:"编辑片段",content:"SQL片段内容",description:"在制作任何看板时,既可以制订该看板自己的SQL片段,也可以使用这里的全局SQL片段",state:{adding:"正在添加片段...",added:"片段已添加",updating:"正在更新片段...",updated:"片段已更新",deleting:"正在删除片段...",deleted:'片段"{{name}}"已删除'},delete:"删除这个片段?"},api_key:{label:"API令牌",add:"添加令牌",edit:"编辑令牌",app_id:"应用ID",app_secret:"应用密钥",state:{adding:"正在添加令牌...",added:"令牌已添加",updating:"正在更新令牌...",updated:"令牌已更新",deleting:"正在删除令牌...",deleted:'令牌"{{name}}"已删除'},save:{title:"API令牌已生成",warn:"此信息只出现一次,请务必保存",saved:"我已保存"},delete:"删除这个片段?"},role:{label:"角色"},common:{type:"类型",name:"名称",name_placeholder:"名称须唯一",created_at:"创建时间",updated_at:"更新时间",state:{pending:"处理中",successful:"成功",failed:"失败"},action:"动作",actions:{edit:"编辑",delete:"删除",submit:"提交",reset_to_default:"还原为默认值",cancel:"取消",save:"保存",confirm:"确认"}}}},Le=Gt.createInstance({debug:!1,fallbackLng:"en",interpolation:{escapeValue:!1},resources:{en:Tn,zh:Sn}}).use(Wt).use(w.initReactI18next);Le.init();function wn({lang:r,children:t}){return P.useEffect(()=>{Le.changeLanguage(r)},[r]),e.jsx(w.I18nextProvider,{i18n:Le,children:t})}const yn=r=>r.replace(/([^:])(\/\/+)/g,"$1/");function Cn(r){P.useEffect(()=>{if(fe.loader.__getMonacoInstance())return;console.log("loading monaco for @devtable/settings-form");const s=yn(r);fe.loader.config({paths:{vs:s}}),fe.loader.init().then(n=>console.log("monaco instance:",n))},[])}function be(r,t){const s=n=>{const{lang:i,config:l,...c}=n;return tt(l),Cn(l.monacoPath),e.jsx(P.Suspense,{fallback:e.jsx(o.Loader,{color:"gray"}),children:e.jsx(wn,{lang:i,children:e.jsx(t,{...c})})})};return s.displayName=`withEntry(${r})`,s}function Dn({submit:r,styles:t=V,type:s}){const{t:n}=w.useTranslation(),{control:i,setValue:l,handleSubmit:c}=v.useForm({defaultValues:{type:s,key:"",config:{host:"",port:5432,username:"",password:"",database:""}}});return P.useEffect(()=>{l("type",s)},[l,s]),e.jsx(o.Box,{mx:"auto",children:e.jsxs("form",{onSubmit:c(r),children:[e.jsx(v.Controller,{name:"key",control:i,render:({field:u})=>e.jsx(o.TextInput,{mb:t.spacing,size:t.size,required:!0,label:n("common.name"),placeholder:n("common.name_placeholder"),...u})}),e.jsx(o.Divider,{label:n("datasource.connection_info"),labelPosition:"center"}),e.jsxs(o.Group,{grow:!0,children:[e.jsx(v.Controller,{name:"config.host",control:i,render:({field:u})=>e.jsx(o.TextInput,{mb:t.spacing,size:t.size,required:!0,label:n("datasource.db.host"),sx:{flexGrow:1},...u})}),e.jsx(v.Controller,{name:"config.port",control:i,render:({field:u})=>e.jsx(o.NumberInput,{mb:t.spacing,size:t.size,required:!0,label:n("datasource.db.port"),hideControls:!0,sx:{width:"8em"},...u})})]}),e.jsx(v.Controller,{name:"config.username",control:i,render:({field:u})=>e.jsx(o.TextInput,{mb:t.spacing,size:t.size,required:!0,label:n("datasource.db.username"),...u})}),e.jsx(v.Controller,{name:"config.password",control:i,render:({field:u})=>e.jsx(o.PasswordInput,{mb:t.spacing,size:t.size,required:!0,label:n("datasource.db.password"),...u})}),e.jsx(v.Controller,{name:"config.database",control:i,render:({field:u})=>e.jsx(o.TextInput,{mb:t.spacing,size:t.size,required:!0,label:n("datasource.db.database"),...u})}),e.jsx(o.Group,{justify:"flex-end",mt:t.spacing,children:e.jsx(W,{size:t.button.size})})]})})}const zn=({value:r,onChange:t})=>{const s=n=>{n&&t(n)};return e.jsx(o.Box,{sx:{position:"relative"},children:e.jsx(fe,{height:"500px",defaultLanguage:"javascript",value:r,onChange:s,theme:"vs-dark",options:{minimap:{enabled:!1}}})})},ye=P.forwardRef(({value:r,onChange:t,label:s,modalTitle:n,defaultValue:i,styles:l},c)=>{const{t:u}=w.useTranslation(),[d,{setTrue:f,setFalse:h}]=K.useBoolean(),[j,b]=P.useState(r),C=()=>{h(),t(j)},q=()=>{h(),b(r)},Y=()=>{b(i)};return P.useEffect(()=>{b(r)},[r]),e.jsxs(e.Fragment,{children:[e.jsx(o.Button,{color:"grape",variant:"filled",leftSection:e.jsx(A.IconMathFunction,{size:16}),size:l.button.size,onClick:f,sx:{flexGrow:1},children:s}),e.jsx(o.Modal,{size:800,title:n,opened:d,onClose:h,closeOnClickOutside:!1,withCloseButton:!1,children:d&&e.jsxs(o.Stack,{children:[e.jsx(zn,{value:j,onChange:b}),e.jsxs(o.Group,{justify:"space-between",children:[e.jsx(o.Button,{size:l.button.size,onClick:Y,color:"red",leftSection:e.jsx(A.IconRecycle,{size:20}),children:u("common.actions.reset_to_default")}),e.jsxs(o.Group,{justify:"flex-end",children:[e.jsx(o.Button,{size:l.button.size,onClick:q,variant:"subtle",children:u("common.actions.cancel")}),e.jsx(o.Button,{size:l.button.size,color:"green",leftSection:e.jsx(A.IconDeviceFloppy,{size:16}),onClick:C,children:u("common.actions.save")})]})]})]})})]})}),Ce={pre:["function pre_process({ method, url, params, headers, data }, utils) {"," // your code goes here"," return { method, url, params, headers, data }","}"].join(`
28
33
  `),post:["function post_process(res, utils) {"," // your code goes here"," return data","}"].join(`
29
- `)};function nr({submit:e,styles:t=le}){const{t:n}=L.useTranslation(),{control:r,setValue:s,handleSubmit:i}=j.useForm({defaultValues:{type:"http",key:"",config:{host:"",processing:{pre:Je.pre,post:Je.post}}}});return a.jsx(h.Box,{mx:"auto",children:a.jsxs("form",{onSubmit:i(e),children:[a.jsx(j.Controller,{name:"key",control:r,render:({field:l})=>a.jsx(h.TextInput,{mb:t.spacing,size:t.size,required:!0,label:n("common.name"),placeholder:n("common.name_placeholder"),...l})}),a.jsx(h.Divider,{label:n("datasource.connection_info"),labelPosition:"center"}),a.jsx(j.Controller,{name:"config.host",control:r,render:({field:l})=>a.jsx(h.TextInput,{mb:t.spacing,size:t.size,label:n("datasource.http.base_url"),sx:{flexGrow:1},...l})}),a.jsxs(h.Group,{grow:!0,children:[a.jsx(j.Controller,{name:"config.processing.pre",control:r,render:({field:l})=>a.jsx(Qe,{label:n("datasource.http.processing.pre.label"),modalTitle:n("datasource.http.processing.pre.description"),defaultValue:Je.pre,...l,styles:t})}),a.jsx(j.Controller,{name:"config.processing.post",control:r,render:({field:l})=>a.jsx(Qe,{label:n("datasource.http.processing.post.label"),modalTitle:n("datasource.http.processing.post.description"),defaultValue:Je.post,...l,styles:t})})]}),a.jsx(h.Group,{position:"right",mt:t.spacing,children:a.jsx(de,{size:t.button.size})})]})})}function rr({postSubmit:e,styles:t=le}){const{t:n}=L.useTranslation(),[r,s]=k.useState("postgresql"),i=async({type:c,key:g,config:m})=>{D.showNotification({id:"for-creating",title:n("common.state.pending"),message:n("datasource.state.adding"),loading:!0,autoClose:!1});try{console.log({type:c,key:g,config:m}),await Z.datasource.create(c,g,m),D.updateNotification({id:"for-creating",title:n("common.state.successful"),message:n("datasource.state.added"),color:"green",autoClose:!0}),e()}catch(d){console.error(d),D.updateNotification({id:"for-creating",title:n("common.state.failed"),message:d.message,color:"red",autoClose:!0})}},l=r==="postgresql"||r==="mysql",u=r==="http";return a.jsxs(h.Box,{mx:"auto",children:[a.jsx(h.SegmentedControl,{fullWidth:!0,mb:t.spacing,size:t.size,data:[{label:"PostgreSQL",value:"postgresql"},{label:"MySQL",value:"mysql"},{label:"HTTP",value:"http"}],value:r,onChange:c=>s(c)}),l&&a.jsx(Wn,{styles:t}),l&&a.jsx(er,{submit:i,styles:t,type:r}),u&&a.jsx(nr,{submit:i,styles:t})]})}function Nt({onSuccess:e,styles:t=le}){const{t:n}=L.useTranslation(),[r,s]=k.useState(!1),i=()=>s(!0),l=()=>s(!1),u=()=>{e(),l()};return a.jsxs(a.Fragment,{children:[a.jsx(h.Modal,{opened:r,onClose:()=>s(!1),title:n("datasource.add"),trapFocus:!0,onDragStart:c=>{c.stopPropagation()},children:a.jsx(rr,{postSubmit:u,styles:t})}),a.jsx(h.Button,{size:t.button.size,onClick:i,leftIcon:a.jsx(B.IconPlaylistAdd,{size:20}),children:n("datasource.add")})]})}const ar={http:"HTTP",mysql:"MySQL",postgresql:"PostgreSQL"},sr={http:a.jsx(B.IconNetwork,{}),mysql:a.jsx(B.IconBrandMysql,{}),postgresql:a.jsx(B.IconDatabase,{})};function ir({type:e}){return a.jsxs(h.Group,{children:[a.jsx(h.ActionIcon,{size:"xs",sx:{transform:"none !important"},children:sr[e]}),a.jsx(h.Text,{sx:{cusor:"default",userSelect:"none"},children:ar[e]})]})}function $t({id:e,name:t,isProtected:n,onSuccess:r,styles:s=le}){const{t:i}=L.useTranslation(),l=Te.useModals(),u=async()=>{e&&(D.showNotification({id:"for-deleting",title:i("common.state.pending"),message:i("datasource.state.deleting"),loading:!0,autoClose:!1}),await Z.datasource.delete(e),D.updateNotification({id:"for-deleting",title:i("common.state.successful"),message:i("datasource.state.deleted",{name:t}),color:"green",autoClose:!0}),r())},c=()=>l.openConfirmModal({title:i("datasource.delete.title"),children:a.jsx(h.Text,{size:s.size,children:i("datasource.delete.hint")}),labels:{confirm:i("common.actions.confirm"),cancel:i("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:u,cancelProps:{size:s.button.size},confirmProps:{color:"red",size:s.button.size}});return n?a.jsx(h.Tooltip,{withArrow:!0,events:{hover:!0,touch:!1,focus:!1},label:i("datasource.delete.cant_delete_preset"),children:a.jsx(h.Button,{size:s.button.size,color:"gray",variant:"light",leftIcon:a.jsx(B.IconLock,{size:16}),sx:{transform:"none !important"},children:i("common.actions.delete")})}):a.jsx(h.Button,{size:s.button.size,color:"red",onClick:c,leftIcon:a.jsx(B.IconTrash,{size:16}),children:i("common.actions.delete")})}const Ft={pre:["function pre_process({ method, url, params, headers, data }, utils) {"," // your code goes here"," return { method, url, params, headers, data }","}"].join(`
34
+ `)};function En({submit:r,styles:t=V}){const{t:s}=w.useTranslation(),{control:n,setValue:i,handleSubmit:l}=v.useForm({defaultValues:{type:"http",key:"",config:{host:"",processing:{pre:Ce.pre,post:Ce.post}}}});return e.jsx(o.Box,{mx:"auto",children:e.jsxs("form",{onSubmit:l(r),children:[e.jsx(v.Controller,{name:"key",control:n,render:({field:c})=>e.jsx(o.TextInput,{mb:t.spacing,size:t.size,required:!0,label:s("common.name"),placeholder:s("common.name_placeholder"),...c})}),e.jsx(o.Divider,{label:s("datasource.connection_info"),labelPosition:"center"}),e.jsx(v.Controller,{name:"config.host",control:n,render:({field:c})=>e.jsx(o.TextInput,{mb:t.spacing,size:t.size,label:s("datasource.http.base_url"),sx:{flexGrow:1},...c})}),e.jsxs(o.Group,{grow:!0,children:[e.jsx(v.Controller,{name:"config.processing.pre",control:n,render:({field:c})=>e.jsx(ye,{label:s("datasource.http.processing.pre.label"),modalTitle:s("datasource.http.processing.pre.description"),defaultValue:Ce.pre,...c,styles:t})}),e.jsx(v.Controller,{name:"config.processing.post",control:n,render:({field:c})=>e.jsx(ye,{label:s("datasource.http.processing.post.label"),modalTitle:s("datasource.http.processing.post.description"),defaultValue:Ce.post,...c,styles:t})})]}),e.jsx(o.Group,{justify:"flex-end",mt:t.spacing,children:e.jsx(W,{size:t.button.size})})]})})}function An({postSubmit:r,styles:t=V}){const{t:s}=w.useTranslation(),[n,i]=P.useState("postgresql"),l=async({type:f,key:h,config:j})=>{T.showNotification({id:"for-creating",title:s("common.state.pending"),message:s("datasource.state.adding"),loading:!0,autoClose:!1});try{console.log({type:f,key:h,config:j}),await R.datasource.create(f,h,j),T.updateNotification({id:"for-creating",title:s("common.state.successful"),message:s("datasource.state.added"),color:"green",autoClose:!0}),r()}catch(b){console.error(b),T.updateNotification({id:"for-creating",title:s("common.state.failed"),message:b.message,color:"red",autoClose:!0})}},c=f=>{i(f)},u=n==="postgresql"||n==="mysql",d=n==="http";return e.jsxs(o.Box,{mx:"auto",children:[e.jsx(o.SegmentedControl,{fullWidth:!0,mb:t.spacing,size:t.size,data:[{label:"PostgreSQL",value:"postgresql"},{label:"MySQL",value:"mysql"},{label:"HTTP",value:"http"}],value:n,onChange:c}),u&&e.jsx(_n,{styles:t}),u&&e.jsx(Dn,{submit:l,styles:t,type:n}),d&&e.jsx(En,{submit:l,styles:t})]})}function ct({onSuccess:r,styles:t=V}){const{t:s}=w.useTranslation(),[n,i]=P.useState(!1),l=()=>i(!0),c=()=>i(!1),u=()=>{r(),c()};return e.jsxs(e.Fragment,{children:[e.jsx(o.Modal,{opened:n,onClose:()=>i(!1),title:s("datasource.add"),trapFocus:!0,onDragStart:d=>{d.stopPropagation()},children:e.jsx(An,{postSubmit:u,styles:t})}),e.jsx(o.Button,{size:t.button.size,onClick:l,leftSection:e.jsx(A.IconPlaylistAdd,{size:20}),children:s("datasource.add")})]})}const Pn={http:"HTTP",mysql:"MySQL",postgresql:"PostgreSQL"},On={http:e.jsx(A.IconNetwork,{}),mysql:e.jsx(A.IconBrandMysql,{}),postgresql:e.jsx(A.IconDatabase,{})};function $n({type:r}){return e.jsxs(o.Group,{children:[e.jsx(o.ActionIcon,{variant:"subtle",size:"xs",sx:{transform:"none !important"},children:On[r]}),e.jsx(o.Text,{sx:{cusor:"default",userSelect:"none"},children:Pn[r]})]})}function dt({id:r,name:t,isProtected:s,onSuccess:n,styles:i=V}){const{t:l}=w.useTranslation(),c=ae.useModals(),u=async()=>{r&&(T.showNotification({id:"for-deleting",title:l("common.state.pending"),message:l("datasource.state.deleting"),loading:!0,autoClose:!1}),await R.datasource.delete(r),T.updateNotification({id:"for-deleting",title:l("common.state.successful"),message:l("datasource.state.deleted",{name:t}),color:"green",autoClose:!0}),n())},d=()=>c.openConfirmModal({title:l("datasource.delete.title"),children:e.jsx(o.Text,{size:i.size,children:l("datasource.delete.hint")}),labels:{confirm:l("common.actions.confirm"),cancel:l("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:u,cancelProps:{size:i.button.size},confirmProps:{color:"red",size:i.button.size}});return s?e.jsx(o.Tooltip,{withArrow:!0,events:{hover:!0,touch:!1,focus:!1},label:l("datasource.delete.cant_delete_preset"),children:e.jsx(o.Button,{size:i.button.size,color:"gray",variant:"light",leftSection:e.jsx(A.IconLock,{size:16}),sx:{transform:"none !important"},children:l("common.actions.delete")})}):e.jsx(o.Button,{size:i.button.size,color:"red",onClick:d,leftSection:e.jsx(A.IconTrash,{size:16}),children:l("common.actions.delete")})}const pt={pre:["function pre_process({ method, url, params, headers, data }, utils) {"," // your code goes here"," return { method, url, params, headers, data }","}"].join(`
30
35
  `),post:["function post_process(resp, utils) {"," return resp.data","}"].join(`
31
- `)};function or({name:e,config:t,submit:n,styles:r=le}){const{t:s}=L.useTranslation(),{control:i,handleSubmit:l}=j.useForm({defaultValues:{config:t}});return a.jsx(h.Box,{mx:"auto",children:a.jsxs("form",{onSubmit:l(n),children:[a.jsx(h.TextInput,{mb:r.spacing,size:r.size,required:!0,label:s("common.name"),value:e,readOnly:!0}),a.jsx(h.Divider,{label:s("datasource.connection_info"),labelPosition:"center"}),a.jsx(j.Controller,{name:"config.host",control:i,render:({field:u})=>a.jsx(h.TextInput,{mb:r.spacing,size:r.size,label:s("datasource.http.base_url"),sx:{flexGrow:1},...u})}),a.jsxs(h.Group,{grow:!0,children:[a.jsx(j.Controller,{name:"config.processing.pre",control:i,render:({field:u})=>a.jsx(Qe,{label:s("datasource.http.processing.pre.label"),modalTitle:s("datasource.http.processing.pre.description"),defaultValue:Ft.pre,...u,styles:r})}),a.jsx(j.Controller,{name:"config.processing.post",control:i,render:({field:u})=>a.jsx(Qe,{label:s("datasource.http.processing.post.label"),modalTitle:s("datasource.http.processing.post.description"),defaultValue:Ft.post,...u,styles:r})})]}),a.jsx(h.Group,{position:"right",mt:r.spacing,children:a.jsx(de,{size:r.button.size})})]})})}function lr({dataSource:e,postSubmit:t,styles:n=le}){const{t:r}=L.useTranslation(),s=async({config:i})=>{D.showNotification({id:"for-updating",title:r("common.state.pending"),message:r("datasource.state.updating"),loading:!0,autoClose:!1});try{console.log({config:i}),await Z.datasource.update(e.id,i),D.updateNotification({id:"for-updating",title:r("common.state.successful"),message:r("datasource.state.updated"),color:"green",autoClose:!0}),t()}catch(l){D.updateNotification({id:"for-updating",title:r("common.state.failed"),message:l.message,color:"red",autoClose:!0})}};return e.config?a.jsx(h.Box,{mx:"auto",children:a.jsx(or,{name:e.key,config:e.config,submit:s,styles:n})}):(console.error(new Error("unexpected empty config of a http datasource")),null)}function ur({dataSource:e,onSuccess:t,styles:n=le}){const{t:r}=L.useTranslation(),[s,i]=k.useState(!1),l=()=>i(!0),u=()=>i(!1),c=()=>{t(),u()};return e.is_preset?a.jsx(h.Tooltip,{withArrow:!0,events:{hover:!0,touch:!1,focus:!1},label:r("datasource.cant_edit.preset"),children:a.jsx(h.Button,{size:n.button.size,color:"gray",variant:"light",leftIcon:a.jsx(B.IconLock,{size:16}),sx:{transform:"none !important"},children:r("common.actions.edit")})}):e.type!=="http"?a.jsx(h.Tooltip,{withArrow:!0,events:{hover:!0,touch:!1,focus:!1},label:r("datasource.cant_edit.db"),children:a.jsx(h.Button,{size:n.button.size,color:"gray",variant:"light",leftIcon:a.jsx(B.IconEdit,{size:16}),sx:{transform:"none !important"},children:r("common.actions.edit")})}):a.jsxs(a.Fragment,{children:[a.jsx(h.Modal,{opened:s,onClose:()=>i(!1),title:r("datasource.edit"),trapFocus:!0,onDragStart:g=>{g.stopPropagation()},children:a.jsx(lr,{dataSource:e,postSubmit:c,styles:n})}),a.jsx(h.Button,{size:n.button.size,color:"blue",onClick:l,leftIcon:a.jsx(B.IconEdit,{size:16}),children:r("common.actions.edit")})]})}const cr=Ue("DataSourceList",({styles:e=le})=>{const{t}=L.useTranslation(),{data:n=[],loading:r,refresh:s}=me.useRequest(async()=>{const{data:i}=await Z.datasource.list();return i},{refreshDeps:[]});return a.jsxs(a.Fragment,{children:[a.jsx(h.Group,{pt:e.spacing,position:"right",children:a.jsx(Nt,{onSuccess:s})}),a.jsxs(h.Box,{mt:e.spacing,sx:{position:"relative"},children:[a.jsx(h.LoadingOverlay,{visible:r}),a.jsxs(h.Table,{horizontalSpacing:e.spacing,verticalSpacing:e.spacing,fontSize:e.size,highlightOnHover:!0,children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:t("common.type")}),a.jsx("th",{children:t("common.name")}),a.jsx("th",{children:t("common.action")})]})}),a.jsx("tbody",{children:n.map(i=>{const{id:l,key:u,type:c,is_preset:g}=i;return a.jsxs("tr",{children:[a.jsx("td",{width:200,children:a.jsx(ir,{type:c})}),a.jsx("td",{children:u}),a.jsx("td",{width:400,children:a.jsxs(h.Group,{position:"left",children:[a.jsx(ur,{dataSource:i,onSuccess:s,styles:e}),a.jsx($t,{isProtected:g,id:l,name:u,onSuccess:s,styles:e})]})})]},u)})})]})]})]})}),dr=k.forwardRef(({label:e,value:t,description:n,...r},s)=>a.jsxs(h.Stack,{spacing:2,ref:s,...r,children:[a.jsx(h.Text,{size:"sm",children:e}),a.jsx(h.Text,{size:"xs",color:"dimmed",className:"role-description",children:n})]})),pt=k.forwardRef(({styles:e,value:t,onChange:n},r)=>{const{t:s}=L.useTranslation(),{data:i=[],loading:l}=me.useRequest(async()=>(await Z.role.list()).map(c=>({label:c.id,value:c.id,description:c.description,disabled:c.id==="SUPERADMIN"})),{refreshDeps:[]});return a.jsx(h.Select,{ref:r,mb:e.spacing,size:e.size,required:!0,label:s("role.label"),itemComponent:dr,data:i,disabled:l,styles:()=>({item:{"&[data-selected]":{"&, &:hover":{".role-description":{color:"rgba(255,255,255,.8)"}}}}}),value:t,onChange:n,withinPortal:!0,maxDropdownHeight:500})}),ye={size:"sm",spacing:"md",button:{size:"xs"}};function pr({postSubmit:e,styles:t=ye,initialRoleID:n}){const{t:r}=L.useTranslation(),{control:s,handleSubmit:i}=j.useForm({defaultValues:{name:"",email:"",role_id:n,password:""}}),l=async({name:u,email:c,password:g,role_id:m})=>{try{D.showNotification({id:"for-creating",title:r("common.state.pending"),message:r("account.state.adding"),loading:!0,autoClose:!1}),await Z.account.create(u,c,g,m),D.updateNotification({id:"for-creating",title:r("common.state.successful"),message:r("account.state.added"),color:"green",autoClose:!0}),e()}catch(d){D.updateNotification({id:"for-creating",title:r("common.state.failed"),message:d.message,color:"red",autoClose:!0})}};return a.jsx(h.Box,{mx:"auto",mb:10,children:a.jsxs("form",{onSubmit:i(l),children:[a.jsx(j.Controller,{name:"name",control:s,render:({field:u})=>a.jsx(h.TextInput,{mb:t.spacing,size:t.size,required:!0,label:r("account.username"),...u})}),a.jsx(j.Controller,{name:"email",control:s,render:({field:u})=>a.jsx(h.TextInput,{mb:t.spacing,size:t.size,required:!0,label:r("account.email"),...u})}),a.jsx(j.Controller,{name:"password",control:s,render:({field:u})=>a.jsx(h.PasswordInput,{mb:t.spacing,size:t.size,required:!0,label:r("account.password"),description:r("account.password_hint"),...u})}),a.jsx(j.Controller,{name:"role_id",control:s,render:({field:u})=>a.jsx(pt,{styles:t,...u})}),a.jsx(h.Group,{position:"right",mt:t.spacing,children:a.jsx(de,{size:t.button.size})})]})})}function zt({onSuccess:e,styles:t=ye,initialRoleID:n}){const{t:r}=L.useTranslation(),[s,i]=k.useState(!1),l=()=>i(!0),u=()=>i(!1),c=()=>{e(),u()};return a.jsxs(a.Fragment,{children:[a.jsx(h.Modal,{opened:s,onClose:()=>i(!1),title:r("account.add"),trapFocus:!0,onDragStart:g=>{g.stopPropagation()},children:a.jsx(pr,{postSubmit:c,styles:t,initialRoleID:n})}),a.jsx(h.Button,{size:t.button.size,onClick:l,leftIcon:a.jsx(B.IconPlaylistAdd,{size:20}),children:r("account.add")})]})}function Pt({id:e,name:t,onSuccess:n,styles:r=ye}){const{t:s}=L.useTranslation(),i=Te.useModals(),l=async()=>{if(e){D.showNotification({id:"for-deleting",title:s("common.state.pending"),message:s("account.state.deleting"),loading:!0,autoClose:!1});try{await Z.account.delete(e),D.updateNotification({id:"for-deleting",title:s("common.state.successful"),message:s("account.state.deleted",{name:t}),color:"green",autoClose:!0}),n()}catch(c){D.updateNotification({id:"for-deleting",title:s("common.state.failed"),message:c.message,color:"red",autoClose:!0})}}},u=()=>i.openConfirmModal({title:s("account.delete"),labels:{confirm:s("common.actions.confirm"),cancel:s("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:l,cancelProps:{size:r.button.size},confirmProps:{color:"red",size:r.button.size}});return a.jsx(h.Button,{size:r.button.size,color:"red",onClick:u,leftIcon:a.jsx(B.IconTrash,{size:20}),children:s("common.actions.delete")})}function gr({id:e,name:t,email:n,role_id:r,postSubmit:s,styles:i=ye}){const{t:l}=L.useTranslation(),{control:u,handleSubmit:c,watch:g}=j.useForm({defaultValues:{name:t,email:n,role_id:r,reset_password:!1,new_password:""}}),m=async({name:f,email:y,role_id:b,reset_password:_,new_password:w})=>{try{D.showNotification({id:"for-updating",title:l("common.state.pending"),message:l("account.state.updating"),loading:!0,autoClose:!1}),await Z.account.edit({id:e,name:f.trim(),email:y.trim(),role_id:b,reset_password:_,new_password:w.trim()}),D.updateNotification({id:"for-updating",title:l("common.state.successful"),message:l("account.state.updated"),color:"green",autoClose:!0}),s()}catch(x){D.updateNotification({id:"for-updating",title:l("common.state.failed"),message:x.message,color:"red",autoClose:!0})}},[d,p]=g(["reset_password","new_password"]);return a.jsx(h.Box,{mx:"auto",mb:10,children:a.jsxs("form",{onSubmit:c(m),children:[a.jsx(j.Controller,{name:"name",control:u,render:({field:f})=>a.jsx(h.TextInput,{mb:i.spacing,size:i.size,required:!0,label:l("account.username"),...f})}),a.jsx(j.Controller,{name:"email",control:u,render:({field:f})=>a.jsx(h.TextInput,{mb:i.spacing,size:i.size,required:!0,label:l("account.email"),...f})}),a.jsx(j.Controller,{name:"role_id",control:u,render:({field:f})=>a.jsx(pt,{styles:i,...f})}),a.jsx(h.Divider,{my:20,variant:"dashed",label:"",labelPosition:"center"}),a.jsx(j.Controller,{name:"reset_password",control:u,render:({field:f})=>a.jsx(h.Switch,{mb:i.spacing,size:i.size,label:l("account.reset_password"),checked:f.value,onChange:y=>f.onChange(y.currentTarget.checked),styles:{label:{verticalAlign:"middle"}}})}),d&&a.jsx(j.Controller,{name:"new_password",control:u,render:({field:f})=>a.jsx(h.PasswordInput,{autoComplete:"off",mb:i.spacing,size:i.size,required:!0,description:l("account.password_hint"),label:l("account.new_password"),...f})}),a.jsx(h.Group,{position:"right",mt:i.spacing,children:a.jsx(de,{size:i.button.size})})]})})}function fr({account:e,onSuccess:t,styles:n=ye}){const{t:r}=L.useTranslation(),[s,i]=k.useState(!1),l=()=>i(!0),u=()=>i(!1),c=()=>{t(),u()};return a.jsxs(a.Fragment,{children:[a.jsx(h.Modal,{opened:s,onClose:()=>i(!1),title:r("account.editing_xx",{name:e.name}),trapFocus:!0,onDragStart:g=>{g.stopPropagation()},children:a.jsx(gr,{...e,postSubmit:c,styles:n})}),a.jsx(h.Button,{size:n.button.size,onClick:l,leftIcon:a.jsx(B.IconEdit,{size:20}),children:r("common.actions.edit")})]})}const hr=Ue("AccountList",({styles:e=ye})=>{var u;const{t}=L.useTranslation(),{data:n=[],loading:r,refresh:s}=me.useRequest(async()=>{const{data:c}=await Z.account.list();return c},{refreshDeps:[]}),{data:i=[],loading:l}=me.useRequest(async()=>(await Z.role.list()).map(g=>({label:g.id,value:g.id,description:g.description,disabled:g.id==="SUPERADMIN"})),{refreshDeps:[]});return a.jsxs(a.Fragment,{children:[a.jsx(h.Group,{pt:e.spacing,position:"right",children:a.jsx(zt,{onSuccess:s,initialRoleID:((u=i==null?void 0:i[0])==null?void 0:u.value)??"INACTIVE"})}),a.jsxs(h.Box,{mt:e.spacing,sx:{position:"relative"},children:[a.jsx(h.LoadingOverlay,{visible:r||l}),a.jsxs(h.Table,{horizontalSpacing:e.spacing,verticalSpacing:e.spacing,fontSize:e.size,highlightOnHover:!0,children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:t("account.username")}),a.jsx("th",{children:t("account.email")}),a.jsx("th",{children:t("role.label")}),a.jsx("th",{children:t("common.action")})]})}),a.jsx("tbody",{children:n.map(c=>{const{id:g,name:m,email:d,role_id:p}=c;return a.jsxs("tr",{children:[a.jsx("td",{width:200,children:m}),a.jsx("td",{width:200,children:d}),a.jsx("td",{width:200,children:p}),a.jsx("td",{width:200,children:a.jsxs(h.Group,{position:"left",children:[a.jsx(fr,{account:c,onSuccess:s}),a.jsx(Pt,{id:g,name:m,onSuccess:s})]})})]},g)})})]})]})]})});function mr({postSubmit:e,styles:t=ye}){const{t:n}=L.useTranslation(),{control:r,handleSubmit:s}=j.useForm({defaultValues:{name:"",password:""}}),i=async({name:l,password:u})=>{try{D.showNotification({id:"for-login",title:n("common.state.pending"),message:n("account.state.logging_in"),loading:!0,autoClose:!1});const c=await Z.account.login(l.trim(),u.trim());window.localStorage.setItem("token",c.token),D.updateNotification({id:"for-login",title:n("common.state.successful"),message:n("account.state.logged_in"),color:"green",autoClose:!0}),e(c)}catch(c){D.updateNotification({id:"for-login",title:n("common.state.failed"),message:c.message,color:"red",autoClose:!0})}};return a.jsx(h.Box,{mx:"auto",children:a.jsxs("form",{onSubmit:s(i),children:[a.jsx(j.Controller,{name:"name",control:r,render:({field:l})=>a.jsx(h.TextInput,{mb:t.spacing,size:t.size,required:!0,label:n("account.username"),...l})}),a.jsx(j.Controller,{name:"password",control:r,render:({field:l})=>a.jsx(h.PasswordInput,{mb:t.spacing,size:t.size,required:!0,label:n("account.password"),...l})}),a.jsx(h.Group,{position:"right",mt:t.spacing,children:a.jsx(de,{size:t.button.size})})]})})}const br=Ue("Login",({styles:e=ye,onSuccess:t})=>a.jsx(a.Fragment,{children:a.jsx(h.Box,{mt:e.spacing,sx:{position:"relative"},children:a.jsx(mr,{styles:e,postSubmit:t})})})),et={size:"sm",spacing:"md",button:{size:"xs"}};function vr({postSubmit:e,styles:t=et,initialRoleID:n}){const{t:r}=L.useTranslation(),{control:s,handleSubmit:i}=j.useForm({defaultValues:{name:"",role_id:n}}),l=async({name:u,role_id:c})=>{try{D.showNotification({id:"for-creating",title:r("common.state.pending"),message:r("api_key.state.adding"),loading:!0,autoClose:!1});const{app_id:g,app_secret:m}=await Z.api_key.create(u,c);D.updateNotification({id:"for-creating",title:r("common.state.successful"),message:r("api_key.state.added"),color:"green",autoClose:!0}),e(g,m)}catch(g){D.updateNotification({id:"for-creating",title:r("common.state.failed"),message:g.message,color:"red",autoClose:!0})}};return a.jsx(h.Box,{mx:"auto",mb:10,children:a.jsxs("form",{onSubmit:i(l),children:[a.jsx(j.Controller,{name:"name",control:s,render:({field:u})=>a.jsx(h.TextInput,{mb:t.spacing,size:t.size,required:!0,label:r("common.name"),...u})}),a.jsx(j.Controller,{name:"role_id",control:s,render:({field:u})=>a.jsx(pt,{styles:t,...u})}),a.jsx(h.Group,{position:"right",mt:t.spacing,children:a.jsx(de,{size:t.button.size})})]})})}function Bt({onSuccess:e,styles:t=et,initialRoleID:n}){const{t:r}=L.useTranslation(),s=Te.useModals(),[i,l]=k.useState(!1),u=()=>l(!0),c=()=>l(!1),g=(m,d)=>{c(),s.openModal({title:r("api_key.save.title"),children:a.jsxs(h.Stack,{children:[a.jsx(h.Text,{color:"dimmed",children:r("api_key.save.warn")}),a.jsx(h.TextInput,{defaultValue:m,disabled:!0,label:r("api_key.app_id"),styles:{input:{cursor:"text !important"}}}),a.jsx(h.TextInput,{defaultValue:d,disabled:!0,label:r("api_key.app_secret"),styles:{input:{cursor:"text !important"}}}),a.jsx(h.Button,{size:"sm",onClick:()=>{Te.closeAllModals()},children:r("api_key.save.saved")})]}),onClose:()=>{e()}})};return a.jsxs(a.Fragment,{children:[a.jsx(h.Modal,{opened:i,onClose:()=>l(!1),title:r("api_key.add"),trapFocus:!0,onDragStart:m=>{m.stopPropagation()},children:a.jsx(vr,{postSubmit:g,styles:t,initialRoleID:n})}),a.jsx(h.Button,{size:t.button.size,onClick:u,leftIcon:a.jsx(B.IconPlaylistAdd,{size:20}),children:r("api_key.add")})]})}function Mt({id:e,name:t,onSuccess:n,styles:r=et}){const{t:s}=L.useTranslation(),i=Te.useModals(),l=async()=>{if(e){D.showNotification({id:"for-deleting",title:s("common.state.pending"),message:s("global_sql_snippet.state.deleting"),loading:!0,autoClose:!1});try{await Z.api_key.delete(e),D.updateNotification({id:"for-deleting",title:s("common.state.successful"),message:s("global_sql_snippet.state.deleted",{name:t}),color:"green",autoClose:!0}),n()}catch(c){D.updateNotification({id:"for-deleting",title:s("common.state.failed"),message:c.message,color:"red",autoClose:!0})}}},u=()=>i.openConfirmModal({title:s("api_key.delete"),labels:{confirm:s("common.actions.confirm"),cancel:s("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:l,cancelProps:{size:r.button.size},confirmProps:{color:"red",size:r.button.size}});return a.jsx(h.Button,{size:r.button.size,color:"red",onClick:u,leftIcon:a.jsx(B.IconTrash,{size:20}),children:s("common.actions.delete")})}const yr=Ue("APIKeyList",({styles:e=et})=>{var u;const{t}=L.useTranslation(),{data:n=[],loading:r,refresh:s}=me.useRequest(async()=>{const{data:c}=await Z.api_key.list();return c},{refreshDeps:[]}),{data:i=[],loading:l}=me.useRequest(async()=>(await Z.role.list()).map(g=>({label:g.id,value:g.id,description:g.description,disabled:g.id==="SUPERADMIN"})),{refreshDeps:[]});return a.jsxs(a.Fragment,{children:[a.jsx(h.Group,{pt:e.spacing,position:"right",children:a.jsx(Bt,{onSuccess:s,initialRoleID:((u=i==null?void 0:i[0])==null?void 0:u.value)??"INACTIVE"})}),a.jsxs(h.Box,{mt:e.spacing,sx:{position:"relative"},children:[a.jsx(h.LoadingOverlay,{visible:r||l}),a.jsxs(h.Table,{horizontalSpacing:e.spacing,verticalSpacing:e.spacing,fontSize:e.size,highlightOnHover:!0,children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:t("common.name")}),a.jsx("th",{children:t("api_key.app_id")}),a.jsx("th",{children:t("role.label")}),a.jsx("th",{children:t("common.action")})]})}),a.jsx("tbody",{children:n.map(c=>{const{id:g,name:m,app_id:d,role_id:p}=c;return a.jsxs("tr",{children:[a.jsx("td",{width:200,children:m}),a.jsx("td",{width:200,children:d}),a.jsx("td",{width:200,children:p}),a.jsx("td",{width:200,children:a.jsx(h.Group,{position:"left",children:a.jsx(Mt,{id:g,name:m,onSuccess:s})})})]},g)})})]})]})]})}),Ie={size:"sm",spacing:"md",button:{size:"xs"}};function Sr({postSubmit:e,styles:t=Ie}){const{t:n}=L.useTranslation(),{control:r,handleSubmit:s}=j.useForm({defaultValues:{id:"",content:""}}),i=async l=>{try{D.showNotification({id:"for-creating",title:n("common.state.pending"),message:n("global_sql_snippet.state.adding"),loading:!0,autoClose:!1}),await Z.sql_snippet.create(l),D.updateNotification({id:"for-creating",title:n("common.state.successful"),message:n("global_sql_snippet.state.added"),color:"green",autoClose:!0}),e()}catch(u){D.updateNotification({id:"for-creating",title:n("common.state.failed"),message:u.message,color:"red",autoClose:!0})}};return a.jsx(h.Box,{mx:"auto",children:a.jsxs("form",{onSubmit:s(i),children:[a.jsx(j.Controller,{name:"id",control:r,render:({field:l})=>a.jsx(h.TextInput,{mb:t.spacing,size:t.size,required:!0,label:n("common.name"),placeholder:n("common.name_placeholder"),...l})}),a.jsx(j.Controller,{name:"content",control:r,render:({field:l})=>a.jsxs(h.Stack,{spacing:4,children:[a.jsx(h.Text,{size:14,fw:500,color:"#212529",sx:{cursor:"default"},children:n("global_sql_snippet.content")}),a.jsx(Lt,{height:"600px",...l})]})}),a.jsx(h.Group,{position:"right",mt:t.spacing,children:a.jsx(de,{size:t.button.size})})]})})}function Gt({onSuccess:e,styles:t=Ie}){const{t:n}=L.useTranslation(),[r,s]=k.useState(!1),i=()=>s(!0),l=()=>s(!1),u=()=>{l(),e()};return a.jsxs(a.Fragment,{children:[a.jsx(h.Modal,{opened:r,onClose:()=>s(!1),title:n("global_sql_snippet.add"),trapFocus:!0,onDragStart:c=>{c.stopPropagation()},size:"80vw",children:a.jsx(Sr,{postSubmit:u,styles:t})}),a.jsx(h.Button,{size:t.button.size,onClick:i,leftIcon:a.jsx(B.IconPlaylistAdd,{size:18}),children:n("global_sql_snippet.add")})]})}function xr({postSubmit:e,styles:t=Ie,id:n,content:r}){const{t:s}=L.useTranslation(),{control:i,handleSubmit:l}=j.useForm({defaultValues:{id:n,content:r}}),u=async c=>{try{D.showNotification({id:"for-updating",title:s("common.state.pending"),message:s("global_sql_snippet.state.updating"),loading:!0,autoClose:!1}),await Z.sql_snippet.update(c),D.updateNotification({id:"for-updating",title:s("common.state.successful"),message:s("global_sql_snippet.state.updated"),color:"green",autoClose:!0}),e()}catch(g){D.updateNotification({id:"for-updating",title:s("common.state.failed"),message:g.message,color:"red",autoClose:!0})}};return a.jsx(h.Box,{mx:"auto",children:a.jsxs("form",{onSubmit:l(u),children:[a.jsx(j.Controller,{name:"id",control:i,render:({field:c})=>a.jsx(h.TextInput,{mb:t.spacing,size:t.size,required:!0,label:s("common.name"),placeholder:s("common.name_placeholder"),...c})}),a.jsx(j.Controller,{name:"content",control:i,render:({field:c})=>a.jsxs(h.Stack,{spacing:4,children:[a.jsx(h.Text,{size:14,fw:500,color:"#212529",sx:{cursor:"default"},children:s("global_sql_snippet.content")}),a.jsx(Lt,{height:"600px",...c})]})}),a.jsx(h.Group,{position:"right",mt:t.spacing,children:a.jsx(de,{size:t.button.size})})]})})}function Ut({onSuccess:e,styles:t=Ie,...n}){const{t:r}=L.useTranslation(),[s,i]=k.useState(!1),l=()=>i(!0),u=()=>i(!1),c=()=>{u(),e()};return a.jsxs(a.Fragment,{children:[a.jsx(h.Modal,{opened:s,onClose:()=>i(!1),title:r("global_sql_snippet.edit"),trapFocus:!0,onDragStart:g=>{g.stopPropagation()},size:"80vw",children:a.jsx(xr,{postSubmit:c,styles:t,...n})}),a.jsx(h.Button,{size:t.button.size,onClick:l,leftIcon:a.jsx(B.IconEdit,{size:18}),children:r("common.actions.edit")})]})}/**
32
- * Prism: Lightweight, robust, elegant syntax highlighting
33
- *
34
- * @license MIT <https://opensource.org/licenses/MIT>
35
- * @author Lea Verou <https://lea.verou.me>
36
- * @namespace
37
- * @public
38
- */var gt=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,n={},r={util:{encode:function d(p){return p instanceof s?new s(p.type,d(p.content),p.alias):Array.isArray(p)?p.map(d):p.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(d){return Object.prototype.toString.call(d).slice(8,-1)},objId:function(d){return d.__id||Object.defineProperty(d,"__id",{value:++t}),d.__id},clone:function d(p,f){f=f||{};var y,b;switch(r.util.type(p)){case"Object":if(b=r.util.objId(p),f[b])return f[b];y={},f[b]=y;for(var _ in p)p.hasOwnProperty(_)&&(y[_]=d(p[_],f));return y;case"Array":return b=r.util.objId(p),f[b]?f[b]:(y=[],f[b]=y,p.forEach(function(w,x){y[x]=d(w,f)}),y);default:return p}},getLanguage:function(d){for(;d;){var p=e.exec(d.className);if(p)return p[1].toLowerCase();d=d.parentElement}return"none"},setLanguage:function(d,p){d.className=d.className.replace(RegExp(e,"gi"),""),d.classList.add("language-"+p)},isActive:function(d,p,f){for(var y="no-"+p;d;){var b=d.classList;if(b.contains(p))return!0;if(b.contains(y))return!1;d=d.parentElement}return!!f}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(d,p){var f=r.util.clone(r.languages[d]);for(var y in p)f[y]=p[y];return f},insertBefore:function(d,p,f,y){y=y||r.languages;var b=y[d],_={};for(var w in b)if(b.hasOwnProperty(w)){if(w==p)for(var x in f)f.hasOwnProperty(x)&&(_[x]=f[x]);f.hasOwnProperty(w)||(_[w]=b[w])}var T=y[d];return y[d]=_,r.languages.DFS(r.languages,function(O,H){H===T&&O!=d&&(this[O]=_)}),_},DFS:function d(p,f,y,b){b=b||{};var _=r.util.objId;for(var w in p)if(p.hasOwnProperty(w)){f.call(p,w,p[w],y||w);var x=p[w],T=r.util.type(x);T==="Object"&&!b[_(x)]?(b[_(x)]=!0,d(x,f,null,b)):T==="Array"&&!b[_(x)]&&(b[_(x)]=!0,d(x,f,w,b))}}},plugins:{},highlight:function(d,p,f){var y={code:d,grammar:p,language:f};return r.hooks.run("before-tokenize",y),y.tokens=r.tokenize(y.code,y.grammar),r.hooks.run("after-tokenize",y),s.stringify(r.util.encode(y.tokens),y.language)},tokenize:function(d,p){var f=p.rest;if(f){for(var y in f)p[y]=f[y];delete p.rest}var b=new u;return c(b,b.head,d),l(d,b,p,b.head,0),m(b)},hooks:{all:{},add:function(d,p){var f=r.hooks.all;f[d]=f[d]||[],f[d].push(p)},run:function(d,p){var f=r.hooks.all[d];if(!(!f||!f.length))for(var y=0,b;b=f[y++];)b(p)}},Token:s};function s(d,p,f,y){this.type=d,this.content=p,this.alias=f,this.length=(y||"").length|0}s.stringify=function d(p,f){if(typeof p=="string")return p;if(Array.isArray(p)){var y="";return p.forEach(function(T){y+=d(T,f)}),y}var b={type:p.type,content:d(p.content,f),tag:"span",classes:["token",p.type],attributes:{},language:f},_=p.alias;_&&(Array.isArray(_)?Array.prototype.push.apply(b.classes,_):b.classes.push(_)),r.hooks.run("wrap",b);var w="";for(var x in b.attributes)w+=" "+x+'="'+(b.attributes[x]||"").replace(/"/g,"&quot;")+'"';return"<"+b.tag+' class="'+b.classes.join(" ")+'"'+w+">"+b.content+"</"+b.tag+">"};function i(d,p,f,y){d.lastIndex=p;var b=d.exec(f);if(b&&y&&b[1]){var _=b[1].length;b.index+=_,b[0]=b[0].slice(_)}return b}function l(d,p,f,y,b,_){for(var w in f)if(!(!f.hasOwnProperty(w)||!f[w])){var x=f[w];x=Array.isArray(x)?x:[x];for(var T=0;T<x.length;++T){if(_&&_.cause==w+","+T)return;var O=x[T],H=O.inside,J=!!O.lookbehind,P=!!O.greedy,V=O.alias;if(P&&!O.pattern.global){var M=O.pattern.toString().match(/[imsuy]*$/)[0];O.pattern=RegExp(O.pattern.source,M+"g")}for(var te=O.pattern||O,z=y.next,X=b;z!==p.tail&&!(_&&X>=_.reach);X+=z.value.length,z=z.next){var q=z.value;if(p.length>d.length)return;if(!(q instanceof s)){var ee=1,U;if(P){if(U=i(te,X,d,J),!U||U.index>=d.length)break;var ue=U.index,ae=U.index+U[0].length,Q=X;for(Q+=z.value.length;ue>=Q;)z=z.next,Q+=z.value.length;if(Q-=z.value.length,X=Q,z.value instanceof s)continue;for(var ne=z;ne!==p.tail&&(Q<ae||typeof ne.value=="string");ne=ne.next)ee++,Q+=ne.value.length;ee--,q=d.slice(X,Q),U.index-=X}else if(U=i(te,0,q,J),!U)continue;var ue=U.index,ce=U[0],pe=q.slice(0,ue),xe=q.slice(ue+ce.length),se=X+q.length;_&&se>_.reach&&(_.reach=se);var ge=z.prev;pe&&(ge=c(p,ge,pe),X+=pe.length),g(p,ge,ee);var we=new s(w,H?r.tokenize(ce,H):ce,V,ce);if(z=c(p,ge,we),xe&&c(p,z,xe),ee>1){var fe={cause:w+","+T,reach:se};l(d,p,f,z.prev,X,fe),_&&fe.reach>_.reach&&(_.reach=fe.reach)}}}}}}function u(){var d={value:null,prev:null,next:null},p={value:null,prev:d,next:null};d.next=p,this.head=d,this.tail=p,this.length=0}function c(d,p,f){var y=p.next,b={value:f,prev:p,next:y};return p.next=b,y.prev=b,d.length++,b}function g(d,p,f){for(var y=p.next,b=0;b<f&&y!==d.tail;b++)y=y.next;p.next=y,y.prev=p,d.length-=b}function m(d){for(var p=[],f=d.head.next;f!==d.tail;)p.push(f.value),f=f.next;return p}return r}(),v=gt;gt.default=gt,v.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},v.languages.markup.tag.inside["attr-value"].inside.entity=v.languages.markup.entity,v.languages.markup.doctype.inside["internal-subset"].inside=v.languages.markup,v.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&amp;/,"&"))}),Object.defineProperty(v.languages.markup.tag,"addInlined",{value:function(t,n){var r={};r["language-"+n]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:v.languages[n]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var s={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};s["language-"+n]={pattern:/[\s\S]+/,inside:v.languages[n]};var i={};i[t]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return t}),"i"),lookbehind:!0,greedy:!0,inside:s},v.languages.insertBefore("markup","cdata",i)}}),Object.defineProperty(v.languages.markup.tag,"addAttribute",{value:function(e,t){v.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:v.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),v.languages.html=v.languages.markup,v.languages.mathml=v.languages.markup,v.languages.svg=v.languages.markup,v.languages.xml=v.languages.extend("markup",{}),v.languages.ssml=v.languages.xml,v.languages.atom=v.languages.xml,v.languages.rss=v.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],i=r.variable[1].inside,l=0;l<s.length;l++)i[s[l]]=e.languages.bash[s[l]];e.languages.shell=e.languages.bash}(v),v.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},v.languages.c=v.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),v.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),v.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},v.languages.c.string],char:v.languages.c.char,comment:v.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:v.languages.c}}}}),v.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete v.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,n=/\b(?!<keyword>)\w+(?:\s*\.\s*\w+)*\b/.source.replace(/<keyword>/g,function(){return t.source});e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!<keyword>)\w+/.source.replace(/<keyword>/g,function(){return t.source})),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/<mod-name>(?:\s*:\s*<mod-name>)?|:\s*<mod-name>/.source.replace(/<mod-name>/g,function(){return n})+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(v),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))}(v),function(e){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,n;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:n={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp(`\\[(?:[^[\\]"']|`+t.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[t,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=n,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var r={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},s={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:r,number:s,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:r,number:s})}(v),v.languages.javascript=v.languages.extend("clike",{"class-name":[v.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),v.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,v.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:v.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:v.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:v.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:v.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:v.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),v.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:v.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),v.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),v.languages.markup&&(v.languages.markup.tag.addInlined("script","javascript"),v.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),v.languages.js=v.languages.javascript,function(e){var t=/#(?!\{).+/,n={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:n}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:n}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:n}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(v),function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ ]+"+t.source+")?|"+t.source+"(?:[ ]+"+n.source+")?)",s=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function l(u,c){c=(c||"").replace(/m/g,"")+"m";var g=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return u});return RegExp(g,c)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return"(?:"+s+"|"+i+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:l(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:l(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:l(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:l(i),lookbehind:!0,greedy:!0},number:{pattern:l(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(v),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(m){return m=m.replace(/<inner>/g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+m+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,s=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return r}),i=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+s+i+"(?:"+s+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+s+i+")(?:"+s+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+s+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+s+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(m){["url","bold","italic","strike","code-snippet"].forEach(function(d){m!==d&&(e.languages.markdown[m].inside.content.inside[d]=e.languages.markdown[d])})}),e.hooks.add("after-tokenize",function(m){if(m.language!=="markdown"&&m.language!=="md")return;function d(p){if(!(!p||typeof p=="string"))for(var f=0,y=p.length;f<y;f++){var b=p[f];if(b.type!=="code"){d(b.content);continue}var _=b.content[1],w=b.content[3];if(_&&w&&_.type==="code-language"&&w.type==="code-block"&&typeof _.content=="string"){var x=_.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");x=(/[a-z][\w-]*/i.exec(x)||[""])[0].toLowerCase();var T="language-"+x;w.alias?typeof w.alias=="string"?w.alias=[w.alias,T]:w.alias.push(T):w.alias=[T]}}}d(m.tokens)}),e.hooks.add("wrap",function(m){if(m.type==="code-block"){for(var d="",p=0,f=m.classes.length;p<f;p++){var y=m.classes[p],b=/language-(.+)/.exec(y);if(b){d=b[1];break}}var _=e.languages[d];if(_)m.content=e.highlight(g(m.content),_,d);else if(d&&d!=="none"&&e.plugins.autoloader){var w="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);m.attributes.id=w,e.plugins.autoloader.loadLanguages(d,function(){var x=document.getElementById(w);x&&(x.innerHTML=e.highlight(x.textContent,e.languages[d],d))})}}});var l=RegExp(e.languages.markup.tag.pattern.source,"gi"),u={amp:"&",lt:"<",gt:">",quot:'"'},c=String.fromCodePoint||String.fromCharCode;function g(m){var d=m.replace(l,"");return d=d.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(p,f){if(f=f.toLowerCase(),f[0]==="#"){var y;return f[1]==="x"?y=parseInt(f.slice(2),16):y=Number(f.slice(1)),c(y)}else{var b=u[f];return b||p}}),d}e.languages.md=e.languages.markdown}(v),v.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:v.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},v.hooks.add("after-tokenize",function(t){if(t.language!=="graphql")return;var n=t.tokens.filter(function(b){return typeof b!="string"&&b.type!=="comment"&&b.type!=="scalar"}),r=0;function s(b){return n[r+b]}function i(b,_){_=_||0;for(var w=0;w<b.length;w++){var x=s(w+_);if(!x||x.type!==b[w])return!1}return!0}function l(b,_){for(var w=1,x=r;x<n.length;x++){var T=n[x],O=T.content;if(T.type==="punctuation"&&typeof O=="string"){if(b.test(O))w++;else if(_.test(O)&&(w--,w===0))return x}}return-1}function u(b,_){var w=b.alias;w?Array.isArray(w)||(b.alias=w=[w]):b.alias=w=[],w.push(_)}for(;r<n.length;){var c=n[r++];if(c.type==="keyword"&&c.content==="mutation"){var g=[];if(i(["definition-mutation","punctuation"])&&s(1).content==="("){r+=2;var m=l(/^\($/,/^\)$/);if(m===-1)continue;for(;r<m;r++){var d=s(0);d.type==="variable"&&(u(d,"variable-input"),g.push(d.content))}r=m+1}if(i(["punctuation","property-query"])&&s(0).content==="{"&&(r++,u(s(0),"property-mutation"),g.length>0)){var p=l(/^\{$/,/^\}$/);if(p===-1)continue;for(var f=r;f<p;f++){var y=n[f];y.type==="variable"&&g.indexOf(y.content)>=0&&u(y,"variable-input")}}}}}),v.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],n=t.pattern.source,r=t.inside.interpolation,s=r.inside["interpolation-punctuation"],i=r.pattern.source;function l(f,y){if(e.languages[f])return{pattern:RegExp("((?:"+y+")\\s*)"+n),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:f}}}}e.languages.javascript["template-string"]=[l("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),l("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),l("svg",/\bsvg/.source),l("markdown",/\b(?:markdown|md)/.source),l("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),l("sql",/\bsql/.source),t].filter(Boolean);function u(f,y){return"___"+y.toUpperCase()+"_"+f+"___"}function c(f,y,b){var _={code:f,grammar:y,language:b};return e.hooks.run("before-tokenize",_),_.tokens=e.tokenize(_.code,_.grammar),e.hooks.run("after-tokenize",_),_.tokens}function g(f){var y={};y["interpolation-punctuation"]=s;var b=e.tokenize(f,y);if(b.length===3){var _=[1,1];_.push.apply(_,c(b[1],e.languages.javascript,"javascript")),b.splice.apply(b,_)}return new e.Token("interpolation",b,r.alias,f)}function m(f,y,b){var _=e.tokenize(f,{interpolation:{pattern:RegExp(i),lookbehind:!0}}),w=0,x={},T=_.map(function(P){if(typeof P=="string")return P;for(var V=P.content,M;f.indexOf(M=u(w++,b))!==-1;);return x[M]=V,M}).join(""),O=c(T,y,b),H=Object.keys(x);w=0;function J(P){for(var V=0;V<P.length;V++){if(w>=H.length)return;var M=P[V];if(typeof M=="string"||typeof M.content=="string"){var te=H[w],z=typeof M=="string"?M:M.content,X=z.indexOf(te);if(X!==-1){++w;var q=z.substring(0,X),ee=g(x[te]),U=z.substring(X+te.length),ae=[];if(q&&ae.push(q),ae.push(ee),U){var Q=[U];J(Q),ae.push.apply(ae,Q)}typeof M=="string"?(P.splice.apply(P,[V,1].concat(ae)),V+=ae.length-1):M.content=ae}}else{var ne=M.content;Array.isArray(ne)?J(ne):J([ne])}}}return J(O),new e.Token(b,O,"language-"+b,f)}var d={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};e.hooks.add("after-tokenize",function(f){if(!(f.language in d))return;function y(b){for(var _=0,w=b.length;_<w;_++){var x=b[_];if(typeof x!="string"){var T=x.content;if(!Array.isArray(T)){typeof T!="string"&&y([T]);continue}if(x.type==="template-string"){var O=T[1];if(T.length===3&&typeof O!="string"&&O.type==="embedded-code"){var H=p(O),J=O.alias,P=Array.isArray(J)?J[0]:J,V=e.languages[P];if(!V)continue;T[1]=m(H,V,P)}}else y(T)}}}y(f.tokens)});function p(f){return typeof f=="string"?f:Array.isArray(f)?f.map(p).join(""):p(f.content)}}(v),function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(v),function(e){e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]});function t(u,c){return RegExp(u.replace(/<ID>/g,function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source}),c)}e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:<ID>(?:\s*,\s*(?:\*\s*as\s+<ID>|\{[^{}]*\}))?|\*\s*as\s+<ID>|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+<ID>)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?<ID>/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var n=["function","function-variable","method","method-variable","property-access"],r=0;r<n.length;r++){var s=n[r],i=e.languages.javascript[s];e.util.type(i)==="RegExp"&&(i=e.languages.javascript[s]={pattern:i});var l=i.inside||{};i.inside=l,l["maybe-class-name"]=/^[A-Z][\s\S]*/}}(v),function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,s=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function i(c,g){return c=c.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return s}),RegExp(c,g)}s=i(s).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=i(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:i(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:i(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var l=function(c){return c?typeof c=="string"?c:typeof c.content=="string"?c.content:c.content.map(l).join(""):""},u=function(c){for(var g=[],m=0;m<c.length;m++){var d=c[m],p=!1;if(typeof d!="string"&&(d.type==="tag"&&d.content[0]&&d.content[0].type==="tag"?d.content[0].content[0].content==="</"?g.length>0&&g[g.length-1].tagName===l(d.content[0].content[1])&&g.pop():d.content[d.content.length-1].content==="/>"||g.push({tagName:l(d.content[0].content[1]),openedBraces:0}):g.length>0&&d.type==="punctuation"&&d.content==="{"?g[g.length-1].openedBraces++:g.length>0&&g[g.length-1].openedBraces>0&&d.type==="punctuation"&&d.content==="}"?g[g.length-1].openedBraces--:p=!0),(p||typeof d=="string")&&g.length>0&&g[g.length-1].openedBraces===0){var f=l(d);m<c.length-1&&(typeof c[m+1]=="string"||c[m+1].type==="plain-text")&&(f+=l(c[m+1]),c.splice(m+1,1)),m>0&&(typeof c[m-1]=="string"||c[m-1].type==="plain-text")&&(f=l(c[m-1])+f,c.splice(m-1,1),m--),c[m]=new e.Token("plain-text",f,null,f)}d.content&&typeof d.content!="string"&&u(d.content)}};e.hooks.add("after-tokenize",function(c){c.language!=="jsx"&&c.language!=="tsx"||u(c.tokens)})}(v),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach(function(n){var r=t[n],s=[];/^\w+$/.test(n)||s.push(/\w+/.exec(n)[0]),n==="diff"&&s.push("bold"),e.languages.diff[n]={pattern:RegExp("^(?:["+r+`].*(?:\r
39
- ?|
40
- |(?![\\s\\S])))+`,"m"),alias:s,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(n)[0]}}}}),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(v),v.languages.git={comment:/^#.*/m,deleted:/^[-–].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},v.languages.go=v.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),v.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete v.languages.go["class-name"],function(e){function t(n,r){return"___"+n.toUpperCase()+r+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,r,s,i){if(n.language===r){var l=n.tokenStack=[];n.code=n.code.replace(s,function(u){if(typeof i=="function"&&!i(u))return u;for(var c=l.length,g;n.code.indexOf(g=t(r,c))!==-1;)++c;return l[c]=u,g}),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,r){if(n.language!==r||!n.tokenStack)return;n.grammar=e.languages[r];var s=0,i=Object.keys(n.tokenStack);function l(u){for(var c=0;c<u.length&&!(s>=i.length);c++){var g=u[c];if(typeof g=="string"||g.content&&typeof g.content=="string"){var m=i[s],d=n.tokenStack[m],p=typeof g=="string"?g:g.content,f=t(r,m),y=p.indexOf(f);if(y>-1){++s;var b=p.substring(0,y),_=new e.Token(r,e.tokenize(d,n.grammar),"language-"+r,d),w=p.substring(y+f.length),x=[];b&&x.push.apply(x,l([b])),x.push(_),w&&x.push.apply(x,l([w])),typeof g=="string"?u.splice.apply(u,[c,1].concat(x)):g.content=x}}else g.content&&l(g.content)}return u}l(n.tokens)}}})}(v),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",function(t){var n=/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g;e.languages["markup-templating"].buildPlaceholders(t,"handlebars",n)}),e.hooks.add("after-tokenize",function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")}),e.languages.hbs=e.languages.handlebars}(v),v.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},v.languages.webmanifest=v.languages.json,v.languages.less=v.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),v.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),v.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},v.languages.objectivec=v.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete v.languages.objectivec["class-name"],v.languages.objc=v.languages.objectivec,v.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},v.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},v.languages.python["string-interpolation"].inside.interpolation.inside.rest=v.languages.python,v.languages.py=v.languages.python,v.languages.reason=v.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),v.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete v.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,n=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:n}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:n,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(v),v.languages.scss=v.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),v.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),v.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),v.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),v.languages.scss.atrule.inside.rest=v.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},n={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},r={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:n,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:n,punctuation:/[{}()\[\];:,]/};r.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:r}},r.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:r}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:r}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:r}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:r}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:r.interpolation}},rest:r}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:r.interpolation,comment:r.comment,punctuation:/[{},]/}},func:r.func,string:r.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:r.interpolation,punctuation:/[{}()\[\];:.]/}}(v),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0}(v),v.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};var _r={plain:{backgroundColor:"#2a2734",color:"#9a86fd"},styles:[{types:["comment","prolog","doctype","cdata","punctuation"],style:{color:"#6c6783"}},{types:["namespace"],style:{opacity:.7}},{types:["tag","operator","number"],style:{color:"#e09142"}},{types:["property","function"],style:{color:"#9a86fd"}},{types:["tag-id","selector","atrule-id"],style:{color:"#eeebff"}},{types:["attr-name"],style:{color:"#c4b9fe"}},{types:["boolean","string","entity","url","attr-value","keyword","control","directive","unit","statement","regex","atrule","placeholder","variable"],style:{color:"#ffcc99"}},{types:["deleted"],style:{textDecorationLine:"line-through"}},{types:["inserted"],style:{textDecorationLine:"underline"}},{types:["italic"],style:{fontStyle:"italic"}},{types:["important","bold"],style:{fontWeight:"bold"}},{types:["important"],style:{color:"#c4b9fe"}}]},wr={Prism:v,theme:_r};function qe(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function Se(){return Se=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Se.apply(this,arguments)}var Er=/\r\n|\r|\n/,qt=function(e){e.length===0?e.push({types:["plain"],content:`
41
- `,empty:!0}):e.length===1&&e[0].content===""&&(e[0].content=`
42
- `,e[0].empty=!0)},Yt=function(e,t){var n=e.length;return n>0&&e[n-1]===t?e:e.concat(t)},Tr=function(e){for(var t=[[]],n=[e],r=[0],s=[e.length],i=0,l=0,u=[],c=[u];l>-1;){for(;(i=r[l]++)<s[l];){var g=void 0,m=t[l],d=n[l],p=d[i];if(typeof p=="string"?(m=l>0?m:["plain"],g=p):(m=Yt(m,p.type),p.alias&&(m=Yt(m,p.alias)),g=p.content),typeof g!="string"){l++,t.push(m),n.push(g),r.push(0),s.push(g.length);continue}var f=g.split(Er),y=f.length;u.push({types:m,content:f[0]});for(var b=1;b<y;b++)qt(u),c.push(u=[]),u.push({types:m,content:f[b]})}l--,t.pop(),n.pop(),r.pop(),s.pop()}return qt(u),c},Ar=function(e,t){var n=e.plain,r=Object.create(null),s=e.styles.reduce(function(i,l){var u=l.languages,c=l.style;return u&&!u.includes(t)||l.types.forEach(function(g){var m=Se({},i[g],c);i[g]=m}),i},r);return s.root=n,s.plain=Se({},n,{backgroundColor:null}),s};function Ht(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)===-1&&(n[r]=e[r]);return n}var kr=function(e){function t(){for(var n=this,r=[],s=arguments.length;s--;)r[s]=arguments[s];e.apply(this,r),qe(this,"getThemeDict",function(i){if(n.themeDict!==void 0&&i.theme===n.prevTheme&&i.language===n.prevLanguage)return n.themeDict;n.prevTheme=i.theme,n.prevLanguage=i.language;var l=i.theme?Ar(i.theme,i.language):void 0;return n.themeDict=l}),qe(this,"getLineProps",function(i){var l=i.key,u=i.className,c=i.style,g=Ht(i,["key","className","style","line"]),m=g,d=Se({},m,{className:"token-line",style:void 0,key:void 0}),p=n.getThemeDict(n.props);return p!==void 0&&(d.style=p.plain),c!==void 0&&(d.style=d.style!==void 0?Se({},d.style,c):c),l!==void 0&&(d.key=l),u&&(d.className+=" "+u),d}),qe(this,"getStyleForToken",function(i){var l=i.types,u=i.empty,c=l.length,g=n.getThemeDict(n.props);if(g!==void 0){{if(c===1&&l[0]==="plain")return u?{display:"inline-block"}:void 0;if(c===1&&!u)return g[l[0]]}var m=u?{display:"inline-block"}:{},d=l.map(function(p){return g[p]});return Object.assign.apply(Object,[m].concat(d))}}),qe(this,"getTokenProps",function(i){var l=i.key,u=i.className,c=i.style,g=i.token,m=Ht(i,["key","className","style","token"]),d=m,p=Se({},d,{className:"token "+g.types.join(" "),children:g.content,style:n.getStyleForToken(g),key:void 0});return c!==void 0&&(p.style=p.style!==void 0?Se({},p.style,c):c),l!==void 0&&(p.key=l),u&&(p.className+=" "+u),p}),qe(this,"tokenize",function(i,l,u,c){var g={code:l,grammar:u,language:c,tokens:[]};i.hooks.run("before-tokenize",g);var m=g.tokens=i.tokenize(g.code,g.grammar,g.language);return i.hooks.run("after-tokenize",g),m})}return e&&(t.__proto__=e),t.prototype=Object.create(e&&e.prototype),t.prototype.constructor=t,t.prototype.render=function(){var r=this.props,s=r.Prism,i=r.language,l=r.code,u=r.children,c=this.getThemeDict(this.props),g=s.languages[i],m=g!==void 0?this.tokenize(s,l,g,i):[l],d=Tr(m);return u({tokens:d,className:"prism-code language-"+i,style:c!==void 0?c.root:{},getLineProps:this.getLineProps,getTokenProps:this.getTokenProps})},t}(k.Component);const Cr=kr;function Vt({copied:e}){return k.createElement("svg",{viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{width:"1rem",height:"1rem"}},e?k.createElement("path",{d:"M11.4669 3.72684C11.7558 3.91574 11.8369 4.30308 11.648 4.59198L7.39799 11.092C7.29783 11.2452 7.13556 11.3467 6.95402 11.3699C6.77247 11.3931 6.58989 11.3355 6.45446 11.2124L3.70446 8.71241C3.44905 8.48022 3.43023 8.08494 3.66242 7.82953C3.89461 7.57412 4.28989 7.55529 4.5453 7.78749L6.75292 9.79441L10.6018 3.90792C10.7907 3.61902 11.178 3.53795 11.4669 3.72684Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}):k.createElement("path",{d:"M5 2V1H10V2H5ZM4.75 0C4.33579 0 4 0.335786 4 0.75V1H3.5C2.67157 1 2 1.67157 2 2.5V12.5C2 13.3284 2.67157 14 3.5 14H11.5C12.3284 14 13 13.3284 13 12.5V2.5C13 1.67157 12.3284 1 11.5 1H11V0.75C11 0.335786 10.6642 0 10.25 0H4.75ZM11 2V2.25C11 2.66421 10.6642 3 10.25 3H4.75C4.33579 3 4 2.66421 4 2.25V2H3.5C3.22386 2 3 2.22386 3 2.5V12.5C3 12.7761 3.22386 13 3.5 13H11.5C11.7761 13 12 12.7761 12 12.5V2.5C12 2.22386 11.7761 2 11.5 2H11Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"}))}Vt.displayName="@mantine/prism/CopyIcon";const jr=e=>({plain:{color:e.colors.gray[4],backgroundColor:e.colors.dark[8]},styles:[{types:["comment"],style:{color:e.colors.gray[6]}},{types:["string","inserted","selector","atrule"],style:{color:e.colors.teal[4]}},{types:["number"],style:{color:e.colors.blue[4]}},{types:["builtin","char","constant","function"],style:{color:e.colors.orange[5]}},{types:["punctuation"],style:{color:e.colors.gray[5]}},{types:["variable"],style:{color:e.colors.gray[5]}},{types:["class-name","attr-name"],style:{color:e.colors.yellow[5]}},{types:["tag","deleted"],style:{color:e.colors.red[6]}},{types:["operator"],style:{color:e.colors.gray[5]}},{types:["boolean"],style:{color:e.colors.red[6]}},{types:["keyword"],style:{color:e.colors.indigo[3]}},{types:["doctype"],style:{color:e.colors.gray[5]}},{types:["url"],style:{color:e.colors.gray[5]}}]}),Or=e=>({plain:{color:e.colors.gray[9],backgroundColor:e.fn.rgba(e.colors.gray[0],.65)},styles:[{types:["comment"],style:{color:e.colors.gray[6]}},{types:["string","inserted"],style:{color:e.colors.indigo[9]}},{types:["number"],style:{color:e.colors.blue[7]}},{types:["builtin","char","constant","function","selector","atrule"],style:{color:e.colors.lime[9]}},{types:["punctuation"],style:{color:e.colors.gray[7]}},{types:["variable"],style:{color:e.colors.violet[9]}},{types:["attr-name"],style:{color:e.colors.green[9]}},{types:["class-name"],style:{color:e.colors.red[9]}},{types:["tag","deleted"],style:{color:e.colors.violet[9]}},{types:["operator"],style:{color:e.colors.red[9]}},{types:["boolean"],style:{color:e.colors.red[9]}},{types:["keyword"],style:{color:e.colors.red[9]}},{types:["doctype"],style:{color:e.colors.gray[7]}},{types:["url"],style:{color:e.colors.gray[7]}}]}),Ir=(e,t)=>t==="dark"?jr(e):Or(e);var Dr=h.createStyles((e,{colorScheme:t,native:n,maxLineSize:r,radius:s})=>({scrollArea:{},root:{position:"relative"},code:{boxSizing:"border-box",position:"relative",fontFamily:e.fontFamilyMonospace,lineHeight:1.7,fontSize:h.rem(13),overflowX:n?"auto":void 0,borderRadius:e.fn.radius(s),padding:`${e.spacing.sm} 0`,"&.mantine-Prism-code":{marginTop:0,marginBottom:0}},copy:{position:"absolute",top:e.spacing.xs,right:e.dir==="ltr"?e.spacing.xs:"unset",left:e.dir==="rtl"?e.spacing.xs:"unset",zIndex:2,"&, &:hover":{backgroundColor:t==="dark"?e.colors.dark[8]:e.colors.gray[0]}},line:{display:"flex",width:"100%",padding:`0 ${e.spacing.md}`},lineNumber:{color:t==="dark"?e.colors.dark[4]:e.colors.gray[4],textAlign:"right",width:`calc(8 * ${h.rem(r)})`,marginRight:e.dir==="ltr"?e.spacing.xs:void 0,marginLeft:e.dir==="rtl"?e.spacing.xs:void 0,userSelect:"none"},lineContent:{width:"100%"}}));const Rr=Dr;var Lr=Object.defineProperty,Nr=Object.defineProperties,$r=Object.getOwnPropertyDescriptors,tt=Object.getOwnPropertySymbols,Wt=Object.prototype.hasOwnProperty,Kt=Object.prototype.propertyIsEnumerable,Zt=(e,t,n)=>t in e?Lr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,De=(e,t)=>{for(var n in t||(t={}))Wt.call(t,n)&&Zt(e,n,t[n]);if(tt)for(var n of tt(t))Kt.call(t,n)&&Zt(e,n,t[n]);return e},Ye=(e,t)=>Nr(e,$r(t)),Fr=(e,t)=>{var n={};for(var r in e)Wt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&tt)for(var r of tt(e))t.indexOf(r)<0&&Kt.call(e,r)&&(n[r]=e[r]);return n};const zr={noCopy:!1,copyLabel:"Copy code",copiedLabel:"Copied",withLineNumbers:!1,trim:!0,highlightLines:{},scrollAreaComponent:h.ScrollArea,getPrismTheme:Ir},ft=k.forwardRef((e,t)=>{const n=h.useComponentDefaultProps("Prism",zr,e),{className:r,children:s,language:i,noCopy:l,classNames:u,styles:c,copyLabel:g,copiedLabel:m,withLineNumbers:d,highlightLines:p,scrollAreaComponent:f,colorScheme:y,trim:b,unstyled:_,radius:w,getPrismTheme:x,variant:T}=n,O=Fr(n,["className","children","language","noCopy","classNames","styles","copyLabel","copiedLabel","withLineNumbers","highlightLines","scrollAreaComponent","colorScheme","trim","unstyled","radius","getPrismTheme","variant"]),H=b&&typeof s=="string"?s.trim():s,J=H.split(`
43
- `).length.toString().length,P=h.useMantineTheme(),V=_n.useClipboard(),M=y||P.colorScheme,{classes:te,cx:z}=Rr({colorScheme:M,native:f!==h.ScrollArea,maxLineSize:J,radius:w},{name:"Prism",classNames:u,styles:c,unstyled:_,variant:T});return k.createElement(h.Box,Ye(De({className:z(te.root,r),ref:t},O),{translate:"no"}),!l&&k.createElement(h.Tooltip,{label:V.copied?m:g,position:"left",withArrow:!0,arrowSize:6,offset:6,color:V.copied?"teal":void 0,unstyled:_},k.createElement(h.ActionIcon,{className:te.copy,"aria-label":V.copied?m:g,onClick:()=>V.copy(H),unstyled:_},k.createElement(Vt,{copied:V.copied}))),k.createElement(Cr,Ye(De({},wr),{theme:x(P,M),code:H,language:i}),({className:X,style:q,tokens:ee,getLineProps:U,getTokenProps:ae})=>k.createElement(f,{className:te.scrollArea,dir:"ltr"},k.createElement("pre",{className:z(te.code,X),style:q,dir:"ltr"},ee.map((Q,ne)=>{var ue,ce,pe,xe;if(ne===ee.length-1&&Q.length===1&&Q[0].content===`
44
- `)return null;const se=ne+1,ge=U({line:Q,key:ne}),we=se in p,fe=M==="dark"?P.fn.rgba(P.fn.themeColor((ue=p[se])==null?void 0:ue.color,9),.25):P.fn.themeColor((ce=p[se])==null?void 0:ce.color,0);return k.createElement("div",Ye(De({},ge),{className:z(te.line,ge.className),style:De({},we?{backgroundColor:fe}:null)}),d&&k.createElement("div",{className:te.lineNumber,style:{color:we?P.fn.themeColor((pe=p[se])==null?void 0:pe.color,M==="dark"?5:8):void 0}},((xe=p[se])==null?void 0:xe.label)||se),k.createElement("div",{className:te.lineContent},Q.map((Ve,Re)=>{var Le,Ee;const Ne=ae({token:Ve,key:Re});return k.createElement("span",Ye(De({},Ne),{style:Ye(De({},Ne.style),{color:we?P.fn.themeColor((Le=p[se])==null?void 0:Le.color,M==="dark"?5:8):(Ee=Ne==null?void 0:Ne.style)==null?void 0:Ee.color})}))})))}).filter(Boolean)))))});ft.displayName="@mantine/prism/Prism";var Pr=h.createStyles((e,{radius:t})=>({tab:{paddingLeft:e.spacing.sm,paddingRight:e.spacing.sm,height:h.rem(34),border:`${h.rem(1)} solid ${e.colorScheme==="dark"?e.colors.dark[5]:e.colors.gray[3]}`,borderBottom:0,fontSize:e.fontSizes.sm,color:e.colorScheme==="dark"?e.colors.dark[1]:e.colors.gray[7],backgroundColor:e.colorScheme==="dark"?e.colors.dark[6]:e.white,borderRadius:0,"&:first-of-type":{borderTopLeftRadius:e.radius.sm},"&:not(:first-of-type)":{borderLeft:0},"&:last-of-type":{borderTopRightRadius:e.radius.sm},"&:hover":{backgroundColor:e.colorScheme==="dark"?e.colors.dark[7]:e.colors.gray[0]},"&[data-active]":{color:e.colorScheme==="dark"?e.white:e.black,backgroundColor:e.colorScheme==="dark"?e.colors.dark[8]:e.fn.rgba(e.colors.gray[0],.65),"&::before":{backgroundColor:"transparent"}}},prism:{borderRadius:e.fn.radius(t),borderTopRightRadius:0,borderTopLeftRadius:0,border:`${h.rem(1)} solid ${e.colorScheme==="dark"?e.colors.dark[4]:e.colors.gray[3]}`,borderTop:0,overflow:"hidden"},code:{borderTopRightRadius:0,borderTopLeftRadius:0,border:0}}));const Xt=Pr;var Br=Object.defineProperty,Mr=Object.defineProperties,Gr=Object.getOwnPropertyDescriptors,nt=Object.getOwnPropertySymbols,Qt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,en=(e,t,n)=>t in e?Br(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,tn=(e,t)=>{for(var n in t||(t={}))Qt.call(t,n)&&en(e,n,t[n]);if(nt)for(var n of nt(t))Jt.call(t,n)&&en(e,n,t[n]);return e},Ur=(e,t)=>Mr(e,Gr(t)),qr=(e,t)=>{var n={};for(var r in e)Qt.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&nt)for(var r of nt(e))t.indexOf(r)<0&&Jt.call(e,r)&&(n[r]=e[r]);return n};function Yr(e){const{classes:t}=Xt({radius:e.radius});return k.createElement(h.Tabs,Ur(tn({},e),{variant:"outline",classNames:{tab:t.tab},translate:"no"}))}function Hr(e){var t=e,{language:n,children:r,radius:s,noCopy:i,copyLabel:l,copiedLabel:u,withLineNumbers:c,highlightLines:g,scrollAreaComponent:m,trim:d,getPrismTheme:p,colorScheme:f,variant:y}=t,b=qr(t,["language","children","radius","noCopy","copyLabel","copiedLabel","withLineNumbers","highlightLines","scrollAreaComponent","trim","getPrismTheme","colorScheme","variant"]);const{classes:_}=Xt({radius:s});return k.createElement(h.Tabs.Panel,tn({},b),k.createElement(ft,{language:n,classNames:{root:_.prism,code:_.code},radius:s,noCopy:i,copyLabel:l,copiedLabel:u,withLineNumbers:c,highlightLines:g,scrollAreaComponent:m,trim:d,getPrismTheme:p,colorScheme:f,variant:y},r))}const He=ft;He.Tabs=Yr,He.Tab=h.Tabs.Tab,He.TabsList=h.Tabs.List,He.Panel=Hr;function nn({id:e,onSuccess:t,styles:n=Ie}){const{t:r}=L.useTranslation(),s=Te.useModals(),i=async()=>{if(e){D.showNotification({id:"for-deleting",title:r("common.state.pending"),message:r("global_sql_snippet.state.deleting"),loading:!0,autoClose:!1});try{await Z.sql_snippet.delete(e),D.updateNotification({id:"for-deleting",title:r("common.state.successful"),message:r("global_sql_snippet.state.deleted",{name:e}),color:"green",autoClose:!0}),t()}catch(u){D.updateNotification({id:"for-deleting",title:r("common.state.failed"),message:u.message,color:"red",autoClose:!0})}}},l=()=>s.openConfirmModal({title:r("global_sql_snippet.delete"),labels:{confirm:r("common.actions.confirm"),cancel:r("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:i,cancelProps:{size:n.button.size},confirmProps:{color:"red",size:n.button.size}});return a.jsx(h.Button,{size:n.button.size,color:"red",onClick:l,leftIcon:a.jsx(B.IconTrash,{size:20}),children:r("common.actions.edit")})}function Vr({content:e}){return a.jsxs(h.HoverCard,{width:"60vw",shadow:"md",children:[a.jsx(h.HoverCard.Target,{children:a.jsx(h.ActionIcon,{size:16,children:a.jsx(B.IconEye,{})})}),a.jsx(h.HoverCard.Dropdown,{children:a.jsx(He,{language:"sql",noCopy:!0,withLineNumbers:!0,children:e})})]})}const Wr=Ue("DataSourceList",({styles:e=Ie})=>{const{t}=L.useTranslation(),{data:n=[],loading:r,refresh:s}=me.useRequest(async()=>{const{data:i}=await Z.sql_snippet.list({pagination:{page:1,pagesize:10}});return i},{refreshDeps:[]});return a.jsxs(a.Fragment,{children:[a.jsxs(h.Group,{pt:e.spacing,position:"apart",children:[a.jsx(h.Alert,{children:t("global_sql_snippet.description")}),a.jsx(Gt,{onSuccess:s})]}),a.jsxs(h.Box,{mt:e.spacing,sx:{position:"relative"},children:[a.jsx(h.LoadingOverlay,{visible:r}),a.jsxs(h.Table,{horizontalSpacing:e.spacing,verticalSpacing:e.spacing,fontSize:e.size,highlightOnHover:!0,children:[a.jsx("thead",{children:a.jsxs("tr",{children:[a.jsx("th",{children:t("common.name")}),a.jsx("th",{}),a.jsx("th",{children:t("common.created_at")}),a.jsx("th",{children:t("common.updated_at")}),a.jsx("th",{children:t("common.action")})]})}),a.jsx("tbody",{children:n.map(i=>{const{id:l,content:u,create_time:c,update_time:g}=i;return a.jsxs("tr",{children:[a.jsx("td",{children:l}),a.jsx("td",{width:50,children:a.jsx(Vr,{content:u})}),a.jsx("td",{width:200,children:c}),a.jsx("td",{width:200,children:g}),a.jsx("td",{width:400,children:a.jsxs(h.Group,{position:"left",children:[a.jsx(Ut,{...i,onSuccess:s}),a.jsx(nn,{id:l,onSuccess:s})]})})]},l)})})]})]})]})}),Kr=()=>Promise.resolve().then(()=>Zr).then(({version:e})=>(console.log(`[@devtable/dashboard] version: ${e}`),e)),Zr=Object.freeze(Object.defineProperty({__proto__:null,version:"13.42.12"},Symbol.toStringTag,{value:"Module"}));C.APIClient=G,C.APIKeyList=yr,C.AccountList=hr,C.AddAPIKey=Bt,C.AddAccount=zt,C.AddDataSource=Nt,C.AddSQLSnippet=Gt,C.DataSourceList=cr,C.DefaultApiClient=wt,C.DeleteAPIKey=Mt,C.DeleteAccount=Pt,C.DeleteDataSource=$t,C.DeleteSQLSnippet=nn,C.FacadeApiClient=Et,C.Login=br,C.SQLSnippetList=Wr,C.UpdateSQLSnippet=Ut,C.configureAPIClient=At,C.facadeApiClient=Tt,C.getVersion=Kr,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});
36
+ `)};function Mn({name:r,config:t,submit:s,styles:n=V}){const{t:i}=w.useTranslation(),{control:l,handleSubmit:c}=v.useForm({defaultValues:{config:t}});return e.jsx(o.Box,{mx:"auto",children:e.jsxs("form",{onSubmit:c(s),children:[e.jsx(o.TextInput,{mb:n.spacing,size:n.size,required:!0,label:i("common.name"),value:r,readOnly:!0}),e.jsx(o.Divider,{label:i("datasource.connection_info"),labelPosition:"center"}),e.jsx(v.Controller,{name:"config.host",control:l,render:({field:u})=>e.jsx(o.TextInput,{mb:n.spacing,size:n.size,label:i("datasource.http.base_url"),sx:{flexGrow:1},...u})}),e.jsxs(o.Group,{grow:!0,children:[e.jsx(v.Controller,{name:"config.processing.pre",control:l,render:({field:u})=>e.jsx(ye,{label:i("datasource.http.processing.pre.label"),modalTitle:i("datasource.http.processing.pre.description"),defaultValue:pt.pre,...u,styles:n})}),e.jsx(v.Controller,{name:"config.processing.post",control:l,render:({field:u})=>e.jsx(ye,{label:i("datasource.http.processing.post.label"),modalTitle:i("datasource.http.processing.post.description"),defaultValue:pt.post,...u,styles:n})})]}),e.jsx(o.Group,{justify:"flex-end",mt:n.spacing,children:e.jsx(W,{size:n.button.size})})]})})}function In({dataSource:r,postSubmit:t,styles:s=V}){const{t:n}=w.useTranslation(),i=async({config:l})=>{T.showNotification({id:"for-updating",title:n("common.state.pending"),message:n("datasource.state.updating"),loading:!0,autoClose:!1});try{console.log({config:l}),await R.datasource.update(r.id,l),T.updateNotification({id:"for-updating",title:n("common.state.successful"),message:n("datasource.state.updated"),color:"green",autoClose:!0}),t()}catch(c){T.updateNotification({id:"for-updating",title:n("common.state.failed"),message:c.message,color:"red",autoClose:!0})}};return r.config?e.jsx(o.Box,{mx:"auto",children:e.jsx(Mn,{name:r.key,config:r.config,submit:i,styles:s})}):(console.error(new Error("unexpected empty config of a http datasource")),null)}function Rn({dataSource:r,onSuccess:t,styles:s=V}){const{t:n}=w.useTranslation(),[i,l]=P.useState(!1),c=()=>l(!0),u=()=>l(!1),d=()=>{t(),u()};return r.is_preset?e.jsx(o.Tooltip,{withArrow:!0,events:{hover:!0,touch:!1,focus:!1},label:n("datasource.cant_edit.preset"),children:e.jsx(o.Button,{size:s.button.size,color:"gray",variant:"light",leftSection:e.jsx(A.IconLock,{size:16}),sx:{transform:"none !important"},children:n("common.actions.edit")})}):r.type!=="http"?e.jsx(o.Tooltip,{withArrow:!0,events:{hover:!0,touch:!1,focus:!1},label:n("datasource.cant_edit.db"),children:e.jsx(o.Button,{size:s.button.size,color:"gray",variant:"light",leftSection:e.jsx(A.IconEdit,{size:16}),sx:{transform:"none !important"},children:n("common.actions.edit")})}):e.jsxs(e.Fragment,{children:[e.jsx(o.Modal,{opened:i,onClose:()=>l(!1),title:n("datasource.edit"),trapFocus:!0,onDragStart:f=>{f.stopPropagation()},children:e.jsx(In,{dataSource:r,postSubmit:d,styles:s})}),e.jsx(o.Button,{size:s.button.size,color:"blue",onClick:c,leftSection:e.jsx(A.IconEdit,{size:16}),children:n("common.actions.edit")})]})}const Ln=be("DataSourceList",({styles:r=V})=>{const{t}=w.useTranslation(),{data:s=[],loading:n,refresh:i}=K.useRequest(async()=>{const{data:l}=await R.datasource.list();return l},{refreshDeps:[]});return e.jsxs(e.Fragment,{children:[e.jsx(o.Group,{pt:r.spacing,justify:"flex-end",children:e.jsx(ct,{onSuccess:i})}),e.jsxs(o.Box,{mt:r.spacing,sx:{position:"relative"},children:[e.jsx(o.LoadingOverlay,{visible:n}),e.jsxs(o.Table,{horizontalSpacing:r.spacing,verticalSpacing:r.spacing,fz:r.size,highlightOnHover:!0,children:[e.jsx(o.Table.Thead,{children:e.jsxs(o.Table.Tr,{children:[e.jsx(o.Table.Th,{children:t("common.type")}),e.jsx(o.Table.Th,{children:t("common.name")}),e.jsx(o.Table.Th,{children:t("common.action")})]})}),e.jsx(o.Table.Tbody,{children:s.map(l=>{const{id:c,key:u,type:d,is_preset:f}=l;return e.jsxs(o.Table.Tr,{children:[e.jsx(o.Table.Td,{width:200,children:e.jsx($n,{type:d})}),e.jsx(o.Table.Td,{children:u}),e.jsx(o.Table.Td,{width:400,children:e.jsxs(o.Group,{justify:"flex-start",children:[e.jsx(Rn,{dataSource:l,onSuccess:i,styles:r}),e.jsx(dt,{isProtected:f,id:c,name:u,onSuccess:i,styles:r})]})})]},u)})})]})]})]})}),qn=({option:r,...t})=>{const{label:s,value:n,description:i}=r;return e.jsxs(o.Stack,{gap:2,...t,children:[e.jsx(o.Text,{size:"sm",children:s}),e.jsx(o.Text,{size:"xs",c:"dimmed",className:"role-description",children:i})]})},qe=P.forwardRef(({styles:r,value:t,onChange:s},n)=>{const{t:i}=w.useTranslation(),{data:l=[],loading:c}=K.useRequest(async()=>(await R.role.list()).map(d=>({label:d.id,value:d.id,description:d.description,disabled:d.id==="SUPERADMIN"})),{refreshDeps:[]});return e.jsx(o.Select,{ref:n,mb:r.spacing,size:r.size,required:!0,label:i("role.label"),renderOption:qn,data:l,disabled:c,styles:()=>({item:{"&[data-selected]":{"&, &:hover":{".role-description":{color:"rgba(255,255,255,.8)"}}}}}),value:t,onChange:u=>u!==null&&s(u),comboboxProps:{withinPortal:!0},maxDropdownHeight:500})}),H={size:"sm",spacing:"md",button:{size:"xs"}};function kn({postSubmit:r,styles:t=H,initialRoleID:s}){const{t:n}=w.useTranslation(),{control:i,handleSubmit:l}=v.useForm({defaultValues:{name:"",email:"",role_id:s,password:""}}),c=async({name:u,email:d,password:f,role_id:h})=>{try{T.showNotification({id:"for-creating",title:n("common.state.pending"),message:n("account.state.adding"),loading:!0,autoClose:!1}),await R.account.create(u,d,f,h),T.updateNotification({id:"for-creating",title:n("common.state.successful"),message:n("account.state.added"),color:"green",autoClose:!0}),r()}catch(j){T.updateNotification({id:"for-creating",title:n("common.state.failed"),message:j.message,color:"red",autoClose:!0})}};return e.jsx(o.Box,{mx:"auto",mb:10,children:e.jsxs("form",{onSubmit:l(c),children:[e.jsx(v.Controller,{name:"name",control:i,render:({field:u})=>e.jsx(o.TextInput,{mb:t.spacing,size:t.size,required:!0,label:n("account.username"),...u})}),e.jsx(v.Controller,{name:"email",control:i,render:({field:u})=>e.jsx(o.TextInput,{mb:t.spacing,size:t.size,required:!0,label:n("account.email"),...u})}),e.jsx(v.Controller,{name:"password",control:i,render:({field:u})=>e.jsx(o.PasswordInput,{mb:t.spacing,size:t.size,required:!0,label:n("account.password"),description:n("account.password_hint"),...u})}),e.jsx(v.Controller,{name:"role_id",control:i,render:({field:u})=>e.jsx(qe,{styles:t,...u})}),e.jsx(o.Group,{justify:"flex-end",mt:t.spacing,children:e.jsx(W,{size:t.button.size})})]})})}function ft({onSuccess:r,styles:t=H,initialRoleID:s}){const{t:n}=w.useTranslation(),[i,l]=P.useState(!1),c=()=>l(!0),u=()=>l(!1),d=()=>{r(),u()};return e.jsxs(e.Fragment,{children:[e.jsx(o.Modal,{opened:i,onClose:()=>l(!1),title:n("account.add"),trapFocus:!0,onDragStart:f=>{f.stopPropagation()},children:e.jsx(kn,{postSubmit:d,styles:t,initialRoleID:s})}),e.jsx(o.Button,{size:t.button.size,onClick:c,leftSection:e.jsx(A.IconPlaylistAdd,{size:20}),children:n("account.add")})]})}function mt({id:r,name:t,onSuccess:s,styles:n=H}){const{t:i}=w.useTranslation(),l=ae.useModals(),c=async()=>{if(r){T.showNotification({id:"for-deleting",title:i("common.state.pending"),message:i("account.state.deleting"),loading:!0,autoClose:!1});try{await R.account.delete(r),T.updateNotification({id:"for-deleting",title:i("common.state.successful"),message:i("account.state.deleted",{name:t}),color:"green",autoClose:!0}),s()}catch(d){T.updateNotification({id:"for-deleting",title:i("common.state.failed"),message:d.message,color:"red",autoClose:!0})}}},u=()=>l.openConfirmModal({title:i("account.delete"),labels:{confirm:i("common.actions.confirm"),cancel:i("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:c,cancelProps:{size:n.button.size},confirmProps:{color:"red",size:n.button.size}});return e.jsx(o.Button,{size:n.button.size,color:"red",onClick:u,leftSection:e.jsx(A.IconTrash,{size:20}),children:i("common.actions.delete")})}function Nn({id:r,name:t,email:s,role_id:n,postSubmit:i,styles:l=H}){const{t:c}=w.useTranslation(),{control:u,handleSubmit:d,watch:f}=v.useForm({defaultValues:{name:t,email:s,role_id:n,reset_password:!1,new_password:""}}),h=async({name:C,email:q,role_id:Y,reset_password:X,new_password:k})=>{try{T.showNotification({id:"for-updating",title:c("common.state.pending"),message:c("account.state.updating"),loading:!0,autoClose:!1}),await R.account.edit({id:r,name:C.trim(),email:q.trim(),role_id:Y,reset_password:X,new_password:k.trim()}),T.updateNotification({id:"for-updating",title:c("common.state.successful"),message:c("account.state.updated"),color:"green",autoClose:!0}),i()}catch(D){T.updateNotification({id:"for-updating",title:c("common.state.failed"),message:D.message,color:"red",autoClose:!0})}},[j,b]=f(["reset_password","new_password"]);return e.jsx(o.Box,{mx:"auto",mb:10,children:e.jsxs("form",{onSubmit:d(h),children:[e.jsx(v.Controller,{name:"name",control:u,render:({field:C})=>e.jsx(o.TextInput,{mb:l.spacing,size:l.size,required:!0,label:c("account.username"),...C})}),e.jsx(v.Controller,{name:"email",control:u,render:({field:C})=>e.jsx(o.TextInput,{mb:l.spacing,size:l.size,required:!0,label:c("account.email"),...C})}),e.jsx(v.Controller,{name:"role_id",control:u,render:({field:C})=>e.jsx(qe,{styles:l,...C})}),e.jsx(o.Divider,{my:20,variant:"dashed",label:"",labelPosition:"center"}),e.jsx(v.Controller,{name:"reset_password",control:u,render:({field:C})=>e.jsx(o.Switch,{mb:l.spacing,size:l.size,label:c("account.reset_password"),checked:C.value,onChange:q=>C.onChange(q.currentTarget.checked),styles:{label:{verticalAlign:"middle"}}})}),j&&e.jsx(v.Controller,{name:"new_password",control:u,render:({field:C})=>e.jsx(o.PasswordInput,{autoComplete:"off",mb:l.spacing,size:l.size,required:!0,description:c("account.password_hint"),label:c("account.new_password"),...C})}),e.jsx(o.Group,{justify:"flex-end",mt:l.spacing,children:e.jsx(W,{size:l.button.size})})]})})}function Fn({account:r,onSuccess:t,styles:s=H}){const{t:n}=w.useTranslation(),[i,l]=P.useState(!1),c=()=>l(!0),u=()=>l(!1),d=()=>{t(),u()};return e.jsxs(e.Fragment,{children:[e.jsx(o.Modal,{opened:i,onClose:()=>l(!1),title:n("account.editing_xx",{name:r.name}),trapFocus:!0,onDragStart:f=>{f.stopPropagation()},children:e.jsx(Nn,{...r,postSubmit:d,styles:s})}),e.jsx(o.Button,{size:s.button.size,onClick:c,leftSection:e.jsx(A.IconEdit,{size:20}),children:n("common.actions.edit")})]})}const Bn=be("AccountList",({styles:r=H})=>{var u;const{t}=w.useTranslation(),{data:s=[],loading:n,refresh:i}=K.useRequest(async()=>{const{data:d}=await R.account.list();return d},{refreshDeps:[]}),{data:l=[],loading:c}=K.useRequest(async()=>(await R.role.list()).map(f=>({label:f.id,value:f.id,description:f.description,disabled:f.id==="SUPERADMIN"})),{refreshDeps:[]});return e.jsxs(e.Fragment,{children:[e.jsx(o.Group,{pt:r.spacing,justify:"flex-end",children:e.jsx(ft,{onSuccess:i,initialRoleID:((u=l==null?void 0:l[0])==null?void 0:u.value)??"INACTIVE"})}),e.jsxs(o.Box,{mt:r.spacing,sx:{position:"relative"},children:[e.jsx(o.LoadingOverlay,{visible:n||c}),e.jsxs(o.Table,{horizontalSpacing:r.spacing,verticalSpacing:r.spacing,fz:r.size,highlightOnHover:!0,children:[e.jsx(o.Table.Thead,{children:e.jsxs(o.Table.Tr,{children:[e.jsx(o.Table.Th,{children:t("account.username")}),e.jsx(o.Table.Th,{children:t("account.email")}),e.jsx(o.Table.Th,{children:t("role.label")}),e.jsx(o.Table.Th,{children:t("common.action")})]})}),e.jsx(o.Table.Tbody,{children:s.map(d=>{const{id:f,name:h,email:j,role_id:b}=d;return e.jsxs(o.Table.Tr,{children:[e.jsx(o.Table.Td,{width:200,children:h}),e.jsx(o.Table.Td,{width:200,children:j}),e.jsx(o.Table.Td,{width:200,children:b}),e.jsx(o.Table.Td,{width:200,children:e.jsxs(o.Group,{justify:"flex-start",children:[e.jsx(Fn,{account:d,onSuccess:i}),e.jsx(mt,{id:f,name:h,onSuccess:i})]})})]},f)})})]})]})]})});function Un({postSubmit:r,styles:t=H}){const{t:s}=w.useTranslation(),{control:n,handleSubmit:i}=v.useForm({defaultValues:{name:"",password:""}}),l=async({name:c,password:u})=>{try{T.showNotification({id:"for-login",title:s("common.state.pending"),message:s("account.state.logging_in"),loading:!0,autoClose:!1});const d=await R.account.login(c.trim(),u.trim());window.localStorage.setItem("token",d.token),T.updateNotification({id:"for-login",title:s("common.state.successful"),message:s("account.state.logged_in"),color:"green",autoClose:!0}),r(d)}catch(d){T.updateNotification({id:"for-login",title:s("common.state.failed"),message:d.message,color:"red",autoClose:!0})}};return e.jsx(o.Box,{mx:"auto",children:e.jsxs("form",{onSubmit:i(l),children:[e.jsx(v.Controller,{name:"name",control:n,render:({field:c})=>e.jsx(o.TextInput,{mb:t.spacing,size:t.size,required:!0,label:s("account.username"),...c})}),e.jsx(v.Controller,{name:"password",control:n,render:({field:c})=>e.jsx(o.PasswordInput,{mb:t.spacing,size:t.size,required:!0,label:s("account.password"),...c})}),e.jsx(o.Group,{justify:"flex-end",mt:t.spacing,children:e.jsx(W,{size:t.button.size})})]})})}const Yn=be("Login",({styles:r=H,onSuccess:t})=>e.jsx(e.Fragment,{children:e.jsx(o.Box,{mt:r.spacing,sx:{position:"relative"},children:e.jsx(Un,{styles:r,postSubmit:t})})})),De={size:"sm",spacing:"md",button:{size:"xs"}};function Vn({postSubmit:r,styles:t=De,initialRoleID:s}){const{t:n}=w.useTranslation(),{control:i,handleSubmit:l}=v.useForm({defaultValues:{name:"",role_id:s}}),c=async({name:u,role_id:d})=>{try{T.showNotification({id:"for-creating",title:n("common.state.pending"),message:n("api_key.state.adding"),loading:!0,autoClose:!1});const{app_id:f,app_secret:h}=await R.api_key.create(u,d);T.updateNotification({id:"for-creating",title:n("common.state.successful"),message:n("api_key.state.added"),color:"green",autoClose:!0}),r(f,h)}catch(f){T.updateNotification({id:"for-creating",title:n("common.state.failed"),message:f.message,color:"red",autoClose:!0})}};return e.jsx(o.Box,{mx:"auto",mb:10,children:e.jsxs("form",{onSubmit:l(c),children:[e.jsx(v.Controller,{name:"name",control:i,render:({field:u})=>e.jsx(o.TextInput,{mb:t.spacing,size:t.size,required:!0,label:n("common.name"),...u})}),e.jsx(v.Controller,{name:"role_id",control:i,render:({field:u})=>e.jsx(qe,{styles:t,...u})}),e.jsx(o.Group,{justify:"flex-end",mt:t.spacing,children:e.jsx(W,{size:t.button.size})})]})})}function ht({onSuccess:r,styles:t=De,initialRoleID:s}){const{t:n}=w.useTranslation(),i=ae.useModals(),[l,c]=P.useState(!1),u=()=>c(!0),d=()=>c(!1),f=(h,j)=>{d(),i.openModal({title:n("api_key.save.title"),children:e.jsxs(o.Stack,{children:[e.jsx(o.Text,{size:"sm",c:"dimmed",children:n("api_key.save.warn")}),e.jsx(o.TextInput,{defaultValue:h,disabled:!0,label:n("api_key.app_id"),styles:{input:{cursor:"text !important"}}}),e.jsx(o.TextInput,{defaultValue:j,disabled:!0,label:n("api_key.app_secret"),styles:{input:{cursor:"text !important"}}}),e.jsx(o.Button,{size:"sm",onClick:()=>{ae.closeAllModals()},children:n("api_key.save.saved")})]}),onClose:()=>{r()}})};return e.jsxs(e.Fragment,{children:[e.jsx(o.Modal,{opened:l,onClose:()=>c(!1),title:n("api_key.add"),trapFocus:!0,onDragStart:h=>{h.stopPropagation()},children:e.jsx(Vn,{postSubmit:f,styles:t,initialRoleID:s})}),e.jsx(o.Button,{size:t.button.size,onClick:u,leftSection:e.jsx(A.IconPlaylistAdd,{size:20}),children:n("api_key.add")})]})}function gt({id:r,name:t,onSuccess:s,styles:n=De}){const{t:i}=w.useTranslation(),l=ae.useModals(),c=async()=>{if(r){T.showNotification({id:"for-deleting",title:i("common.state.pending"),message:i("global_sql_snippet.state.deleting"),loading:!0,autoClose:!1});try{await R.api_key.delete(r),T.updateNotification({id:"for-deleting",title:i("common.state.successful"),message:i("global_sql_snippet.state.deleted",{name:t}),color:"green",autoClose:!0}),s()}catch(d){T.updateNotification({id:"for-deleting",title:i("common.state.failed"),message:d.message,color:"red",autoClose:!0})}}},u=()=>l.openConfirmModal({title:i("api_key.delete"),labels:{confirm:i("common.actions.confirm"),cancel:i("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:c,cancelProps:{size:n.button.size},confirmProps:{color:"red",size:n.button.size}});return e.jsx(o.Button,{size:n.button.size,color:"red",onClick:u,leftSection:e.jsx(A.IconTrash,{size:20}),children:i("common.actions.delete")})}const Gn=be("APIKeyList",({styles:r=De})=>{var u;const{t}=w.useTranslation(),{data:s=[],loading:n,refresh:i}=K.useRequest(async()=>{const{data:d}=await R.api_key.list();return d},{refreshDeps:[]}),{data:l=[],loading:c}=K.useRequest(async()=>(await R.role.list()).map(f=>({label:f.id,value:f.id,description:f.description,disabled:f.id==="SUPERADMIN"})),{refreshDeps:[]});return e.jsxs(e.Fragment,{children:[e.jsx(o.Group,{pt:r.spacing,justify:"flex-end",children:e.jsx(ht,{onSuccess:i,initialRoleID:((u=l==null?void 0:l[0])==null?void 0:u.value)??"INACTIVE"})}),e.jsxs(o.Box,{mt:r.spacing,sx:{position:"relative"},children:[e.jsx(o.LoadingOverlay,{visible:n||c}),e.jsxs(o.Table,{horizontalSpacing:r.spacing,verticalSpacing:r.spacing,fz:r.size,highlightOnHover:!0,children:[e.jsx(o.Table.Thead,{children:e.jsxs(o.Table.Tr,{children:[e.jsx(o.Table.Th,{children:t("common.name")}),e.jsx(o.Table.Th,{children:t("api_key.app_id")}),e.jsx(o.Table.Th,{children:t("role.label")}),e.jsx(o.Table.Th,{children:t("common.action")})]})}),e.jsx(o.Table.Tbody,{children:s.map(d=>{const{id:f,name:h,app_id:j,role_id:b}=d;return e.jsxs(o.Table.Tr,{children:[e.jsx(o.Table.Td,{width:200,children:h}),e.jsx(o.Table.Td,{width:200,children:j}),e.jsx(o.Table.Td,{width:200,children:b}),e.jsx(o.Table.Td,{width:200,children:e.jsx(o.Group,{justify:"flex-start",children:e.jsx(gt,{id:f,name:h,onSuccess:i})})})]},f)})})]})]})]})}),ue={size:"sm",spacing:"md",button:{size:"xs"}};function Wn({postSubmit:r,styles:t=ue}){const{t:s}=w.useTranslation(),{control:n,handleSubmit:i}=v.useForm({defaultValues:{id:"",content:""}}),l=async c=>{try{T.showNotification({id:"for-creating",title:s("common.state.pending"),message:s("global_sql_snippet.state.adding"),loading:!0,autoClose:!1}),await R.sql_snippet.create(c),T.updateNotification({id:"for-creating",title:s("common.state.successful"),message:s("global_sql_snippet.state.added"),color:"green",autoClose:!0}),r()}catch(u){T.updateNotification({id:"for-creating",title:s("common.state.failed"),message:u.message,color:"red",autoClose:!0})}};return e.jsx(o.Box,{mx:"auto",children:e.jsxs("form",{onSubmit:i(l),children:[e.jsx(v.Controller,{name:"id",control:n,render:({field:c})=>e.jsx(o.TextInput,{mb:t.spacing,size:t.size,required:!0,label:s("common.name"),placeholder:s("common.name_placeholder"),...c})}),e.jsx(v.Controller,{name:"content",control:n,render:({field:c})=>e.jsxs(o.Stack,{gap:4,children:[e.jsx(o.Text,{size:"14px",fw:500,c:"#212529",sx:{cursor:"default"},children:s("global_sql_snippet.content")}),e.jsx(ut,{height:"600px",...c})]})}),e.jsx(o.Group,{justify:"flex-end",mt:t.spacing,children:e.jsx(W,{size:t.button.size})})]})})}function xt({onSuccess:r,styles:t=ue}){const{t:s}=w.useTranslation(),[n,i]=P.useState(!1),l=()=>i(!0),c=()=>i(!1),u=()=>{c(),r()};return e.jsxs(e.Fragment,{children:[e.jsx(o.Modal,{opened:n,onClose:()=>i(!1),title:s("global_sql_snippet.add"),trapFocus:!0,onDragStart:d=>{d.stopPropagation()},size:"80vw",children:e.jsx(Wn,{postSubmit:u,styles:t})}),e.jsx(o.Button,{size:t.button.size,onClick:l,leftSection:e.jsx(A.IconPlaylistAdd,{size:18}),children:s("global_sql_snippet.add")})]})}function Kn({postSubmit:r,styles:t=ue,id:s,content:n}){const{t:i}=w.useTranslation(),{control:l,handleSubmit:c}=v.useForm({defaultValues:{id:s,content:n}}),u=async d=>{try{T.showNotification({id:"for-updating",title:i("common.state.pending"),message:i("global_sql_snippet.state.updating"),loading:!0,autoClose:!1}),await R.sql_snippet.update(d),T.updateNotification({id:"for-updating",title:i("common.state.successful"),message:i("global_sql_snippet.state.updated"),color:"green",autoClose:!0}),r()}catch(f){T.updateNotification({id:"for-updating",title:i("common.state.failed"),message:f.message,color:"red",autoClose:!0})}};return e.jsx(o.Box,{mx:"auto",children:e.jsxs("form",{onSubmit:c(u),children:[e.jsx(v.Controller,{name:"id",control:l,render:({field:d})=>e.jsx(o.TextInput,{mb:t.spacing,size:t.size,required:!0,label:i("common.name"),placeholder:i("common.name_placeholder"),...d})}),e.jsx(v.Controller,{name:"content",control:l,render:({field:d})=>e.jsxs(o.Stack,{gap:4,children:[e.jsx(o.Text,{size:"14px",fw:500,c:"#212529",sx:{cursor:"default"},children:i("global_sql_snippet.content")}),e.jsx(ut,{height:"600px",...d})]})}),e.jsx(o.Group,{justify:"flex-end",mt:t.spacing,children:e.jsx(W,{size:t.button.size})})]})})}function bt({onSuccess:r,styles:t=ue,...s}){const{t:n}=w.useTranslation(),[i,l]=P.useState(!1),c=()=>l(!0),u=()=>l(!1),d=()=>{u(),r()};return e.jsxs(e.Fragment,{children:[e.jsx(o.Modal,{opened:i,onClose:()=>l(!1),title:n("global_sql_snippet.edit"),trapFocus:!0,onDragStart:f=>{f.stopPropagation()},size:"80vw",children:e.jsx(Kn,{postSubmit:d,styles:t,...s})}),e.jsx(o.Button,{size:t.button.size,onClick:c,leftSection:e.jsx(A.IconEdit,{size:18}),children:n("common.actions.edit")})]})}function vt({id:r,onSuccess:t,styles:s=ue}){const{t:n}=w.useTranslation(),i=ae.useModals(),l=async()=>{if(r){T.showNotification({id:"for-deleting",title:n("common.state.pending"),message:n("global_sql_snippet.state.deleting"),loading:!0,autoClose:!1});try{await R.sql_snippet.delete(r),T.updateNotification({id:"for-deleting",title:n("common.state.successful"),message:n("global_sql_snippet.state.deleted",{name:r}),color:"green",autoClose:!0}),t()}catch(u){T.updateNotification({id:"for-deleting",title:n("common.state.failed"),message:u.message,color:"red",autoClose:!0})}}},c=()=>i.openConfirmModal({title:n("global_sql_snippet.delete"),labels:{confirm:n("common.actions.confirm"),cancel:n("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:l,cancelProps:{size:s.button.size},confirmProps:{color:"red",size:s.button.size}});return e.jsx(o.Button,{size:s.button.size,color:"red",onClick:c,leftSection:e.jsx(A.IconTrash,{size:20}),children:n("common.actions.edit")})}function Qn({content:r}){return e.jsxs(o.HoverCard,{width:"60vw",shadow:"md",children:[e.jsx(o.HoverCard.Target,{children:e.jsx(o.ActionIcon,{variant:"subtle",size:16,children:e.jsx(A.IconEye,{})})}),e.jsx(o.HoverCard.Dropdown,{children:e.jsx(Kt.CodeHighlight,{code:r,language:"sql",withCopyButton:!1})})]})}const Jn=be("DataSourceList",({styles:r=ue})=>{const{t}=w.useTranslation(),{data:s=[],loading:n,refresh:i}=K.useRequest(async()=>{const{data:l}=await R.sql_snippet.list({pagination:{page:1,pagesize:10}});return l},{refreshDeps:[]});return e.jsxs(e.Fragment,{children:[e.jsxs(o.Group,{pt:r.spacing,justify:"space-between",children:[e.jsx(o.Alert,{children:t("global_sql_snippet.description")}),e.jsx(xt,{onSuccess:i})]}),e.jsxs(o.Box,{mt:r.spacing,sx:{position:"relative"},children:[e.jsx(o.LoadingOverlay,{visible:n}),e.jsxs(o.Table,{horizontalSpacing:r.spacing,verticalSpacing:r.spacing,fz:r.size,highlightOnHover:!0,children:[e.jsx(o.Table.Thead,{children:e.jsxs(o.Table.Tr,{children:[e.jsx(o.Table.Th,{children:t("common.name")}),e.jsx(o.Table.Th,{}),e.jsx(o.Table.Th,{children:t("common.created_at")}),e.jsx(o.Table.Th,{children:t("common.updated_at")}),e.jsx(o.Table.Th,{children:t("common.action")})]})}),e.jsx(o.Table.Tbody,{children:s.map(l=>{const{id:c,content:u,create_time:d,update_time:f}=l;return e.jsxs(o.Table.Tr,{children:[e.jsx(o.Table.Td,{children:c}),e.jsx(o.Table.Td,{width:50,children:e.jsx(Qn,{content:u})}),e.jsx(o.Table.Td,{width:200,children:d}),e.jsx(o.Table.Td,{width:200,children:f}),e.jsx(o.Table.Td,{width:400,children:e.jsxs(o.Group,{justify:"flex-start",children:[e.jsx(bt,{...l,onSuccess:i}),e.jsx(vt,{id:c,onSuccess:i})]})})]},c)})})]})]})]})}),Hn=()=>Promise.resolve().then(()=>Xn).then(({version:r})=>(console.log(`[@devtable/settings-form] version: ${r}`),r)),Xn=Object.freeze(Object.defineProperty({__proto__:null,version:"13.43.0"},Symbol.toStringTag,{value:"Module"}));x.APIClient=O,x.APIKeyList=Gn,x.AccountList=Bn,x.AddAPIKey=ht,x.AddAccount=ft,x.AddDataSource=ct,x.AddSQLSnippet=xt,x.DataSourceList=Ln,x.DefaultApiClient=Xe,x.DeleteAPIKey=gt,x.DeleteAccount=mt,x.DeleteDataSource=dt,x.DeleteSQLSnippet=vt,x.FacadeApiClient=Ze,x.Login=Yn,x.SQLSnippetList=Jn,x.UpdateSQLSnippet=bt,x.configureAPIClient=tt,x.facadeApiClient=et,x.getVersion=Hn,Object.defineProperty(x,Symbol.toStringTag,{value:"Module"})});