diff --git a/Documentation/.vitepress/cache/deps/_metadata.json b/Documentation/.vitepress/cache/deps/_metadata.json index 3a85388c..4177c3fa 100644 --- a/Documentation/.vitepress/cache/deps/_metadata.json +++ b/Documentation/.vitepress/cache/deps/_metadata.json @@ -1,19 +1,31 @@ { - "hash": "34492b1c", - "browserHash": "2b39ce1b", + "hash": "68abead3", + "configHash": "18f41056", + "lockfileHash": "67cb1022", + "browserHash": "5e3a4b13", "optimized": { "vue": { "src": "../../../node_modules/vue/dist/vue.runtime.esm-bundler.js", "file": "vue.js", - "fileHash": "af835cf8", + "fileHash": "4b2fb7c2", "needsInterop": false }, "vitepress > @vue/devtools-api": { - "src": "../../../node_modules/@vue/devtools-api/lib/esm/index.js", + "src": "../../../node_modules/@vue/devtools-api/dist/index.js", "file": "vitepress___@vue_devtools-api.js", - "fileHash": "96dbe170", + "fileHash": "7692601e", + "needsInterop": false + }, + "vitepress > @vueuse/core": { + "src": "../../../node_modules/@vueuse/core/index.mjs", + "file": "vitepress___@vueuse_core.js", + "fileHash": "36097234", "needsInterop": false } }, - "chunks": {} + "chunks": { + "chunk-XYSSNQS4": { + "file": "chunk-XYSSNQS4.js" + } + } } \ No newline at end of file diff --git a/Documentation/.vitepress/cache/deps/chunk-XYSSNQS4.js b/Documentation/.vitepress/cache/deps/chunk-XYSSNQS4.js new file mode 100644 index 00000000..e3da957a --- /dev/null +++ b/Documentation/.vitepress/cache/deps/chunk-XYSSNQS4.js @@ -0,0 +1,12492 @@ +// node_modules/@vue/shared/dist/shared.esm-bundler.js +function makeMap(str) { + const map2 = /* @__PURE__ */ Object.create(null); + for (const key of str.split(",")) map2[key] = 1; + return (val) => val in map2; +} +var EMPTY_OBJ = true ? Object.freeze({}) : {}; +var EMPTY_ARR = true ? Object.freeze([]) : []; +var NOOP = () => { +}; +var NO = () => false; +var isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter +(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97); +var isModelListener = (key) => key.startsWith("onUpdate:"); +var extend = Object.assign; +var remove = (arr, el) => { + const i = arr.indexOf(el); + if (i > -1) { + arr.splice(i, 1); + } +}; +var hasOwnProperty = Object.prototype.hasOwnProperty; +var hasOwn = (val, key) => hasOwnProperty.call(val, key); +var isArray = Array.isArray; +var isMap = (val) => toTypeString(val) === "[object Map]"; +var isSet = (val) => toTypeString(val) === "[object Set]"; +var isDate = (val) => toTypeString(val) === "[object Date]"; +var isRegExp = (val) => toTypeString(val) === "[object RegExp]"; +var isFunction = (val) => typeof val === "function"; +var isString = (val) => typeof val === "string"; +var isSymbol = (val) => typeof val === "symbol"; +var isObject = (val) => val !== null && typeof val === "object"; +var isPromise = (val) => { + return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch); +}; +var objectToString = Object.prototype.toString; +var toTypeString = (value) => objectToString.call(value); +var toRawType = (value) => { + return toTypeString(value).slice(8, -1); +}; +var isPlainObject = (val) => toTypeString(val) === "[object Object]"; +var isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key; +var isReservedProp = makeMap( + // the leading comma is intentional so empty string "" is also included + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" +); +var isBuiltInDirective = makeMap( + "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo" +); +var cacheStringFunction = (fn) => { + const cache = /* @__PURE__ */ Object.create(null); + return (str) => { + const hit = cache[str]; + return hit || (cache[str] = fn(str)); + }; +}; +var camelizeRE = /-(\w)/g; +var camelize = cacheStringFunction( + (str) => { + return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : ""); + } +); +var hyphenateRE = /\B([A-Z])/g; +var hyphenate = cacheStringFunction( + (str) => str.replace(hyphenateRE, "-$1").toLowerCase() +); +var capitalize = cacheStringFunction((str) => { + return str.charAt(0).toUpperCase() + str.slice(1); +}); +var toHandlerKey = cacheStringFunction( + (str) => { + const s = str ? `on${capitalize(str)}` : ``; + return s; + } +); +var hasChanged = (value, oldValue) => !Object.is(value, oldValue); +var invokeArrayFns = (fns, ...arg) => { + for (let i = 0; i < fns.length; i++) { + fns[i](...arg); + } +}; +var def = (obj, key, value, writable = false) => { + Object.defineProperty(obj, key, { + configurable: true, + enumerable: false, + writable, + value + }); +}; +var looseToNumber = (val) => { + const n = parseFloat(val); + return isNaN(n) ? val : n; +}; +var toNumber = (val) => { + const n = isString(val) ? Number(val) : NaN; + return isNaN(n) ? val : n; +}; +var _globalThis; +var getGlobalThis = () => { + return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); +}; +var GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol"; +var isGloballyAllowed = makeMap(GLOBALS_ALLOWED); +function normalizeStyle(value) { + if (isArray(value)) { + const res = {}; + for (let i = 0; i < value.length; i++) { + const item = value[i]; + const normalized = isString(item) ? parseStringStyle(item) : normalizeStyle(item); + if (normalized) { + for (const key in normalized) { + res[key] = normalized[key]; + } + } + } + return res; + } else if (isString(value) || isObject(value)) { + return value; + } +} +var listDelimiterRE = /;(?![^(]*\))/g; +var propertyDelimiterRE = /:([^]+)/; +var styleCommentRE = /\/\*[^]*?\*\//g; +function parseStringStyle(cssText) { + const ret = {}; + cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item) => { + if (item) { + const tmp = item.split(propertyDelimiterRE); + tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); + } + }); + return ret; +} +function stringifyStyle(styles) { + let ret = ""; + if (!styles || isString(styles)) { + return ret; + } + for (const key in styles) { + const value = styles[key]; + if (isString(value) || typeof value === "number") { + const normalizedKey = key.startsWith(`--`) ? key : hyphenate(key); + ret += `${normalizedKey}:${value};`; + } + } + return ret; +} +function normalizeClass(value) { + let res = ""; + if (isString(value)) { + res = value; + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + const normalized = normalizeClass(value[i]); + if (normalized) { + res += normalized + " "; + } + } + } else if (isObject(value)) { + for (const name in value) { + if (value[name]) { + res += name + " "; + } + } + } + return res.trim(); +} +function normalizeProps(props) { + if (!props) return null; + let { class: klass, style } = props; + if (klass && !isString(klass)) { + props.class = normalizeClass(klass); + } + if (style) { + props.style = normalizeStyle(style); + } + return props; +} +var HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; +var SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; +var MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics"; +var VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; +var isHTMLTag = makeMap(HTML_TAGS); +var isSVGTag = makeMap(SVG_TAGS); +var isMathMLTag = makeMap(MATH_TAGS); +var isVoidTag = makeMap(VOID_TAGS); +var specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; +var isSpecialBooleanAttr = makeMap(specialBooleanAttrs); +var isBooleanAttr = makeMap( + specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected` +); +function includeBooleanAttr(value) { + return !!value || value === ""; +} +var isKnownHtmlAttr = makeMap( + `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap` +); +var isKnownSvgAttr = makeMap( + `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan` +); +var isKnownMathMLAttr = makeMap( + `accent,accentunder,actiontype,align,alignmentscope,altimg,altimg-height,altimg-valign,altimg-width,alttext,bevelled,close,columnsalign,columnlines,columnspan,denomalign,depth,dir,display,displaystyle,encoding,equalcolumns,equalrows,fence,fontstyle,fontweight,form,frame,framespacing,groupalign,height,href,id,indentalign,indentalignfirst,indentalignlast,indentshift,indentshiftfirst,indentshiftlast,indextype,justify,largetop,largeop,lquote,lspace,mathbackground,mathcolor,mathsize,mathvariant,maxsize,minlabelspacing,mode,other,overflow,position,rowalign,rowlines,rowspan,rquote,rspace,scriptlevel,scriptminsize,scriptsizemultiplier,selection,separator,separators,shift,side,src,stackalign,stretchy,subscriptshift,superscriptshift,symmetric,voffset,width,widths,xlink:href,xlink:show,xlink:type,xmlns` +); +function isRenderableAttrValue(value) { + if (value == null) { + return false; + } + const type = typeof value; + return type === "string" || type === "number" || type === "boolean"; +} +var cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g; +function getEscapedCssVarName(key, doubleEscape) { + return key.replace( + cssVarNameEscapeSymbolsRE, + (s) => doubleEscape ? s === '"' ? '\\\\\\"' : `\\\\${s}` : `\\${s}` + ); +} +function looseCompareArrays(a, b) { + if (a.length !== b.length) return false; + let equal = true; + for (let i = 0; equal && i < a.length; i++) { + equal = looseEqual(a[i], b[i]); + } + return equal; +} +function looseEqual(a, b) { + if (a === b) return true; + let aValidType = isDate(a); + let bValidType = isDate(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? a.getTime() === b.getTime() : false; + } + aValidType = isSymbol(a); + bValidType = isSymbol(b); + if (aValidType || bValidType) { + return a === b; + } + aValidType = isArray(a); + bValidType = isArray(b); + if (aValidType || bValidType) { + return aValidType && bValidType ? looseCompareArrays(a, b) : false; + } + aValidType = isObject(a); + bValidType = isObject(b); + if (aValidType || bValidType) { + if (!aValidType || !bValidType) { + return false; + } + const aKeysCount = Object.keys(a).length; + const bKeysCount = Object.keys(b).length; + if (aKeysCount !== bKeysCount) { + return false; + } + for (const key in a) { + const aHasKey = a.hasOwnProperty(key); + const bHasKey = b.hasOwnProperty(key); + if (aHasKey && !bHasKey || !aHasKey && bHasKey || !looseEqual(a[key], b[key])) { + return false; + } + } + } + return String(a) === String(b); +} +function looseIndexOf(arr, val) { + return arr.findIndex((item) => looseEqual(item, val)); +} +var isRef = (val) => { + return !!(val && val["__v_isRef"] === true); +}; +var toDisplayString = (val) => { + return isString(val) ? val : val == null ? "" : isArray(val) || isObject(val) && (val.toString === objectToString || !isFunction(val.toString)) ? isRef(val) ? toDisplayString(val.value) : JSON.stringify(val, replacer, 2) : String(val); +}; +var replacer = (_key, val) => { + if (isRef(val)) { + return replacer(_key, val.value); + } else if (isMap(val)) { + return { + [`Map(${val.size})`]: [...val.entries()].reduce( + (entries, [key, val2], i) => { + entries[stringifySymbol(key, i) + " =>"] = val2; + return entries; + }, + {} + ) + }; + } else if (isSet(val)) { + return { + [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v)) + }; + } else if (isSymbol(val)) { + return stringifySymbol(val); + } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) { + return String(val); + } + return val; +}; +var stringifySymbol = (v, i = "") => { + var _a; + return ( + // Symbol.description in es2019+ so we need to cast here to pass + // the lib: es2016 check + isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v + ); +}; + +// node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js +function warn(msg, ...args) { + console.warn(`[Vue warn] ${msg}`, ...args); +} +var activeEffectScope; +var EffectScope = class { + constructor(detached = false) { + this.detached = detached; + this._active = true; + this.effects = []; + this.cleanups = []; + this._isPaused = false; + this.parent = activeEffectScope; + if (!detached && activeEffectScope) { + this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( + this + ) - 1; + } + } + get active() { + return this._active; + } + pause() { + if (this._active) { + this._isPaused = true; + let i, l; + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].pause(); + } + } + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].pause(); + } + } + } + /** + * Resumes the effect scope, including all child scopes and effects. + */ + resume() { + if (this._active) { + if (this._isPaused) { + this._isPaused = false; + let i, l; + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].resume(); + } + } + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].resume(); + } + } + } + } + run(fn) { + if (this._active) { + const currentEffectScope = activeEffectScope; + try { + activeEffectScope = this; + return fn(); + } finally { + activeEffectScope = currentEffectScope; + } + } else if (true) { + warn(`cannot run an inactive effect scope.`); + } + } + /** + * This should only be called on non-detached scopes + * @internal + */ + on() { + activeEffectScope = this; + } + /** + * This should only be called on non-detached scopes + * @internal + */ + off() { + activeEffectScope = this.parent; + } + stop(fromParent) { + if (this._active) { + let i, l; + for (i = 0, l = this.effects.length; i < l; i++) { + this.effects[i].stop(); + } + for (i = 0, l = this.cleanups.length; i < l; i++) { + this.cleanups[i](); + } + if (this.scopes) { + for (i = 0, l = this.scopes.length; i < l; i++) { + this.scopes[i].stop(true); + } + } + if (!this.detached && this.parent && !fromParent) { + const last = this.parent.scopes.pop(); + if (last && last !== this) { + this.parent.scopes[this.index] = last; + last.index = this.index; + } + } + this.parent = void 0; + this._active = false; + } + } +}; +function effectScope(detached) { + return new EffectScope(detached); +} +function getCurrentScope() { + return activeEffectScope; +} +function onScopeDispose(fn, failSilently = false) { + if (activeEffectScope) { + activeEffectScope.cleanups.push(fn); + } else if (!failSilently) { + warn( + `onScopeDispose() is called when there is no active effect scope to be associated with.` + ); + } +} +var activeSub; +var pausedQueueEffects = /* @__PURE__ */ new WeakSet(); +var ReactiveEffect = class { + constructor(fn) { + this.fn = fn; + this.deps = void 0; + this.depsTail = void 0; + this.flags = 1 | 4; + this.next = void 0; + this.cleanup = void 0; + this.scheduler = void 0; + if (activeEffectScope && activeEffectScope.active) { + activeEffectScope.effects.push(this); + } + } + pause() { + this.flags |= 64; + } + resume() { + if (this.flags & 64) { + this.flags &= ~64; + if (pausedQueueEffects.has(this)) { + pausedQueueEffects.delete(this); + this.trigger(); + } + } + } + /** + * @internal + */ + notify() { + if (this.flags & 2 && !(this.flags & 32)) { + return; + } + if (!(this.flags & 8)) { + batch(this); + } + } + run() { + if (!(this.flags & 1)) { + return this.fn(); + } + this.flags |= 2; + cleanupEffect(this); + prepareDeps(this); + const prevEffect = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = this; + shouldTrack = true; + try { + return this.fn(); + } finally { + if (activeSub !== this) { + warn( + "Active effect was not restored correctly - this is likely a Vue internal bug." + ); + } + cleanupDeps(this); + activeSub = prevEffect; + shouldTrack = prevShouldTrack; + this.flags &= ~2; + } + } + stop() { + if (this.flags & 1) { + for (let link = this.deps; link; link = link.nextDep) { + removeSub(link); + } + this.deps = this.depsTail = void 0; + cleanupEffect(this); + this.onStop && this.onStop(); + this.flags &= ~1; + } + } + trigger() { + if (this.flags & 64) { + pausedQueueEffects.add(this); + } else if (this.scheduler) { + this.scheduler(); + } else { + this.runIfDirty(); + } + } + /** + * @internal + */ + runIfDirty() { + if (isDirty(this)) { + this.run(); + } + } + get dirty() { + return isDirty(this); + } +}; +var batchDepth = 0; +var batchedSub; +var batchedComputed; +function batch(sub, isComputed = false) { + sub.flags |= 8; + if (isComputed) { + sub.next = batchedComputed; + batchedComputed = sub; + return; + } + sub.next = batchedSub; + batchedSub = sub; +} +function startBatch() { + batchDepth++; +} +function endBatch() { + if (--batchDepth > 0) { + return; + } + if (batchedComputed) { + let e = batchedComputed; + batchedComputed = void 0; + while (e) { + const next = e.next; + e.next = void 0; + e.flags &= ~8; + e = next; + } + } + let error; + while (batchedSub) { + let e = batchedSub; + batchedSub = void 0; + while (e) { + const next = e.next; + e.next = void 0; + e.flags &= ~8; + if (e.flags & 1) { + try { + ; + e.trigger(); + } catch (err) { + if (!error) error = err; + } + } + e = next; + } + } + if (error) throw error; +} +function prepareDeps(sub) { + for (let link = sub.deps; link; link = link.nextDep) { + link.version = -1; + link.prevActiveLink = link.dep.activeLink; + link.dep.activeLink = link; + } +} +function cleanupDeps(sub) { + let head; + let tail = sub.depsTail; + let link = tail; + while (link) { + const prev = link.prevDep; + if (link.version === -1) { + if (link === tail) tail = prev; + removeSub(link); + removeDep(link); + } else { + head = link; + } + link.dep.activeLink = link.prevActiveLink; + link.prevActiveLink = void 0; + link = prev; + } + sub.deps = head; + sub.depsTail = tail; +} +function isDirty(sub) { + for (let link = sub.deps; link; link = link.nextDep) { + if (link.dep.version !== link.version || link.dep.computed && (refreshComputed(link.dep.computed) || link.dep.version !== link.version)) { + return true; + } + } + if (sub._dirty) { + return true; + } + return false; +} +function refreshComputed(computed3) { + if (computed3.flags & 4 && !(computed3.flags & 16)) { + return; + } + computed3.flags &= ~16; + if (computed3.globalVersion === globalVersion) { + return; + } + computed3.globalVersion = globalVersion; + const dep = computed3.dep; + computed3.flags |= 2; + if (dep.version > 0 && !computed3.isSSR && computed3.deps && !isDirty(computed3)) { + computed3.flags &= ~2; + return; + } + const prevSub = activeSub; + const prevShouldTrack = shouldTrack; + activeSub = computed3; + shouldTrack = true; + try { + prepareDeps(computed3); + const value = computed3.fn(computed3._value); + if (dep.version === 0 || hasChanged(value, computed3._value)) { + computed3._value = value; + dep.version++; + } + } catch (err) { + dep.version++; + throw err; + } finally { + activeSub = prevSub; + shouldTrack = prevShouldTrack; + cleanupDeps(computed3); + computed3.flags &= ~2; + } +} +function removeSub(link, soft = false) { + const { dep, prevSub, nextSub } = link; + if (prevSub) { + prevSub.nextSub = nextSub; + link.prevSub = void 0; + } + if (nextSub) { + nextSub.prevSub = prevSub; + link.nextSub = void 0; + } + if (dep.subsHead === link) { + dep.subsHead = nextSub; + } + if (dep.subs === link) { + dep.subs = prevSub; + if (!prevSub && dep.computed) { + dep.computed.flags &= ~4; + for (let l = dep.computed.deps; l; l = l.nextDep) { + removeSub(l, true); + } + } + } + if (!soft && !--dep.sc && dep.map) { + dep.map.delete(dep.key); + } +} +function removeDep(link) { + const { prevDep, nextDep } = link; + if (prevDep) { + prevDep.nextDep = nextDep; + link.prevDep = void 0; + } + if (nextDep) { + nextDep.prevDep = prevDep; + link.nextDep = void 0; + } +} +function effect(fn, options) { + if (fn.effect instanceof ReactiveEffect) { + fn = fn.effect.fn; + } + const e = new ReactiveEffect(fn); + if (options) { + extend(e, options); + } + try { + e.run(); + } catch (err) { + e.stop(); + throw err; + } + const runner = e.run.bind(e); + runner.effect = e; + return runner; +} +function stop(runner) { + runner.effect.stop(); +} +var shouldTrack = true; +var trackStack = []; +function pauseTracking() { + trackStack.push(shouldTrack); + shouldTrack = false; +} +function resetTracking() { + const last = trackStack.pop(); + shouldTrack = last === void 0 ? true : last; +} +function cleanupEffect(e) { + const { cleanup } = e; + e.cleanup = void 0; + if (cleanup) { + const prevSub = activeSub; + activeSub = void 0; + try { + cleanup(); + } finally { + activeSub = prevSub; + } + } +} +var globalVersion = 0; +var Link = class { + constructor(sub, dep) { + this.sub = sub; + this.dep = dep; + this.version = dep.version; + this.nextDep = this.prevDep = this.nextSub = this.prevSub = this.prevActiveLink = void 0; + } +}; +var Dep = class { + constructor(computed3) { + this.computed = computed3; + this.version = 0; + this.activeLink = void 0; + this.subs = void 0; + this.map = void 0; + this.key = void 0; + this.sc = 0; + if (true) { + this.subsHead = void 0; + } + } + track(debugInfo) { + if (!activeSub || !shouldTrack || activeSub === this.computed) { + return; + } + let link = this.activeLink; + if (link === void 0 || link.sub !== activeSub) { + link = this.activeLink = new Link(activeSub, this); + if (!activeSub.deps) { + activeSub.deps = activeSub.depsTail = link; + } else { + link.prevDep = activeSub.depsTail; + activeSub.depsTail.nextDep = link; + activeSub.depsTail = link; + } + addSub(link); + } else if (link.version === -1) { + link.version = this.version; + if (link.nextDep) { + const next = link.nextDep; + next.prevDep = link.prevDep; + if (link.prevDep) { + link.prevDep.nextDep = next; + } + link.prevDep = activeSub.depsTail; + link.nextDep = void 0; + activeSub.depsTail.nextDep = link; + activeSub.depsTail = link; + if (activeSub.deps === link) { + activeSub.deps = next; + } + } + } + if (activeSub.onTrack) { + activeSub.onTrack( + extend( + { + effect: activeSub + }, + debugInfo + ) + ); + } + return link; + } + trigger(debugInfo) { + this.version++; + globalVersion++; + this.notify(debugInfo); + } + notify(debugInfo) { + startBatch(); + try { + if (true) { + for (let head = this.subsHead; head; head = head.nextSub) { + if (head.sub.onTrigger && !(head.sub.flags & 8)) { + head.sub.onTrigger( + extend( + { + effect: head.sub + }, + debugInfo + ) + ); + } + } + } + for (let link = this.subs; link; link = link.prevSub) { + if (link.sub.notify()) { + ; + link.sub.dep.notify(); + } + } + } finally { + endBatch(); + } + } +}; +function addSub(link) { + link.dep.sc++; + if (link.sub.flags & 4) { + const computed3 = link.dep.computed; + if (computed3 && !link.dep.subs) { + computed3.flags |= 4 | 16; + for (let l = computed3.deps; l; l = l.nextDep) { + addSub(l); + } + } + const currentTail = link.dep.subs; + if (currentTail !== link) { + link.prevSub = currentTail; + if (currentTail) currentTail.nextSub = link; + } + if (link.dep.subsHead === void 0) { + link.dep.subsHead = link; + } + link.dep.subs = link; + } +} +var targetMap = /* @__PURE__ */ new WeakMap(); +var ITERATE_KEY = Symbol( + true ? "Object iterate" : "" +); +var MAP_KEY_ITERATE_KEY = Symbol( + true ? "Map keys iterate" : "" +); +var ARRAY_ITERATE_KEY = Symbol( + true ? "Array iterate" : "" +); +function track(target, type, key) { + if (shouldTrack && activeSub) { + let depsMap = targetMap.get(target); + if (!depsMap) { + targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); + } + let dep = depsMap.get(key); + if (!dep) { + depsMap.set(key, dep = new Dep()); + dep.map = depsMap; + dep.key = key; + } + if (true) { + dep.track({ + target, + type, + key + }); + } else { + dep.track(); + } + } +} +function trigger(target, type, key, newValue, oldValue, oldTarget) { + const depsMap = targetMap.get(target); + if (!depsMap) { + globalVersion++; + return; + } + const run = (dep) => { + if (dep) { + if (true) { + dep.trigger({ + target, + type, + key, + newValue, + oldValue, + oldTarget + }); + } else { + dep.trigger(); + } + } + }; + startBatch(); + if (type === "clear") { + depsMap.forEach(run); + } else { + const targetIsArray = isArray(target); + const isArrayIndex = targetIsArray && isIntegerKey(key); + if (targetIsArray && key === "length") { + const newLength = Number(newValue); + depsMap.forEach((dep, key2) => { + if (key2 === "length" || key2 === ARRAY_ITERATE_KEY || !isSymbol(key2) && key2 >= newLength) { + run(dep); + } + }); + } else { + if (key !== void 0 || depsMap.has(void 0)) { + run(depsMap.get(key)); + } + if (isArrayIndex) { + run(depsMap.get(ARRAY_ITERATE_KEY)); + } + switch (type) { + case "add": + if (!targetIsArray) { + run(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + run(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } else if (isArrayIndex) { + run(depsMap.get("length")); + } + break; + case "delete": + if (!targetIsArray) { + run(depsMap.get(ITERATE_KEY)); + if (isMap(target)) { + run(depsMap.get(MAP_KEY_ITERATE_KEY)); + } + } + break; + case "set": + if (isMap(target)) { + run(depsMap.get(ITERATE_KEY)); + } + break; + } + } + } + endBatch(); +} +function getDepFromReactive(object, key) { + const depMap = targetMap.get(object); + return depMap && depMap.get(key); +} +function reactiveReadArray(array) { + const raw = toRaw(array); + if (raw === array) return raw; + track(raw, "iterate", ARRAY_ITERATE_KEY); + return isShallow(array) ? raw : raw.map(toReactive); +} +function shallowReadArray(arr) { + track(arr = toRaw(arr), "iterate", ARRAY_ITERATE_KEY); + return arr; +} +var arrayInstrumentations = { + __proto__: null, + [Symbol.iterator]() { + return iterator(this, Symbol.iterator, toReactive); + }, + concat(...args) { + return reactiveReadArray(this).concat( + ...args.map((x) => isArray(x) ? reactiveReadArray(x) : x) + ); + }, + entries() { + return iterator(this, "entries", (value) => { + value[1] = toReactive(value[1]); + return value; + }); + }, + every(fn, thisArg) { + return apply(this, "every", fn, thisArg, void 0, arguments); + }, + filter(fn, thisArg) { + return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments); + }, + find(fn, thisArg) { + return apply(this, "find", fn, thisArg, toReactive, arguments); + }, + findIndex(fn, thisArg) { + return apply(this, "findIndex", fn, thisArg, void 0, arguments); + }, + findLast(fn, thisArg) { + return apply(this, "findLast", fn, thisArg, toReactive, arguments); + }, + findLastIndex(fn, thisArg) { + return apply(this, "findLastIndex", fn, thisArg, void 0, arguments); + }, + // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement + forEach(fn, thisArg) { + return apply(this, "forEach", fn, thisArg, void 0, arguments); + }, + includes(...args) { + return searchProxy(this, "includes", args); + }, + indexOf(...args) { + return searchProxy(this, "indexOf", args); + }, + join(separator) { + return reactiveReadArray(this).join(separator); + }, + // keys() iterator only reads `length`, no optimisation required + lastIndexOf(...args) { + return searchProxy(this, "lastIndexOf", args); + }, + map(fn, thisArg) { + return apply(this, "map", fn, thisArg, void 0, arguments); + }, + pop() { + return noTracking(this, "pop"); + }, + push(...args) { + return noTracking(this, "push", args); + }, + reduce(fn, ...args) { + return reduce(this, "reduce", fn, args); + }, + reduceRight(fn, ...args) { + return reduce(this, "reduceRight", fn, args); + }, + shift() { + return noTracking(this, "shift"); + }, + // slice could use ARRAY_ITERATE but also seems to beg for range tracking + some(fn, thisArg) { + return apply(this, "some", fn, thisArg, void 0, arguments); + }, + splice(...args) { + return noTracking(this, "splice", args); + }, + toReversed() { + return reactiveReadArray(this).toReversed(); + }, + toSorted(comparer) { + return reactiveReadArray(this).toSorted(comparer); + }, + toSpliced(...args) { + return reactiveReadArray(this).toSpliced(...args); + }, + unshift(...args) { + return noTracking(this, "unshift", args); + }, + values() { + return iterator(this, "values", toReactive); + } +}; +function iterator(self2, method, wrapValue) { + const arr = shallowReadArray(self2); + const iter = arr[method](); + if (arr !== self2 && !isShallow(self2)) { + iter._next = iter.next; + iter.next = () => { + const result = iter._next(); + if (result.value) { + result.value = wrapValue(result.value); + } + return result; + }; + } + return iter; +} +var arrayProto = Array.prototype; +function apply(self2, method, fn, thisArg, wrappedRetFn, args) { + const arr = shallowReadArray(self2); + const needsWrap = arr !== self2 && !isShallow(self2); + const methodFn = arr[method]; + if (methodFn !== arrayProto[method]) { + const result2 = methodFn.apply(self2, args); + return needsWrap ? toReactive(result2) : result2; + } + let wrappedFn = fn; + if (arr !== self2) { + if (needsWrap) { + wrappedFn = function(item, index) { + return fn.call(this, toReactive(item), index, self2); + }; + } else if (fn.length > 2) { + wrappedFn = function(item, index) { + return fn.call(this, item, index, self2); + }; + } + } + const result = methodFn.call(arr, wrappedFn, thisArg); + return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result; +} +function reduce(self2, method, fn, args) { + const arr = shallowReadArray(self2); + let wrappedFn = fn; + if (arr !== self2) { + if (!isShallow(self2)) { + wrappedFn = function(acc, item, index) { + return fn.call(this, acc, toReactive(item), index, self2); + }; + } else if (fn.length > 3) { + wrappedFn = function(acc, item, index) { + return fn.call(this, acc, item, index, self2); + }; + } + } + return arr[method](wrappedFn, ...args); +} +function searchProxy(self2, method, args) { + const arr = toRaw(self2); + track(arr, "iterate", ARRAY_ITERATE_KEY); + const res = arr[method](...args); + if ((res === -1 || res === false) && isProxy(args[0])) { + args[0] = toRaw(args[0]); + return arr[method](...args); + } + return res; +} +function noTracking(self2, method, args = []) { + pauseTracking(); + startBatch(); + const res = toRaw(self2)[method].apply(self2, args); + endBatch(); + resetTracking(); + return res; +} +var isNonTrackableKeys = makeMap(`__proto__,__v_isRef,__isVue`); +var builtInSymbols = new Set( + Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol) +); +function hasOwnProperty2(key) { + if (!isSymbol(key)) key = String(key); + const obj = toRaw(this); + track(obj, "has", key); + return obj.hasOwnProperty(key); +} +var BaseReactiveHandler = class { + constructor(_isReadonly = false, _isShallow = false) { + this._isReadonly = _isReadonly; + this._isShallow = _isShallow; + } + get(target, key, receiver) { + const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_isShallow") { + return isShallow2; + } else if (key === "__v_raw") { + if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype + // this means the receiver is a user proxy of the reactive proxy + Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { + return target; + } + return; + } + const targetIsArray = isArray(target); + if (!isReadonly2) { + let fn; + if (targetIsArray && (fn = arrayInstrumentations[key])) { + return fn; + } + if (key === "hasOwnProperty") { + return hasOwnProperty2; + } + } + const res = Reflect.get( + target, + key, + // if this is a proxy wrapping a ref, return methods using the raw ref + // as receiver so that we don't have to call `toRaw` on the ref in all + // its class methods + isRef2(target) ? target : receiver + ); + if (isSymbol(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { + return res; + } + if (!isReadonly2) { + track(target, "get", key); + } + if (isShallow2) { + return res; + } + if (isRef2(res)) { + return targetIsArray && isIntegerKey(key) ? res : res.value; + } + if (isObject(res)) { + return isReadonly2 ? readonly(res) : reactive(res); + } + return res; + } +}; +var MutableReactiveHandler = class extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(false, isShallow2); + } + set(target, key, value, receiver) { + let oldValue = target[key]; + if (!this._isShallow) { + const isOldValueReadonly = isReadonly(oldValue); + if (!isShallow(value) && !isReadonly(value)) { + oldValue = toRaw(oldValue); + value = toRaw(value); + } + if (!isArray(target) && isRef2(oldValue) && !isRef2(value)) { + if (isOldValueReadonly) { + return false; + } else { + oldValue.value = value; + return true; + } + } + } + const hadKey = isArray(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn(target, key); + const result = Reflect.set( + target, + key, + value, + isRef2(target) ? target : receiver + ); + if (target === toRaw(receiver)) { + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + } + return result; + } + deleteProperty(target, key) { + const hadKey = hasOwn(target, key); + const oldValue = target[key]; + const result = Reflect.deleteProperty(target, key); + if (result && hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; + } + has(target, key) { + const result = Reflect.has(target, key); + if (!isSymbol(key) || !builtInSymbols.has(key)) { + track(target, "has", key); + } + return result; + } + ownKeys(target) { + track( + target, + "iterate", + isArray(target) ? "length" : ITERATE_KEY + ); + return Reflect.ownKeys(target); + } +}; +var ReadonlyReactiveHandler = class extends BaseReactiveHandler { + constructor(isShallow2 = false) { + super(true, isShallow2); + } + set(target, key) { + if (true) { + warn( + `Set operation on key "${String(key)}" failed: target is readonly.`, + target + ); + } + return true; + } + deleteProperty(target, key) { + if (true) { + warn( + `Delete operation on key "${String(key)}" failed: target is readonly.`, + target + ); + } + return true; + } +}; +var mutableHandlers = new MutableReactiveHandler(); +var readonlyHandlers = new ReadonlyReactiveHandler(); +var shallowReactiveHandlers = new MutableReactiveHandler(true); +var shallowReadonlyHandlers = new ReadonlyReactiveHandler(true); +var toShallow = (value) => value; +var getProto = (v) => Reflect.getPrototypeOf(v); +function createIterableMethod(method, isReadonly2, isShallow2) { + return function(...args) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const targetIsMap = isMap(rawTarget); + const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; + const isKeyOnly = method === "keys" && targetIsMap; + const innerIterator = target[method](...args); + const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive; + !isReadonly2 && track( + rawTarget, + "iterate", + isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY + ); + return { + // iterator protocol + next() { + const { value, done } = innerIterator.next(); + return done ? { value, done } : { + value: isPair ? [wrap(value[0]), wrap(value[1])] : wrap(value), + done + }; + }, + // iterable protocol + [Symbol.iterator]() { + return this; + } + }; + }; +} +function createReadonlyMethod(type) { + return function(...args) { + if (true) { + const key = args[0] ? `on key "${args[0]}" ` : ``; + warn( + `${capitalize(type)} operation ${key}failed: target is readonly.`, + toRaw(this) + ); + } + return type === "delete" ? false : type === "clear" ? void 0 : this; + }; +} +function createInstrumentations(readonly2, shallow) { + const instrumentations = { + get(key) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!readonly2) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "get", key); + } + track(rawTarget, "get", rawKey); + } + const { has } = getProto(rawTarget); + const wrap = shallow ? toShallow : readonly2 ? toReadonly : toReactive; + if (has.call(rawTarget, key)) { + return wrap(target.get(key)); + } else if (has.call(rawTarget, rawKey)) { + return wrap(target.get(rawKey)); + } else if (target !== rawTarget) { + target.get(key); + } + }, + get size() { + const target = this["__v_raw"]; + !readonly2 && track(toRaw(target), "iterate", ITERATE_KEY); + return Reflect.get(target, "size", target); + }, + has(key) { + const target = this["__v_raw"]; + const rawTarget = toRaw(target); + const rawKey = toRaw(key); + if (!readonly2) { + if (hasChanged(key, rawKey)) { + track(rawTarget, "has", key); + } + track(rawTarget, "has", rawKey); + } + return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); + }, + forEach(callback, thisArg) { + const observed = this; + const target = observed["__v_raw"]; + const rawTarget = toRaw(target); + const wrap = shallow ? toShallow : readonly2 ? toReadonly : toReactive; + !readonly2 && track(rawTarget, "iterate", ITERATE_KEY); + return target.forEach((value, key) => { + return callback.call(thisArg, wrap(value), wrap(key), observed); + }); + } + }; + extend( + instrumentations, + readonly2 ? { + add: createReadonlyMethod("add"), + set: createReadonlyMethod("set"), + delete: createReadonlyMethod("delete"), + clear: createReadonlyMethod("clear") + } : { + add(value) { + if (!shallow && !isShallow(value) && !isReadonly(value)) { + value = toRaw(value); + } + const target = toRaw(this); + const proto = getProto(target); + const hadKey = proto.has.call(target, value); + if (!hadKey) { + target.add(value); + trigger(target, "add", value, value); + } + return this; + }, + set(key, value) { + if (!shallow && !isShallow(value) && !isReadonly(value)) { + value = toRaw(value); + } + const target = toRaw(this); + const { has, get } = getProto(target); + let hadKey = has.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has.call(target, key); + } else if (true) { + checkIdentityKeys(target, has, key); + } + const oldValue = get.call(target, key); + target.set(key, value); + if (!hadKey) { + trigger(target, "add", key, value); + } else if (hasChanged(value, oldValue)) { + trigger(target, "set", key, value, oldValue); + } + return this; + }, + delete(key) { + const target = toRaw(this); + const { has, get } = getProto(target); + let hadKey = has.call(target, key); + if (!hadKey) { + key = toRaw(key); + hadKey = has.call(target, key); + } else if (true) { + checkIdentityKeys(target, has, key); + } + const oldValue = get ? get.call(target, key) : void 0; + const result = target.delete(key); + if (hadKey) { + trigger(target, "delete", key, void 0, oldValue); + } + return result; + }, + clear() { + const target = toRaw(this); + const hadItems = target.size !== 0; + const oldTarget = true ? isMap(target) ? new Map(target) : new Set(target) : void 0; + const result = target.clear(); + if (hadItems) { + trigger( + target, + "clear", + void 0, + void 0, + oldTarget + ); + } + return result; + } + } + ); + const iteratorMethods = [ + "keys", + "values", + "entries", + Symbol.iterator + ]; + iteratorMethods.forEach((method) => { + instrumentations[method] = createIterableMethod(method, readonly2, shallow); + }); + return instrumentations; +} +function createInstrumentationGetter(isReadonly2, shallow) { + const instrumentations = createInstrumentations(isReadonly2, shallow); + return (target, key, receiver) => { + if (key === "__v_isReactive") { + return !isReadonly2; + } else if (key === "__v_isReadonly") { + return isReadonly2; + } else if (key === "__v_raw") { + return target; + } + return Reflect.get( + hasOwn(instrumentations, key) && key in target ? instrumentations : target, + key, + receiver + ); + }; +} +var mutableCollectionHandlers = { + get: createInstrumentationGetter(false, false) +}; +var shallowCollectionHandlers = { + get: createInstrumentationGetter(false, true) +}; +var readonlyCollectionHandlers = { + get: createInstrumentationGetter(true, false) +}; +var shallowReadonlyCollectionHandlers = { + get: createInstrumentationGetter(true, true) +}; +function checkIdentityKeys(target, has, key) { + const rawKey = toRaw(key); + if (rawKey !== key && has.call(target, rawKey)) { + const type = toRawType(target); + warn( + `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` + ); + } +} +var reactiveMap = /* @__PURE__ */ new WeakMap(); +var shallowReactiveMap = /* @__PURE__ */ new WeakMap(); +var readonlyMap = /* @__PURE__ */ new WeakMap(); +var shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); +function targetTypeMap(rawType) { + switch (rawType) { + case "Object": + case "Array": + return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2; + default: + return 0; + } +} +function getTargetType(value) { + return value["__v_skip"] || !Object.isExtensible(value) ? 0 : targetTypeMap(toRawType(value)); +} +function reactive(target) { + if (isReadonly(target)) { + return target; + } + return createReactiveObject( + target, + false, + mutableHandlers, + mutableCollectionHandlers, + reactiveMap + ); +} +function shallowReactive(target) { + return createReactiveObject( + target, + false, + shallowReactiveHandlers, + shallowCollectionHandlers, + shallowReactiveMap + ); +} +function readonly(target) { + return createReactiveObject( + target, + true, + readonlyHandlers, + readonlyCollectionHandlers, + readonlyMap + ); +} +function shallowReadonly(target) { + return createReactiveObject( + target, + true, + shallowReadonlyHandlers, + shallowReadonlyCollectionHandlers, + shallowReadonlyMap + ); +} +function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { + if (!isObject(target)) { + if (true) { + warn( + `value cannot be made ${isReadonly2 ? "readonly" : "reactive"}: ${String( + target + )}` + ); + } + return target; + } + if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { + return target; + } + const existingProxy = proxyMap.get(target); + if (existingProxy) { + return existingProxy; + } + const targetType = getTargetType(target); + if (targetType === 0) { + return target; + } + const proxy = new Proxy( + target, + targetType === 2 ? collectionHandlers : baseHandlers + ); + proxyMap.set(target, proxy); + return proxy; +} +function isReactive(value) { + if (isReadonly(value)) { + return isReactive(value["__v_raw"]); + } + return !!(value && value["__v_isReactive"]); +} +function isReadonly(value) { + return !!(value && value["__v_isReadonly"]); +} +function isShallow(value) { + return !!(value && value["__v_isShallow"]); +} +function isProxy(value) { + return value ? !!value["__v_raw"] : false; +} +function toRaw(observed) { + const raw = observed && observed["__v_raw"]; + return raw ? toRaw(raw) : observed; +} +function markRaw(value) { + if (!hasOwn(value, "__v_skip") && Object.isExtensible(value)) { + def(value, "__v_skip", true); + } + return value; +} +var toReactive = (value) => isObject(value) ? reactive(value) : value; +var toReadonly = (value) => isObject(value) ? readonly(value) : value; +function isRef2(r) { + return r ? r["__v_isRef"] === true : false; +} +function ref(value) { + return createRef(value, false); +} +function shallowRef(value) { + return createRef(value, true); +} +function createRef(rawValue, shallow) { + if (isRef2(rawValue)) { + return rawValue; + } + return new RefImpl(rawValue, shallow); +} +var RefImpl = class { + constructor(value, isShallow2) { + this.dep = new Dep(); + this["__v_isRef"] = true; + this["__v_isShallow"] = false; + this._rawValue = isShallow2 ? value : toRaw(value); + this._value = isShallow2 ? value : toReactive(value); + this["__v_isShallow"] = isShallow2; + } + get value() { + if (true) { + this.dep.track({ + target: this, + type: "get", + key: "value" + }); + } else { + this.dep.track(); + } + return this._value; + } + set value(newValue) { + const oldValue = this._rawValue; + const useDirectValue = this["__v_isShallow"] || isShallow(newValue) || isReadonly(newValue); + newValue = useDirectValue ? newValue : toRaw(newValue); + if (hasChanged(newValue, oldValue)) { + this._rawValue = newValue; + this._value = useDirectValue ? newValue : toReactive(newValue); + if (true) { + this.dep.trigger({ + target: this, + type: "set", + key: "value", + newValue, + oldValue + }); + } else { + this.dep.trigger(); + } + } + } +}; +function triggerRef(ref2) { + if (ref2.dep) { + if (true) { + ref2.dep.trigger({ + target: ref2, + type: "set", + key: "value", + newValue: ref2._value + }); + } else { + ref2.dep.trigger(); + } + } +} +function unref(ref2) { + return isRef2(ref2) ? ref2.value : ref2; +} +function toValue(source) { + return isFunction(source) ? source() : unref(source); +} +var shallowUnwrapHandlers = { + get: (target, key, receiver) => key === "__v_raw" ? target : unref(Reflect.get(target, key, receiver)), + set: (target, key, value, receiver) => { + const oldValue = target[key]; + if (isRef2(oldValue) && !isRef2(value)) { + oldValue.value = value; + return true; + } else { + return Reflect.set(target, key, value, receiver); + } + } +}; +function proxyRefs(objectWithRefs) { + return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); +} +var CustomRefImpl = class { + constructor(factory) { + this["__v_isRef"] = true; + this._value = void 0; + const dep = this.dep = new Dep(); + const { get, set } = factory(dep.track.bind(dep), dep.trigger.bind(dep)); + this._get = get; + this._set = set; + } + get value() { + return this._value = this._get(); + } + set value(newVal) { + this._set(newVal); + } +}; +function customRef(factory) { + return new CustomRefImpl(factory); +} +function toRefs(object) { + if (!isProxy(object)) { + warn(`toRefs() expects a reactive object but received a plain one.`); + } + const ret = isArray(object) ? new Array(object.length) : {}; + for (const key in object) { + ret[key] = propertyToRef(object, key); + } + return ret; +} +var ObjectRefImpl = class { + constructor(_object, _key, _defaultValue) { + this._object = _object; + this._key = _key; + this._defaultValue = _defaultValue; + this["__v_isRef"] = true; + this._value = void 0; + } + get value() { + const val = this._object[this._key]; + return this._value = val === void 0 ? this._defaultValue : val; + } + set value(newVal) { + this._object[this._key] = newVal; + } + get dep() { + return getDepFromReactive(toRaw(this._object), this._key); + } +}; +var GetterRefImpl = class { + constructor(_getter) { + this._getter = _getter; + this["__v_isRef"] = true; + this["__v_isReadonly"] = true; + this._value = void 0; + } + get value() { + return this._value = this._getter(); + } +}; +function toRef(source, key, defaultValue) { + if (isRef2(source)) { + return source; + } else if (isFunction(source)) { + return new GetterRefImpl(source); + } else if (isObject(source) && arguments.length > 1) { + return propertyToRef(source, key, defaultValue); + } else { + return ref(source); + } +} +function propertyToRef(source, key, defaultValue) { + const val = source[key]; + return isRef2(val) ? val : new ObjectRefImpl(source, key, defaultValue); +} +var ComputedRefImpl = class { + constructor(fn, setter, isSSR) { + this.fn = fn; + this.setter = setter; + this._value = void 0; + this.dep = new Dep(this); + this.__v_isRef = true; + this.deps = void 0; + this.depsTail = void 0; + this.flags = 16; + this.globalVersion = globalVersion - 1; + this.next = void 0; + this.effect = this; + this["__v_isReadonly"] = !setter; + this.isSSR = isSSR; + } + /** + * @internal + */ + notify() { + this.flags |= 16; + if (!(this.flags & 8) && // avoid infinite self recursion + activeSub !== this) { + batch(this, true); + return true; + } else if (true) ; + } + get value() { + const link = true ? this.dep.track({ + target: this, + type: "get", + key: "value" + }) : this.dep.track(); + refreshComputed(this); + if (link) { + link.version = this.dep.version; + } + return this._value; + } + set value(newValue) { + if (this.setter) { + this.setter(newValue); + } else if (true) { + warn("Write operation failed: computed value is readonly"); + } + } +}; +function computed(getterOrOptions, debugOptions, isSSR = false) { + let getter; + let setter; + if (isFunction(getterOrOptions)) { + getter = getterOrOptions; + } else { + getter = getterOrOptions.get; + setter = getterOrOptions.set; + } + const cRef = new ComputedRefImpl(getter, setter, isSSR); + if (debugOptions && !isSSR) { + cRef.onTrack = debugOptions.onTrack; + cRef.onTrigger = debugOptions.onTrigger; + } + return cRef; +} +var TrackOpTypes = { + "GET": "get", + "HAS": "has", + "ITERATE": "iterate" +}; +var TriggerOpTypes = { + "SET": "set", + "ADD": "add", + "DELETE": "delete", + "CLEAR": "clear" +}; +var INITIAL_WATCHER_VALUE = {}; +var cleanupMap = /* @__PURE__ */ new WeakMap(); +var activeWatcher = void 0; +function getCurrentWatcher() { + return activeWatcher; +} +function onWatcherCleanup(cleanupFn, failSilently = false, owner = activeWatcher) { + if (owner) { + let cleanups = cleanupMap.get(owner); + if (!cleanups) cleanupMap.set(owner, cleanups = []); + cleanups.push(cleanupFn); + } else if (!failSilently) { + warn( + `onWatcherCleanup() was called when there was no active watcher to associate with.` + ); + } +} +function watch(source, cb, options = EMPTY_OBJ) { + const { immediate, deep, once, scheduler, augmentJob, call } = options; + const warnInvalidSource = (s) => { + (options.onWarn || warn)( + `Invalid watch source: `, + s, + `A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.` + ); + }; + const reactiveGetter = (source2) => { + if (deep) return source2; + if (isShallow(source2) || deep === false || deep === 0) + return traverse(source2, 1); + return traverse(source2); + }; + let effect2; + let getter; + let cleanup; + let boundCleanup; + let forceTrigger = false; + let isMultiSource = false; + if (isRef2(source)) { + getter = () => source.value; + forceTrigger = isShallow(source); + } else if (isReactive(source)) { + getter = () => reactiveGetter(source); + forceTrigger = true; + } else if (isArray(source)) { + isMultiSource = true; + forceTrigger = source.some((s) => isReactive(s) || isShallow(s)); + getter = () => source.map((s) => { + if (isRef2(s)) { + return s.value; + } else if (isReactive(s)) { + return reactiveGetter(s); + } else if (isFunction(s)) { + return call ? call(s, 2) : s(); + } else { + warnInvalidSource(s); + } + }); + } else if (isFunction(source)) { + if (cb) { + getter = call ? () => call(source, 2) : source; + } else { + getter = () => { + if (cleanup) { + pauseTracking(); + try { + cleanup(); + } finally { + resetTracking(); + } + } + const currentEffect = activeWatcher; + activeWatcher = effect2; + try { + return call ? call(source, 3, [boundCleanup]) : source(boundCleanup); + } finally { + activeWatcher = currentEffect; + } + }; + } + } else { + getter = NOOP; + warnInvalidSource(source); + } + if (cb && deep) { + const baseGetter = getter; + const depth = deep === true ? Infinity : deep; + getter = () => traverse(baseGetter(), depth); + } + const scope = getCurrentScope(); + const watchHandle = () => { + effect2.stop(); + if (scope) { + remove(scope.effects, effect2); + } + }; + if (once && cb) { + const _cb = cb; + cb = (...args) => { + _cb(...args); + watchHandle(); + }; + } + let oldValue = isMultiSource ? new Array(source.length).fill(INITIAL_WATCHER_VALUE) : INITIAL_WATCHER_VALUE; + const job = (immediateFirstRun) => { + if (!(effect2.flags & 1) || !effect2.dirty && !immediateFirstRun) { + return; + } + if (cb) { + const newValue = effect2.run(); + if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue))) { + if (cleanup) { + cleanup(); + } + const currentWatcher = activeWatcher; + activeWatcher = effect2; + try { + const args = [ + newValue, + // pass undefined as the old value when it's changed for the first time + oldValue === INITIAL_WATCHER_VALUE ? void 0 : isMultiSource && oldValue[0] === INITIAL_WATCHER_VALUE ? [] : oldValue, + boundCleanup + ]; + call ? call(cb, 3, args) : ( + // @ts-expect-error + cb(...args) + ); + oldValue = newValue; + } finally { + activeWatcher = currentWatcher; + } + } + } else { + effect2.run(); + } + }; + if (augmentJob) { + augmentJob(job); + } + effect2 = new ReactiveEffect(getter); + effect2.scheduler = scheduler ? () => scheduler(job, false) : job; + boundCleanup = (fn) => onWatcherCleanup(fn, false, effect2); + cleanup = effect2.onStop = () => { + const cleanups = cleanupMap.get(effect2); + if (cleanups) { + if (call) { + call(cleanups, 4); + } else { + for (const cleanup2 of cleanups) cleanup2(); + } + cleanupMap.delete(effect2); + } + }; + if (true) { + effect2.onTrack = options.onTrack; + effect2.onTrigger = options.onTrigger; + } + if (cb) { + if (immediate) { + job(true); + } else { + oldValue = effect2.run(); + } + } else if (scheduler) { + scheduler(job.bind(null, true), true); + } else { + effect2.run(); + } + watchHandle.pause = effect2.pause.bind(effect2); + watchHandle.resume = effect2.resume.bind(effect2); + watchHandle.stop = watchHandle; + return watchHandle; +} +function traverse(value, depth = Infinity, seen) { + if (depth <= 0 || !isObject(value) || value["__v_skip"]) { + return value; + } + seen = seen || /* @__PURE__ */ new Set(); + if (seen.has(value)) { + return value; + } + seen.add(value); + depth--; + if (isRef2(value)) { + traverse(value.value, depth, seen); + } else if (isArray(value)) { + for (let i = 0; i < value.length; i++) { + traverse(value[i], depth, seen); + } + } else if (isSet(value) || isMap(value)) { + value.forEach((v) => { + traverse(v, depth, seen); + }); + } else if (isPlainObject(value)) { + for (const key in value) { + traverse(value[key], depth, seen); + } + for (const key of Object.getOwnPropertySymbols(value)) { + if (Object.prototype.propertyIsEnumerable.call(value, key)) { + traverse(value[key], depth, seen); + } + } + } + return value; +} + +// node_modules/@vue/runtime-core/dist/runtime-core.esm-bundler.js +var stack = []; +function pushWarningContext(vnode) { + stack.push(vnode); +} +function popWarningContext() { + stack.pop(); +} +var isWarning = false; +function warn$1(msg, ...args) { + if (isWarning) return; + isWarning = true; + pauseTracking(); + const instance = stack.length ? stack[stack.length - 1].component : null; + const appWarnHandler = instance && instance.appContext.config.warnHandler; + const trace = getComponentTrace(); + if (appWarnHandler) { + callWithErrorHandling( + appWarnHandler, + instance, + 11, + [ + // eslint-disable-next-line no-restricted-syntax + msg + args.map((a) => { + var _a, _b; + return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); + }).join(""), + instance && instance.proxy, + trace.map( + ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>` + ).join("\n"), + trace + ] + ); + } else { + const warnArgs = [`[Vue warn]: ${msg}`, ...args]; + if (trace.length && // avoid spamming console during tests + true) { + warnArgs.push(` +`, ...formatTrace(trace)); + } + console.warn(...warnArgs); + } + resetTracking(); + isWarning = false; +} +function getComponentTrace() { + let currentVNode = stack[stack.length - 1]; + if (!currentVNode) { + return []; + } + const normalizedStack = []; + while (currentVNode) { + const last = normalizedStack[0]; + if (last && last.vnode === currentVNode) { + last.recurseCount++; + } else { + normalizedStack.push({ + vnode: currentVNode, + recurseCount: 0 + }); + } + const parentInstance = currentVNode.component && currentVNode.component.parent; + currentVNode = parentInstance && parentInstance.vnode; + } + return normalizedStack; +} +function formatTrace(trace) { + const logs = []; + trace.forEach((entry, i) => { + logs.push(...i === 0 ? [] : [` +`], ...formatTraceEntry(entry)); + }); + return logs; +} +function formatTraceEntry({ vnode, recurseCount }) { + const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; + const isRoot = vnode.component ? vnode.component.parent == null : false; + const open = ` at <${formatComponentName( + vnode.component, + vnode.type, + isRoot + )}`; + const close = `>` + postfix; + return vnode.props ? [open, ...formatProps(vnode.props), close] : [open + close]; +} +function formatProps(props) { + const res = []; + const keys = Object.keys(props); + keys.slice(0, 3).forEach((key) => { + res.push(...formatProp(key, props[key])); + }); + if (keys.length > 3) { + res.push(` ...`); + } + return res; +} +function formatProp(key, value, raw) { + if (isString(value)) { + value = JSON.stringify(value); + return raw ? value : [`${key}=${value}`]; + } else if (typeof value === "number" || typeof value === "boolean" || value == null) { + return raw ? value : [`${key}=${value}`]; + } else if (isRef2(value)) { + value = formatProp(key, toRaw(value.value), true); + return raw ? value : [`${key}=Ref<`, value, `>`]; + } else if (isFunction(value)) { + return [`${key}=fn${value.name ? `<${value.name}>` : ``}`]; + } else { + value = toRaw(value); + return raw ? value : [`${key}=`, value]; + } +} +function assertNumber(val, type) { + if (false) return; + if (val === void 0) { + return; + } else if (typeof val !== "number") { + warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`); + } else if (isNaN(val)) { + warn$1(`${type} is NaN - the duration expression might be incorrect.`); + } +} +var ErrorCodes = { + "SETUP_FUNCTION": 0, + "0": "SETUP_FUNCTION", + "RENDER_FUNCTION": 1, + "1": "RENDER_FUNCTION", + "NATIVE_EVENT_HANDLER": 5, + "5": "NATIVE_EVENT_HANDLER", + "COMPONENT_EVENT_HANDLER": 6, + "6": "COMPONENT_EVENT_HANDLER", + "VNODE_HOOK": 7, + "7": "VNODE_HOOK", + "DIRECTIVE_HOOK": 8, + "8": "DIRECTIVE_HOOK", + "TRANSITION_HOOK": 9, + "9": "TRANSITION_HOOK", + "APP_ERROR_HANDLER": 10, + "10": "APP_ERROR_HANDLER", + "APP_WARN_HANDLER": 11, + "11": "APP_WARN_HANDLER", + "FUNCTION_REF": 12, + "12": "FUNCTION_REF", + "ASYNC_COMPONENT_LOADER": 13, + "13": "ASYNC_COMPONENT_LOADER", + "SCHEDULER": 14, + "14": "SCHEDULER", + "COMPONENT_UPDATE": 15, + "15": "COMPONENT_UPDATE", + "APP_UNMOUNT_CLEANUP": 16, + "16": "APP_UNMOUNT_CLEANUP" +}; +var ErrorTypeStrings$1 = { + ["sp"]: "serverPrefetch hook", + ["bc"]: "beforeCreate hook", + ["c"]: "created hook", + ["bm"]: "beforeMount hook", + ["m"]: "mounted hook", + ["bu"]: "beforeUpdate hook", + ["u"]: "updated", + ["bum"]: "beforeUnmount hook", + ["um"]: "unmounted hook", + ["a"]: "activated hook", + ["da"]: "deactivated hook", + ["ec"]: "errorCaptured hook", + ["rtc"]: "renderTracked hook", + ["rtg"]: "renderTriggered hook", + [0]: "setup function", + [1]: "render function", + [2]: "watcher getter", + [3]: "watcher callback", + [4]: "watcher cleanup function", + [5]: "native event handler", + [6]: "component event handler", + [7]: "vnode hook", + [8]: "directive hook", + [9]: "transition hook", + [10]: "app errorHandler", + [11]: "app warnHandler", + [12]: "ref function", + [13]: "async component loader", + [14]: "scheduler flush", + [15]: "component update", + [16]: "app unmount cleanup function" +}; +function callWithErrorHandling(fn, instance, type, args) { + try { + return args ? fn(...args) : fn(); + } catch (err) { + handleError(err, instance, type); + } +} +function callWithAsyncErrorHandling(fn, instance, type, args) { + if (isFunction(fn)) { + const res = callWithErrorHandling(fn, instance, type, args); + if (res && isPromise(res)) { + res.catch((err) => { + handleError(err, instance, type); + }); + } + return res; + } + if (isArray(fn)) { + const values = []; + for (let i = 0; i < fn.length; i++) { + values.push(callWithAsyncErrorHandling(fn[i], instance, type, args)); + } + return values; + } else if (true) { + warn$1( + `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}` + ); + } +} +function handleError(err, instance, type, throwInDev = true) { + const contextVNode = instance ? instance.vnode : null; + const { errorHandler, throwUnhandledErrorInProduction } = instance && instance.appContext.config || EMPTY_OBJ; + if (instance) { + let cur = instance.parent; + const exposedInstance = instance.proxy; + const errorInfo = true ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`; + while (cur) { + const errorCapturedHooks = cur.ec; + if (errorCapturedHooks) { + for (let i = 0; i < errorCapturedHooks.length; i++) { + if (errorCapturedHooks[i](err, exposedInstance, errorInfo) === false) { + return; + } + } + } + cur = cur.parent; + } + if (errorHandler) { + pauseTracking(); + callWithErrorHandling(errorHandler, null, 10, [ + err, + exposedInstance, + errorInfo + ]); + resetTracking(); + return; + } + } + logError(err, type, contextVNode, throwInDev, throwUnhandledErrorInProduction); +} +function logError(err, type, contextVNode, throwInDev = true, throwInProd = false) { + if (true) { + const info = ErrorTypeStrings$1[type]; + if (contextVNode) { + pushWarningContext(contextVNode); + } + warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`); + if (contextVNode) { + popWarningContext(); + } + if (throwInDev) { + throw err; + } else { + console.error(err); + } + } else if (throwInProd) { + throw err; + } else { + console.error(err); + } +} +var queue = []; +var flushIndex = -1; +var pendingPostFlushCbs = []; +var activePostFlushCbs = null; +var postFlushIndex = 0; +var resolvedPromise = Promise.resolve(); +var currentFlushPromise = null; +var RECURSION_LIMIT = 100; +function nextTick(fn) { + const p2 = currentFlushPromise || resolvedPromise; + return fn ? p2.then(this ? fn.bind(this) : fn) : p2; +} +function findInsertionIndex(id) { + let start = flushIndex + 1; + let end = queue.length; + while (start < end) { + const middle = start + end >>> 1; + const middleJob = queue[middle]; + const middleJobId = getId(middleJob); + if (middleJobId < id || middleJobId === id && middleJob.flags & 2) { + start = middle + 1; + } else { + end = middle; + } + } + return start; +} +function queueJob(job) { + if (!(job.flags & 1)) { + const jobId = getId(job); + const lastJob = queue[queue.length - 1]; + if (!lastJob || // fast path when the job id is larger than the tail + !(job.flags & 2) && jobId >= getId(lastJob)) { + queue.push(job); + } else { + queue.splice(findInsertionIndex(jobId), 0, job); + } + job.flags |= 1; + queueFlush(); + } +} +function queueFlush() { + if (!currentFlushPromise) { + currentFlushPromise = resolvedPromise.then(flushJobs); + } +} +function queuePostFlushCb(cb) { + if (!isArray(cb)) { + if (activePostFlushCbs && cb.id === -1) { + activePostFlushCbs.splice(postFlushIndex + 1, 0, cb); + } else if (!(cb.flags & 1)) { + pendingPostFlushCbs.push(cb); + cb.flags |= 1; + } + } else { + pendingPostFlushCbs.push(...cb); + } + queueFlush(); +} +function flushPreFlushCbs(instance, seen, i = flushIndex + 1) { + if (true) { + seen = seen || /* @__PURE__ */ new Map(); + } + for (; i < queue.length; i++) { + const cb = queue[i]; + if (cb && cb.flags & 2) { + if (instance && cb.id !== instance.uid) { + continue; + } + if (checkRecursiveUpdates(seen, cb)) { + continue; + } + queue.splice(i, 1); + i--; + if (cb.flags & 4) { + cb.flags &= ~1; + } + cb(); + if (!(cb.flags & 4)) { + cb.flags &= ~1; + } + } + } +} +function flushPostFlushCbs(seen) { + if (pendingPostFlushCbs.length) { + const deduped = [...new Set(pendingPostFlushCbs)].sort( + (a, b) => getId(a) - getId(b) + ); + pendingPostFlushCbs.length = 0; + if (activePostFlushCbs) { + activePostFlushCbs.push(...deduped); + return; + } + activePostFlushCbs = deduped; + if (true) { + seen = seen || /* @__PURE__ */ new Map(); + } + for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { + const cb = activePostFlushCbs[postFlushIndex]; + if (checkRecursiveUpdates(seen, cb)) { + continue; + } + if (cb.flags & 4) { + cb.flags &= ~1; + } + if (!(cb.flags & 8)) cb(); + cb.flags &= ~1; + } + activePostFlushCbs = null; + postFlushIndex = 0; + } +} +var getId = (job) => job.id == null ? job.flags & 2 ? -1 : Infinity : job.id; +function flushJobs(seen) { + if (true) { + seen = seen || /* @__PURE__ */ new Map(); + } + const check = true ? (job) => checkRecursiveUpdates(seen, job) : NOOP; + try { + for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job && !(job.flags & 8)) { + if (check(job)) { + continue; + } + if (job.flags & 4) { + job.flags &= ~1; + } + callWithErrorHandling( + job, + job.i, + job.i ? 15 : 14 + ); + if (!(job.flags & 4)) { + job.flags &= ~1; + } + } + } + } finally { + for (; flushIndex < queue.length; flushIndex++) { + const job = queue[flushIndex]; + if (job) { + job.flags &= ~1; + } + } + flushIndex = -1; + queue.length = 0; + flushPostFlushCbs(seen); + currentFlushPromise = null; + if (queue.length || pendingPostFlushCbs.length) { + flushJobs(seen); + } + } +} +function checkRecursiveUpdates(seen, fn) { + const count = seen.get(fn) || 0; + if (count > RECURSION_LIMIT) { + const instance = fn.i; + const componentName = instance && getComponentName(instance.type); + handleError( + `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, + null, + 10 + ); + return true; + } + seen.set(fn, count + 1); + return false; +} +var isHmrUpdating = false; +var hmrDirtyComponents = /* @__PURE__ */ new Map(); +if (true) { + getGlobalThis().__VUE_HMR_RUNTIME__ = { + createRecord: tryWrap(createRecord), + rerender: tryWrap(rerender), + reload: tryWrap(reload) + }; +} +var map = /* @__PURE__ */ new Map(); +function registerHMR(instance) { + const id = instance.type.__hmrId; + let record = map.get(id); + if (!record) { + createRecord(id, instance.type); + record = map.get(id); + } + record.instances.add(instance); +} +function unregisterHMR(instance) { + map.get(instance.type.__hmrId).instances.delete(instance); +} +function createRecord(id, initialDef) { + if (map.has(id)) { + return false; + } + map.set(id, { + initialDef: normalizeClassComponent(initialDef), + instances: /* @__PURE__ */ new Set() + }); + return true; +} +function normalizeClassComponent(component) { + return isClassComponent(component) ? component.__vccOpts : component; +} +function rerender(id, newRender) { + const record = map.get(id); + if (!record) { + return; + } + record.initialDef.render = newRender; + [...record.instances].forEach((instance) => { + if (newRender) { + instance.render = newRender; + normalizeClassComponent(instance.type).render = newRender; + } + instance.renderCache = []; + isHmrUpdating = true; + instance.update(); + isHmrUpdating = false; + }); +} +function reload(id, newComp) { + const record = map.get(id); + if (!record) return; + newComp = normalizeClassComponent(newComp); + updateComponentDef(record.initialDef, newComp); + const instances = [...record.instances]; + for (let i = 0; i < instances.length; i++) { + const instance = instances[i]; + const oldComp = normalizeClassComponent(instance.type); + let dirtyInstances = hmrDirtyComponents.get(oldComp); + if (!dirtyInstances) { + if (oldComp !== record.initialDef) { + updateComponentDef(oldComp, newComp); + } + hmrDirtyComponents.set(oldComp, dirtyInstances = /* @__PURE__ */ new Set()); + } + dirtyInstances.add(instance); + instance.appContext.propsCache.delete(instance.type); + instance.appContext.emitsCache.delete(instance.type); + instance.appContext.optionsCache.delete(instance.type); + if (instance.ceReload) { + dirtyInstances.add(instance); + instance.ceReload(newComp.styles); + dirtyInstances.delete(instance); + } else if (instance.parent) { + queueJob(() => { + isHmrUpdating = true; + instance.parent.update(); + isHmrUpdating = false; + dirtyInstances.delete(instance); + }); + } else if (instance.appContext.reload) { + instance.appContext.reload(); + } else if (typeof window !== "undefined") { + window.location.reload(); + } else { + console.warn( + "[HMR] Root or manually mounted instance modified. Full reload required." + ); + } + if (instance.root.ce && instance !== instance.root) { + instance.root.ce._removeChildStyle(oldComp); + } + } + queuePostFlushCb(() => { + hmrDirtyComponents.clear(); + }); +} +function updateComponentDef(oldComp, newComp) { + extend(oldComp, newComp); + for (const key in oldComp) { + if (key !== "__file" && !(key in newComp)) { + delete oldComp[key]; + } + } +} +function tryWrap(fn) { + return (id, arg) => { + try { + return fn(id, arg); + } catch (e) { + console.error(e); + console.warn( + `[HMR] Something went wrong during Vue component hot-reload. Full reload required.` + ); + } + }; +} +var devtools$1; +var buffer = []; +var devtoolsNotInstalled = false; +function emit$1(event, ...args) { + if (devtools$1) { + devtools$1.emit(event, ...args); + } else if (!devtoolsNotInstalled) { + buffer.push({ event, args }); + } +} +function setDevtoolsHook$1(hook, target) { + var _a, _b; + devtools$1 = hook; + if (devtools$1) { + devtools$1.enabled = true; + buffer.forEach(({ event, args }) => devtools$1.emit(event, ...args)); + buffer = []; + } else if ( + // handle late devtools injection - only do this if we are in an actual + // browser environment to avoid the timer handle stalling test runner exit + // (#4815) + typeof window !== "undefined" && // some envs mock window but not fully + window.HTMLElement && // also exclude jsdom + // eslint-disable-next-line no-restricted-syntax + !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom")) + ) { + const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; + replay.push((newHook) => { + setDevtoolsHook$1(newHook, target); + }); + setTimeout(() => { + if (!devtools$1) { + target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; + devtoolsNotInstalled = true; + buffer = []; + } + }, 3e3); + } else { + devtoolsNotInstalled = true; + buffer = []; + } +} +function devtoolsInitApp(app, version2) { + emit$1("app:init", app, version2, { + Fragment, + Text, + Comment, + Static + }); +} +function devtoolsUnmountApp(app) { + emit$1("app:unmount", app); +} +var devtoolsComponentAdded = createDevtoolsComponentHook( + "component:added" + /* COMPONENT_ADDED */ +); +var devtoolsComponentUpdated = createDevtoolsComponentHook( + "component:updated" + /* COMPONENT_UPDATED */ +); +var _devtoolsComponentRemoved = createDevtoolsComponentHook( + "component:removed" + /* COMPONENT_REMOVED */ +); +var devtoolsComponentRemoved = (component) => { + if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && // remove the component if it wasn't buffered + !devtools$1.cleanupBuffer(component)) { + _devtoolsComponentRemoved(component); + } +}; +function createDevtoolsComponentHook(hook) { + return (component) => { + emit$1( + hook, + component.appContext.app, + component.uid, + component.parent ? component.parent.uid : void 0, + component + ); + }; +} +var devtoolsPerfStart = createDevtoolsPerformanceHook( + "perf:start" + /* PERFORMANCE_START */ +); +var devtoolsPerfEnd = createDevtoolsPerformanceHook( + "perf:end" + /* PERFORMANCE_END */ +); +function createDevtoolsPerformanceHook(hook) { + return (component, type, time) => { + emit$1(hook, component.appContext.app, component.uid, component, type, time); + }; +} +function devtoolsComponentEmit(component, event, params) { + emit$1( + "component:emit", + component.appContext.app, + component, + event, + params + ); +} +var currentRenderingInstance = null; +var currentScopeId = null; +function setCurrentRenderingInstance(instance) { + const prev = currentRenderingInstance; + currentRenderingInstance = instance; + currentScopeId = instance && instance.type.__scopeId || null; + return prev; +} +function pushScopeId(id) { + currentScopeId = id; +} +function popScopeId() { + currentScopeId = null; +} +var withScopeId = (_id) => withCtx; +function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { + if (!ctx) return fn; + if (fn._n) { + return fn; + } + const renderFnWithContext = (...args) => { + if (renderFnWithContext._d) { + setBlockTracking(-1); + } + const prevInstance = setCurrentRenderingInstance(ctx); + let res; + try { + res = fn(...args); + } finally { + setCurrentRenderingInstance(prevInstance); + if (renderFnWithContext._d) { + setBlockTracking(1); + } + } + if (true) { + devtoolsComponentUpdated(ctx); + } + return res; + }; + renderFnWithContext._n = true; + renderFnWithContext._c = true; + renderFnWithContext._d = true; + return renderFnWithContext; +} +function validateDirectiveName(name) { + if (isBuiltInDirective(name)) { + warn$1("Do not use built-in directive ids as custom directive id: " + name); + } +} +function withDirectives(vnode, directives) { + if (currentRenderingInstance === null) { + warn$1(`withDirectives can only be used inside render functions.`); + return vnode; + } + const instance = getComponentPublicInstance(currentRenderingInstance); + const bindings = vnode.dirs || (vnode.dirs = []); + for (let i = 0; i < directives.length; i++) { + let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i]; + if (dir) { + if (isFunction(dir)) { + dir = { + mounted: dir, + updated: dir + }; + } + if (dir.deep) { + traverse(value); + } + bindings.push({ + dir, + instance, + value, + oldValue: void 0, + arg, + modifiers + }); + } + } + return vnode; +} +function invokeDirectiveHook(vnode, prevVNode, instance, name) { + const bindings = vnode.dirs; + const oldBindings = prevVNode && prevVNode.dirs; + for (let i = 0; i < bindings.length; i++) { + const binding = bindings[i]; + if (oldBindings) { + binding.oldValue = oldBindings[i].value; + } + let hook = binding.dir[name]; + if (hook) { + pauseTracking(); + callWithAsyncErrorHandling(hook, instance, 8, [ + vnode.el, + binding, + vnode, + prevVNode + ]); + resetTracking(); + } + } +} +var TeleportEndKey = Symbol("_vte"); +var isTeleport = (type) => type.__isTeleport; +var isTeleportDisabled = (props) => props && (props.disabled || props.disabled === ""); +var isTeleportDeferred = (props) => props && (props.defer || props.defer === ""); +var isTargetSVG = (target) => typeof SVGElement !== "undefined" && target instanceof SVGElement; +var isTargetMathML = (target) => typeof MathMLElement === "function" && target instanceof MathMLElement; +var resolveTarget = (props, select) => { + const targetSelector = props && props.to; + if (isString(targetSelector)) { + if (!select) { + warn$1( + `Current renderer does not support string target for Teleports. (missing querySelector renderer option)` + ); + return null; + } else { + const target = select(targetSelector); + if (!target && !isTeleportDisabled(props)) { + warn$1( + `Failed to locate Teleport target with selector "${targetSelector}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.` + ); + } + return target; + } + } else { + if (!targetSelector && !isTeleportDisabled(props)) { + warn$1(`Invalid Teleport target: ${targetSelector}`); + } + return targetSelector; + } +}; +var TeleportImpl = { + name: "Teleport", + __isTeleport: true, + process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, internals) { + const { + mc: mountChildren, + pc: patchChildren, + pbc: patchBlockChildren, + o: { insert, querySelector, createText, createComment } + } = internals; + const disabled = isTeleportDisabled(n2.props); + let { shapeFlag, children, dynamicChildren } = n2; + if (isHmrUpdating) { + optimized = false; + dynamicChildren = null; + } + if (n1 == null) { + const placeholder = n2.el = true ? createComment("teleport start") : createText(""); + const mainAnchor = n2.anchor = true ? createComment("teleport end") : createText(""); + insert(placeholder, container, anchor); + insert(mainAnchor, container, anchor); + const mount = (container2, anchor2) => { + if (shapeFlag & 16) { + if (parentComponent && parentComponent.isCE) { + parentComponent.ce._teleportTarget = container2; + } + mountChildren( + children, + container2, + anchor2, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + optimized + ); + } + }; + const mountToTarget = () => { + const target = n2.target = resolveTarget(n2.props, querySelector); + const targetAnchor = prepareAnchor(target, n2, createText, insert); + if (target) { + if (namespace !== "svg" && isTargetSVG(target)) { + namespace = "svg"; + } else if (namespace !== "mathml" && isTargetMathML(target)) { + namespace = "mathml"; + } + if (!disabled) { + mount(target, targetAnchor); + updateCssVars(n2, false); + } + } else if (!disabled) { + warn$1( + "Invalid Teleport target on mount:", + target, + `(${typeof target})` + ); + } + }; + if (disabled) { + mount(container, mainAnchor); + updateCssVars(n2, true); + } + if (isTeleportDeferred(n2.props)) { + queuePostRenderEffect(mountToTarget, parentSuspense); + } else { + mountToTarget(); + } + } else { + n2.el = n1.el; + n2.targetStart = n1.targetStart; + const mainAnchor = n2.anchor = n1.anchor; + const target = n2.target = n1.target; + const targetAnchor = n2.targetAnchor = n1.targetAnchor; + const wasDisabled = isTeleportDisabled(n1.props); + const currentContainer = wasDisabled ? container : target; + const currentAnchor = wasDisabled ? mainAnchor : targetAnchor; + if (namespace === "svg" || isTargetSVG(target)) { + namespace = "svg"; + } else if (namespace === "mathml" || isTargetMathML(target)) { + namespace = "mathml"; + } + if (dynamicChildren) { + patchBlockChildren( + n1.dynamicChildren, + dynamicChildren, + currentContainer, + parentComponent, + parentSuspense, + namespace, + slotScopeIds + ); + traverseStaticChildren(n1, n2, true); + } else if (!optimized) { + patchChildren( + n1, + n2, + currentContainer, + currentAnchor, + parentComponent, + parentSuspense, + namespace, + slotScopeIds, + false + ); + } + if (disabled) { + if (!wasDisabled) { + moveTeleport( + n2, + container, + mainAnchor, + internals, + 1 + ); + } else { + if (n2.props && n1.props && n2.props.to !== n1.props.to) { + n2.props.to = n1.props.to; + } + } + } else { + if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) { + const nextTarget = n2.target = resolveTarget( + n2.props, + querySelector + ); + if (nextTarget) { + moveTeleport( + n2, + nextTarget, + null, + internals, + 0 + ); + } else if (true) { + warn$1( + "Invalid Teleport target on update:", + target, + `(${typeof target})` + ); + } + } else if (wasDisabled) { + moveTeleport( + n2, + target, + targetAnchor, + internals, + 1 + ); + } + } + updateCssVars(n2, disabled); + } + }, + remove(vnode, parentComponent, parentSuspense, { um: unmount, o: { remove: hostRemove } }, doRemove) { + const { + shapeFlag, + children, + anchor, + targetStart, + targetAnchor, + target, + props + } = vnode; + if (target) { + hostRemove(targetStart); + hostRemove(targetAnchor); + } + doRemove && hostRemove(anchor); + if (shapeFlag & 16) { + const shouldRemove = doRemove || !isTeleportDisabled(props); + for (let i = 0; i < children.length; i++) { + const child = children[i]; + unmount( + child, + parentComponent, + parentSuspense, + shouldRemove, + !!child.dynamicChildren + ); + } + } + }, + move: moveTeleport, + hydrate: hydrateTeleport +}; +function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }, moveType = 2) { + if (moveType === 0) { + insert(vnode.targetAnchor, container, parentAnchor); + } + const { el, anchor, shapeFlag, children, props } = vnode; + const isReorder = moveType === 2; + if (isReorder) { + insert(el, container, parentAnchor); + } + if (!isReorder || isTeleportDisabled(props)) { + if (shapeFlag & 16) { + for (let i = 0; i < children.length; i++) { + move( + children[i], + container, + parentAnchor, + 2 + ); + } + } + } + if (isReorder) { + insert(anchor, container, parentAnchor); + } +} +function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, { + o: { nextSibling, parentNode, querySelector, insert, createText } +}, hydrateChildren) { + const target = vnode.target = resolveTarget( + vnode.props, + querySelector + ); + if (target) { + const disabled = isTeleportDisabled(vnode.props); + const targetNode = target._lpa || target.firstChild; + if (vnode.shapeFlag & 16) { + if (disabled) { + vnode.anchor = hydrateChildren( + nextSibling(node), + vnode, + parentNode(node), + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + vnode.targetStart = targetNode; + vnode.targetAnchor = targetNode && nextSibling(targetNode); + } else { + vnode.anchor = nextSibling(node); + let targetAnchor = targetNode; + while (targetAnchor) { + if (targetAnchor && targetAnchor.nodeType === 8) { + if (targetAnchor.data === "teleport start anchor") { + vnode.targetStart = targetAnchor; + } else if (targetAnchor.data === "teleport anchor") { + vnode.targetAnchor = targetAnchor; + target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor); + break; + } + } + targetAnchor = nextSibling(targetAnchor); + } + if (!vnode.targetAnchor) { + prepareAnchor(target, vnode, createText, insert); + } + hydrateChildren( + targetNode && nextSibling(targetNode), + vnode, + target, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + } + updateCssVars(vnode, disabled); + } + return vnode.anchor && nextSibling(vnode.anchor); +} +var Teleport = TeleportImpl; +function updateCssVars(vnode, isDisabled) { + const ctx = vnode.ctx; + if (ctx && ctx.ut) { + let node, anchor; + if (isDisabled) { + node = vnode.el; + anchor = vnode.anchor; + } else { + node = vnode.targetStart; + anchor = vnode.targetAnchor; + } + while (node && node !== anchor) { + if (node.nodeType === 1) node.setAttribute("data-v-owner", ctx.uid); + node = node.nextSibling; + } + ctx.ut(); + } +} +function prepareAnchor(target, vnode, createText, insert) { + const targetStart = vnode.targetStart = createText(""); + const targetAnchor = vnode.targetAnchor = createText(""); + targetStart[TeleportEndKey] = targetAnchor; + if (target) { + insert(targetStart, target); + insert(targetAnchor, target); + } + return targetAnchor; +} +var leaveCbKey = Symbol("_leaveCb"); +var enterCbKey = Symbol("_enterCb"); +function useTransitionState() { + const state = { + isMounted: false, + isLeaving: false, + isUnmounting: false, + leavingVNodes: /* @__PURE__ */ new Map() + }; + onMounted(() => { + state.isMounted = true; + }); + onBeforeUnmount(() => { + state.isUnmounting = true; + }); + return state; +} +var TransitionHookValidator = [Function, Array]; +var BaseTransitionPropsValidators = { + mode: String, + appear: Boolean, + persisted: Boolean, + // enter + onBeforeEnter: TransitionHookValidator, + onEnter: TransitionHookValidator, + onAfterEnter: TransitionHookValidator, + onEnterCancelled: TransitionHookValidator, + // leave + onBeforeLeave: TransitionHookValidator, + onLeave: TransitionHookValidator, + onAfterLeave: TransitionHookValidator, + onLeaveCancelled: TransitionHookValidator, + // appear + onBeforeAppear: TransitionHookValidator, + onAppear: TransitionHookValidator, + onAfterAppear: TransitionHookValidator, + onAppearCancelled: TransitionHookValidator +}; +var recursiveGetSubtree = (instance) => { + const subTree = instance.subTree; + return subTree.component ? recursiveGetSubtree(subTree.component) : subTree; +}; +var BaseTransitionImpl = { + name: `BaseTransition`, + props: BaseTransitionPropsValidators, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const state = useTransitionState(); + return () => { + const children = slots.default && getTransitionRawChildren(slots.default(), true); + if (!children || !children.length) { + return; + } + const child = findNonCommentChild(children); + const rawProps = toRaw(props); + const { mode } = rawProps; + if (mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") { + warn$1(`invalid mode: ${mode}`); + } + if (state.isLeaving) { + return emptyPlaceholder(child); + } + const innerChild = getInnerChild$1(child); + if (!innerChild) { + return emptyPlaceholder(child); + } + let enterHooks = resolveTransitionHooks( + innerChild, + rawProps, + state, + instance, + // #11061, ensure enterHooks is fresh after clone + (hooks) => enterHooks = hooks + ); + if (innerChild.type !== Comment) { + setTransitionHooks(innerChild, enterHooks); + } + const oldChild = instance.subTree; + const oldInnerChild = oldChild && getInnerChild$1(oldChild); + if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) { + const leavingHooks = resolveTransitionHooks( + oldInnerChild, + rawProps, + state, + instance + ); + setTransitionHooks(oldInnerChild, leavingHooks); + if (mode === "out-in" && innerChild.type !== Comment) { + state.isLeaving = true; + leavingHooks.afterLeave = () => { + state.isLeaving = false; + if (!(instance.job.flags & 8)) { + instance.update(); + } + delete leavingHooks.afterLeave; + }; + return emptyPlaceholder(child); + } else if (mode === "in-out" && innerChild.type !== Comment) { + leavingHooks.delayLeave = (el, earlyRemove, delayedLeave) => { + const leavingVNodesCache = getLeavingNodesForType( + state, + oldInnerChild + ); + leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild; + el[leaveCbKey] = () => { + earlyRemove(); + el[leaveCbKey] = void 0; + delete enterHooks.delayedLeave; + }; + enterHooks.delayedLeave = delayedLeave; + }; + } + } + return child; + }; + } +}; +function findNonCommentChild(children) { + let child = children[0]; + if (children.length > 1) { + let hasFound = false; + for (const c of children) { + if (c.type !== Comment) { + if (hasFound) { + warn$1( + " can only be used on a single element or component. Use for lists." + ); + break; + } + child = c; + hasFound = true; + if (false) break; + } + } + } + return child; +} +var BaseTransition = BaseTransitionImpl; +function getLeavingNodesForType(state, vnode) { + const { leavingVNodes } = state; + let leavingVNodesCache = leavingVNodes.get(vnode.type); + if (!leavingVNodesCache) { + leavingVNodesCache = /* @__PURE__ */ Object.create(null); + leavingVNodes.set(vnode.type, leavingVNodesCache); + } + return leavingVNodesCache; +} +function resolveTransitionHooks(vnode, props, state, instance, postClone) { + const { + appear, + mode, + persisted = false, + onBeforeEnter, + onEnter, + onAfterEnter, + onEnterCancelled, + onBeforeLeave, + onLeave, + onAfterLeave, + onLeaveCancelled, + onBeforeAppear, + onAppear, + onAfterAppear, + onAppearCancelled + } = props; + const key = String(vnode.key); + const leavingVNodesCache = getLeavingNodesForType(state, vnode); + const callHook3 = (hook, args) => { + hook && callWithAsyncErrorHandling( + hook, + instance, + 9, + args + ); + }; + const callAsyncHook = (hook, args) => { + const done = args[1]; + callHook3(hook, args); + if (isArray(hook)) { + if (hook.every((hook2) => hook2.length <= 1)) done(); + } else if (hook.length <= 1) { + done(); + } + }; + const hooks = { + mode, + persisted, + beforeEnter(el) { + let hook = onBeforeEnter; + if (!state.isMounted) { + if (appear) { + hook = onBeforeAppear || onBeforeEnter; + } else { + return; + } + } + if (el[leaveCbKey]) { + el[leaveCbKey]( + true + /* cancelled */ + ); + } + const leavingVNode = leavingVNodesCache[key]; + if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) { + leavingVNode.el[leaveCbKey](); + } + callHook3(hook, [el]); + }, + enter(el) { + let hook = onEnter; + let afterHook = onAfterEnter; + let cancelHook = onEnterCancelled; + if (!state.isMounted) { + if (appear) { + hook = onAppear || onEnter; + afterHook = onAfterAppear || onAfterEnter; + cancelHook = onAppearCancelled || onEnterCancelled; + } else { + return; + } + } + let called = false; + const done = el[enterCbKey] = (cancelled) => { + if (called) return; + called = true; + if (cancelled) { + callHook3(cancelHook, [el]); + } else { + callHook3(afterHook, [el]); + } + if (hooks.delayedLeave) { + hooks.delayedLeave(); + } + el[enterCbKey] = void 0; + }; + if (hook) { + callAsyncHook(hook, [el, done]); + } else { + done(); + } + }, + leave(el, remove2) { + const key2 = String(vnode.key); + if (el[enterCbKey]) { + el[enterCbKey]( + true + /* cancelled */ + ); + } + if (state.isUnmounting) { + return remove2(); + } + callHook3(onBeforeLeave, [el]); + let called = false; + const done = el[leaveCbKey] = (cancelled) => { + if (called) return; + called = true; + remove2(); + if (cancelled) { + callHook3(onLeaveCancelled, [el]); + } else { + callHook3(onAfterLeave, [el]); + } + el[leaveCbKey] = void 0; + if (leavingVNodesCache[key2] === vnode) { + delete leavingVNodesCache[key2]; + } + }; + leavingVNodesCache[key2] = vnode; + if (onLeave) { + callAsyncHook(onLeave, [el, done]); + } else { + done(); + } + }, + clone(vnode2) { + const hooks2 = resolveTransitionHooks( + vnode2, + props, + state, + instance, + postClone + ); + if (postClone) postClone(hooks2); + return hooks2; + } + }; + return hooks; +} +function emptyPlaceholder(vnode) { + if (isKeepAlive(vnode)) { + vnode = cloneVNode(vnode); + vnode.children = null; + return vnode; + } +} +function getInnerChild$1(vnode) { + if (!isKeepAlive(vnode)) { + if (isTeleport(vnode.type) && vnode.children) { + return findNonCommentChild(vnode.children); + } + return vnode; + } + if (vnode.component) { + return vnode.component.subTree; + } + const { shapeFlag, children } = vnode; + if (children) { + if (shapeFlag & 16) { + return children[0]; + } + if (shapeFlag & 32 && isFunction(children.default)) { + return children.default(); + } + } +} +function setTransitionHooks(vnode, hooks) { + if (vnode.shapeFlag & 6 && vnode.component) { + vnode.transition = hooks; + setTransitionHooks(vnode.component.subTree, hooks); + } else if (vnode.shapeFlag & 128) { + vnode.ssContent.transition = hooks.clone(vnode.ssContent); + vnode.ssFallback.transition = hooks.clone(vnode.ssFallback); + } else { + vnode.transition = hooks; + } +} +function getTransitionRawChildren(children, keepComment = false, parentKey) { + let ret = []; + let keyedFragmentCount = 0; + for (let i = 0; i < children.length; i++) { + let child = children[i]; + const key = parentKey == null ? child.key : String(parentKey) + String(child.key != null ? child.key : i); + if (child.type === Fragment) { + if (child.patchFlag & 128) keyedFragmentCount++; + ret = ret.concat( + getTransitionRawChildren(child.children, keepComment, key) + ); + } else if (keepComment || child.type !== Comment) { + ret.push(key != null ? cloneVNode(child, { key }) : child); + } + } + if (keyedFragmentCount > 1) { + for (let i = 0; i < ret.length; i++) { + ret[i].patchFlag = -2; + } + } + return ret; +} +function defineComponent(options, extraOptions) { + return isFunction(options) ? ( + // #8236: extend call and options.name access are considered side-effects + // by Rollup, so we have to wrap it in a pure-annotated IIFE. + (() => extend({ name: options.name }, extraOptions, { setup: options }))() + ) : options; +} +function useId() { + const i = getCurrentInstance(); + if (i) { + return (i.appContext.config.idPrefix || "v") + "-" + i.ids[0] + i.ids[1]++; + } else if (true) { + warn$1( + `useId() is called when there is no active component instance to be associated with.` + ); + } + return ""; +} +function markAsyncBoundary(instance) { + instance.ids = [instance.ids[0] + instance.ids[2]++ + "-", 0, 0]; +} +var knownTemplateRefs = /* @__PURE__ */ new WeakSet(); +function useTemplateRef(key) { + const i = getCurrentInstance(); + const r = shallowRef(null); + if (i) { + const refs = i.refs === EMPTY_OBJ ? i.refs = {} : i.refs; + let desc; + if ((desc = Object.getOwnPropertyDescriptor(refs, key)) && !desc.configurable) { + warn$1(`useTemplateRef('${key}') already exists.`); + } else { + Object.defineProperty(refs, key, { + enumerable: true, + get: () => r.value, + set: (val) => r.value = val + }); + } + } else if (true) { + warn$1( + `useTemplateRef() is called when there is no active component instance to be associated with.` + ); + } + const ret = true ? readonly(r) : r; + if (true) { + knownTemplateRefs.add(ret); + } + return ret; +} +function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) { + if (isArray(rawRef)) { + rawRef.forEach( + (r, i) => setRef( + r, + oldRawRef && (isArray(oldRawRef) ? oldRawRef[i] : oldRawRef), + parentSuspense, + vnode, + isUnmount + ) + ); + return; + } + if (isAsyncWrapper(vnode) && !isUnmount) { + return; + } + const refValue = vnode.shapeFlag & 4 ? getComponentPublicInstance(vnode.component) : vnode.el; + const value = isUnmount ? null : refValue; + const { i: owner, r: ref2 } = rawRef; + if (!owner) { + warn$1( + `Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.` + ); + return; + } + const oldRef = oldRawRef && oldRawRef.r; + const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs; + const setupState = owner.setupState; + const rawSetupState = toRaw(setupState); + const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => { + if (true) { + if (hasOwn(rawSetupState, key) && !isRef2(rawSetupState[key])) { + warn$1( + `Template ref "${key}" used on a non-ref value. It will not work in the production build.` + ); + } + if (knownTemplateRefs.has(rawSetupState[key])) { + return false; + } + } + return hasOwn(rawSetupState, key); + }; + if (oldRef != null && oldRef !== ref2) { + if (isString(oldRef)) { + refs[oldRef] = null; + if (canSetSetupRef(oldRef)) { + setupState[oldRef] = null; + } + } else if (isRef2(oldRef)) { + oldRef.value = null; + } + } + if (isFunction(ref2)) { + callWithErrorHandling(ref2, owner, 12, [value, refs]); + } else { + const _isString = isString(ref2); + const _isRef = isRef2(ref2); + if (_isString || _isRef) { + const doSet = () => { + if (rawRef.f) { + const existing = _isString ? canSetSetupRef(ref2) ? setupState[ref2] : refs[ref2] : ref2.value; + if (isUnmount) { + isArray(existing) && remove(existing, refValue); + } else { + if (!isArray(existing)) { + if (_isString) { + refs[ref2] = [refValue]; + if (canSetSetupRef(ref2)) { + setupState[ref2] = refs[ref2]; + } + } else { + ref2.value = [refValue]; + if (rawRef.k) refs[rawRef.k] = ref2.value; + } + } else if (!existing.includes(refValue)) { + existing.push(refValue); + } + } + } else if (_isString) { + refs[ref2] = value; + if (canSetSetupRef(ref2)) { + setupState[ref2] = value; + } + } else if (_isRef) { + ref2.value = value; + if (rawRef.k) refs[rawRef.k] = value; + } else if (true) { + warn$1("Invalid template ref type:", ref2, `(${typeof ref2})`); + } + }; + if (value) { + doSet.id = -1; + queuePostRenderEffect(doSet, parentSuspense); + } else { + doSet(); + } + } else if (true) { + warn$1("Invalid template ref type:", ref2, `(${typeof ref2})`); + } + } +} +var hasLoggedMismatchError = false; +var logMismatchError = () => { + if (hasLoggedMismatchError) { + return; + } + console.error("Hydration completed but contains mismatches."); + hasLoggedMismatchError = true; +}; +var isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject"; +var isMathMLContainer = (container) => container.namespaceURI.includes("MathML"); +var getContainerType = (container) => { + if (container.nodeType !== 1) return void 0; + if (isSVGContainer(container)) return "svg"; + if (isMathMLContainer(container)) return "mathml"; + return void 0; +}; +var isComment = (node) => node.nodeType === 8; +function createHydrationFunctions(rendererInternals) { + const { + mt: mountComponent, + p: patch, + o: { + patchProp: patchProp2, + createText, + nextSibling, + parentNode, + remove: remove2, + insert, + createComment + } + } = rendererInternals; + const hydrate2 = (vnode, container) => { + if (!container.hasChildNodes()) { + warn$1( + `Attempting to hydrate existing markup but container is empty. Performing full mount instead.` + ); + patch(null, vnode, container); + flushPostFlushCbs(); + container._vnode = vnode; + return; + } + hydrateNode(container.firstChild, vnode, null, null, null); + flushPostFlushCbs(); + container._vnode = vnode; + }; + const hydrateNode = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized = false) => { + optimized = optimized || !!vnode.dynamicChildren; + const isFragmentStart = isComment(node) && node.data === "["; + const onMismatch = () => handleMismatch( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + isFragmentStart + ); + const { type, ref: ref2, shapeFlag, patchFlag } = vnode; + let domType = node.nodeType; + vnode.el = node; + if (true) { + def(node, "__vnode", vnode, true); + def(node, "__vueParentComponent", parentComponent, true); + } + if (patchFlag === -2) { + optimized = false; + vnode.dynamicChildren = null; + } + let nextNode = null; + switch (type) { + case Text: + if (domType !== 3) { + if (vnode.children === "") { + insert(vnode.el = createText(""), parentNode(node), node); + nextNode = node; + } else { + nextNode = onMismatch(); + } + } else { + if (node.data !== vnode.children) { + warn$1( + `Hydration text mismatch in`, + node.parentNode, + ` + - rendered on server: ${JSON.stringify( + node.data + )} + - expected on client: ${JSON.stringify(vnode.children)}` + ); + logMismatchError(); + node.data = vnode.children; + } + nextNode = nextSibling(node); + } + break; + case Comment: + if (isTemplateNode(node)) { + nextNode = nextSibling(node); + replaceNode( + vnode.el = node.content.firstChild, + node, + parentComponent + ); + } else if (domType !== 8 || isFragmentStart) { + nextNode = onMismatch(); + } else { + nextNode = nextSibling(node); + } + break; + case Static: + if (isFragmentStart) { + node = nextSibling(node); + domType = node.nodeType; + } + if (domType === 1 || domType === 3) { + nextNode = node; + const needToAdoptContent = !vnode.children.length; + for (let i = 0; i < vnode.staticCount; i++) { + if (needToAdoptContent) + vnode.children += nextNode.nodeType === 1 ? nextNode.outerHTML : nextNode.data; + if (i === vnode.staticCount - 1) { + vnode.anchor = nextNode; + } + nextNode = nextSibling(nextNode); + } + return isFragmentStart ? nextSibling(nextNode) : nextNode; + } else { + onMismatch(); + } + break; + case Fragment: + if (!isFragmentStart) { + nextNode = onMismatch(); + } else { + nextNode = hydrateFragment( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + break; + default: + if (shapeFlag & 1) { + if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) { + nextNode = onMismatch(); + } else { + nextNode = hydrateElement( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } + } else if (shapeFlag & 6) { + vnode.slotScopeIds = slotScopeIds; + const container = parentNode(node); + if (isFragmentStart) { + nextNode = locateClosingAnchor(node); + } else if (isComment(node) && node.data === "teleport start") { + nextNode = locateClosingAnchor(node, node.data, "teleport end"); + } else { + nextNode = nextSibling(node); + } + mountComponent( + vnode, + container, + null, + parentComponent, + parentSuspense, + getContainerType(container), + optimized + ); + if (isAsyncWrapper(vnode)) { + let subTree; + if (isFragmentStart) { + subTree = createVNode(Fragment); + subTree.anchor = nextNode ? nextNode.previousSibling : container.lastChild; + } else { + subTree = node.nodeType === 3 ? createTextVNode("") : createVNode("div"); + } + subTree.el = node; + vnode.component.subTree = subTree; + } + } else if (shapeFlag & 64) { + if (domType !== 8) { + nextNode = onMismatch(); + } else { + nextNode = vnode.type.hydrate( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized, + rendererInternals, + hydrateChildren + ); + } + } else if (shapeFlag & 128) { + nextNode = vnode.type.hydrate( + node, + vnode, + parentComponent, + parentSuspense, + getContainerType(parentNode(node)), + slotScopeIds, + optimized, + rendererInternals, + hydrateNode + ); + } else if (true) { + warn$1("Invalid HostVNode type:", type, `(${typeof type})`); + } + } + if (ref2 != null) { + setRef(ref2, null, parentSuspense, vnode); + } + return nextNode; + }; + const hydrateElement = (el, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { + optimized = optimized || !!vnode.dynamicChildren; + const { type, props, patchFlag, shapeFlag, dirs, transition } = vnode; + const forcePatch = type === "input" || type === "option"; + if (true) { + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "created"); + } + let needCallTransitionHooks = false; + if (isTemplateNode(el)) { + needCallTransitionHooks = needTransition( + null, + // no need check parentSuspense in hydration + transition + ) && parentComponent && parentComponent.vnode.props && parentComponent.vnode.props.appear; + const content = el.content.firstChild; + if (needCallTransitionHooks) { + transition.beforeEnter(content); + } + replaceNode(content, el, parentComponent); + vnode.el = el = content; + } + if (shapeFlag & 16 && // skip if element has innerHTML / textContent + !(props && (props.innerHTML || props.textContent))) { + let next = hydrateChildren( + el.firstChild, + vnode, + el, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + let hasWarned2 = false; + while (next) { + if (!isMismatchAllowed( + el, + 1 + /* CHILDREN */ + )) { + if (!hasWarned2) { + warn$1( + `Hydration children mismatch on`, + el, + ` +Server rendered element contains more child nodes than client vdom.` + ); + hasWarned2 = true; + } + logMismatchError(); + } + const cur = next; + next = next.nextSibling; + remove2(cur); + } + } else if (shapeFlag & 8) { + let clientText = vnode.children; + if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) { + clientText = clientText.slice(1); + } + if (el.textContent !== clientText) { + if (!isMismatchAllowed( + el, + 0 + /* TEXT */ + )) { + warn$1( + `Hydration text content mismatch on`, + el, + ` + - rendered on server: ${el.textContent} + - expected on client: ${vnode.children}` + ); + logMismatchError(); + } + el.textContent = vnode.children; + } + } + if (props) { + if (true) { + const isCustomElement = el.tagName.includes("-"); + for (const key in props) { + if (// #11189 skip if this node has directives that have created hooks + // as it could have mutated the DOM in any possible way + !(dirs && dirs.some((d) => d.dir.created)) && propHasMismatch(el, key, props[key], vnode, parentComponent)) { + logMismatchError(); + } + if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers + key[0] === "." || isCustomElement) { + patchProp2(el, key, null, props[key], void 0, parentComponent); + } + } + } else if (props.onClick) { + patchProp2( + el, + "onClick", + null, + props.onClick, + void 0, + parentComponent + ); + } else if (patchFlag & 4 && isReactive(props.style)) { + for (const key in props.style) props.style[key]; + } + } + let vnodeHooks; + if (vnodeHooks = props && props.onVnodeBeforeMount) { + invokeVNodeHook(vnodeHooks, parentComponent, vnode); + } + if (dirs) { + invokeDirectiveHook(vnode, null, parentComponent, "beforeMount"); + } + if ((vnodeHooks = props && props.onVnodeMounted) || dirs || needCallTransitionHooks) { + queueEffectWithSuspense(() => { + vnodeHooks && invokeVNodeHook(vnodeHooks, parentComponent, vnode); + needCallTransitionHooks && transition.enter(el); + dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted"); + }, parentSuspense); + } + } + return el.nextSibling; + }; + const hydrateChildren = (node, parentVNode, container, parentComponent, parentSuspense, slotScopeIds, optimized) => { + optimized = optimized || !!parentVNode.dynamicChildren; + const children = parentVNode.children; + const l = children.length; + let hasWarned2 = false; + for (let i = 0; i < l; i++) { + const vnode = optimized ? children[i] : children[i] = normalizeVNode(children[i]); + const isText = vnode.type === Text; + if (node) { + if (isText && !optimized) { + if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) { + insert( + createText( + node.data.slice(vnode.children.length) + ), + container, + nextSibling(node) + ); + node.data = vnode.children; + } + } + node = hydrateNode( + node, + vnode, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + } else if (isText && !vnode.children) { + insert(vnode.el = createText(""), container); + } else { + if (!isMismatchAllowed( + container, + 1 + /* CHILDREN */ + )) { + if (!hasWarned2) { + warn$1( + `Hydration children mismatch on`, + container, + ` +Server rendered element contains fewer child nodes than client vdom.` + ); + hasWarned2 = true; + } + logMismatchError(); + } + patch( + null, + vnode, + container, + null, + parentComponent, + parentSuspense, + getContainerType(container), + slotScopeIds + ); + } + } + return node; + }; + const hydrateFragment = (node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized) => { + const { slotScopeIds: fragmentSlotScopeIds } = vnode; + if (fragmentSlotScopeIds) { + slotScopeIds = slotScopeIds ? slotScopeIds.concat(fragmentSlotScopeIds) : fragmentSlotScopeIds; + } + const container = parentNode(node); + const next = hydrateChildren( + nextSibling(node), + vnode, + container, + parentComponent, + parentSuspense, + slotScopeIds, + optimized + ); + if (next && isComment(next) && next.data === "]") { + return nextSibling(vnode.anchor = next); + } else { + logMismatchError(); + insert(vnode.anchor = createComment(`]`), container, next); + return next; + } + }; + const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => { + if (!isMismatchAllowed( + node.parentElement, + 1 + /* CHILDREN */ + )) { + warn$1( + `Hydration node mismatch: +- rendered on server:`, + node, + node.nodeType === 3 ? `(text)` : isComment(node) && node.data === "[" ? `(start of fragment)` : ``, + ` +- expected on client:`, + vnode.type + ); + logMismatchError(); + } + vnode.el = null; + if (isFragment) { + const end = locateClosingAnchor(node); + while (true) { + const next2 = nextSibling(node); + if (next2 && next2 !== end) { + remove2(next2); + } else { + break; + } + } + } + const next = nextSibling(node); + const container = parentNode(node); + remove2(node); + patch( + null, + vnode, + container, + next, + parentComponent, + parentSuspense, + getContainerType(container), + slotScopeIds + ); + return next; + }; + const locateClosingAnchor = (node, open = "[", close = "]") => { + let match = 0; + while (node) { + node = nextSibling(node); + if (node && isComment(node)) { + if (node.data === open) match++; + if (node.data === close) { + if (match === 0) { + return nextSibling(node); + } else { + match--; + } + } + } + } + return node; + }; + const replaceNode = (newNode, oldNode, parentComponent) => { + const parentNode2 = oldNode.parentNode; + if (parentNode2) { + parentNode2.replaceChild(newNode, oldNode); + } + let parent = parentComponent; + while (parent) { + if (parent.vnode.el === oldNode) { + parent.vnode.el = parent.subTree.el = newNode; + } + parent = parent.parent; + } + }; + const isTemplateNode = (node) => { + return node.nodeType === 1 && node.tagName === "TEMPLATE"; + }; + return [hydrate2, hydrateNode]; +} +function propHasMismatch(el, key, clientValue, vnode, instance) { + let mismatchType; + let mismatchKey; + let actual; + let expected; + if (key === "class") { + actual = el.getAttribute("class"); + expected = normalizeClass(clientValue); + if (!isSetEqual(toClassSet(actual || ""), toClassSet(expected))) { + mismatchType = 2; + mismatchKey = `class`; + } + } else if (key === "style") { + actual = el.getAttribute("style") || ""; + expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue)); + const actualMap = toStyleMap(actual); + const expectedMap = toStyleMap(expected); + if (vnode.dirs) { + for (const { dir, value } of vnode.dirs) { + if (dir.name === "show" && !value) { + expectedMap.set("display", "none"); + } + } + } + if (instance) { + resolveCssVars(instance, vnode, expectedMap); + } + if (!isMapEqual(actualMap, expectedMap)) { + mismatchType = 3; + mismatchKey = "style"; + } + } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) { + if (isBooleanAttr(key)) { + actual = el.hasAttribute(key); + expected = includeBooleanAttr(clientValue); + } else if (clientValue == null) { + actual = el.hasAttribute(key); + expected = false; + } else { + if (el.hasAttribute(key)) { + actual = el.getAttribute(key); + } else if (key === "value" && el.tagName === "TEXTAREA") { + actual = el.value; + } else { + actual = false; + } + expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false; + } + if (actual !== expected) { + mismatchType = 4; + mismatchKey = key; + } + } + if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) { + const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`; + const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`; + const postSegment = ` + - rendered on server: ${format(actual)} + - expected on client: ${format(expected)} + Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead. + You should fix the source of the mismatch.`; + { + warn$1(preSegment, el, postSegment); + } + return true; + } + return false; +} +function toClassSet(str) { + return new Set(str.trim().split(/\s+/)); +} +function isSetEqual(a, b) { + if (a.size !== b.size) { + return false; + } + for (const s of a) { + if (!b.has(s)) { + return false; + } + } + return true; +} +function toStyleMap(str) { + const styleMap = /* @__PURE__ */ new Map(); + for (const item of str.split(";")) { + let [key, value] = item.split(":"); + key = key.trim(); + value = value && value.trim(); + if (key && value) { + styleMap.set(key, value); + } + } + return styleMap; +} +function isMapEqual(a, b) { + if (a.size !== b.size) { + return false; + } + for (const [key, value] of a) { + if (value !== b.get(key)) { + return false; + } + } + return true; +} +function resolveCssVars(instance, vnode, expectedMap) { + const root = instance.subTree; + if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) { + const cssVars = instance.getCssVars(); + for (const key in cssVars) { + expectedMap.set( + `--${getEscapedCssVarName(key, false)}`, + String(cssVars[key]) + ); + } + } + if (vnode === root && instance.parent) { + resolveCssVars(instance.parent, instance.vnode, expectedMap); + } +} +var allowMismatchAttr = "data-allow-mismatch"; +var MismatchTypeString = { + [ + 0 + /* TEXT */ + ]: "text", + [ + 1 + /* CHILDREN */ + ]: "children", + [ + 2 + /* CLASS */ + ]: "class", + [ + 3 + /* STYLE */ + ]: "style", + [ + 4 + /* ATTRIBUTE */ + ]: "attribute" +}; +function isMismatchAllowed(el, allowedType) { + if (allowedType === 0 || allowedType === 1) { + while (el && !el.hasAttribute(allowMismatchAttr)) { + el = el.parentElement; + } + } + const allowedAttr = el && el.getAttribute(allowMismatchAttr); + if (allowedAttr == null) { + return false; + } else if (allowedAttr === "") { + return true; + } else { + const list = allowedAttr.split(","); + if (allowedType === 0 && list.includes("children")) { + return true; + } + return allowedAttr.split(",").includes(MismatchTypeString[allowedType]); + } +} +var requestIdleCallback = getGlobalThis().requestIdleCallback || ((cb) => setTimeout(cb, 1)); +var cancelIdleCallback = getGlobalThis().cancelIdleCallback || ((id) => clearTimeout(id)); +var hydrateOnIdle = (timeout = 1e4) => (hydrate2) => { + const id = requestIdleCallback(hydrate2, { timeout }); + return () => cancelIdleCallback(id); +}; +function elementIsVisibleInViewport(el) { + const { top, left, bottom, right } = el.getBoundingClientRect(); + const { innerHeight, innerWidth } = window; + return (top > 0 && top < innerHeight || bottom > 0 && bottom < innerHeight) && (left > 0 && left < innerWidth || right > 0 && right < innerWidth); +} +var hydrateOnVisible = (opts) => (hydrate2, forEach) => { + const ob = new IntersectionObserver((entries) => { + for (const e of entries) { + if (!e.isIntersecting) continue; + ob.disconnect(); + hydrate2(); + break; + } + }, opts); + forEach((el) => { + if (!(el instanceof Element)) return; + if (elementIsVisibleInViewport(el)) { + hydrate2(); + ob.disconnect(); + return false; + } + ob.observe(el); + }); + return () => ob.disconnect(); +}; +var hydrateOnMediaQuery = (query) => (hydrate2) => { + if (query) { + const mql = matchMedia(query); + if (mql.matches) { + hydrate2(); + } else { + mql.addEventListener("change", hydrate2, { once: true }); + return () => mql.removeEventListener("change", hydrate2); + } + } +}; +var hydrateOnInteraction = (interactions = []) => (hydrate2, forEach) => { + if (isString(interactions)) interactions = [interactions]; + let hasHydrated = false; + const doHydrate = (e) => { + if (!hasHydrated) { + hasHydrated = true; + teardown(); + hydrate2(); + e.target.dispatchEvent(new e.constructor(e.type, e)); + } + }; + const teardown = () => { + forEach((el) => { + for (const i of interactions) { + el.removeEventListener(i, doHydrate); + } + }); + }; + forEach((el) => { + for (const i of interactions) { + el.addEventListener(i, doHydrate, { once: true }); + } + }); + return teardown; +}; +function forEachElement(node, cb) { + if (isComment(node) && node.data === "[") { + let depth = 1; + let next = node.nextSibling; + while (next) { + if (next.nodeType === 1) { + const result = cb(next); + if (result === false) { + break; + } + } else if (isComment(next)) { + if (next.data === "]") { + if (--depth === 0) break; + } else if (next.data === "[") { + depth++; + } + } + next = next.nextSibling; + } + } else { + cb(node); + } +} +var isAsyncWrapper = (i) => !!i.type.__asyncLoader; +function defineAsyncComponent(source) { + if (isFunction(source)) { + source = { loader: source }; + } + const { + loader, + loadingComponent, + errorComponent, + delay = 200, + hydrate: hydrateStrategy, + timeout, + // undefined = never times out + suspensible = true, + onError: userOnError + } = source; + let pendingRequest = null; + let resolvedComp; + let retries = 0; + const retry = () => { + retries++; + pendingRequest = null; + return load(); + }; + const load = () => { + let thisRequest; + return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { + err = err instanceof Error ? err : new Error(String(err)); + if (userOnError) { + return new Promise((resolve2, reject) => { + const userRetry = () => resolve2(retry()); + const userFail = () => reject(err); + userOnError(err, userRetry, userFail, retries + 1); + }); + } else { + throw err; + } + }).then((comp) => { + if (thisRequest !== pendingRequest && pendingRequest) { + return pendingRequest; + } + if (!comp) { + warn$1( + `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.` + ); + } + if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { + comp = comp.default; + } + if (comp && !isObject(comp) && !isFunction(comp)) { + throw new Error(`Invalid async component load result: ${comp}`); + } + resolvedComp = comp; + return comp; + })); + }; + return defineComponent({ + name: "AsyncComponentWrapper", + __asyncLoader: load, + __asyncHydrate(el, instance, hydrate2) { + const doHydrate = hydrateStrategy ? () => { + const teardown = hydrateStrategy( + hydrate2, + (cb) => forEachElement(el, cb) + ); + if (teardown) { + (instance.bum || (instance.bum = [])).push(teardown); + } + } : hydrate2; + if (resolvedComp) { + doHydrate(); + } else { + load().then(() => !instance.isUnmounted && doHydrate()); + } + }, + get __asyncResolved() { + return resolvedComp; + }, + setup() { + const instance = currentInstance; + markAsyncBoundary(instance); + if (resolvedComp) { + return () => createInnerComp(resolvedComp, instance); + } + const onError = (err) => { + pendingRequest = null; + handleError( + err, + instance, + 13, + !errorComponent + ); + }; + if (suspensible && instance.suspense || isInSSRComponentSetup) { + return load().then((comp) => { + return () => createInnerComp(comp, instance); + }).catch((err) => { + onError(err); + return () => errorComponent ? createVNode(errorComponent, { + error: err + }) : null; + }); + } + const loaded = ref(false); + const error = ref(); + const delayed = ref(!!delay); + if (delay) { + setTimeout(() => { + delayed.value = false; + }, delay); + } + if (timeout != null) { + setTimeout(() => { + if (!loaded.value && !error.value) { + const err = new Error( + `Async component timed out after ${timeout}ms.` + ); + onError(err); + error.value = err; + } + }, timeout); + } + load().then(() => { + loaded.value = true; + if (instance.parent && isKeepAlive(instance.parent.vnode)) { + instance.parent.update(); + } + }).catch((err) => { + onError(err); + error.value = err; + }); + return () => { + if (loaded.value && resolvedComp) { + return createInnerComp(resolvedComp, instance); + } else if (error.value && errorComponent) { + return createVNode(errorComponent, { + error: error.value + }); + } else if (loadingComponent && !delayed.value) { + return createVNode(loadingComponent); + } + }; + } + }); +} +function createInnerComp(comp, parent) { + const { ref: ref2, props, children, ce } = parent.vnode; + const vnode = createVNode(comp, props, children); + vnode.ref = ref2; + vnode.ce = ce; + delete parent.vnode.ce; + return vnode; +} +var isKeepAlive = (vnode) => vnode.type.__isKeepAlive; +var KeepAliveImpl = { + name: `KeepAlive`, + // Marker for special handling inside the renderer. We are not using a === + // check directly on KeepAlive in the renderer, because importing it directly + // would prevent it from being tree-shaken. + __isKeepAlive: true, + props: { + include: [String, RegExp, Array], + exclude: [String, RegExp, Array], + max: [String, Number] + }, + setup(props, { slots }) { + const instance = getCurrentInstance(); + const sharedContext = instance.ctx; + if (!sharedContext.renderer) { + return () => { + const children = slots.default && slots.default(); + return children && children.length === 1 ? children[0] : children; + }; + } + const cache = /* @__PURE__ */ new Map(); + const keys = /* @__PURE__ */ new Set(); + let current = null; + if (true) { + instance.__v_cache = cache; + } + const parentSuspense = instance.suspense; + const { + renderer: { + p: patch, + m: move, + um: _unmount, + o: { createElement } + } + } = sharedContext; + const storageContainer = createElement("div"); + sharedContext.activate = (vnode, container, anchor, namespace, optimized) => { + const instance2 = vnode.component; + move(vnode, container, anchor, 0, parentSuspense); + patch( + instance2.vnode, + vnode, + container, + anchor, + instance2, + parentSuspense, + namespace, + vnode.slotScopeIds, + optimized + ); + queuePostRenderEffect(() => { + instance2.isDeactivated = false; + if (instance2.a) { + invokeArrayFns(instance2.a); + } + const vnodeHook = vnode.props && vnode.props.onVnodeMounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + }, parentSuspense); + if (true) { + devtoolsComponentAdded(instance2); + } + }; + sharedContext.deactivate = (vnode) => { + const instance2 = vnode.component; + invalidateMount(instance2.m); + invalidateMount(instance2.a); + move(vnode, storageContainer, null, 1, parentSuspense); + queuePostRenderEffect(() => { + if (instance2.da) { + invokeArrayFns(instance2.da); + } + const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted; + if (vnodeHook) { + invokeVNodeHook(vnodeHook, instance2.parent, vnode); + } + instance2.isDeactivated = true; + }, parentSuspense); + if (true) { + devtoolsComponentAdded(instance2); + } + }; + function unmount(vnode) { + resetShapeFlag(vnode); + _unmount(vnode, instance, parentSuspense, true); + } + function pruneCache(filter) { + cache.forEach((vnode, key) => { + const name = getComponentName(vnode.type); + if (name && !filter(name)) { + pruneCacheEntry(key); + } + }); + } + function pruneCacheEntry(key) { + const cached = cache.get(key); + if (cached && (!current || !isSameVNodeType(cached, current))) { + unmount(cached); + } else if (current) { + resetShapeFlag(current); + } + cache.delete(key); + keys.delete(key); + } + watch2( + () => [props.include, props.exclude], + ([include, exclude]) => { + include && pruneCache((name) => matches(include, name)); + exclude && pruneCache((name) => !matches(exclude, name)); + }, + // prune post-render after `current` has been updated + { flush: "post", deep: true } + ); + let pendingCacheKey = null; + const cacheSubtree = () => { + if (pendingCacheKey != null) { + if (isSuspense(instance.subTree.type)) { + queuePostRenderEffect(() => { + cache.set(pendingCacheKey, getInnerChild(instance.subTree)); + }, instance.subTree.suspense); + } else { + cache.set(pendingCacheKey, getInnerChild(instance.subTree)); + } + } + }; + onMounted(cacheSubtree); + onUpdated(cacheSubtree); + onBeforeUnmount(() => { + cache.forEach((cached) => { + const { subTree, suspense } = instance; + const vnode = getInnerChild(subTree); + if (cached.type === vnode.type && cached.key === vnode.key) { + resetShapeFlag(vnode); + const da = vnode.component.da; + da && queuePostRenderEffect(da, suspense); + return; + } + unmount(cached); + }); + }); + return () => { + pendingCacheKey = null; + if (!slots.default) { + return current = null; + } + const children = slots.default(); + const rawVNode = children[0]; + if (children.length > 1) { + if (true) { + warn$1(`KeepAlive should contain exactly one component child.`); + } + current = null; + return children; + } else if (!isVNode(rawVNode) || !(rawVNode.shapeFlag & 4) && !(rawVNode.shapeFlag & 128)) { + current = null; + return rawVNode; + } + let vnode = getInnerChild(rawVNode); + if (vnode.type === Comment) { + current = null; + return vnode; + } + const comp = vnode.type; + const name = getComponentName( + isAsyncWrapper(vnode) ? vnode.type.__asyncResolved || {} : comp + ); + const { include, exclude, max } = props; + if (include && (!name || !matches(include, name)) || exclude && name && matches(exclude, name)) { + vnode.shapeFlag &= ~256; + current = vnode; + return rawVNode; + } + const key = vnode.key == null ? comp : vnode.key; + const cachedVNode = cache.get(key); + if (vnode.el) { + vnode = cloneVNode(vnode); + if (rawVNode.shapeFlag & 128) { + rawVNode.ssContent = vnode; + } + } + pendingCacheKey = key; + if (cachedVNode) { + vnode.el = cachedVNode.el; + vnode.component = cachedVNode.component; + if (vnode.transition) { + setTransitionHooks(vnode, vnode.transition); + } + vnode.shapeFlag |= 512; + keys.delete(key); + keys.add(key); + } else { + keys.add(key); + if (max && keys.size > parseInt(max, 10)) { + pruneCacheEntry(keys.values().next().value); + } + } + vnode.shapeFlag |= 256; + current = vnode; + return isSuspense(rawVNode.type) ? rawVNode : vnode; + }; + } +}; +var KeepAlive = KeepAliveImpl; +function matches(pattern, name) { + if (isArray(pattern)) { + return pattern.some((p2) => matches(p2, name)); + } else if (isString(pattern)) { + return pattern.split(",").includes(name); + } else if (isRegExp(pattern)) { + pattern.lastIndex = 0; + return pattern.test(name); + } + return false; +} +function onActivated(hook, target) { + registerKeepAliveHook(hook, "a", target); +} +function onDeactivated(hook, target) { + registerKeepAliveHook(hook, "da", target); +} +function registerKeepAliveHook(hook, type, target = currentInstance) { + const wrappedHook = hook.__wdc || (hook.__wdc = () => { + let current = target; + while (current) { + if (current.isDeactivated) { + return; + } + current = current.parent; + } + return hook(); + }); + injectHook(type, wrappedHook, target); + if (target) { + let current = target.parent; + while (current && current.parent) { + if (isKeepAlive(current.parent.vnode)) { + injectToKeepAliveRoot(wrappedHook, type, target, current); + } + current = current.parent; + } + } +} +function injectToKeepAliveRoot(hook, type, target, keepAliveRoot) { + const injected = injectHook( + type, + hook, + keepAliveRoot, + true + /* prepend */ + ); + onUnmounted(() => { + remove(keepAliveRoot[type], injected); + }, target); +} +function resetShapeFlag(vnode) { + vnode.shapeFlag &= ~256; + vnode.shapeFlag &= ~512; +} +function getInnerChild(vnode) { + return vnode.shapeFlag & 128 ? vnode.ssContent : vnode; +} +function injectHook(type, hook, target = currentInstance, prepend = false) { + if (target) { + const hooks = target[type] || (target[type] = []); + const wrappedHook = hook.__weh || (hook.__weh = (...args) => { + pauseTracking(); + const reset = setCurrentInstance(target); + const res = callWithAsyncErrorHandling(hook, target, type, args); + reset(); + resetTracking(); + return res; + }); + if (prepend) { + hooks.unshift(wrappedHook); + } else { + hooks.push(wrappedHook); + } + return wrappedHook; + } else if (true) { + const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, "")); + warn$1( + `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` + ); + } +} +var createHook = (lifecycle) => (hook, target = currentInstance) => { + if (!isInSSRComponentSetup || lifecycle === "sp") { + injectHook(lifecycle, (...args) => hook(...args), target); + } +}; +var onBeforeMount = createHook("bm"); +var onMounted = createHook("m"); +var onBeforeUpdate = createHook( + "bu" +); +var onUpdated = createHook("u"); +var onBeforeUnmount = createHook( + "bum" +); +var onUnmounted = createHook("um"); +var onServerPrefetch = createHook( + "sp" +); +var onRenderTriggered = createHook("rtg"); +var onRenderTracked = createHook("rtc"); +function onErrorCaptured(hook, target = currentInstance) { + injectHook("ec", hook, target); +} +var COMPONENTS = "components"; +var DIRECTIVES = "directives"; +function resolveComponent(name, maybeSelfReference) { + return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; +} +var NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc"); +function resolveDynamicComponent(component) { + if (isString(component)) { + return resolveAsset(COMPONENTS, component, false) || component; + } else { + return component || NULL_DYNAMIC_COMPONENT; + } +} +function resolveDirective(name) { + return resolveAsset(DIRECTIVES, name); +} +function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { + const instance = currentRenderingInstance || currentInstance; + if (instance) { + const Component = instance.type; + if (type === COMPONENTS) { + const selfName = getComponentName( + Component, + false + ); + if (selfName && (selfName === name || selfName === camelize(name) || selfName === capitalize(camelize(name)))) { + return Component; + } + } + const res = ( + // local registration + // check instance[type] first which is resolved for options API + resolve(instance[type] || Component[type], name) || // global registration + resolve(instance.appContext[type], name) + ); + if (!res && maybeSelfReference) { + return Component; + } + if (warnMissing && !res) { + const extra = type === COMPONENTS ? ` +If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; + warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); + } + return res; + } else if (true) { + warn$1( + `resolve${capitalize(type.slice(0, -1))} can only be used in render() or setup().` + ); + } +} +function resolve(registry, name) { + return registry && (registry[name] || registry[camelize(name)] || registry[capitalize(camelize(name))]); +} +function renderList(source, renderItem, cache, index) { + let ret; + const cached = cache && cache[index]; + const sourceIsArray = isArray(source); + if (sourceIsArray || isString(source)) { + const sourceIsReactiveArray = sourceIsArray && isReactive(source); + let needsWrap = false; + if (sourceIsReactiveArray) { + needsWrap = !isShallow(source); + source = shallowReadArray(source); + } + ret = new Array(source.length); + for (let i = 0, l = source.length; i < l; i++) { + ret[i] = renderItem( + needsWrap ? toReactive(source[i]) : source[i], + i, + void 0, + cached && cached[i] + ); + } + } else if (typeof source === "number") { + if (!Number.isInteger(source)) { + warn$1(`The v-for range expect an integer value but got ${source}.`); + } + ret = new Array(source); + for (let i = 0; i < source; i++) { + ret[i] = renderItem(i + 1, i, void 0, cached && cached[i]); + } + } else if (isObject(source)) { + if (source[Symbol.iterator]) { + ret = Array.from( + source, + (item, i) => renderItem(item, i, void 0, cached && cached[i]) + ); + } else { + const keys = Object.keys(source); + ret = new Array(keys.length); + for (let i = 0, l = keys.length; i < l; i++) { + const key = keys[i]; + ret[i] = renderItem(source[key], key, i, cached && cached[i]); + } + } + } else { + ret = []; + } + if (cache) { + cache[index] = ret; + } + return ret; +} +function createSlots(slots, dynamicSlots) { + for (let i = 0; i < dynamicSlots.length; i++) { + const slot = dynamicSlots[i]; + if (isArray(slot)) { + for (let j = 0; j < slot.length; j++) { + slots[slot[j].name] = slot[j].fn; + } + } else if (slot) { + slots[slot.name] = slot.key ? (...args) => { + const res = slot.fn(...args); + if (res) res.key = slot.key; + return res; + } : slot.fn; + } + } + return slots; +} +function renderSlot(slots, name, props = {}, fallback, noSlotted) { + if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) { + if (name !== "default") props.name = name; + return openBlock(), createBlock( + Fragment, + null, + [createVNode("slot", props, fallback && fallback())], + 64 + ); + } + let slot = slots[name]; + if (slot && slot.length > 1) { + warn$1( + `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.` + ); + slot = () => []; + } + if (slot && slot._c) { + slot._d = false; + } + openBlock(); + const validSlotContent = slot && ensureValidVNode(slot(props)); + const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch + // key attached in the `createSlots` helper, respect that + validSlotContent && validSlotContent.key; + const rendered = createBlock( + Fragment, + { + key: (slotKey && !isSymbol(slotKey) ? slotKey : `_${name}`) + // #7256 force differentiate fallback content from actual content + (!validSlotContent && fallback ? "_fb" : "") + }, + validSlotContent || (fallback ? fallback() : []), + validSlotContent && slots._ === 1 ? 64 : -2 + ); + if (!noSlotted && rendered.scopeId) { + rendered.slotScopeIds = [rendered.scopeId + "-s"]; + } + if (slot && slot._c) { + slot._d = true; + } + return rendered; +} +function ensureValidVNode(vnodes) { + return vnodes.some((child) => { + if (!isVNode(child)) return true; + if (child.type === Comment) return false; + if (child.type === Fragment && !ensureValidVNode(child.children)) + return false; + return true; + }) ? vnodes : null; +} +function toHandlers(obj, preserveCaseIfNecessary) { + const ret = {}; + if (!isObject(obj)) { + warn$1(`v-on with no argument expects an object value.`); + return ret; + } + for (const key in obj) { + ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key]; + } + return ret; +} +var getPublicInstance = (i) => { + if (!i) return null; + if (isStatefulComponent(i)) return getComponentPublicInstance(i); + return getPublicInstance(i.parent); +}; +var publicPropertiesMap = ( + // Move PURE marker to new line to workaround compiler discarding it + // due to type annotation + extend(/* @__PURE__ */ Object.create(null), { + $: (i) => i, + $el: (i) => i.vnode.el, + $data: (i) => i.data, + $props: (i) => true ? shallowReadonly(i.props) : i.props, + $attrs: (i) => true ? shallowReadonly(i.attrs) : i.attrs, + $slots: (i) => true ? shallowReadonly(i.slots) : i.slots, + $refs: (i) => true ? shallowReadonly(i.refs) : i.refs, + $parent: (i) => getPublicInstance(i.parent), + $root: (i) => getPublicInstance(i.root), + $host: (i) => i.ce, + $emit: (i) => i.emit, + $options: (i) => __VUE_OPTIONS_API__ ? resolveMergedOptions(i) : i.type, + $forceUpdate: (i) => i.f || (i.f = () => { + queueJob(i.update); + }), + $nextTick: (i) => i.n || (i.n = nextTick.bind(i.proxy)), + $watch: (i) => __VUE_OPTIONS_API__ ? instanceWatch.bind(i) : NOOP + }) +); +var isReservedPrefix = (key) => key === "_" || key === "$"; +var hasSetupBinding = (state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn(state, key); +var PublicInstanceProxyHandlers = { + get({ _: instance }, key) { + if (key === "__v_skip") { + return true; + } + const { ctx, setupState, data, props, accessCache, type, appContext } = instance; + if (key === "__isVue") { + return true; + } + let normalizedProps; + if (key[0] !== "$") { + const n = accessCache[key]; + if (n !== void 0) { + switch (n) { + case 1: + return setupState[key]; + case 2: + return data[key]; + case 4: + return ctx[key]; + case 3: + return props[key]; + } + } else if (hasSetupBinding(setupState, key)) { + accessCache[key] = 1; + return setupState[key]; + } else if (data !== EMPTY_OBJ && hasOwn(data, key)) { + accessCache[key] = 2; + return data[key]; + } else if ( + // only cache other properties when instance has declared (thus stable) + // props + (normalizedProps = instance.propsOptions[0]) && hasOwn(normalizedProps, key) + ) { + accessCache[key] = 3; + return props[key]; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if (!__VUE_OPTIONS_API__ || shouldCacheAccess) { + accessCache[key] = 0; + } + } + const publicGetter = publicPropertiesMap[key]; + let cssModule, globalProperties; + if (publicGetter) { + if (key === "$attrs") { + track(instance.attrs, "get", ""); + markAttrsAccessed(); + } else if (key === "$slots") { + track(instance, "get", key); + } + return publicGetter(instance); + } else if ( + // css module (injected by vue-loader) + (cssModule = type.__cssModules) && (cssModule = cssModule[key]) + ) { + return cssModule; + } else if (ctx !== EMPTY_OBJ && hasOwn(ctx, key)) { + accessCache[key] = 4; + return ctx[key]; + } else if ( + // global properties + globalProperties = appContext.config.globalProperties, hasOwn(globalProperties, key) + ) { + { + return globalProperties[key]; + } + } else if (currentRenderingInstance && (!isString(key) || // #1091 avoid internal isRef/isVNode checks on component instance leading + // to infinite warning loop + key.indexOf("__v") !== 0)) { + if (data !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn(data, key)) { + warn$1( + `Property ${JSON.stringify( + key + )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.` + ); + } else if (instance === currentRenderingInstance) { + warn$1( + `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.` + ); + } + } + }, + set({ _: instance }, key, value) { + const { data, setupState, ctx } = instance; + if (hasSetupBinding(setupState, key)) { + setupState[key] = value; + return true; + } else if (setupState.__isScriptSetup && hasOwn(setupState, key)) { + warn$1(`Cannot mutate - + + -
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.

Released under the MIT License.

- +
+ \ No newline at end of file diff --git a/docs/assets/app.B0oG4HpI.js b/docs/assets/app.B0oG4HpI.js new file mode 100644 index 00000000..d9239deb --- /dev/null +++ b/docs/assets/app.B0oG4HpI.js @@ -0,0 +1 @@ +import{t as i}from"./chunks/theme.CheDV2Px.js";import{R as o,a3 as u,a4 as c,a5 as l,a6 as f,a7 as d,a8 as m,a9 as h,aa as g,ab as A,ac as v,d as P,u as y,v as C,s as b,ad as w,ae as R,af as E,ag as S}from"./chunks/framework.CdbxnhrM.js";function p(e){if(e.extends){const a=p(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=p(i),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=y();return C(()=>{b(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&w(),R(),E(),s.setup&&s.setup(),()=>S(s.Layout)}});async function D(){globalThis.__VITEPRESS__=!0;const e=j(),a=_();a.provide(c,e);const t=l(e.route);return a.provide(f,t),a.component("Content",d),a.component("ClientOnly",m),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:h}),{app:a,router:e,data:t}}function _(){return g(T)}function j(){let e=o,a;return A(t=>{let n=v(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&D().then(({app:e,router:a,data:t})=>{a.go().then(()=>{u(a.route,t.site),e.mount("#app")})});export{D as createApp}; diff --git a/docs/assets/app.ZYFpyX3T.js b/docs/assets/app.ZYFpyX3T.js deleted file mode 100644 index 9d38ff2d..00000000 --- a/docs/assets/app.ZYFpyX3T.js +++ /dev/null @@ -1,7 +0,0 @@ -import{v as s,a3 as i,a4 as u,a5 as c,a6 as l,a7 as f,a8 as d,a9 as m,aa as h,ab as A,ac as g,X as v,d as P,u as y,j as C,z as w,ad as _,ae as b,af as E,ag as R}from"./chunks/framework.q7IuVqhY.js";import{t as D}from"./chunks/theme.pvYGL-GL.js";function p(e){if(e.extends){const a=p(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const o=p(D),j=P({name:"VitePressApp",setup(){const{site:e}=y();return C(()=>{w(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),e.value.router.prefetchLinks&&_(),b(),E(),o.setup&&o.setup(),()=>R(o.Layout)}});async function L(){const e=S(),a=O();a.provide(u,e);const t=c(e.route);return a.provide(l,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),o.enhanceApp&&await o.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function O(){return h(j)}function S(){let e=s,a;return A(t=>{let n=g(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=v(()=>import(n),__vite__mapDeps([]))),s&&(e=!1),r},o.NotFound)}s&&L().then(({app:e,router:a,data:t})=>{a.go().then(()=>{i(a.route,t.site),e.mount("#app")})});export{L as createApp}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = [] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} \ No newline at end of file diff --git a/docs/assets/chunks/VPAlgoliaSearchBox.DzEkD6Vr.js b/docs/assets/chunks/VPAlgoliaSearchBox.DzEkD6Vr.js new file mode 100644 index 00000000..7c633707 --- /dev/null +++ b/docs/assets/chunks/VPAlgoliaSearchBox.DzEkD6Vr.js @@ -0,0 +1,12 @@ +import{d as pi,ah as vi,J as hi,v as di,q as yi,P as _i,o as gi,c as bi}from"./framework.CdbxnhrM.js";import{u as Si}from"./theme.CheDV2Px.js";/*! @docsearch/js 3.7.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */function Un(){return Un=Object.assign?Object.assign.bind():function(t){for(var e=1;e2&&(a.children=arguments.length>3?We.call(arguments,2):n),typeof t=="function"&&t.defaultProps!=null)for(i in t.defaultProps)a[i]===void 0&&(a[i]=t.defaultProps[i]);return Ee(t,a,r,o,null)}function Ee(t,e,n,r,o){var i={type:t,props:e,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:o??++So,__i:-1,__u:0};return o==null&&H.vnode!=null&&H.vnode(i),i}function Rt(t){return t.children}function Ct(t,e){this.props=t,this.context=e}function ue(t,e){if(e==null)return t.__?ue(t.__,t.__i+1):null;for(var n;ee&&Gt.sort(Fn));_n.__r=0}function Io(t,e,n,r,o,i,a,u,f,m,g){var l,v,s,S,b,y=r&&r.__k||Eo,_=e.length;for(n.__d=f,function(h,p,d){var P,E,C,N,I,x=p.length,k=d.length,U=k,z=0;for(h.__k=[],P=0;P0?Ee(E.type,E.props,E.key,E.ref?E.ref:null,E.__v):E).__=h,E.__b=h.__b+1,C=null,(I=E.__i=wi(E,d,N,U))!==-1&&(U--,(C=d[I])&&(C.__u|=131072)),C==null||C.__v===null?(I==-1&&z--,typeof E.type!="function"&&(E.__u|=65536)):I!==N&&(I==N-1?z--:I==N+1?z++:(I>N?z--:z++,E.__u|=65536))):E=h.__k[P]=null;if(U)for(P=0;P(f==null||131072&f.__u?0:1))for(;a>=0||u=0){if((f=e[a])&&!(131072&f.__u)&&o==f.key&&i===f.type)return a;a--}if(u2&&(u.children=arguments.length>3?We.call(arguments,2):n),Ee(t.type,u,r||t.key,o||t.ref,null)}We=Eo.slice,H={__e:function(t,e,n,r){for(var o,i,a;e=e.__;)if((o=e.__c)&&!o.__)try{if((i=o.constructor)&&i.getDerivedStateFromError!=null&&(o.setState(i.getDerivedStateFromError(t)),a=o.__d),o.componentDidCatch!=null&&(o.componentDidCatch(t,r||{}),a=o.__d),a)return o.__E=o}catch(u){t=u}throw t}},So=0,Ct.prototype.setState=function(t,e){var n;n=this.__s!=null&&this.__s!==this.state?this.__s:this.__s=Tt({},this.state),typeof t=="function"&&(t=t(Tt({},n),this.props)),t&&Tt(n,t),t!=null&&this.__v&&(e&&this._sb.push(e),Kn(this))},Ct.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),Kn(this))},Ct.prototype.render=Rt,Gt=[],Oo=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,Fn=function(t,e){return t.__v.__b-e.__v.__b},_n.__r=0,er=0,Bn=br(!1),Vn=br(!0),wo=0;var Bt,Z,xn,Sr,le=0,Ao=[],Y=H,Or=Y.__b,wr=Y.__r,Er=Y.diffed,jr=Y.__c,Pr=Y.unmount,Ir=Y.__;function se(t,e){Y.__h&&Y.__h(Z,t,le||e),le=0;var n=Z.__H||(Z.__H={__:[],__h:[]});return t>=n.__.length&&n.__.push({}),n.__[t]}function ze(t){return le=1,or(Ho,t)}function or(t,e,n){var r=se(Bt++,2);if(r.t=t,!r.__c&&(r.__=[n?n(e):Ho(void 0,e),function(u){var f=r.__N?r.__N[0]:r.__[0],m=r.t(f,u);f!==m&&(r.__N=[m,r.__[1]],r.__c.setState({}))}],r.__c=Z,!Z.u)){var o=function(u,f,m){if(!r.__c.__H)return!0;var g=r.__c.__H.__.filter(function(v){return!!v.__c});if(g.every(function(v){return!v.__N}))return!i||i.call(this,u,f,m);var l=!1;return g.forEach(function(v){if(v.__N){var s=v.__[0];v.__=v.__N,v.__N=void 0,s!==v.__[0]&&(l=!0)}}),!(!l&&r.__c.props===u)&&(!i||i.call(this,u,f,m))};Z.u=!0;var i=Z.shouldComponentUpdate,a=Z.componentWillUpdate;Z.componentWillUpdate=function(u,f,m){if(this.__e){var g=i;i=void 0,o(u,f,m),i=g}a&&a.call(this,u,f,m)},Z.shouldComponentUpdate=o}return r.__N||r.__}function Je(t,e){var n=se(Bt++,3);!Y.__s&&ir(n.__H,e)&&(n.__=t,n.i=e,Z.__H.__h.push(n))}function Qe(t,e){var n=se(Bt++,4);!Y.__s&&ir(n.__H,e)&&(n.__=t,n.i=e,Z.__h.push(n))}function No(t){return le=5,bn(function(){return{current:t}},[])}function To(t,e,n){le=6,Qe(function(){return typeof t=="function"?(t(e()),function(){return t(null)}):t?(t.current=e(),function(){return t.current=null}):void 0},n==null?n:n.concat(t))}function bn(t,e){var n=se(Bt++,7);return ir(n.__H,e)&&(n.__=t(),n.__H=e,n.__h=t),n.__}function Ro(t,e){return le=8,bn(function(){return t},e)}function Lo(t){var e=Z.context[t.__c],n=se(Bt++,9);return n.c=t,e?(n.__==null&&(n.__=!0,e.sub(Z)),e.props.value):t.__}function qo(t,e){Y.useDebugValue&&Y.useDebugValue(e?e(t):t)}function Mo(){var t=se(Bt++,11);if(!t.__){for(var e=Z.__v;e!==null&&!e.__m&&e.__!==null;)e=e.__;var n=e.__m||(e.__m=[0,0]);t.__="P"+n[0]+"-"+n[1]++}return t.__}function Ii(){for(var t;t=Ao.shift();)if(t.__P&&t.__H)try{t.__H.__h.forEach(vn),t.__H.__h.forEach(Wn),t.__H.__h=[]}catch(e){t.__H.__h=[],Y.__e(e,t.__v)}}Y.__b=function(t){Z=null,Or&&Or(t)},Y.__=function(t,e){t&&e.__k&&e.__k.__m&&(t.__m=e.__k.__m),Ir&&Ir(t,e)},Y.__r=function(t){wr&&wr(t),Bt=0;var e=(Z=t.__c).__H;e&&(xn===Z?(e.__h=[],Z.__h=[],e.__.forEach(function(n){n.__N&&(n.__=n.__N),n.i=n.__N=void 0})):(e.__h.forEach(vn),e.__h.forEach(Wn),e.__h=[],Bt=0)),xn=Z},Y.diffed=function(t){Er&&Er(t);var e=t.__c;e&&e.__H&&(e.__H.__h.length&&(Ao.push(e)!==1&&Sr===Y.requestAnimationFrame||((Sr=Y.requestAnimationFrame)||ki)(Ii)),e.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.i=void 0})),xn=Z=null},Y.__c=function(t,e){e.some(function(n){try{n.__h.forEach(vn),n.__h=n.__h.filter(function(r){return!r.__||Wn(r)})}catch(r){e.some(function(o){o.__h&&(o.__h=[])}),e=[],Y.__e(r,n.__v)}}),jr&&jr(t,e)},Y.unmount=function(t){Pr&&Pr(t);var e,n=t.__c;n&&n.__H&&(n.__H.__.forEach(function(r){try{vn(r)}catch(o){e=o}}),n.__H=void 0,e&&Y.__e(e,n.__v))};var kr=typeof requestAnimationFrame=="function";function ki(t){var e,n=function(){clearTimeout(r),kr&&cancelAnimationFrame(e),setTimeout(t)},r=setTimeout(n,100);kr&&(e=requestAnimationFrame(n))}function vn(t){var e=Z,n=t.__c;typeof n=="function"&&(t.__c=void 0,n()),Z=e}function Wn(t){var e=Z;t.__c=t.__(),Z=e}function ir(t,e){return!t||t.length!==e.length||e.some(function(n,r){return n!==t[r]})}function Ho(t,e){return typeof e=="function"?e(t):e}function zn(t,e){for(var n in t)if(n!=="__source"&&!(n in e))return!0;for(var r in e)if(r!=="__source"&&t[r]!==e[r])return!0;return!1}function Jn(t,e){this.props=t,this.context=e}(Jn.prototype=new Ct).isPureReactComponent=!0,Jn.prototype.shouldComponentUpdate=function(t,e){return zn(this.props,t)||zn(this.state,e)};var Dr=H.__b;H.__b=function(t){t.type&&t.type.__f&&t.ref&&(t.props.ref=t.ref,t.ref=null),Dr&&Dr(t)};var Di=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911,Cr=function(t,e){return t==null?null:Lt(Lt(t).map(e))},Ci={map:Cr,forEach:Cr,count:function(t){return t?Lt(t).length:0},only:function(t){var e=Lt(t);if(e.length!==1)throw"Children.only";return e[0]},toArray:Lt},xi=H.__e;H.__e=function(t,e,n,r){if(t.then){for(var o,i=e;i=i.__;)if((o=i.__c)&&o.__c)return e.__e==null&&(e.__e=n.__e,e.__k=n.__k),o.__c(t,e)}xi(t,e,n,r)};var xr=H.unmount;function Uo(t,e,n){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach(function(r){typeof r.__c=="function"&&r.__c()}),t.__c.__H=null),(t=function(r,o){for(var i in o)r[i]=o[i];return r}({},t)).__c!=null&&(t.__c.__P===n&&(t.__c.__P=e),t.__c=null),t.__k=t.__k&&t.__k.map(function(r){return Uo(r,e,n)})),t}function Fo(t,e,n){return t&&n&&(t.__v=null,t.__k=t.__k&&t.__k.map(function(r){return Fo(r,e,n)}),t.__c&&t.__c.__P===e&&(t.__e&&n.appendChild(t.__e),t.__c.__e=!0,t.__c.__P=n)),t}function hn(){this.__u=0,this.t=null,this.__b=null}function Bo(t){var e=t.__.__c;return e&&e.__a&&e.__a(t)}function Oe(){this.u=null,this.o=null}H.unmount=function(t){var e=t.__c;e&&e.__R&&e.__R(),e&&32&t.__u&&(t.type=null),xr&&xr(t)},(hn.prototype=new Ct).__c=function(t,e){var n=e.__c,r=this;r.t==null&&(r.t=[]),r.t.push(n);var o=Bo(r.__v),i=!1,a=function(){i||(i=!0,n.__R=null,o?o(u):u())};n.__R=a;var u=function(){if(!--r.__u){if(r.state.__a){var f=r.state.__a;r.__v.__k[0]=Fo(f,f.__c.__P,f.__c.__O)}var m;for(r.setState({__a:r.__b=null});m=r.t.pop();)m.forceUpdate()}};r.__u++||32&e.__u||r.setState({__a:r.__b=r.__v.__k[0]}),t.then(a,a)},hn.prototype.componentWillUnmount=function(){this.t=[]},hn.prototype.render=function(t,e){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=Uo(this.__b,n,r.__O=r.__P)}this.__b=null}var o=e.__a&&Dt(Rt,null,t.fallback);return o&&(o.__u&=-33),[Dt(Rt,null,e.__a?null:t.children),o]};var Ar=function(t,e,n){if(++n[1]===n[0]&&t.o.delete(e),t.props.revealOrder&&(t.props.revealOrder[0]!=="t"||!t.o.size))for(n=t.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),e.i.removeChild(r)}}),Fe(Dt(Ai,{context:e.context},t.__v),e.l)}function Vo(t,e){var n=Dt(Ni,{__v:t,i:e});return n.containerInfo=e,n}(Oe.prototype=new Ct).__a=function(t){var e=this,n=Bo(e.__v),r=e.o.get(t);return r[0]++,function(o){var i=function(){e.props.revealOrder?(r.push(o),Ar(e,t,r)):o()};n?n(i):i()}},Oe.prototype.render=function(t){this.u=null,this.o=new Map;var e=Lt(t.children);t.revealOrder&&t.revealOrder[0]==="b"&&e.reverse();for(var n=e.length;n--;)this.o.set(e[n],this.u=[1,0,this.u]);return t.children},Oe.prototype.componentDidUpdate=Oe.prototype.componentDidMount=function(){var t=this;this.o.forEach(function(e,n){Ar(t,n,e)})};var Ko=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,Ti=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Ri=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,Li=/[A-Z0-9]/g,qi=typeof document<"u",Mi=function(t){return(typeof Symbol<"u"&&A(Symbol())=="symbol"?/fil|che|rad/:/fil|che|ra/).test(t)};function Wo(t,e,n){return e.__k==null&&(e.textContent=""),Fe(t,e),typeof n=="function"&&n(),t?t.__c:null}Ct.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(Ct.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})});var Nr=H.event;function Hi(){}function Ui(){return this.cancelBubble}function Fi(){return this.defaultPrevented}H.event=function(t){return Nr&&(t=Nr(t)),t.persist=Hi,t.isPropagationStopped=Ui,t.isDefaultPrevented=Fi,t.nativeEvent=t};var ar,Bi={enumerable:!1,configurable:!0,get:function(){return this.class}},Tr=H.vnode;H.vnode=function(t){typeof t.type=="string"&&function(e){var n=e.props,r=e.type,o={},i=r.indexOf("-")===-1;for(var a in n){var u=n[a];if(!(a==="value"&&"defaultValue"in n&&u==null||qi&&a==="children"&&r==="noscript"||a==="class"||a==="className")){var f=a.toLowerCase();a==="defaultValue"&&"value"in n&&n.value==null?a="value":a==="download"&&u===!0?u="":f==="translate"&&u==="no"?u=!1:f[0]==="o"&&f[1]==="n"?f==="ondoubleclick"?a="ondblclick":f!=="onchange"||r!=="input"&&r!=="textarea"||Mi(n.type)?f==="onfocus"?a="onfocusin":f==="onblur"?a="onfocusout":Ri.test(a)&&(a=f):f=a="oninput":i&&Ti.test(a)?a=a.replace(Li,"-$&").toLowerCase():u===null&&(u=void 0),f==="oninput"&&o[a=f]&&(a="oninputCapture"),o[a]=u}}r=="select"&&o.multiple&&Array.isArray(o.value)&&(o.value=Lt(n.children).forEach(function(m){m.props.selected=o.value.indexOf(m.props.value)!=-1})),r=="select"&&o.defaultValue!=null&&(o.value=Lt(n.children).forEach(function(m){m.props.selected=o.multiple?o.defaultValue.indexOf(m.props.value)!=-1:o.defaultValue==m.props.value})),n.class&&!n.className?(o.class=n.class,Object.defineProperty(o,"className",Bi)):(n.className&&!n.class||n.class&&n.className)&&(o.class=o.className=n.className),e.props=o}(t),t.$$typeof=Ko,Tr&&Tr(t)};var Rr=H.__r;H.__r=function(t){Rr&&Rr(t),ar=t.__c};var Lr=H.diffed;H.diffed=function(t){Lr&&Lr(t);var e=t.props,n=t.__e;n!=null&&t.type==="textarea"&&"value"in e&&e.value!==n.value&&(n.value=e.value==null?"":e.value),ar=null};var Vi={ReactCurrentDispatcher:{current:{readContext:function(t){return ar.__n[t.__c].props.value},useCallback:Ro,useContext:Lo,useDebugValue:qo,useDeferredValue:Jo,useEffect:Je,useId:Mo,useImperativeHandle:To,useInsertionEffect:$o,useLayoutEffect:Qe,useMemo:bn,useReducer:or,useRef:No,useState:ze,useSyncExternalStore:Zo,useTransition:Qo}}};function nn(t){return!!t&&t.$$typeof===Ko}function zo(t){t()}function Jo(t){return t}function Qo(){return[!1,zo]}var $o=Qe;function Zo(t,e){var n=e(),r=ze({h:{__:n,v:e}}),o=r[0].h,i=r[1];return Qe(function(){o.__=n,o.v=e,An(o)&&i({h:o})},[t,n,e]),Je(function(){return An(o)&&i({h:o}),t(function(){An(o)&&i({h:o})})},[t]),n}function An(t){var e,n,r=t.v,o=t.__;try{var i=r();return!((e=o)===(n=i)&&(e!==0||1/e==1/n)||e!=e&&n!=n)}catch{return!0}}var c={useState:ze,useId:Mo,useReducer:or,useEffect:Je,useLayoutEffect:Qe,useInsertionEffect:$o,useTransition:Qo,useDeferredValue:Jo,useSyncExternalStore:Zo,startTransition:zo,useRef:No,useImperativeHandle:To,useMemo:bn,useCallback:Ro,useContext:Lo,useDebugValue:qo,version:"18.3.1",Children:Ci,render:Wo,hydrate:function(t,e,n){return xo(t,e),typeof n=="function"&&n(),t?t.__c:null},unmountComponentAtNode:function(t){return!!t.__k&&(Fe(null,t),!0)},createPortal:Vo,createElement:Dt,createContext:function(t,e){var n={__c:e="__cC"+wo++,__:t,Consumer:function(r,o){return r.children(o)},Provider:function(r){var o,i;return this.getChildContext||(o=new Set,(i={})[e]=this,this.getChildContext=function(){return i},this.componentWillUnmount=function(){o=null},this.shouldComponentUpdate=function(a){this.props.value!==a.value&&o.forEach(function(u){u.__e=!0,Kn(u)})},this.sub=function(a){o.add(a);var u=a.componentWillUnmount;a.componentWillUnmount=function(){o&&o.delete(a),u&&u.call(a)}}),r.children}};return n.Provider.__=n.Consumer.contextType=n},createFactory:function(t){return Dt.bind(null,t)},cloneElement:function(t){return nn(t)?Pi.apply(null,arguments):t},createRef:function(){return{current:null}},Fragment:Rt,isValidElement:nn,isElement:nn,isFragment:function(t){return nn(t)&&t.type===Rt},isMemo:function(t){return!!t&&!!t.displayName&&(typeof t.displayName=="string"||t.displayName instanceof String)&&t.displayName.startsWith("Memo(")},findDOMNode:function(t){return t&&(t.base||t.nodeType===1&&t)||null},Component:Ct,PureComponent:Jn,memo:function(t,e){function n(o){var i=this.props.ref,a=i==o.ref;return!a&&i&&(i.call?i(null):i.current=null),e?!e(this.props,o)||!a:zn(this.props,o)}function r(o){return this.shouldComponentUpdate=n,Dt(t,o)}return r.displayName="Memo("+(t.displayName||t.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r},forwardRef:function(t){function e(n){if(!("ref"in n))return t(n,null);var r=n.ref;delete n.ref;var o=t(n,r);return n.ref=r,o}return e.$$typeof=Di,e.render=e,e.prototype.isReactComponent=e.__f=!0,e.displayName="ForwardRef("+(t.displayName||t.name)+")",e},flushSync:function(t,e){return t(e)},unstable_batchedUpdates:function(t,e){return t(e)},StrictMode:Rt,Suspense:hn,SuspenseList:Oe,lazy:function(t){var e,n,r;function o(i){if(e||(e=t()).then(function(a){n=a.default||a},function(a){r=a}),r)throw r;if(!n)throw e;return Dt(n,i)}return o.displayName="Lazy",o.__f=!0,o},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Vi};function Qn(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=Array(e);n=0;--R){var D=this.tryEntries[R],L=D.completion;if(D.tryLoc==="root")return j("end");if(D.tryLoc<=this.prev){var W=r.call(D,"catchLoc"),K=r.call(D,"finallyLoc");if(W&&K){if(this.prev=0;--j){var R=this.tryEntries[j];if(R.tryLoc<=this.prev&&r.call(R,"finallyLoc")&&this.prev=0;--w){var j=this.tryEntries[w];if(j.finallyLoc===O)return this.complete(j.completion,j.afterLoc),z(j),y}},catch:function(O){for(var w=this.tryEntries.length-1;w>=0;--w){var j=this.tryEntries[w];if(j.tryLoc===O){var R=j.completion;if(R.type==="throw"){var D=R.arg;z(j)}return D}}throw Error("illegal catch attempt")},delegateYield:function(O,w,j){return this.delegate={iterator:ot(O),resultName:w,nextLoc:j},this.method==="next"&&(this.arg=t),y}},e}function Ve(t,e){return Ve=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Ve(t,e)}function yt(t,e){return function(n){if(Array.isArray(n))return n}(t)||function(n,r){var o=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(o!=null){var i,a,u,f,m=[],g=!0,l=!1;try{if(u=(o=o.call(n)).next,r===0){if(Object(o)!==o)return;g=!1}else for(;!(g=(i=u.call(o)).done)&&(m.push(i.value),m.length!==r);g=!0);}catch(v){l=!0,a=v}finally{try{if(!g&&o.return!=null&&(f=o.return(),Object(f)!==f))return}finally{if(l)throw a}}return m}}(t,e)||Go(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function je(t){return function(e){if(Array.isArray(e))return Qn(e)}(t)||function(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}(t)||Go(t)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function Go(t,e){if(t){if(typeof t=="string")return Qn(t,e);var n={}.toString.call(t).slice(8,-1);return n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set"?Array.from(t):n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Qn(t,e):void 0}}function $n(t){var e=typeof Map=="function"?new Map:void 0;return $n=function(n){if(n===null||!function(o){try{return Function.toString.call(o).indexOf("[native code]")!==-1}catch{return typeof o=="function"}}(n))return n;if(typeof n!="function")throw new TypeError("Super expression must either be null or a function");if(e!==void 0){if(e.has(n))return e.get(n);e.set(n,r)}function r(){return function(o,i,a){if(cr())return Reflect.construct.apply(null,arguments);var u=[null];u.push.apply(u,i);var f=new(o.bind.apply(o,u));return a&&Ve(f,a.prototype),f}(n,arguments,Be(this).constructor)}return r.prototype=Object.create(n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),Ve(r,n)},$n(t)}function Ki(){return c.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},c.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}function Yo(){return c.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20","aria-hidden":"true"},c.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var Wi=["translations"],rn="Ctrl",zi=c.forwardRef(function(t,e){var n=t.translations,r=n===void 0?{}:n,o=xt(t,Wi),i=r.buttonText,a=i===void 0?"Search":i,u=r.buttonAriaLabel,f=u===void 0?"Search":u,m=yt(ze(null),2),g=m[0],l=m[1];return Je(function(){typeof navigator<"u"&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?l("⌘"):l(rn))},[]),c.createElement("button",lt({type:"button",className:"DocSearch DocSearch-Button","aria-label":f},o,{ref:e}),c.createElement("span",{className:"DocSearch-Button-Container"},c.createElement(Yo,null),c.createElement("span",{className:"DocSearch-Button-Placeholder"},a)),c.createElement("span",{className:"DocSearch-Button-Keys"},g!==null&&c.createElement(c.Fragment,null,c.createElement(Hr,{reactsToKey:g===rn?rn:"Meta"},g===rn?c.createElement(Ki,null):g),c.createElement(Hr,{reactsToKey:"k"},"K"))))});function Hr(t){var e=t.reactsToKey,n=t.children,r=yt(ze(!1),2),o=r[0],i=r[1];return Je(function(){if(e)return window.addEventListener("keydown",a),window.addEventListener("keyup",u),function(){window.removeEventListener("keydown",a),window.removeEventListener("keyup",u)};function a(f){f.key===e&&i(!0)}function u(f){f.key!==e&&f.key!=="Meta"||i(!1)}},[e]),c.createElement("kbd",{className:o?"DocSearch-Button-Key DocSearch-Button-Key--pressed":"DocSearch-Button-Key"},n)}function Xo(t,e){var n=void 0;return function(){for(var r=arguments.length,o=new Array(r),i=0;it.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(g[f]=a[f]);return g}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function Vr(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function ae(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);n=3||S===2&&b>=4||S===1&&b>=10);function _(h,p,d){if(y&&d!==void 0){var P=d[0].__autocomplete_algoliaCredentials,E={"X-Algolia-Application-Id":P.appId,"X-Algolia-API-Key":P.apiKey};v.apply(void 0,[h].concat(on(p),[{headers:E}]))}else v.apply(void 0,[h].concat(on(p)))}return{init:function(h,p){v("init",{appId:h,apiKey:p})},setAuthenticatedUserToken:function(h){v("setAuthenticatedUserToken",h)},setUserToken:function(h){v("setUserToken",h)},clickedObjectIDsAfterSearch:function(){for(var h=arguments.length,p=new Array(h),d=0;d0&&_("clickedObjectIDsAfterSearch",an(p),p[0].items)},clickedObjectIDs:function(){for(var h=arguments.length,p=new Array(h),d=0;d0&&_("clickedObjectIDs",an(p),p[0].items)},clickedFilters:function(){for(var h=arguments.length,p=new Array(h),d=0;d0&&v.apply(void 0,["clickedFilters"].concat(p))},convertedObjectIDsAfterSearch:function(){for(var h=arguments.length,p=new Array(h),d=0;d0&&_("convertedObjectIDsAfterSearch",an(p),p[0].items)},convertedObjectIDs:function(){for(var h=arguments.length,p=new Array(h),d=0;d0&&_("convertedObjectIDs",an(p),p[0].items)},convertedFilters:function(){for(var h=arguments.length,p=new Array(h),d=0;d0&&v.apply(void 0,["convertedFilters"].concat(p))},viewedObjectIDs:function(){for(var h=arguments.length,p=new Array(h),d=0;d0&&p.reduce(function(P,E){var C=E.items,N=ei(E,Zi);return[].concat(on(P),on(function(I){for(var x=arguments.length>1&&arguments[1]!==void 0?arguments[1]:20,k=[],U=0;U0&&v.apply(void 0,["viewedFilters"].concat(p))}}}(f),g={current:[]},l=Xo(function(v){var s=v.state;if(s.isOpen){var S=s.collections.reduce(function(b,y){return[].concat(ce(b),ce(y.items))},[]).filter(be);ti(g.current.map(function(b){return b.objectID}),S.map(function(b){return b.objectID}))||(g.current=S,S.length>0&&ea({onItemsChange:o,items:S,insights:m,state:s}))}},0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(v){var s=v.setContext,S=v.onSelect,b=v.onActive,y=!1;function _(h){s({algoliaInsightsPlugin:{__algoliaSearchParameters:wt(wt({},u?{clickAnalytics:!0}:{}),h?{userToken:na(h)}:{}),insights:m}})}f("addAlgoliaAgent","insights-plugin"),_(),f("onUserTokenChange",function(h){y||_(h)}),f("getUserToken",null,function(h,p){y||_(p)}),f("onAuthenticatedUserTokenChange",function(h){h?(y=!0,_(h)):(y=!1,f("getUserToken",null,function(p,d){return _(d)}))}),f("getAuthenticatedUserToken",null,function(h,p){p&&(y=!0,_(p))}),S(function(h){var p=h.item,d=h.state,P=h.event,E=h.source;be(p)&&i({state:d,event:P,insights:m,item:p,insightsEvents:[wt({eventName:"Item Selected"},Fr({item:p,items:E.getItems().filter(be)}))]})}),b(function(h){var p=h.item,d=h.source,P=h.state,E=h.event;be(p)&&a({state:P,event:E,insights:m,item:p,insightsEvents:[wt({eventName:"Item Active"},Fr({item:p,items:d.getItems().filter(be)}))]})})},onStateChange:function(v){var s=v.state;l({state:s})},__autocomplete_pluginOptions:t}}function zr(){var t,e=arguments.length>1?arguments[1]:void 0;return[].concat(ce(arguments.length>0&&arguments[0]!==void 0?arguments[0]:[]),["autocomplete-internal"],ce((t=e.algoliaInsightsPlugin)!==null&&t!==void 0&&t.__automaticInsights?["autocomplete-automatic"]:[]))}function na(t){return typeof t=="number"?t.toString():t}function yn(t,e){var n=e;return{then:function(r,o){return yn(t.then(cn(r,n,t),cn(o,n,t)),n)},catch:function(r){return yn(t.catch(cn(r,n,t)),n)},finally:function(r){return r&&n.onCancelList.push(r),yn(t.finally(cn(r&&function(){return n.onCancelList=[],r()},n,t)),n)},cancel:function(){n.isCanceled=!0;var r=n.onCancelList;n.onCancelList=[],r.forEach(function(o){o()})},isCanceled:function(){return n.isCanceled===!0}}}function Jr(t){return yn(t,{isCanceled:!1,onCancelList:[]})}function cn(t,e,n){return t?function(r){return e.isCanceled?r:t(r)}:n}function Qr(t,e,n,r){if(!n)return null;if(t<0&&(e===null||r!==null&&e===0))return n+t;var o=(e===null?-1:e)+t;return o<=-1||o>=n?r===null?null:0:o}function $r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Zr(t){for(var e=1;et.length)&&(e=t.length);for(var n=0,r=new Array(e);nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n=0||(z[k]=I[k]);return z}(p,d);if(Object.getOwnPropertySymbols){var N=Object.getOwnPropertySymbols(p);for(E=0;E=0||Object.prototype.propertyIsEnumerable.call(p,P)&&(C[P]=p[P])}return C}(t,sa);Se&&o.environment.clearTimeout(Se);var m=f.setCollections,g=f.setIsOpen,l=f.setQuery,v=f.setActiveItemId,s=f.setStatus,S=f.setContext;if(l(i),v(o.defaultActiveItemId),!i&&o.openOnFocus===!1){var b,y=u.getState().collections.map(function(p){return zt(zt({},p),{},{items:[]})});s("idle"),m(y),g((b=r.isOpen)!==null&&b!==void 0?b:o.shouldPanelOpen({state:u.getState()}));var _=Jr(io(y).then(function(){return Promise.resolve()}));return u.pendingRequests.add(_)}s("loading"),Se=o.environment.setTimeout(function(){s("stalled")},o.stallThreshold);var h=Jr(io(o.getSources(zt({query:i,refresh:a,state:u.getState()},f)).then(function(p){return Promise.all(p.map(function(d){return Promise.resolve(d.getItems(zt({query:i,refresh:a,state:u.getState()},f))).then(function(P){return function(E,C,N){if(x=E,!!(x!=null&&x.execute)){var I=E.requesterId==="algolia"?Object.assign.apply(Object,[{}].concat(oi(Object.keys(N.context).map(function(k){var U;return(U=N.context[k])===null||U===void 0?void 0:U.__algoliaSearchParameters})))):{};return re(re({},E),{},{requests:E.queries.map(function(k){return{query:E.requesterId==="algolia"?re(re({},k),{},{params:re(re({},I),k.params)}):k,sourceId:C,transformResponse:E.transformResponse}})})}var x;return{items:E,sourceId:C}}(P,d.sourceId,u.getState())})})).then(la).then(function(d){var P,E=d.some(function(C){return function(N){return!Array.isArray(N)&&!!(N!=null&&N._automaticInsights)}(C.items)});return E&&S({algoliaInsightsPlugin:zt(zt({},((P=u.getState().context)===null||P===void 0?void 0:P.algoliaInsightsPlugin)||{}),{},{__automaticInsights:E})}),function(C,N,I){return N.map(function(x){var k,U=C.filter(function(O){return O.sourceId===x.sourceId}),z=U.map(function(O){return O.items}),q=U[0].transformResponse,ot=q?q({results:k=z,hits:k.map(function(O){return O.hits}).filter(Boolean),facetHits:k.map(function(O){var w;return(w=O.facetHits)===null||w===void 0?void 0:w.map(function(j){return{label:j.value,count:j.count,_highlightResult:{label:{value:j.highlighted}}}})}).filter(Boolean)}):z;return x.onResolve({source:x,results:z,items:ot,state:I.getState()}),ot.every(Boolean),'The `getItems` function from source "'.concat(x.sourceId,'" must return an array of items but returned ').concat(JSON.stringify(void 0),`. + +Did you forget to return items? + +See: https://www.algolia.com/doc/ui-libraries/autocomplete/core-concepts/sources/#param-getitems`),{source:x,items:ot}})}(d,p,u)}).then(function(d){return function(P){var E=P.props,C=P.state,N=P.collections.reduce(function(x,k){return ln(ln({},x),{},ri({},k.source.sourceId,ln(ln({},k.source),{},{getItems:function(){return Ke(k.items)}})))},{}),I=E.plugins.reduce(function(x,k){return k.reshape?k.reshape(x):x},{sourcesBySourceId:N,state:C}).sourcesBySourceId;return Ke(E.reshape({sourcesBySourceId:I,sources:Object.values(I),state:C})).filter(Boolean).map(function(x){return{source:x,items:x.getItems()}})}({collections:d,props:o,state:u.getState()})})}))).then(function(p){var d;s("idle"),m(p);var P=o.shouldPanelOpen({state:u.getState()});g((d=r.isOpen)!==null&&d!==void 0?d:o.openOnFocus&&!i&&P||P);var E=Yt(u.getState());if(u.getState().activeItemId!==null&&E){var C=E.item,N=E.itemInputValue,I=E.itemUrl,x=E.source;x.onActive(zt({event:e,item:C,itemInputValue:N,itemUrl:I,refresh:a,source:x,state:u.getState()},f))}}).finally(function(){s("idle"),Se&&o.environment.clearTimeout(Se)});return u.pendingRequests.add(h)}function Re(t){return Re=typeof Symbol=="function"&&A(Symbol.iterator)=="symbol"?function(e){return A(e)}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":A(e)},Re(t)}var ma=["event","props","refresh","store"];function ao(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Qt(t){for(var e=1;e=0||(g[f]=a[f]);return g}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(o[n]=t[n])}return o}function qe(t){return qe=typeof Symbol=="function"&&A(Symbol.iterator)=="symbol"?function(e){return A(e)}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":A(e)},qe(t)}function uo(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Sa(t){for(var e=1;e0},reshape:function(b){return b.sources}},g),{},{id:(v=g.id)!==null&&v!==void 0?v:"autocomplete-".concat(Ji++),plugins:S,initialState:ne({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},g.initialState),onStateChange:function(b){var y;(y=g.onStateChange)===null||y===void 0||y.call(g,b),S.forEach(function(_){var h;return(h=_.onStateChange)===null||h===void 0?void 0:h.call(_,b)})},onSubmit:function(b){var y;(y=g.onSubmit)===null||y===void 0||y.call(g,b),S.forEach(function(_){var h;return(h=_.onSubmit)===null||h===void 0?void 0:h.call(_,b)})},onReset:function(b){var y;(y=g.onReset)===null||y===void 0||y.call(g,b),S.forEach(function(_){var h;return(h=_.onReset)===null||h===void 0?void 0:h.call(_,b)})},getSources:function(b){return Promise.all([].concat(function(y){return function(_){if(Array.isArray(_))return Ln(_)}(y)||function(_){if(typeof Symbol<"u"&&_[Symbol.iterator]!=null||_["@@iterator"]!=null)return Array.from(_)}(y)||function(_,h){if(_){if(typeof _=="string")return Ln(_,h);var p=Object.prototype.toString.call(_).slice(8,-1);return p==="Object"&&_.constructor&&(p=_.constructor.name),p==="Map"||p==="Set"?Array.from(_):p==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(p)?Ln(_,h):void 0}}(y)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}(S.map(function(y){return y.getSources})),[g.getSources]).filter(Boolean).map(function(y){return function(_,h){var p=[];return Promise.resolve(_(h)).then(function(d){return Promise.all(d.filter(function(P){return!!P}).map(function(P){if(P.sourceId,p.includes(P.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(P.sourceId)," is not unique."));p.push(P.sourceId);var E={getItemInputValue:function(N){return N.state.query},getItemUrl:function(){},onSelect:function(N){(0,N.setIsOpen)(!1)},onActive:dn,onResolve:dn};Object.keys(E).forEach(function(N){E[N].__default=!0});var C=Zr(Zr({},E),P);return Promise.resolve(C)}))})}(y,b)})).then(function(y){return Ke(y)}).then(function(y){return y.map(function(_){return ne(ne({},_),{},{onSelect:function(h){_.onSelect(h),l.forEach(function(p){var d;return(d=p.onSelect)===null||d===void 0?void 0:d.call(p,h)})},onActive:function(h){_.onActive(h),l.forEach(function(p){var d;return(d=p.onActive)===null||d===void 0?void 0:d.call(p,h)})},onResolve:function(h){_.onResolve(h),l.forEach(function(p){var d;return(d=p.onResolve)===null||d===void 0?void 0:d.call(p,h)})}})})})},navigator:ne({navigate:function(b){var y=b.itemUrl;s.location.assign(y)},navigateNewTab:function(b){var y=b.itemUrl,_=s.open(y,"_blank","noopener");_==null||_.focus()},navigateNewWindow:function(b){var y=b.itemUrl;s.open(y,"_blank","noopener")}},g.navigator)})}(t,e),r=function(g,l,v){var s,S=l.initialState;return{getState:function(){return S},dispatch:function(b,y){var _=function(h){for(var p=1;p=0||(qt[jt]=Et[jt]);return qt}(K,J);if(Object.getOwnPropertySymbols){var de=Object.getOwnPropertySymbols(K);for(st=0;st=0||Object.prototype.propertyIsEnumerable.call(K,G)&&(tt[G]=K[G])}return tt}(x,ma);if(k.key==="ArrowUp"||k.key==="ArrowDown"){var O=function(){var K=Yt(q.getState()),J=U.environment.document.getElementById(bt(U.id,"item-".concat(q.getState().activeItemId),K==null?void 0:K.source));J&&(J.scrollIntoViewIfNeeded?J.scrollIntoViewIfNeeded(!1):J.scrollIntoView(!1))},w=function(){var K=Yt(q.getState());if(q.getState().activeItemId!==null&&K){var J=K.item,G=K.itemInputValue,st=K.itemUrl,tt=K.source;tt.onActive(Qt({event:k,item:J,itemInputValue:G,itemUrl:st,refresh:z,source:tt,state:q.getState()},ot))}};k.preventDefault(),q.getState().isOpen===!1&&(U.openOnFocus||q.getState().query)?Jt(Qt({event:k,props:U,query:q.getState().query,refresh:z,store:q},ot)).then(function(){q.dispatch(k.key,{nextActiveItemId:U.defaultActiveItemId}),w(),setTimeout(O,0)}):(q.dispatch(k.key,{}),w(),O())}else if(k.key==="Escape")k.preventDefault(),q.dispatch(k.key,null),q.pendingRequests.cancelAll();else if(k.key==="Tab")q.dispatch("blur",null),q.pendingRequests.cancelAll();else if(k.key==="Enter"){if(q.getState().activeItemId===null||q.getState().collections.every(function(K){return K.items.length===0}))return void(U.debug||q.pendingRequests.cancelAll());k.preventDefault();var j=Yt(q.getState()),R=j.item,D=j.itemInputValue,L=j.itemUrl,W=j.source;if(k.metaKey||k.ctrlKey)L!==void 0&&(W.onSelect(Qt({event:k,item:R,itemInputValue:D,itemUrl:L,refresh:z,source:W,state:q.getState()},ot)),U.navigator.navigateNewTab({itemUrl:L,item:R,state:q.getState()}));else if(k.shiftKey)L!==void 0&&(W.onSelect(Qt({event:k,item:R,itemInputValue:D,itemUrl:L,refresh:z,source:W,state:q.getState()},ot)),U.navigator.navigateNewWindow({itemUrl:L,item:R,state:q.getState()}));else if(!k.altKey){if(L!==void 0)return W.onSelect(Qt({event:k,item:R,itemInputValue:D,itemUrl:L,refresh:z,source:W,state:q.getState()},ot)),void U.navigator.navigate({itemUrl:L,item:R,state:q.getState()});Jt(Qt({event:k,nextState:{isOpen:!1},props:U,query:D,refresh:z,store:q},ot)).then(function(){W.onSelect(Qt({event:k,item:R,itemInputValue:D,itemUrl:L,refresh:z,source:W,state:q.getState()},ot))})}}}(it({event:I,props:l,refresh:v,store:s},S))},onFocus:_,onBlur:dn,onClick:function(I){b.inputElement!==l.environment.document.activeElement||s.getState().isOpen||_(I)}},P)},getPanelProps:function(b){return it({onMouseDown:function(y){y.preventDefault()},onMouseLeave:function(){s.dispatch("mouseleave",null)}},b)},getListProps:function(b){var y=b||{},_=y.source,h=oe(y,_a);return it({role:"listbox","aria-labelledby":bt(l.id,"label"),id:bt(l.id,"list",_)},h)},getItemProps:function(b){var y=b.item,_=b.source,h=oe(b,ga);return it({id:bt(l.id,"item-".concat(y.__autocomplete_id),_),role:"option","aria-selected":s.getState().activeItemId===y.__autocomplete_id,onMouseMove:function(p){if(y.__autocomplete_id!==s.getState().activeItemId){s.dispatch("mousemove",y.__autocomplete_id);var d=Yt(s.getState());if(s.getState().activeItemId!==null&&d){var P=d.item,E=d.itemInputValue,C=d.itemUrl,N=d.source;N.onActive(it({event:p,item:P,itemInputValue:E,itemUrl:C,refresh:v,source:N,state:s.getState()},S))}}},onMouseDown:function(p){p.preventDefault()},onClick:function(p){var d=_.getItemInputValue({item:y,state:s.getState()}),P=_.getItemUrl({item:y,state:s.getState()});(P?Promise.resolve():Jt(it({event:p,nextState:{isOpen:!1},props:l,query:d,refresh:v,store:s},S))).then(function(){_.onSelect(it({event:p,item:y,itemInputValue:d,itemUrl:P,refresh:v,source:_,state:s.getState()},S))})}},h)}}}($t({props:n,refresh:a,store:r,navigator:n.navigator},o));function a(){return Jt($t({event:new Event("input"),nextState:{isOpen:r.getState().isOpen},props:n,navigator:n.navigator,query:r.getState().query,refresh:a,store:r},o))}function u(g){g.forEach(function(l){var v;return(v=l.subscribe)===null||v===void 0?void 0:v.call(l,$t($t({},o),{},{navigator:n.navigator,refresh:a,onSelect:function(s){e.push({onSelect:s})},onActive:function(s){e.push({onActive:s})},onResolve:function(s){e.push({onResolve:s})}}))})}function f(){return n.plugins.some(function(g){return g.name==="aa.algoliaInsightsPlugin"})}if(n.insights&&!f()){var m=typeof n.insights=="boolean"?{}:n.insights;n.plugins.push(Wr(m))}return u(n.plugins),function(g){var l,v,s=g.metadata,S=g.environment;if(!((l=S.navigator)===null||l===void 0||(v=l.userAgent)===null||v===void 0)&&v.includes("Algolia Crawler")){var b=S.document.createElement("meta"),y=S.document.querySelector("head");b.name="algolia:metadata",setTimeout(function(){b.content=JSON.stringify(s),y.appendChild(b)},0)}}({metadata:Oa({plugins:n.plugins,options:t}),environment:n.environment}),$t($t({refresh:a,navigator:n.navigator},i),o)}function Ia(t){var e=t.translations,n=(e===void 0?{}:e).searchByText,r=n===void 0?"Search by":n;return c.createElement("a",{href:"https://www.algolia.com/ref/docsearch/?utm_source=".concat(window.location.hostname,"&utm_medium=referral&utm_content=powered_by&utm_campaign=docsearch"),target:"_blank",rel:"noopener noreferrer"},c.createElement("span",{className:"DocSearch-Label"},r),c.createElement("svg",{width:"77",height:"19","aria-label":"Algolia",role:"img",id:"Layer_1",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 2196.2 500"},c.createElement("defs",null,c.createElement("style",null,".cls-1,.cls-2{fill:#003dff;}.cls-2{fill-rule:evenodd;}")),c.createElement("path",{className:"cls-2",d:"M1070.38,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),c.createElement("rect",{className:"cls-1",x:"1845.88",y:"104.73",width:"62.58",height:"277.9",rx:"5.9",ry:"5.9"}),c.createElement("path",{className:"cls-2",d:"M1851.78,71.38h50.77c3.26,0,5.9-2.64,5.9-5.9V5.9c0-3.62-3.24-6.39-6.82-5.83l-50.77,7.95c-2.87,.45-4.99,2.92-4.99,5.83v51.62c0,3.26,2.64,5.9,5.9,5.9Z"}),c.createElement("path",{className:"cls-2",d:"M1764.03,275.3V5.91c0-3.63-3.24-6.39-6.82-5.83l-50.46,7.94c-2.87,.45-4.99,2.93-4.99,5.84l.17,273.22c0,12.92,0,92.7,95.97,95.49,3.33,.1,6.09-2.58,6.09-5.91v-40.78c0-2.96-2.19-5.51-5.12-5.84-34.85-4.01-34.85-47.57-34.85-54.72Z"}),c.createElement("path",{className:"cls-2",d:"M1631.95,142.72c-11.14-12.25-24.83-21.65-40.78-28.31-15.92-6.53-33.26-9.85-52.07-9.85-18.78,0-36.15,3.17-51.92,9.85-15.59,6.66-29.29,16.05-40.76,28.31-11.47,12.23-20.38,26.87-26.76,44.03-6.38,17.17-9.24,37.37-9.24,58.36,0,20.99,3.19,36.87,9.55,54.21,6.38,17.32,15.14,32.11,26.45,44.36,11.29,12.23,24.83,21.62,40.6,28.46,15.77,6.83,40.12,10.33,52.4,10.48,12.25,0,36.78-3.82,52.7-10.48,15.92-6.68,29.46-16.23,40.78-28.46,11.29-12.25,20.05-27.04,26.25-44.36,6.22-17.34,9.24-33.22,9.24-54.21,0-20.99-3.34-41.19-10.03-58.36-6.38-17.17-15.14-31.8-26.43-44.03Zm-44.43,163.75c-11.47,15.75-27.56,23.7-48.09,23.7-20.55,0-36.63-7.8-48.1-23.7-11.47-15.75-17.21-34.01-17.21-61.2,0-26.89,5.59-49.14,17.06-64.87,11.45-15.75,27.54-23.52,48.07-23.52,20.55,0,36.63,7.78,48.09,23.52,11.47,15.57,17.36,37.98,17.36,64.87,0,27.19-5.72,45.3-17.19,61.2Z"}),c.createElement("path",{className:"cls-2",d:"M894.42,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),c.createElement("path",{className:"cls-2",d:"M2133.97,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-14.52,22.58-22.99,49.63-22.99,78.73,0,44.89,20.13,84.92,51.59,111.1,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47,1.23,0,2.46-.03,3.68-.09,.36-.02,.71-.05,1.07-.07,.87-.05,1.75-.11,2.62-.2,.34-.03,.68-.08,1.02-.12,.91-.1,1.82-.21,2.73-.34,.21-.03,.42-.07,.63-.1,32.89-5.07,61.56-30.82,70.9-62.81v57.83c0,3.26,2.64,5.9,5.9,5.9h50.42c3.26,0,5.9-2.64,5.9-5.9V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,206.92c-12.2,10.16-27.97,13.98-44.84,15.12-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-42.24,0-77.12-35.89-77.12-79.37,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33v142.83Z"}),c.createElement("path",{className:"cls-2",d:"M1314.05,104.73h-49.33c-48.36,0-90.91,25.48-115.75,64.1-11.79,18.34-19.6,39.64-22.11,62.59-.58,5.3-.88,10.68-.88,16.14s.31,11.15,.93,16.59c4.28,38.09,23.14,71.61,50.66,94.52,2.93,2.6,6.05,4.98,9.31,7.14,12.86,8.49,28.11,13.47,44.52,13.47h0c17.99,0,34.61-5.93,48.16-15.97,16.29-11.58,28.88-28.54,34.48-47.75v50.26h-.11v11.08c0,21.84-5.71,38.27-17.34,49.36-11.61,11.08-31.04,16.63-58.25,16.63-11.12,0-28.79-.59-46.6-2.41-2.83-.29-5.46,1.5-6.27,4.22l-12.78,43.11c-1.02,3.46,1.27,7.02,4.83,7.53,21.52,3.08,42.52,4.68,54.65,4.68,48.91,0,85.16-10.75,108.89-32.21,21.48-19.41,33.15-48.89,35.2-88.52V110.63c0-3.26-2.64-5.9-5.9-5.9h-56.32Zm0,64.1s.65,139.13,0,143.36c-12.08,9.77-27.11,13.59-43.49,14.7-.16,.01-.33,.03-.49,.04-1.12,.07-2.24,.1-3.36,.1-1.32,0-2.63-.03-3.94-.1-40.41-2.11-74.52-37.26-74.52-79.38,0-10.25,1.96-20.01,5.42-28.98,11.22-29.12,38.77-49.74,71.06-49.74h49.33Z"}),c.createElement("path",{className:"cls-1",d:"M249.83,0C113.3,0,2,110.09,.03,246.16c-2,138.19,110.12,252.7,248.33,253.5,42.68,.25,83.79-10.19,120.3-30.03,3.56-1.93,4.11-6.83,1.08-9.51l-23.38-20.72c-4.75-4.21-11.51-5.4-17.36-2.92-25.48,10.84-53.17,16.38-81.71,16.03-111.68-1.37-201.91-94.29-200.13-205.96,1.76-110.26,92-199.41,202.67-199.41h202.69V407.41l-115-102.18c-3.72-3.31-9.42-2.66-12.42,1.31-18.46,24.44-48.53,39.64-81.93,37.34-46.33-3.2-83.87-40.5-87.34-86.81-4.15-55.24,39.63-101.52,94-101.52,49.18,0,89.68,37.85,93.91,85.95,.38,4.28,2.31,8.27,5.52,11.12l29.95,26.55c3.4,3.01,8.79,1.17,9.63-3.3,2.16-11.55,2.92-23.58,2.07-35.92-4.82-70.34-61.8-126.93-132.17-131.26-80.68-4.97-148.13,58.14-150.27,137.25-2.09,77.1,61.08,143.56,138.19,145.26,32.19,.71,62.03-9.41,86.14-26.95l150.26,133.2c6.44,5.71,16.61,1.14,16.61-7.47V9.48C499.66,4.25,495.42,0,490.18,0H249.83Z"})))}function mn(t){return c.createElement("svg",{width:"15",height:"15","aria-label":t.ariaLabel,role:"img"},c.createElement("g",{fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.2"},t.children))}function ka(t){var e=t.translations,n=e===void 0?{}:e,r=n.selectText,o=r===void 0?"to select":r,i=n.selectKeyAriaLabel,a=i===void 0?"Enter key":i,u=n.navigateText,f=u===void 0?"to navigate":u,m=n.navigateUpKeyAriaLabel,g=m===void 0?"Arrow up":m,l=n.navigateDownKeyAriaLabel,v=l===void 0?"Arrow down":l,s=n.closeText,S=s===void 0?"to close":s,b=n.closeKeyAriaLabel,y=b===void 0?"Escape key":b,_=n.searchByText,h=_===void 0?"Search by":_;return c.createElement(c.Fragment,null,c.createElement("div",{className:"DocSearch-Logo"},c.createElement(Ia,{translations:{searchByText:h}})),c.createElement("ul",{className:"DocSearch-Commands"},c.createElement("li",null,c.createElement("kbd",{className:"DocSearch-Commands-Key"},c.createElement(mn,{ariaLabel:a},c.createElement("path",{d:"M12 3.53088v3c0 1-1 2-2 2H4M7 11.53088l-3-3 3-3"}))),c.createElement("span",{className:"DocSearch-Label"},o)),c.createElement("li",null,c.createElement("kbd",{className:"DocSearch-Commands-Key"},c.createElement(mn,{ariaLabel:v},c.createElement("path",{d:"M7.5 3.5v8M10.5 8.5l-3 3-3-3"}))),c.createElement("kbd",{className:"DocSearch-Commands-Key"},c.createElement(mn,{ariaLabel:g},c.createElement("path",{d:"M7.5 11.5v-8M10.5 6.5l-3-3-3 3"}))),c.createElement("span",{className:"DocSearch-Label"},f)),c.createElement("li",null,c.createElement("kbd",{className:"DocSearch-Commands-Key"},c.createElement(mn,{ariaLabel:y},c.createElement("path",{d:"M13.6167 8.936c-.1065.3583-.6883.962-1.4875.962-.7993 0-1.653-.9165-1.653-2.1258v-.5678c0-1.2548.7896-2.1016 1.653-2.1016.8634 0 1.3601.4778 1.4875 1.0724M9 6c-.1352-.4735-.7506-.9219-1.46-.8972-.7092.0246-1.344.57-1.344 1.2166s.4198.8812 1.3445.9805C8.465 7.3992 8.968 7.9337 9 8.5c.032.5663-.454 1.398-1.4595 1.398C6.6593 9.898 6 9 5.963 8.4851m-1.4748.5368c-.2635.5941-.8099.876-1.5443.876s-1.7073-.6248-1.7073-2.204v-.4603c0-1.0416.721-2.131 1.7073-2.131.9864 0 1.6425 1.031 1.5443 2.2492h-2.956"}))),c.createElement("span",{className:"DocSearch-Label"},S))))}function Da(t){var e=t.hit,n=t.children;return c.createElement("a",{href:e.url},n)}function Ca(){return c.createElement("svg",{viewBox:"0 0 38 38",stroke:"currentColor",strokeOpacity:".5"},c.createElement("g",{fill:"none",fillRule:"evenodd"},c.createElement("g",{transform:"translate(1 1)",strokeWidth:"2"},c.createElement("circle",{strokeOpacity:".3",cx:"18",cy:"18",r:"18"}),c.createElement("path",{d:"M36 18c0-9.94-8.06-18-18-18"},c.createElement("animateTransform",{attributeName:"transform",type:"rotate",from:"0 18 18",to:"360 18 18",dur:"1s",repeatCount:"indefinite"})))))}function xa(){return c.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},c.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},c.createElement("path",{d:"M3.18 6.6a8.23 8.23 0 1112.93 9.94h0a8.23 8.23 0 01-11.63 0"}),c.createElement("path",{d:"M6.44 7.25H2.55V3.36M10.45 6v5.6M10.45 11.6L13 13"})))}function Gn(){return c.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},c.createElement("path",{d:"M10 10l5.09-5.09L10 10l5.09 5.09L10 10zm0 0L4.91 4.91 10 10l-5.09 5.09L10 10z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function Aa(){return c.createElement("svg",{className:"DocSearch-Hit-Select-Icon",width:"20",height:"20",viewBox:"0 0 20 20"},c.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},c.createElement("path",{d:"M18 3v4c0 2-2 4-4 4H2"}),c.createElement("path",{d:"M8 17l-6-6 6-6"})))}var Na=function(){return c.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},c.createElement("path",{d:"M17 6v12c0 .52-.2 1-1 1H4c-.7 0-1-.33-1-1V2c0-.55.42-1 1-1h8l5 5zM14 8h-3.13c-.51 0-.87-.34-.87-.87V4",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))};function Ta(t){switch(t.type){case"lvl1":return c.createElement(Na,null);case"content":return c.createElement(La,null);default:return c.createElement(Ra,null)}}function Ra(){return c.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},c.createElement("path",{d:"M13 13h4-4V8H7v5h6v4-4H7V8H3h4V3v5h6V3v5h4-4v5zm-6 0v4-4H3h4z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}function La(){return c.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},c.createElement("path",{d:"M17 5H3h14zm0 5H3h14zm0 5H3h14z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function mo(){return c.createElement("svg",{width:"20",height:"20",viewBox:"0 0 20 20"},c.createElement("path",{d:"M10 14.2L5 17l1-5.6-4-4 5.5-.7 2.5-5 2.5 5 5.6.8-4 4 .9 5.5z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinejoin:"round"}))}function qa(){return c.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},c.createElement("path",{d:"M19 4.8a16 16 0 00-2-1.2m-3.3-1.2A16 16 0 001.1 4.7M16.7 8a12 12 0 00-2.8-1.4M10 6a12 12 0 00-6.7 2M12.3 14.7a4 4 0 00-4.5 0M14.5 11.4A8 8 0 0010 10M3 16L18 2M10 18h0"}))}function Ma(){return c.createElement("svg",{width:"40",height:"40",viewBox:"0 0 20 20",fill:"none",fillRule:"evenodd",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"},c.createElement("path",{d:"M15.5 4.8c2 3 1.7 7-1 9.7h0l4.3 4.3-4.3-4.3a7.8 7.8 0 01-9.8 1m-2.2-2.2A7.8 7.8 0 0113.2 2.4M2 18L18 2"}))}function Ha(t){var e=t.translations,n=e===void 0?{}:e,r=n.titleText,o=r===void 0?"Unable to fetch results":r,i=n.helpText,a=i===void 0?"You might want to check your network connection.":i;return c.createElement("div",{className:"DocSearch-ErrorScreen"},c.createElement("div",{className:"DocSearch-Screen-Icon"},c.createElement(qa,null)),c.createElement("p",{className:"DocSearch-Title"},o),c.createElement("p",{className:"DocSearch-Help"},a))}var Ua=["translations"];function Fa(t){var e=t.translations,n=e===void 0?{}:e,r=xt(t,Ua),o=n.noResultsText,i=o===void 0?"No results for":o,a=n.suggestedQueryText,u=a===void 0?"Try searching for":a,f=n.reportMissingResultsText,m=f===void 0?"Believe this query should return results?":f,g=n.reportMissingResultsLinkText,l=g===void 0?"Let us know.":g,v=r.state.context.searchSuggestions;return c.createElement("div",{className:"DocSearch-NoResults"},c.createElement("div",{className:"DocSearch-Screen-Icon"},c.createElement(Ma,null)),c.createElement("p",{className:"DocSearch-Title"},i,' "',c.createElement("strong",null,r.state.query),'"'),v&&v.length>0&&c.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},c.createElement("p",{className:"DocSearch-Help"},u,":"),c.createElement("ul",null,v.slice(0,3).reduce(function(s,S){return[].concat(je(s),[c.createElement("li",{key:S},c.createElement("button",{className:"DocSearch-Prefill",key:S,type:"button",onClick:function(){r.setQuery(S.toLowerCase()+" "),r.refresh(),r.inputRef.current.focus()}},S))])},[]))),r.getMissingResultsUrl&&c.createElement("p",{className:"DocSearch-Help"},"".concat(m," "),c.createElement("a",{href:r.getMissingResultsUrl({query:r.state.query}),target:"_blank",rel:"noopener noreferrer"},l)))}var Ba=["hit","attribute","tagName"];function po(t,e){return e.split(".").reduce(function(n,r){return n!=null&&n[r]?n[r]:null},t)}function ie(t){var e=t.hit,n=t.attribute,r=t.tagName;return Dt(r===void 0?"span":r,B(B({},xt(t,Ba)),{},{dangerouslySetInnerHTML:{__html:po(e,"_snippetResult.".concat(n,".value"))||po(e,n)}}))}function Yn(t){return t.collection&&t.collection.items.length!==0?c.createElement("section",{className:"DocSearch-Hits"},c.createElement("div",{className:"DocSearch-Hit-source"},t.title),c.createElement("ul",t.getListProps(),t.collection.items.map(function(e,n){return c.createElement(Va,lt({key:[t.title,e.objectID].join(":"),item:e,index:n},t))}))):null}function Va(t){var e=t.item,n=t.index,r=t.renderIcon,o=t.renderAction,i=t.getItemProps,a=t.onItemClick,u=t.collection,f=t.hitComponent,m=yt(c.useState(!1),2),g=m[0],l=m[1],v=yt(c.useState(!1),2),s=v[0],S=v[1],b=c.useRef(null),y=f;return c.createElement("li",lt({className:["DocSearch-Hit",e.__docsearch_parent&&"DocSearch-Hit--Child",g&&"DocSearch-Hit--deleting",s&&"DocSearch-Hit--favoriting"].filter(Boolean).join(" "),onTransitionEnd:function(){b.current&&b.current()}},i({item:e,source:u.source,onClick:function(_){a(e,_)}})),c.createElement(y,{hit:e},c.createElement("div",{className:"DocSearch-Hit-Container"},r({item:e,index:n}),e.hierarchy[e.type]&&e.type==="lvl1"&&c.createElement("div",{className:"DocSearch-Hit-content-wrapper"},c.createElement(ie,{className:"DocSearch-Hit-title",hit:e,attribute:"hierarchy.lvl1"}),e.content&&c.createElement(ie,{className:"DocSearch-Hit-path",hit:e,attribute:"content"})),e.hierarchy[e.type]&&(e.type==="lvl2"||e.type==="lvl3"||e.type==="lvl4"||e.type==="lvl5"||e.type==="lvl6")&&c.createElement("div",{className:"DocSearch-Hit-content-wrapper"},c.createElement(ie,{className:"DocSearch-Hit-title",hit:e,attribute:"hierarchy.".concat(e.type)}),c.createElement(ie,{className:"DocSearch-Hit-path",hit:e,attribute:"hierarchy.lvl1"})),e.type==="content"&&c.createElement("div",{className:"DocSearch-Hit-content-wrapper"},c.createElement(ie,{className:"DocSearch-Hit-title",hit:e,attribute:"content"}),c.createElement(ie,{className:"DocSearch-Hit-path",hit:e,attribute:"hierarchy.lvl1"})),o({item:e,runDeleteTransition:function(_){l(!0),b.current=_},runFavoriteTransition:function(_){S(!0),b.current=_}}))))}function vo(t,e,n){return t.reduce(function(r,o){var i=e(o);return r.hasOwnProperty(i)||(r[i]=[]),r[i].length<(n||5)&&r[i].push(o),r},{})}function ho(t){return t}function pn(t){return t.button===1||t.altKey||t.ctrlKey||t.metaKey||t.shiftKey}function Ka(){}var ai=/(|<\/mark>)/g,Wa=RegExp(ai.source);function ci(t){var e,n,r=t;if(!r.__docsearch_parent&&!t._highlightResult)return t.hierarchy.lvl0;var o=r.__docsearch_parent?(e=r.__docsearch_parent)===null||e===void 0||(e=e._highlightResult)===null||e===void 0||(e=e.hierarchy)===null||e===void 0?void 0:e.lvl0:(n=t._highlightResult)===null||n===void 0||(n=n.hierarchy)===null||n===void 0?void 0:n.lvl0;return o?o.value&&Wa.test(o.value)?o.value.replace(ai,""):o.value:t.hierarchy.lvl0}function za(t){return c.createElement("div",{className:"DocSearch-Dropdown-Container"},t.state.collections.map(function(e){if(e.items.length===0)return null;var n=ci(e.items[0]);return c.createElement(Yn,lt({},t,{key:e.source.sourceId,title:n,collection:e,renderIcon:function(r){var o,i=r.item,a=r.index;return c.createElement(c.Fragment,null,i.__docsearch_parent&&c.createElement("svg",{className:"DocSearch-Hit-Tree",viewBox:"0 0 24 54"},c.createElement("g",{stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"},i.__docsearch_parent!==((o=e.items[a+1])===null||o===void 0?void 0:o.__docsearch_parent)?c.createElement("path",{d:"M8 6v21M20 27H8.3"}):c.createElement("path",{d:"M8 6v42M20 27H8.3"}))),c.createElement("div",{className:"DocSearch-Hit-icon"},c.createElement(Ta,{type:i.type})))},renderAction:function(){return c.createElement("div",{className:"DocSearch-Hit-action"},c.createElement(Aa,null))}}))}),t.resultsFooterComponent&&c.createElement("section",{className:"DocSearch-HitsFooter"},c.createElement(t.resultsFooterComponent,{state:t.state})))}var Ja=["translations"];function Qa(t){var e=t.translations,n=e===void 0?{}:e,r=xt(t,Ja),o=n.recentSearchesTitle,i=o===void 0?"Recent":o,a=n.noRecentSearchesText,u=a===void 0?"No recent searches":a,f=n.saveRecentSearchButtonTitle,m=f===void 0?"Save this search":f,g=n.removeRecentSearchButtonTitle,l=g===void 0?"Remove this search from history":g,v=n.favoriteSearchesTitle,s=v===void 0?"Favorite":v,S=n.removeFavoriteSearchButtonTitle,b=S===void 0?"Remove this search from favorites":S;return r.state.status==="idle"&&r.hasCollections===!1?r.disableUserPersonalization?null:c.createElement("div",{className:"DocSearch-StartScreen"},c.createElement("p",{className:"DocSearch-Help"},u)):r.hasCollections===!1?null:c.createElement("div",{className:"DocSearch-Dropdown-Container"},c.createElement(Yn,lt({},r,{title:i,collection:r.state.collections[0],renderIcon:function(){return c.createElement("div",{className:"DocSearch-Hit-icon"},c.createElement(xa,null))},renderAction:function(y){var _=y.item,h=y.runFavoriteTransition,p=y.runDeleteTransition;return c.createElement(c.Fragment,null,c.createElement("div",{className:"DocSearch-Hit-action"},c.createElement("button",{className:"DocSearch-Hit-action-button",title:m,type:"submit",onClick:function(d){d.preventDefault(),d.stopPropagation(),h(function(){r.favoriteSearches.add(_),r.recentSearches.remove(_),r.refresh()})}},c.createElement(mo,null))),c.createElement("div",{className:"DocSearch-Hit-action"},c.createElement("button",{className:"DocSearch-Hit-action-button",title:l,type:"submit",onClick:function(d){d.preventDefault(),d.stopPropagation(),p(function(){r.recentSearches.remove(_),r.refresh()})}},c.createElement(Gn,null))))}})),c.createElement(Yn,lt({},r,{title:s,collection:r.state.collections[1],renderIcon:function(){return c.createElement("div",{className:"DocSearch-Hit-icon"},c.createElement(mo,null))},renderAction:function(y){var _=y.item,h=y.runDeleteTransition;return c.createElement("div",{className:"DocSearch-Hit-action"},c.createElement("button",{className:"DocSearch-Hit-action-button",title:b,type:"submit",onClick:function(p){p.preventDefault(),p.stopPropagation(),h(function(){r.favoriteSearches.remove(_),r.refresh()})}},c.createElement(Gn,null)))}})))}var $a=["translations"],Za=c.memo(function(t){var e=t.translations,n=e===void 0?{}:e,r=xt(t,$a);if(r.state.status==="error")return c.createElement(Ha,{translations:n==null?void 0:n.errorScreen});var o=r.state.collections.some(function(i){return i.items.length>0});return r.state.query?o===!1?c.createElement(Fa,lt({},r,{translations:n==null?void 0:n.noResultsScreen})):c.createElement(za,r):c.createElement(Qa,lt({},r,{hasCollections:o,translations:n==null?void 0:n.startScreen}))},function(t,e){return e.state.status==="loading"||e.state.status==="stalled"}),Ga=["translations"];function Ya(t){var e=t.translations,n=e===void 0?{}:e,r=xt(t,Ga),o=n.resetButtonTitle,i=o===void 0?"Clear the query":o,a=n.resetButtonAriaLabel,u=a===void 0?"Clear the query":a,f=n.cancelButtonText,m=f===void 0?"Cancel":f,g=n.cancelButtonAriaLabel,l=g===void 0?"Cancel":g,v=n.searchInputLabel,s=v===void 0?"Search":v,S=r.getFormProps({inputElement:r.inputRef.current}).onReset;return c.useEffect(function(){r.autoFocus&&r.inputRef.current&&r.inputRef.current.focus()},[r.autoFocus,r.inputRef]),c.useEffect(function(){r.isFromSelection&&r.inputRef.current&&r.inputRef.current.select()},[r.isFromSelection,r.inputRef]),c.createElement(c.Fragment,null,c.createElement("form",{className:"DocSearch-Form",onSubmit:function(b){b.preventDefault()},onReset:S},c.createElement("label",lt({className:"DocSearch-MagnifierLabel"},r.getLabelProps()),c.createElement(Yo,null),c.createElement("span",{className:"DocSearch-VisuallyHiddenForAccessibility"},s)),c.createElement("div",{className:"DocSearch-LoadingIndicator"},c.createElement(Ca,null)),c.createElement("input",lt({className:"DocSearch-Input",ref:r.inputRef},r.getInputProps({inputElement:r.inputRef.current,autoFocus:r.autoFocus,maxLength:64}))),c.createElement("button",{type:"reset",title:i,className:"DocSearch-Reset","aria-label":u,hidden:!r.state.query},c.createElement(Gn,null))),c.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":l,onClick:r.onClose},m))}var Xa=["_highlightResult","_snippetResult"];function yo(t){var e=t.key,n=t.limit,r=n===void 0?5:n,o=function(a){return function(){var u="__TEST_KEY__";try{return localStorage.setItem(u,""),localStorage.removeItem(u),!0}catch{return!1}}()===!1?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(u){return window.localStorage.setItem(a,JSON.stringify(u))},getItem:function(){var u=window.localStorage.getItem(a);return u?JSON.parse(u):[]}}}(e),i=o.getItem().slice(0,r);return{add:function(a){var u=a;u._highlightResult,u._snippetResult;var f=xt(u,Xa),m=i.findIndex(function(g){return g.objectID===f.objectID});m>-1&&i.splice(m,1),i.unshift(f),i=i.slice(0,r),o.setItem(i)},remove:function(a){i=i.filter(function(u){return u.objectID!==a.objectID}),o.setItem(i)},getAll:function(){return i}}}function tc(t){var e,n="algolia-client-js-".concat(t.key);function r(){return e===void 0&&(e=t.localStorage||window.localStorage),e}function o(){return JSON.parse(r().getItem(n)||"{}")}function i(a){r().setItem(n,JSON.stringify(a))}return{get:function(a,u){var f=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then(function(){var m,g,l;return m=t.timeToLive?1e3*t.timeToLive:null,g=o(),i(l=Object.fromEntries(Object.entries(g).filter(function(v){return yt(v,2)[1].timestamp!==void 0}))),m&&i(Object.fromEntries(Object.entries(l).filter(function(v){var s=yt(v,2)[1],S=new Date().getTime();return!(s.timestamp+m2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return o().then(function(a){return Promise.all([a,i.miss(a)])}).then(function(a){return yt(a,1)[0]})},set:function(r,o){return Promise.resolve(o)},delete:function(r){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(r,o){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return n.get(r,o,i).catch(function(){return we({caches:e}).get(r,o,i)})},set:function(r,o){return n.set(r,o).catch(function(){return we({caches:e}).set(r,o)})},delete:function(r){return n.delete(r).catch(function(){return we({caches:e}).delete(r)})},clear:function(){return n.clear().catch(function(){return we({caches:e}).clear()})}}}function Hn(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{serializable:!0},e={};return{get:function(n,r){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}},i=JSON.stringify(n);if(i in e)return Promise.resolve(t.serializable?JSON.parse(e[i]):e[i]);var a=r();return a.then(function(u){return o.miss(u)}).then(function(){return a})},set:function(n,r){return e[JSON.stringify(n)]=t.serializable?JSON.stringify(r):r,Promise.resolve(r)},delete:function(n){return delete e[JSON.stringify(n)],Promise.resolve()},clear:function(){return e={},Promise.resolve()}}}function ec(t){var e=t.algoliaAgents,n=t.client,r=t.version,o=function(i){var a={value:"Algolia for JavaScript (".concat(i,")"),add:function(u){var f="; ".concat(u.segment).concat(u.version!==void 0?" (".concat(u.version,")"):"");return a.value.indexOf(f)===-1&&(a.value="".concat(a.value).concat(f)),a}};return a}(r).add({segment:n,version:r});return e.forEach(function(i){return o.add(i)}),o}var _o=12e4;function go(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"up",n=Date.now();return B(B({},t),{},{status:e,lastUpdate:n,isUp:function(){return e==="up"||Date.now()-n>_o},isTimedOut:function(){return e==="timed out"&&Date.now()-n<=_o}})}var ui=function(){function t(e,n){var r;return me(this,t),ve(r=fe(this,t,[e]),"name","AlgoliaError"),n&&(r.name=n),r}return he(t,$n(Error)),pe(t)}(),li=function(){function t(e,n,r){var o;return me(this,t),ve(o=fe(this,t,[e,r]),"stackTrace",void 0),o.stackTrace=n,o}return he(t,ui),pe(t)}(),nc=function(){function t(e){return me(this,t),fe(this,t,["Unreachable hosts - your application id may be incorrect. If the error persists, please reach out to the Algolia Support team: https://alg.li/support.",e,"RetryError"])}return he(t,li),pe(t)}(),Xn=function(){function t(e,n,r){var o,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:"ApiError";return me(this,t),ve(o=fe(this,t,[e,r,i]),"status",void 0),o.status=n,o}return he(t,li),pe(t)}(),rc=function(){function t(e,n){var r;return me(this,t),ve(r=fe(this,t,[e,"DeserializationError"]),"response",void 0),r.response=n,r}return he(t,ui),pe(t)}(),oc=function(){function t(e,n,r,o){var i;return me(this,t),ve(i=fe(this,t,[e,n,o,"DetailedApiError"]),"error",void 0),i.error=r,i}return he(t,Xn),pe(t)}();function ic(t,e,n){var r,o=(r=n,Object.keys(r).filter(function(a){return r[a]!==void 0}).sort().map(function(a){return"".concat(a,"=").concat(encodeURIComponent(Object.prototype.toString.call(r[a])==="[object Array]"?r[a].join(","):r[a]).replace(/\+/g,"%20"))}).join("&")),i="".concat(t.protocol,"://").concat(t.url).concat(t.port?":".concat(t.port):"","/").concat(e.charAt(0)==="/"?e.substring(1):e);return o.length&&(i+="?".concat(o)),i}function ac(t,e){if(t.method!=="GET"&&(t.data!==void 0||e.data!==void 0)){var n=Array.isArray(t.data)?t.data:B(B({},t.data),e.data);return JSON.stringify(n)}}function cc(t,e,n){var r=B(B(B({Accept:"application/json"},t),e),n),o={};return Object.keys(r).forEach(function(i){var a=r[i];o[i.toLowerCase()]=a}),o}function uc(t){try{return JSON.parse(t.content)}catch(e){throw new rc(e.message,t)}}function lc(t,e){var n=t.content,r=t.status;try{var o=JSON.parse(n);return"error"in o?new oc(o.message,r,o.error,e):new Xn(o.message,r,e)}catch{}return new Xn(n,r,e)}function sc(t){return t.map(function(e){return si(e)})}function si(t){var e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return B(B({},t),{},{request:B(B({},t.request),{},{headers:B(B({},t.request.headers),e)})})}var fc=["appId","apiKey","authMode","algoliaAgents"],mc=["params"],bo="5.12.0";function pc(t){return[{url:"".concat(t,"-dsn.algolia.net"),accept:"read",protocol:"https"},{url:"".concat(t,".algolia.net"),accept:"write",protocol:"https"}].concat(function(e){for(var n=e,r=e.length-1;r>0;r--){var o=Math.floor(Math.random()*(r+1)),i=e[r];n[r]=e[o],n[o]=i}return n}([{url:"".concat(t,"-1.algolianet.com"),accept:"readWrite",protocol:"https"},{url:"".concat(t,"-2.algolianet.com"),accept:"readWrite",protocol:"https"},{url:"".concat(t,"-3.algolianet.com"),accept:"readWrite",protocol:"https"}]))}var tr="3.7.0",vc=["footer","searchBox"];function hc(t){var e=t.appId,n=t.apiKey,r=t.indexName,o=t.placeholder,i=o===void 0?"Search docs":o,a=t.searchParameters,u=t.maxResultsPerGroup,f=t.onClose,m=f===void 0?Ka:f,g=t.transformItems,l=g===void 0?ho:g,v=t.hitComponent,s=v===void 0?Da:v,S=t.resultsFooterComponent,b=S===void 0?function(){return null}:S,y=t.navigator,_=t.initialScrollY,h=_===void 0?0:_,p=t.transformSearchClient,d=p===void 0?ho:p,P=t.disableUserPersonalization,E=P!==void 0&&P,C=t.initialQuery,N=C===void 0?"":C,I=t.translations,x=I===void 0?{}:I,k=t.getMissingResultsUrl,U=t.insights,z=U!==void 0&&U,q=x.footer,ot=x.searchBox,O=xt(x,vc),w=yt(c.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),j=w[0],R=w[1],D=c.useRef(null),L=c.useRef(null),W=c.useRef(null),K=c.useRef(null),J=c.useRef(null),G=c.useRef(10),st=c.useRef(typeof window<"u"?window.getSelection().toString().slice(0,64):"").current,tt=c.useRef(N||st).current,de=function(F,Q,at){return c.useMemo(function(){var mt=function(ht,_t){if(!ht||typeof ht!="string")throw new Error("`appId` is missing.");if(!_t||typeof _t!="string")throw new Error("`apiKey` is missing.");return function(M){var et=M.appId,X=M.apiKey,Pt=M.authMode,Mt=M.algoliaAgents,It=xt(M,fc),St=function(T,$){var nt=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"WithinHeaders",dt={"x-algolia-api-key":$,"x-algolia-application-id":T};return{headers:function(){return nt==="WithinHeaders"?dt:{}},queryParameters:function(){return nt==="WithinQueryParameters"?dt:{}}}}(et,X,Pt),pt=function(T){var $=T.hosts,nt=T.hostsCache,dt=T.baseHeaders,kt=T.logger,Ht=T.baseQueryParameters,Kt=T.algoliaAgent,lr=T.timeouts,sr=T.requester,ye=T.requestsCache,Sn=T.responsesCache;function mi(gt){return fr.apply(this,arguments)}function fr(){return(fr=Nn(Zt().mark(function gt(ct){var rt,At,ut,vt,Ut;return Zt().wrap(function(Nt){for(;;)switch(Nt.prev=Nt.next){case 0:return Nt.next=2,Promise.all(ct.map(function(ft){return nt.get(ft,function(){return Promise.resolve(go(ft))})}));case 2:return rt=Nt.sent,At=rt.filter(function(ft){return ft.isUp()}),ut=rt.filter(function(ft){return ft.isTimedOut()}),vt=[].concat(je(At),je(ut)),Ut=vt.length>0?vt:ct,Nt.abrupt("return",{hosts:Ut,getTimeout:function(ft,te){return(ut.length===0&&ft===0?1:ut.length+3+ft)*te}});case 8:case"end":return Nt.stop()}},gt)}))).apply(this,arguments)}function mr(gt,ct){return On.apply(this,arguments)}function On(){return On=Nn(Zt().mark(function gt(ct,rt){var At,ut,vt,Ut,Nt,ft,te,wn,Wt,Ze,En,pr,jn,Pn=arguments;return Zt().wrap(function(ee){for(;;)switch(ee.prev=ee.next){case 0:if(At=!(Pn.length>2&&Pn[2]!==void 0)||Pn[2],ut=[],vt=ac(ct,rt),Ut=cc(dt,ct.headers,rt.headers),Nt=ct.method==="GET"?B(B({},ct.data),rt.data):{},ft=B(B(B({},Ht),ct.queryParameters),Nt),Kt.value&&(ft["x-algolia-agent"]=Kt.value),rt&&rt.queryParameters)for(te=0,wn=Object.keys(rt.queryParameters);te1&&arguments[1]!==void 0?arguments[1]:{},rt=gt.useReadTransporter||gt.method==="GET";if(!rt)return mr(gt,ct,rt);var At=function(){return mr(gt,ct)};if((ct.cacheable||gt.cacheable)!==!0)return At();var ut={request:gt,requestOptions:ct,transporter:{queryParameters:Ht,headers:dt}};return Sn.get(ut,function(){return ye.get(ut,function(){return ye.set(ut,At()).then(function(vt){return Promise.all([ye.delete(ut),vt])},function(vt){return Promise.all([ye.delete(ut),Promise.reject(vt)])}).then(function(vt){var Ut=yt(vt,2);return Ut[0],Ut[1]})})},{miss:function(vt){return Sn.set(ut,vt)}})},requestsCache:ye,responsesCache:Sn}}(B(B({hosts:pc(et)},It),{},{algoliaAgent:ec({algoliaAgents:Mt,client:"Lite",version:bo}),baseHeaders:B(B({"content-type":"text/plain"},St.headers()),It.baseHeaders),baseQueryParameters:B(B({},St.queryParameters()),It.baseQueryParameters)}));return{transporter:pt,appId:et,clearCache:function(){return Promise.all([pt.requestsCache.clear(),pt.responsesCache.clear()]).then(function(){})},get _ua(){return pt.algoliaAgent.value},addAlgoliaAgent:function(T,$){pt.algoliaAgent.add({segment:T,version:$})},setClientApiKey:function(T){var $=T.apiKey;Pt&&Pt!=="WithinHeaders"?pt.baseQueryParameters["x-algolia-api-key"]=$:pt.baseHeaders["x-algolia-api-key"]=$},searchForHits:function(T,$){return this.search(T,$)},searchForFacets:function(T,$){return this.search(T,$)},customPost:function(T,$){var nt=T.path,dt=T.parameters,kt=T.body;if(!nt)throw new Error("Parameter `path` is required when calling `customPost`.");var Ht={method:"POST",path:"/{path}".replace("{path}",nt),queryParameters:dt||{},headers:{},data:kt||{}};return pt.request(Ht,$)},getRecommendations:function(T,$){if(T&&Array.isArray(T)&&(T={requests:T}),!T)throw new Error("Parameter `getRecommendationsParams` is required when calling `getRecommendations`.");if(!T.requests)throw new Error("Parameter `getRecommendationsParams.requests` is required when calling `getRecommendations`.");var nt={method:"POST",path:"/1/indexes/*/recommendations",queryParameters:{},headers:{},data:T,useReadTransporter:!0,cacheable:!0};return pt.request(nt,$)},search:function(T,$){if(T&&Array.isArray(T)){var nt={requests:T.map(function(kt){var Ht=kt.params,Kt=xt(kt,mc);return Kt.type==="facet"?B(B(B({},Kt),Ht),{},{type:"facet"}):B(B(B({},Kt),Ht),{},{facet:void 0,maxFacetHits:void 0,facetQuery:void 0})})};T=nt}if(!T)throw new Error("Parameter `searchMethodParams` is required when calling `search`.");if(!T.requests)throw new Error("Parameter `searchMethodParams.requests` is required when calling `search`.");var dt={method:"POST",path:"/1/indexes/*/queries",queryParameters:{},headers:{},data:T,useReadTransporter:!0,cacheable:!0};return pt.request(dt,$)}}}(B({appId:ht,apiKey:_t,timeouts:{connect:1e3,read:2e3,write:3e4},logger:{debug:function(M,et){return Promise.resolve()},info:function(M,et){return Promise.resolve()},error:function(M,et){return Promise.resolve()}},requester:{send:function(M){return new Promise(function(et){var X=new XMLHttpRequest;X.open(M.method,M.url,!0),Object.keys(M.headers).forEach(function(St){return X.setRequestHeader(St,M.headers[St])});var Pt,Mt=function(St,pt){return setTimeout(function(){X.abort(),et({status:0,content:pt,isTimedOut:!0})},St)},It=Mt(M.connectTimeout,"Connection timeout");X.onreadystatechange=function(){X.readyState>X.OPENED&&Pt===void 0&&(clearTimeout(It),Pt=Mt(M.responseTimeout,"Socket timeout"))},X.onerror=function(){X.status===0&&(clearTimeout(It),clearTimeout(Pt),et({content:X.responseText||"Network request failed",status:X.status,isTimedOut:!1}))},X.onload=function(){clearTimeout(It),clearTimeout(Pt),et({content:X.responseText,status:X.status,isTimedOut:!1})},X.send(M.data)})}},algoliaAgents:[{segment:"Browser"}],authMode:"WithinQueryParameters",responsesCache:Hn(),requestsCache:Hn({serializable:!1}),hostsCache:we({caches:[tc({key:"".concat(bo,"-").concat(ht)}),Hn()]})},void 0))}(F,Q);return mt.addAlgoliaAgent("docsearch",tr),/docsearch.js \(.*\)/.test(mt.transporter.algoliaAgent.value)===!1&&mt.addAlgoliaAgent("docsearch-react",tr),at(mt)},[F,Q,at])}(e,n,d),Et=c.useRef(yo({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(r),limit:10})).current,Vt=c.useRef(yo({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(r),limit:Et.getAll().length===0?7:4})).current,jt=c.useCallback(function(F){if(!E){var Q=F.type==="content"?F.__docsearch_parent:F;Q&&Et.getAll().findIndex(function(at){return at.objectID===Q.objectID})===-1&&Vt.add(Q)}},[Et,Vt,E]),Xt=c.useCallback(function(F){if(j.context.algoliaInsightsPlugin&&F.__autocomplete_id){var Q=F,at={eventName:"Item Selected",index:Q.__autocomplete_indexName,items:[Q],positions:[F.__autocomplete_id],queryID:Q.__autocomplete_queryID};j.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(at)}},[j.context.algoliaInsightsPlugin]),qt=c.useMemo(function(){return Pa({id:"docsearch",defaultActiveItemId:0,placeholder:i,openOnFocus:!0,initialState:{query:tt,context:{searchSuggestions:[]}},insights:z,navigator:y,onStateChange:function(F){R(F.state)},getSources:function(F){var Q=F.query,at=F.state,mt=F.setContext,ht=F.setStatus;if(!Q)return E?[]:[{sourceId:"recentSearches",onSelect:function(M){var et=M.item,X=M.event;jt(et),pn(X)||m()},getItemUrl:function(M){return M.item.url},getItems:function(){return Vt.getAll()}},{sourceId:"favoriteSearches",onSelect:function(M){var et=M.item,X=M.event;jt(et),pn(X)||m()},getItemUrl:function(M){return M.item.url},getItems:function(){return Et.getAll()}}];var _t=!!z;return de.search({requests:[B({query:Q,indexName:r,attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(G.current),"hierarchy.lvl2:".concat(G.current),"hierarchy.lvl3:".concat(G.current),"hierarchy.lvl4:".concat(G.current),"hierarchy.lvl5:".concat(G.current),"hierarchy.lvl6:".concat(G.current),"content:".concat(G.current)],snippetEllipsisText:"…",highlightPreTag:"",highlightPostTag:"",hitsPerPage:20,clickAnalytics:_t},a)]}).catch(function(M){throw M.name==="RetryError"&&ht("error"),M}).then(function(M){var et=M.results[0],X=et.hits,Pt=et.nbHits,Mt=vo(X,function(St){return ci(St)},u);at.context.searchSuggestions.length0&&(ur(),J.current&&J.current.focus())},[tt,ur]),c.useEffect(function(){function F(){if(L.current){var Q=.01*window.innerHeight;L.current.style.setProperty("--docsearch-vh","".concat(Q,"px"))}}return F(),window.addEventListener("resize",F),function(){window.removeEventListener("resize",F)}},[]),c.createElement("div",lt({ref:D},fi({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container",j.status==="stalled"&&"DocSearch-Container--Stalled",j.status==="error"&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(F){F.target===F.currentTarget&&m()}}),c.createElement("div",{className:"DocSearch-Modal",ref:L},c.createElement("header",{className:"DocSearch-SearchBar",ref:W},c.createElement(Ya,lt({},qt,{state:j,autoFocus:tt.length===0,inputRef:J,isFromSelection:!!tt&&tt===st,translations:ot,onClose:m}))),c.createElement("div",{className:"DocSearch-Dropdown",ref:K},c.createElement(Za,lt({},qt,{indexName:r,state:j,hitComponent:s,resultsFooterComponent:b,disableUserPersonalization:E,recentSearches:Vt,favoriteSearches:Et,inputRef:J,translations:O,getMissingResultsUrl:k,onItemClick:function(F,Q){Xt(F),jt(F),pn(Q)||m()}}))),c.createElement("footer",{className:"DocSearch-Footer"},c.createElement(ka,{translations:q}))))}function dc(t){var e,n,r=c.useRef(null),o=yt(c.useState(!1),2),i=o[0],a=o[1],u=yt(c.useState((t==null?void 0:t.initialQuery)||void 0),2),f=u[0],m=u[1],g=c.useCallback(function(){a(!0)},[a]),l=c.useCallback(function(){a(!1),m(t==null?void 0:t.initialQuery)},[a,t.initialQuery]);return function(v){var s=v.isOpen,S=v.onOpen,b=v.onClose,y=v.onInput,_=v.searchButtonRef;c.useEffect(function(){function h(p){var d;if(p.code==="Escape"&&s||((d=p.key)===null||d===void 0?void 0:d.toLowerCase())==="k"&&(p.metaKey||p.ctrlKey)||!function(P){var E=P.target,C=E.tagName;return E.isContentEditable||C==="INPUT"||C==="SELECT"||C==="TEXTAREA"}(p)&&p.key==="/"&&!s)return p.preventDefault(),void(s?b():document.body.classList.contains("DocSearch--active")||S());_&&_.current===document.activeElement&&y&&/[a-zA-Z0-9]/.test(String.fromCharCode(p.keyCode))&&y(p)}return window.addEventListener("keydown",h),function(){window.removeEventListener("keydown",h)}},[s,S,b,y,_])}({isOpen:i,onOpen:g,onClose:l,onInput:c.useCallback(function(v){a(!0),m(v.key)},[a,m]),searchButtonRef:r}),c.createElement(c.Fragment,null,c.createElement(zi,{ref:r,translations:t==null||(e=t.translations)===null||e===void 0?void 0:e.button,onClick:g}),i&&Vo(c.createElement(hc,lt({},t,{initialScrollY:window.scrollY,initialQuery:f,translations:t==null||(n=t.translations)===null||n===void 0?void 0:n.modal,onClose:l})),document.body))}function yc(t){Wo(c.createElement(dc,Un({},t,{transformSearchClient:function(e){return e.addAlgoliaAgent("docsearch.js",tr),t.transformSearchClient?t.transformSearchClient(e):e}})),function(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:window;return typeof e=="string"?n.document.querySelector(e):e}(t.container,t.environment))}const _c={id:"docsearch"},Sc=pi({__name:"VPAlgoliaSearchBox",props:{algolia:{}},setup(t){const e=t,n=vi(),r=hi(),{site:o,localeIndex:i,lang:a}=Si();di(u),yi(i,u);async function u(){var s,S;await _i();const g={...e.algolia,...(s=e.algolia.locales)==null?void 0:s[i.value]},l=((S=g.searchParameters)==null?void 0:S.facetFilters)??[],v=[...(Array.isArray(l)?l:[l]).filter(b=>!b.startsWith("lang:")),`lang:${a.value}`];f({...g,searchParameters:{...g.searchParameters,facetFilters:v}})}function f(g){const l=Object.assign({},g,{container:"#docsearch",navigator:{navigate({itemUrl:v}){const{pathname:s}=new URL(window.location.origin+v);r.path===s?window.location.assign(window.location.origin+v):n.go(v)}},transformItems(v){return v.map(s=>Object.assign({},s,{url:m(s.url)}))},hitComponent({hit:v,children:s}){return{__v:null,type:"a",ref:void 0,constructor:void 0,key:void 0,props:{href:v.url,children:s}}}});yc(l)}function m(g){const{pathname:l,hash:v}=new URL(g,location.origin);return l.replace(/\.html$/,o.value.cleanUrls?"":".html")+v}return(g,l)=>(gi(),bi("div",_c))}});export{Sc as default}; diff --git a/docs/assets/chunks/VPAlgoliaSearchBox._A-W2TAG.js b/docs/assets/chunks/VPAlgoliaSearchBox._A-W2TAG.js deleted file mode 100644 index 663e4ed6..00000000 --- a/docs/assets/chunks/VPAlgoliaSearchBox._A-W2TAG.js +++ /dev/null @@ -1,17 +0,0 @@ -import{d as so,ah as fo,L as mo,j as po,y as vo,P as ho,o as yo,c as go}from"./framework.q7IuVqhY.js";import{u as bo}from"./theme.pvYGL-GL.js";/*! @docsearch/js 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */function ur(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function I(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function se(t,e){return function(r){if(Array.isArray(r))return r}(t)||function(r,n){var o=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(o!=null){var i,a,c=[],u=!0,s=!1;try{for(o=o.call(r);!(u=(i=o.next()).done)&&(c.push(i.value),!n||c.length!==n);u=!0);}catch(l){s=!0,a=l}finally{try{u||o.return==null||o.return()}finally{if(s)throw a}}return c}}(t,e)||yn(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function ft(t){return function(e){if(Array.isArray(e))return Lt(e)}(t)||function(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}(t)||yn(t)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function yn(t,e){if(t){if(typeof t=="string")return Lt(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set"?Array.from(t):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Lt(t,e):void 0}}function Lt(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r3)for(r=[r],i=3;i0?Ie(v.type,v.props,v.key,null,v.__v):v)!=null){if(v.__=r,v.__b=r.__b+1,(p=b[l])===null||p&&v.key==p.key&&v.type===p.type)b[l]=void 0;else for(m=0;m<_;m++){if((p=b[m])&&v.key==p.key&&v.type===p.type){b[m]=void 0;break}p=null}Yt(t,v,p=p||mt,o,i,a,c,u,s),d=v.__e,(m=v.ref)&&p.ref!=m&&(y||(y=[]),p.ref&&y.push(p.ref,null,v),y.push(m,v.__c||d,v)),d!=null?(h==null&&(h=d),typeof v.type=="function"&&v.__k!=null&&v.__k===p.__k?v.__d=u=wn(v,u,t):u=jn(t,v,p,b,d,u),s||r.type!=="option"?typeof r.type=="function"&&(r.__d=u):t.value=""):u&&p.__e==u&&u.parentNode!=t&&(u=We(p))}for(r.__e=h,l=_;l--;)b[l]!=null&&(typeof r.type=="function"&&b[l].__e!=null&&b[l].__e==r.__d&&(r.__d=We(n,l+1)),In(b[l],b[l]));if(y)for(l=0;l3)for(r=[r],i=3;i=r.__.length&&r.__.push({}),r.__[t]}function kn(t){return pe=1,An(xn,t)}function An(t,e,r){var n=Je(de++,2);return n.t=t,n.__c||(n.__=[r?r(e):xn(void 0,e),function(o){var i=n.t(n.__[0],o);n.__[0]!==i&&(n.__=[i,n.__[1]],n.__c.setState({}))}],n.__c=q),n.__}function Cn(t,e){var r=Je(de++,3);!w.__s&&Gt(r.__H,e)&&(r.__=t,r.__H=e,q.__H.__h.push(r))}function gr(t,e){var r=Je(de++,4);!w.__s&&Gt(r.__H,e)&&(r.__=t,r.__H=e,q.__h.push(r))}function Pt(t,e){var r=Je(de++,7);return Gt(r.__H,e)&&(r.__=t(),r.__H=e,r.__h=t),r.__}function Po(){Ht.forEach(function(t){if(t.__P)try{t.__H.__h.forEach(ut),t.__H.__h.forEach(Ut),t.__H.__h=[]}catch(e){t.__H.__h=[],w.__e(e,t.__v)}}),Ht=[]}w.__b=function(t){q=null,pr&&pr(t)},w.__r=function(t){vr&&vr(t),de=0;var e=(q=t.__c).__H;e&&(e.__h.forEach(ut),e.__h.forEach(Ut),e.__h=[])},w.diffed=function(t){dr&&dr(t);var e=t.__c;e&&e.__H&&e.__H.__h.length&&(Ht.push(e)!==1&&mr===w.requestAnimationFrame||((mr=w.requestAnimationFrame)||function(r){var n,o=function(){clearTimeout(i),br&&cancelAnimationFrame(n),setTimeout(r)},i=setTimeout(o,100);br&&(n=requestAnimationFrame(o))})(Po)),q=void 0},w.__c=function(t,e){e.some(function(r){try{r.__h.forEach(ut),r.__h=r.__h.filter(function(n){return!n.__||Ut(n)})}catch(n){e.some(function(o){o.__h&&(o.__h=[])}),e=[],w.__e(n,r.__v)}}),hr&&hr(t,e)},w.unmount=function(t){yr&&yr(t);var e=t.__c;if(e&&e.__H)try{e.__H.__.forEach(ut)}catch(r){w.__e(r,e.__v)}};var br=typeof requestAnimationFrame=="function";function ut(t){var e=q;typeof t.__c=="function"&&t.__c(),q=e}function Ut(t){var e=q;t.__c=t.__(),q=e}function Gt(t,e){return!t||t.length!==e.length||e.some(function(r,n){return r!==t[n]})}function xn(t,e){return typeof e=="function"?e(t):e}function Nn(t,e){for(var r in e)t[r]=e[r];return t}function Ft(t,e){for(var r in t)if(r!=="__source"&&!(r in e))return!0;for(var n in e)if(n!=="__source"&&t[n]!==e[n])return!0;return!1}function Bt(t){this.props=t}(Bt.prototype=new K).isPureReactComponent=!0,Bt.prototype.shouldComponentUpdate=function(t,e){return Ft(this.props,t)||Ft(this.state,e)};var _r=w.__b;w.__b=function(t){t.type&&t.type.__f&&t.ref&&(t.props.ref=t.ref,t.ref=null),_r&&_r(t)};var Io=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.forward_ref")||3911,Or=function(t,e){return t==null?null:$($(t).map(e))},Do={map:Or,forEach:Or,count:function(t){return t?$(t).length:0},only:function(t){var e=$(t);if(e.length!==1)throw"Children.only";return e[0]},toArray:$},ko=w.__e;function ct(){this.__u=0,this.t=null,this.__b=null}function Tn(t){var e=t.__.__c;return e&&e.__e&&e.__e(t)}function je(){this.u=null,this.o=null}w.__e=function(t,e,r){if(t.then){for(var n,o=e;o=o.__;)if((n=o.__c)&&n.__c)return e.__e==null&&(e.__e=r.__e,e.__k=r.__k),n.__c(t,e)}ko(t,e,r)},(ct.prototype=new K).__c=function(t,e){var r=e.__c,n=this;n.t==null&&(n.t=[]),n.t.push(r);var o=Tn(n.__v),i=!1,a=function(){i||(i=!0,r.componentWillUnmount=r.__c,o?o(c):c())};r.__c=r.componentWillUnmount,r.componentWillUnmount=function(){a(),r.__c&&r.__c()};var c=function(){if(!--n.__u){if(n.state.__e){var s=n.state.__e;n.__v.__k[0]=function m(p,v,d){return p&&(p.__v=null,p.__k=p.__k&&p.__k.map(function(h){return m(h,v,d)}),p.__c&&p.__c.__P===v&&(p.__e&&d.insertBefore(p.__e,p.__d),p.__c.__e=!0,p.__c.__P=d)),p}(s,s.__c.__P,s.__c.__O)}var l;for(n.setState({__e:n.__b=null});l=n.t.pop();)l.forceUpdate()}},u=e.__h===!0;n.__u++||u||n.setState({__e:n.__b=n.__v.__k[0]}),t.then(a,a)},ct.prototype.componentWillUnmount=function(){this.t=[]},ct.prototype.render=function(t,e){if(this.__b){if(this.__v.__k){var r=document.createElement("div"),n=this.__v.__k[0].__c;this.__v.__k[0]=function i(a,c,u){return a&&(a.__c&&a.__c.__H&&(a.__c.__H.__.forEach(function(s){typeof s.__c=="function"&&s.__c()}),a.__c.__H=null),(a=Nn({},a)).__c!=null&&(a.__c.__P===u&&(a.__c.__P=c),a.__c=null),a.__k=a.__k&&a.__k.map(function(s){return i(s,c,u)})),a}(this.__b,r,n.__O=n.__P)}this.__b=null}var o=e.__e&&W(X,null,t.fallback);return o&&(o.__h=null),[W(X,null,e.__e?null:t.children),o]};var Sr=function(t,e,r){if(++r[1]===r[0]&&t.o.delete(e),t.props.revealOrder&&(t.props.revealOrder[0]!=="t"||!t.o.size))for(r=t.u;r;){for(;r.length>3;)r.pop()();if(r[1]>>1,1),e.i.removeChild(n)}}),Ke(W(Ao,{context:e.context},t.__v),e.l)):e.l&&e.componentWillUnmount()}function Rn(t,e){return W(Co,{__v:t,i:e})}(je.prototype=new K).__e=function(t){var e=this,r=Tn(e.__v),n=e.o.get(t);return n[0]++,function(o){var i=function(){e.props.revealOrder?(n.push(o),Sr(e,t,n)):o()};r?r(i):i()}},je.prototype.render=function(t){this.u=null,this.o=new Map;var e=$(t.children);t.revealOrder&&t.revealOrder[0]==="b"&&e.reverse();for(var r=e.length;r--;)this.o.set(e[r],this.u=[1,0,this.u]);return t.children},je.prototype.componentDidUpdate=je.prototype.componentDidMount=function(){var t=this;this.o.forEach(function(e,r){Sr(t,r,e)})};var qn=typeof Symbol<"u"&&Symbol.for&&Symbol.for("react.element")||60103,xo=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,No=function(t){return(typeof Symbol<"u"&&Ve(Symbol())=="symbol"?/fil|che|rad/i:/fil|che|ra/i).test(t)};function Ln(t,e,r){return e.__k==null&&(e.textContent=""),Ke(t,e),typeof r=="function"&&r(),t?t.__c:null}K.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach(function(t){Object.defineProperty(K.prototype,t,{configurable:!0,get:function(){return this["UNSAFE_"+t]},set:function(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})});var wr=w.event;function To(){}function Ro(){return this.cancelBubble}function qo(){return this.defaultPrevented}w.event=function(t){return wr&&(t=wr(t)),t.persist=To,t.isPropagationStopped=Ro,t.isDefaultPrevented=qo,t.nativeEvent=t};var Mn,jr={configurable:!0,get:function(){return this.class}},Er=w.vnode;w.vnode=function(t){var e=t.type,r=t.props,n=r;if(typeof e=="string"){for(var o in n={},r){var i=r[o];o==="value"&&"defaultValue"in r&&i==null||(o==="defaultValue"&&"value"in r&&r.value==null?o="value":o==="download"&&i===!0?i="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+e)&&!No(r.type)?o="oninput":/^on(Ani|Tra|Tou|BeforeInp)/.test(o)?o=o.toLowerCase():xo.test(o)?o=o.replace(/[A-Z0-9]/,"-$&").toLowerCase():i===null&&(i=void 0),n[o]=i)}e=="select"&&n.multiple&&Array.isArray(n.value)&&(n.value=$(r.children).forEach(function(a){a.props.selected=n.value.indexOf(a.props.value)!=-1})),e=="select"&&n.defaultValue!=null&&(n.value=$(r.children).forEach(function(a){a.props.selected=n.multiple?n.defaultValue.indexOf(a.props.value)!=-1:n.defaultValue==a.props.value})),t.props=n}e&&r.class!=r.className&&(jr.enumerable="className"in r,r.className!=null&&(n.class=r.className),Object.defineProperty(n,"className",jr)),t.$$typeof=qn,Er&&Er(t)};var Pr=w.__r;w.__r=function(t){Pr&&Pr(t),Mn=t.__c};var Lo={ReactCurrentDispatcher:{current:{readContext:function(t){return Mn.__n[t.__c].props.value}}}};(typeof performance>"u"?"undefined":Ve(performance))=="object"&&typeof performance.now=="function"&&performance.now.bind(performance);function Ir(t){return!!t&&t.$$typeof===qn}var f={useState:kn,useReducer:An,useEffect:Cn,useLayoutEffect:gr,useRef:function(t){return pe=5,Pt(function(){return{current:t}},[])},useImperativeHandle:function(t,e,r){pe=6,gr(function(){typeof t=="function"?t(e()):t&&(t.current=e())},r==null?r:r.concat(t))},useMemo:Pt,useCallback:function(t,e){return pe=8,Pt(function(){return t},e)},useContext:function(t){var e=q.context[t.__c],r=Je(de++,9);return r.__c=t,e?(r.__==null&&(r.__=!0,e.sub(q)),e.props.value):t.__},useDebugValue:function(t,e){w.useDebugValue&&w.useDebugValue(e?e(t):t)},version:"16.8.0",Children:Do,render:Ln,hydrate:function(t,e,r){return Dn(t,e),typeof r=="function"&&r(),t?t.__c:null},unmountComponentAtNode:function(t){return!!t.__k&&(Ke(null,t),!0)},createPortal:Rn,createElement:W,createContext:function(t,e){var r={__c:e="__cC"+bn++,__:t,Consumer:function(n,o){return n.children(o)},Provider:function(n){var o,i;return this.getChildContext||(o=[],(i={})[e]=this,this.getChildContext=function(){return i},this.shouldComponentUpdate=function(a){this.props.value!==a.value&&o.some(Mt)},this.sub=function(a){o.push(a);var c=a.componentWillUnmount;a.componentWillUnmount=function(){o.splice(o.indexOf(a),1),c&&c.call(a)}}),n.children}};return r.Provider.__=r.Consumer.contextType=r},createFactory:function(t){return W.bind(null,t)},cloneElement:function(t){return Ir(t)?Eo.apply(null,arguments):t},createRef:function(){return{current:null}},Fragment:X,isValidElement:Ir,findDOMNode:function(t){return t&&(t.base||t.nodeType===1&&t)||null},Component:K,PureComponent:Bt,memo:function(t,e){function r(o){var i=this.props.ref,a=i==o.ref;return!a&&i&&(i.call?i(null):i.current=null),e?!e(this.props,o)||!a:Ft(this.props,o)}function n(o){return this.shouldComponentUpdate=r,W(t,o)}return n.displayName="Memo("+(t.displayName||t.name)+")",n.prototype.isReactComponent=!0,n.__f=!0,n},forwardRef:function(t){function e(r,n){var o=Nn({},r);return delete o.ref,t(o,(n=r.ref||n)&&(Ve(n)!="object"||"current"in n)?n:null)}return e.$$typeof=Io,e.render=e,e.prototype.isReactComponent=e.__f=!0,e.displayName="ForwardRef("+(t.displayName||t.name)+")",e},unstable_batchedUpdates:function(t,e){return t(e)},StrictMode:X,Suspense:ct,SuspenseList:je,lazy:function(t){var e,r,n;function o(i){if(e||(e=t()).then(function(a){r=a.default||a},function(a){n=a}),n)throw n;if(!r)throw e;return W(r,i)}return o.displayName="Lazy",o.__f=!0,o},__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:Lo};function Mo(){return f.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},f.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}function Hn(){return f.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},f.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}var Ho=["translations"];function Vt(){return Vt=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var Bo=f.forwardRef(function(t,e){var r=t.translations,n=r===void 0?{}:r,o=Fo(t,Ho),i=n.buttonText,a=i===void 0?"Search":i,c=n.buttonAriaLabel,u=c===void 0?"Search":c,s=Uo(kn(null),2),l=s[0],m=s[1];return Cn(function(){typeof navigator<"u"&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?m("⌘"):m("Ctrl"))},[]),f.createElement("button",Vt({type:"button",className:"DocSearch DocSearch-Button","aria-label":u},o,{ref:e}),f.createElement("span",{className:"DocSearch-Button-Container"},f.createElement(Hn,null),f.createElement("span",{className:"DocSearch-Button-Placeholder"},a)),f.createElement("span",{className:"DocSearch-Button-Keys"},l!==null&&f.createElement(f.Fragment,null,f.createElement("kbd",{className:"DocSearch-Button-Key"},l==="Ctrl"?f.createElement(Mo,null):l),f.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))});function Un(t,e){var r=void 0;return function(){for(var n=arguments.length,o=new Array(n),i=0;it.length)&&(e=t.length);for(var r=0,n=new Array(e);rt.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function xr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function ve(t){for(var e=1;e1&&arguments[1]!==void 0?arguments[1]:20,r=[],n=0;n=3||r===2&&n>=4||r===1&&n>=10);function i(a,c,u){if(o&&u!==void 0){var s=u[0].__autocomplete_algoliaCredentials,l={"X-Algolia-Application-Id":s.appId,"X-Algolia-API-Key":s.apiKey};t.apply(void 0,[a].concat(Ge(c),[{headers:l}]))}else t.apply(void 0,[a].concat(Ge(c)))}return{init:function(a,c){t("init",{appId:a,apiKey:c})},setUserToken:function(a){t("setUserToken",a)},clickedObjectIDsAfterSearch:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&i("clickedObjectIDsAfterSearch",Xe(c),c[0].items)},clickedObjectIDs:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&i("clickedObjectIDs",Xe(c),c[0].items)},clickedFilters:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&t.apply(void 0,["clickedFilters"].concat(c))},convertedObjectIDsAfterSearch:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&i("convertedObjectIDsAfterSearch",Xe(c),c[0].items)},convertedObjectIDs:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&i("convertedObjectIDs",Xe(c),c[0].items)},convertedFilters:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&t.apply(void 0,["convertedFilters"].concat(c))},viewedObjectIDs:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&c.reduce(function(s,l){var m=l.items,p=Bn(l,Jo);return[].concat(Ge(s),Ge(Qo(ve(ve({},p),{},{objectIDs:(m==null?void 0:m.map(function(v){return v.objectID}))||p.objectIDs})).map(function(v){return{items:m,payload:v}})))},[]).forEach(function(s){var l=s.items;return i("viewedObjectIDs",[s.payload],l)})},viewedFilters:function(){for(var a=arguments.length,c=new Array(a),u=0;u0&&t.apply(void 0,["viewedFilters"].concat(c))}}}function Yo(t){var e=t.items.reduce(function(r,n){var o;return r[n.__autocomplete_indexName]=((o=r[n.__autocomplete_indexName])!==null&&o!==void 0?o:[]).concat(n),r},{});return Object.keys(e).map(function(r){return{index:r,items:e[r],algoliaSource:["autocomplete"]}})}function Dt(t){return t.objectID&&t.__autocomplete_indexName&&t.__autocomplete_queryID}function ke(t){return ke=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},ke(t)}function ie(t){return function(e){if(Array.isArray(e))return kt(e)}(t)||function(e){if(typeof Symbol<"u"&&e[Symbol.iterator]!=null||e["@@iterator"]!=null)return Array.from(e)}(t)||function(e,r){if(e){if(typeof e=="string")return kt(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);if(n==="Object"&&e.constructor&&(n=e.constructor.name),n==="Map"||n==="Set")return Array.from(e);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return kt(e,r)}}(t)||function(){throw new TypeError(`Invalid attempt to spread non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function kt(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r0&&ei({onItemsChange:n,items:p,insights:c,state:m}))}},0);return{name:"aa.algoliaInsightsPlugin",subscribe:function(l){var m=l.setContext,p=l.onSelect,v=l.onActive;a("addAlgoliaAgent","insights-plugin"),m({algoliaInsightsPlugin:{__algoliaSearchParameters:{clickAnalytics:!0},insights:c}}),p(function(d){var h=d.item,y=d.state,b=d.event;Dt(h)&&o({state:y,event:b,insights:c,item:h,insightsEvents:[G({eventName:"Item Selected"},Ar({item:h,items:u.current}))]})}),v(function(d){var h=d.item,y=d.state,b=d.event;Dt(h)&&i({state:y,event:b,insights:c,item:h,insightsEvents:[G({eventName:"Item Active"},Ar({item:h,items:u.current}))]})})},onStateChange:function(l){var m=l.state;s({state:m})},__autocomplete_pluginOptions:t}}function lt(t,e){var r=e;return{then:function(n,o){return lt(t.then(et(n,r,t),et(o,r,t)),r)},catch:function(n){return lt(t.catch(et(n,r,t)),r)},finally:function(n){return n&&r.onCancelList.push(n),lt(t.finally(et(n&&function(){return r.onCancelList=[],n()},r,t)),r)},cancel:function(){r.isCanceled=!0;var n=r.onCancelList;r.onCancelList=[],n.forEach(function(o){o()})},isCanceled:function(){return r.isCanceled===!0}}}function Tr(t){return lt(t,{isCanceled:!1,onCancelList:[]})}function et(t,e,r){return t?function(n){return e.isCanceled?n:t(n)}:r}function Rr(t,e,r,n){if(!r)return null;if(t<0&&(e===null||n!==null&&e===0))return r+t;var o=(e===null?-1:e)+t;return o<=-1||o>=r?n===null?null:0:o}function qr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function Lr(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r0},reshape:function(i){return i.sources}},t),{},{id:(r=t.id)!==null&&r!==void 0?r:"autocomplete-".concat(Vo++),plugins:o,initialState:ae({activeItemId:null,query:"",completion:null,collections:[],isOpen:!1,status:"idle",context:{}},t.initialState),onStateChange:function(i){var a;(a=t.onStateChange)===null||a===void 0||a.call(t,i),o.forEach(function(c){var u;return(u=c.onStateChange)===null||u===void 0?void 0:u.call(c,i)})},onSubmit:function(i){var a;(a=t.onSubmit)===null||a===void 0||a.call(t,i),o.forEach(function(c){var u;return(u=c.onSubmit)===null||u===void 0?void 0:u.call(c,i)})},onReset:function(i){var a;(a=t.onReset)===null||a===void 0||a.call(t,i),o.forEach(function(c){var u;return(u=c.onReset)===null||u===void 0?void 0:u.call(c,i)})},getSources:function(i){return Promise.all([].concat(ui(o.map(function(a){return a.getSources})),[t.getSources]).filter(Boolean).map(function(a){return function(c,u){var s=[];return Promise.resolve(c(u)).then(function(l){return Promise.all(l.filter(function(m){return!!m}).map(function(m){if(m.sourceId,s.includes(m.sourceId))throw new Error("[Autocomplete] The `sourceId` ".concat(JSON.stringify(m.sourceId)," is not unique."));s.push(m.sourceId);var p={getItemInputValue:function(d){return d.state.query},getItemUrl:function(){},onSelect:function(d){(0,d.setIsOpen)(!1)},onActive:vt,onResolve:vt};Object.keys(p).forEach(function(d){p[d].__default=!0});var v=Lr(Lr({},p),m);return Promise.resolve(v)}))})}(a,i)})).then(function(a){return ze(a)}).then(function(a){return a.map(function(c){return ae(ae({},c),{},{onSelect:function(u){c.onSelect(u),e.forEach(function(s){var l;return(l=s.onSelect)===null||l===void 0?void 0:l.call(s,u)})},onActive:function(u){c.onActive(u),e.forEach(function(s){var l;return(l=s.onActive)===null||l===void 0?void 0:l.call(s,u)})},onResolve:function(u){c.onResolve(u),e.forEach(function(s){var l;return(l=s.onResolve)===null||l===void 0?void 0:l.call(s,u)})}})})})},navigator:ae({navigate:function(i){var a=i.itemUrl;n.location.assign(a)},navigateNewTab:function(i){var a=i.itemUrl,c=n.open(a,"_blank","noopener");c==null||c.focus()},navigateNewWindow:function(i){var a=i.itemUrl;n.open(a,"_blank","noopener")}},t.navigator)})}function Te(t){return Te=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Te(t)}function Fr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function rt(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var Wr,xt,ot,we=null,Kr=(Wr=-1,xt=-1,ot=void 0,function(t){var e=++Wr;return Promise.resolve(t).then(function(r){return ot&&e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Me(t){return Me=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Me(t)}var _i=["props","refresh","store"],Oi=["inputElement","formElement","panelElement"],Si=["inputElement"],wi=["inputElement","maxLength"],ji=["sourceIndex"],Ei=["sourceIndex"],Pi=["item","source","sourceIndex"];function Jr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function R(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Di(t){var e=t.props,r=t.refresh,n=t.store,o=re(t,_i),i=function(a,c){return c!==void 0?"".concat(a,"-").concat(c):a};return{getEnvironmentProps:function(a){var c=a.inputElement,u=a.formElement,s=a.panelElement;function l(m){!n.getState().isOpen&&n.pendingRequests.isEmpty()||m.target===c||[u,s].some(function(p){return v=p,d=m.target,v===d||v.contains(d);var v,d})===!1&&(n.dispatch("blur",null),e.debug||n.pendingRequests.cancelAll())}return R({onTouchStart:l,onMouseDown:l,onTouchMove:function(m){n.getState().isOpen!==!1&&c===e.environment.document.activeElement&&m.target!==c&&c.blur()}},re(a,Oi))},getRootProps:function(a){return R({role:"combobox","aria-expanded":n.getState().isOpen,"aria-haspopup":"listbox","aria-owns":n.getState().isOpen?"".concat(e.id,"-list"):void 0,"aria-labelledby":"".concat(e.id,"-label")},a)},getFormProps:function(a){return a.inputElement,R({action:"",noValidate:!0,role:"search",onSubmit:function(c){var u;c.preventDefault(),e.onSubmit(R({event:c,refresh:r,state:n.getState()},o)),n.dispatch("submit",null),(u=a.inputElement)===null||u===void 0||u.blur()},onReset:function(c){var u;c.preventDefault(),e.onReset(R({event:c,refresh:r,state:n.getState()},o)),n.dispatch("reset",null),(u=a.inputElement)===null||u===void 0||u.focus()}},re(a,Si))},getLabelProps:function(a){var c=a||{},u=c.sourceIndex,s=re(c,ji);return R({htmlFor:"".concat(i(e.id,u),"-input"),id:"".concat(i(e.id,u),"-label")},s)},getInputProps:function(a){var c;function u(y){(e.openOnFocus||n.getState().query)&&le(R({event:y,props:e,query:n.getState().completion||n.getState().query,refresh:r,store:n},o)),n.dispatch("focus",null)}var s=a||{},l=(s.inputElement,s.maxLength),m=l===void 0?512:l,p=re(s,wi),v=fe(n.getState()),d=function(y){return!!(y&&y.match(ni))}(((c=e.environment.navigator)===null||c===void 0?void 0:c.userAgent)||""),h=v!=null&&v.itemUrl&&!d?"go":"search";return R({"aria-autocomplete":"both","aria-activedescendant":n.getState().isOpen&&n.getState().activeItemId!==null?"".concat(e.id,"-item-").concat(n.getState().activeItemId):void 0,"aria-controls":n.getState().isOpen?"".concat(e.id,"-list"):void 0,"aria-labelledby":"".concat(e.id,"-label"),value:n.getState().completion||n.getState().query,id:"".concat(e.id,"-input"),autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",enterKeyHint:h,spellCheck:"false",autoFocus:e.autoFocus,placeholder:e.placeholder,maxLength:m,type:"search",onChange:function(y){le(R({event:y,props:e,query:y.currentTarget.value.slice(0,m),refresh:r,store:n},o))},onKeyDown:function(y){(function(b){var _=b.event,S=b.props,O=b.refresh,g=b.store,P=bi(b,yi);if(_.key==="ArrowUp"||_.key==="ArrowDown"){var C=function(){var M=S.environment.document.getElementById("".concat(S.id,"-item-").concat(g.getState().activeItemId));M&&(M.scrollIntoViewIfNeeded?M.scrollIntoViewIfNeeded(!1):M.scrollIntoView(!1))},L=function(){var M=fe(g.getState());if(g.getState().activeItemId!==null&&M){var Ot=M.item,St=M.itemInputValue,$e=M.itemUrl,B=M.source;B.onActive(te({event:_,item:Ot,itemInputValue:St,itemUrl:$e,refresh:O,source:B,state:g.getState()},P))}};_.preventDefault(),g.getState().isOpen===!1&&(S.openOnFocus||g.getState().query)?le(te({event:_,props:S,query:g.getState().query,refresh:O,store:g},P)).then(function(){g.dispatch(_.key,{nextActiveItemId:S.defaultActiveItemId}),L(),setTimeout(C,0)}):(g.dispatch(_.key,{}),L(),C())}else if(_.key==="Escape")_.preventDefault(),g.dispatch(_.key,null),g.pendingRequests.cancelAll();else if(_.key==="Tab")g.dispatch("blur",null),g.pendingRequests.cancelAll();else if(_.key==="Enter"){if(g.getState().activeItemId===null||g.getState().collections.every(function(M){return M.items.length===0}))return void(S.debug||g.pendingRequests.cancelAll());_.preventDefault();var x=fe(g.getState()),k=x.item,N=x.itemInputValue,U=x.itemUrl,F=x.source;if(_.metaKey||_.ctrlKey)U!==void 0&&(F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P)),S.navigator.navigateNewTab({itemUrl:U,item:k,state:g.getState()}));else if(_.shiftKey)U!==void 0&&(F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P)),S.navigator.navigateNewWindow({itemUrl:U,item:k,state:g.getState()}));else if(!_.altKey){if(U!==void 0)return F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P)),void S.navigator.navigate({itemUrl:U,item:k,state:g.getState()});le(te({event:_,nextState:{isOpen:!1},props:S,query:N,refresh:O,store:g},P)).then(function(){F.onSelect(te({event:_,item:k,itemInputValue:N,itemUrl:U,refresh:O,source:F,state:g.getState()},P))})}}})(R({event:y,props:e,refresh:r,store:n},o))},onFocus:u,onBlur:vt,onClick:function(y){a.inputElement!==e.environment.document.activeElement||n.getState().isOpen||u(y)}},p)},getPanelProps:function(a){return R({onMouseDown:function(c){c.preventDefault()},onMouseLeave:function(){n.dispatch("mouseleave",null)}},a)},getListProps:function(a){var c=a||{},u=c.sourceIndex,s=re(c,Ei);return R({role:"listbox","aria-labelledby":"".concat(i(e.id,u),"-label"),id:"".concat(i(e.id,u),"-list")},s)},getItemProps:function(a){var c=a.item,u=a.source,s=a.sourceIndex,l=re(a,Pi);return R({id:"".concat(i(e.id,s),"-item-").concat(c.__autocomplete_id),role:"option","aria-selected":n.getState().activeItemId===c.__autocomplete_id,onMouseMove:function(m){if(c.__autocomplete_id!==n.getState().activeItemId){n.dispatch("mousemove",c.__autocomplete_id);var p=fe(n.getState());if(n.getState().activeItemId!==null&&p){var v=p.item,d=p.itemInputValue,h=p.itemUrl,y=p.source;y.onActive(R({event:m,item:v,itemInputValue:d,itemUrl:h,refresh:r,source:y,state:n.getState()},o))}}},onMouseDown:function(m){m.preventDefault()},onClick:function(m){var p=u.getItemInputValue({item:c,state:n.getState()}),v=u.getItemUrl({item:c,state:n.getState()});(v?Promise.resolve():le(R({event:m,nextState:{isOpen:!1},props:e,query:p,refresh:r,store:n},o))).then(function(){u.onSelect(R({event:m,item:c,itemInputValue:p,itemUrl:v,refresh:r,source:u,state:n.getState()},o))})}},l)}}}function He(t){return He=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},He(t)}function $r(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function ki(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Yi(t){var e=t.translations,r=e===void 0?{}:e,n=Zi(t,$i),o=r.noResultsText,i=o===void 0?"No results for":o,a=r.suggestedQueryText,c=a===void 0?"Try searching for":a,u=r.reportMissingResultsText,s=u===void 0?"Believe this query should return results?":u,l=r.reportMissingResultsLinkText,m=l===void 0?"Let us know.":l,p=n.state.context.searchSuggestions;return f.createElement("div",{className:"DocSearch-NoResults"},f.createElement("div",{className:"DocSearch-Screen-Icon"},f.createElement(zi,null)),f.createElement("p",{className:"DocSearch-Title"},i,' "',f.createElement("strong",null,n.state.query),'"'),p&&p.length>0&&f.createElement("div",{className:"DocSearch-NoResults-Prefill-List"},f.createElement("p",{className:"DocSearch-Help"},c,":"),f.createElement("ul",null,p.slice(0,3).reduce(function(v,d){return[].concat(Qi(v),[f.createElement("li",{key:d},f.createElement("button",{className:"DocSearch-Prefill",key:d,type:"button",onClick:function(){n.setQuery(d.toLowerCase()+" "),n.refresh(),n.inputRef.current.focus()}},d))])},[]))),n.getMissingResultsUrl&&f.createElement("p",{className:"DocSearch-Help"},"".concat(s," "),f.createElement("a",{href:n.getMissingResultsUrl({query:n.state.query}),target:"_blank",rel:"noopener noreferrer"},m)))}var Gi=["hit","attribute","tagName"];function Xr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,n)}return r}function en(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function tn(t,e){return e.split(".").reduce(function(r,n){return r!=null&&r[n]?r[n]:null},t)}function ce(t){var e=t.hit,r=t.attribute,n=t.tagName;return W(n===void 0?"span":n,en(en({},ea(t,Gi)),{},{dangerouslySetInnerHTML:{__html:tn(e,"_snippetResult.".concat(r,".value"))||tn(e,r)}}))}function rn(t,e){return function(r){if(Array.isArray(r))return r}(t)||function(r,n){var o=r==null?null:typeof Symbol<"u"&&r[Symbol.iterator]||r["@@iterator"];if(o!=null){var i,a,c=[],u=!0,s=!1;try{for(o=o.call(r);!(u=(i=o.next()).done)&&(c.push(i.value),!n||c.length!==n);u=!0);}catch(l){s=!0,a=l}finally{try{u||o.return==null||o.return()}finally{if(s)throw a}}return c}}(t,e)||function(r,n){if(r){if(typeof r=="string")return nn(r,n);var o=Object.prototype.toString.call(r).slice(8,-1);if(o==="Object"&&r.constructor&&(o=r.constructor.name),o==="Map"||o==="Set")return Array.from(r);if(o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return nn(r,n)}}(t,e)||function(){throw new TypeError(`Invalid attempt to destructure non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}()}function nn(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r|<\/mark>)/g,na=RegExp(zn.source);function Jn(t){var e,r,n=t;if(!n.__docsearch_parent&&!t._highlightResult)return t.hierarchy.lvl0;var o=((n.__docsearch_parent?(e=n.__docsearch_parent)===null||e===void 0||(e=e._highlightResult)===null||e===void 0||(e=e.hierarchy)===null||e===void 0?void 0:e.lvl0:(r=t._highlightResult)===null||r===void 0||(r=r.hierarchy)===null||r===void 0?void 0:r.lvl0)||{}).value;return o&&na.test(o)?o.replace(zn,""):o}function Jt(){return Jt=Object.assign||function(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function ua(t){var e=t.translations,r=e===void 0?{}:e,n=aa(t,ia),o=r.recentSearchesTitle,i=o===void 0?"Recent":o,a=r.noRecentSearchesText,c=a===void 0?"No recent searches":a,u=r.saveRecentSearchButtonTitle,s=u===void 0?"Save this search":u,l=r.removeRecentSearchButtonTitle,m=l===void 0?"Remove this search from history":l,p=r.favoriteSearchesTitle,v=p===void 0?"Favorite":p,d=r.removeFavoriteSearchButtonTitle,h=d===void 0?"Remove this search from favorites":d;return n.state.status==="idle"&&n.hasCollections===!1?n.disableUserPersonalization?null:f.createElement("div",{className:"DocSearch-StartScreen"},f.createElement("p",{className:"DocSearch-Help"},c)):n.hasCollections===!1?null:f.createElement("div",{className:"DocSearch-Dropdown-Container"},f.createElement(zt,ht({},n,{title:i,collection:n.state.collections[0],renderIcon:function(){return f.createElement("div",{className:"DocSearch-Hit-icon"},f.createElement(Hi,null))},renderAction:function(y){var b=y.item,_=y.runFavoriteTransition,S=y.runDeleteTransition;return f.createElement(f.Fragment,null,f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:s,type:"submit",onClick:function(O){O.preventDefault(),O.stopPropagation(),_(function(){n.favoriteSearches.add(b),n.recentSearches.remove(b),n.refresh()})}},f.createElement(Gr,null))),f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:m,type:"submit",onClick:function(O){O.preventDefault(),O.stopPropagation(),S(function(){n.recentSearches.remove(b),n.refresh()})}},f.createElement(Kt,null))))}})),f.createElement(zt,ht({},n,{title:v,collection:n.state.collections[1],renderIcon:function(){return f.createElement("div",{className:"DocSearch-Hit-icon"},f.createElement(Gr,null))},renderAction:function(y){var b=y.item,_=y.runDeleteTransition;return f.createElement("div",{className:"DocSearch-Hit-action"},f.createElement("button",{className:"DocSearch-Hit-action-button",title:h,type:"submit",onClick:function(S){S.preventDefault(),S.stopPropagation(),_(function(){n.favoriteSearches.remove(b),n.refresh()})}},f.createElement(Kt,null)))}})))}var ca=["translations"];function yt(){return yt=Object.assign||function(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var sa=f.memo(function(t){var e=t.translations,r=e===void 0?{}:e,n=la(t,ca);if(n.state.status==="error")return f.createElement(Ji,{translations:r==null?void 0:r.errorScreen});var o=n.state.collections.some(function(i){return i.items.length>0});return n.state.query?o===!1?f.createElement(Yi,yt({},n,{translations:r==null?void 0:r.noResultsScreen})):f.createElement(oa,n):f.createElement(ua,yt({},n,{hasCollections:o,translations:r==null?void 0:r.startScreen}))},function(t,e){return e.state.status==="loading"||e.state.status==="stalled"}),fa=["translations"];function gt(){return gt=Object.assign||function(t){for(var e=1;e=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function pa(t){var e=t.translations,r=e===void 0?{}:e,n=ma(t,fa),o=r.resetButtonTitle,i=o===void 0?"Clear the query":o,a=r.resetButtonAriaLabel,c=a===void 0?"Clear the query":a,u=r.cancelButtonText,s=u===void 0?"Cancel":u,l=r.cancelButtonAriaLabel,m=l===void 0?"Cancel":l,p=n.getFormProps({inputElement:n.inputRef.current}).onReset;return f.useEffect(function(){n.autoFocus&&n.inputRef.current&&n.inputRef.current.focus()},[n.autoFocus,n.inputRef]),f.useEffect(function(){n.isFromSelection&&n.inputRef.current&&n.inputRef.current.select()},[n.isFromSelection,n.inputRef]),f.createElement(f.Fragment,null,f.createElement("form",{className:"DocSearch-Form",onSubmit:function(v){v.preventDefault()},onReset:p},f.createElement("label",gt({className:"DocSearch-MagnifierLabel"},n.getLabelProps()),f.createElement(Hn,null)),f.createElement("div",{className:"DocSearch-LoadingIndicator"},f.createElement(Mi,null)),f.createElement("input",gt({className:"DocSearch-Input",ref:n.inputRef},n.getInputProps({inputElement:n.inputRef.current,autoFocus:n.autoFocus,maxLength:64}))),f.createElement("button",{type:"reset",title:i,className:"DocSearch-Reset","aria-label":c,hidden:!n.state.query},f.createElement(Kt,null))),f.createElement("button",{className:"DocSearch-Cancel",type:"reset","aria-label":m,onClick:n.onClose},s))}var va=["_highlightResult","_snippetResult"];function da(t,e){if(t==null)return{};var r,n,o=function(a,c){if(a==null)return{};var u,s,l={},m=Object.keys(a);for(s=0;s=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function ha(t){return function(){var e="__TEST_KEY__";try{return localStorage.setItem(e,""),localStorage.removeItem(e),!0}catch{return!1}}()===!1?{setItem:function(){},getItem:function(){return[]}}:{setItem:function(e){return window.localStorage.setItem(t,JSON.stringify(e))},getItem:function(){var e=window.localStorage.getItem(t);return e?JSON.parse(e):[]}}}function un(t){var e=t.key,r=t.limit,n=r===void 0?5:r,o=ha(e),i=o.getItem().slice(0,n);return{add:function(a){var c=a,u=(c._highlightResult,c._snippetResult,da(c,va)),s=i.findIndex(function(l){return l.objectID===u.objectID});s>-1&&i.splice(s,1),i.unshift(u),i=i.slice(0,n),o.setItem(i)},remove:function(a){i=i.filter(function(c){return c.objectID!==a.objectID}),o.setItem(i)},getAll:function(){return i}}}var ya=["facetName","facetQuery"];function ga(t){var e,r="algoliasearch-client-js-".concat(t.key),n=function(){return e===void 0&&(e=t.localStorage||window.localStorage),e},o=function(){return JSON.parse(n().getItem(r)||"{}")},i=function(c){n().setItem(r,JSON.stringify(c))},a=function(){var c=t.timeToLive?1e3*t.timeToLive:null,u=o(),s=Object.fromEntries(Object.entries(u).filter(function(m){return se(m,2)[1].timestamp!==void 0}));if(i(s),c){var l=Object.fromEntries(Object.entries(s).filter(function(m){var p=se(m,2)[1],v=new Date().getTime();return!(p.timestamp+c2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return Promise.resolve().then(function(){a();var l=JSON.stringify(c);return o()[l]}).then(function(l){return Promise.all([l?l.value:u(),l!==void 0])}).then(function(l){var m=se(l,2),p=m[0],v=m[1];return Promise.all([p,v||s.miss(p)])}).then(function(l){return se(l,1)[0]})},set:function(c,u){return Promise.resolve().then(function(){var s=o();return s[JSON.stringify(c)]={timestamp:new Date().getTime(),value:u},n().setItem(r,JSON.stringify(s)),u})},delete:function(c){return Promise.resolve().then(function(){var u=o();delete u[JSON.stringify(c)],n().setItem(r,JSON.stringify(u))})},clear:function(){return Promise.resolve().then(function(){n().removeItem(r)})}}}function Ee(t){var e=ft(t.caches),r=e.shift();return r===void 0?{get:function(n,o){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return o().then(function(a){return Promise.all([a,i.miss(a)])}).then(function(a){return se(a,1)[0]})},set:function(n,o){return Promise.resolve(o)},delete:function(n){return Promise.resolve()},clear:function(){return Promise.resolve()}}:{get:function(n,o){var i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}};return r.get(n,o,i).catch(function(){return Ee({caches:e}).get(n,o,i)})},set:function(n,o){return r.set(n,o).catch(function(){return Ee({caches:e}).set(n,o)})},delete:function(n){return r.delete(n).catch(function(){return Ee({caches:e}).delete(n)})},clear:function(){return r.clear().catch(function(){return Ee({caches:e}).clear()})}}}function Tt(){var t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{serializable:!0},e={};return{get:function(r,n){var o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{miss:function(){return Promise.resolve()}},i=JSON.stringify(r);if(i in e)return Promise.resolve(t.serializable?JSON.parse(e[i]):e[i]);var a=n(),c=o&&o.miss||function(){return Promise.resolve()};return a.then(function(u){return c(u)}).then(function(){return a})},set:function(r,n){return e[JSON.stringify(r)]=t.serializable?JSON.stringify(n):n,Promise.resolve(n)},delete:function(r){return delete e[JSON.stringify(r)],Promise.resolve()},clear:function(){return e={},Promise.resolve()}}}function ba(t){for(var e=t.length-1;e>0;e--){var r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}function $n(t,e){return e&&Object.keys(e).forEach(function(r){t[r]=e[r](t)}),t}function bt(t){for(var e=arguments.length,r=new Array(e>1?e-1:0),n=1;n0?n:void 0,timeout:r.timeout||e,headers:r.headers||{},queryParameters:r.queryParameters||{},cacheable:r.cacheable}}var me={Read:1,Write:2,Any:3},Qn=1,_a=2,Zn=3;function Yn(t){var e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:Qn;return I(I({},t),{},{status:e,lastUpdate:Date.now()})}function Gn(t){return typeof t=="string"?{protocol:"https",url:t,accept:me.Any}:{protocol:t.protocol||"https",url:t.url,accept:t.accept||me.Any}}var $t="GET",_t="POST";function Oa(t,e){return Promise.all(e.map(function(r){return t.get(r,function(){return Promise.resolve(Yn(r))})})).then(function(r){var n=r.filter(function(a){return function(c){return c.status===Qn||Date.now()-c.lastUpdate>12e4}(a)}),o=r.filter(function(a){return function(c){return c.status===Zn&&Date.now()-c.lastUpdate<=12e4}(a)}),i=[].concat(ft(n),ft(o));return{getTimeout:function(a,c){return(o.length===0&&a===0?1:o.length+3+a)*c},statelessHosts:i.length>0?i.map(function(a){return Gn(a)}):e}})}function ln(t,e,r,n){var o=[],i=function(p,v){if(!(p.method===$t||p.data===void 0&&v.data===void 0)){var d=Array.isArray(p.data)?p.data:I(I({},p.data),v.data);return JSON.stringify(d)}}(r,n),a=function(p,v){var d=I(I({},p.headers),v.headers),h={};return Object.keys(d).forEach(function(y){var b=d[y];h[y.toLowerCase()]=b}),h}(t,n),c=r.method,u=r.method!==$t?{}:I(I({},r.data),n.data),s=I(I(I({"x-algolia-agent":t.userAgent.value},t.queryParameters),u),n.queryParameters),l=0,m=function p(v,d){var h=v.pop();if(h===void 0)throw{name:"RetryError",message:"Unreachable hosts - your application id may be incorrect. If the error persists, contact support@algolia.com.",transporterStackTrace:sn(o)};var y={data:i,headers:a,method:c,url:wa(h,r.path,s),connectTimeout:d(l,t.timeouts.connect),responseTimeout:d(l,n.timeout)},b=function(S){var O={request:y,response:S,host:h,triesLeft:v.length};return o.push(O),O},_={onSuccess:function(S){return function(O){try{return JSON.parse(O.content)}catch(g){throw function(P,C){return{name:"DeserializationError",message:P,response:C}}(g.message,O)}}(S)},onRetry:function(S){var O=b(S);return S.isTimedOut&&l++,Promise.all([t.logger.info("Retryable failure",eo(O)),t.hostsCache.set(h,Yn(h,S.isTimedOut?Zn:_a))]).then(function(){return p(v,d)})},onFail:function(S){throw b(S),function(O,g){var P=O.content,C=O.status,L=P;try{L=JSON.parse(P).message}catch{}return function(x,k,N){return{name:"ApiError",message:x,status:k,transporterStackTrace:N}}(L,C,g)}(S,sn(o))}};return t.requester.send(y).then(function(S){return function(O,g){return function(P){var C=P.status;return P.isTimedOut||function(L){var x=L.isTimedOut,k=L.status;return!x&&~~k==0}(P)||~~(C/100)!=2&&~~(C/100)!=4}(O)?g.onRetry(O):~~(O.status/100)==2?g.onSuccess(O):g.onFail(O)}(S,_)})};return Oa(t.hostsCache,e).then(function(p){return m(ft(p.statelessHosts).reverse(),p.getTimeout)})}function Sa(t){var e={value:"Algolia for JavaScript (".concat(t,")"),add:function(r){var n="; ".concat(r.segment).concat(r.version!==void 0?" (".concat(r.version,")"):"");return e.value.indexOf(n)===-1&&(e.value="".concat(e.value).concat(n)),e}};return e}function wa(t,e,r){var n=Xn(r),o="".concat(t.protocol,"://").concat(t.url,"/").concat(e.charAt(0)==="/"?e.substr(1):e);return n.length&&(o+="?".concat(n)),o}function Xn(t){return Object.keys(t).map(function(e){return bt("%s=%s",e,(r=t[e],Object.prototype.toString.call(r)==="[object Object]"||Object.prototype.toString.call(r)==="[object Array]"?JSON.stringify(t[e]):t[e]));var r}).join("&")}function sn(t){return t.map(function(e){return eo(e)})}function eo(t){var e=t.request.headers["x-algolia-api-key"]?{"x-algolia-api-key":"*****"}:{};return I(I({},t),{},{request:I(I({},t.request),{},{headers:I(I({},t.request.headers),e)})})}var ja=function(t){var e=t.appId,r=function(i,a,c){var u={"x-algolia-api-key":c,"x-algolia-application-id":a};return{headers:function(){return i===st.WithinHeaders?u:{}},queryParameters:function(){return i===st.WithinQueryParameters?u:{}}}}(t.authMode!==void 0?t.authMode:st.WithinHeaders,e,t.apiKey),n=function(i){var a=i.hostsCache,c=i.logger,u=i.requester,s=i.requestsCache,l=i.responsesCache,m=i.timeouts,p=i.userAgent,v=i.hosts,d=i.queryParameters,h={hostsCache:a,logger:c,requester:u,requestsCache:s,responsesCache:l,timeouts:m,userAgent:p,headers:i.headers,queryParameters:d,hosts:v.map(function(y){return Gn(y)}),read:function(y,b){var _=cn(b,h.timeouts.read),S=function(){return ln(h,h.hosts.filter(function(g){return(g.accept&me.Read)!=0}),y,_)};if((_.cacheable!==void 0?_.cacheable:y.cacheable)!==!0)return S();var O={request:y,mappedRequestOptions:_,transporter:{queryParameters:h.queryParameters,headers:h.headers}};return h.responsesCache.get(O,function(){return h.requestsCache.get(O,function(){return h.requestsCache.set(O,S()).then(function(g){return Promise.all([h.requestsCache.delete(O),g])},function(g){return Promise.all([h.requestsCache.delete(O),Promise.reject(g)])}).then(function(g){var P=se(g,2);return P[0],P[1]})})},{miss:function(g){return h.responsesCache.set(O,g)}})},write:function(y,b){return ln(h,h.hosts.filter(function(_){return(_.accept&me.Write)!=0}),y,cn(b,h.timeouts.write))}};return h}(I(I({hosts:[{url:"".concat(e,"-dsn.algolia.net"),accept:me.Read},{url:"".concat(e,".algolia.net"),accept:me.Write}].concat(ba([{url:"".concat(e,"-1.algolianet.com")},{url:"".concat(e,"-2.algolianet.com")},{url:"".concat(e,"-3.algolianet.com")}]))},t),{},{headers:I(I(I({},r.headers()),{"content-type":"application/x-www-form-urlencoded"}),t.headers),queryParameters:I(I({},r.queryParameters()),t.queryParameters)})),o={transporter:n,appId:e,addAlgoliaAgent:function(i,a){n.userAgent.add({segment:i,version:a})},clearCache:function(){return Promise.all([n.requestsCache.clear(),n.responsesCache.clear()]).then(function(){})}};return $n(o,t.methods)},Ea=function(t){return function(e,r){return e.method===$t?t.transporter.read(e,r):t.transporter.write(e,r)}},to=function(t){return function(e){var r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n={transporter:t.transporter,appId:t.appId,indexName:e};return $n(n,r.methods)}},fn=function(t){return function(e,r){var n=e.map(function(o){return I(I({},o),{},{params:Xn(o.params||{})})});return t.transporter.read({method:_t,path:"1/indexes/*/queries",data:{requests:n},cacheable:!0},r)}},mn=function(t){return function(e,r){return Promise.all(e.map(function(n){var o=n.params,i=o.facetName,a=o.facetQuery,c=Oo(o,ya);return to(t)(n.indexName,{methods:{searchForFacetValues:ro}}).searchForFacetValues(i,a,I(I({},r),c))}))}},Pa=function(t){return function(e,r,n){return t.transporter.read({method:_t,path:bt("1/answers/%s/prediction",t.indexName),data:{query:e,queryLanguages:r},cacheable:!0},n)}},Ia=function(t){return function(e,r){return t.transporter.read({method:_t,path:bt("1/indexes/%s/query",t.indexName),data:{query:e},cacheable:!0},r)}},ro=function(t){return function(e,r,n){return t.transporter.read({method:_t,path:bt("1/indexes/%s/facets/%s/query",t.indexName,e),data:{facetQuery:r},cacheable:!0},n)}},Da=1,ka=2,Aa=3;function no(t,e,r){var n,o={appId:t,apiKey:e,timeouts:{connect:1,read:2,write:30},requester:{send:function(i){return new Promise(function(a){var c=new XMLHttpRequest;c.open(i.method,i.url,!0),Object.keys(i.headers).forEach(function(m){return c.setRequestHeader(m,i.headers[m])});var u,s=function(m,p){return setTimeout(function(){c.abort(),a({status:0,content:p,isTimedOut:!0})},1e3*m)},l=s(i.connectTimeout,"Connection timeout");c.onreadystatechange=function(){c.readyState>c.OPENED&&u===void 0&&(clearTimeout(l),u=s(i.responseTimeout,"Socket timeout"))},c.onerror=function(){c.status===0&&(clearTimeout(l),clearTimeout(u),a({content:c.responseText||"Network request failed",status:c.status,isTimedOut:!1}))},c.onload=function(){clearTimeout(l),clearTimeout(u),a({content:c.responseText,status:c.status,isTimedOut:!1})},c.send(i.data)})}},logger:(n=Aa,{debug:function(i,a){return Da>=n&&console.debug(i,a),Promise.resolve()},info:function(i,a){return ka>=n&&console.info(i,a),Promise.resolve()},error:function(i,a){return console.error(i,a),Promise.resolve()}}),responsesCache:Tt(),requestsCache:Tt({serializable:!1}),hostsCache:Ee({caches:[ga({key:"".concat("4.19.1","-").concat(t)}),Tt()]}),userAgent:Sa("4.19.1").add({segment:"Browser",version:"lite"}),authMode:st.WithinQueryParameters};return ja(I(I(I({},o),r),{},{methods:{search:fn,searchForFacetValues:mn,multipleQueries:fn,multipleSearchForFacetValues:mn,customRequest:Ea,initIndex:function(i){return function(a){return to(i)(a,{methods:{search:Ia,searchForFacetValues:ro,findAnswers:Pa}})}}}}))}no.version="4.19.1";var Ca=["footer","searchBox"];function Be(){return Be=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0||(l[u]=a[u]);return l}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}function Ra(t){var e=t.appId,r=t.apiKey,n=t.indexName,o=t.placeholder,i=o===void 0?"Search docs":o,a=t.searchParameters,c=t.maxResultsPerGroup,u=t.onClose,s=u===void 0?ra:u,l=t.transformItems,m=l===void 0?an:l,p=t.hitComponent,v=p===void 0?Li:p,d=t.resultsFooterComponent,h=d===void 0?function(){return null}:d,y=t.navigator,b=t.initialScrollY,_=b===void 0?0:b,S=t.transformSearchClient,O=S===void 0?an:S,g=t.disableUserPersonalization,P=g!==void 0&&g,C=t.initialQuery,L=C===void 0?"":C,x=t.translations,k=x===void 0?{}:x,N=t.getMissingResultsUrl,U=t.insights,F=U!==void 0&&U,M=k.footer,Ot=k.searchBox,St=Ta(k,Ca),$e=Na(f.useState({query:"",collections:[],completion:null,context:{},isOpen:!1,activeItemId:null,status:"idle"}),2),B=$e[0],oo=$e[1],Xt=f.useRef(null),wt=f.useRef(null),er=f.useRef(null),Qe=f.useRef(null),he=f.useRef(null),Q=f.useRef(10),tr=f.useRef(typeof window<"u"?window.getSelection().toString().slice(0,64):"").current,ee=f.useRef(L||tr).current,rr=function(j,D,T){return f.useMemo(function(){var H=no(j,D);return H.addAlgoliaAgent("docsearch","3.5.2"),/docsearch.js \(.*\)/.test(H.transporter.userAgent.value)===!1&&H.addAlgoliaAgent("docsearch-react","3.5.2"),T(H)},[j,D,T])}(e,r,O),oe=f.useRef(un({key:"__DOCSEARCH_FAVORITE_SEARCHES__".concat(n),limit:10})).current,ye=f.useRef(un({key:"__DOCSEARCH_RECENT_SEARCHES__".concat(n),limit:oe.getAll().length===0?7:4})).current,ge=f.useCallback(function(j){if(!P){var D=j.type==="content"?j.__docsearch_parent:j;D&&oe.getAll().findIndex(function(T){return T.objectID===D.objectID})===-1&&ye.add(D)}},[oe,ye,P]),io=f.useCallback(function(j){if(B.context.algoliaInsightsPlugin&&j.__autocomplete_id){var D=j,T={eventName:"Item Selected",index:D.__autocomplete_indexName,items:[D],positions:[j.__autocomplete_id],queryID:D.__autocomplete_queryID};B.context.algoliaInsightsPlugin.insights.clickedObjectIDsAfterSearch(T)}},[B.context.algoliaInsightsPlugin]),be=f.useMemo(function(){return Ti({id:"docsearch",defaultActiveItemId:0,placeholder:i,openOnFocus:!0,initialState:{query:ee,context:{searchSuggestions:[]}},insights:F,navigator:y,onStateChange:function(j){oo(j.state)},getSources:function(j){var D=j.query,T=j.state,H=j.setContext,Z=j.setStatus;if(!D)return P?[]:[{sourceId:"recentSearches",onSelect:function(A){var V=A.item,_e=A.event;ge(V),at(_e)||s()},getItemUrl:function(A){return A.item.url},getItems:function(){return ye.getAll()}},{sourceId:"favoriteSearches",onSelect:function(A){var V=A.item,_e=A.event;ge(V),at(_e)||s()},getItemUrl:function(A){return A.item.url},getItems:function(){return oe.getAll()}}];var Y=!!F;return rr.search([{query:D,indexName:n,params:Rt({attributesToRetrieve:["hierarchy.lvl0","hierarchy.lvl1","hierarchy.lvl2","hierarchy.lvl3","hierarchy.lvl4","hierarchy.lvl5","hierarchy.lvl6","content","type","url"],attributesToSnippet:["hierarchy.lvl1:".concat(Q.current),"hierarchy.lvl2:".concat(Q.current),"hierarchy.lvl3:".concat(Q.current),"hierarchy.lvl4:".concat(Q.current),"hierarchy.lvl5:".concat(Q.current),"hierarchy.lvl6:".concat(Q.current),"content:".concat(Q.current)],snippetEllipsisText:"…",highlightPreTag:"",highlightPostTag:"",hitsPerPage:20,clickAnalytics:Y},a)}]).catch(function(A){throw A.name==="RetryError"&&Z("error"),A}).then(function(A){var V=A.results[0],_e=V.hits,co=V.nbHits,jt=on(_e,function(Et){return Jn(Et)},c);T.context.searchSuggestions.length0&&(nr(),he.current&&he.current.focus())},[ee,nr]),f.useEffect(function(){function j(){if(wt.current){var D=.01*window.innerHeight;wt.current.style.setProperty("--docsearch-vh","".concat(D,"px"))}}return j(),window.addEventListener("resize",j),function(){window.removeEventListener("resize",j)}},[]),f.createElement("div",Be({ref:Xt},uo({"aria-expanded":!0}),{className:["DocSearch","DocSearch-Container",B.status==="stalled"&&"DocSearch-Container--Stalled",B.status==="error"&&"DocSearch-Container--Errored"].filter(Boolean).join(" "),role:"button",tabIndex:0,onMouseDown:function(j){j.target===j.currentTarget&&s()}}),f.createElement("div",{className:"DocSearch-Modal",ref:wt},f.createElement("header",{className:"DocSearch-SearchBar",ref:er},f.createElement(pa,Be({},be,{state:B,autoFocus:ee.length===0,inputRef:he,isFromSelection:!!ee&&ee===tr,translations:Ot,onClose:s}))),f.createElement("div",{className:"DocSearch-Dropdown",ref:Qe},f.createElement(sa,Be({},be,{indexName:n,state:B,hitComponent:v,resultsFooterComponent:h,disableUserPersonalization:P,recentSearches:ye,favoriteSearches:oe,inputRef:he,translations:St,getMissingResultsUrl:N,onItemClick:function(j,D){io(j),ge(j),at(D)||s()}}))),f.createElement("footer",{className:"DocSearch-Footer"},f.createElement(qi,{translations:M}))))}function Qt(){return Qt=Object.assign||function(t){for(var e=1;et.length)&&(e=t.length);for(var r=0,n=new Array(e);r1&&arguments[1]!==void 0?arguments[1]:window;return typeof e=="string"?r.document.querySelector(e):e}(t.container,t.environment))}const Ma={id:"docsearch"},Fa=so({__name:"VPAlgoliaSearchBox",props:{algolia:{}},setup(t){const e=t,r=fo(),n=mo(),{site:o,localeIndex:i,lang:a}=bo();po(c),vo(i,c);async function c(){var v,d;await ho();const l={...e.algolia,...(v=e.algolia.locales)==null?void 0:v[i.value]},m=((d=l.searchParameters)==null?void 0:d.facetFilters)??[],p=[...(Array.isArray(m)?m:[m]).filter(h=>!h.startsWith("lang:")),`lang:${a.value}`];u({...l,searchParameters:{...l.searchParameters,facetFilters:p}})}function u(l){const m=Object.assign({},l,{container:"#docsearch",navigator:{navigate({itemUrl:p}){const{pathname:v}=new URL(window.location.origin+p);n.path===v?window.location.assign(window.location.origin+p):r.go(p)}},transformItems(p){return p.map(v=>Object.assign({},v,{url:s(v.url)}))},hitComponent({hit:p,children:v}){return{__v:null,type:"a",ref:void 0,constructor:void 0,key:void 0,props:{href:p.url,children:v}}}});La(m)}function s(l){const{pathname:m,hash:p}=new URL(l,location.origin);return m.replace(/\.html$/,o.value.cleanUrls?"":".html")+p}return(l,m)=>(yo(),go("div",Ma))}});export{Fa as default}; diff --git a/docs/assets/chunks/framework.CdbxnhrM.js b/docs/assets/chunks/framework.CdbxnhrM.js new file mode 100644 index 00000000..bb447cb9 --- /dev/null +++ b/docs/assets/chunks/framework.CdbxnhrM.js @@ -0,0 +1,18 @@ +/** +* @vue/shared v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Cs(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const te={},xt=[],Ue=()=>{},So=()=>!1,Xt=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ts=e=>e.startsWith("onUpdate:"),ce=Object.assign,As=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},xo=Object.prototype.hasOwnProperty,z=(e,t)=>xo.call(e,t),W=Array.isArray,Et=e=>Tn(e)==="[object Map]",Ur=e=>Tn(e)==="[object Set]",G=e=>typeof e=="function",re=e=>typeof e=="string",qe=e=>typeof e=="symbol",ne=e=>e!==null&&typeof e=="object",kr=e=>(ne(e)||G(e))&&G(e.then)&&G(e.catch),Br=Object.prototype.toString,Tn=e=>Br.call(e),Eo=e=>Tn(e).slice(8,-1),Wr=e=>Tn(e)==="[object Object]",Rs=e=>re(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Ct=Cs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),An=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Co=/-(\w)/g,Ie=An(e=>e.replace(Co,(t,n)=>n?n.toUpperCase():"")),To=/\B([A-Z])/g,st=An(e=>e.replace(To,"-$1").toLowerCase()),Rn=An(e=>e.charAt(0).toUpperCase()+e.slice(1)),hn=An(e=>e?`on${Rn(e)}`:""),et=(e,t)=>!Object.is(e,t),Bn=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Ao=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Ro=e=>{const t=re(e)?Number(e):NaN;return isNaN(t)?e:t};let zs;const On=()=>zs||(zs=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Os(e){if(W(e)){const t={};for(let n=0;n{if(n){const s=n.split(Po);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Ps(e){let t="";if(re(e))t=e;else if(W(e))for(let n=0;n!!(e&&e.__v_isRef===!0),Fo=e=>re(e)?e:e==null?"":W(e)||ne(e)&&(e.toString===Br||!G(e.toString))?Gr(e)?Fo(e.value):JSON.stringify(e,Yr,2):String(e),Yr=(e,t)=>Gr(t)?Yr(e,t.value):Et(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,r],i)=>(n[Wn(s,i)+" =>"]=r,n),{})}:Ur(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Wn(n))}:qe(t)?Wn(t):ne(t)&&!W(t)&&!Wr(t)?String(t):t,Wn=(e,t="")=>{var n;return qe(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let be;class Ho{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=be,!t&&be&&(this.index=(be.scopes||(be.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(Dt){let t=Dt;for(Dt=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;$t;){let t=$t;for($t=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Zr(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ei(e){let t,n=e.depsTail,s=n;for(;s;){const r=s.prevDep;s.version===-1?(s===n&&(n=r),Ls(s),Do(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=r}e.deps=t,e.depsTail=n}function us(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ti(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ti(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===kt))return;e.globalVersion=kt;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!us(e)){e.flags&=-3;return}const n=ee,s=Ne;ee=e,Ne=!0;try{Zr(e);const r=e.fn(e._value);(t.version===0||et(r,e._value))&&(e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ee=n,Ne=s,ei(e),e.flags&=-3}}function Ls(e,t=!1){const{dep:n,prevSub:s,nextSub:r}=e;if(s&&(s.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let i=n.computed.deps;i;i=i.nextDep)Ls(i,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Do(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Ne=!0;const ni=[];function rt(){ni.push(Ne),Ne=!1}function it(){const e=ni.pop();Ne=e===void 0?!0:e}function Qs(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ee;ee=void 0;try{t()}finally{ee=n}}}let kt=0;class jo{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Pn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(t){if(!ee||!Ne||ee===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ee)n=this.activeLink=new jo(ee,this),ee.deps?(n.prevDep=ee.depsTail,ee.depsTail.nextDep=n,ee.depsTail=n):ee.deps=ee.depsTail=n,si(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=ee.depsTail,n.nextDep=void 0,ee.depsTail.nextDep=n,ee.depsTail=n,ee.deps===n&&(ee.deps=s)}return n}trigger(t){this.version++,kt++,this.notify(t)}notify(t){Ms();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Is()}}}function si(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)si(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const vn=new WeakMap,dt=Symbol(""),ds=Symbol(""),Bt=Symbol("");function ge(e,t,n){if(Ne&&ee){let s=vn.get(e);s||vn.set(e,s=new Map);let r=s.get(n);r||(s.set(n,r=new Pn),r.map=s,r.key=n),r.track()}}function We(e,t,n,s,r,i){const o=vn.get(e);if(!o){kt++;return}const l=c=>{c&&c.trigger()};if(Ms(),t==="clear")o.forEach(l);else{const c=W(e),u=c&&Rs(n);if(c&&n==="length"){const a=Number(s);o.forEach((h,y)=>{(y==="length"||y===Bt||!qe(y)&&y>=a)&&l(h)})}else switch((n!==void 0||o.has(void 0))&&l(o.get(n)),u&&l(o.get(Bt)),t){case"add":c?u&&l(o.get("length")):(l(o.get(dt)),Et(e)&&l(o.get(ds)));break;case"delete":c||(l(o.get(dt)),Et(e)&&l(o.get(ds)));break;case"set":Et(e)&&l(o.get(dt));break}}Is()}function Vo(e,t){const n=vn.get(e);return n&&n.get(t)}function _t(e){const t=J(e);return t===e?t:(ge(t,"iterate",Bt),Me(e)?t:t.map(me))}function Mn(e){return ge(e=J(e),"iterate",Bt),e}const Uo={__proto__:null,[Symbol.iterator](){return qn(this,Symbol.iterator,me)},concat(...e){return _t(this).concat(...e.map(t=>W(t)?_t(t):t))},entries(){return qn(this,"entries",e=>(e[1]=me(e[1]),e))},every(e,t){return ke(this,"every",e,t,void 0,arguments)},filter(e,t){return ke(this,"filter",e,t,n=>n.map(me),arguments)},find(e,t){return ke(this,"find",e,t,me,arguments)},findIndex(e,t){return ke(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return ke(this,"findLast",e,t,me,arguments)},findLastIndex(e,t){return ke(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return ke(this,"forEach",e,t,void 0,arguments)},includes(...e){return Gn(this,"includes",e)},indexOf(...e){return Gn(this,"indexOf",e)},join(e){return _t(this).join(e)},lastIndexOf(...e){return Gn(this,"lastIndexOf",e)},map(e,t){return ke(this,"map",e,t,void 0,arguments)},pop(){return Nt(this,"pop")},push(...e){return Nt(this,"push",e)},reduce(e,...t){return Zs(this,"reduce",e,t)},reduceRight(e,...t){return Zs(this,"reduceRight",e,t)},shift(){return Nt(this,"shift")},some(e,t){return ke(this,"some",e,t,void 0,arguments)},splice(...e){return Nt(this,"splice",e)},toReversed(){return _t(this).toReversed()},toSorted(e){return _t(this).toSorted(e)},toSpliced(...e){return _t(this).toSpliced(...e)},unshift(...e){return Nt(this,"unshift",e)},values(){return qn(this,"values",me)}};function qn(e,t,n){const s=Mn(e),r=s[t]();return s!==e&&!Me(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.value&&(i.value=n(i.value)),i}),r}const ko=Array.prototype;function ke(e,t,n,s,r,i){const o=Mn(e),l=o!==e&&!Me(e),c=o[t];if(c!==ko[t]){const h=c.apply(e,i);return l?me(h):h}let u=n;o!==e&&(l?u=function(h,y){return n.call(this,me(h),y,e)}:n.length>2&&(u=function(h,y){return n.call(this,h,y,e)}));const a=c.call(o,u,s);return l&&r?r(a):a}function Zs(e,t,n,s){const r=Mn(e);let i=n;return r!==e&&(Me(e)?n.length>3&&(i=function(o,l,c){return n.call(this,o,l,c,e)}):i=function(o,l,c){return n.call(this,o,me(l),c,e)}),r[t](i,...s)}function Gn(e,t,n){const s=J(e);ge(s,"iterate",Bt);const r=s[t](...n);return(r===-1||r===!1)&&Hs(n[0])?(n[0]=J(n[0]),s[t](...n)):r}function Nt(e,t,n=[]){rt(),Ms();const s=J(e)[t].apply(e,n);return Is(),it(),s}const Bo=Cs("__proto__,__v_isRef,__isVue"),ri=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(qe));function Wo(e){qe(e)||(e=String(e));const t=J(this);return ge(t,"has",e),t.hasOwnProperty(e)}class ii{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){const r=this._isReadonly,i=this._isShallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return i;if(n==="__v_raw")return s===(r?i?el:ai:i?ci:li).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const o=W(t);if(!r){let c;if(o&&(c=Uo[n]))return c;if(n==="hasOwnProperty")return Wo}const l=Reflect.get(t,n,ue(t)?t:s);return(qe(n)?ri.has(n):Bo(n))||(r||ge(t,"get",n),i)?l:ue(l)?o&&Rs(n)?l:l.value:ne(l)?r?Ln(l):In(l):l}}class oi extends ii{constructor(t=!1){super(!1,t)}set(t,n,s,r){let i=t[n];if(!this._isShallow){const c=yt(i);if(!Me(s)&&!yt(s)&&(i=J(i),s=J(s)),!W(t)&&ue(i)&&!ue(s))return c?!1:(i.value=s,!0)}const o=W(t)&&Rs(n)?Number(n)e,nn=e=>Reflect.getPrototypeOf(e);function Xo(e,t,n){return function(...s){const r=this.__v_raw,i=J(r),o=Et(i),l=e==="entries"||e===Symbol.iterator&&o,c=e==="keys"&&o,u=r[e](...s),a=n?hs:t?ps:me;return!t&&ge(i,"iterate",c?ds:dt),{next(){const{value:h,done:y}=u.next();return y?{value:h,done:y}:{value:l?[a(h[0]),a(h[1])]:a(h),done:y}},[Symbol.iterator](){return this}}}}function sn(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Jo(e,t){const n={get(r){const i=this.__v_raw,o=J(i),l=J(r);e||(et(r,l)&&ge(o,"get",r),ge(o,"get",l));const{has:c}=nn(o),u=t?hs:e?ps:me;if(c.call(o,r))return u(i.get(r));if(c.call(o,l))return u(i.get(l));i!==o&&i.get(r)},get size(){const r=this.__v_raw;return!e&&ge(J(r),"iterate",dt),Reflect.get(r,"size",r)},has(r){const i=this.__v_raw,o=J(i),l=J(r);return e||(et(r,l)&&ge(o,"has",r),ge(o,"has",l)),r===l?i.has(r):i.has(r)||i.has(l)},forEach(r,i){const o=this,l=o.__v_raw,c=J(l),u=t?hs:e?ps:me;return!e&&ge(c,"iterate",dt),l.forEach((a,h)=>r.call(i,u(a),u(h),o))}};return ce(n,e?{add:sn("add"),set:sn("set"),delete:sn("delete"),clear:sn("clear")}:{add(r){!t&&!Me(r)&&!yt(r)&&(r=J(r));const i=J(this);return nn(i).has.call(i,r)||(i.add(r),We(i,"add",r,r)),this},set(r,i){!t&&!Me(i)&&!yt(i)&&(i=J(i));const o=J(this),{has:l,get:c}=nn(o);let u=l.call(o,r);u||(r=J(r),u=l.call(o,r));const a=c.call(o,r);return o.set(r,i),u?et(i,a)&&We(o,"set",r,i):We(o,"add",r,i),this},delete(r){const i=J(this),{has:o,get:l}=nn(i);let c=o.call(i,r);c||(r=J(r),c=o.call(i,r)),l&&l.call(i,r);const u=i.delete(r);return c&&We(i,"delete",r,void 0),u},clear(){const r=J(this),i=r.size!==0,o=r.clear();return i&&We(r,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(r=>{n[r]=Xo(r,e,t)}),n}function Ns(e,t){const n=Jo(e,t);return(s,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?s:Reflect.get(z(n,r)&&r in s?n:s,r,i)}const zo={get:Ns(!1,!1)},Qo={get:Ns(!1,!0)},Zo={get:Ns(!0,!1)};const li=new WeakMap,ci=new WeakMap,ai=new WeakMap,el=new WeakMap;function tl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function nl(e){return e.__v_skip||!Object.isExtensible(e)?0:tl(Eo(e))}function In(e){return yt(e)?e:Fs(e,!1,qo,zo,li)}function sl(e){return Fs(e,!1,Yo,Qo,ci)}function Ln(e){return Fs(e,!0,Go,Zo,ai)}function Fs(e,t,n,s,r){if(!ne(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=r.get(e);if(i)return i;const o=nl(e);if(o===0)return e;const l=new Proxy(e,o===2?s:n);return r.set(e,l),l}function ht(e){return yt(e)?ht(e.__v_raw):!!(e&&e.__v_isReactive)}function yt(e){return!!(e&&e.__v_isReadonly)}function Me(e){return!!(e&&e.__v_isShallow)}function Hs(e){return e?!!e.__v_raw:!1}function J(e){const t=e&&e.__v_raw;return t?J(t):e}function pn(e){return!z(e,"__v_skip")&&Object.isExtensible(e)&&Kr(e,"__v_skip",!0),e}const me=e=>ne(e)?In(e):e,ps=e=>ne(e)?Ln(e):e;function ue(e){return e?e.__v_isRef===!0:!1}function le(e){return ui(e,!1)}function fi(e){return ui(e,!0)}function ui(e,t){return ue(e)?e:new rl(e,t)}class rl{constructor(t,n){this.dep=new Pn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:J(t),this._value=n?t:me(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||Me(t)||yt(t);t=s?t:J(t),et(t,n)&&(this._rawValue=t,this._value=s?t:me(t),this.dep.trigger())}}function di(e){return ue(e)?e.value:e}const il={get:(e,t,n)=>t==="__v_raw"?e:di(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const r=e[t];return ue(r)&&!ue(n)?(r.value=n,!0):Reflect.set(e,t,n,s)}};function hi(e){return ht(e)?e:new Proxy(e,il)}class ol{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Pn,{get:s,set:r}=t(n.track.bind(n),n.trigger.bind(n));this._get=s,this._set=r}get value(){return this._value=this._get()}set value(t){this._set(t)}}function ll(e){return new ol(e)}class cl{constructor(t,n,s){this._object=t,this._key=n,this._defaultValue=s,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Vo(J(this._object),this._key)}}class al{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function fl(e,t,n){return ue(e)?e:G(e)?new al(e):ne(e)&&arguments.length>1?ul(e,t,n):le(e)}function ul(e,t,n){const s=e[t];return ue(s)?s:new cl(e,t,n)}class dl{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Pn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=kt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ee!==this)return Qr(this,!0),!0}get value(){const t=this.dep.track();return ti(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function hl(e,t,n=!1){let s,r;return G(e)?s=e:(s=e.get,r=e.set),new dl(s,r,n)}const rn={},_n=new WeakMap;let ft;function pl(e,t=!1,n=ft){if(n){let s=_n.get(n);s||_n.set(n,s=[]),s.push(e)}}function gl(e,t,n=te){const{immediate:s,deep:r,once:i,scheduler:o,augmentJob:l,call:c}=n,u=g=>r?g:Me(g)||r===!1||r===0?Ze(g,1):Ze(g);let a,h,y,v,A=!1,S=!1;if(ue(e)?(h=()=>e.value,A=Me(e)):ht(e)?(h=()=>u(e),A=!0):W(e)?(S=!0,A=e.some(g=>ht(g)||Me(g)),h=()=>e.map(g=>{if(ue(g))return g.value;if(ht(g))return u(g);if(G(g))return c?c(g,2):g()})):G(e)?t?h=c?()=>c(e,2):e:h=()=>{if(y){rt();try{y()}finally{it()}}const g=ft;ft=a;try{return c?c(e,3,[v]):e(v)}finally{ft=g}}:h=Ue,t&&r){const g=h,P=r===!0?1/0:r;h=()=>Ze(g(),P)}const B=Xr(),N=()=>{a.stop(),B&&As(B.effects,a)};if(i&&t){const g=t;t=(...P)=>{g(...P),N()}}let D=S?new Array(e.length).fill(rn):rn;const p=g=>{if(!(!(a.flags&1)||!a.dirty&&!g))if(t){const P=a.run();if(r||A||(S?P.some((V,U)=>et(V,D[U])):et(P,D))){y&&y();const V=ft;ft=a;try{const U=[P,D===rn?void 0:S&&D[0]===rn?[]:D,v];c?c(t,3,U):t(...U),D=P}finally{ft=V}}}else a.run()};return l&&l(p),a=new Jr(h),a.scheduler=o?()=>o(p,!1):p,v=g=>pl(g,!1,a),y=a.onStop=()=>{const g=_n.get(a);if(g){if(c)c(g,4);else for(const P of g)P();_n.delete(a)}},t?s?p(!0):D=a.run():o?o(p.bind(null,!0),!0):a.run(),N.pause=a.pause.bind(a),N.resume=a.resume.bind(a),N.stop=N,N}function Ze(e,t=1/0,n){if(t<=0||!ne(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,ue(e))Ze(e.value,t,n);else if(W(e))for(let s=0;s{Ze(s,t,n)});else if(Wr(e)){for(const s in e)Ze(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Ze(e[s],t,n)}return e}/** +* @vue/runtime-core v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Jt(e,t,n,s){try{return s?e(...s):e()}catch(r){zt(r,t,n)}}function He(e,t,n,s){if(G(e)){const r=Jt(e,t,n,s);return r&&kr(r)&&r.catch(i=>{zt(i,t,n)}),r}if(W(e)){const r=[];for(let i=0;i>>1,r=we[s],i=Wt(r);i=Wt(n)?we.push(e):we.splice(yl(t),0,e),e.flags|=1,gi()}}function gi(){bn||(bn=pi.then(mi))}function vl(e){W(e)?Tt.push(...e):Je&&e.id===-1?Je.splice(wt+1,0,e):e.flags&1||(Tt.push(e),e.flags|=1),gi()}function er(e,t,n=je+1){for(;nWt(n)-Wt(s));if(Tt.length=0,Je){Je.push(...t);return}for(Je=t,wt=0;wte.id==null?e.flags&2?-1:1/0:e.id;function mi(e){try{for(je=0;je{s._d&&dr(-1);const i=Sn(t);let o;try{o=e(...r)}finally{Sn(i),s._d&&dr(1)}return o};return s._n=!0,s._c=!0,s._d=!0,s}function Ve(e,t,n,s){const r=e.dirs,i=t&&t.dirs;for(let o=0;oe.__isTeleport,ze=Symbol("_leaveCb"),on=Symbol("_enterCb");function wl(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Mt(()=>{e.isMounted=!0}),Ci(()=>{e.isUnmounting=!0}),e}const Re=[Function,Array],_i={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Re,onEnter:Re,onAfterEnter:Re,onEnterCancelled:Re,onBeforeLeave:Re,onLeave:Re,onAfterLeave:Re,onLeaveCancelled:Re,onBeforeAppear:Re,onAppear:Re,onAfterAppear:Re,onAppearCancelled:Re},bi=e=>{const t=e.subTree;return t.component?bi(t.component):t},Sl={name:"BaseTransition",props:_i,setup(e,{slots:t}){const n=jn(),s=wl();return()=>{const r=t.default&&xi(t.default(),!0);if(!r||!r.length)return;const i=wi(r),o=J(e),{mode:l}=o;if(s.isLeaving)return Yn(i);const c=tr(i);if(!c)return Yn(i);let u=gs(c,o,s,n,y=>u=y);c.type!==ye&&Kt(c,u);const a=n.subTree,h=a&&tr(a);if(h&&h.type!==ye&&!ut(c,h)&&bi(n).type!==ye){const y=gs(h,o,s,n);if(Kt(h,y),l==="out-in"&&c.type!==ye)return s.isLeaving=!0,y.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete y.afterLeave},Yn(i);l==="in-out"&&c.type!==ye&&(y.delayLeave=(v,A,S)=>{const B=Si(s,h);B[String(h.key)]=h,v[ze]=()=>{A(),v[ze]=void 0,delete u.delayedLeave},u.delayedLeave=S})}return i}}};function wi(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==ye){t=n;break}}return t}const xl=Sl;function Si(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function gs(e,t,n,s,r){const{appear:i,mode:o,persisted:l=!1,onBeforeEnter:c,onEnter:u,onAfterEnter:a,onEnterCancelled:h,onBeforeLeave:y,onLeave:v,onAfterLeave:A,onLeaveCancelled:S,onBeforeAppear:B,onAppear:N,onAfterAppear:D,onAppearCancelled:p}=t,g=String(e.key),P=Si(n,e),V=(I,b)=>{I&&He(I,s,9,b)},U=(I,b)=>{const L=b[1];V(I,b),W(I)?I.every(x=>x.length<=1)&&L():I.length<=1&&L()},q={mode:o,persisted:l,beforeEnter(I){let b=c;if(!n.isMounted)if(i)b=B||c;else return;I[ze]&&I[ze](!0);const L=P[g];L&&ut(e,L)&&L.el[ze]&&L.el[ze](),V(b,[I])},enter(I){let b=u,L=a,x=h;if(!n.isMounted)if(i)b=N||u,L=D||a,x=p||h;else return;let k=!1;const se=I[on]=ae=>{k||(k=!0,ae?V(x,[I]):V(L,[I]),q.delayedLeave&&q.delayedLeave(),I[on]=void 0)};b?U(b,[I,se]):se()},leave(I,b){const L=String(e.key);if(I[on]&&I[on](!0),n.isUnmounting)return b();V(y,[I]);let x=!1;const k=I[ze]=se=>{x||(x=!0,b(),se?V(S,[I]):V(A,[I]),I[ze]=void 0,P[L]===e&&delete P[L])};P[L]=e,v?U(v,[I,k]):k()},clone(I){const b=gs(I,t,n,s,r);return r&&r(b),b}};return q}function Yn(e){if(Qt(e))return e=nt(e),e.children=null,e}function tr(e){if(!Qt(e))return vi(e.type)&&e.children?wi(e.children):e;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&G(n.default))return n.default()}}function Kt(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Kt(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function xi(e,t=!1,n){let s=[],r=0;for(let i=0;i1)for(let i=0;ixn(A,t&&(W(t)?t[S]:t),n,s,r));return}if(pt(s)&&!r)return;const i=s.shapeFlag&4?Bs(s.component):s.el,o=r?null:i,{i:l,r:c}=e,u=t&&t.r,a=l.refs===te?l.refs={}:l.refs,h=l.setupState,y=J(h),v=h===te?()=>!1:A=>z(y,A);if(u!=null&&u!==c&&(re(u)?(a[u]=null,v(u)&&(h[u]=null)):ue(u)&&(u.value=null)),G(c))Jt(c,l,12,[o,a]);else{const A=re(c),S=ue(c);if(A||S){const B=()=>{if(e.f){const N=A?v(c)?h[c]:a[c]:c.value;r?W(N)&&As(N,i):W(N)?N.includes(i)||N.push(i):A?(a[c]=[i],v(c)&&(h[c]=a[c])):(c.value=[i],e.k&&(a[e.k]=c.value))}else A?(a[c]=o,v(c)&&(h[c]=o)):S&&(c.value=o,e.k&&(a[e.k]=o))};o?(B.id=-1,Te(B,n)):B()}}}let nr=!1;const bt=()=>{nr||(console.error("Hydration completed but contains mismatches."),nr=!0)},El=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",Cl=e=>e.namespaceURI.includes("MathML"),ln=e=>{if(e.nodeType===1){if(El(e))return"svg";if(Cl(e))return"mathml"}},St=e=>e.nodeType===8;function Tl(e){const{mt:t,p:n,o:{patchProp:s,createText:r,nextSibling:i,parentNode:o,remove:l,insert:c,createComment:u}}=e,a=(p,g)=>{if(!g.hasChildNodes()){n(null,p,g),wn(),g._vnode=p;return}h(g.firstChild,p,null,null,null),wn(),g._vnode=p},h=(p,g,P,V,U,q=!1)=>{q=q||!!g.dynamicChildren;const I=St(p)&&p.data==="[",b=()=>S(p,g,P,V,U,I),{type:L,ref:x,shapeFlag:k,patchFlag:se}=g;let ae=p.nodeType;g.el=p,se===-2&&(q=!1,g.dynamicChildren=null);let $=null;switch(L){case gt:ae!==3?g.children===""?(c(g.el=r(""),o(p),p),$=p):$=b():(p.data!==g.children&&(bt(),p.data=g.children),$=i(p));break;case ye:D(p)?($=i(p),N(g.el=p.content.firstChild,p,P)):ae!==8||I?$=b():$=i(p);break;case Vt:if(I&&(p=i(p),ae=p.nodeType),ae===1||ae===3){$=p;const Y=!g.children.length;for(let H=0;H{q=q||!!g.dynamicChildren;const{type:I,props:b,patchFlag:L,shapeFlag:x,dirs:k,transition:se}=g,ae=I==="input"||I==="option";if(ae||L!==-1){k&&Ve(g,null,P,"created");let $=!1;if(D(p)){$=Ui(null,se)&&P&&P.vnode.props&&P.vnode.props.appear;const H=p.content.firstChild;$&&se.beforeEnter(H),N(H,p,P),g.el=p=H}if(x&16&&!(b&&(b.innerHTML||b.textContent))){let H=v(p.firstChild,g,p,P,V,U,q);for(;H;){cn(p,1)||bt();const de=H;H=H.nextSibling,l(de)}}else if(x&8){let H=g.children;H[0]===` +`&&(p.tagName==="PRE"||p.tagName==="TEXTAREA")&&(H=H.slice(1)),p.textContent!==H&&(cn(p,0)||bt(),p.textContent=g.children)}if(b){if(ae||!q||L&48){const H=p.tagName.includes("-");for(const de in b)(ae&&(de.endsWith("value")||de==="indeterminate")||Xt(de)&&!Ct(de)||de[0]==="."||H)&&s(p,de,null,b[de],void 0,P)}else if(b.onClick)s(p,"onClick",null,b.onClick,void 0,P);else if(L&4&&ht(b.style))for(const H in b.style)b.style[H]}let Y;(Y=b&&b.onVnodeBeforeMount)&&Oe(Y,P,g),k&&Ve(g,null,P,"beforeMount"),((Y=b&&b.onVnodeMounted)||k||$)&&Yi(()=>{Y&&Oe(Y,P,g),$&&se.enter(p),k&&Ve(g,null,P,"mounted")},V)}return p.nextSibling},v=(p,g,P,V,U,q,I)=>{I=I||!!g.dynamicChildren;const b=g.children,L=b.length;for(let x=0;x{const{slotScopeIds:I}=g;I&&(U=U?U.concat(I):I);const b=o(p),L=v(i(p),g,b,P,V,U,q);return L&&St(L)&&L.data==="]"?i(g.anchor=L):(bt(),c(g.anchor=u("]"),b,L),L)},S=(p,g,P,V,U,q)=>{if(cn(p.parentElement,1)||bt(),g.el=null,q){const L=B(p);for(;;){const x=i(p);if(x&&x!==L)l(x);else break}}const I=i(p),b=o(p);return l(p),n(null,g,b,I,P,V,ln(b),U),I},B=(p,g="[",P="]")=>{let V=0;for(;p;)if(p=i(p),p&&St(p)&&(p.data===g&&V++,p.data===P)){if(V===0)return i(p);V--}return p},N=(p,g,P)=>{const V=g.parentNode;V&&V.replaceChild(p,g);let U=P;for(;U;)U.vnode.el===g&&(U.vnode.el=U.subTree.el=p),U=U.parent},D=p=>p.nodeType===1&&p.tagName==="TEMPLATE";return[a,h]}const sr="data-allow-mismatch",Al={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function cn(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(sr);)e=e.parentElement;const n=e&&e.getAttribute(sr);if(n==null)return!1;if(n==="")return!0;{const s=n.split(",");return t===0&&s.includes("children")?!0:n.split(",").includes(Al[t])}}On().requestIdleCallback;On().cancelIdleCallback;function Rl(e,t){if(St(e)&&e.data==="["){let n=1,s=e.nextSibling;for(;s;){if(s.nodeType===1){if(t(s)===!1)break}else if(St(s))if(s.data==="]"){if(--n===0)break}else s.data==="["&&n++;s=s.nextSibling}}else t(e)}const pt=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function tf(e){G(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:s,delay:r=200,hydrate:i,timeout:o,suspensible:l=!0,onError:c}=e;let u=null,a,h=0;const y=()=>(h++,u=null,v()),v=()=>{let A;return u||(A=u=t().catch(S=>{if(S=S instanceof Error?S:new Error(String(S)),c)return new Promise((B,N)=>{c(S,()=>B(y()),()=>N(S),h+1)});throw S}).then(S=>A!==u&&u?u:(S&&(S.__esModule||S[Symbol.toStringTag]==="Module")&&(S=S.default),a=S,S)))};return Ds({name:"AsyncComponentWrapper",__asyncLoader:v,__asyncHydrate(A,S,B){const N=i?()=>{const D=i(B,p=>Rl(A,p));D&&(S.bum||(S.bum=[])).push(D)}:B;a?N():v().then(()=>!S.isUnmounted&&N())},get __asyncResolved(){return a},setup(){const A=fe;if(js(A),a)return()=>Xn(a,A);const S=p=>{u=null,zt(p,A,13,!s)};if(l&&A.suspense||Ot)return v().then(p=>()=>Xn(p,A)).catch(p=>(S(p),()=>s?oe(s,{error:p}):null));const B=le(!1),N=le(),D=le(!!r);return r&&setTimeout(()=>{D.value=!1},r),o!=null&&setTimeout(()=>{if(!B.value&&!N.value){const p=new Error(`Async component timed out after ${o}ms.`);S(p),N.value=p}},o),v().then(()=>{B.value=!0,A.parent&&Qt(A.parent.vnode)&&A.parent.update()}).catch(p=>{S(p),N.value=p}),()=>{if(B.value&&a)return Xn(a,A);if(N.value&&s)return oe(s,{error:N.value});if(n&&!D.value)return oe(n)}}})}function Xn(e,t){const{ref:n,props:s,children:r,ce:i}=t.vnode,o=oe(e,s,r);return o.ref=n,o.ce=i,delete t.vnode.ce,o}const Qt=e=>e.type.__isKeepAlive;function Ol(e,t){Ei(e,"a",t)}function Pl(e,t){Ei(e,"da",t)}function Ei(e,t,n=fe){const s=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Fn(t,s,n),n){let r=n.parent;for(;r&&r.parent;)Qt(r.parent.vnode)&&Ml(s,t,n,r),r=r.parent}}function Ml(e,t,n,s){const r=Fn(t,e,s,!0);Hn(()=>{As(s[t],r)},n)}function Fn(e,t,n=fe,s=!1){if(n){const r=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=(...o)=>{rt();const l=Zt(n),c=He(t,n,e,o);return l(),it(),c});return s?r.unshift(i):r.push(i),i}}const Ge=e=>(t,n=fe)=>{(!Ot||e==="sp")&&Fn(e,(...s)=>t(...s),n)},Il=Ge("bm"),Mt=Ge("m"),Ll=Ge("bu"),Nl=Ge("u"),Ci=Ge("bum"),Hn=Ge("um"),Fl=Ge("sp"),Hl=Ge("rtg"),$l=Ge("rtc");function Dl(e,t=fe){Fn("ec",e,t)}const Ti="components";function nf(e,t){return Ri(Ti,e,!0,t)||e}const Ai=Symbol.for("v-ndc");function sf(e){return re(e)?Ri(Ti,e,!1)||e:e||Ai}function Ri(e,t,n=!0,s=!1){const r=ve||fe;if(r){const i=r.type;{const l=xc(i,!1);if(l&&(l===t||l===Ie(t)||l===Rn(Ie(t))))return i}const o=rr(r[e]||i[e],t)||rr(r.appContext[e],t);return!o&&s?i:o}}function rr(e,t){return e&&(e[t]||e[Ie(t)]||e[Rn(Ie(t))])}function rf(e,t,n,s){let r;const i=n,o=W(e);if(o||re(e)){const l=o&&ht(e);let c=!1;l&&(c=!Me(e),e=Mn(e)),r=new Array(e.length);for(let u=0,a=e.length;ut(l,c,void 0,i));else{const l=Object.keys(e);r=new Array(l.length);for(let c=0,u=l.length;cGt(t)?!(t.type===ye||t.type===Se&&!Oi(t.children)):!0)?e:null}function lf(e,t){const n={};for(const s in e)n[/[A-Z]/.test(s)?`on:${s}`:hn(s)]=e[s];return n}const ms=e=>e?Zi(e)?Bs(e):ms(e.parent):null,jt=ce(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ms(e.parent),$root:e=>ms(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Vs(e),$forceUpdate:e=>e.f||(e.f=()=>{$s(e.update)}),$nextTick:e=>e.n||(e.n=Nn.bind(e.proxy)),$watch:e=>oc.bind(e)}),Jn=(e,t)=>e!==te&&!e.__isScriptSetup&&z(e,t),jl={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:r,props:i,accessCache:o,type:l,appContext:c}=e;let u;if(t[0]!=="$"){const v=o[t];if(v!==void 0)switch(v){case 1:return s[t];case 2:return r[t];case 4:return n[t];case 3:return i[t]}else{if(Jn(s,t))return o[t]=1,s[t];if(r!==te&&z(r,t))return o[t]=2,r[t];if((u=e.propsOptions[0])&&z(u,t))return o[t]=3,i[t];if(n!==te&&z(n,t))return o[t]=4,n[t];ys&&(o[t]=0)}}const a=jt[t];let h,y;if(a)return t==="$attrs"&&ge(e.attrs,"get",""),a(e);if((h=l.__cssModules)&&(h=h[t]))return h;if(n!==te&&z(n,t))return o[t]=4,n[t];if(y=c.config.globalProperties,z(y,t))return y[t]},set({_:e},t,n){const{data:s,setupState:r,ctx:i}=e;return Jn(r,t)?(r[t]=n,!0):s!==te&&z(s,t)?(s[t]=n,!0):z(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:r,propsOptions:i}},o){let l;return!!n[o]||e!==te&&z(e,o)||Jn(t,o)||(l=i[0])&&z(l,o)||z(s,o)||z(jt,o)||z(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:z(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function cf(){return Vl().slots}function Vl(){const e=jn();return e.setupContext||(e.setupContext=to(e))}function ir(e){return W(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ys=!0;function Ul(e){const t=Vs(e),n=e.proxy,s=e.ctx;ys=!1,t.beforeCreate&&or(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:o,watch:l,provide:c,inject:u,created:a,beforeMount:h,mounted:y,beforeUpdate:v,updated:A,activated:S,deactivated:B,beforeDestroy:N,beforeUnmount:D,destroyed:p,unmounted:g,render:P,renderTracked:V,renderTriggered:U,errorCaptured:q,serverPrefetch:I,expose:b,inheritAttrs:L,components:x,directives:k,filters:se}=t;if(u&&kl(u,s,null),o)for(const Y in o){const H=o[Y];G(H)&&(s[Y]=H.bind(n))}if(r){const Y=r.call(n,n);ne(Y)&&(e.data=In(Y))}if(ys=!0,i)for(const Y in i){const H=i[Y],de=G(H)?H.bind(n,n):G(H.get)?H.get.bind(n,n):Ue,en=!G(H)&&G(H.set)?H.set.bind(n):Ue,ot=ie({get:de,set:en});Object.defineProperty(s,Y,{enumerable:!0,configurable:!0,get:()=>ot.value,set:$e=>ot.value=$e})}if(l)for(const Y in l)Pi(l[Y],s,n,Y);if(c){const Y=G(c)?c.call(n):c;Reflect.ownKeys(Y).forEach(H=>{Yl(H,Y[H])})}a&&or(a,e,"c");function $(Y,H){W(H)?H.forEach(de=>Y(de.bind(n))):H&&Y(H.bind(n))}if($(Il,h),$(Mt,y),$(Ll,v),$(Nl,A),$(Ol,S),$(Pl,B),$(Dl,q),$($l,V),$(Hl,U),$(Ci,D),$(Hn,g),$(Fl,I),W(b))if(b.length){const Y=e.exposed||(e.exposed={});b.forEach(H=>{Object.defineProperty(Y,H,{get:()=>n[H],set:de=>n[H]=de})})}else e.exposed||(e.exposed={});P&&e.render===Ue&&(e.render=P),L!=null&&(e.inheritAttrs=L),x&&(e.components=x),k&&(e.directives=k),I&&js(e)}function kl(e,t,n=Ue){W(e)&&(e=vs(e));for(const s in e){const r=e[s];let i;ne(r)?"default"in r?i=Rt(r.from||s,r.default,!0):i=Rt(r.from||s):i=Rt(r),ue(i)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>i.value,set:o=>i.value=o}):t[s]=i}}function or(e,t,n){He(W(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Pi(e,t,n,s){let r=s.includes(".")?Ki(n,s):()=>n[s];if(re(e)){const i=t[e];G(i)&&Fe(r,i)}else if(G(e))Fe(r,e.bind(n));else if(ne(e))if(W(e))e.forEach(i=>Pi(i,t,n,s));else{const i=G(e.handler)?e.handler.bind(n):t[e.handler];G(i)&&Fe(r,i,e)}}function Vs(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,l=i.get(t);let c;return l?c=l:!r.length&&!n&&!s?c=t:(c={},r.length&&r.forEach(u=>En(c,u,o,!0)),En(c,t,o)),ne(t)&&i.set(t,c),c}function En(e,t,n,s=!1){const{mixins:r,extends:i}=t;i&&En(e,i,n,!0),r&&r.forEach(o=>En(e,o,n,!0));for(const o in t)if(!(s&&o==="expose")){const l=Bl[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const Bl={data:lr,props:cr,emits:cr,methods:Ht,computed:Ht,beforeCreate:_e,created:_e,beforeMount:_e,mounted:_e,beforeUpdate:_e,updated:_e,beforeDestroy:_e,beforeUnmount:_e,destroyed:_e,unmounted:_e,activated:_e,deactivated:_e,errorCaptured:_e,serverPrefetch:_e,components:Ht,directives:Ht,watch:Kl,provide:lr,inject:Wl};function lr(e,t){return t?e?function(){return ce(G(e)?e.call(this,this):e,G(t)?t.call(this,this):t)}:t:e}function Wl(e,t){return Ht(vs(e),vs(t))}function vs(e){if(W(e)){const t={};for(let n=0;n1)return n&&G(t)?t.call(s&&s.proxy):t}}const Ii={},Li=()=>Object.create(Ii),Ni=e=>Object.getPrototypeOf(e)===Ii;function Xl(e,t,n,s=!1){const r={},i=Li();e.propsDefaults=Object.create(null),Fi(e,t,r,i);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=s?r:sl(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Jl(e,t,n,s){const{props:r,attrs:i,vnode:{patchFlag:o}}=e,l=J(r),[c]=e.propsOptions;let u=!1;if((s||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let h=0;h{c=!0;const[y,v]=Hi(h,t,!0);ce(o,y),v&&l.push(...v)};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!i&&!c)return ne(e)&&s.set(e,xt),xt;if(W(i))for(let a=0;ae[0]==="_"||e==="$stable",Us=e=>W(e)?e.map(Pe):[Pe(e)],Ql=(e,t,n)=>{if(t._n)return t;const s=_l((...r)=>Us(t(...r)),n);return s._c=!1,s},Di=(e,t,n)=>{const s=e._ctx;for(const r in e){if($i(r))continue;const i=e[r];if(G(i))t[r]=Ql(r,i,s);else if(i!=null){const o=Us(i);t[r]=()=>o}}},ji=(e,t)=>{const n=Us(t);e.slots.default=()=>n},Vi=(e,t,n)=>{for(const s in t)(n||s!=="_")&&(e[s]=t[s])},Zl=(e,t,n)=>{const s=e.slots=Li();if(e.vnode.shapeFlag&32){const r=t._;r?(Vi(s,t,n),n&&Kr(s,"_",r,!0)):Di(t,s)}else t&&ji(e,t)},ec=(e,t,n)=>{const{vnode:s,slots:r}=e;let i=!0,o=te;if(s.shapeFlag&32){const l=t._;l?n&&l===1?i=!1:Vi(r,t,n):(i=!t.$stable,Di(t,r)),o=t}else t&&(ji(e,t),o={default:1});if(i)for(const l in r)!$i(l)&&o[l]==null&&delete r[l]},Te=Yi;function tc(e){return nc(e,Tl)}function nc(e,t){const n=On();n.__VUE__=!0;const{insert:s,remove:r,patchProp:i,createElement:o,createText:l,createComment:c,setText:u,setElementText:a,parentNode:h,nextSibling:y,setScopeId:v=Ue,insertStaticContent:A}=e,S=(f,d,m,E=null,_=null,w=null,O=void 0,R=null,T=!!d.dynamicChildren)=>{if(f===d)return;f&&!ut(f,d)&&(E=tn(f),$e(f,_,w,!0),f=null),d.patchFlag===-2&&(T=!1,d.dynamicChildren=null);const{type:C,ref:j,shapeFlag:M}=d;switch(C){case gt:B(f,d,m,E);break;case ye:N(f,d,m,E);break;case Vt:f==null&&D(d,m,E,O);break;case Se:x(f,d,m,E,_,w,O,R,T);break;default:M&1?P(f,d,m,E,_,w,O,R,T):M&6?k(f,d,m,E,_,w,O,R,T):(M&64||M&128)&&C.process(f,d,m,E,_,w,O,R,T,vt)}j!=null&&_&&xn(j,f&&f.ref,w,d||f,!d)},B=(f,d,m,E)=>{if(f==null)s(d.el=l(d.children),m,E);else{const _=d.el=f.el;d.children!==f.children&&u(_,d.children)}},N=(f,d,m,E)=>{f==null?s(d.el=c(d.children||""),m,E):d.el=f.el},D=(f,d,m,E)=>{[f.el,f.anchor]=A(f.children,d,m,E,f.el,f.anchor)},p=({el:f,anchor:d},m,E)=>{let _;for(;f&&f!==d;)_=y(f),s(f,m,E),f=_;s(d,m,E)},g=({el:f,anchor:d})=>{let m;for(;f&&f!==d;)m=y(f),r(f),f=m;r(d)},P=(f,d,m,E,_,w,O,R,T)=>{d.type==="svg"?O="svg":d.type==="math"&&(O="mathml"),f==null?V(d,m,E,_,w,O,R,T):I(f,d,_,w,O,R,T)},V=(f,d,m,E,_,w,O,R)=>{let T,C;const{props:j,shapeFlag:M,transition:F,dirs:K}=f;if(T=f.el=o(f.type,w,j&&j.is,j),M&8?a(T,f.children):M&16&&q(f.children,T,null,E,_,zn(f,w),O,R),K&&Ve(f,null,E,"created"),U(T,f,f.scopeId,O,E),j){for(const Z in j)Z!=="value"&&!Ct(Z)&&i(T,Z,null,j[Z],w,E);"value"in j&&i(T,"value",null,j.value,w),(C=j.onVnodeBeforeMount)&&Oe(C,E,f)}K&&Ve(f,null,E,"beforeMount");const X=Ui(_,F);X&&F.beforeEnter(T),s(T,d,m),((C=j&&j.onVnodeMounted)||X||K)&&Te(()=>{C&&Oe(C,E,f),X&&F.enter(T),K&&Ve(f,null,E,"mounted")},_)},U=(f,d,m,E,_)=>{if(m&&v(f,m),E)for(let w=0;w{for(let C=T;C{const R=d.el=f.el;let{patchFlag:T,dynamicChildren:C,dirs:j}=d;T|=f.patchFlag&16;const M=f.props||te,F=d.props||te;let K;if(m&<(m,!1),(K=F.onVnodeBeforeUpdate)&&Oe(K,m,d,f),j&&Ve(d,f,m,"beforeUpdate"),m&<(m,!0),(M.innerHTML&&F.innerHTML==null||M.textContent&&F.textContent==null)&&a(R,""),C?b(f.dynamicChildren,C,R,m,E,zn(d,_),w):O||H(f,d,R,null,m,E,zn(d,_),w,!1),T>0){if(T&16)L(R,M,F,m,_);else if(T&2&&M.class!==F.class&&i(R,"class",null,F.class,_),T&4&&i(R,"style",M.style,F.style,_),T&8){const X=d.dynamicProps;for(let Z=0;Z{K&&Oe(K,m,d,f),j&&Ve(d,f,m,"updated")},E)},b=(f,d,m,E,_,w,O)=>{for(let R=0;R{if(d!==m){if(d!==te)for(const w in d)!Ct(w)&&!(w in m)&&i(f,w,d[w],null,_,E);for(const w in m){if(Ct(w))continue;const O=m[w],R=d[w];O!==R&&w!=="value"&&i(f,w,R,O,_,E)}"value"in m&&i(f,"value",d.value,m.value,_)}},x=(f,d,m,E,_,w,O,R,T)=>{const C=d.el=f?f.el:l(""),j=d.anchor=f?f.anchor:l("");let{patchFlag:M,dynamicChildren:F,slotScopeIds:K}=d;K&&(R=R?R.concat(K):K),f==null?(s(C,m,E),s(j,m,E),q(d.children||[],m,j,_,w,O,R,T)):M>0&&M&64&&F&&f.dynamicChildren?(b(f.dynamicChildren,F,m,_,w,O,R),(d.key!=null||_&&d===_.subTree)&&ki(f,d,!0)):H(f,d,m,j,_,w,O,R,T)},k=(f,d,m,E,_,w,O,R,T)=>{d.slotScopeIds=R,f==null?d.shapeFlag&512?_.ctx.activate(d,m,E,O,T):se(d,m,E,_,w,O,T):ae(f,d,T)},se=(f,d,m,E,_,w,O)=>{const R=f.component=_c(f,E,_);if(Qt(f)&&(R.ctx.renderer=vt),bc(R,!1,O),R.asyncDep){if(_&&_.registerDep(R,$,O),!f.el){const T=R.subTree=oe(ye);N(null,T,d,m)}}else $(R,f,d,m,_,w,O)},ae=(f,d,m)=>{const E=d.component=f.component;if(uc(f,d,m))if(E.asyncDep&&!E.asyncResolved){Y(E,d,m);return}else E.next=d,E.update();else d.el=f.el,E.vnode=d},$=(f,d,m,E,_,w,O)=>{const R=()=>{if(f.isMounted){let{next:M,bu:F,u:K,parent:X,vnode:Z}=f;{const Ee=Bi(f);if(Ee){M&&(M.el=Z.el,Y(f,M,O)),Ee.asyncDep.then(()=>{f.isUnmounted||R()});return}}let Q=M,xe;lt(f,!1),M?(M.el=Z.el,Y(f,M,O)):M=Z,F&&Bn(F),(xe=M.props&&M.props.onVnodeBeforeUpdate)&&Oe(xe,X,M,Z),lt(f,!0);const he=Qn(f),Le=f.subTree;f.subTree=he,S(Le,he,h(Le.el),tn(Le),f,_,w),M.el=he.el,Q===null&&dc(f,he.el),K&&Te(K,_),(xe=M.props&&M.props.onVnodeUpdated)&&Te(()=>Oe(xe,X,M,Z),_)}else{let M;const{el:F,props:K}=d,{bm:X,m:Z,parent:Q,root:xe,type:he}=f,Le=pt(d);if(lt(f,!1),X&&Bn(X),!Le&&(M=K&&K.onVnodeBeforeMount)&&Oe(M,Q,d),lt(f,!0),F&&kn){const Ee=()=>{f.subTree=Qn(f),kn(F,f.subTree,f,_,null)};Le&&he.__asyncHydrate?he.__asyncHydrate(F,f,Ee):Ee()}else{xe.ce&&xe.ce._injectChildStyle(he);const Ee=f.subTree=Qn(f);S(null,Ee,m,E,f,_,w),d.el=Ee.el}if(Z&&Te(Z,_),!Le&&(M=K&&K.onVnodeMounted)){const Ee=d;Te(()=>Oe(M,Q,Ee),_)}(d.shapeFlag&256||Q&&pt(Q.vnode)&&Q.vnode.shapeFlag&256)&&f.a&&Te(f.a,_),f.isMounted=!0,d=m=E=null}};f.scope.on();const T=f.effect=new Jr(R);f.scope.off();const C=f.update=T.run.bind(T),j=f.job=T.runIfDirty.bind(T);j.i=f,j.id=f.uid,T.scheduler=()=>$s(j),lt(f,!0),C()},Y=(f,d,m)=>{d.component=f;const E=f.vnode.props;f.vnode=d,f.next=null,Jl(f,d.props,E,m),ec(f,d.children,m),rt(),er(f),it()},H=(f,d,m,E,_,w,O,R,T=!1)=>{const C=f&&f.children,j=f?f.shapeFlag:0,M=d.children,{patchFlag:F,shapeFlag:K}=d;if(F>0){if(F&128){en(C,M,m,E,_,w,O,R,T);return}else if(F&256){de(C,M,m,E,_,w,O,R,T);return}}K&8?(j&16&&It(C,_,w),M!==C&&a(m,M)):j&16?K&16?en(C,M,m,E,_,w,O,R,T):It(C,_,w,!0):(j&8&&a(m,""),K&16&&q(M,m,E,_,w,O,R,T))},de=(f,d,m,E,_,w,O,R,T)=>{f=f||xt,d=d||xt;const C=f.length,j=d.length,M=Math.min(C,j);let F;for(F=0;Fj?It(f,_,w,!0,!1,M):q(d,m,E,_,w,O,R,T,M)},en=(f,d,m,E,_,w,O,R,T)=>{let C=0;const j=d.length;let M=f.length-1,F=j-1;for(;C<=M&&C<=F;){const K=f[C],X=d[C]=T?Qe(d[C]):Pe(d[C]);if(ut(K,X))S(K,X,m,null,_,w,O,R,T);else break;C++}for(;C<=M&&C<=F;){const K=f[M],X=d[F]=T?Qe(d[F]):Pe(d[F]);if(ut(K,X))S(K,X,m,null,_,w,O,R,T);else break;M--,F--}if(C>M){if(C<=F){const K=F+1,X=KF)for(;C<=M;)$e(f[C],_,w,!0),C++;else{const K=C,X=C,Z=new Map;for(C=X;C<=F;C++){const Ce=d[C]=T?Qe(d[C]):Pe(d[C]);Ce.key!=null&&Z.set(Ce.key,C)}let Q,xe=0;const he=F-X+1;let Le=!1,Ee=0;const Lt=new Array(he);for(C=0;C=he){$e(Ce,_,w,!0);continue}let De;if(Ce.key!=null)De=Z.get(Ce.key);else for(Q=X;Q<=F;Q++)if(Lt[Q-X]===0&&ut(Ce,d[Q])){De=Q;break}De===void 0?$e(Ce,_,w,!0):(Lt[De-X]=C+1,De>=Ee?Ee=De:Le=!0,S(Ce,d[De],m,null,_,w,O,R,T),xe++)}const Xs=Le?sc(Lt):xt;for(Q=Xs.length-1,C=he-1;C>=0;C--){const Ce=X+C,De=d[Ce],Js=Ce+1{const{el:w,type:O,transition:R,children:T,shapeFlag:C}=f;if(C&6){ot(f.component.subTree,d,m,E);return}if(C&128){f.suspense.move(d,m,E);return}if(C&64){O.move(f,d,m,vt);return}if(O===Se){s(w,d,m);for(let M=0;MR.enter(w),_);else{const{leave:M,delayLeave:F,afterLeave:K}=R,X=()=>s(w,d,m),Z=()=>{M(w,()=>{X(),K&&K()})};F?F(w,X,Z):Z()}else s(w,d,m)},$e=(f,d,m,E=!1,_=!1)=>{const{type:w,props:O,ref:R,children:T,dynamicChildren:C,shapeFlag:j,patchFlag:M,dirs:F,cacheIndex:K}=f;if(M===-2&&(_=!1),R!=null&&xn(R,null,m,f,!0),K!=null&&(d.renderCache[K]=void 0),j&256){d.ctx.deactivate(f);return}const X=j&1&&F,Z=!pt(f);let Q;if(Z&&(Q=O&&O.onVnodeBeforeUnmount)&&Oe(Q,d,f),j&6)wo(f.component,m,E);else{if(j&128){f.suspense.unmount(m,E);return}X&&Ve(f,null,d,"beforeUnmount"),j&64?f.type.remove(f,d,m,vt,E):C&&!C.hasOnce&&(w!==Se||M>0&&M&64)?It(C,d,m,!1,!0):(w===Se&&M&384||!_&&j&16)&&It(T,d,m),E&&Gs(f)}(Z&&(Q=O&&O.onVnodeUnmounted)||X)&&Te(()=>{Q&&Oe(Q,d,f),X&&Ve(f,null,d,"unmounted")},m)},Gs=f=>{const{type:d,el:m,anchor:E,transition:_}=f;if(d===Se){bo(m,E);return}if(d===Vt){g(f);return}const w=()=>{r(m),_&&!_.persisted&&_.afterLeave&&_.afterLeave()};if(f.shapeFlag&1&&_&&!_.persisted){const{leave:O,delayLeave:R}=_,T=()=>O(m,w);R?R(f.el,w,T):T()}else w()},bo=(f,d)=>{let m;for(;f!==d;)m=y(f),r(f),f=m;r(d)},wo=(f,d,m)=>{const{bum:E,scope:_,job:w,subTree:O,um:R,m:T,a:C}=f;fr(T),fr(C),E&&Bn(E),_.stop(),w&&(w.flags|=8,$e(O,f,d,m)),R&&Te(R,d),Te(()=>{f.isUnmounted=!0},d),d&&d.pendingBranch&&!d.isUnmounted&&f.asyncDep&&!f.asyncResolved&&f.suspenseId===d.pendingId&&(d.deps--,d.deps===0&&d.resolve())},It=(f,d,m,E=!1,_=!1,w=0)=>{for(let O=w;O{if(f.shapeFlag&6)return tn(f.component.subTree);if(f.shapeFlag&128)return f.suspense.next();const d=y(f.anchor||f.el),m=d&&d[bl];return m?y(m):d};let Vn=!1;const Ys=(f,d,m)=>{f==null?d._vnode&&$e(d._vnode,null,null,!0):S(d._vnode||null,f,d,null,null,null,m),d._vnode=f,Vn||(Vn=!0,er(),wn(),Vn=!1)},vt={p:S,um:$e,m:ot,r:Gs,mt:se,mc:q,pc:H,pbc:b,n:tn,o:e};let Un,kn;return t&&([Un,kn]=t(vt)),{render:Ys,hydrate:Un,createApp:Gl(Ys,Un)}}function zn({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function lt({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Ui(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ki(e,t,n=!1){const s=e.children,r=t.children;if(W(s)&&W(r))for(let i=0;i>1,e[n[l]]0&&(t[s]=n[i-1]),n[i]=s)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}function Bi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Bi(t)}function fr(e){if(e)for(let t=0;tRt(rc);function Wi(e,t){return $n(e,null,t)}function af(e,t){return $n(e,null,{flush:"post"})}function Fe(e,t,n){return $n(e,t,n)}function $n(e,t,n=te){const{immediate:s,deep:r,flush:i,once:o}=n,l=ce({},n),c=t&&s||!t&&i!=="post";let u;if(Ot){if(i==="sync"){const v=ic();u=v.__watcherHandles||(v.__watcherHandles=[])}else if(!c){const v=()=>{};return v.stop=Ue,v.resume=Ue,v.pause=Ue,v}}const a=fe;l.call=(v,A,S)=>He(v,a,A,S);let h=!1;i==="post"?l.scheduler=v=>{Te(v,a&&a.suspense)}:i!=="sync"&&(h=!0,l.scheduler=(v,A)=>{A?v():$s(v)}),l.augmentJob=v=>{t&&(v.flags|=4),h&&(v.flags|=2,a&&(v.id=a.uid,v.i=a))};const y=gl(e,t,l);return Ot&&(u?u.push(y):c&&y()),y}function oc(e,t,n){const s=this.proxy,r=re(e)?e.includes(".")?Ki(s,e):()=>s[e]:e.bind(s,s);let i;G(t)?i=t:(i=t.handler,n=t);const o=Zt(this),l=$n(r,i.bind(s),n);return o(),l}function Ki(e,t){const n=t.split(".");return()=>{let s=e;for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Ie(t)}Modifiers`]||e[`${st(t)}Modifiers`];function cc(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||te;let r=n;const i=t.startsWith("update:"),o=i&&lc(s,t.slice(7));o&&(o.trim&&(r=n.map(a=>re(a)?a.trim():a)),o.number&&(r=n.map(Ao)));let l,c=s[l=hn(t)]||s[l=hn(Ie(t))];!c&&i&&(c=s[l=hn(st(t))]),c&&He(c,e,6,r);const u=s[l+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,He(u,e,6,r)}}function qi(e,t,n=!1){const s=t.emitsCache,r=s.get(e);if(r!==void 0)return r;const i=e.emits;let o={},l=!1;if(!G(e)){const c=u=>{const a=qi(u,t,!0);a&&(l=!0,ce(o,a))};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}return!i&&!l?(ne(e)&&s.set(e,null),null):(W(i)?i.forEach(c=>o[c]=null):ce(o,i),ne(e)&&s.set(e,o),o)}function Dn(e,t){return!e||!Xt(t)?!1:(t=t.slice(2).replace(/Once$/,""),z(e,t[0].toLowerCase()+t.slice(1))||z(e,st(t))||z(e,t))}function Qn(e){const{type:t,vnode:n,proxy:s,withProxy:r,propsOptions:[i],slots:o,attrs:l,emit:c,render:u,renderCache:a,props:h,data:y,setupState:v,ctx:A,inheritAttrs:S}=e,B=Sn(e);let N,D;try{if(n.shapeFlag&4){const g=r||s,P=g;N=Pe(u.call(P,g,a,h,v,y,A)),D=l}else{const g=t;N=Pe(g.length>1?g(h,{attrs:l,slots:o,emit:c}):g(h,null)),D=t.props?l:ac(l)}}catch(g){Ut.length=0,zt(g,e,1),N=oe(ye)}let p=N;if(D&&S!==!1){const g=Object.keys(D),{shapeFlag:P}=p;g.length&&P&7&&(i&&g.some(Ts)&&(D=fc(D,i)),p=nt(p,D,!1,!0))}return n.dirs&&(p=nt(p,null,!1,!0),p.dirs=p.dirs?p.dirs.concat(n.dirs):n.dirs),n.transition&&Kt(p,n.transition),N=p,Sn(B),N}const ac=e=>{let t;for(const n in e)(n==="class"||n==="style"||Xt(n))&&((t||(t={}))[n]=e[n]);return t},fc=(e,t)=>{const n={};for(const s in e)(!Ts(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function uc(e,t,n){const{props:s,children:r,component:i}=e,{props:o,children:l,patchFlag:c}=t,u=i.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?ur(s,o,u):!!o;if(c&8){const a=t.dynamicProps;for(let h=0;he.__isSuspense;function Yi(e,t){t&&t.pendingBranch?W(e)?t.effects.push(...e):t.effects.push(e):vl(e)}const Se=Symbol.for("v-fgt"),gt=Symbol.for("v-txt"),ye=Symbol.for("v-cmt"),Vt=Symbol.for("v-stc"),Ut=[];let Ae=null;function bs(e=!1){Ut.push(Ae=e?null:[])}function hc(){Ut.pop(),Ae=Ut[Ut.length-1]||null}let qt=1;function dr(e){qt+=e,e<0&&Ae&&(Ae.hasOnce=!0)}function Xi(e){return e.dynamicChildren=qt>0?Ae||xt:null,hc(),qt>0&&Ae&&Ae.push(e),e}function ff(e,t,n,s,r,i){return Xi(zi(e,t,n,s,r,i,!0))}function ws(e,t,n,s,r){return Xi(oe(e,t,n,s,r,!0))}function Gt(e){return e?e.__v_isVNode===!0:!1}function ut(e,t){return e.type===t.type&&e.key===t.key}const Ji=({key:e})=>e??null,gn=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?re(e)||ue(e)||G(e)?{i:ve,r:e,k:t,f:!!n}:e:null);function zi(e,t=null,n=null,s=0,r=null,i=e===Se?0:1,o=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ji(t),ref:t&&gn(t),scopeId:yi,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:s,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:ve};return l?(ks(c,n),i&128&&e.normalize(c)):n&&(c.shapeFlag|=re(n)?8:16),qt>0&&!o&&Ae&&(c.patchFlag>0||i&6)&&c.patchFlag!==32&&Ae.push(c),c}const oe=pc;function pc(e,t=null,n=null,s=0,r=null,i=!1){if((!e||e===Ai)&&(e=ye),Gt(e)){const l=nt(e,t,!0);return n&&ks(l,n),qt>0&&!i&&Ae&&(l.shapeFlag&6?Ae[Ae.indexOf(e)]=l:Ae.push(l)),l.patchFlag=-2,l}if(Ec(e)&&(e=e.__vccOpts),t){t=gc(t);let{class:l,style:c}=t;l&&!re(l)&&(t.class=Ps(l)),ne(c)&&(Hs(c)&&!W(c)&&(c=ce({},c)),t.style=Os(c))}const o=re(e)?1:Gi(e)?128:vi(e)?64:ne(e)?4:G(e)?2:0;return zi(e,t,n,s,r,o,i,!0)}function gc(e){return e?Hs(e)||Ni(e)?ce({},e):e:null}function nt(e,t,n=!1,s=!1){const{props:r,ref:i,patchFlag:o,children:l,transition:c}=e,u=t?mc(r||{},t):r,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Ji(u),ref:t&&t.ref?n&&i?W(i)?i.concat(gn(t)):[i,gn(t)]:gn(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Se?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&nt(e.ssContent),ssFallback:e.ssFallback&&nt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return c&&s&&Kt(a,c.clone(a)),a}function Qi(e=" ",t=0){return oe(gt,null,e,t)}function uf(e,t){const n=oe(Vt,null,e);return n.staticCount=t,n}function df(e="",t=!1){return t?(bs(),ws(ye,null,e)):oe(ye,null,e)}function Pe(e){return e==null||typeof e=="boolean"?oe(ye):W(e)?oe(Se,null,e.slice()):Gt(e)?Qe(e):oe(gt,null,String(e))}function Qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:nt(e)}function ks(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(W(t))n=16;else if(typeof t=="object")if(s&65){const r=t.default;r&&(r._c&&(r._d=!1),ks(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!Ni(t)?t._ctx=ve:r===3&&ve&&(ve.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else G(t)?(t={default:t,_ctx:ve},n=32):(t=String(t),s&64?(n=16,t=[Qi(t)]):n=8);e.children=t,e.shapeFlag|=n}function mc(...e){const t={};for(let n=0;nfe||ve;let Cn,Ss;{const e=On(),t=(n,s)=>{let r;return(r=e[n])||(r=e[n]=[]),r.push(s),i=>{r.length>1?r.forEach(o=>o(i)):r[0](i)}};Cn=t("__VUE_INSTANCE_SETTERS__",n=>fe=n),Ss=t("__VUE_SSR_SETTERS__",n=>Ot=n)}const Zt=e=>{const t=fe;return Cn(e),e.scope.on(),()=>{e.scope.off(),Cn(t)}},hr=()=>{fe&&fe.scope.off(),Cn(null)};function Zi(e){return e.vnode.shapeFlag&4}let Ot=!1;function bc(e,t=!1,n=!1){t&&Ss(t);const{props:s,children:r}=e.vnode,i=Zi(e);Xl(e,s,i,t),Zl(e,r,n);const o=i?wc(e,t):void 0;return t&&Ss(!1),o}function wc(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,jl);const{setup:s}=n;if(s){rt();const r=e.setupContext=s.length>1?to(e):null,i=Zt(e),o=Jt(s,e,0,[e.props,r]),l=kr(o);if(it(),i(),(l||e.sp)&&!pt(e)&&js(e),l){if(o.then(hr,hr),t)return o.then(c=>{pr(e,c,t)}).catch(c=>{zt(c,e,0)});e.asyncDep=o}else pr(e,o,t)}else eo(e,t)}function pr(e,t,n){G(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ne(t)&&(e.setupState=hi(t)),eo(e,n)}let gr;function eo(e,t,n){const s=e.type;if(!e.render){if(!t&&gr&&!s.render){const r=s.template||Vs(e).template;if(r){const{isCustomElement:i,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:c}=s,u=ce(ce({isCustomElement:i,delimiters:l},o),c);s.render=gr(r,u)}}e.render=s.render||Ue}{const r=Zt(e);rt();try{Ul(e)}finally{it(),r()}}}const Sc={get(e,t){return ge(e,"get",""),e[t]}};function to(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Sc),slots:e.slots,emit:e.emit,expose:t}}function Bs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(hi(pn(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in jt)return jt[n](e)},has(t,n){return n in t||n in jt}})):e.proxy}function xc(e,t=!0){return G(e)?e.displayName||e.name:e.name||t&&e.__name}function Ec(e){return G(e)&&"__vccOpts"in e}const ie=(e,t)=>hl(e,t,Ot);function xs(e,t,n){const s=arguments.length;return s===2?ne(t)&&!W(t)?Gt(t)?oe(e,null,[t]):oe(e,t):oe(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Gt(n)&&(n=[n]),oe(e,t,n))}const Cc="3.5.12";/** +* @vue/runtime-dom v3.5.12 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Es;const mr=typeof window<"u"&&window.trustedTypes;if(mr)try{Es=mr.createPolicy("vue",{createHTML:e=>e})}catch{}const no=Es?e=>Es.createHTML(e):e=>e,Tc="http://www.w3.org/2000/svg",Ac="http://www.w3.org/1998/Math/MathML",Be=typeof document<"u"?document:null,yr=Be&&Be.createElement("template"),Rc={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const r=t==="svg"?Be.createElementNS(Tc,e):t==="mathml"?Be.createElementNS(Ac,e):n?Be.createElement(e,{is:n}):Be.createElement(e);return e==="select"&&s&&s.multiple!=null&&r.setAttribute("multiple",s.multiple),r},createText:e=>Be.createTextNode(e),createComment:e=>Be.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Be.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,r,i){const o=n?n.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===i||!(r=r.nextSibling)););else{yr.innerHTML=no(s==="svg"?`${e}`:s==="mathml"?`${e}`:e);const l=yr.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ye="transition",Ft="animation",Yt=Symbol("_vtc"),so={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Oc=ce({},_i,so),Pc=e=>(e.displayName="Transition",e.props=Oc,e),hf=Pc((e,{slots:t})=>xs(xl,Mc(e),t)),ct=(e,t=[])=>{W(e)?e.forEach(n=>n(...t)):e&&e(...t)},vr=e=>e?W(e)?e.some(t=>t.length>1):e.length>1:!1;function Mc(e){const t={};for(const x in e)x in so||(t[x]=e[x]);if(e.css===!1)return t;const{name:n="v",type:s,duration:r,enterFromClass:i=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:c=i,appearActiveClass:u=o,appearToClass:a=l,leaveFromClass:h=`${n}-leave-from`,leaveActiveClass:y=`${n}-leave-active`,leaveToClass:v=`${n}-leave-to`}=e,A=Ic(r),S=A&&A[0],B=A&&A[1],{onBeforeEnter:N,onEnter:D,onEnterCancelled:p,onLeave:g,onLeaveCancelled:P,onBeforeAppear:V=N,onAppear:U=D,onAppearCancelled:q=p}=t,I=(x,k,se)=>{at(x,k?a:l),at(x,k?u:o),se&&se()},b=(x,k)=>{x._isLeaving=!1,at(x,h),at(x,v),at(x,y),k&&k()},L=x=>(k,se)=>{const ae=x?U:D,$=()=>I(k,x,se);ct(ae,[k,$]),_r(()=>{at(k,x?c:i),Xe(k,x?a:l),vr(ae)||br(k,s,S,$)})};return ce(t,{onBeforeEnter(x){ct(N,[x]),Xe(x,i),Xe(x,o)},onBeforeAppear(x){ct(V,[x]),Xe(x,c),Xe(x,u)},onEnter:L(!1),onAppear:L(!0),onLeave(x,k){x._isLeaving=!0;const se=()=>b(x,k);Xe(x,h),Xe(x,y),Fc(),_r(()=>{x._isLeaving&&(at(x,h),Xe(x,v),vr(g)||br(x,s,B,se))}),ct(g,[x,se])},onEnterCancelled(x){I(x,!1),ct(p,[x])},onAppearCancelled(x){I(x,!0),ct(q,[x])},onLeaveCancelled(x){b(x),ct(P,[x])}})}function Ic(e){if(e==null)return null;if(ne(e))return[Zn(e.enter),Zn(e.leave)];{const t=Zn(e);return[t,t]}}function Zn(e){return Ro(e)}function Xe(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Yt]||(e[Yt]=new Set)).add(t)}function at(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Yt];n&&(n.delete(t),n.size||(e[Yt]=void 0))}function _r(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Lc=0;function br(e,t,n,s){const r=e._endId=++Lc,i=()=>{r===e._endId&&s()};if(n!=null)return setTimeout(i,n);const{type:o,timeout:l,propCount:c}=Nc(e,t);if(!o)return s();const u=o+"end";let a=0;const h=()=>{e.removeEventListener(u,y),i()},y=v=>{v.target===e&&++a>=c&&h()};setTimeout(()=>{a(n[A]||"").split(", "),r=s(`${Ye}Delay`),i=s(`${Ye}Duration`),o=wr(r,i),l=s(`${Ft}Delay`),c=s(`${Ft}Duration`),u=wr(l,c);let a=null,h=0,y=0;t===Ye?o>0&&(a=Ye,h=o,y=i.length):t===Ft?u>0&&(a=Ft,h=u,y=c.length):(h=Math.max(o,u),a=h>0?o>u?Ye:Ft:null,y=a?a===Ye?i.length:c.length:0);const v=a===Ye&&/\b(transform|all)(,|$)/.test(s(`${Ye}Property`).toString());return{type:a,timeout:h,propCount:y,hasTransform:v}}function wr(e,t){for(;e.lengthSr(n)+Sr(e[s])))}function Sr(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Fc(){return document.body.offsetHeight}function Hc(e,t,n){const s=e[Yt];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const xr=Symbol("_vod"),$c=Symbol("_vsh"),Dc=Symbol(""),jc=/(^|;)\s*display\s*:/;function Vc(e,t,n){const s=e.style,r=re(n);let i=!1;if(n&&!r){if(t)if(re(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();n[l]==null&&mn(s,l,"")}else for(const o in t)n[o]==null&&mn(s,o,"");for(const o in n)o==="display"&&(i=!0),mn(s,o,n[o])}else if(r){if(t!==n){const o=s[Dc];o&&(n+=";"+o),s.cssText=n,i=jc.test(n)}}else t&&e.removeAttribute("style");xr in e&&(e[xr]=i?s.display:"",e[$c]&&(s.display="none"))}const Er=/\s*!important$/;function mn(e,t,n){if(W(n))n.forEach(s=>mn(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=Uc(e,t);Er.test(n)?e.setProperty(st(s),n.replace(Er,""),"important"):e[s]=n}}const Cr=["Webkit","Moz","ms"],es={};function Uc(e,t){const n=es[t];if(n)return n;let s=Ie(t);if(s!=="filter"&&s in e)return es[t]=s;s=Rn(s);for(let r=0;rts||(qc.then(()=>ts=0),ts=Date.now());function Yc(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;He(Xc(s,n.value),t,5,[s])};return n.value=e,n.attached=Gc(),n}function Xc(e,t){if(W(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(s=>r=>!r._stopped&&s&&s(r))}else return t}const Mr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Jc=(e,t,n,s,r,i)=>{const o=r==="svg";t==="class"?Hc(e,s,o):t==="style"?Vc(e,n,s):Xt(t)?Ts(t)||Wc(e,t,n,s,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):zc(e,t,s,o))?(Rr(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Ar(e,t,s,o,i,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!re(s))?Rr(e,Ie(t),s,i,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Ar(e,t,s,o))};function zc(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Mr(t)&&G(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Mr(t)&&re(n)?!1:t in e}const Qc=["ctrl","shift","alt","meta"],Zc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Qc.some(n=>e[`${n}Key`]&&!t.includes(n))},pf=(e,t)=>{const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(r,...i)=>{for(let o=0;o{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=r=>{if(!("key"in r))return;const i=st(r.key);if(t.some(o=>o===i||ea[o]===i))return e(r)})},ta=ce({patchProp:Jc},Rc);let ns,Ir=!1;function na(){return ns=Ir?ns:tc(ta),Ir=!0,ns}const mf=(...e)=>{const t=na().createApp(...e),{mount:n}=t;return t.mount=s=>{const r=ra(s);if(r)return n(r,!0,sa(r))},t};function sa(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ra(e){return re(e)?document.querySelector(e):e}const yf=(e,t)=>{const n=e.__vccOpts||e;for(const[s,r]of t)n[s]=r;return n},ia=window.__VP_SITE_DATA__;function Ws(e){return Xr()?($o(e),!0):!1}function tt(e){return typeof e=="function"?e():di(e)}const ro=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const oa=Object.prototype.toString,la=e=>oa.call(e)==="[object Object]",io=()=>{},Lr=ca();function ca(){var e,t;return ro&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((t=window==null?void 0:window.navigator)==null?void 0:t.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function aa(e,t){function n(...s){return new Promise((r,i)=>{Promise.resolve(e(()=>t.apply(this,s),{fn:t,thisArg:this,args:s})).then(r).catch(i)})}return n}const oo=e=>e();function fa(e=oo){const t=le(!0);function n(){t.value=!1}function s(){t.value=!0}const r=(...i)=>{t.value&&e(...i)};return{isActive:Ln(t),pause:n,resume:s,eventFilter:r}}function ua(e){return jn()}function lo(...e){if(e.length!==1)return fl(...e);const t=e[0];return typeof t=="function"?Ln(ll(()=>({get:t,set:io}))):le(t)}function da(e,t,n={}){const{eventFilter:s=oo,...r}=n;return Fe(e,aa(s,t),r)}function ha(e,t,n={}){const{eventFilter:s,...r}=n,{eventFilter:i,pause:o,resume:l,isActive:c}=fa(s);return{stop:da(e,t,{...r,eventFilter:i}),pause:o,resume:l,isActive:c}}function Ks(e,t=!0,n){ua()?Mt(e,n):t?e():Nn(e)}const Ke=ro?window:void 0;function co(e){var t;const n=tt(e);return(t=n==null?void 0:n.$el)!=null?t:n}function Pt(...e){let t,n,s,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,s,r]=e,t=Ke):[t,n,s,r]=e,!t)return io;Array.isArray(n)||(n=[n]),Array.isArray(s)||(s=[s]);const i=[],o=()=>{i.forEach(a=>a()),i.length=0},l=(a,h,y,v)=>(a.addEventListener(h,y,v),()=>a.removeEventListener(h,y,v)),c=Fe(()=>[co(t),tt(r)],([a,h])=>{if(o(),!a)return;const y=la(h)?{...h}:h;i.push(...n.flatMap(v=>s.map(A=>l(a,v,A,y))))},{immediate:!0,flush:"post"}),u=()=>{c(),o()};return Ws(u),u}function pa(e){return typeof e=="function"?e:typeof e=="string"?t=>t.key===e:Array.isArray(e)?t=>e.includes(t.key):()=>!0}function vf(...e){let t,n,s={};e.length===3?(t=e[0],n=e[1],s=e[2]):e.length===2?typeof e[1]=="object"?(t=!0,n=e[0],s=e[1]):(t=e[0],n=e[1]):(t=!0,n=e[0]);const{target:r=Ke,eventName:i="keydown",passive:o=!1,dedupe:l=!1}=s,c=pa(t);return Pt(r,i,a=>{a.repeat&&tt(l)||c(a)&&n(a)},o)}function ga(){const e=le(!1),t=jn();return t&&Mt(()=>{e.value=!0},t),e}function ma(e){const t=ga();return ie(()=>(t.value,!!e()))}function ao(e,t={}){const{window:n=Ke}=t,s=ma(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const i=le(!1),o=u=>{i.value=u.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},c=Wi(()=>{s.value&&(l(),r=n.matchMedia(tt(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),i.value=r.matches)});return Ws(()=>{c(),l(),r=void 0}),i}const an=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},fn="__vueuse_ssr_handlers__",ya=va();function va(){return fn in an||(an[fn]=an[fn]||{}),an[fn]}function fo(e,t){return ya[e]||t}function qs(e){return ao("(prefers-color-scheme: dark)",e)}function _a(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const ba={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Nr="vueuse-storage";function wa(e,t,n,s={}){var r;const{flush:i="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:c=!0,mergeDefaults:u=!1,shallow:a,window:h=Ke,eventFilter:y,onError:v=b=>{console.error(b)},initOnMounted:A}=s,S=(a?fi:le)(typeof t=="function"?t():t);if(!n)try{n=fo("getDefaultStorage",()=>{var b;return(b=Ke)==null?void 0:b.localStorage})()}catch(b){v(b)}if(!n)return S;const B=tt(t),N=_a(B),D=(r=s.serializer)!=null?r:ba[N],{pause:p,resume:g}=ha(S,()=>V(S.value),{flush:i,deep:o,eventFilter:y});h&&l&&Ks(()=>{n instanceof Storage?Pt(h,"storage",q):Pt(h,Nr,I),A&&q()}),A||q();function P(b,L){if(h){const x={key:e,oldValue:b,newValue:L,storageArea:n};h.dispatchEvent(n instanceof Storage?new StorageEvent("storage",x):new CustomEvent(Nr,{detail:x}))}}function V(b){try{const L=n.getItem(e);if(b==null)P(L,null),n.removeItem(e);else{const x=D.write(b);L!==x&&(n.setItem(e,x),P(L,x))}}catch(L){v(L)}}function U(b){const L=b?b.newValue:n.getItem(e);if(L==null)return c&&B!=null&&n.setItem(e,D.write(B)),B;if(!b&&u){const x=D.read(L);return typeof u=="function"?u(x,B):N==="object"&&!Array.isArray(x)?{...B,...x}:x}else return typeof L!="string"?L:D.read(L)}function q(b){if(!(b&&b.storageArea!==n)){if(b&&b.key==null){S.value=B;return}if(!(b&&b.key!==e)){p();try{(b==null?void 0:b.newValue)!==D.write(S.value)&&(S.value=U(b))}catch(L){v(L)}finally{b?Nn(g):g()}}}}function I(b){q(b.detail)}return S}const Sa="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function xa(e={}){const{selector:t="html",attribute:n="class",initialValue:s="auto",window:r=Ke,storage:i,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:c,emitAuto:u,disableTransition:a=!0}=e,h={auto:"",light:"light",dark:"dark",...e.modes||{}},y=qs({window:r}),v=ie(()=>y.value?"dark":"light"),A=c||(o==null?lo(s):wa(o,s,i,{window:r,listenToStorageChanges:l})),S=ie(()=>A.value==="auto"?v.value:A.value),B=fo("updateHTMLAttrs",(g,P,V)=>{const U=typeof g=="string"?r==null?void 0:r.document.querySelector(g):co(g);if(!U)return;const q=new Set,I=new Set;let b=null;if(P==="class"){const x=V.split(/\s/g);Object.values(h).flatMap(k=>(k||"").split(/\s/g)).filter(Boolean).forEach(k=>{x.includes(k)?q.add(k):I.add(k)})}else b={key:P,value:V};if(q.size===0&&I.size===0&&b===null)return;let L;a&&(L=r.document.createElement("style"),L.appendChild(document.createTextNode(Sa)),r.document.head.appendChild(L));for(const x of q)U.classList.add(x);for(const x of I)U.classList.remove(x);b&&U.setAttribute(b.key,b.value),a&&(r.getComputedStyle(L).opacity,document.head.removeChild(L))});function N(g){var P;B(t,n,(P=h[g])!=null?P:g)}function D(g){e.onChanged?e.onChanged(g,N):N(g)}Fe(S,D,{flush:"post",immediate:!0}),Ks(()=>D(S.value));const p=ie({get(){return u?A.value:S.value},set(g){A.value=g}});try{return Object.assign(p,{store:A,system:v,state:S})}catch{return p}}function Ea(e={}){const{valueDark:t="dark",valueLight:n="",window:s=Ke}=e,r=xa({...e,onChanged:(l,c)=>{var u;e.onChanged?(u=e.onChanged)==null||u.call(e,l==="dark",c,l):c(l)},modes:{dark:t,light:n}}),i=ie(()=>r.system?r.system.value:qs({window:s}).value?"dark":"light");return ie({get(){return r.value==="dark"},set(l){const c=l?"dark":"light";i.value===c?r.value="auto":r.value=c}})}function ss(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function uo(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const rs=new WeakMap;function _f(e,t=!1){const n=le(t);let s=null,r="";Fe(lo(e),l=>{const c=ss(tt(l));if(c){const u=c;if(rs.get(u)||rs.set(u,u.style.overflow),u.style.overflow!=="hidden"&&(r=u.style.overflow),u.style.overflow==="hidden")return n.value=!0;if(n.value)return u.style.overflow="hidden"}},{immediate:!0});const i=()=>{const l=ss(tt(e));!l||n.value||(Lr&&(s=Pt(l,"touchmove",c=>{Ca(c)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{const l=ss(tt(e));!l||!n.value||(Lr&&(s==null||s()),l.style.overflow=r,rs.delete(l),n.value=!1)};return Ws(o),ie({get(){return n.value},set(l){l?i():o()}})}function bf(e={}){const{window:t=Ke,behavior:n="auto"}=e;if(!t)return{x:le(0),y:le(0)};const s=le(t.scrollX),r=le(t.scrollY),i=ie({get(){return s.value},set(l){scrollTo({left:l,behavior:n})}}),o=ie({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return Pt(t,"scroll",()=>{s.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:i,y:o}}function wf(e={}){const{window:t=Ke,initialWidth:n=Number.POSITIVE_INFINITY,initialHeight:s=Number.POSITIVE_INFINITY,listenOrientation:r=!0,includeScrollbar:i=!0,type:o="inner"}=e,l=le(n),c=le(s),u=()=>{t&&(o==="outer"?(l.value=t.outerWidth,c.value=t.outerHeight):i?(l.value=t.innerWidth,c.value=t.innerHeight):(l.value=t.document.documentElement.clientWidth,c.value=t.document.documentElement.clientHeight))};if(u(),Ks(u),Pt("resize",u,{passive:!0}),r){const a=ao("(orientation: portrait)");Fe(a,()=>u())}return{width:l,height:c}}const is={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};var os={};const ho=/^(?:[a-z]+:|\/\/)/i,Ta="vitepress-theme-appearance",Aa=/#.*$/,Ra=/[?#].*$/,Oa=/(?:(^|\/)index)?\.(?:md|html)$/,pe=typeof document<"u",po={relativePath:"404.md",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function Pa(e,t,n=!1){if(t===void 0)return!1;if(e=Fr(`/${e}`),n)return new RegExp(t).test(e);if(Fr(t)!==e)return!1;const s=t.match(Aa);return s?(pe?location.hash:"")===s[0]:!0}function Fr(e){return decodeURI(e).replace(Ra,"").replace(Oa,"$1")}function Ma(e){return ho.test(e)}function Ia(e,t){return Object.keys((e==null?void 0:e.locales)||{}).find(n=>n!=="root"&&!Ma(n)&&Pa(t,`/${n}/`,!0))||"root"}function La(e,t){var s,r,i,o,l,c,u;const n=Ia(e,t);return Object.assign({},e,{localeIndex:n,lang:((s=e.locales[n])==null?void 0:s.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((i=e.locales[n])==null?void 0:i.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:mo(e.head,((c=e.locales[n])==null?void 0:c.head)??[]),themeConfig:{...e.themeConfig,...(u=e.locales[n])==null?void 0:u.themeConfig}})}function go(e,t){const n=t.title||e.title,s=t.titleTemplate??e.titleTemplate;if(typeof s=="string"&&s.includes(":title"))return s.replace(/:title/g,n);const r=Na(e.title,s);return n===r.slice(3)?n:`${n}${r}`}function Na(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function Fa(e,t){const[n,s]=t;if(n!=="meta")return!1;const r=Object.entries(s)[0];return r==null?!1:e.some(([i,o])=>i===n&&o[r[0]]===r[1])}function mo(e,t){return[...e.filter(n=>!Fa(t,n)),...t]}const Ha=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,$a=/^[a-z]:/i;function Hr(e){const t=$a.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(Ha,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const ls=new Set;function Da(e){if(ls.size===0){const n=typeof process=="object"&&(os==null?void 0:os.VITE_EXTRA_EXTENSIONS)||(is==null?void 0:is.VITE_EXTRA_EXTENSIONS)||"";("3g2,3gp,aac,ai,apng,au,avif,bin,bmp,cer,class,conf,crl,css,csv,dll,doc,eps,epub,exe,gif,gz,ics,ief,jar,jpe,jpeg,jpg,js,json,jsonld,m4a,man,mid,midi,mjs,mov,mp2,mp3,mp4,mpe,mpeg,mpg,mpp,oga,ogg,ogv,ogx,opus,otf,p10,p7c,p7m,p7s,pdf,png,ps,qt,roff,rtf,rtx,ser,svg,t,tif,tiff,tr,ts,tsv,ttf,txt,vtt,wav,weba,webm,webp,woff,woff2,xhtml,xml,yaml,yml,zip"+(n&&typeof n=="string"?","+n:"")).split(",").forEach(s=>ls.add(s))}const t=e.split(".").pop();return t==null||!ls.has(t.toLowerCase())}const ja=Symbol(),mt=fi(ia);function Sf(e){const t=ie(()=>La(mt.value,e.data.relativePath)),n=t.value.appearance,s=n==="force-dark"?le(!0):n==="force-auto"?qs():n?Ea({storageKey:Ta,initialValue:()=>n==="dark"?"dark":"auto",...typeof n=="object"?n:{}}):le(!1),r=le(pe?location.hash:"");return pe&&window.addEventListener("hashchange",()=>{r.value=location.hash}),Fe(()=>e.data,()=>{r.value=pe?location.hash:""}),{site:t,theme:ie(()=>t.value.themeConfig),page:ie(()=>e.data),frontmatter:ie(()=>e.data.frontmatter),params:ie(()=>e.data.params),lang:ie(()=>t.value.lang),dir:ie(()=>e.data.frontmatter.dir||t.value.dir),localeIndex:ie(()=>t.value.localeIndex||"root"),title:ie(()=>go(t.value,e.data)),description:ie(()=>e.data.description||t.value.description),isDark:s,hash:ie(()=>r.value)}}function Va(){const e=Rt(ja);if(!e)throw new Error("vitepress data not properly injected in app");return e}function Ua(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function $r(e){return ho.test(e)||!e.startsWith("/")?e:Ua(mt.value.base,e)}function ka(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),pe){const n="/";t=Hr(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let s=__VP_HASH_MAP__[t.toLowerCase()];if(s||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",s=__VP_HASH_MAP__[t.toLowerCase()]),!s)return null;t=`${n}assets/${t}.${s}.js`}else t=`./${Hr(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let yn=[];function xf(e){yn.push(e),Hn(()=>{yn=yn.filter(t=>t!==e)})}function Ba(){let e=mt.value.scrollOffset,t=0,n=24;if(typeof e=="object"&&"padding"in e&&(n=e.padding,e=e.selector),typeof e=="number")t=e;else if(typeof e=="string")t=Dr(e,n);else if(Array.isArray(e))for(const s of e){const r=Dr(s,n);if(r){t=r;break}}return t}function Dr(e,t){const n=document.querySelector(e);if(!n)return 0;const s=n.getBoundingClientRect().bottom;return s<0?0:s+t}const Wa=Symbol(),yo="http://a.com",Ka=()=>({path:"/",component:null,data:po});function Ef(e,t){const n=In(Ka()),s={route:n,go:r};async function r(l=pe?location.href:"/"){var c,u;l=cs(l),await((c=s.onBeforeRouteChange)==null?void 0:c.call(s,l))!==!1&&(pe&&l!==cs(location.href)&&(history.replaceState({scrollPosition:window.scrollY},""),history.pushState({},"",l)),await o(l),await((u=s.onAfterRouteChanged)==null?void 0:u.call(s,l)))}let i=null;async function o(l,c=0,u=!1){var y,v;if(await((y=s.onBeforePageLoad)==null?void 0:y.call(s,l))===!1)return;const a=new URL(l,yo),h=i=a.pathname;try{let A=await e(h);if(!A)throw new Error(`Page not found: ${h}`);if(i===h){i=null;const{default:S,__pageData:B}=A;if(!S)throw new Error(`Invalid route component: ${S}`);await((v=s.onAfterPageLoad)==null?void 0:v.call(s,l)),n.path=pe?h:$r(h),n.component=pn(S),n.data=pn(B),pe&&Nn(()=>{let N=mt.value.base+B.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!mt.value.cleanUrls&&!N.endsWith("/")&&(N+=".html"),N!==a.pathname&&(a.pathname=N,l=N+a.search+a.hash,history.replaceState({},"",l)),a.hash&&!c){let D=null;try{D=document.getElementById(decodeURIComponent(a.hash).slice(1))}catch(p){console.warn(p)}if(D){jr(D,a.hash);return}}window.scrollTo(0,c)})}}catch(A){if(!/fetch|Page not found/.test(A.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(A),!u)try{const S=await fetch(mt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await S.json(),await o(l,c,!0);return}catch{}if(i===h){i=null,n.path=pe?h:$r(h),n.component=t?pn(t):null;const S=pe?h.replace(/(^|\/)$/,"$1index").replace(/(\.html)?$/,".md").replace(/^\//,""):"404.md";n.data={...po,relativePath:S}}}}return pe&&(history.state===null&&history.replaceState({},""),window.addEventListener("click",l=>{if(l.defaultPrevented||!(l.target instanceof Element)||l.target.closest("button")||l.button!==0||l.ctrlKey||l.shiftKey||l.altKey||l.metaKey)return;const c=l.target.closest("a");if(!c||c.closest(".vp-raw")||c.hasAttribute("download")||c.hasAttribute("target"))return;const u=c.getAttribute("href")??(c instanceof SVGAElement?c.getAttribute("xlink:href"):null);if(u==null)return;const{href:a,origin:h,pathname:y,hash:v,search:A}=new URL(u,c.baseURI),S=new URL(location.href);h===S.origin&&Da(y)&&(l.preventDefault(),y===S.pathname&&A===S.search?(v!==S.hash&&(history.pushState({},"",a),window.dispatchEvent(new HashChangeEvent("hashchange",{oldURL:S.href,newURL:a}))),v?jr(c,v,c.classList.contains("header-anchor")):window.scrollTo(0,0)):r(a))},{capture:!0}),window.addEventListener("popstate",async l=>{var c;l.state!==null&&(await o(cs(location.href),l.state&&l.state.scrollPosition||0),(c=s.onAfterRouteChanged)==null||c.call(s,location.href))}),window.addEventListener("hashchange",l=>{l.preventDefault()})),s}function qa(){const e=Rt(Wa);if(!e)throw new Error("useRouter() is called without provider.");return e}function vo(){return qa().route}function jr(e,t,n=!1){let s=null;try{s=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(s){let r=function(){!n||Math.abs(o-window.scrollY)>window.innerHeight?window.scrollTo(0,o):window.scrollTo({left:0,top:o,behavior:"smooth"})};const i=parseInt(window.getComputedStyle(s).paddingTop,10),o=window.scrollY+s.getBoundingClientRect().top-Ba()+i;requestAnimationFrame(r)}}function cs(e){const t=new URL(e,yo);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),mt.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const un=()=>yn.forEach(e=>e()),Cf=Ds({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=vo(),{frontmatter:n,site:s}=Va();return Fe(n,un,{deep:!0,flush:"post"}),()=>xs(e.as,s.value.contentProps??{style:{position:"relative"}},[t.component?xs(t.component,{onVnodeMounted:un,onVnodeUpdated:un,onVnodeUnmounted:un}):"404 Page Not Found"])}}),Ga="modulepreload",Ya=function(e){return"/"+e},Vr={},Tf=function(t,n,s){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),l=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));r=Promise.allSettled(n.map(c=>{if(c=Ya(c),c in Vr)return;Vr[c]=!0;const u=c.endsWith(".css"),a=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${a}`))return;const h=document.createElement("link");if(h.rel=u?"stylesheet":Ga,u||(h.as="script"),h.crossOrigin="",h.href=c,l&&h.setAttribute("nonce",l),document.head.appendChild(h),u)return new Promise((y,v)=>{h.addEventListener("load",y),h.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${c}`)))})}))}function i(o){const l=new Event("vite:preloadError",{cancelable:!0});if(l.payload=o,window.dispatchEvent(l),!l.defaultPrevented)throw o}return r.then(o=>{for(const l of o||[])l.status==="rejected"&&i(l.reason);return t().catch(i)})},Af=Ds({setup(e,{slots:t}){const n=le(!1);return Mt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Rf(){pe&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const s=(n=t.parentElement)==null?void 0:n.parentElement;if(!s)return;const r=Array.from(s.querySelectorAll("input")).indexOf(t);if(r<0)return;const i=s.querySelector(".blocks");if(!i)return;const o=Array.from(i.children).find(u=>u.classList.contains("active"));if(!o)return;const l=i.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const c=s==null?void 0:s.querySelector(`label[for="${t.id}"]`);c==null||c.scrollIntoView({block:"nearest"})}})}function Of(){if(pe){const e=new WeakMap;window.addEventListener("click",t=>{var s;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,i=(s=n.nextElementSibling)==null?void 0:s.nextElementSibling;if(!r||!i)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className),l=[".vp-copy-ignore",".diff.remove"],c=i.cloneNode(!0);c.querySelectorAll(l.join(",")).forEach(a=>a.remove());let u=c.textContent||"";o&&(u=u.replace(/^ *(\$|>) /gm,"").trim()),Xa(u).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const a=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,a)})}})}}async function Xa(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const s=document.getSelection(),r=s?s.rangeCount>0&&s.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(s.removeAllRanges(),s.addRange(r)),n&&n.focus()}}function Pf(e,t){let n=!0,s=[];const r=i=>{if(n){n=!1,i.forEach(l=>{const c=as(l);for(const u of document.head.children)if(u.isEqualNode(c)){s.push(u);return}});return}const o=i.map(as);s.forEach((l,c)=>{const u=o.findIndex(a=>a==null?void 0:a.isEqualNode(l??null));u!==-1?delete o[u]:(l==null||l.remove(),delete s[c])}),o.forEach(l=>l&&document.head.appendChild(l)),s=[...s,...o].filter(Boolean)};Wi(()=>{const i=e.data,o=t.value,l=i&&i.description,c=i&&i.frontmatter.head||[],u=go(o,i);u!==document.title&&(document.title=u);const a=l||o.description;let h=document.querySelector("meta[name=description]");h?h.getAttribute("content")!==a&&h.setAttribute("content",a):as(["meta",{name:"description",content:a}]),r(mo(o.head,za(c)))})}function as([e,t,n]){const s=document.createElement(e);for(const r in t)s.setAttribute(r,t[r]);return n&&(s.innerHTML=n),e==="script"&&t.async==null&&(s.async=!1),s}function Ja(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function za(e){return e.filter(t=>!Ja(t))}const fs=new Set,_o=()=>document.createElement("link"),Qa=e=>{const t=_o();t.rel="prefetch",t.href=e,document.head.appendChild(t)},Za=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let dn;const ef=pe&&(dn=_o())&&dn.relList&&dn.relList.supports&&dn.relList.supports("prefetch")?Qa:Za;function Mf(){if(!pe||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const s=()=>{n&&n.disconnect(),n=new IntersectionObserver(i=>{i.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:c}=l;if(!fs.has(c)){fs.add(c);const u=ka(c);u&&ef(u)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(i=>{const{hostname:o,pathname:l}=new URL(i.href instanceof SVGAnimatedString?i.href.animVal:i.href,i.baseURI),c=l.match(/\.\w+$/);c&&c[0]!==".html"||i.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(i):fs.add(l))})})};Mt(s);const r=vo();Fe(()=>r.path,s),Hn(()=>{n&&n.disconnect()})}export{Ci as $,Ba as A,nf as B,rf as C,fi as D,xf as E,Se as F,oe as G,sf as H,ho as I,vo as J,mc as K,Rt as L,wf as M,Os as N,vf as O,Nn as P,bf as Q,pe as R,Ln as S,hf as T,tf as U,Tf as V,_f as W,Yl as X,gf as Y,lf as Z,yf as _,Qi as a,pf as a0,cf as a1,uf as a2,Pf as a3,Wa as a4,Sf as a5,ja as a6,Cf as a7,Af as a8,mt as a9,mf as aa,Ef as ab,ka as ac,Mf as ad,Of as ae,Rf as af,xs as ag,qa as ah,ws as b,ff as c,Ds as d,df as e,Da as f,$r as g,ie as h,Ma as i,zi as j,di as k,Pa as l,ao as m,Ps as n,bs as o,le as p,Fe as q,of as r,Wi as s,Fo as t,Va as u,Mt as v,_l as w,Hn as x,af as y,Nl as z}; diff --git a/docs/assets/chunks/framework.q7IuVqhY.js b/docs/assets/chunks/framework.q7IuVqhY.js deleted file mode 100644 index fb926769..00000000 --- a/docs/assets/chunks/framework.q7IuVqhY.js +++ /dev/null @@ -1,2 +0,0 @@ -function ci(e,t){const n=Object.create(null),i=e.split(",");for(let r=0;r!!n[r.toLowerCase()]:r=>!!n[r]}const te={},mt=[],Fe=()=>{},Zr=()=>!1,Gr=/^on[^a-z]/,Ut=e=>Gr.test(e),fi=e=>e.startsWith("onUpdate:"),ae=Object.assign,ui=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},eo=Object.prototype.hasOwnProperty,X=(e,t)=>eo.call(e,t),D=Array.isArray,ht=e=>_n(e)==="[object Map]",Is=e=>_n(e)==="[object Set]",q=e=>typeof e=="function",ie=e=>typeof e=="string",bn=e=>typeof e=="symbol",ee=e=>e!==null&&typeof e=="object",Fs=e=>(ee(e)||q(e))&&q(e.then)&&q(e.catch),Ms=Object.prototype.toString,_n=e=>Ms.call(e),to=e=>_n(e).slice(8,-1),Ls=e=>_n(e)==="[object Object]",pi=e=>ie(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,It=ci(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),wn=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},no=/-(\w)/g,Me=wn(e=>e.replace(no,(t,n)=>n?n.toUpperCase():"")),io=/\B([A-Z])/g,ct=wn(e=>e.replace(io,"-$1").toLowerCase()),Cn=wn(e=>e.charAt(0).toUpperCase()+e.slice(1)),ln=wn(e=>e?`on${Cn(e)}`:""),at=(e,t)=>!Object.is(e,t),Hn=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},so=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ro=e=>{const t=ie(e)?Number(e):NaN;return isNaN(t)?e:t};let Hi;const Jn=()=>Hi||(Hi=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function di(e){if(D(e)){const t={};for(let n=0;n{if(n){const i=n.split(lo);i.length>1&&(t[i[0].trim()]=i[1].trim())}}),t}function mi(e){let t="";if(ie(e))t=e;else if(D(e))for(let n=0;nie(e)?e:e==null?"":D(e)||ee(e)&&(e.toString===Ms||!q(e.toString))?JSON.stringify(e,Ns,2):String(e),Ns=(e,t)=>t&&t.__v_isRef?Ns(e,t.value):ht(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[i,r])=>(n[`${i} =>`]=r,n),{})}:Is(t)?{[`Set(${t.size})`]:[...t.values()]}:ee(t)&&!D(t)&&!Ls(t)?String(t):t;let ye;class po{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=ye,!t&&ye&&(this.index=(ye.scopes||(ye.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const n=ye;try{return ye=this,t()}finally{ye=n}}}on(){ye=this}off(){ye=this.parent}stop(t){if(this._active){let n,i;for(n=0,i=this.effects.length;n{const t=new Set(e);return t.w=0,t.n=0,t},$s=e=>(e.w&Xe)>0,Ds=e=>(e.n&Xe)>0,go=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let n=0;for(let i=0;i{(p==="length"||!bn(p)&&p>=a)&&l.push(f)})}else switch(n!==void 0&&l.push(o.get(n)),t){case"add":D(e)?pi(n)&&l.push(o.get("length")):(l.push(o.get(rt)),ht(e)&&l.push(o.get(Qn)));break;case"delete":D(e)||(l.push(o.get(rt)),ht(e)&&l.push(o.get(Qn)));break;case"set":ht(e)&&l.push(o.get(rt));break}if(l.length===1)l[0]&&Zn(l[0]);else{const a=[];for(const f of l)f&&a.push(...f);Zn(hi(a))}}function Zn(e,t){const n=D(e)?e:[...e];for(const i of n)i.computed&&Di(i);for(const i of n)i.computed||Di(i)}function Di(e,t){(e!==je||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}function vo(e,t){var n;return(n=un.get(e))==null?void 0:n.get(t)}const yo=ci("__proto__,__v_isRef,__isVue"),Ks=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(bn)),Bi=bo();function bo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...n){const i=Q(this);for(let s=0,o=this.length;s{e[t]=function(...n){Tt();const i=Q(this)[t].apply(this,n);return At(),i}}),e}function _o(e){const t=Q(this);return xe(t,"has",e),t.hasOwnProperty(e)}class Ws{constructor(t=!1,n=!1){this._isReadonly=t,this._shallow=n}get(t,n,i){const r=this._isReadonly,s=this._shallow;if(n==="__v_isReactive")return!r;if(n==="__v_isReadonly")return r;if(n==="__v_isShallow")return s;if(n==="__v_raw"&&i===(r?s?Mo:Ys:s?zs:Vs).get(t))return t;const o=D(t);if(!r){if(o&&X(Bi,n))return Reflect.get(Bi,n,i);if(n==="hasOwnProperty")return _o}const l=Reflect.get(t,n,i);return(bn(n)?Ks.has(n):yo(n))||(r||xe(t,"get",n),s)?l:ce(l)?o&&pi(n)?l:l.value:ee(l)?r?An(l):Tn(l):l}}class qs extends Ws{constructor(t=!1){super(!1,t)}set(t,n,i,r){let s=t[n];if(bt(s)&&ce(s)&&!ce(i))return!1;if(!this._shallow&&(!pn(i)&&!bt(i)&&(s=Q(s),i=Q(i)),!D(t)&&ce(s)&&!ce(i)))return s.value=i,!0;const o=D(t)&&pi(n)?Number(n)e,En=e=>Reflect.getPrototypeOf(e);function zt(e,t,n=!1,i=!1){e=e.__v_raw;const r=Q(e),s=Q(t);n||(at(t,s)&&xe(r,"get",t),xe(r,"get",s));const{has:o}=En(r),l=i?xi:n?bi:Nt;if(o.call(r,t))return l(e.get(t));if(o.call(r,s))return l(e.get(s));e!==r&&e.get(t)}function Yt(e,t=!1){const n=this.__v_raw,i=Q(n),r=Q(e);return t||(at(e,r)&&xe(i,"has",e),xe(i,"has",r)),e===r?n.has(e):n.has(e)||n.has(r)}function Jt(e,t=!1){return e=e.__v_raw,!t&&xe(Q(e),"iterate",rt),Reflect.get(e,"size",e)}function Ui(e){e=Q(e);const t=Q(this);return En(t).has.call(t,e)||(t.add(e),He(t,"add",e,e)),this}function Ki(e,t){t=Q(t);const n=Q(this),{has:i,get:r}=En(n);let s=i.call(n,e);s||(e=Q(e),s=i.call(n,e));const o=r.call(n,e);return n.set(e,t),s?at(t,o)&&He(n,"set",e,t):He(n,"add",e,t),this}function Wi(e){const t=Q(this),{has:n,get:i}=En(t);let r=n.call(t,e);r||(e=Q(e),r=n.call(t,e)),i&&i.call(t,e);const s=t.delete(e);return r&&He(t,"delete",e,void 0),s}function qi(){const e=Q(this),t=e.size!==0,n=e.clear();return t&&He(e,"clear",void 0,void 0),n}function Xt(e,t){return function(i,r){const s=this,o=s.__v_raw,l=Q(o),a=t?xi:e?bi:Nt;return!e&&xe(l,"iterate",rt),o.forEach((f,p)=>i.call(r,a(f),a(p),s))}}function Qt(e,t,n){return function(...i){const r=this.__v_raw,s=Q(r),o=ht(s),l=e==="entries"||e===Symbol.iterator&&o,a=e==="keys"&&o,f=r[e](...i),p=n?xi:t?bi:Nt;return!t&&xe(s,"iterate",a?Qn:rt),{next(){const{value:d,done:x}=f.next();return x?{value:d,done:x}:{value:l?[p(d[0]),p(d[1])]:p(d),done:x}},[Symbol.iterator](){return this}}}}function De(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Ao(){const e={get(s){return zt(this,s)},get size(){return Jt(this)},has:Yt,add:Ui,set:Ki,delete:Wi,clear:qi,forEach:Xt(!1,!1)},t={get(s){return zt(this,s,!1,!0)},get size(){return Jt(this)},has:Yt,add:Ui,set:Ki,delete:Wi,clear:qi,forEach:Xt(!1,!0)},n={get(s){return zt(this,s,!0)},get size(){return Jt(this,!0)},has(s){return Yt.call(this,s,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Xt(!0,!1)},i={get(s){return zt(this,s,!0,!0)},get size(){return Jt(this,!0)},has(s){return Yt.call(this,s,!0)},add:De("add"),set:De("set"),delete:De("delete"),clear:De("clear"),forEach:Xt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(s=>{e[s]=Qt(s,!1,!1),n[s]=Qt(s,!0,!1),t[s]=Qt(s,!1,!0),i[s]=Qt(s,!0,!0)}),[e,n,t,i]}const[jo,So,Ro,Oo]=Ao();function vi(e,t){const n=t?e?Oo:Ro:e?So:jo;return(i,r,s)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?i:Reflect.get(X(n,r)&&r in i?n:i,r,s)}const Po={get:vi(!1,!1)},Io={get:vi(!1,!0)},Fo={get:vi(!0,!1)},Vs=new WeakMap,zs=new WeakMap,Ys=new WeakMap,Mo=new WeakMap;function Lo(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function ko(e){return e.__v_skip||!Object.isExtensible(e)?0:Lo(to(e))}function Tn(e){return bt(e)?e:yi(e,!1,Co,Po,Vs)}function No(e){return yi(e,!1,To,Io,zs)}function An(e){return yi(e,!0,Eo,Fo,Ys)}function yi(e,t,n,i,r){if(!ee(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const s=r.get(e);if(s)return s;const o=ko(e);if(o===0)return e;const l=new Proxy(e,o===2?i:n);return r.set(e,l),l}function gt(e){return bt(e)?gt(e.__v_raw):!!(e&&e.__v_isReactive)}function bt(e){return!!(e&&e.__v_isReadonly)}function pn(e){return!!(e&&e.__v_isShallow)}function Js(e){return gt(e)||bt(e)}function Q(e){const t=e&&e.__v_raw;return t?Q(t):e}function Ft(e){return fn(e,"__v_skip",!0),e}const Nt=e=>ee(e)?Tn(e):e,bi=e=>ee(e)?An(e):e;function _i(e){Ve&&je&&(e=Q(e),Us(e.dep||(e.dep=hi())))}function wi(e,t){e=Q(e);const n=e.dep;n&&Zn(n)}function ce(e){return!!(e&&e.__v_isRef===!0)}function ue(e){return Qs(e,!1)}function Xs(e){return Qs(e,!0)}function Qs(e,t){return ce(e)?e:new Ho(e,t)}class Ho{constructor(t,n){this.__v_isShallow=n,this.dep=void 0,this.__v_isRef=!0,this._rawValue=n?t:Q(t),this._value=n?t:Nt(t)}get value(){return _i(this),this._value}set value(t){const n=this.__v_isShallow||pn(t)||bt(t);t=n?t:Q(t),at(t,this._rawValue)&&(this._rawValue=t,this._value=n?t:Nt(t),wi(this))}}function Ci(e){return ce(e)?e.value:e}const $o={get:(e,t,n)=>Ci(Reflect.get(e,t,n)),set:(e,t,n,i)=>{const r=e[t];return ce(r)&&!ce(n)?(r.value=n,!0):Reflect.set(e,t,n,i)}};function Zs(e){return gt(e)?e:new Proxy(e,$o)}class Do{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:n,set:i}=t(()=>_i(this),()=>wi(this));this._get=n,this._set=i}get value(){return this._get()}set value(t){this._set(t)}}function Bo(e){return new Do(e)}class Uo{constructor(t,n,i){this._object=t,this._key=n,this._defaultValue=i,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return vo(Q(this._object),this._key)}}class Ko{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function Wo(e,t,n){return ce(e)?e:q(e)?new Ko(e):ee(e)&&arguments.length>1?qo(e,t,n):ue(e)}function qo(e,t,n){const i=e[t];return ce(i)?i:new Uo(e,t,n)}class Vo{constructor(t,n,i,r){this._setter=n,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new gi(t,()=>{this._dirty||(this._dirty=!0,wi(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=i}get value(){const t=Q(this);return _i(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function zo(e,t,n=!1){let i,r;const s=q(e);return s?(i=e,r=Fe):(i=e.get,r=e.set),new Vo(i,r,s||!r,n)}function ze(e,t,n,i){let r;try{r=i?e(...i):e()}catch(s){Kt(s,t,n)}return r}function Ee(e,t,n,i){if(q(e)){const s=ze(e,t,n,i);return s&&Fs(s)&&s.catch(o=>{Kt(o,t,n)}),s}const r=[];for(let s=0;s>>1,r=pe[i],s=$t(r);sIe&&pe.splice(t,1)}function Qo(e){D(e)?xt.push(...e):(!Ne||!Ne.includes(e,e.allowRecurse?nt+1:nt))&&xt.push(e),er()}function Vi(e,t=Ht?Ie+1:0){for(;t$t(n)-$t(i)),nt=0;nte.id==null?1/0:e.id,Zo=(e,t)=>{const n=$t(e)-$t(t);if(n===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function tr(e){Gn=!1,Ht=!0,pe.sort(Zo);try{for(Ie=0;Ieie(_)?_.trim():_)),d&&(r=n.map(so))}let l,a=i[l=ln(t)]||i[l=ln(Me(t))];!a&&s&&(a=i[l=ln(ct(t))]),a&&Ee(a,e,6,r);const f=i[l+"Once"];if(f){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ee(f,e,6,r)}}function nr(e,t,n=!1){const i=t.emitsCache,r=i.get(e);if(r!==void 0)return r;const s=e.emits;let o={},l=!1;if(!q(e)){const a=f=>{const p=nr(f,t,!0);p&&(l=!0,ae(o,p))};!n&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!s&&!l?(ee(e)&&i.set(e,null),null):(D(s)?s.forEach(a=>o[a]=null):ae(o,s),ee(e)&&i.set(e,o),o)}function Rn(e,t){return!e||!Ut(t)?!1:(t=t.slice(2).replace(/Once$/,""),X(e,t[0].toLowerCase()+t.slice(1))||X(e,ct(t))||X(e,t))}let de=null,On=null;function mn(e){const t=de;return de=e,On=e&&e.type.__scopeId||null,t}function Cc(e){On=e}function Ec(){On=null}function el(e,t=de,n){if(!t||e._n)return e;const i=(...r)=>{i._d&&ss(-1);const s=mn(t);let o;try{o=e(...r)}finally{mn(s),i._d&&ss(1)}return o};return i._n=!0,i._c=!0,i._d=!0,i}function $n(e){const{type:t,vnode:n,proxy:i,withProxy:r,props:s,propsOptions:[o],slots:l,attrs:a,emit:f,render:p,renderCache:d,data:x,setupState:_,ctx:E,inheritAttrs:S}=e;let M,U;const L=mn(e);try{if(n.shapeFlag&4){const m=r||i,I=m;M=Ae(p.call(I,m,d,s,_,x,E)),U=a}else{const m=t;M=Ae(m.length>1?m(s,{attrs:a,slots:l,emit:f}):m(s,null)),U=t.props?a:tl(a)}}catch(m){kt.length=0,Kt(m,e,1),M=ne(be)}let g=M;if(U&&S!==!1){const m=Object.keys(U),{shapeFlag:I}=g;m.length&&I&7&&(o&&m.some(fi)&&(U=nl(U,o)),g=Qe(g,U))}return n.dirs&&(g=Qe(g),g.dirs=g.dirs?g.dirs.concat(n.dirs):n.dirs),n.transition&&(g.transition=n.transition),M=g,mn(L),M}const tl=e=>{let t;for(const n in e)(n==="class"||n==="style"||Ut(n))&&((t||(t={}))[n]=e[n]);return t},nl=(e,t)=>{const n={};for(const i in e)(!fi(i)||!(i.slice(9)in t))&&(n[i]=e[i]);return n};function il(e,t,n){const{props:i,children:r,component:s}=e,{props:o,children:l,patchFlag:a}=t,f=s.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&a>=0){if(a&1024)return!0;if(a&16)return i?zi(i,o,f):!!o;if(a&8){const p=t.dynamicProps;for(let d=0;de.__isSuspense;function rr(e,t){t&&t.pendingBranch?D(e)?t.effects.push(...e):t.effects.push(e):Qo(e)}function or(e,t){return Pn(e,null,t)}function jc(e,t){return Pn(e,null,{flush:"post"})}const Zt={};function Ye(e,t,n){return Pn(e,t,n)}function Pn(e,t,{immediate:n,deep:i,flush:r,onTrack:s,onTrigger:o}=te){var l;const a=Hs()===((l=le)==null?void 0:l.scope)?le:null;let f,p=!1,d=!1;if(ce(e)?(f=()=>e.value,p=pn(e)):gt(e)?(f=()=>e,i=!0):D(e)?(d=!0,p=e.some(m=>gt(m)||pn(m)),f=()=>e.map(m=>{if(ce(m))return m.value;if(gt(m))return dt(m);if(q(m))return ze(m,a,2)})):q(e)?t?f=()=>ze(e,a,2):f=()=>{if(!(a&&a.isUnmounted))return x&&x(),Ee(e,a,3,[_])}:f=Fe,t&&i){const m=f;f=()=>dt(m())}let x,_=m=>{x=L.onStop=()=>{ze(m,a,4),x=L.onStop=void 0}},E;if(Ct)if(_=Fe,t?n&&Ee(t,a,3,[f(),d?[]:void 0,_]):f(),r==="sync"){const m=Gl();E=m.__watcherHandles||(m.__watcherHandles=[])}else return Fe;let S=d?new Array(e.length).fill(Zt):Zt;const M=()=>{if(L.active)if(t){const m=L.run();(i||p||(d?m.some((I,W)=>at(I,S[W])):at(m,S)))&&(x&&x(),Ee(t,a,3,[m,S===Zt?void 0:d&&S[0]===Zt?[]:S,_]),S=m)}else L.run()};M.allowRecurse=!!t;let U;r==="sync"?U=M:r==="post"?U=()=>he(M,a&&a.suspense):(M.pre=!0,a&&(M.id=a.uid),U=()=>Sn(M));const L=new gi(f,U);t?n?M():S=L.run():r==="post"?he(L.run.bind(L),a&&a.suspense):L.run();const g=()=>{L.stop(),a&&a.scope&&ui(a.scope.effects,L)};return E&&E.push(g),g}function ol(e,t,n){const i=this.proxy,r=ie(e)?e.includes(".")?lr(i,e):()=>i[e]:e.bind(i,i);let s;q(t)?s=t:(s=t.handler,n=t);const o=le;wt(this);const l=Pn(r,s.bind(i),n);return o?wt(o):ot(),l}function lr(e,t){const n=t.split(".");return()=>{let i=e;for(let r=0;r{dt(n,t)});else if(Ls(e))for(const n in e)dt(e[n],t);return e}function Pe(e,t,n,i){const r=e.dirs,s=t&&t.dirs;for(let o=0;o{e.isMounted=!0}),pr(()=>{e.isUnmounting=!0}),e}const _e=[Function,Array],ar={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:_e,onEnter:_e,onAfterEnter:_e,onEnterCancelled:_e,onBeforeLeave:_e,onLeave:_e,onAfterLeave:_e,onLeaveCancelled:_e,onBeforeAppear:_e,onAppear:_e,onAfterAppear:_e,onAppearCancelled:_e},al={name:"BaseTransition",props:ar,setup(e,{slots:t}){const n=Ln(),i=ll();let r;return()=>{const s=t.default&&fr(t.default(),!0);if(!s||!s.length)return;let o=s[0];if(s.length>1){for(const S of s)if(S.type!==be){o=S;break}}const l=Q(e),{mode:a}=l;if(i.isLeaving)return Dn(o);const f=Ji(o);if(!f)return Dn(o);const p=ei(f,l,i,n);ti(f,p);const d=n.subTree,x=d&&Ji(d);let _=!1;const{getTransitionKey:E}=f.type;if(E){const S=E();r===void 0?r=S:S!==r&&(r=S,_=!0)}if(x&&x.type!==be&&(!it(f,x)||_)){const S=ei(x,l,i,n);if(ti(x,S),a==="out-in")return i.isLeaving=!0,S.afterLeave=()=>{i.isLeaving=!1,n.update.active!==!1&&n.update()},Dn(o);a==="in-out"&&f.type!==be&&(S.delayLeave=(M,U,L)=>{const g=cr(i,x);g[String(x.key)]=x,M[We]=()=>{U(),M[We]=void 0,delete p.delayedLeave},p.delayedLeave=L})}return o}}},cl=al;function cr(e,t){const{leavingVNodes:n}=e;let i=n.get(t.type);return i||(i=Object.create(null),n.set(t.type,i)),i}function ei(e,t,n,i){const{appear:r,mode:s,persisted:o=!1,onBeforeEnter:l,onEnter:a,onAfterEnter:f,onEnterCancelled:p,onBeforeLeave:d,onLeave:x,onAfterLeave:_,onLeaveCancelled:E,onBeforeAppear:S,onAppear:M,onAfterAppear:U,onAppearCancelled:L}=t,g=String(e.key),m=cr(n,e),I=(P,A)=>{P&&Ee(P,i,9,A)},W=(P,A)=>{const j=A[1];I(P,A),D(P)?P.every(V=>V.length<=1)&&j():P.length<=1&&j()},B={mode:s,persisted:o,beforeEnter(P){let A=l;if(!n.isMounted)if(r)A=S||l;else return;P[We]&&P[We](!0);const j=m[g];j&&it(e,j)&&j.el[We]&&j.el[We](),I(A,[P])},enter(P){let A=a,j=f,V=p;if(!n.isMounted)if(r)A=M||a,j=U||f,V=L||p;else return;let R=!1;const z=P[Gt]=oe=>{R||(R=!0,oe?I(V,[P]):I(j,[P]),B.delayedLeave&&B.delayedLeave(),P[Gt]=void 0)};A?W(A,[P,z]):z()},leave(P,A){const j=String(e.key);if(P[Gt]&&P[Gt](!0),n.isUnmounting)return A();I(d,[P]);let V=!1;const R=P[We]=z=>{V||(V=!0,A(),z?I(E,[P]):I(_,[P]),P[We]=void 0,m[j]===e&&delete m[j])};m[j]=e,x?W(x,[P,R]):R()},clone(P){return ei(P,t,n,i)}};return B}function Dn(e){if(Wt(e))return e=Qe(e),e.children=null,e}function Ji(e){return Wt(e)?e.children?e.children[0]:void 0:e}function ti(e,t){e.shapeFlag&6&&e.component?ti(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function fr(e,t=!1,n){let i=[],r=0;for(let s=0;s1)for(let s=0;s!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function Sc(e){q(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:i,delay:r=200,timeout:s,suspensible:o=!0,onError:l}=e;let a=null,f,p=0;const d=()=>(p++,a=null,x()),x=()=>{let _;return a||(_=a=t().catch(E=>{if(E=E instanceof Error?E:new Error(String(E)),l)return new Promise((S,M)=>{l(E,()=>S(d()),()=>M(E),p+1)});throw E}).then(E=>_!==a&&a?a:(E&&(E.__esModule||E[Symbol.toStringTag]==="Module")&&(E=E.default),f=E,E)))};return Ai({name:"AsyncComponentWrapper",__asyncLoader:x,get __asyncResolved(){return f},setup(){const _=le;if(f)return()=>Bn(f,_);const E=L=>{a=null,Kt(L,_,13,!i)};if(o&&_.suspense||Ct)return x().then(L=>()=>Bn(L,_)).catch(L=>(E(L),()=>i?ne(i,{error:L}):null));const S=ue(!1),M=ue(),U=ue(!!r);return r&&setTimeout(()=>{U.value=!1},r),s!=null&&setTimeout(()=>{if(!S.value&&!M.value){const L=new Error(`Async component timed out after ${s}ms.`);E(L),M.value=L}},s),x().then(()=>{S.value=!0,_.parent&&Wt(_.parent.vnode)&&Sn(_.parent.update)}).catch(L=>{E(L),M.value=L}),()=>{if(S.value&&f)return Bn(f,_);if(M.value&&i)return ne(i,{error:M.value});if(n&&!U.value)return ne(n)}}})}function Bn(e,t){const{ref:n,props:i,children:r,ce:s}=t.vnode,o=ne(e,i,r);return o.ref=n,o.ce=s,delete t.vnode.ce,o}const Wt=e=>e.type.__isKeepAlive;function fl(e,t){ur(e,"a",t)}function ul(e,t){ur(e,"da",t)}function ur(e,t,n=le){const i=e.__wdc||(e.__wdc=()=>{let r=n;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(In(t,i,n),n){let r=n.parent;for(;r&&r.parent;)Wt(r.parent.vnode)&&pl(i,t,n,r),r=r.parent}}function pl(e,t,n,i){const r=In(t,e,i,!0);Fn(()=>{ui(i[t],r)},n)}function In(e,t,n=le,i=!1){if(n){const r=n[e]||(n[e]=[]),s=t.__weh||(t.__weh=(...o)=>{if(n.isUnmounted)return;Tt(),wt(n);const l=Ee(t,n,e,o);return ot(),At(),l});return i?r.unshift(s):r.push(s),s}}const $e=e=>(t,n=le)=>(!Ct||e==="sp")&&In(e,(...i)=>t(...i),n),dl=$e("bm"),jt=$e("m"),ml=$e("bu"),hl=$e("u"),pr=$e("bum"),Fn=$e("um"),gl=$e("sp"),xl=$e("rtg"),vl=$e("rtc");function yl(e,t=le){In("ec",e,t)}function Rc(e,t,n,i){let r;const s=n&&n[i];if(D(e)||ie(e)){r=new Array(e.length);for(let o=0,l=e.length;ot(o,l,void 0,s&&s[l]));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,a=o.length;lvn(t)?!(t.type===be||t.type===ge&&!dr(t.children)):!0)?e:null}function Pc(e,t){const n={};for(const i in e)n[t&&/[A-Z]/.test(i)?`on:${i}`:ln(i)]=e[i];return n}const ni=e=>e?Rr(e)?Pi(e)||e.proxy:ni(e.parent):null,Mt=ae(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ni(e.parent),$root:e=>ni(e.root),$emit:e=>e.emit,$options:e=>ji(e),$forceUpdate:e=>e.f||(e.f=()=>Sn(e.update)),$nextTick:e=>e.n||(e.n=jn.bind(e.proxy)),$watch:e=>ol.bind(e)}),Un=(e,t)=>e!==te&&!e.__isScriptSetup&&X(e,t),bl={get({_:e},t){const{ctx:n,setupState:i,data:r,props:s,accessCache:o,type:l,appContext:a}=e;let f;if(t[0]!=="$"){const _=o[t];if(_!==void 0)switch(_){case 1:return i[t];case 2:return r[t];case 4:return n[t];case 3:return s[t]}else{if(Un(i,t))return o[t]=1,i[t];if(r!==te&&X(r,t))return o[t]=2,r[t];if((f=e.propsOptions[0])&&X(f,t))return o[t]=3,s[t];if(n!==te&&X(n,t))return o[t]=4,n[t];ii&&(o[t]=0)}}const p=Mt[t];let d,x;if(p)return t==="$attrs"&&xe(e,"get",t),p(e);if((d=l.__cssModules)&&(d=d[t]))return d;if(n!==te&&X(n,t))return o[t]=4,n[t];if(x=a.config.globalProperties,X(x,t))return x[t]},set({_:e},t,n){const{data:i,setupState:r,ctx:s}=e;return Un(r,t)?(r[t]=n,!0):i!==te&&X(i,t)?(i[t]=n,!0):X(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(s[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:i,appContext:r,propsOptions:s}},o){let l;return!!n[o]||e!==te&&X(e,o)||Un(t,o)||(l=s[0])&&X(l,o)||X(i,o)||X(Mt,o)||X(r.config.globalProperties,o)},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:X(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Ic(){return _l().slots}function _l(){const e=Ln();return e.setupContext||(e.setupContext=Pr(e))}function Xi(e){return D(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ii=!0;function wl(e){const t=ji(e),n=e.proxy,i=e.ctx;ii=!1,t.beforeCreate&&Qi(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:o,watch:l,provide:a,inject:f,created:p,beforeMount:d,mounted:x,beforeUpdate:_,updated:E,activated:S,deactivated:M,beforeDestroy:U,beforeUnmount:L,destroyed:g,unmounted:m,render:I,renderTracked:W,renderTriggered:B,errorCaptured:P,serverPrefetch:A,expose:j,inheritAttrs:V,components:R,directives:z,filters:oe}=t;if(f&&Cl(f,i,null),o)for(const J in o){const N=o[J];q(N)&&(i[J]=N.bind(n))}if(r){const J=r.call(n,n);ee(J)&&(e.data=Tn(J))}if(ii=!0,s)for(const J in s){const N=s[J],Le=q(N)?N.bind(n,n):q(N.get)?N.get.bind(n,n):Fe,qt=!q(N)&&q(N.set)?N.set.bind(n):Fe,Ze=re({get:Le,set:qt});Object.defineProperty(i,J,{enumerable:!0,configurable:!0,get:()=>Ze.value,set:Re=>Ze.value=Re})}if(l)for(const J in l)mr(l[J],i,n,J);if(a){const J=q(a)?a.call(n):a;Reflect.ownKeys(J).forEach(N=>{Rl(N,J[N])})}p&&Qi(p,e,"c");function k(J,N){D(N)?N.forEach(Le=>J(Le.bind(n))):N&&J(N.bind(n))}if(k(dl,d),k(jt,x),k(ml,_),k(hl,E),k(fl,S),k(ul,M),k(yl,P),k(vl,W),k(xl,B),k(pr,L),k(Fn,m),k(gl,A),D(j))if(j.length){const J=e.exposed||(e.exposed={});j.forEach(N=>{Object.defineProperty(J,N,{get:()=>n[N],set:Le=>n[N]=Le})})}else e.exposed||(e.exposed={});I&&e.render===Fe&&(e.render=I),V!=null&&(e.inheritAttrs=V),R&&(e.components=R),z&&(e.directives=z)}function Cl(e,t,n=Fe){D(e)&&(e=si(e));for(const i in e){const r=e[i];let s;ee(r)?"default"in r?s=yt(r.from||i,r.default,!0):s=yt(r.from||i):s=yt(r),ce(s)?Object.defineProperty(t,i,{enumerable:!0,configurable:!0,get:()=>s.value,set:o=>s.value=o}):t[i]=s}}function Qi(e,t,n){Ee(D(e)?e.map(i=>i.bind(t.proxy)):e.bind(t.proxy),t,n)}function mr(e,t,n,i){const r=i.includes(".")?lr(n,i):()=>n[i];if(ie(e)){const s=t[e];q(s)&&Ye(r,s)}else if(q(e))Ye(r,e.bind(n));else if(ee(e))if(D(e))e.forEach(s=>mr(s,t,n,i));else{const s=q(e.handler)?e.handler.bind(n):t[e.handler];q(s)&&Ye(r,s,e)}}function ji(e){const t=e.type,{mixins:n,extends:i}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:o}}=e.appContext,l=s.get(t);let a;return l?a=l:!r.length&&!n&&!i?a=t:(a={},r.length&&r.forEach(f=>hn(a,f,o,!0)),hn(a,t,o)),ee(t)&&s.set(t,a),a}function hn(e,t,n,i=!1){const{mixins:r,extends:s}=t;s&&hn(e,s,n,!0),r&&r.forEach(o=>hn(e,o,n,!0));for(const o in t)if(!(i&&o==="expose")){const l=El[o]||n&&n[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const El={data:Zi,props:Gi,emits:Gi,methods:Pt,computed:Pt,beforeCreate:me,created:me,beforeMount:me,mounted:me,beforeUpdate:me,updated:me,beforeDestroy:me,beforeUnmount:me,destroyed:me,unmounted:me,activated:me,deactivated:me,errorCaptured:me,serverPrefetch:me,components:Pt,directives:Pt,watch:Al,provide:Zi,inject:Tl};function Zi(e,t){return t?e?function(){return ae(q(e)?e.call(this,this):e,q(t)?t.call(this,this):t)}:t:e}function Tl(e,t){return Pt(si(e),si(t))}function si(e){if(D(e)){const t={};for(let n=0;n1)return n&&q(t)?t.call(i&&i.proxy):t}}function Ol(e,t,n,i=!1){const r={},s={};fn(s,Mn,1),e.propsDefaults=Object.create(null),gr(e,t,r,s);for(const o in e.propsOptions[0])o in r||(r[o]=void 0);n?e.props=i?r:No(r):e.type.props?e.props=r:e.props=s,e.attrs=s}function Pl(e,t,n,i){const{props:r,attrs:s,vnode:{patchFlag:o}}=e,l=Q(r),[a]=e.propsOptions;let f=!1;if((i||o>0)&&!(o&16)){if(o&8){const p=e.vnode.dynamicProps;for(let d=0;d{a=!0;const[x,_]=xr(d,t,!0);ae(o,x),_&&l.push(..._)};!n&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!s&&!a)return ee(e)&&i.set(e,mt),mt;if(D(s))for(let p=0;p-1,_[1]=S<0||E-1||X(_,"default"))&&l.push(d)}}}const f=[o,l];return ee(e)&&i.set(e,f),f}function es(e){return e[0]!=="$"}function ts(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function ns(e,t){return ts(e)===ts(t)}function is(e,t){return D(t)?t.findIndex(n=>ns(n,e)):q(t)&&ns(t,e)?0:-1}const vr=e=>e[0]==="_"||e==="$stable",Si=e=>D(e)?e.map(Ae):[Ae(e)],Il=(e,t,n)=>{if(t._n)return t;const i=el((...r)=>Si(t(...r)),n);return i._c=!1,i},yr=(e,t,n)=>{const i=e._ctx;for(const r in e){if(vr(r))continue;const s=e[r];if(q(s))t[r]=Il(r,s,i);else if(s!=null){const o=Si(s);t[r]=()=>o}}},br=(e,t)=>{const n=Si(t);e.slots.default=()=>n},Fl=(e,t)=>{if(e.vnode.shapeFlag&32){const n=t._;n?(e.slots=Q(t),fn(t,"_",n)):yr(t,e.slots={})}else e.slots={},t&&br(e,t);fn(e.slots,Mn,1)},Ml=(e,t,n)=>{const{vnode:i,slots:r}=e;let s=!0,o=te;if(i.shapeFlag&32){const l=t._;l?n&&l===1?s=!1:(ae(r,t),!n&&l===1&&delete r._):(s=!t.$stable,yr(t,r)),o=t}else t&&(br(e,t),o={default:1});if(s)for(const l in r)!vr(l)&&o[l]==null&&delete r[l]};function xn(e,t,n,i,r=!1){if(D(e)){e.forEach((x,_)=>xn(x,t&&(D(t)?t[_]:t),n,i,r));return}if(vt(i)&&!r)return;const s=i.shapeFlag&4?Pi(i.component)||i.component.proxy:i.el,o=r?null:s,{i:l,r:a}=e,f=t&&t.r,p=l.refs===te?l.refs={}:l.refs,d=l.setupState;if(f!=null&&f!==a&&(ie(f)?(p[f]=null,X(d,f)&&(d[f]=null)):ce(f)&&(f.value=null)),q(a))ze(a,l,12,[o,p]);else{const x=ie(a),_=ce(a);if(x||_){const E=()=>{if(e.f){const S=x?X(d,a)?d[a]:p[a]:a.value;r?D(S)&&ui(S,s):D(S)?S.includes(s)||S.push(s):x?(p[a]=[s],X(d,a)&&(d[a]=p[a])):(a.value=[s],e.k&&(p[e.k]=a.value))}else x?(p[a]=o,X(d,a)&&(d[a]=o)):_&&(a.value=o,e.k&&(p[e.k]=o))};o?(E.id=-1,he(E,n)):E()}}}let Be=!1;const en=e=>/svg/.test(e.namespaceURI)&&e.tagName!=="foreignObject",tn=e=>e.nodeType===8;function Ll(e){const{mt:t,p:n,o:{patchProp:i,createText:r,nextSibling:s,parentNode:o,remove:l,insert:a,createComment:f}}=e,p=(g,m)=>{if(!m.hasChildNodes()){n(null,g,m),dn(),m._vnode=g;return}Be=!1,d(m.firstChild,g,null,null,null),dn(),m._vnode=g,Be&&console.error("Hydration completed but contains mismatches.")},d=(g,m,I,W,B,P=!1)=>{const A=tn(g)&&g.data==="[",j=()=>S(g,m,I,W,B,A),{type:V,ref:R,shapeFlag:z,patchFlag:oe}=m;let fe=g.nodeType;m.el=g,oe===-2&&(P=!1,m.dynamicChildren=null);let k=null;switch(V){case _t:fe!==3?m.children===""?(a(m.el=r(""),o(g),g),k=g):k=j():(g.data!==m.children&&(Be=!0,g.data=m.children),k=s(g));break;case be:L(g)?(k=s(g),U(m.el=g.content.firstChild,g,I)):fe!==8||A?k=j():k=s(g);break;case Lt:if(A&&(g=s(g),fe=g.nodeType),fe===1||fe===3){k=g;const J=!m.children.length;for(let N=0;N{P=P||!!m.dynamicChildren;const{type:A,props:j,patchFlag:V,shapeFlag:R,dirs:z,transition:oe}=m,fe=A==="input"||A==="option";if(fe||V!==-1){if(z&&Pe(m,null,I,"created"),j)if(fe||!P||V&48)for(const N in j)(fe&&(N.endsWith("value")||N==="indeterminate")||Ut(N)&&!It(N)||N[0]===".")&&i(g,N,null,j[N],!1,void 0,I);else j.onClick&&i(g,"onClick",null,j.onClick,!1,void 0,I);let k;(k=j&&j.onVnodeBeforeMount)&&we(k,I,m);let J=!1;if(L(g)){J=_r(W,oe)&&I&&I.vnode.props&&I.vnode.props.appear;const N=g.content.firstChild;J&&oe.beforeEnter(N),U(N,g,I),m.el=g=N}if(z&&Pe(m,null,I,"beforeMount"),((k=j&&j.onVnodeMounted)||z||J)&&rr(()=>{k&&we(k,I,m),J&&oe.enter(g),z&&Pe(m,null,I,"mounted")},W),R&16&&!(j&&(j.innerHTML||j.textContent))){let N=_(g.firstChild,m,g,I,W,B,P);for(;N;){Be=!0;const Le=N;N=N.nextSibling,l(Le)}}else R&8&&g.textContent!==m.children&&(Be=!0,g.textContent=m.children)}return g.nextSibling},_=(g,m,I,W,B,P,A)=>{A=A||!!m.dynamicChildren;const j=m.children,V=j.length;for(let R=0;R{const{slotScopeIds:A}=m;A&&(B=B?B.concat(A):A);const j=o(g),V=_(s(g),m,j,I,W,B,P);return V&&tn(V)&&V.data==="]"?s(m.anchor=V):(Be=!0,a(m.anchor=f("]"),j,V),V)},S=(g,m,I,W,B,P)=>{if(Be=!0,m.el=null,P){const V=M(g);for(;;){const R=s(g);if(R&&R!==V)l(R);else break}}const A=s(g),j=o(g);return l(g),n(null,m,j,A,I,W,en(j),B),A},M=(g,m="[",I="]")=>{let W=0;for(;g;)if(g=s(g),g&&tn(g)&&(g.data===m&&W++,g.data===I)){if(W===0)return s(g);W--}return g},U=(g,m,I)=>{const W=m.parentNode;W&&W.replaceChild(g,m);let B=I;for(;B;)B.vnode.el===m&&(B.vnode.el=B.subTree.el=g),B=B.parent},L=g=>g.nodeType===1&&g.tagName.toLowerCase()==="template";return[p,d]}const he=rr;function kl(e){return Nl(e,Ll)}function Nl(e,t){const n=Jn();n.__VUE__=!0;const{insert:i,remove:r,patchProp:s,createElement:o,createText:l,createComment:a,setText:f,setElementText:p,parentNode:d,nextSibling:x,setScopeId:_=Fe,insertStaticContent:E}=e,S=(c,u,h,v=null,y=null,C=null,O=!1,w=null,T=!!u.dynamicChildren)=>{if(c===u)return;c&&!it(c,u)&&(v=Vt(c),Re(c,y,C,!0),c=null),u.patchFlag===-2&&(T=!1,u.dynamicChildren=null);const{type:b,ref:H,shapeFlag:F}=u;switch(b){case _t:M(c,u,h,v);break;case be:U(c,u,h,v);break;case Lt:c==null&&L(u,h,v,O);break;case ge:R(c,u,h,v,y,C,O,w,T);break;default:F&1?I(c,u,h,v,y,C,O,w,T):F&6?z(c,u,h,v,y,C,O,w,T):(F&64||F&128)&&b.process(c,u,h,v,y,C,O,w,T,ft)}H!=null&&y&&xn(H,c&&c.ref,C,u||c,!u)},M=(c,u,h,v)=>{if(c==null)i(u.el=l(u.children),h,v);else{const y=u.el=c.el;u.children!==c.children&&f(y,u.children)}},U=(c,u,h,v)=>{c==null?i(u.el=a(u.children||""),h,v):u.el=c.el},L=(c,u,h,v)=>{[c.el,c.anchor]=E(c.children,u,h,v,c.el,c.anchor)},g=({el:c,anchor:u},h,v)=>{let y;for(;c&&c!==u;)y=x(c),i(c,h,v),c=y;i(u,h,v)},m=({el:c,anchor:u})=>{let h;for(;c&&c!==u;)h=x(c),r(c),c=h;r(u)},I=(c,u,h,v,y,C,O,w,T)=>{O=O||u.type==="svg",c==null?W(u,h,v,y,C,O,w,T):A(c,u,y,C,O,w,T)},W=(c,u,h,v,y,C,O,w)=>{let T,b;const{type:H,props:F,shapeFlag:$,transition:K,dirs:Y}=c;if(T=c.el=o(c.type,C,F&&F.is,F),$&8?p(T,c.children):$&16&&P(c.children,T,null,v,y,C&&H!=="foreignObject",O,w),Y&&Pe(c,null,v,"created"),B(T,c,c.scopeId,O,v),F){for(const Z in F)Z!=="value"&&!It(Z)&&s(T,Z,null,F[Z],C,c.children,v,y,ke);"value"in F&&s(T,"value",null,F.value),(b=F.onVnodeBeforeMount)&&we(b,v,c)}Y&&Pe(c,null,v,"beforeMount");const G=_r(y,K);G&&K.beforeEnter(T),i(T,u,h),((b=F&&F.onVnodeMounted)||G||Y)&&he(()=>{b&&we(b,v,c),G&&K.enter(T),Y&&Pe(c,null,v,"mounted")},y)},B=(c,u,h,v,y)=>{if(h&&_(c,h),v)for(let C=0;C{for(let b=T;b{const w=u.el=c.el;let{patchFlag:T,dynamicChildren:b,dirs:H}=u;T|=c.patchFlag&16;const F=c.props||te,$=u.props||te;let K;h&&Ge(h,!1),(K=$.onVnodeBeforeUpdate)&&we(K,h,u,c),H&&Pe(u,c,h,"beforeUpdate"),h&&Ge(h,!0);const Y=y&&u.type!=="foreignObject";if(b?j(c.dynamicChildren,b,w,h,v,Y,C):O||N(c,u,w,null,h,v,Y,C,!1),T>0){if(T&16)V(w,u,F,$,h,v,y);else if(T&2&&F.class!==$.class&&s(w,"class",null,$.class,y),T&4&&s(w,"style",F.style,$.style,y),T&8){const G=u.dynamicProps;for(let Z=0;Z{K&&we(K,h,u,c),H&&Pe(u,c,h,"updated")},v)},j=(c,u,h,v,y,C,O)=>{for(let w=0;w{if(h!==v){if(h!==te)for(const w in h)!It(w)&&!(w in v)&&s(c,w,h[w],null,O,u.children,y,C,ke);for(const w in v){if(It(w))continue;const T=v[w],b=h[w];T!==b&&w!=="value"&&s(c,w,b,T,O,u.children,y,C,ke)}"value"in v&&s(c,"value",h.value,v.value)}},R=(c,u,h,v,y,C,O,w,T)=>{const b=u.el=c?c.el:l(""),H=u.anchor=c?c.anchor:l("");let{patchFlag:F,dynamicChildren:$,slotScopeIds:K}=u;K&&(w=w?w.concat(K):K),c==null?(i(b,h,v),i(H,h,v),P(u.children,h,H,y,C,O,w,T)):F>0&&F&64&&$&&c.dynamicChildren?(j(c.dynamicChildren,$,h,y,C,O,w),(u.key!=null||y&&u===y.subTree)&&wr(c,u,!0)):N(c,u,h,H,y,C,O,w,T)},z=(c,u,h,v,y,C,O,w,T)=>{u.slotScopeIds=w,c==null?u.shapeFlag&512?y.ctx.activate(u,h,v,O,T):oe(u,h,v,y,C,O,T):fe(c,u,T)},oe=(c,u,h,v,y,C,O)=>{const w=c.component=Vl(c,v,y);if(Wt(c)&&(w.ctx.renderer=ft),zl(w),w.asyncDep){if(y&&y.registerDep(w,k),!c.el){const T=w.subTree=ne(be);U(null,T,u,h)}return}k(w,c,u,h,y,C,O)},fe=(c,u,h)=>{const v=u.component=c.component;if(il(c,u,h))if(v.asyncDep&&!v.asyncResolved){J(v,u,h);return}else v.next=u,Xo(v.update),v.update();else u.el=c.el,v.vnode=u},k=(c,u,h,v,y,C,O)=>{const w=()=>{if(c.isMounted){let{next:H,bu:F,u:$,parent:K,vnode:Y}=c,G=H,Z;Ge(c,!1),H?(H.el=Y.el,J(c,H,O)):H=Y,F&&Hn(F),(Z=H.props&&H.props.onVnodeBeforeUpdate)&&we(Z,K,H,Y),Ge(c,!0);const se=$n(c),Te=c.subTree;c.subTree=se,S(Te,se,d(Te.el),Vt(Te),c,y,C),H.el=se.el,G===null&&sl(c,se.el),$&&he($,y),(Z=H.props&&H.props.onVnodeUpdated)&&he(()=>we(Z,K,H,Y),y)}else{let H;const{el:F,props:$}=u,{bm:K,m:Y,parent:G}=c,Z=vt(u);if(Ge(c,!1),K&&Hn(K),!Z&&(H=$&&$.onVnodeBeforeMount)&&we(H,G,u),Ge(c,!0),F&&Nn){const se=()=>{c.subTree=$n(c),Nn(F,c.subTree,c,y,null)};Z?u.type.__asyncLoader().then(()=>!c.isUnmounted&&se()):se()}else{const se=c.subTree=$n(c);S(null,se,h,v,c,y,C),u.el=se.el}if(Y&&he(Y,y),!Z&&(H=$&&$.onVnodeMounted)){const se=u;he(()=>we(H,G,se),y)}(u.shapeFlag&256||G&&vt(G.vnode)&&G.vnode.shapeFlag&256)&&c.a&&he(c.a,y),c.isMounted=!0,u=h=v=null}},T=c.effect=new gi(w,()=>Sn(b),c.scope),b=c.update=()=>T.run();b.id=c.uid,Ge(c,!0),b()},J=(c,u,h)=>{u.component=c;const v=c.vnode.props;c.vnode=u,c.next=null,Pl(c,u.props,v,h),Ml(c,u.children,h),Tt(),Vi(),At()},N=(c,u,h,v,y,C,O,w,T=!1)=>{const b=c&&c.children,H=c?c.shapeFlag:0,F=u.children,{patchFlag:$,shapeFlag:K}=u;if($>0){if($&128){qt(b,F,h,v,y,C,O,w,T);return}else if($&256){Le(b,F,h,v,y,C,O,w,T);return}}K&8?(H&16&&ke(b,y,C),F!==b&&p(h,F)):H&16?K&16?qt(b,F,h,v,y,C,O,w,T):ke(b,y,C,!0):(H&8&&p(h,""),K&16&&P(F,h,v,y,C,O,w,T))},Le=(c,u,h,v,y,C,O,w,T)=>{c=c||mt,u=u||mt;const b=c.length,H=u.length,F=Math.min(b,H);let $;for($=0;$H?ke(c,y,C,!0,!1,F):P(u,h,v,y,C,O,w,T,F)},qt=(c,u,h,v,y,C,O,w,T)=>{let b=0;const H=u.length;let F=c.length-1,$=H-1;for(;b<=F&&b<=$;){const K=c[b],Y=u[b]=T?qe(u[b]):Ae(u[b]);if(it(K,Y))S(K,Y,h,null,y,C,O,w,T);else break;b++}for(;b<=F&&b<=$;){const K=c[F],Y=u[$]=T?qe(u[$]):Ae(u[$]);if(it(K,Y))S(K,Y,h,null,y,C,O,w,T);else break;F--,$--}if(b>F){if(b<=$){const K=$+1,Y=K$)for(;b<=F;)Re(c[b],y,C,!0),b++;else{const K=b,Y=b,G=new Map;for(b=Y;b<=$;b++){const ve=u[b]=T?qe(u[b]):Ae(u[b]);ve.key!=null&&G.set(ve.key,b)}let Z,se=0;const Te=$-Y+1;let ut=!1,Li=0;const St=new Array(Te);for(b=0;b=Te){Re(ve,y,C,!0);continue}let Oe;if(ve.key!=null)Oe=G.get(ve.key);else for(Z=Y;Z<=$;Z++)if(St[Z-Y]===0&&it(ve,u[Z])){Oe=Z;break}Oe===void 0?Re(ve,y,C,!0):(St[Oe-Y]=b+1,Oe>=Li?Li=Oe:ut=!0,S(ve,u[Oe],h,null,y,C,O,w,T),se++)}const ki=ut?Hl(St):mt;for(Z=ki.length-1,b=Te-1;b>=0;b--){const ve=Y+b,Oe=u[ve],Ni=ve+1{const{el:C,type:O,transition:w,children:T,shapeFlag:b}=c;if(b&6){Ze(c.component.subTree,u,h,v);return}if(b&128){c.suspense.move(u,h,v);return}if(b&64){O.move(c,u,h,ft);return}if(O===ge){i(C,u,h);for(let F=0;Fw.enter(C),y);else{const{leave:F,delayLeave:$,afterLeave:K}=w,Y=()=>i(C,u,h),G=()=>{F(C,()=>{Y(),K&&K()})};$?$(C,Y,G):G()}else i(C,u,h)},Re=(c,u,h,v=!1,y=!1)=>{const{type:C,props:O,ref:w,children:T,dynamicChildren:b,shapeFlag:H,patchFlag:F,dirs:$}=c;if(w!=null&&xn(w,null,h,c,!0),H&256){u.ctx.deactivate(c);return}const K=H&1&&$,Y=!vt(c);let G;if(Y&&(G=O&&O.onVnodeBeforeUnmount)&&we(G,u,c),H&6)Qr(c.component,h,v);else{if(H&128){c.suspense.unmount(h,v);return}K&&Pe(c,null,u,"beforeUnmount"),H&64?c.type.remove(c,u,h,y,ft,v):b&&(C!==ge||F>0&&F&64)?ke(b,u,h,!1,!0):(C===ge&&F&384||!y&&H&16)&&ke(T,u,h),v&&Fi(c)}(Y&&(G=O&&O.onVnodeUnmounted)||K)&&he(()=>{G&&we(G,u,c),K&&Pe(c,null,u,"unmounted")},h)},Fi=c=>{const{type:u,el:h,anchor:v,transition:y}=c;if(u===ge){Xr(h,v);return}if(u===Lt){m(c);return}const C=()=>{r(h),y&&!y.persisted&&y.afterLeave&&y.afterLeave()};if(c.shapeFlag&1&&y&&!y.persisted){const{leave:O,delayLeave:w}=y,T=()=>O(h,C);w?w(c.el,C,T):T()}else C()},Xr=(c,u)=>{let h;for(;c!==u;)h=x(c),r(c),c=h;r(u)},Qr=(c,u,h)=>{const{bum:v,scope:y,update:C,subTree:O,um:w}=c;v&&Hn(v),y.stop(),C&&(C.active=!1,Re(O,c,u,h)),w&&he(w,u),he(()=>{c.isUnmounted=!0},u),u&&u.pendingBranch&&!u.isUnmounted&&c.asyncDep&&!c.asyncResolved&&c.suspenseId===u.pendingId&&(u.deps--,u.deps===0&&u.resolve())},ke=(c,u,h,v=!1,y=!1,C=0)=>{for(let O=C;Oc.shapeFlag&6?Vt(c.component.subTree):c.shapeFlag&128?c.suspense.next():x(c.anchor||c.el),Mi=(c,u,h)=>{c==null?u._vnode&&Re(u._vnode,null,null,!0):S(u._vnode||null,c,u,null,null,null,h),Vi(),dn(),u._vnode=c},ft={p:S,um:Re,m:Ze,r:Fi,mt:oe,mc:P,pc:N,pbc:j,n:Vt,o:e};let kn,Nn;return t&&([kn,Nn]=t(ft)),{render:Mi,hydrate:kn,createApp:Sl(Mi,kn)}}function Ge({effect:e,update:t},n){e.allowRecurse=t.allowRecurse=n}function _r(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function wr(e,t,n=!1){const i=e.children,r=t.children;if(D(i)&&D(r))for(let s=0;s>1,e[n[l]]0&&(t[i]=n[s-1]),n[s]=i)}}for(s=n.length,o=n[s-1];s-- >0;)n[s]=o,o=t[o];return n}const $l=e=>e.__isTeleport,ge=Symbol.for("v-fgt"),_t=Symbol.for("v-txt"),be=Symbol.for("v-cmt"),Lt=Symbol.for("v-stc"),kt=[];let Se=null;function Cr(e=!1){kt.push(Se=e?null:[])}function Dl(){kt.pop(),Se=kt[kt.length-1]||null}let Dt=1;function ss(e){Dt+=e}function Er(e){return e.dynamicChildren=Dt>0?Se||mt:null,Dl(),Dt>0&&Se&&Se.push(e),e}function Fc(e,t,n,i,r,s){return Er(jr(e,t,n,i,r,s,!0))}function Tr(e,t,n,i,r){return Er(ne(e,t,n,i,r,!0))}function vn(e){return e?e.__v_isVNode===!0:!1}function it(e,t){return e.type===t.type&&e.key===t.key}const Mn="__vInternal",Ar=({key:e})=>e??null,an=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?ie(e)||ce(e)||q(e)?{i:de,r:e,k:t,f:!!n}:e:null);function jr(e,t=null,n=null,i=0,r=null,s=e===ge?0:1,o=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ar(t),ref:t&&an(t),scopeId:On,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:i,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:de};return l?(Ri(a,n),s&128&&e.normalize(a)):n&&(a.shapeFlag|=ie(n)?8:16),Dt>0&&!o&&Se&&(a.patchFlag>0||s&6)&&a.patchFlag!==32&&Se.push(a),a}const ne=Bl;function Bl(e,t=null,n=null,i=0,r=null,s=!1){if((!e||e===ir)&&(e=be),vn(e)){const l=Qe(e,t,!0);return n&&Ri(l,n),Dt>0&&!s&&Se&&(l.shapeFlag&6?Se[Se.indexOf(e)]=l:Se.push(l)),l.patchFlag|=-2,l}if(Ql(e)&&(e=e.__vccOpts),t){t=Ul(t);let{class:l,style:a}=t;l&&!ie(l)&&(t.class=mi(l)),ee(a)&&(Js(a)&&!D(a)&&(a=ae({},a)),t.style=di(a))}const o=ie(e)?1:rl(e)?128:$l(e)?64:ee(e)?4:q(e)?2:0;return jr(e,t,n,i,r,o,s,!0)}function Ul(e){return e?Js(e)||Mn in e?ae({},e):e:null}function Qe(e,t,n=!1){const{props:i,ref:r,patchFlag:s,children:o}=e,l=t?Kl(i||{},t):i;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ar(l),ref:t&&t.ref?n&&r?D(r)?r.concat(an(t)):[r,an(t)]:an(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ge?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Qe(e.ssContent),ssFallback:e.ssFallback&&Qe(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Sr(e=" ",t=0){return ne(_t,null,e,t)}function Mc(e,t){const n=ne(Lt,null,e);return n.staticCount=t,n}function Lc(e="",t=!1){return t?(Cr(),Tr(be,null,e)):ne(be,null,e)}function Ae(e){return e==null||typeof e=="boolean"?ne(be):D(e)?ne(ge,null,e.slice()):typeof e=="object"?qe(e):ne(_t,null,String(e))}function qe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Qe(e)}function Ri(e,t){let n=0;const{shapeFlag:i}=e;if(t==null)t=null;else if(D(t))n=16;else if(typeof t=="object")if(i&65){const r=t.default;r&&(r._c&&(r._d=!1),Ri(e,r()),r._c&&(r._d=!0));return}else{n=32;const r=t._;!r&&!(Mn in t)?t._ctx=de:r===3&&de&&(de.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else q(t)?(t={default:t,_ctx:de},n=32):(t=String(t),i&64?(n=16,t=[Sr(t)]):n=8);e.children=t,e.shapeFlag|=n}function Kl(...e){const t={};for(let n=0;nle||de;let Oi,pt,rs="__VUE_INSTANCE_SETTERS__";(pt=Jn()[rs])||(pt=Jn()[rs]=[]),pt.push(e=>le=e),Oi=e=>{pt.length>1?pt.forEach(t=>t(e)):pt[0](e)};const wt=e=>{Oi(e),e.scope.on()},ot=()=>{le&&le.scope.off(),Oi(null)};function Rr(e){return e.vnode.shapeFlag&4}let Ct=!1;function zl(e,t=!1){Ct=t;const{props:n,children:i}=e.vnode,r=Rr(e);Ol(e,n,r,t),Fl(e,i);const s=r?Yl(e,t):void 0;return Ct=!1,s}function Yl(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Ft(new Proxy(e.ctx,bl));const{setup:i}=n;if(i){const r=e.setupContext=i.length>1?Pr(e):null;wt(e),Tt();const s=ze(i,e,0,[e.props,r]);if(At(),ot(),Fs(s)){if(s.then(ot,ot),t)return s.then(o=>{os(e,o,t)}).catch(o=>{Kt(o,e,0)});e.asyncDep=s}else os(e,s,t)}else Or(e,t)}function os(e,t,n){q(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:ee(t)&&(e.setupState=Zs(t)),Or(e,n)}let ls;function Or(e,t,n){const i=e.type;if(!e.render){if(!t&&ls&&!i.render){const r=i.template||ji(e).template;if(r){const{isCustomElement:s,compilerOptions:o}=e.appContext.config,{delimiters:l,compilerOptions:a}=i,f=ae(ae({isCustomElement:s,delimiters:l},o),a);i.render=ls(r,f)}}e.render=i.render||Fe}{wt(e),Tt();try{wl(e)}finally{At(),ot()}}}function Jl(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,n){return xe(e,"get","$attrs"),t[n]}}))}function Pr(e){const t=n=>{e.exposed=n||{}};return{get attrs(){return Jl(e)},slots:e.slots,emit:e.emit,expose:t}}function Pi(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Zs(Ft(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Mt)return Mt[n](e)},has(t,n){return n in t||n in Mt}}))}function Xl(e,t=!0){return q(e)?e.displayName||e.name:e.name||t&&e.__name}function Ql(e){return q(e)&&"__vccOpts"in e}const re=(e,t)=>zo(e,t,Ct);function oi(e,t,n){const i=arguments.length;return i===2?ee(t)&&!D(t)?vn(t)?ne(e,null,[t]):ne(e,t):ne(e,null,t):(i>3?n=Array.prototype.slice.call(arguments,2):i===3&&vn(n)&&(n=[n]),ne(e,t,n))}const Zl=Symbol.for("v-scx"),Gl=()=>yt(Zl),ea="3.3.9",ta="http://www.w3.org/2000/svg",st=typeof document<"u"?document:null,as=st&&st.createElement("template"),na={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,i)=>{const r=t?st.createElementNS(ta,e):st.createElement(e,n?{is:n}:void 0);return e==="select"&&i&&i.multiple!=null&&r.setAttribute("multiple",i.multiple),r},createText:e=>st.createTextNode(e),createComment:e=>st.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>st.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,i,r,s){const o=n?n.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),n),!(r===s||!(r=r.nextSibling)););else{as.innerHTML=i?`${e}`:e;const l=as.content;if(i){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ue="transition",Rt="animation",Bt=Symbol("_vtc"),Ir=(e,{slots:t})=>oi(cl,ia(e),t);Ir.displayName="Transition";const Fr={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String};Ir.props=ae({},ar,Fr);const et=(e,t=[])=>{D(e)?e.forEach(n=>n(...t)):e&&e(...t)},cs=e=>e?D(e)?e.some(t=>t.length>1):e.length>1:!1;function ia(e){const t={};for(const R in e)R in Fr||(t[R]=e[R]);if(e.css===!1)return t;const{name:n="v",type:i,duration:r,enterFromClass:s=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:l=`${n}-enter-to`,appearFromClass:a=s,appearActiveClass:f=o,appearToClass:p=l,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:x=`${n}-leave-active`,leaveToClass:_=`${n}-leave-to`}=e,E=sa(r),S=E&&E[0],M=E&&E[1],{onBeforeEnter:U,onEnter:L,onEnterCancelled:g,onLeave:m,onLeaveCancelled:I,onBeforeAppear:W=U,onAppear:B=L,onAppearCancelled:P=g}=t,A=(R,z,oe)=>{tt(R,z?p:l),tt(R,z?f:o),oe&&oe()},j=(R,z)=>{R._isLeaving=!1,tt(R,d),tt(R,_),tt(R,x),z&&z()},V=R=>(z,oe)=>{const fe=R?B:L,k=()=>A(z,R,oe);et(fe,[z,k]),fs(()=>{tt(z,R?a:s),Ke(z,R?p:l),cs(fe)||us(z,i,S,k)})};return ae(t,{onBeforeEnter(R){et(U,[R]),Ke(R,s),Ke(R,o)},onBeforeAppear(R){et(W,[R]),Ke(R,a),Ke(R,f)},onEnter:V(!1),onAppear:V(!0),onLeave(R,z){R._isLeaving=!0;const oe=()=>j(R,z);Ke(R,d),la(),Ke(R,x),fs(()=>{R._isLeaving&&(tt(R,d),Ke(R,_),cs(m)||us(R,i,M,oe))}),et(m,[R,oe])},onEnterCancelled(R){A(R,!1),et(g,[R])},onAppearCancelled(R){A(R,!0),et(P,[R])},onLeaveCancelled(R){j(R),et(I,[R])}})}function sa(e){if(e==null)return null;if(ee(e))return[Kn(e.enter),Kn(e.leave)];{const t=Kn(e);return[t,t]}}function Kn(e){return ro(e)}function Ke(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Bt]||(e[Bt]=new Set)).add(t)}function tt(e,t){t.split(/\s+/).forEach(i=>i&&e.classList.remove(i));const n=e[Bt];n&&(n.delete(t),n.size||(e[Bt]=void 0))}function fs(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ra=0;function us(e,t,n,i){const r=e._endId=++ra,s=()=>{r===e._endId&&i()};if(n)return setTimeout(s,n);const{type:o,timeout:l,propCount:a}=oa(e,t);if(!o)return i();const f=o+"end";let p=0;const d=()=>{e.removeEventListener(f,x),s()},x=_=>{_.target===e&&++p>=a&&d()};setTimeout(()=>{p(n[E]||"").split(", "),r=i(`${Ue}Delay`),s=i(`${Ue}Duration`),o=ps(r,s),l=i(`${Rt}Delay`),a=i(`${Rt}Duration`),f=ps(l,a);let p=null,d=0,x=0;t===Ue?o>0&&(p=Ue,d=o,x=s.length):t===Rt?f>0&&(p=Rt,d=f,x=a.length):(d=Math.max(o,f),p=d>0?o>f?Ue:Rt:null,x=p?p===Ue?s.length:a.length:0);const _=p===Ue&&/\b(transform|all)(,|$)/.test(i(`${Ue}Property`).toString());return{type:p,timeout:d,propCount:x,hasTransform:_}}function ps(e,t){for(;e.lengthds(n)+ds(e[i])))}function ds(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function la(){return document.body.offsetHeight}function aa(e,t,n){const i=e[Bt];i&&(t=(t?[t,...i]:[...i]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const ca=Symbol("_vod");function fa(e,t,n){const i=e.style,r=ie(n);if(n&&!r){if(t&&!ie(t))for(const s in t)n[s]==null&&li(i,s,"");for(const s in n)li(i,s,n[s])}else{const s=i.display;r?t!==n&&(i.cssText=n):t&&e.removeAttribute("style"),ca in e&&(i.display=s)}}const ms=/\s*!important$/;function li(e,t,n){if(D(n))n.forEach(i=>li(e,t,i));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const i=ua(e,t);ms.test(n)?e.setProperty(ct(i),n.replace(ms,""),"important"):e[i]=n}}const hs=["Webkit","Moz","ms"],Wn={};function ua(e,t){const n=Wn[t];if(n)return n;let i=Me(t);if(i!=="filter"&&i in e)return Wn[t]=i;i=Cn(i);for(let r=0;rqn||(va.then(()=>qn=0),qn=Date.now());function ba(e,t){const n=i=>{if(!i._vts)i._vts=Date.now();else if(i._vts<=n.attached)return;Ee(_a(i,n.value),t,5,[i])};return n.value=e,n.attached=ya(),n}function _a(e,t){if(D(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map(i=>r=>!r._stopped&&i&&i(r))}else return t}const ys=/^on[a-z]/,wa=(e,t,n,i,r=!1,s,o,l,a)=>{t==="class"?aa(e,i,r):t==="style"?fa(e,n,i):Ut(t)?fi(t)||ga(e,t,n,i,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ca(e,t,i,r))?da(e,t,i,s,o,l,a):(t==="true-value"?e._trueValue=i:t==="false-value"&&(e._falseValue=i),pa(e,t,i,r))};function Ca(e,t,n,i){return i?!!(t==="innerHTML"||t==="textContent"||t in e&&ys.test(t)&&q(n)):t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA"||ys.test(t)&&ie(n)?!1:t in e}const Ea=["ctrl","shift","alt","meta"],Ta={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Ea.some(n=>e[`${n}Key`]&&!t.includes(n))},kc=(e,t)=>(n,...i)=>{for(let r=0;rn=>{if(!("key"in n))return;const i=ct(n.key);if(t.some(r=>r===i||Aa[r]===i))return e(n)},ja=ae({patchProp:wa},na);let Vn,bs=!1;function Sa(){return Vn=bs?Vn:kl(ja),bs=!0,Vn}const Hc=(...e)=>{const t=Sa().createApp(...e),{mount:n}=t;return t.mount=i=>{const r=Ra(i);if(r)return n(r,!0,r instanceof SVGElement)},t};function Ra(e){return ie(e)?document.querySelector(e):e}const $c=(e,t)=>{const n=e.__vccOpts||e;for(const[i,r]of t)n[i]=r;return n},Oa="modulepreload",Pa=function(e){return"/"+e},_s={},Dc=function(t,n,i){if(!n||n.length===0)return t();const r=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=Pa(s),s in _s)return;_s[s]=!0;const o=s.endsWith(".css"),l=o?'[rel="stylesheet"]':"";if(!!i)for(let p=r.length-1;p>=0;p--){const d=r[p];if(d.href===s&&(!o||d.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${l}`))return;const f=document.createElement("link");if(f.rel=o?"stylesheet":Oa,o||(f.as="script",f.crossOrigin=""),f.href=s,document.head.appendChild(f),o)return new Promise((p,d)=>{f.addEventListener("load",p),f.addEventListener("error",()=>d(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>t()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})},Ia=window.__VP_SITE_DATA__;function Ii(e){return Hs()?(ho(e),!0):!1}function Je(e){return typeof e=="function"?e():Ci(e)}function Bc(e,t){const n=(t==null?void 0:t.computedGetter)===!1?Ci:Je;return function(...i){return re(()=>e.apply(this,i.map(r=>n(r))))}}const Mr=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Fa=Object.prototype.toString,Ma=e=>Fa.call(e)==="[object Object]",Lr=()=>{},ws=La();function La(){var e;return Mr&&((e=window==null?void 0:window.navigator)==null?void 0:e.userAgent)&&/iP(ad|hone|od)/.test(window.navigator.userAgent)}function ka(e,t){function n(...i){return new Promise((r,s)=>{Promise.resolve(e(()=>t.apply(this,i),{fn:t,thisArg:this,args:i})).then(r).catch(s)})}return n}const kr=e=>e();function Na(e=kr){const t=ue(!0);function n(){t.value=!1}function i(){t.value=!0}const r=(...s)=>{t.value&&e(...s)};return{isActive:An(t),pause:n,resume:i,eventFilter:r}}function Nr(...e){if(e.length!==1)return Wo(...e);const t=e[0];return typeof t=="function"?An(Bo(()=>({get:t,set:Lr}))):ue(t)}function Ha(e,t,n={}){const{eventFilter:i=kr,...r}=n;return Ye(e,ka(i,t),r)}function $a(e,t,n={}){const{eventFilter:i,...r}=n,{eventFilter:s,pause:o,resume:l,isActive:a}=Na(i);return{stop:Ha(e,t,{...r,eventFilter:s}),pause:o,resume:l,isActive:a}}function Hr(e,t=!0){Ln()?jt(e):t?e():jn(e)}function $r(e){var t;const n=Je(e);return(t=n==null?void 0:n.$el)!=null?t:n}const Et=Mr?window:void 0;function yn(...e){let t,n,i,r;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,i,r]=e,t=Et):[t,n,i,r]=e,!t)return Lr;Array.isArray(n)||(n=[n]),Array.isArray(i)||(i=[i]);const s=[],o=()=>{s.forEach(p=>p()),s.length=0},l=(p,d,x,_)=>(p.addEventListener(d,x,_),()=>p.removeEventListener(d,x,_)),a=Ye(()=>[$r(t),Je(r)],([p,d])=>{if(o(),!p)return;const x=Ma(d)?{...d}:d;s.push(...n.flatMap(_=>i.map(E=>l(p,_,E,x))))},{immediate:!0,flush:"post"}),f=()=>{a(),o()};return Ii(f),f}function Da(){const e=ue(!1);return Ln()&&jt(()=>{e.value=!0}),e}function Ba(e){const t=Da();return re(()=>(t.value,!!e()))}function Ua(e,t={}){const{window:n=Et}=t,i=Ba(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let r;const s=ue(!1),o=f=>{s.value=f.matches},l=()=>{r&&("removeEventListener"in r?r.removeEventListener("change",o):r.removeListener(o))},a=or(()=>{i.value&&(l(),r=n.matchMedia(Je(e)),"addEventListener"in r?r.addEventListener("change",o):r.addListener(o),s.value=r.matches)});return Ii(()=>{a(),l(),r=void 0}),s}const nn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},sn="__vueuse_ssr_handlers__",Ka=Wa();function Wa(){return sn in nn||(nn[sn]=nn[sn]||{}),nn[sn]}function Dr(e,t){return Ka[e]||t}function qa(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const Va={boolean:{read:e=>e==="true",write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Cs="vueuse-storage";function za(e,t,n,i={}){var r;const{flush:s="pre",deep:o=!0,listenToStorageChanges:l=!0,writeDefaults:a=!0,mergeDefaults:f=!1,shallow:p,window:d=Et,eventFilter:x,onError:_=A=>{console.error(A)},initOnMounted:E}=i,S=(p?Xs:ue)(typeof t=="function"?t():t);if(!n)try{n=Dr("getDefaultStorage",()=>{var A;return(A=Et)==null?void 0:A.localStorage})()}catch(A){_(A)}if(!n)return S;const M=Je(t),U=qa(M),L=(r=i.serializer)!=null?r:Va[U],{pause:g,resume:m}=$a(S,()=>I(S.value),{flush:s,deep:o,eventFilter:x});return d&&l&&Hr(()=>{yn(d,"storage",P),yn(d,Cs,B),E&&P()}),E||P(),S;function I(A){try{if(A==null)n.removeItem(e);else{const j=L.write(A),V=n.getItem(e);V!==j&&(n.setItem(e,j),d&&d.dispatchEvent(new CustomEvent(Cs,{detail:{key:e,oldValue:V,newValue:j,storageArea:n}})))}}catch(j){_(j)}}function W(A){const j=A?A.newValue:n.getItem(e);if(j==null)return a&&M!==null&&n.setItem(e,L.write(M)),M;if(!A&&f){const V=L.read(j);return typeof f=="function"?f(V,M):U==="object"&&!Array.isArray(V)?{...M,...V}:V}else return typeof j!="string"?j:L.read(j)}function B(A){P(A.detail)}function P(A){if(!(A&&A.storageArea!==n)){if(A&&A.key==null){S.value=M;return}if(!(A&&A.key!==e)){g();try{(A==null?void 0:A.newValue)!==L.write(S.value)&&(S.value=W(A))}catch(j){_(j)}finally{A?jn(m):m()}}}}}function Ya(e){return Ua("(prefers-color-scheme: dark)",e)}function Ja(e={}){const{selector:t="html",attribute:n="class",initialValue:i="auto",window:r=Et,storage:s,storageKey:o="vueuse-color-scheme",listenToStorageChanges:l=!0,storageRef:a,emitAuto:f,disableTransition:p=!0}=e,d={auto:"",light:"light",dark:"dark",...e.modes||{}},x=Ya({window:r}),_=re(()=>x.value?"dark":"light"),E=a||(o==null?Nr(i):za(o,i,s,{window:r,listenToStorageChanges:l})),S=re(()=>E.value==="auto"?_.value:E.value),M=Dr("updateHTMLAttrs",(m,I,W)=>{const B=typeof m=="string"?r==null?void 0:r.document.querySelector(m):$r(m);if(!B)return;let P;if(p){P=r.document.createElement("style");const A="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";P.appendChild(document.createTextNode(A)),r.document.head.appendChild(P)}if(I==="class"){const A=W.split(/\s/g);Object.values(d).flatMap(j=>(j||"").split(/\s/g)).filter(Boolean).forEach(j=>{A.includes(j)?B.classList.add(j):B.classList.remove(j)})}else B.setAttribute(I,W);p&&(r.getComputedStyle(P).opacity,document.head.removeChild(P))});function U(m){var I;M(t,n,(I=d[m])!=null?I:m)}function L(m){e.onChanged?e.onChanged(m,U):U(m)}Ye(S,L,{flush:"post",immediate:!0}),Hr(()=>L(S.value));const g=re({get(){return f?E.value:S.value},set(m){E.value=m}});try{return Object.assign(g,{store:E,system:_,state:S})}catch{return g}}function Xa(e={}){const{valueDark:t="dark",valueLight:n=""}=e,i=Ja({...e,onChanged:(s,o)=>{var l;e.onChanged?(l=e.onChanged)==null||l.call(e,s==="dark",o,s):o(s)},modes:{dark:t,light:n}});return re({get(){return i.value==="dark"},set(s){const o=s?"dark":"light";i.system.value===o?i.value="auto":i.value=o}})}function zn(e){return typeof Window<"u"&&e instanceof Window?e.document.documentElement:typeof Document<"u"&&e instanceof Document?e.documentElement:e}function Br(e){const t=window.getComputedStyle(e);if(t.overflowX==="scroll"||t.overflowY==="scroll"||t.overflowX==="auto"&&e.clientWidth1?!0:(t.preventDefault&&t.preventDefault(),!1)}const rn=new WeakMap;function Uc(e,t=!1){const n=ue(t);let i=null,r;Ye(Nr(e),l=>{const a=zn(Je(l));if(a){const f=a;rn.get(f)||rn.set(f,r),n.value&&(f.style.overflow="hidden")}},{immediate:!0});const s=()=>{const l=zn(Je(e));!l||n.value||(ws&&(i=yn(l,"touchmove",a=>{Qa(a)},{passive:!1})),l.style.overflow="hidden",n.value=!0)},o=()=>{var l;const a=zn(Je(e));!a||!n.value||(ws&&(i==null||i()),a.style.overflow=(l=rn.get(a))!=null?l:"",rn.delete(a),n.value=!1)};return Ii(o),re({get(){return n.value},set(l){l?s():o()}})}function Kc(e={}){const{window:t=Et,behavior:n="auto"}=e;if(!t)return{x:ue(0),y:ue(0)};const i=ue(t.scrollX),r=ue(t.scrollY),s=re({get(){return i.value},set(l){scrollTo({left:l,behavior:n})}}),o=re({get(){return r.value},set(l){scrollTo({top:l,behavior:n})}});return yn(t,"scroll",()=>{i.value=t.scrollX,r.value=t.scrollY},{capture:!1,passive:!0}),{x:s,y:o}}const Ur=/^(?:[a-z]+:|\/\/)/i,Za="vitepress-theme-appearance",Kr=/#.*$/,Ga=/(index)?\.(md|html)$/,Ce=typeof document<"u",Wr={relativePath:"",filePath:"",title:"404",description:"Not Found",headers:[],frontmatter:{sidebar:!1,layout:"page"},lastUpdated:0,isNotFound:!0};function ec(e,t,n=!1){if(t===void 0)return!1;if(e=Es(`/${e}`),n)return new RegExp(t).test(e);if(Es(t)!==e)return!1;const i=t.match(Kr);return i?(Ce?location.hash:"")===i[0]:!0}function Es(e){return decodeURI(e).replace(Kr,"").replace(Ga,"")}function tc(e){return Ur.test(e)}function nc(e,t){var i,r,s,o,l,a,f;const n=Object.keys(e.locales).find(p=>p!=="root"&&!tc(p)&&ec(t,`/${p}/`,!0))||"root";return Object.assign({},e,{localeIndex:n,lang:((i=e.locales[n])==null?void 0:i.lang)??e.lang,dir:((r=e.locales[n])==null?void 0:r.dir)??e.dir,title:((s=e.locales[n])==null?void 0:s.title)??e.title,titleTemplate:((o=e.locales[n])==null?void 0:o.titleTemplate)??e.titleTemplate,description:((l=e.locales[n])==null?void 0:l.description)??e.description,head:Vr(e.head,((a=e.locales[n])==null?void 0:a.head)??[]),themeConfig:{...e.themeConfig,...(f=e.locales[n])==null?void 0:f.themeConfig}})}function qr(e,t){const n=t.title||e.title,i=t.titleTemplate??e.titleTemplate;if(typeof i=="string"&&i.includes(":title"))return i.replace(/:title/g,n);const r=ic(e.title,i);return`${n}${r}`}function ic(e,t){return t===!1?"":t===!0||t===void 0?` | ${e}`:e===t?"":` | ${t}`}function sc(e,t){const[n,i]=t;if(n!=="meta")return!1;const r=Object.entries(i)[0];return r==null?!1:e.some(([s,o])=>s===n&&o[r[0]]===r[1])}function Vr(e,t){return[...e.filter(n=>!sc(t,n)),...t]}const rc=/[\u0000-\u001F"#$&*+,:;<=>?[\]^`{|}\u007F]/g,oc=/^[a-z]:/i;function Ts(e){const t=oc.exec(e),n=t?t[0]:"";return n+e.slice(n.length).replace(rc,"_").replace(/(^|\/)_+(?=[^/]*$)/,"$1")}const lc=Symbol(),lt=Xs(Ia);function Wc(e){const t=re(()=>nc(lt.value,e.data.relativePath)),n=t.value.appearance,i=n==="force-dark"?ue(!0):n?Xa({storageKey:Za,initialValue:()=>typeof n=="string"?n:"auto",...typeof n=="object"?n:{}}):ue(!1);return{site:t,theme:re(()=>t.value.themeConfig),page:re(()=>e.data),frontmatter:re(()=>e.data.frontmatter),params:re(()=>e.data.params),lang:re(()=>t.value.lang),dir:re(()=>t.value.dir),localeIndex:re(()=>t.value.localeIndex||"root"),title:re(()=>qr(t.value,e.data)),description:re(()=>e.data.description||t.value.description),isDark:i}}function ac(){const e=yt(lc);if(!e)throw new Error("vitepress data not properly injected in app");return e}const cc={ez:"application/andrew-inset",aw:"application/applixware",atom:"application/atom+xml",atomcat:"application/atomcat+xml",atomdeleted:"application/atomdeleted+xml",atomsvc:"application/atomsvc+xml",dwd:"application/atsc-dwd+xml",held:"application/atsc-held+xml",rsat:"application/atsc-rsat+xml",bdoc:"application/bdoc",xcs:"application/calendar+xml",ccxml:"application/ccxml+xml",cdfx:"application/cdfx+xml",cdmia:"application/cdmi-capability",cdmic:"application/cdmi-container",cdmid:"application/cdmi-domain",cdmio:"application/cdmi-object",cdmiq:"application/cdmi-queue",cu:"application/cu-seeme",mpd:"application/dash+xml",davmount:"application/davmount+xml",dbk:"application/docbook+xml",dssc:"application/dssc+der",xdssc:"application/dssc+xml",es:"application/ecmascript",ecma:"application/ecmascript",emma:"application/emma+xml",emotionml:"application/emotionml+xml",epub:"application/epub+zip",exi:"application/exi",fdt:"application/fdt+xml",pfr:"application/font-tdpfr",geojson:"application/geo+json",gml:"application/gml+xml",gpx:"application/gpx+xml",gxf:"application/gxf",gz:"application/gzip",hjson:"application/hjson",stk:"application/hyperstudio",ink:"application/inkml+xml",inkml:"application/inkml+xml",ipfix:"application/ipfix",its:"application/its+xml",jar:"application/java-archive",war:"application/java-archive",ear:"application/java-archive",ser:"application/java-serialized-object",class:"application/java-vm",js:"application/javascript",mjs:"application/javascript",json:"application/json",map:"application/json",json5:"application/json5",jsonml:"application/jsonml+json",jsonld:"application/ld+json",lgr:"application/lgr+xml",lostxml:"application/lost+xml",hqx:"application/mac-binhex40",cpt:"application/mac-compactpro",mads:"application/mads+xml",webmanifest:"application/manifest+json",mrc:"application/marc",mrcx:"application/marcxml+xml",ma:"application/mathematica",nb:"application/mathematica",mb:"application/mathematica",mathml:"application/mathml+xml",mbox:"application/mbox",mscml:"application/mediaservercontrol+xml",metalink:"application/metalink+xml",meta4:"application/metalink4+xml",mets:"application/mets+xml",maei:"application/mmt-aei+xml",musd:"application/mmt-usd+xml",mods:"application/mods+xml",m21:"application/mp21",mp21:"application/mp21",mp4s:"application/mp4",m4p:"application/mp4",doc:"application/msword",dot:"application/msword",mxf:"application/mxf",nq:"application/n-quads",nt:"application/n-triples",cjs:"application/node",bin:"application/octet-stream",dms:"application/octet-stream",lrf:"application/octet-stream",mar:"application/octet-stream",so:"application/octet-stream",dist:"application/octet-stream",distz:"application/octet-stream",pkg:"application/octet-stream",bpk:"application/octet-stream",dump:"application/octet-stream",elc:"application/octet-stream",deploy:"application/octet-stream",exe:"application/octet-stream",dll:"application/octet-stream",deb:"application/octet-stream",dmg:"application/octet-stream",iso:"application/octet-stream",img:"application/octet-stream",msi:"application/octet-stream",msp:"application/octet-stream",msm:"application/octet-stream",buffer:"application/octet-stream",oda:"application/oda",opf:"application/oebps-package+xml",ogx:"application/ogg",omdoc:"application/omdoc+xml",onetoc:"application/onenote",onetoc2:"application/onenote",onetmp:"application/onenote",onepkg:"application/onenote",oxps:"application/oxps",relo:"application/p2p-overlay+xml",xer:"application/patch-ops-error+xml",pdf:"application/pdf",pgp:"application/pgp-encrypted",asc:"application/pgp-signature",sig:"application/pgp-signature",prf:"application/pics-rules",p10:"application/pkcs10",p7m:"application/pkcs7-mime",p7c:"application/pkcs7-mime",p7s:"application/pkcs7-signature",p8:"application/pkcs8",ac:"application/pkix-attr-cert",cer:"application/pkix-cert",crl:"application/pkix-crl",pkipath:"application/pkix-pkipath",pki:"application/pkixcmp",pls:"application/pls+xml",ai:"application/postscript",eps:"application/postscript",ps:"application/postscript",provx:"application/provenance+xml",cww:"application/prs.cww",pskcxml:"application/pskc+xml",raml:"application/raml+yaml",rdf:"application/rdf+xml",owl:"application/rdf+xml",rif:"application/reginfo+xml",rnc:"application/relax-ng-compact-syntax",rl:"application/resource-lists+xml",rld:"application/resource-lists-diff+xml",rs:"application/rls-services+xml",rapd:"application/route-apd+xml",sls:"application/route-s-tsid+xml",rusd:"application/route-usd+xml",gbr:"application/rpki-ghostbusters",mft:"application/rpki-manifest",roa:"application/rpki-roa",rsd:"application/rsd+xml",rss:"application/rss+xml",rtf:"application/rtf",sbml:"application/sbml+xml",scq:"application/scvp-cv-request",scs:"application/scvp-cv-response",spq:"application/scvp-vp-request",spp:"application/scvp-vp-response",sdp:"application/sdp",senmlx:"application/senml+xml",sensmlx:"application/sensml+xml",setpay:"application/set-payment-initiation",setreg:"application/set-registration-initiation",shf:"application/shf+xml",siv:"application/sieve",sieve:"application/sieve",smi:"application/smil+xml",smil:"application/smil+xml",rq:"application/sparql-query",srx:"application/sparql-results+xml",gram:"application/srgs",grxml:"application/srgs+xml",sru:"application/sru+xml",ssdl:"application/ssdl+xml",ssml:"application/ssml+xml",swidtag:"application/swid+xml",tei:"application/tei+xml",teicorpus:"application/tei+xml",tfi:"application/thraud+xml",tsd:"application/timestamped-data",toml:"application/toml",trig:"application/trig",ttml:"application/ttml+xml",ubj:"application/ubjson",rsheet:"application/urc-ressheet+xml",td:"application/urc-targetdesc+xml",vxml:"application/voicexml+xml",wasm:"application/wasm",wgt:"application/widget",hlp:"application/winhlp",wsdl:"application/wsdl+xml",wspolicy:"application/wspolicy+xml",xaml:"application/xaml+xml",xav:"application/xcap-att+xml",xca:"application/xcap-caps+xml",xdf:"application/xcap-diff+xml",xel:"application/xcap-el+xml",xns:"application/xcap-ns+xml",xenc:"application/xenc+xml",xhtml:"application/xhtml+xml",xht:"application/xhtml+xml",xlf:"application/xliff+xml",xml:"application/xml",xsl:"application/xml",xsd:"application/xml",rng:"application/xml",dtd:"application/xml-dtd",xop:"application/xop+xml",xpl:"application/xproc+xml",xslt:"application/xml",xspf:"application/xspf+xml",mxml:"application/xv+xml",xhvml:"application/xv+xml",xvml:"application/xv+xml",xvm:"application/xv+xml",yang:"application/yang",yin:"application/yin+xml",zip:"application/zip","3gpp":"video/3gpp",adp:"audio/adpcm",amr:"audio/amr",au:"audio/basic",snd:"audio/basic",mid:"audio/midi",midi:"audio/midi",kar:"audio/midi",rmi:"audio/midi",mxmf:"audio/mobile-xmf",mp3:"audio/mpeg",m4a:"audio/mp4",mp4a:"audio/mp4",mpga:"audio/mpeg",mp2:"audio/mpeg",mp2a:"audio/mpeg",m2a:"audio/mpeg",m3a:"audio/mpeg",oga:"audio/ogg",ogg:"audio/ogg",spx:"audio/ogg",opus:"audio/ogg",s3m:"audio/s3m",sil:"audio/silk",wav:"audio/wav",weba:"audio/webm",xm:"audio/xm",ttc:"font/collection",otf:"font/otf",ttf:"font/ttf",woff:"font/woff",woff2:"font/woff2",exr:"image/aces",apng:"image/apng",avif:"image/avif",bmp:"image/bmp",cgm:"image/cgm",drle:"image/dicom-rle",emf:"image/emf",fits:"image/fits",g3:"image/g3fax",gif:"image/gif",heic:"image/heic",heics:"image/heic-sequence",heif:"image/heif",heifs:"image/heif-sequence",hej2:"image/hej2k",hsj2:"image/hsj2",ief:"image/ief",jls:"image/jls",jp2:"image/jp2",jpg2:"image/jp2",jpeg:"image/jpeg",jpg:"image/jpeg",jpe:"image/jpeg",jph:"image/jph",jhc:"image/jphc",jpm:"image/jpm",jpx:"image/jpx",jpf:"image/jpx",jxr:"image/jxr",jxra:"image/jxra",jxrs:"image/jxrs",jxs:"image/jxs",jxsc:"image/jxsc",jxsi:"image/jxsi",jxss:"image/jxss",ktx:"image/ktx",ktx2:"image/ktx2",png:"image/png",btif:"image/prs.btif",pti:"image/prs.pti",sgi:"image/sgi",svg:"image/svg+xml",svgz:"image/svg+xml",t38:"image/t38",tif:"image/tiff",tiff:"image/tiff",tfx:"image/tiff-fx",webp:"image/webp",wmf:"image/wmf","disposition-notification":"message/disposition-notification",u8msg:"message/global",u8dsn:"message/global-delivery-status",u8mdn:"message/global-disposition-notification",u8hdr:"message/global-headers",eml:"message/rfc822",mime:"message/rfc822","3mf":"model/3mf",gltf:"model/gltf+json",glb:"model/gltf-binary",igs:"model/iges",iges:"model/iges",msh:"model/mesh",mesh:"model/mesh",silo:"model/mesh",mtl:"model/mtl",obj:"model/obj",stpz:"model/step+zip",stpxz:"model/step-xml+zip",stl:"model/stl",wrl:"model/vrml",vrml:"model/vrml",x3db:"model/x3d+fastinfoset",x3dbz:"model/x3d+binary",x3dv:"model/x3d-vrml",x3dvz:"model/x3d+vrml",x3d:"model/x3d+xml",x3dz:"model/x3d+xml",appcache:"text/cache-manifest",manifest:"text/cache-manifest",ics:"text/calendar",ifb:"text/calendar",coffee:"text/coffeescript",litcoffee:"text/coffeescript",css:"text/css",csv:"text/csv",html:"text/html",htm:"text/html",shtml:"text/html",jade:"text/jade",jsx:"text/jsx",less:"text/less",markdown:"text/markdown",md:"text/markdown",mml:"text/mathml",mdx:"text/mdx",n3:"text/n3",txt:"text/plain",text:"text/plain",conf:"text/plain",def:"text/plain",list:"text/plain",log:"text/plain",in:"text/plain",ini:"text/plain",dsc:"text/prs.lines.tag",rtx:"text/richtext",sgml:"text/sgml",sgm:"text/sgml",shex:"text/shex",slim:"text/slim",slm:"text/slim",spdx:"text/spdx",stylus:"text/stylus",styl:"text/stylus",tsv:"text/tab-separated-values",t:"text/troff",tr:"text/troff",roff:"text/troff",man:"text/troff",me:"text/troff",ms:"text/troff",ttl:"text/turtle",uri:"text/uri-list",uris:"text/uri-list",urls:"text/uri-list",vcard:"text/vcard",vtt:"text/vtt",yaml:"text/yaml",yml:"text/yaml","3gp":"video/3gpp","3g2":"video/3gpp2",h261:"video/h261",h263:"video/h263",h264:"video/h264",m4s:"video/iso.segment",jpgv:"video/jpeg",jpgm:"image/jpm",mj2:"video/mj2",mjp2:"video/mj2",ts:"video/mp2t",mp4:"video/mp4",mp4v:"video/mp4",mpg4:"video/mp4",mpeg:"video/mpeg",mpg:"video/mpeg",mpe:"video/mpeg",m1v:"video/mpeg",m2v:"video/mpeg",ogv:"video/ogg",qt:"video/quicktime",mov:"video/quicktime",webm:"video/webm"};function fc(e){let t=(""+e).trim().toLowerCase(),n=t.lastIndexOf(".");return cc[~n?t.substring(++n):t]}function uc(e,t){return`${e}${t}`.replace(/\/+/g,"/")}function As(e){return Ur.test(e)||!e.startsWith("/")?e:uc(lt.value.base,e)}function pc(e){let t=e.replace(/\.html$/,"");if(t=decodeURIComponent(t),t=t.replace(/\/$/,"/index"),Ce){const n="/";t=Ts(t.slice(n.length).replace(/\//g,"_")||"index")+".md";let i=__VP_HASH_MAP__[t.toLowerCase()];if(i||(t=t.endsWith("_index.md")?t.slice(0,-9)+".md":t.slice(0,-3)+"_index.md",i=__VP_HASH_MAP__[t.toLowerCase()]),!i)return null;t=`${n}assets/${t}.${i}.js`}else t=`./${Ts(t.slice(1).replace(/\//g,"_"))}.md.js`;return t}let cn=[];function qc(e){cn.push(e),Fn(()=>{cn=cn.filter(t=>t!==e)})}const dc=Symbol(),zr="http://a.com",mc=()=>({path:"/",component:null,data:Wr});function Vc(e,t){const n=Tn(mc()),i={route:n,go:r};async function r(l=Ce?location.href:"/"){var a,f;l=ai(l),await((a=i.onBeforeRouteChange)==null?void 0:a.call(i,l))!==!1&&(Rs(l),await o(l),await((f=i.onAfterRouteChanged)==null?void 0:f.call(i,l)))}let s=null;async function o(l,a=0,f=!1){var x;if(await((x=i.onBeforePageLoad)==null?void 0:x.call(i,l))===!1)return;const p=new URL(l,zr),d=s=p.pathname;try{let _=await e(d);if(!_)throw new Error(`Page not found: ${d}`);if(s===d){s=null;const{default:E,__pageData:S}=_;if(!E)throw new Error(`Invalid route component: ${E}`);n.path=Ce?d:As(d),n.component=Ft(E),n.data=Ft(S),Ce&&jn(()=>{let M=lt.value.base+S.relativePath.replace(/(?:(^|\/)index)?\.md$/,"$1");if(!lt.value.cleanUrls&&!M.endsWith("/")&&(M+=".html"),M!==p.pathname&&(p.pathname=M,l=M+p.search+p.hash,history.replaceState(null,"",l)),p.hash&&!a){let U=null;try{U=document.getElementById(decodeURIComponent(p.hash).slice(1))}catch(L){console.warn(L)}if(U){js(U,p.hash);return}}window.scrollTo(0,a)})}}catch(_){if(!/fetch|Page not found/.test(_.message)&&!/^\/404(\.html|\/)?$/.test(l)&&console.error(_),!f)try{const E=await fetch(lt.value.base+"hashmap.json");window.__VP_HASH_MAP__=await E.json(),await o(l,a,!0);return}catch{}s===d&&(s=null,n.path=Ce?d:As(d),n.component=t?Ft(t):null,n.data=Wr)}}return Ce&&(window.addEventListener("click",l=>{if(l.target.closest("button"))return;const f=l.target.closest("a");if(f&&!f.closest(".vp-raw")&&(f instanceof SVGElement||!f.download)){const{target:p}=f,{href:d,origin:x,pathname:_,hash:E,search:S}=new URL(f.href instanceof SVGAnimatedString?f.href.animVal:f.href,f.baseURI),M=window.location,U=fc(_);!l.ctrlKey&&!l.shiftKey&&!l.altKey&&!l.metaKey&&!p&&x===M.origin&&(!U||U==="text/html")&&(l.preventDefault(),_===M.pathname&&S===M.search?(E!==M.hash&&(history.pushState(null,"",E),window.dispatchEvent(new Event("hashchange"))),E?js(f,E,f.classList.contains("header-anchor")):(Rs(d),window.scrollTo(0,0))):r(d))}},{capture:!0}),window.addEventListener("popstate",async l=>{var a;await o(ai(location.href),l.state&&l.state.scrollPosition||0),(a=i.onAfterRouteChanged)==null||a.call(i,location.href)}),window.addEventListener("hashchange",l=>{l.preventDefault()})),i}function hc(){const e=yt(dc);if(!e)throw new Error("useRouter() is called without provider.");return e}function Yr(){return hc().route}function js(e,t,n=!1){let i=null;try{i=e.classList.contains("header-anchor")?e:document.getElementById(decodeURIComponent(t).slice(1))}catch(r){console.warn(r)}if(i){let r=function(){!n||Math.abs(f-window.scrollY)>window.innerHeight?window.scrollTo(0,f):window.scrollTo({left:0,top:f,behavior:"smooth"})},s=lt.value.scrollOffset,o=0,l=24;if(typeof s=="object"&&"padding"in s&&(l=s.padding,s=s.selector),typeof s=="number")o=s;else if(typeof s=="string")o=Ss(s,l);else if(Array.isArray(s))for(const p of s){const d=Ss(p,l);if(d){o=d;break}}const a=parseInt(window.getComputedStyle(i).paddingTop,10),f=window.scrollY+i.getBoundingClientRect().top-o+a;requestAnimationFrame(r)}}function Ss(e,t){const n=document.querySelector(e);if(!n)return 0;const i=n.getBoundingClientRect().bottom;return i<0?0:i+t}function Rs(e){Ce&&e!==ai(location.href)&&(history.replaceState({scrollPosition:window.scrollY},document.title),history.pushState(null,"",e))}function ai(e){const t=new URL(e,zr);return t.pathname=t.pathname.replace(/(^|\/)index(\.html)?$/,"$1"),lt.value.cleanUrls?t.pathname=t.pathname.replace(/\.html$/,""):!t.pathname.endsWith("/")&&!t.pathname.endsWith(".html")&&(t.pathname+=".html"),t.pathname+t.search+t.hash}const Os=()=>cn.forEach(e=>e()),zc=Ai({name:"VitePressContent",props:{as:{type:[Object,String],default:"div"}},setup(e){const t=Yr(),{site:n}=ac();return()=>oi(e.as,n.value.contentProps??{style:{position:"relative"}},[t.component?oi(t.component,{onVnodeMounted:Os,onVnodeUpdated:Os}):"404 Page Not Found"])}}),Yc=Ai({setup(e,{slots:t}){const n=ue(!1);return jt(()=>{n.value=!0}),()=>n.value&&t.default?t.default():null}});function Jc(){Ce&&window.addEventListener("click",e=>{var n;const t=e.target;if(t.matches(".vp-code-group input")){const i=(n=t.parentElement)==null?void 0:n.parentElement;if(!i)return;const r=Array.from(i.querySelectorAll("input")).indexOf(t);if(r<0)return;const s=i.querySelector(".blocks");if(!s)return;const o=Array.from(s.children).find(f=>f.classList.contains("active"));if(!o)return;const l=s.children[r];if(!l||o===l)return;o.classList.remove("active"),l.classList.add("active");const a=i==null?void 0:i.querySelector(`label[for="${t.id}"]`);a==null||a.scrollIntoView({block:"nearest"})}})}function Xc(){if(Ce){const e=new WeakMap;window.addEventListener("click",t=>{var i;const n=t.target;if(n.matches('div[class*="language-"] > button.copy')){const r=n.parentElement,s=(i=n.nextElementSibling)==null?void 0:i.nextElementSibling;if(!r||!s)return;const o=/language-(shellscript|shell|bash|sh|zsh)/.test(r.className);let l="";s.querySelectorAll("span.line:not(.diff.remove)").forEach(a=>l+=(a.textContent||"")+` -`),l=l.slice(0,-1),o&&(l=l.replace(/^ *(\$|>) /gm,"").trim()),gc(l).then(()=>{n.classList.add("copied"),clearTimeout(e.get(n));const a=setTimeout(()=>{n.classList.remove("copied"),n.blur(),e.delete(n)},2e3);e.set(n,a)})}})}}async function gc(e){try{return navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea"),n=document.activeElement;t.value=e,t.setAttribute("readonly",""),t.style.contain="strict",t.style.position="absolute",t.style.left="-9999px",t.style.fontSize="12pt";const i=document.getSelection(),r=i?i.rangeCount>0&&i.getRangeAt(0):null;document.body.appendChild(t),t.select(),t.selectionStart=0,t.selectionEnd=e.length,document.execCommand("copy"),document.body.removeChild(t),r&&(i.removeAllRanges(),i.addRange(r)),n&&n.focus()}}function Qc(e,t){let n=[],i=!0;const r=s=>{if(i){i=!1;return}const o=s.map(Ps);n.forEach((l,a)=>{const f=o.findIndex(p=>p==null?void 0:p.isEqualNode(l??null));f!==-1?delete o[f]:(l==null||l.remove(),delete n[a])}),o.forEach(l=>l&&document.head.appendChild(l)),n=[...n,...o].filter(Boolean)};or(()=>{const s=e.data,o=t.value,l=s&&s.description,a=s&&s.frontmatter.head||[],f=qr(o,s);f!==document.title&&(document.title=f);const p=l||o.description;let d=document.querySelector("meta[name=description]");d?d.getAttribute("content")!==p&&d.setAttribute("content",p):Ps(["meta",{name:"description",content:p}]),r(Vr(o.head,vc(a)))})}function Ps([e,t,n]){const i=document.createElement(e);for(const r in t)i.setAttribute(r,t[r]);return n&&(i.innerHTML=n),e==="script"&&!t.async&&(i.async=!1),i}function xc(e){return e[0]==="meta"&&e[1]&&e[1].name==="description"}function vc(e){return e.filter(t=>!xc(t))}const Yn=new Set,Jr=()=>document.createElement("link"),yc=e=>{const t=Jr();t.rel="prefetch",t.href=e,document.head.appendChild(t)},bc=e=>{const t=new XMLHttpRequest;t.open("GET",e,t.withCredentials=!0),t.send()};let on;const _c=Ce&&(on=Jr())&&on.relList&&on.relList.supports&&on.relList.supports("prefetch")?yc:bc;function Zc(){if(!Ce||!window.IntersectionObserver)return;let e;if((e=navigator.connection)&&(e.saveData||/2g/.test(e.effectiveType)))return;const t=window.requestIdleCallback||setTimeout;let n=null;const i=()=>{n&&n.disconnect(),n=new IntersectionObserver(s=>{s.forEach(o=>{if(o.isIntersecting){const l=o.target;n.unobserve(l);const{pathname:a}=l;if(!Yn.has(a)){Yn.add(a);const f=pc(a);f&&_c(f)}}})}),t(()=>{document.querySelectorAll("#app a").forEach(s=>{const{hostname:o,pathname:l}=new URL(s.href instanceof SVGAnimatedString?s.href.animVal:s.href,s.baseURI),a=l.match(/\.\w+$/);a&&a[0]!==".html"||s.target!=="_blank"&&o===location.hostname&&(l!==location.pathname?n.observe(s):Yn.add(l))})})};jt(i);const r=Yr();Ye(()=>r.path,i),Fn(()=>{n&&n.disconnect()})}export{Nc as $,Fn as A,jc as B,hl as C,Tc as D,Rc as E,ge as F,Xs as G,qc as H,ne as I,Ac as J,Ur as K,Yr as L,Kl as M,yt as N,di as O,jn as P,Kc as Q,Mc as R,An as S,Ir as T,Bc as U,Wo as V,Sc as W,Dc as X,Uc as Y,Rl as Z,$c as _,Sr as a,Pc as a0,kc as a1,Ic as a2,Qc as a3,dc as a4,Wc as a5,lc as a6,zc as a7,Yc as a8,lt as a9,Hc as aa,Vc as ab,pc as ac,Zc as ad,Xc as ae,Jc as af,oi as ag,hc as ah,Tr as b,Fc as c,Ai as d,Lc as e,As as f,re as g,ue as h,tc as i,jt as j,jr as k,fc as l,Ci as m,mi as n,Cr as o,Cc as p,Ec as q,Oc as r,ec as s,wc as t,ac as u,Ce as v,el as w,Ua as x,Ye as y,or as z}; diff --git a/docs/assets/chunks/theme.CheDV2Px.js b/docs/assets/chunks/theme.CheDV2Px.js new file mode 100644 index 00000000..ced4fc2e --- /dev/null +++ b/docs/assets/chunks/theme.CheDV2Px.js @@ -0,0 +1,2 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/chunks/VPAlgoliaSearchBox.DzEkD6Vr.js","assets/chunks/framework.CdbxnhrM.js"])))=>i.map(i=>d[i]); +import{d as m,o as a,c as u,r as c,n as I,a as z,t as M,b as k,w as p,e as h,T as ue,_ as b,u as Ae,i as He,f as Be,g as de,h as g,j as d,k as r,l as K,m as re,p as w,q as D,s as Y,v as j,x as Q,y as ve,z as Ee,A as Fe,B as q,F as A,C as H,D as ge,E as Z,G as _,H as E,I as $e,J as x,K as U,L as ee,M as De,N as ye,O as Oe,P as Pe,Q as Le,R as te,S as Ge,U as Ue,V as je,W as Ve,X as Se,Y as ze,Z as Ke,$ as qe,a0 as We,a1 as Re}from"./framework.CdbxnhrM.js";const Je=m({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),u("span",{class:I(["VPBadge",e.type])},[c(e.$slots,"default",{},()=>[z(M(e.text),1)])],2))}}),Xe={key:0,class:"VPBackdrop"},Ye=m({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),k(ue,{name:"fade"},{default:p(()=>[e.show?(a(),u("div",Xe)):h("",!0)]),_:1}))}}),Qe=b(Ye,[["__scopeId","data-v-54a304ca"]]),V=Ae;function Ze(s,e){let t,o=!1;return()=>{t&&clearTimeout(t),o?t=setTimeout(s,e):(s(),(o=!0)&&setTimeout(()=>o=!1,e))}}function ie(s){return/^\//.test(s)?s:`/${s}`}function pe(s){const{pathname:e,search:t,hash:o,protocol:n}=new URL(s,"http://a.com");if(He(s)||s.startsWith("#")||!n.startsWith("http")||!Be(e))return s;const{site:i}=V(),l=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,i.value.cleanUrls?"":".html")}${t}${o}`);return de(l)}function R({correspondingLink:s=!1}={}){const{site:e,localeIndex:t,page:o,theme:n,hash:i}=V(),l=g(()=>{var v,$;return{label:(v=e.value.locales[t.value])==null?void 0:v.label,link:(($=e.value.locales[t.value])==null?void 0:$.link)||(t.value==="root"?"/":`/${t.value}/`)}});return{localeLinks:g(()=>Object.entries(e.value.locales).flatMap(([v,$])=>l.value.label===$.label?[]:{text:$.label,link:xe($.link||(v==="root"?"/":`/${v}/`),n.value.i18nRouting!==!1&&s,o.value.relativePath.slice(l.value.link.length-1),!e.value.cleanUrls)+i.value})),currentLang:l}}function xe(s,e,t,o){return e?s.replace(/\/$/,"")+ie(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,o?".html":"")):s}const et={class:"NotFound"},tt={class:"code"},nt={class:"title"},ot={class:"quote"},st={class:"action"},at=["href","aria-label"],rt=m({__name:"NotFound",setup(s){const{theme:e}=V(),{currentLang:t}=R();return(o,n)=>{var i,l,f,v,$;return a(),u("div",et,[d("p",tt,M(((i=r(e).notFound)==null?void 0:i.code)??"404"),1),d("h1",nt,M(((l=r(e).notFound)==null?void 0:l.title)??"PAGE NOT FOUND"),1),n[0]||(n[0]=d("div",{class:"divider"},null,-1)),d("blockquote",ot,M(((f=r(e).notFound)==null?void 0:f.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),d("div",st,[d("a",{class:"link",href:r(de)(r(t).link),"aria-label":((v=r(e).notFound)==null?void 0:v.linkLabel)??"go to home"},M((($=r(e).notFound)==null?void 0:$.linkText)??"Take me home"),9,at)])])}}}),it=b(rt,[["__scopeId","data-v-6ff51ddd"]]);function Te(s,e){if(Array.isArray(s))return J(s);if(s==null)return[];e=ie(e);const t=Object.keys(s).sort((n,i)=>i.split("/").length-n.split("/").length).find(n=>e.startsWith(ie(n))),o=t?s[t]:[];return Array.isArray(o)?J(o):J(o.items,o.base)}function lt(s){const e=[];let t=0;for(const o in s){const n=s[o];if(n.items){t=e.push(n);continue}e[t]||e.push({items:[]}),e[t].items.push(n)}return e}function ct(s){const e=[];function t(o){for(const n of o)n.text&&n.link&&e.push({text:n.text,link:n.link,docFooterText:n.docFooterText}),n.items&&t(n.items)}return t(s),e}function le(s,e){return Array.isArray(e)?e.some(t=>le(s,t)):K(s,e.link)?!0:e.items?le(s,e.items):!1}function J(s,e){return[...s].map(t=>{const o={...t},n=o.base||e;return n&&o.link&&(o.link=n+o.link),o.items&&(o.items=J(o.items,n)),o})}function O(){const{frontmatter:s,page:e,theme:t}=V(),o=re("(min-width: 960px)"),n=w(!1),i=g(()=>{const C=t.value.sidebar,N=e.value.relativePath;return C?Te(C,N):[]}),l=w(i.value);D(i,(C,N)=>{JSON.stringify(C)!==JSON.stringify(N)&&(l.value=i.value)});const f=g(()=>s.value.sidebar!==!1&&l.value.length>0&&s.value.layout!=="home"),v=g(()=>$?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),$=g(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),S=g(()=>f.value&&o.value),y=g(()=>f.value?lt(l.value):[]);function P(){n.value=!0}function T(){n.value=!1}function L(){n.value?T():P()}return{isOpen:n,sidebar:l,sidebarGroups:y,hasSidebar:f,hasAside:$,leftAside:v,isSidebarEnabled:S,open:P,close:T,toggle:L}}function ut(s,e){let t;Y(()=>{t=s.value?document.activeElement:void 0}),j(()=>{window.addEventListener("keyup",o)}),Q(()=>{window.removeEventListener("keyup",o)});function o(n){n.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}function dt(s){const{page:e,hash:t}=V(),o=w(!1),n=g(()=>s.value.collapsed!=null),i=g(()=>!!s.value.link),l=w(!1),f=()=>{l.value=K(e.value.relativePath,s.value.link)};D([e,s,t],f),j(f);const v=g(()=>l.value?!0:s.value.items?le(e.value.relativePath,s.value.items):!1),$=g(()=>!!(s.value.items&&s.value.items.length));Y(()=>{o.value=!!(n.value&&s.value.collapsed)}),ve(()=>{(l.value||v.value)&&(o.value=!1)});function S(){n.value&&(o.value=!o.value)}return{collapsed:o,collapsible:n,isLink:i,isActiveLink:l,hasActiveLink:v,hasChildren:$,toggle:S}}function vt(){const{hasSidebar:s}=O(),e=re("(min-width: 960px)"),t=re("(min-width: 1280px)");return{isAsideEnabled:g(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const ce=[];function Ne(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function fe(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const o=Number(t.tagName[1]);return{element:t,title:pt(t),link:"#"+t.id,level:o}});return ft(e,s)}function pt(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor")||t.classList.contains("ignore-header"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function ft(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[o,n]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;return _t(s,o,n)}function ht(s,e){const{isAsideEnabled:t}=vt(),o=Ze(i,100);let n=null;j(()=>{requestAnimationFrame(i),window.addEventListener("scroll",o)}),Ee(()=>{l(location.hash)}),Q(()=>{window.removeEventListener("scroll",o)});function i(){if(!t.value)return;const f=window.scrollY,v=window.innerHeight,$=document.body.offsetHeight,S=Math.abs(f+v-$)<1,y=ce.map(({element:T,link:L})=>({link:L,top:mt(T)})).filter(({top:T})=>!Number.isNaN(T)).sort((T,L)=>T.top-L.top);if(!y.length){l(null);return}if(f<1){l(null);return}if(S){l(y[y.length-1].link);return}let P=null;for(const{link:T,top:L}of y){if(L>f+Fe()+4)break;P=T}l(P)}function l(f){n&&n.classList.remove("active"),f==null?n=null:n=s.value.querySelector(`a[href="${decodeURIComponent(f)}"]`);const v=n;v?(v.classList.add("active"),e.value.style.top=v.offsetTop+39+"px",e.value.style.opacity="1"):(e.value.style.top="33px",e.value.style.opacity="0")}}function mt(s){let e=0;for(;s!==document.body;){if(s===null)return NaN;e+=s.offsetTop,s=s.offsetParent}return e}function _t(s,e,t){ce.length=0;const o=[],n=[];return s.forEach(i=>{const l={...i,children:[]};let f=n[n.length-1];for(;f&&f.level>=l.level;)n.pop(),f=n[n.length-1];if(l.element.classList.contains("ignore-header")||f&&"shouldIgnore"in f){n.push({level:l.level,shouldIgnore:!0});return}l.level>t||l.level{const n=q("VPDocOutlineItem",!0);return a(),u("ul",{class:I(["VPDocOutlineItem",t.root?"root":"nested"])},[(a(!0),u(A,null,H(t.headers,({children:i,link:l,title:f})=>(a(),u("li",null,[d("a",{class:"outline-link",href:l,onClick:e,title:f},M(f),9,kt),i!=null&&i.length?(a(),k(n,{key:0,headers:i},null,8,["headers"])):h("",!0)]))),256))],2)}}}),we=b(bt,[["__scopeId","data-v-53c99d69"]]),gt={class:"content"},$t={"aria-level":"2",class:"outline-title",id:"doc-outline-aria-label",role:"heading"},yt=m({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=V(),o=ge([]);Z(()=>{o.value=fe(e.value.outline??t.value.outline)});const n=w(),i=w();return ht(n,i),(l,f)=>(a(),u("nav",{"aria-labelledby":"doc-outline-aria-label",class:I(["VPDocAsideOutline",{"has-outline":o.value.length>0}]),ref_key:"container",ref:n},[d("div",gt,[d("div",{class:"outline-marker",ref_key:"marker",ref:i},null,512),d("div",$t,M(r(Ne)(r(t))),1),_(we,{headers:o.value,root:!0},null,8,["headers"])])],2))}}),Pt=b(yt,[["__scopeId","data-v-f610f197"]]),Lt={class:"VPDocAsideCarbonAds"},Vt=m({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,o)=>(a(),u("div",Lt,[_(r(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),St={class:"VPDocAside"},Tt=m({__name:"VPDocAside",setup(s){const{theme:e}=V();return(t,o)=>(a(),u("div",St,[c(t.$slots,"aside-top",{},void 0,!0),c(t.$slots,"aside-outline-before",{},void 0,!0),_(Pt),c(t.$slots,"aside-outline-after",{},void 0,!0),o[0]||(o[0]=d("div",{class:"spacer"},null,-1)),c(t.$slots,"aside-ads-before",{},void 0,!0),r(e).carbonAds?(a(),k(Vt,{key:0,"carbon-ads":r(e).carbonAds},null,8,["carbon-ads"])):h("",!0),c(t.$slots,"aside-ads-after",{},void 0,!0),c(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Nt=b(Tt,[["__scopeId","data-v-cb998dce"]]);function wt(){const{theme:s,page:e}=V();return g(()=>{const{text:t="Edit this page",pattern:o=""}=s.value.editLink||{};let n;return typeof o=="function"?n=o(e.value):n=o.replace(/:path/g,e.value.filePath),{url:n,text:t}})}function It(){const{page:s,theme:e,frontmatter:t}=V();return g(()=>{var $,S,y,P,T,L,C,N;const o=Te(e.value.sidebar,s.value.relativePath),n=ct(o),i=Mt(n,B=>B.link.replace(/[?#].*$/,"")),l=i.findIndex(B=>K(s.value.relativePath,B.link)),f=(($=e.value.docFooter)==null?void 0:$.prev)===!1&&!t.value.prev||t.value.prev===!1,v=((S=e.value.docFooter)==null?void 0:S.next)===!1&&!t.value.next||t.value.next===!1;return{prev:f?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((y=i[l-1])==null?void 0:y.docFooterText)??((P=i[l-1])==null?void 0:P.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((T=i[l-1])==null?void 0:T.link)},next:v?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((L=i[l+1])==null?void 0:L.docFooterText)??((C=i[l+1])==null?void 0:C.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((N=i[l+1])==null?void 0:N.link)}}})}function Mt(s,e){const t=new Set;return s.filter(o=>{const n=e(o);return t.has(n)?!1:t.add(n)})}const F=m({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=g(()=>e.tag??(e.href?"a":"span")),o=g(()=>e.href&&$e.test(e.href)||e.target==="_blank");return(n,i)=>(a(),k(E(t.value),{class:I(["VPLink",{link:n.href,"vp-external-link-icon":o.value,"no-icon":n.noIcon}]),href:n.href?r(pe)(n.href):void 0,target:n.target??(o.value?"_blank":void 0),rel:n.rel??(o.value?"noreferrer":void 0)},{default:p(()=>[c(n.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Ct={class:"VPLastUpdated"},At=["datetime"],Ht=m({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,lang:o}=V(),n=g(()=>new Date(t.value.lastUpdated)),i=g(()=>n.value.toISOString()),l=w("");return j(()=>{Y(()=>{var f,v,$;l.value=new Intl.DateTimeFormat((v=(f=e.value.lastUpdated)==null?void 0:f.formatOptions)!=null&&v.forceLocale?o.value:void 0,(($=e.value.lastUpdated)==null?void 0:$.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(n.value)})}),(f,v)=>{var $;return a(),u("p",Ct,[z(M((($=r(e).lastUpdated)==null?void 0:$.text)||r(e).lastUpdatedText||"Last updated")+": ",1),d("time",{datetime:i.value},M(l.value),9,At)])}}}),Bt=b(Ht,[["__scopeId","data-v-1bb0c8a8"]]),Et={key:0,class:"VPDocFooter"},Ft={key:0,class:"edit-info"},Dt={key:0,class:"edit-link"},Ot={key:1,class:"last-updated"},Gt={key:1,class:"prev-next","aria-labelledby":"doc-footer-aria-label"},Ut={class:"pager"},jt=["innerHTML"],zt=["innerHTML"],Kt={class:"pager"},qt=["innerHTML"],Wt=["innerHTML"],Rt=m({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:o}=V(),n=wt(),i=It(),l=g(()=>e.value.editLink&&o.value.editLink!==!1),f=g(()=>t.value.lastUpdated),v=g(()=>l.value||f.value||i.value.prev||i.value.next);return($,S)=>{var y,P,T,L;return v.value?(a(),u("footer",Et,[c($.$slots,"doc-footer-before",{},void 0,!0),l.value||f.value?(a(),u("div",Ft,[l.value?(a(),u("div",Dt,[_(F,{class:"edit-link-button",href:r(n).url,"no-icon":!0},{default:p(()=>[S[0]||(S[0]=d("span",{class:"vpi-square-pen edit-link-icon"},null,-1)),z(" "+M(r(n).text),1)]),_:1},8,["href"])])):h("",!0),f.value?(a(),u("div",Ot,[_(Bt)])):h("",!0)])):h("",!0),(y=r(i).prev)!=null&&y.link||(P=r(i).next)!=null&&P.link?(a(),u("nav",Gt,[S[1]||(S[1]=d("span",{class:"visually-hidden",id:"doc-footer-aria-label"},"Pager",-1)),d("div",Ut,[(T=r(i).prev)!=null&&T.link?(a(),k(F,{key:0,class:"pager-link prev",href:r(i).prev.link},{default:p(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.prev)||"Previous page"},null,8,jt),d("span",{class:"title",innerHTML:r(i).prev.text},null,8,zt)]}),_:1},8,["href"])):h("",!0)]),d("div",Kt,[(L=r(i).next)!=null&&L.link?(a(),k(F,{key:0,class:"pager-link next",href:r(i).next.link},{default:p(()=>{var C;return[d("span",{class:"desc",innerHTML:((C=r(e).docFooter)==null?void 0:C.next)||"Next page"},null,8,qt),d("span",{class:"title",innerHTML:r(i).next.text},null,8,Wt)]}),_:1},8,["href"])):h("",!0)])])):h("",!0)])):h("",!0)}}}),Jt=b(Rt,[["__scopeId","data-v-1bcd8184"]]),Xt={class:"container"},Yt={class:"aside-container"},Qt={class:"aside-content"},Zt={class:"content"},xt={class:"content-container"},en={class:"main"},tn=m({__name:"VPDoc",setup(s){const{theme:e}=V(),t=x(),{hasSidebar:o,hasAside:n,leftAside:i}=O(),l=g(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(f,v)=>{const $=q("Content");return a(),u("div",{class:I(["VPDoc",{"has-sidebar":r(o),"has-aside":r(n)}])},[c(f.$slots,"doc-top",{},void 0,!0),d("div",Xt,[r(n)?(a(),u("div",{key:0,class:I(["aside",{"left-aside":r(i)}])},[v[0]||(v[0]=d("div",{class:"aside-curtain"},null,-1)),d("div",Yt,[d("div",Qt,[_(Nt,null,{"aside-top":p(()=>[c(f.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[c(f.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[c(f.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(f.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(f.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(f.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):h("",!0),d("div",Zt,[d("div",xt,[c(f.$slots,"doc-before",{},void 0,!0),d("main",en,[_($,{class:I(["vp-doc",[l.value,r(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(Jt,null,{"doc-footer-before":p(()=>[c(f.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),c(f.$slots,"doc-after",{},void 0,!0)])])]),c(f.$slots,"doc-bottom",{},void 0,!0)],2)}}}),nn=b(tn,[["__scopeId","data-v-e6f2a212"]]),on=m({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{},target:{},rel:{}},setup(s){const e=s,t=g(()=>e.href&&$e.test(e.href)),o=g(()=>e.tag||(e.href?"a":"button"));return(n,i)=>(a(),k(E(o.value),{class:I(["VPButton",[n.size,n.theme]]),href:n.href?r(pe)(n.href):void 0,target:e.target??(t.value?"_blank":void 0),rel:e.rel??(t.value?"noreferrer":void 0)},{default:p(()=>[z(M(n.text),1)]),_:1},8,["class","href","target","rel"]))}}),sn=b(on,[["__scopeId","data-v-93dc4167"]]),an=["src","alt"],rn=m({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const o=q("VPImage",!0);return e.image?(a(),u(A,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),u("img",U({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:r(de)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,an)):(a(),u(A,{key:1},[_(o,U({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),_(o,U({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):h("",!0)}}}),X=b(rn,[["__scopeId","data-v-ab19afbb"]]),ln={class:"container"},cn={class:"main"},un={key:0,class:"name"},dn=["innerHTML"],vn=["innerHTML"],pn=["innerHTML"],fn={key:0,class:"actions"},hn={key:0,class:"image"},mn={class:"image-container"},_n=m({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=ee("hero-image-slot-exists");return(t,o)=>(a(),u("div",{class:I(["VPHero",{"has-image":t.image||r(e)}])},[d("div",ln,[d("div",cn,[c(t.$slots,"home-hero-info-before",{},void 0,!0),c(t.$slots,"home-hero-info",{},()=>[t.name?(a(),u("h1",un,[d("span",{innerHTML:t.name,class:"clip"},null,8,dn)])):h("",!0),t.text?(a(),u("p",{key:1,innerHTML:t.text,class:"text"},null,8,vn)):h("",!0),t.tagline?(a(),u("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,pn)):h("",!0)],!0),c(t.$slots,"home-hero-info-after",{},void 0,!0),t.actions?(a(),u("div",fn,[(a(!0),u(A,null,H(t.actions,n=>(a(),u("div",{key:n.link,class:"action"},[_(sn,{tag:"a",size:"medium",theme:n.theme,text:n.text,href:n.link,target:n.target,rel:n.rel},null,8,["theme","text","href","target","rel"])]))),128))])):h("",!0),c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),t.image||r(e)?(a(),u("div",hn,[d("div",mn,[o[0]||(o[0]=d("div",{class:"image-bg"},null,-1)),c(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(X,{key:0,class:"image-src",image:t.image},null,8,["image"])):h("",!0)],!0)])])):h("",!0)])],2))}}),kn=b(_n,[["__scopeId","data-v-b10c5094"]]),bn=m({__name:"VPHomeHero",setup(s){const{frontmatter:e}=V();return(t,o)=>r(e).hero?(a(),k(kn,{key:0,class:"VPHomeHero",name:r(e).hero.name,text:r(e).hero.text,tagline:r(e).hero.tagline,image:r(e).hero.image,actions:r(e).hero.actions},{"home-hero-info-before":p(()=>[c(t.$slots,"home-hero-info-before")]),"home-hero-info":p(()=>[c(t.$slots,"home-hero-info")]),"home-hero-info-after":p(()=>[c(t.$slots,"home-hero-info-after")]),"home-hero-actions-after":p(()=>[c(t.$slots,"home-hero-actions-after")]),"home-hero-image":p(()=>[c(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):h("",!0)}}),gn={class:"box"},$n={key:0,class:"icon"},yn=["innerHTML"],Pn=["innerHTML"],Ln=["innerHTML"],Vn={key:4,class:"link-text"},Sn={class:"link-text-value"},Tn=m({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),k(F,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:p(()=>[d("article",gn,[typeof e.icon=="object"&&e.icon.wrap?(a(),u("div",$n,[_(X,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(X,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),u("div",{key:2,class:"icon",innerHTML:e.icon},null,8,yn)):h("",!0),d("h2",{class:"title",innerHTML:e.title},null,8,Pn),e.details?(a(),u("p",{key:3,class:"details",innerHTML:e.details},null,8,Ln)):h("",!0),e.linkText?(a(),u("div",Vn,[d("p",Sn,[z(M(e.linkText)+" ",1),t[0]||(t[0]=d("span",{class:"vpi-arrow-right link-text-icon"},null,-1))])])):h("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),Nn=b(Tn,[["__scopeId","data-v-bd37d1a2"]]),wn={key:0,class:"VPFeatures"},In={class:"container"},Mn={class:"items"},Cn=m({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=g(()=>{const o=e.features.length;if(o){if(o===2)return"grid-2";if(o===3)return"grid-3";if(o%3===0)return"grid-6";if(o>3)return"grid-4"}else return});return(o,n)=>o.features?(a(),u("div",wn,[d("div",In,[d("div",Mn,[(a(!0),u(A,null,H(o.features,i=>(a(),u("div",{key:i.title,class:I(["item",[t.value]])},[_(Nn,{icon:i.icon,title:i.title,details:i.details,link:i.link,"link-text":i.linkText,rel:i.rel,target:i.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):h("",!0)}}),An=b(Cn,[["__scopeId","data-v-b1eea84a"]]),Hn=m({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=V();return(t,o)=>r(e).features?(a(),k(An,{key:0,class:"VPHomeFeatures",features:r(e).features},null,8,["features"])):h("",!0)}}),Bn=m({__name:"VPHomeContent",setup(s){const{width:e}=De({initialWidth:0,includeScrollbar:!1});return(t,o)=>(a(),u("div",{class:"vp-doc container",style:ye(r(e)?{"--vp-offset":`calc(50% - ${r(e)/2}px)`}:{})},[c(t.$slots,"default",{},void 0,!0)],4))}}),En=b(Bn,[["__scopeId","data-v-c141a4bd"]]),Fn={class:"VPHome"},Dn=m({__name:"VPHome",setup(s){const{frontmatter:e}=V();return(t,o)=>{const n=q("Content");return a(),u("div",Fn,[c(t.$slots,"home-hero-before",{},void 0,!0),_(bn,null,{"home-hero-info-before":p(()=>[c(t.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(t.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(t.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(t.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(t.$slots,"home-hero-image",{},void 0,!0)]),_:3}),c(t.$slots,"home-hero-after",{},void 0,!0),c(t.$slots,"home-features-before",{},void 0,!0),_(Hn),c(t.$slots,"home-features-after",{},void 0,!0),r(e).markdownStyles!==!1?(a(),k(En,{key:0},{default:p(()=>[_(n)]),_:1})):(a(),k(n,{key:1}))])}}}),On=b(Dn,[["__scopeId","data-v-07b1ad08"]]),Gn={},Un={class:"VPPage"};function jn(s,e){const t=q("Content");return a(),u("div",Un,[c(s.$slots,"page-top"),_(t),c(s.$slots,"page-bottom")])}const zn=b(Gn,[["render",jn]]),Kn=m({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=V(),{hasSidebar:o}=O();return(n,i)=>(a(),u("div",{class:I(["VPContent",{"has-sidebar":r(o),"is-home":r(t).layout==="home"}]),id:"VPContent"},[r(e).isNotFound?c(n.$slots,"not-found",{key:0},()=>[_(it)],!0):r(t).layout==="page"?(a(),k(zn,{key:1},{"page-top":p(()=>[c(n.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[c(n.$slots,"page-bottom",{},void 0,!0)]),_:3})):r(t).layout==="home"?(a(),k(On,{key:2},{"home-hero-before":p(()=>[c(n.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":p(()=>[c(n.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(n.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(n.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(n.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(n.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[c(n.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[c(n.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[c(n.$slots,"home-features-after",{},void 0,!0)]),_:3})):r(t).layout&&r(t).layout!=="doc"?(a(),k(E(r(t).layout),{key:3})):(a(),k(nn,{key:4},{"doc-top":p(()=>[c(n.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[c(n.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":p(()=>[c(n.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[c(n.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[c(n.$slots,"doc-after",{},void 0,!0)]),"aside-top":p(()=>[c(n.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":p(()=>[c(n.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(n.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(n.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(n.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":p(()=>[c(n.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),qn=b(Kn,[["__scopeId","data-v-9a6c75ad"]]),Wn={class:"container"},Rn=["innerHTML"],Jn=["innerHTML"],Xn=m({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=V(),{hasSidebar:o}=O();return(n,i)=>r(e).footer&&r(t).footer!==!1?(a(),u("footer",{key:0,class:I(["VPFooter",{"has-sidebar":r(o)}])},[d("div",Wn,[r(e).footer.message?(a(),u("p",{key:0,class:"message",innerHTML:r(e).footer.message},null,8,Rn)):h("",!0),r(e).footer.copyright?(a(),u("p",{key:1,class:"copyright",innerHTML:r(e).footer.copyright},null,8,Jn)):h("",!0)])],2)):h("",!0)}}),Yn=b(Xn,[["__scopeId","data-v-566314d4"]]);function Qn(){const{theme:s,frontmatter:e}=V(),t=ge([]),o=g(()=>t.value.length>0);return Z(()=>{t.value=fe(e.value.outline??s.value.outline)}),{headers:t,hasLocalNav:o}}const Zn={class:"menu-text"},xn={class:"header"},eo={class:"outline"},to=m({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=V(),o=w(!1),n=w(0),i=w(),l=w();function f(y){var P;(P=i.value)!=null&&P.contains(y.target)||(o.value=!1)}D(o,y=>{if(y){document.addEventListener("click",f);return}document.removeEventListener("click",f)}),Oe("Escape",()=>{o.value=!1}),Z(()=>{o.value=!1});function v(){o.value=!o.value,n.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function $(y){y.target.classList.contains("outline-link")&&(l.value&&(l.value.style.transition="none"),Pe(()=>{o.value=!1}))}function S(){o.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return(y,P)=>(a(),u("div",{class:"VPLocalNavOutlineDropdown",style:ye({"--vp-vh":n.value+"px"}),ref_key:"main",ref:i},[y.headers.length>0?(a(),u("button",{key:0,onClick:v,class:I({open:o.value})},[d("span",Zn,M(r(Ne)(r(t))),1),P[0]||(P[0]=d("span",{class:"vpi-chevron-right icon"},null,-1))],2)):(a(),u("button",{key:1,onClick:S},M(r(t).returnToTopLabel||"Return to top"),1)),_(ue,{name:"flyout"},{default:p(()=>[o.value?(a(),u("div",{key:0,ref_key:"items",ref:l,class:"items",onClick:$},[d("div",xn,[d("a",{class:"top-link",href:"#",onClick:S},M(r(t).returnToTopLabel||"Return to top"),1)]),d("div",eo,[_(we,{headers:y.headers},null,8,["headers"])])],512)):h("",!0)]),_:1})],4))}}),no=b(to,[["__scopeId","data-v-883964e0"]]),oo={class:"container"},so=["aria-expanded"],ao={class:"menu-text"},ro=m({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=V(),{hasSidebar:o}=O(),{headers:n}=Qn(),{y:i}=Le(),l=w(0);j(()=>{l.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Z(()=>{n.value=fe(t.value.outline??e.value.outline)});const f=g(()=>n.value.length===0),v=g(()=>f.value&&!o.value),$=g(()=>({VPLocalNav:!0,"has-sidebar":o.value,empty:f.value,fixed:v.value}));return(S,y)=>r(t).layout!=="home"&&(!v.value||r(i)>=l.value)?(a(),u("div",{key:0,class:I($.value)},[d("div",oo,[r(o)?(a(),u("button",{key:0,class:"menu","aria-expanded":S.open,"aria-controls":"VPSidebarNav",onClick:y[0]||(y[0]=P=>S.$emit("open-menu"))},[y[1]||(y[1]=d("span",{class:"vpi-align-left menu-icon"},null,-1)),d("span",ao,M(r(e).sidebarMenuLabel||"Menu"),1)],8,so)):h("",!0),_(no,{headers:r(n),navHeight:l.value},null,8,["headers","navHeight"])])],2)):h("",!0)}}),io=b(ro,[["__scopeId","data-v-2488c25a"]]);function lo(){const s=w(!1);function e(){s.value=!0,window.addEventListener("resize",n)}function t(){s.value=!1,window.removeEventListener("resize",n)}function o(){s.value?t():e()}function n(){window.outerWidth>=768&&t()}const i=x();return D(()=>i.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:o}}const co={},uo={class:"VPSwitch",type:"button",role:"switch"},vo={class:"check"},po={key:0,class:"icon"};function fo(s,e){return a(),u("button",uo,[d("span",vo,[s.$slots.default?(a(),u("span",po,[c(s.$slots,"default",{},void 0,!0)])):h("",!0)])])}const ho=b(co,[["render",fo],["__scopeId","data-v-b4ccac88"]]),mo=m({__name:"VPSwitchAppearance",setup(s){const{isDark:e,theme:t}=V(),o=ee("toggle-appearance",()=>{e.value=!e.value}),n=w("");return ve(()=>{n.value=e.value?t.value.lightModeSwitchTitle||"Switch to light theme":t.value.darkModeSwitchTitle||"Switch to dark theme"}),(i,l)=>(a(),k(ho,{title:n.value,class:"VPSwitchAppearance","aria-checked":r(e),onClick:r(o)},{default:p(()=>l[0]||(l[0]=[d("span",{class:"vpi-sun sun"},null,-1),d("span",{class:"vpi-moon moon"},null,-1)])),_:1},8,["title","aria-checked","onClick"]))}}),he=b(mo,[["__scopeId","data-v-be9742d9"]]),_o={key:0,class:"VPNavBarAppearance"},ko=m({__name:"VPNavBarAppearance",setup(s){const{site:e}=V();return(t,o)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",_o,[_(he)])):h("",!0)}}),bo=b(ko,[["__scopeId","data-v-3f90c1a5"]]),me=w();let Ie=!1,ae=0;function go(s){const e=w(!1);if(te){!Ie&&$o(),ae++;const t=D(me,o=>{var n,i,l;o===s.el.value||(n=s.el.value)!=null&&n.contains(o)?(e.value=!0,(i=s.onFocus)==null||i.call(s)):(e.value=!1,(l=s.onBlur)==null||l.call(s))});Q(()=>{t(),ae--,ae||yo()})}return Ge(e)}function $o(){document.addEventListener("focusin",Me),Ie=!0,me.value=document.activeElement}function yo(){document.removeEventListener("focusin",Me)}function Me(){me.value=document.activeElement}const Po={class:"VPMenuLink"},Lo=["innerHTML"],Vo=m({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=V();return(t,o)=>(a(),u("div",Po,[_(F,{class:I({active:r(K)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon},{default:p(()=>[d("span",{innerHTML:t.item.text},null,8,Lo)]),_:1},8,["class","href","target","rel","no-icon"])]))}}),ne=b(Vo,[["__scopeId","data-v-7eeeb2dc"]]),So={class:"VPMenuGroup"},To={key:0,class:"title"},No=m({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",So,[e.text?(a(),u("p",To,M(e.text),1)):h("",!0),(a(!0),u(A,null,H(e.items,o=>(a(),u(A,null,["link"in o?(a(),k(ne,{key:0,item:o},null,8,["item"])):h("",!0)],64))),256))]))}}),wo=b(No,[["__scopeId","data-v-a6b0397c"]]),Io={class:"VPMenu"},Mo={key:0,class:"items"},Co=m({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),u("div",Io,[e.items?(a(),u("div",Mo,[(a(!0),u(A,null,H(e.items,o=>(a(),u(A,{key:JSON.stringify(o)},["link"in o?(a(),k(ne,{key:0,item:o},null,8,["item"])):"component"in o?(a(),k(E(o.component),U({key:1,ref_for:!0},o.props),null,16)):(a(),k(wo,{key:2,text:o.text,items:o.items},null,8,["text","items"]))],64))),128))])):h("",!0),c(e.$slots,"default",{},void 0,!0)]))}}),Ao=b(Co,[["__scopeId","data-v-20ed86d6"]]),Ho=["aria-expanded","aria-label"],Bo={key:0,class:"text"},Eo=["innerHTML"],Fo={key:1,class:"vpi-more-horizontal icon"},Do={class:"menu"},Oo=m({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=w(!1),t=w();go({el:t,onBlur:o});function o(){e.value=!1}return(n,i)=>(a(),u("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:i[1]||(i[1]=l=>e.value=!0),onMouseleave:i[2]||(i[2]=l=>e.value=!1)},[d("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":n.label,onClick:i[0]||(i[0]=l=>e.value=!e.value)},[n.button||n.icon?(a(),u("span",Bo,[n.icon?(a(),u("span",{key:0,class:I([n.icon,"option-icon"])},null,2)):h("",!0),n.button?(a(),u("span",{key:1,innerHTML:n.button},null,8,Eo)):h("",!0),i[3]||(i[3]=d("span",{class:"vpi-chevron-down text-icon"},null,-1))])):(a(),u("span",Fo))],8,Ho),d("div",Do,[_(Ao,{items:n.items},{default:p(()=>[c(n.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),_e=b(Oo,[["__scopeId","data-v-bfe7971f"]]),Go=["href","aria-label","innerHTML"],Uo=m({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=w();j(async()=>{var i;await Pe();const n=(i=t.value)==null?void 0:i.children[0];n instanceof HTMLElement&&n.className.startsWith("vpi-social-")&&(getComputedStyle(n).maskImage||getComputedStyle(n).webkitMaskImage)==="none"&&n.style.setProperty("--icon",`url('https://api.iconify.design/simple-icons/${e.icon}.svg')`)});const o=g(()=>typeof e.icon=="object"?e.icon.svg:``);return(n,i)=>(a(),u("a",{ref_key:"el",ref:t,class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:o.value},null,8,Go))}}),jo=b(Uo,[["__scopeId","data-v-60a9a2d3"]]),zo={class:"VPSocialLinks"},Ko=m({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),u("div",zo,[(a(!0),u(A,null,H(e.links,({link:o,icon:n,ariaLabel:i})=>(a(),k(jo,{key:o,icon:n,link:o,ariaLabel:i},null,8,["icon","link","ariaLabel"]))),128))]))}}),ke=b(Ko,[["__scopeId","data-v-e71e869c"]]),qo={key:0,class:"group translations"},Wo={class:"trans-title"},Ro={key:1,class:"group"},Jo={class:"item appearance"},Xo={class:"label"},Yo={class:"appearance-action"},Qo={key:2,class:"group"},Zo={class:"item social-links"},xo=m({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=V(),{localeLinks:o,currentLang:n}=R({correspondingLink:!0}),i=g(()=>o.value.length&&n.value.label||e.value.appearance||t.value.socialLinks);return(l,f)=>i.value?(a(),k(_e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:p(()=>[r(o).length&&r(n).label?(a(),u("div",qo,[d("p",Wo,M(r(n).label),1),(a(!0),u(A,null,H(r(o),v=>(a(),k(ne,{key:v.link,item:v},null,8,["item"]))),128))])):h("",!0),r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Ro,[d("div",Jo,[d("p",Xo,M(r(t).darkModeSwitchLabel||"Appearance"),1),d("div",Yo,[_(he)])])])):h("",!0),r(t).socialLinks?(a(),u("div",Qo,[d("div",Zo,[_(ke,{class:"social-links-list",links:r(t).socialLinks},null,8,["links"])])])):h("",!0)]),_:1})):h("",!0)}}),es=b(xo,[["__scopeId","data-v-f953d92f"]]),ts=["aria-expanded"],ns=m({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),u("button",{type:"button",class:I(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=o=>e.$emit("click"))},t[1]||(t[1]=[d("span",{class:"container"},[d("span",{class:"top"}),d("span",{class:"middle"}),d("span",{class:"bottom"})],-1)]),10,ts))}}),os=b(ns,[["__scopeId","data-v-6bee1efd"]]),ss=["innerHTML"],as=m({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=V();return(t,o)=>(a(),k(F,{class:I({VPNavBarMenuLink:!0,active:r(K)(r(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,tabindex:"0"},{default:p(()=>[d("span",{innerHTML:t.item.text},null,8,ss)]),_:1},8,["class","href","target","rel","no-icon"]))}}),rs=b(as,[["__scopeId","data-v-815115f5"]]),is=m({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=V(),o=i=>"component"in i?!1:"link"in i?K(t.value.relativePath,i.link,!!e.item.activeMatch):i.items.some(o),n=g(()=>o(e.item));return(i,l)=>(a(),k(_e,{class:I({VPNavBarMenuGroup:!0,active:r(K)(r(t).relativePath,i.item.activeMatch,!!i.item.activeMatch)||n.value}),button:i.item.text,items:i.item.items},null,8,["class","button","items"]))}}),ls={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},cs=m({__name:"VPNavBarMenu",setup(s){const{theme:e}=V();return(t,o)=>r(e).nav?(a(),u("nav",ls,[o[0]||(o[0]=d("span",{id:"main-nav-aria-label",class:"visually-hidden"}," Main Navigation ",-1)),(a(!0),u(A,null,H(r(e).nav,n=>(a(),u(A,{key:JSON.stringify(n)},["link"in n?(a(),k(rs,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(E(n.component),U({key:1,ref_for:!0},n.props),null,16)):(a(),k(is,{key:2,item:n},null,8,["item"]))],64))),128))])):h("",!0)}}),us=b(cs,[["__scopeId","data-v-afb2845e"]]);function ds(s){const{localeIndex:e,theme:t}=V();function o(n){var L,C,N;const i=n.split("."),l=(L=t.value.search)==null?void 0:L.options,f=l&&typeof l=="object",v=f&&((N=(C=l.locales)==null?void 0:C[e.value])==null?void 0:N.translations)||null,$=f&&l.translations||null;let S=v,y=$,P=s;const T=i.pop();for(const B of i){let G=null;const W=P==null?void 0:P[B];W&&(G=P=W);const oe=y==null?void 0:y[B];oe&&(G=y=oe);const se=S==null?void 0:S[B];se&&(G=S=se),W||(P=G),oe||(y=G),se||(S=G)}return(S==null?void 0:S[T])??(y==null?void 0:y[T])??(P==null?void 0:P[T])??""}return o}const vs=["aria-label"],ps={class:"DocSearch-Button-Container"},fs={class:"DocSearch-Button-Placeholder"},be=m({__name:"VPNavBarSearchButton",setup(s){const t=ds({button:{buttonText:"Search",buttonAriaLabel:"Search"}});return(o,n)=>(a(),u("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":r(t)("button.buttonAriaLabel")},[d("span",ps,[n[0]||(n[0]=d("span",{class:"vp-icon DocSearch-Search-Icon"},null,-1)),d("span",fs,M(r(t)("button.buttonText")),1)]),n[1]||(n[1]=d("span",{class:"DocSearch-Button-Keys"},[d("kbd",{class:"DocSearch-Button-Key"}),d("kbd",{class:"DocSearch-Button-Key"},"K")],-1))],8,vs))}}),hs={class:"VPNavBarSearch"},ms={id:"local-search"},_s={key:1,id:"docsearch"},ks=m({__name:"VPNavBarSearch",setup(s){const e=()=>null,t=Ue(()=>je(()=>import("./VPAlgoliaSearchBox.DzEkD6Vr.js"),__vite__mapDeps([0,1]))),{theme:o}=V(),n=w(!1),i=w(!1),l=()=>{const P="VPAlgoliaPreconnect";(window.requestIdleCallback||setTimeout)(()=>{var C;const L=document.createElement("link");L.id=P,L.rel="preconnect",L.href=`https://${(((C=o.value.search)==null?void 0:C.options)??o.value.algolia).appId}-dsn.algolia.net`,L.crossOrigin="",document.head.appendChild(L)})};j(()=>{l();const P=L=>{(L.key.toLowerCase()==="k"&&(L.metaKey||L.ctrlKey)||!$(L)&&L.key==="/")&&(L.preventDefault(),f(),T())},T=()=>{window.removeEventListener("keydown",P)};window.addEventListener("keydown",P),Q(T)});function f(){n.value||(n.value=!0,setTimeout(v,16))}function v(){const P=new Event("keydown");P.key="k",P.metaKey=!0,window.dispatchEvent(P),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function $(P){const T=P.target,L=T.tagName;return T.isContentEditable||L==="INPUT"||L==="SELECT"||L==="TEXTAREA"}const S=w(!1),y="algolia";return(P,T)=>{var L;return a(),u("div",hs,[r(y)==="local"?(a(),u(A,{key:0},[S.value?(a(),k(r(e),{key:0,onClose:T[0]||(T[0]=C=>S.value=!1)})):h("",!0),d("div",ms,[_(be,{onClick:T[1]||(T[1]=C=>S.value=!0)})])],64)):r(y)==="algolia"?(a(),u(A,{key:1},[n.value?(a(),k(r(t),{key:0,algolia:((L=r(o).search)==null?void 0:L.options)??r(o).algolia,onVnodeBeforeMount:T[2]||(T[2]=C=>i.value=!0)},null,8,["algolia"])):h("",!0),i.value?h("",!0):(a(),u("div",_s,[_(be,{onClick:f})]))],64)):h("",!0)])}}}),bs=m({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=V();return(t,o)=>r(e).socialLinks?(a(),k(ke,{key:0,class:"VPNavBarSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),gs=b(bs,[["__scopeId","data-v-ef6192dc"]]),$s=["href","rel","target"],ys=["innerHTML"],Ps={key:2},Ls=m({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=V(),{hasSidebar:o}=O(),{currentLang:n}=R(),i=g(()=>{var v;return typeof t.value.logoLink=="string"?t.value.logoLink:(v=t.value.logoLink)==null?void 0:v.link}),l=g(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.rel}),f=g(()=>{var v;return typeof t.value.logoLink=="string"||(v=t.value.logoLink)==null?void 0:v.target});return(v,$)=>(a(),u("div",{class:I(["VPNavBarTitle",{"has-sidebar":r(o)}])},[d("a",{class:"title",href:i.value??r(pe)(r(n).link),rel:l.value,target:f.value},[c(v.$slots,"nav-bar-title-before",{},void 0,!0),r(t).logo?(a(),k(X,{key:0,class:"logo",image:r(t).logo},null,8,["image"])):h("",!0),r(t).siteTitle?(a(),u("span",{key:1,innerHTML:r(t).siteTitle},null,8,ys)):r(t).siteTitle===void 0?(a(),u("span",Ps,M(r(e).title),1)):h("",!0),c(v.$slots,"nav-bar-title-after",{},void 0,!0)],8,$s)],2))}}),Vs=b(Ls,[["__scopeId","data-v-9f43907a"]]),Ss={class:"items"},Ts={class:"title"},Ns=m({__name:"VPNavBarTranslations",setup(s){const{theme:e}=V(),{localeLinks:t,currentLang:o}=R({correspondingLink:!0});return(n,i)=>r(t).length&&r(o).label?(a(),k(_e,{key:0,class:"VPNavBarTranslations",icon:"vpi-languages",label:r(e).langMenuLabel||"Change language"},{default:p(()=>[d("div",Ss,[d("p",Ts,M(r(o).label),1),(a(!0),u(A,null,H(r(t),l=>(a(),k(ne,{key:l.link,item:l},null,8,["item"]))),128))])]),_:1},8,["label"])):h("",!0)}}),ws=b(Ns,[["__scopeId","data-v-acee064b"]]),Is={class:"wrapper"},Ms={class:"container"},Cs={class:"title"},As={class:"content"},Hs={class:"content-body"},Bs=m({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const e=s,{y:t}=Le(),{hasSidebar:o}=O(),{frontmatter:n}=V(),i=w({});return ve(()=>{i.value={"has-sidebar":o.value,home:n.value.layout==="home",top:t.value===0,"screen-open":e.isScreenOpen}}),(l,f)=>(a(),u("div",{class:I(["VPNavBar",i.value])},[d("div",Is,[d("div",Ms,[d("div",Cs,[_(Vs,null,{"nav-bar-title-before":p(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),d("div",As,[d("div",Hs,[c(l.$slots,"nav-bar-content-before",{},void 0,!0),_(ks,{class:"search"}),_(us,{class:"menu"}),_(ws,{class:"translations"}),_(bo,{class:"appearance"}),_(gs,{class:"social-links"}),_(es,{class:"extra"}),c(l.$slots,"nav-bar-content-after",{},void 0,!0),_(os,{class:"hamburger",active:l.isScreenOpen,onClick:f[0]||(f[0]=v=>l.$emit("toggle-screen"))},null,8,["active"])])])])]),f[1]||(f[1]=d("div",{class:"divider"},[d("div",{class:"divider-line"})],-1))],2))}}),Es=b(Bs,[["__scopeId","data-v-9fd4d1dd"]]),Fs={key:0,class:"VPNavScreenAppearance"},Ds={class:"text"},Os=m({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=V();return(o,n)=>r(e).appearance&&r(e).appearance!=="force-dark"&&r(e).appearance!=="force-auto"?(a(),u("div",Fs,[d("p",Ds,M(r(t).darkModeSwitchLabel||"Appearance"),1),_(he)])):h("",!0)}}),Gs=b(Os,[["__scopeId","data-v-a3e2920d"]]),Us=["innerHTML"],js=m({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=ee("close-screen");return(t,o)=>(a(),k(F,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:p(()=>[d("span",{innerHTML:t.item.text},null,8,Us)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),zs=b(js,[["__scopeId","data-v-fa963d97"]]),Ks=["innerHTML"],qs=m({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=ee("close-screen");return(t,o)=>(a(),k(F,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,"no-icon":t.item.noIcon,onClick:r(e)},{default:p(()=>[d("span",{innerHTML:t.item.text},null,8,Ks)]),_:1},8,["href","target","rel","no-icon","onClick"]))}}),Ce=b(qs,[["__scopeId","data-v-e04f3e85"]]),Ws={class:"VPNavScreenMenuGroupSection"},Rs={key:0,class:"title"},Js=m({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),u("div",Ws,[e.text?(a(),u("p",Rs,M(e.text),1)):h("",!0),(a(!0),u(A,null,H(e.items,o=>(a(),k(Ce,{key:o.text,item:o},null,8,["item"]))),128))]))}}),Xs=b(Js,[["__scopeId","data-v-f60dbfa7"]]),Ys=["aria-controls","aria-expanded"],Qs=["innerHTML"],Zs=["id"],xs={key:0,class:"item"},ea={key:1,class:"item"},ta={key:2,class:"group"},na=m({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=w(!1),o=g(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function n(){t.value=!t.value}return(i,l)=>(a(),u("div",{class:I(["VPNavScreenMenuGroup",{open:t.value}])},[d("button",{class:"button","aria-controls":o.value,"aria-expanded":t.value,onClick:n},[d("span",{class:"button-text",innerHTML:i.text},null,8,Qs),l[0]||(l[0]=d("span",{class:"vpi-plus button-icon"},null,-1))],8,Ys),d("div",{id:o.value,class:"items"},[(a(!0),u(A,null,H(i.items,f=>(a(),u(A,{key:JSON.stringify(f)},["link"in f?(a(),u("div",xs,[_(Ce,{item:f},null,8,["item"])])):"component"in f?(a(),u("div",ea,[(a(),k(E(f.component),U({ref_for:!0},f.props,{"screen-menu":""}),null,16))])):(a(),u("div",ta,[_(Xs,{text:f.text,items:f.items},null,8,["text","items"])]))],64))),128))],8,Zs)],2))}}),oa=b(na,[["__scopeId","data-v-d99bfeec"]]),sa={key:0,class:"VPNavScreenMenu"},aa=m({__name:"VPNavScreenMenu",setup(s){const{theme:e}=V();return(t,o)=>r(e).nav?(a(),u("nav",sa,[(a(!0),u(A,null,H(r(e).nav,n=>(a(),u(A,{key:JSON.stringify(n)},["link"in n?(a(),k(zs,{key:0,item:n},null,8,["item"])):"component"in n?(a(),k(E(n.component),U({key:1,ref_for:!0},n.props,{"screen-menu":""}),null,16)):(a(),k(oa,{key:2,text:n.text||"",items:n.items},null,8,["text","items"]))],64))),128))])):h("",!0)}}),ra=m({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=V();return(t,o)=>r(e).socialLinks?(a(),k(ke,{key:0,class:"VPNavScreenSocialLinks",links:r(e).socialLinks},null,8,["links"])):h("",!0)}}),ia={class:"list"},la=m({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=R({correspondingLink:!0}),o=w(!1);function n(){o.value=!o.value}return(i,l)=>r(e).length&&r(t).label?(a(),u("div",{key:0,class:I(["VPNavScreenTranslations",{open:o.value}])},[d("button",{class:"title",onClick:n},[l[0]||(l[0]=d("span",{class:"vpi-languages icon lang"},null,-1)),z(" "+M(r(t).label)+" ",1),l[1]||(l[1]=d("span",{class:"vpi-chevron-down icon chevron"},null,-1))]),d("ul",ia,[(a(!0),u(A,null,H(r(e),f=>(a(),u("li",{key:f.link,class:"item"},[_(F,{class:"link",href:f.link},{default:p(()=>[z(M(f.text),1)]),_:2},1032,["href"])]))),128))])],2)):h("",!0)}}),ca=b(la,[["__scopeId","data-v-516e4bc3"]]),ua={class:"container"},da=m({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=w(null),t=Ve(te?document.body:null);return(o,n)=>(a(),k(ue,{name:"fade",onEnter:n[0]||(n[0]=i=>t.value=!0),onAfterLeave:n[1]||(n[1]=i=>t.value=!1)},{default:p(()=>[o.open?(a(),u("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[d("div",ua,[c(o.$slots,"nav-screen-content-before",{},void 0,!0),_(aa,{class:"menu"}),_(ca,{class:"translations"}),_(Gs,{class:"appearance"}),_(ra,{class:"social-links"}),c(o.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):h("",!0)]),_:3}))}}),va=b(da,[["__scopeId","data-v-2dd6d0c7"]]),pa={key:0,class:"VPNav"},fa=m({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:o}=lo(),{frontmatter:n}=V(),i=g(()=>n.value.navbar!==!1);return Se("close-screen",t),Y(()=>{te&&document.documentElement.classList.toggle("hide-nav",!i.value)}),(l,f)=>i.value?(a(),u("header",pa,[_(Es,{"is-screen-open":r(e),onToggleScreen:r(o)},{"nav-bar-title-before":p(()=>[c(l.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(l.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[c(l.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[c(l.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(va,{open:r(e)},{"nav-screen-content-before":p(()=>[c(l.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[c(l.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):h("",!0)}}),ha=b(fa,[["__scopeId","data-v-7ad780c2"]]),ma=["role","tabindex"],_a={key:1,class:"items"},ka=m({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:o,isLink:n,isActiveLink:i,hasActiveLink:l,hasChildren:f,toggle:v}=dt(g(()=>e.item)),$=g(()=>f.value?"section":"div"),S=g(()=>n.value?"a":"div"),y=g(()=>f.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),P=g(()=>n.value?void 0:"button"),T=g(()=>[[`level-${e.depth}`],{collapsible:o.value},{collapsed:t.value},{"is-link":n.value},{"is-active":i.value},{"has-active":l.value}]);function L(N){"key"in N&&N.key!=="Enter"||!e.item.link&&v()}function C(){e.item.link&&v()}return(N,B)=>{const G=q("VPSidebarItem",!0);return a(),k(E($.value),{class:I(["VPSidebarItem",T.value])},{default:p(()=>[N.item.text?(a(),u("div",U({key:0,class:"item",role:P.value},Ke(N.item.items?{click:L,keydown:L}:{},!0),{tabindex:N.item.items&&0}),[B[1]||(B[1]=d("div",{class:"indicator"},null,-1)),N.item.link?(a(),k(F,{key:0,tag:S.value,class:"link",href:N.item.link,rel:N.item.rel,target:N.item.target},{default:p(()=>[(a(),k(E(y.value),{class:"text",innerHTML:N.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(E(y.value),{key:1,class:"text",innerHTML:N.item.text},null,8,["innerHTML"])),N.item.collapsed!=null&&N.item.items&&N.item.items.length?(a(),u("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:C,onKeydown:ze(C,["enter"]),tabindex:"0"},B[0]||(B[0]=[d("span",{class:"vpi-chevron-right caret-icon"},null,-1)]),32)):h("",!0)],16,ma)):h("",!0),N.item.items&&N.item.items.length?(a(),u("div",_a,[N.depth<5?(a(!0),u(A,{key:0},H(N.item.items,W=>(a(),k(G,{key:W.text,item:W,depth:N.depth+1},null,8,["item","depth"]))),128)):h("",!0)])):h("",!0)]),_:1},8,["class"])}}}),ba=b(ka,[["__scopeId","data-v-edd2eed8"]]),ga=m({__name:"VPSidebarGroup",props:{items:{}},setup(s){const e=w(!0);let t=null;return j(()=>{t=setTimeout(()=>{t=null,e.value=!1},300)}),qe(()=>{t!=null&&(clearTimeout(t),t=null)}),(o,n)=>(a(!0),u(A,null,H(o.items,i=>(a(),u("div",{key:i.text,class:I(["group",{"no-transition":e.value}])},[_(ba,{item:i,depth:0},null,8,["item"])],2))),128))}}),$a=b(ga,[["__scopeId","data-v-51288d80"]]),ya={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Pa=m({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=O(),o=s,n=w(null),i=Ve(te?document.body:null);D([o,n],()=>{var f;o.open?(i.value=!0,(f=n.value)==null||f.focus()):i.value=!1},{immediate:!0,flush:"post"});const l=w(0);return D(e,()=>{l.value+=1},{deep:!0}),(f,v)=>r(t)?(a(),u("aside",{key:0,class:I(["VPSidebar",{open:f.open}]),ref_key:"navEl",ref:n,onClick:v[0]||(v[0]=We(()=>{},["stop"]))},[v[2]||(v[2]=d("div",{class:"curtain"},null,-1)),d("nav",ya,[v[1]||(v[1]=d("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),c(f.$slots,"sidebar-nav-before",{},void 0,!0),(a(),k($a,{items:r(e),key:l.value},null,8,["items"])),c(f.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):h("",!0)}}),La=b(Pa,[["__scopeId","data-v-42c4c606"]]),Va=m({__name:"VPSkipLink",setup(s){const e=x(),t=w();D(()=>e.path,()=>t.value.focus());function o({target:n}){const i=document.getElementById(decodeURIComponent(n.hash).slice(1));if(i){const l=()=>{i.removeAttribute("tabindex"),i.removeEventListener("blur",l)};i.setAttribute("tabindex","-1"),i.addEventListener("blur",l),i.focus(),window.scrollTo(0,0)}}return(n,i)=>(a(),u(A,null,[d("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),d("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:o}," Skip to content ")],64))}}),Sa=b(Va,[["__scopeId","data-v-c8291ffa"]]),Ta=m({__name:"Layout",setup(s){const{isOpen:e,open:t,close:o}=O(),n=x();D(()=>n.path,o),ut(e,o);const{frontmatter:i}=V(),l=Re(),f=g(()=>!!l["home-hero-image"]);return Se("hero-image-slot-exists",f),(v,$)=>{const S=q("Content");return r(i).layout!==!1?(a(),u("div",{key:0,class:I(["Layout",r(i).pageClass])},[c(v.$slots,"layout-top",{},void 0,!0),_(Sa),_(Qe,{class:"backdrop",show:r(e),onClick:r(o)},null,8,["show","onClick"]),_(ha,null,{"nav-bar-title-before":p(()=>[c(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":p(()=>[c(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":p(()=>[c(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":p(()=>[c(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":p(()=>[c(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":p(()=>[c(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(io,{open:r(e),onOpenMenu:r(t)},null,8,["open","onOpenMenu"]),_(La,{open:r(e)},{"sidebar-nav-before":p(()=>[c(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":p(()=>[c(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(qn,null,{"page-top":p(()=>[c(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":p(()=>[c(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":p(()=>[c(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":p(()=>[c(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info-before":p(()=>[c(v.$slots,"home-hero-info-before",{},void 0,!0)]),"home-hero-info":p(()=>[c(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-info-after":p(()=>[c(v.$slots,"home-hero-info-after",{},void 0,!0)]),"home-hero-actions-after":p(()=>[c(v.$slots,"home-hero-actions-after",{},void 0,!0)]),"home-hero-image":p(()=>[c(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":p(()=>[c(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":p(()=>[c(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":p(()=>[c(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":p(()=>[c(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":p(()=>[c(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":p(()=>[c(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":p(()=>[c(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":p(()=>[c(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":p(()=>[c(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":p(()=>[c(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":p(()=>[c(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":p(()=>[c(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":p(()=>[c(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":p(()=>[c(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(Yn),c(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(S,{key:1}))}}}),Na=b(Ta,[["__scopeId","data-v-d8b57b2d"]]),Ia={Layout:Na,enhanceApp:({app:s})=>{s.component("Badge",Je)}};export{Ia as t,V as u}; diff --git a/docs/assets/chunks/theme.pvYGL-GL.js b/docs/assets/chunks/theme.pvYGL-GL.js deleted file mode 100644 index 3ec9cc16..00000000 --- a/docs/assets/chunks/theme.pvYGL-GL.js +++ /dev/null @@ -1,7 +0,0 @@ -import{d as g,o as a,c as l,r as u,n as N,a as H,t as S,_ as m,b as k,w as h,T as ce,e as f,u as ze,i as Ee,l as De,f as ue,g as b,h as T,j as U,k as c,m as i,p as E,q as D,s as x,v as R,x as re,y as G,z as ee,A as te,B as we,C as Fe,D as j,F as A,E as B,G as de,H as Y,I as _,J as O,K as Pe,L as se,M as X,N as ne,O as Oe,P as xe,Q as Ve,R as Ue,S as Ge,U as je,V as qe,W as Ke,X as Re,Y as Le,Z as Se,$ as We,a0 as Ye,a1 as Je,a2 as Xe}from"./framework.q7IuVqhY.js";const Ze=g({__name:"VPBadge",props:{text:{},type:{default:"tip"}},setup(s){return(e,t)=>(a(),l("span",{class:N(["VPBadge",e.type])},[u(e.$slots,"default",{},()=>[H(S(e.text),1)],!0)],2))}}),Qe=m(Ze,[["__scopeId","data-v-ea5b2908"]]),et={key:0,class:"VPBackdrop"},tt=g({__name:"VPBackdrop",props:{show:{type:Boolean}},setup(s){return(e,t)=>(a(),k(ce,{name:"fade"},{default:h(()=>[e.show?(a(),l("div",et)):f("",!0)]),_:1}))}}),st=m(tt,[["__scopeId","data-v-54a304ca"]]),y=ze;function nt(s,e){let t,n=!1;return()=>{t&&clearTimeout(t),n?t=setTimeout(s,e):(s(),(n=!0)&&setTimeout(()=>n=!1,e))}}function ie(s){return/^\//.test(s)?s:`/${s}`}function ve(s){const{pathname:e,search:t,hash:n,protocol:o}=new URL(s,"http://a.com");if(Ee(s)||s.startsWith("#")||!o.startsWith("http")||/\.(?!html|md)\w+($|\?)/i.test(s)&&De(s))return s;const{site:r}=y(),d=e.endsWith("/")||e.endsWith(".html")?s:s.replace(/(?:(^\.+)\/)?.*$/,`$1${e.replace(/(\.md)?$/,r.value.cleanUrls?"":".html")}${t}${n}`);return ue(d)}function J({removeCurrent:s=!0,correspondingLink:e=!1}={}){const{site:t,localeIndex:n,page:o,theme:r}=y(),d=b(()=>{var v,$;return{label:(v=t.value.locales[n.value])==null?void 0:v.label,link:(($=t.value.locales[n.value])==null?void 0:$.link)||(n.value==="root"?"/":`/${n.value}/`)}});return{localeLinks:b(()=>Object.entries(t.value.locales).flatMap(([v,$])=>s&&d.value.label===$.label?[]:{text:$.label,link:ot($.link||(v==="root"?"/":`/${v}/`),r.value.i18nRouting!==!1&&e,o.value.relativePath.slice(d.value.link.length-1),!t.value.cleanUrls)})),currentLang:d}}function ot(s,e,t,n){return e?s.replace(/\/$/,"")+ie(t.replace(/(^|\/)index\.md$/,"$1").replace(/\.md$/,n?".html":"")):s}const at=s=>(E("data-v-b9c0c15a"),s=s(),D(),s),rt={class:"NotFound"},it={class:"code"},lt={class:"title"},ct=at(()=>c("div",{class:"divider"},null,-1)),ut={class:"quote"},dt={class:"action"},vt=["href","aria-label"],ht=g({__name:"NotFound",setup(s){const{site:e,theme:t}=y(),{localeLinks:n}=J({removeCurrent:!1}),o=T("/");return U(()=>{var d;const r=window.location.pathname.replace(e.value.base,"").replace(/(^.*?\/).*$/,"/$1");n.value.length&&(o.value=((d=n.value.find(({link:p})=>p.startsWith(r)))==null?void 0:d.link)||n.value[0].link)}),(r,d)=>{var p,v,$,w,M;return a(),l("div",rt,[c("p",it,S(((p=i(t).notFound)==null?void 0:p.code)??"404"),1),c("h1",lt,S(((v=i(t).notFound)==null?void 0:v.title)??"PAGE NOT FOUND"),1),ct,c("blockquote",ut,S((($=i(t).notFound)==null?void 0:$.quote)??"But if you don't change your direction, and if you keep looking, you may end up where you are heading."),1),c("div",dt,[c("a",{class:"link",href:i(ue)(o.value),"aria-label":((w=i(t).notFound)==null?void 0:w.linkLabel)??"go to home"},S(((M=i(t).notFound)==null?void 0:M.linkText)??"Take me home"),9,vt)])])}}}),pt=m(ht,[["__scopeId","data-v-b9c0c15a"]]);function Me(s,e){if(Array.isArray(s))return Z(s);if(s==null)return[];e=ie(e);const t=Object.keys(s).sort((o,r)=>r.split("/").length-o.split("/").length).find(o=>e.startsWith(ie(o))),n=t?s[t]:[];return Array.isArray(n)?Z(n):Z(n.items,n.base)}function _t(s){const e=[];let t=0;for(const n in s){const o=s[n];if(o.items){t=e.push(o);continue}e[t]||e.push({items:[]}),e[t].items.push(o)}return e}function ft(s){const e=[];function t(n){for(const o of n)o.text&&o.link&&e.push({text:o.text,link:o.link,docFooterText:o.docFooterText}),o.items&&t(o.items)}return t(s),e}function le(s,e){return Array.isArray(e)?e.some(t=>le(s,t)):x(s,e.link)?!0:e.items?le(s,e.items):!1}function Z(s,e){return[...s].map(t=>{const n={...t},o=n.base||e;return o&&n.link&&(n.link=o+n.link),n.items&&(n.items=Z(n.items,o)),n})}function F(){const{frontmatter:s,page:e,theme:t}=y(),n=re("(min-width: 960px)"),o=T(!1),r=b(()=>{const I=t.value.sidebar,L=e.value.relativePath;return I?Me(I,L):[]}),d=T(r.value);G(r,(I,L)=>{JSON.stringify(I)!==JSON.stringify(L)&&(d.value=r.value)});const p=b(()=>s.value.sidebar!==!1&&d.value.length>0&&s.value.layout!=="home"),v=b(()=>$?s.value.aside==null?t.value.aside==="left":s.value.aside==="left":!1),$=b(()=>s.value.layout==="home"?!1:s.value.aside!=null?!!s.value.aside:t.value.aside!==!1),w=b(()=>p.value&&n.value),M=b(()=>p.value?_t(d.value):[]);function C(){o.value=!0}function V(){o.value=!1}function P(){o.value?V():C()}return{isOpen:o,sidebar:d,sidebarGroups:M,hasSidebar:p,hasAside:$,leftAside:v,isSidebarEnabled:w,open:C,close:V,toggle:P}}function mt(s,e){let t;ee(()=>{t=s.value?document.activeElement:void 0}),U(()=>{window.addEventListener("keyup",n)}),te(()=>{window.removeEventListener("keyup",n)});function n(o){o.key==="Escape"&&s.value&&(e(),t==null||t.focus())}}const Ce=T(R?location.hash:"");R&&window.addEventListener("hashchange",()=>{Ce.value=location.hash});function gt(s){const{page:e}=y(),t=T(!1),n=b(()=>s.value.collapsed!=null),o=b(()=>!!s.value.link),r=T(!1),d=()=>{r.value=x(e.value.relativePath,s.value.link)};G([e,s,Ce],d),U(d);const p=b(()=>r.value?!0:s.value.items?le(e.value.relativePath,s.value.items):!1),v=b(()=>!!(s.value.items&&s.value.items.length));ee(()=>{t.value=!!(n.value&&s.value.collapsed)}),we(()=>{(r.value||p.value)&&(t.value=!1)});function $(){n.value&&(t.value=!t.value)}return{collapsed:t,collapsible:n,isLink:o,isActiveLink:r,hasActiveLink:p,hasChildren:v,toggle:$}}function $t(){const{hasSidebar:s}=F(),e=re("(min-width: 960px)"),t=re("(min-width: 1280px)");return{isAsideEnabled:b(()=>!t.value&&!e.value?!1:s.value?t.value:e.value)}}const kt=71;function he(s){return typeof s.outline=="object"&&!Array.isArray(s.outline)&&s.outline.label||s.outlineTitle||"On this page"}function pe(s){const e=[...document.querySelectorAll(".VPDoc :where(h1,h2,h3,h4,h5,h6)")].filter(t=>t.id&&t.hasChildNodes()).map(t=>{const n=Number(t.tagName[1]);return{title:bt(t),link:"#"+t.id,level:n}});return yt(e,s)}function bt(s){let e="";for(const t of s.childNodes)if(t.nodeType===1){if(t.classList.contains("VPBadge")||t.classList.contains("header-anchor"))continue;e+=t.textContent}else t.nodeType===3&&(e+=t.textContent);return e.trim()}function yt(s,e){if(e===!1)return[];const t=(typeof e=="object"&&!Array.isArray(e)?e.level:e)||2,[n,o]=typeof t=="number"?[t,t]:t==="deep"?[2,6]:t;s=s.filter(d=>d.level>=n&&d.level<=o);const r=[];e:for(let d=0;d=0;v--){const $=s[v];if($.level{requestAnimationFrame(r),window.addEventListener("scroll",n)}),Fe(()=>{d(location.hash)}),te(()=>{window.removeEventListener("scroll",n)});function r(){if(!t.value)return;const p=[].slice.call(s.value.querySelectorAll(".outline-link")),v=[].slice.call(document.querySelectorAll(".content .header-anchor")).filter(V=>p.some(P=>P.hash===V.hash&&V.offsetParent!==null)),$=window.scrollY,w=window.innerHeight,M=document.body.offsetHeight,C=Math.abs($+w-M)<1;if(v.length&&C){d(v[v.length-1].hash);return}for(let V=0;V{const o=j("VPDocOutlineItem",!0);return a(),l("ul",{class:N(t.root?"root":"nested")},[(a(!0),l(A,null,B(t.headers,({children:r,link:d,title:p})=>(a(),l("li",null,[c("a",{class:"outline-link",href:d,onClick:e,title:p},S(p),9,Vt),r!=null&&r.length?(a(),k(o,{key:0,headers:r},null,8,["headers"])):f("",!0)]))),256))],2)}}}),_e=m(Lt,[["__scopeId","data-v-463da30f"]]),St=s=>(E("data-v-3a6c4994"),s=s(),D(),s),Mt={class:"content"},Ct={class:"outline-title",role:"heading","aria-level":"2"},It={"aria-labelledby":"doc-outline-aria-label"},Tt=St(()=>c("span",{class:"visually-hidden",id:"doc-outline-aria-label"}," Table of Contents for current page ",-1)),At=g({__name:"VPDocAsideOutline",setup(s){const{frontmatter:e,theme:t}=y(),n=de([]);Y(()=>{n.value=pe(e.value.outline??t.value.outline)});const o=T(),r=T();return wt(o,r),(d,p)=>(a(),l("div",{class:N(["VPDocAsideOutline",{"has-outline":n.value.length>0}]),ref_key:"container",ref:o,role:"navigation"},[c("div",Mt,[c("div",{class:"outline-marker",ref_key:"marker",ref:r},null,512),c("div",Ct,S(i(he)(i(t))),1),c("nav",It,[Tt,_(_e,{headers:n.value,root:!0},null,8,["headers"])])])],2))}}),Nt=m(At,[["__scopeId","data-v-3a6c4994"]]),Bt={class:"VPDocAsideCarbonAds"},Ht=g({__name:"VPDocAsideCarbonAds",props:{carbonAds:{}},setup(s){const e=()=>null;return(t,n)=>(a(),l("div",Bt,[_(i(e),{"carbon-ads":t.carbonAds},null,8,["carbon-ads"])]))}}),zt=s=>(E("data-v-cb998dce"),s=s(),D(),s),Et={class:"VPDocAside"},Dt=zt(()=>c("div",{class:"spacer"},null,-1)),Ft=g({__name:"VPDocAside",setup(s){const{theme:e}=y();return(t,n)=>(a(),l("div",Et,[u(t.$slots,"aside-top",{},void 0,!0),u(t.$slots,"aside-outline-before",{},void 0,!0),_(Nt),u(t.$slots,"aside-outline-after",{},void 0,!0),Dt,u(t.$slots,"aside-ads-before",{},void 0,!0),i(e).carbonAds?(a(),k(Ht,{key:0,"carbon-ads":i(e).carbonAds},null,8,["carbon-ads"])):f("",!0),u(t.$slots,"aside-ads-after",{},void 0,!0),u(t.$slots,"aside-bottom",{},void 0,!0)]))}}),Ot=m(Ft,[["__scopeId","data-v-cb998dce"]]);function xt(){const{theme:s,page:e}=y();return b(()=>{const{text:t="Edit this page",pattern:n=""}=s.value.editLink||{};let o;return typeof n=="function"?o=n(e.value):o=n.replace(/:path/g,e.value.filePath),{url:o,text:t}})}function Ut(){const{page:s,theme:e,frontmatter:t}=y();return b(()=>{var v,$,w,M,C,V,P,I;const n=Me(e.value.sidebar,s.value.relativePath),o=ft(n),r=o.findIndex(L=>x(s.value.relativePath,L.link)),d=((v=e.value.docFooter)==null?void 0:v.prev)===!1&&!t.value.prev||t.value.prev===!1,p=(($=e.value.docFooter)==null?void 0:$.next)===!1&&!t.value.next||t.value.next===!1;return{prev:d?void 0:{text:(typeof t.value.prev=="string"?t.value.prev:typeof t.value.prev=="object"?t.value.prev.text:void 0)??((w=o[r-1])==null?void 0:w.docFooterText)??((M=o[r-1])==null?void 0:M.text),link:(typeof t.value.prev=="object"?t.value.prev.link:void 0)??((C=o[r-1])==null?void 0:C.link)},next:p?void 0:{text:(typeof t.value.next=="string"?t.value.next:typeof t.value.next=="object"?t.value.next.text:void 0)??((V=o[r+1])==null?void 0:V.docFooterText)??((P=o[r+1])==null?void 0:P.text),link:(typeof t.value.next=="object"?t.value.next.link:void 0)??((I=o[r+1])==null?void 0:I.link)}}})}const Gt={},jt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},qt=c("path",{d:"M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"},null,-1),Kt=c("path",{d:"M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"},null,-1),Rt=[qt,Kt];function Wt(s,e){return a(),l("svg",jt,Rt)}const Yt=m(Gt,[["render",Wt]]),z=g({__name:"VPLink",props:{tag:{},href:{},noIcon:{type:Boolean},target:{},rel:{}},setup(s){const e=s,t=b(()=>e.tag??(e.href?"a":"span")),n=b(()=>e.href&&Pe.test(e.href));return(o,r)=>(a(),k(O(t.value),{class:N(["VPLink",{link:o.href,"vp-external-link-icon":n.value,"no-icon":o.noIcon}]),href:o.href?i(ve)(o.href):void 0,target:o.target??(n.value?"_blank":void 0),rel:o.rel??(n.value?"noreferrer":void 0)},{default:h(()=>[u(o.$slots,"default")]),_:3},8,["class","href","target","rel"]))}}),Jt={class:"VPLastUpdated"},Xt=["datetime"],Zt=g({__name:"VPDocFooterLastUpdated",setup(s){const{theme:e,page:t,frontmatter:n,lang:o}=y(),r=b(()=>new Date(n.value.lastUpdated??t.value.lastUpdated)),d=b(()=>r.value.toISOString()),p=T("");return U(()=>{ee(()=>{var v,$,w;p.value=new Intl.DateTimeFormat(($=(v=e.value.lastUpdated)==null?void 0:v.formatOptions)!=null&&$.forceLocale?o.value:void 0,((w=e.value.lastUpdated)==null?void 0:w.formatOptions)??{dateStyle:"short",timeStyle:"short"}).format(r.value)})}),(v,$)=>{var w;return a(),l("p",Jt,[H(S(((w=i(e).lastUpdated)==null?void 0:w.text)||i(e).lastUpdatedText||"Last updated")+": ",1),c("time",{datetime:d.value},S(p.value),9,Xt)])}}}),Qt=m(Zt,[["__scopeId","data-v-19a7ae4e"]]),es={key:0,class:"VPDocFooter"},ts={key:0,class:"edit-info"},ss={key:0,class:"edit-link"},ns={key:1,class:"last-updated"},os={key:1,class:"prev-next"},as={class:"pager"},rs=["innerHTML"],is=["innerHTML"],ls={class:"pager"},cs=["innerHTML"],us=["innerHTML"],ds=g({__name:"VPDocFooter",setup(s){const{theme:e,page:t,frontmatter:n}=y(),o=xt(),r=Ut(),d=b(()=>e.value.editLink&&n.value.editLink!==!1),p=b(()=>t.value.lastUpdated&&n.value.lastUpdated!==!1),v=b(()=>d.value||p.value||r.value.prev||r.value.next);return($,w)=>{var M,C,V,P;return v.value?(a(),l("footer",es,[u($.$slots,"doc-footer-before",{},void 0,!0),d.value||p.value?(a(),l("div",ts,[d.value?(a(),l("div",ss,[_(z,{class:"edit-link-button",href:i(o).url,"no-icon":!0},{default:h(()=>[_(Yt,{class:"edit-link-icon","aria-label":"edit icon"}),H(" "+S(i(o).text),1)]),_:1},8,["href"])])):f("",!0),p.value?(a(),l("div",ns,[_(Qt)])):f("",!0)])):f("",!0),(M=i(r).prev)!=null&&M.link||(C=i(r).next)!=null&&C.link?(a(),l("nav",os,[c("div",as,[(V=i(r).prev)!=null&&V.link?(a(),k(z,{key:0,class:"pager-link prev",href:i(r).prev.link},{default:h(()=>{var I;return[c("span",{class:"desc",innerHTML:((I=i(e).docFooter)==null?void 0:I.prev)||"Previous page"},null,8,rs),c("span",{class:"title",innerHTML:i(r).prev.text},null,8,is)]}),_:1},8,["href"])):f("",!0)]),c("div",ls,[(P=i(r).next)!=null&&P.link?(a(),k(z,{key:0,class:"pager-link next",href:i(r).next.link},{default:h(()=>{var I;return[c("span",{class:"desc",innerHTML:((I=i(e).docFooter)==null?void 0:I.next)||"Next page"},null,8,cs),c("span",{class:"title",innerHTML:i(r).next.text},null,8,us)]}),_:1},8,["href"])):f("",!0)])])):f("",!0)])):f("",!0)}}}),vs=m(ds,[["__scopeId","data-v-b4b63abf"]]),hs={},ps={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},_s=c("path",{d:"M9,19c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l5.3-5.3L8.3,6.7c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l6,6c0.4,0.4,0.4,1,0,1.4l-6,6C9.5,18.9,9.3,19,9,19z"},null,-1),fs=[_s];function ms(s,e){return a(),l("svg",ps,fs)}const fe=m(hs,[["render",ms]]),gs={key:0,class:"VPDocOutlineDropdown"},$s={key:0,class:"items"},ks=g({__name:"VPDocOutlineDropdown",setup(s){const{frontmatter:e,theme:t}=y(),n=T(!1);Y(()=>{n.value=!1});const o=de([]);return Y(()=>{o.value=pe(e.value.outline??t.value.outline)}),(r,d)=>o.value.length>0?(a(),l("div",gs,[c("button",{onClick:d[0]||(d[0]=p=>n.value=!n.value),class:N({open:n.value})},[H(S(i(he)(i(t)))+" ",1),_(fe,{class:"icon"})],2),n.value?(a(),l("div",$s,[_(_e,{headers:o.value},null,8,["headers"])])):f("",!0)])):f("",!0)}}),bs=m(ks,[["__scopeId","data-v-95bb0785"]]),ys=s=>(E("data-v-a3c25e27"),s=s(),D(),s),ws={class:"container"},Ps=ys(()=>c("div",{class:"aside-curtain"},null,-1)),Vs={class:"aside-container"},Ls={class:"aside-content"},Ss={class:"content"},Ms={class:"content-container"},Cs={class:"main"},Is=g({__name:"VPDoc",setup(s){const{theme:e}=y(),t=se(),{hasSidebar:n,hasAside:o,leftAside:r}=F(),d=b(()=>t.path.replace(/[./]+/g,"_").replace(/_html$/,""));return(p,v)=>{const $=j("Content");return a(),l("div",{class:N(["VPDoc",{"has-sidebar":i(n),"has-aside":i(o)}])},[u(p.$slots,"doc-top",{},void 0,!0),c("div",ws,[i(o)?(a(),l("div",{key:0,class:N(["aside",{"left-aside":i(r)}])},[Ps,c("div",Vs,[c("div",Ls,[_(Ot,null,{"aside-top":h(()=>[u(p.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":h(()=>[u(p.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":h(()=>[u(p.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[u(p.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[u(p.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[u(p.$slots,"aside-ads-after",{},void 0,!0)]),_:3})])])],2)):f("",!0),c("div",Ss,[c("div",Ms,[u(p.$slots,"doc-before",{},void 0,!0),_(bs),c("main",Cs,[_($,{class:N(["vp-doc",[d.value,i(e).externalLinkIcon&&"external-link-icon-enabled"]])},null,8,["class"])]),_(vs,null,{"doc-footer-before":h(()=>[u(p.$slots,"doc-footer-before",{},void 0,!0)]),_:3}),u(p.$slots,"doc-after",{},void 0,!0)])])]),u(p.$slots,"doc-bottom",{},void 0,!0)],2)}}}),Ts=m(Is,[["__scopeId","data-v-a3c25e27"]]),As=g({__name:"VPButton",props:{tag:{},size:{default:"medium"},theme:{default:"brand"},text:{},href:{}},setup(s){const e=s,t=b(()=>e.href&&Pe.test(e.href)),n=b(()=>e.tag||e.href?"a":"button");return(o,r)=>(a(),k(O(n.value),{class:N(["VPButton",[o.size,o.theme]]),href:o.href?i(ve)(o.href):void 0,target:t.value?"_blank":void 0,rel:t.value?"noreferrer":void 0},{default:h(()=>[H(S(o.text),1)]),_:1},8,["class","href","target","rel"]))}}),Ns=m(As,[["__scopeId","data-v-1e76fe75"]]),Bs=["src","alt"],Hs=g({inheritAttrs:!1,__name:"VPImage",props:{image:{},alt:{}},setup(s){return(e,t)=>{const n=j("VPImage",!0);return e.image?(a(),l(A,{key:0},[typeof e.image=="string"||"src"in e.image?(a(),l("img",X({key:0,class:"VPImage"},typeof e.image=="string"?e.$attrs:{...e.image,...e.$attrs},{src:i(ue)(typeof e.image=="string"?e.image:e.image.src),alt:e.alt??(typeof e.image=="string"?"":e.image.alt||"")}),null,16,Bs)):(a(),l(A,{key:1},[_(n,X({class:"dark",image:e.image.dark,alt:e.image.alt},e.$attrs),null,16,["image","alt"]),_(n,X({class:"light",image:e.image.light,alt:e.image.alt},e.$attrs),null,16,["image","alt"])],64))],64)):f("",!0)}}}),Q=m(Hs,[["__scopeId","data-v-ab19afbb"]]),zs=s=>(E("data-v-5a3e9999"),s=s(),D(),s),Es={class:"container"},Ds={class:"main"},Fs={key:0,class:"name"},Os=["innerHTML"],xs=["innerHTML"],Us=["innerHTML"],Gs={key:0,class:"actions"},js={key:0,class:"image"},qs={class:"image-container"},Ks=zs(()=>c("div",{class:"image-bg"},null,-1)),Rs=g({__name:"VPHero",props:{name:{},text:{},tagline:{},image:{},actions:{}},setup(s){const e=ne("hero-image-slot-exists");return(t,n)=>(a(),l("div",{class:N(["VPHero",{"has-image":t.image||i(e)}])},[c("div",Es,[c("div",Ds,[u(t.$slots,"home-hero-info",{},()=>[t.name?(a(),l("h1",Fs,[c("span",{innerHTML:t.name,class:"clip"},null,8,Os)])):f("",!0),t.text?(a(),l("p",{key:1,innerHTML:t.text,class:"text"},null,8,xs)):f("",!0),t.tagline?(a(),l("p",{key:2,innerHTML:t.tagline,class:"tagline"},null,8,Us)):f("",!0)],!0),t.actions?(a(),l("div",Gs,[(a(!0),l(A,null,B(t.actions,o=>(a(),l("div",{key:o.link,class:"action"},[_(Ns,{tag:"a",size:"medium",theme:o.theme,text:o.text,href:o.link},null,8,["theme","text","href"])]))),128))])):f("",!0)]),t.image||i(e)?(a(),l("div",js,[c("div",qs,[Ks,u(t.$slots,"home-hero-image",{},()=>[t.image?(a(),k(Q,{key:0,class:"image-src",image:t.image},null,8,["image"])):f("",!0)],!0)])])):f("",!0)])],2))}}),Ws=m(Rs,[["__scopeId","data-v-5a3e9999"]]),Ys=g({__name:"VPHomeHero",setup(s){const{frontmatter:e}=y();return(t,n)=>i(e).hero?(a(),k(Ws,{key:0,class:"VPHomeHero",name:i(e).hero.name,text:i(e).hero.text,tagline:i(e).hero.tagline,image:i(e).hero.image,actions:i(e).hero.actions},{"home-hero-info":h(()=>[u(t.$slots,"home-hero-info")]),"home-hero-image":h(()=>[u(t.$slots,"home-hero-image")]),_:3},8,["name","text","tagline","image","actions"])):f("",!0)}}),Js={},Xs={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Zs=c("path",{d:"M19.9,12.4c0.1-0.2,0.1-0.5,0-0.8c-0.1-0.1-0.1-0.2-0.2-0.3l-7-7c-0.4-0.4-1-0.4-1.4,0s-0.4,1,0,1.4l5.3,5.3H5c-0.6,0-1,0.4-1,1s0.4,1,1,1h11.6l-5.3,5.3c-0.4,0.4-0.4,1,0,1.4c0.2,0.2,0.5,0.3,0.7,0.3s0.5-0.1,0.7-0.3l7-7C19.8,12.6,19.9,12.5,19.9,12.4z"},null,-1),Qs=[Zs];function en(s,e){return a(),l("svg",Xs,Qs)}const tn=m(Js,[["render",en]]),sn={class:"box"},nn={key:0,class:"icon"},on=["innerHTML"],an=["innerHTML"],rn=["innerHTML"],ln={key:4,class:"link-text"},cn={class:"link-text-value"},un=g({__name:"VPFeature",props:{icon:{},title:{},details:{},link:{},linkText:{},rel:{},target:{}},setup(s){return(e,t)=>(a(),k(z,{class:"VPFeature",href:e.link,rel:e.rel,target:e.target,"no-icon":!0,tag:e.link?"a":"div"},{default:h(()=>[c("article",sn,[typeof e.icon=="object"&&e.icon.wrap?(a(),l("div",nn,[_(Q,{image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])])):typeof e.icon=="object"?(a(),k(Q,{key:1,image:e.icon,alt:e.icon.alt,height:e.icon.height||48,width:e.icon.width||48},null,8,["image","alt","height","width"])):e.icon?(a(),l("div",{key:2,class:"icon",innerHTML:e.icon},null,8,on)):f("",!0),c("h2",{class:"title",innerHTML:e.title},null,8,an),e.details?(a(),l("p",{key:3,class:"details",innerHTML:e.details},null,8,rn)):f("",!0),e.linkText?(a(),l("div",ln,[c("p",cn,[H(S(e.linkText)+" ",1),_(tn,{class:"link-text-icon"})])])):f("",!0)])]),_:1},8,["href","rel","target","tag"]))}}),dn=m(un,[["__scopeId","data-v-ee984185"]]),vn={key:0,class:"VPFeatures"},hn={class:"container"},pn={class:"items"},_n=g({__name:"VPFeatures",props:{features:{}},setup(s){const e=s,t=b(()=>{const n=e.features.length;if(n){if(n===2)return"grid-2";if(n===3)return"grid-3";if(n%3===0)return"grid-6";if(n>3)return"grid-4"}else return});return(n,o)=>n.features?(a(),l("div",vn,[c("div",hn,[c("div",pn,[(a(!0),l(A,null,B(n.features,r=>(a(),l("div",{key:r.title,class:N(["item",[t.value]])},[_(dn,{icon:r.icon,title:r.title,details:r.details,link:r.link,"link-text":r.linkText,rel:r.rel,target:r.target},null,8,["icon","title","details","link","link-text","rel","target"])],2))),128))])])])):f("",!0)}}),fn=m(_n,[["__scopeId","data-v-b1eea84a"]]),mn=g({__name:"VPHomeFeatures",setup(s){const{frontmatter:e}=y();return(t,n)=>i(e).features?(a(),k(fn,{key:0,class:"VPHomeFeatures",features:i(e).features},null,8,["features"])):f("",!0)}}),gn={class:"VPHome"},$n=g({__name:"VPHome",setup(s){return(e,t)=>{const n=j("Content");return a(),l("div",gn,[u(e.$slots,"home-hero-before",{},void 0,!0),_(Ys,null,{"home-hero-info":h(()=>[u(e.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":h(()=>[u(e.$slots,"home-hero-image",{},void 0,!0)]),_:3}),u(e.$slots,"home-hero-after",{},void 0,!0),u(e.$slots,"home-features-before",{},void 0,!0),_(mn),u(e.$slots,"home-features-after",{},void 0,!0),_(n)])}}}),kn=m($n,[["__scopeId","data-v-20eabd3a"]]),bn={},yn={class:"VPPage"};function wn(s,e){const t=j("Content");return a(),l("div",yn,[u(s.$slots,"page-top"),_(t),u(s.$slots,"page-bottom")])}const Pn=m(bn,[["render",wn]]),Vn=g({__name:"VPContent",setup(s){const{page:e,frontmatter:t}=y(),{hasSidebar:n}=F();return(o,r)=>(a(),l("div",{class:N(["VPContent",{"has-sidebar":i(n),"is-home":i(t).layout==="home"}]),id:"VPContent"},[i(e).isNotFound?u(o.$slots,"not-found",{key:0},()=>[_(pt)],!0):i(t).layout==="page"?(a(),k(Pn,{key:1},{"page-top":h(()=>[u(o.$slots,"page-top",{},void 0,!0)]),"page-bottom":h(()=>[u(o.$slots,"page-bottom",{},void 0,!0)]),_:3})):i(t).layout==="home"?(a(),k(kn,{key:2},{"home-hero-before":h(()=>[u(o.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":h(()=>[u(o.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":h(()=>[u(o.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":h(()=>[u(o.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":h(()=>[u(o.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":h(()=>[u(o.$slots,"home-features-after",{},void 0,!0)]),_:3})):i(t).layout&&i(t).layout!=="doc"?(a(),k(O(i(t).layout),{key:3})):(a(),k(Ts,{key:4},{"doc-top":h(()=>[u(o.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":h(()=>[u(o.$slots,"doc-bottom",{},void 0,!0)]),"doc-footer-before":h(()=>[u(o.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":h(()=>[u(o.$slots,"doc-before",{},void 0,!0)]),"doc-after":h(()=>[u(o.$slots,"doc-after",{},void 0,!0)]),"aside-top":h(()=>[u(o.$slots,"aside-top",{},void 0,!0)]),"aside-outline-before":h(()=>[u(o.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[u(o.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[u(o.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[u(o.$slots,"aside-ads-after",{},void 0,!0)]),"aside-bottom":h(()=>[u(o.$slots,"aside-bottom",{},void 0,!0)]),_:3}))],2))}}),Ln=m(Vn,[["__scopeId","data-v-3cf691b6"]]),Sn={class:"container"},Mn=["innerHTML"],Cn=["innerHTML"],In=g({__name:"VPFooter",setup(s){const{theme:e,frontmatter:t}=y(),{hasSidebar:n}=F();return(o,r)=>i(e).footer&&i(t).footer!==!1?(a(),l("footer",{key:0,class:N(["VPFooter",{"has-sidebar":i(n)}])},[c("div",Sn,[i(e).footer.message?(a(),l("p",{key:0,class:"message",innerHTML:i(e).footer.message},null,8,Mn)):f("",!0),i(e).footer.copyright?(a(),l("p",{key:1,class:"copyright",innerHTML:i(e).footer.copyright},null,8,Cn)):f("",!0)])],2)):f("",!0)}}),Tn=m(In,[["__scopeId","data-v-566314d4"]]),An={class:"header"},Nn={class:"outline"},Bn=g({__name:"VPLocalNavOutlineDropdown",props:{headers:{},navHeight:{}},setup(s){const e=s,{theme:t}=y(),n=T(!1),o=T(0),r=T();Y(()=>{n.value=!1});function d(){n.value=!n.value,o.value=window.innerHeight+Math.min(window.scrollY-e.navHeight,0)}function p($){$.target.classList.contains("outline-link")&&(r.value&&(r.value.style.transition="none"),xe(()=>{n.value=!1}))}function v(){n.value=!1,window.scrollTo({top:0,left:0,behavior:"smooth"})}return($,w)=>(a(),l("div",{class:"VPLocalNavOutlineDropdown",style:Oe({"--vp-vh":o.value+"px"})},[$.headers.length>0?(a(),l("button",{key:0,onClick:d,class:N({open:n.value})},[H(S(i(he)(i(t)))+" ",1),_(fe,{class:"icon"})],2)):(a(),l("button",{key:1,onClick:v},S(i(t).returnToTopLabel||"Return to top"),1)),_(ce,{name:"flyout"},{default:h(()=>[n.value?(a(),l("div",{key:0,ref_key:"items",ref:r,class:"items",onClick:p},[c("div",An,[c("a",{class:"top-link",href:"#",onClick:v},S(i(t).returnToTopLabel||"Return to top"),1)]),c("div",Nn,[_(_e,{headers:$.headers},null,8,["headers"])])],512)):f("",!0)]),_:1})],4))}}),Hn=m(Bn,[["__scopeId","data-v-24251f6f"]]),zn={},En={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Dn=c("path",{d:"M17,11H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,11,17,11z"},null,-1),Fn=c("path",{d:"M21,7H3C2.4,7,2,6.6,2,6s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,7,21,7z"},null,-1),On=c("path",{d:"M21,15H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h18c0.6,0,1,0.4,1,1S21.6,15,21,15z"},null,-1),xn=c("path",{d:"M17,19H3c-0.6,0-1-0.4-1-1s0.4-1,1-1h14c0.6,0,1,0.4,1,1S17.6,19,17,19z"},null,-1),Un=[Dn,Fn,On,xn];function Gn(s,e){return a(),l("svg",En,Un)}const jn=m(zn,[["render",Gn]]),qn=["aria-expanded"],Kn={class:"menu-text"},Rn=g({__name:"VPLocalNav",props:{open:{type:Boolean}},emits:["open-menu"],setup(s){const{theme:e,frontmatter:t}=y(),{hasSidebar:n}=F(),{y:o}=Ve(),r=de([]),d=T(0);U(()=>{d.value=parseInt(getComputedStyle(document.documentElement).getPropertyValue("--vp-nav-height"))}),Y(()=>{r.value=pe(t.value.outline??e.value.outline)});const p=b(()=>r.value.length===0&&!n.value),v=b(()=>({VPLocalNav:!0,fixed:p.value,"reached-top":o.value>=d.value}));return($,w)=>i(t).layout!=="home"&&(!p.value||i(o)>=d.value)?(a(),l("div",{key:0,class:N(v.value)},[i(n)?(a(),l("button",{key:0,class:"menu","aria-expanded":$.open,"aria-controls":"VPSidebarNav",onClick:w[0]||(w[0]=M=>$.$emit("open-menu"))},[_(jn,{class:"menu-icon"}),c("span",Kn,S(i(e).sidebarMenuLabel||"Menu"),1)],8,qn)):f("",!0),_(Hn,{headers:r.value,navHeight:d.value},null,8,["headers","navHeight"])],2)):f("",!0)}}),Wn=m(Rn,[["__scopeId","data-v-f8a0b38a"]]);function Yn(){const s=T(!1);function e(){s.value=!0,window.addEventListener("resize",o)}function t(){s.value=!1,window.removeEventListener("resize",o)}function n(){s.value?t():e()}function o(){window.outerWidth>=768&&t()}const r=se();return G(()=>r.path,t),{isScreenOpen:s,openScreen:e,closeScreen:t,toggleScreen:n}}const Jn={},Xn={class:"VPSwitch",type:"button",role:"switch"},Zn={class:"check"},Qn={key:0,class:"icon"};function eo(s,e){return a(),l("button",Xn,[c("span",Zn,[s.$slots.default?(a(),l("span",Qn,[u(s.$slots,"default",{},void 0,!0)])):f("",!0)])])}const to=m(Jn,[["render",eo],["__scopeId","data-v-1c29e291"]]),so={},no={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},oo=c("path",{d:"M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"},null,-1),ao=[oo];function ro(s,e){return a(),l("svg",no,ao)}const io=m(so,[["render",ro]]),lo={},co={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},uo=Ue('',9),vo=[uo];function ho(s,e){return a(),l("svg",co,vo)}const po=m(lo,[["render",ho]]),_o=g({__name:"VPSwitchAppearance",setup(s){const{isDark:e}=y(),t=ne("toggle-appearance",()=>{e.value=!e.value}),n=b(()=>e.value?"Switch to light theme":"Switch to dark theme");return(o,r)=>(a(),k(to,{title:n.value,class:"VPSwitchAppearance","aria-checked":i(e),onClick:i(t)},{default:h(()=>[_(po,{class:"sun"}),_(io,{class:"moon"})]),_:1},8,["title","aria-checked","onClick"]))}}),me=m(_o,[["__scopeId","data-v-70af5d02"]]),fo={key:0,class:"VPNavBarAppearance"},mo=g({__name:"VPNavBarAppearance",setup(s){const{site:e}=y();return(t,n)=>i(e).appearance&&i(e).appearance!=="force-dark"?(a(),l("div",fo,[_(me)])):f("",!0)}}),go=m(mo,[["__scopeId","data-v-283b26e9"]]),ge=T();let Ie=!1,ae=0;function $o(s){const e=T(!1);if(R){!Ie&&ko(),ae++;const t=G(ge,n=>{var o,r,d;n===s.el.value||(o=s.el.value)!=null&&o.contains(n)?(e.value=!0,(r=s.onFocus)==null||r.call(s)):(e.value=!1,(d=s.onBlur)==null||d.call(s))});te(()=>{t(),ae--,ae||bo()})}return Ge(e)}function ko(){document.addEventListener("focusin",Te),Ie=!0,ge.value=document.activeElement}function bo(){document.removeEventListener("focusin",Te)}function Te(){ge.value=document.activeElement}const yo={},wo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Po=c("path",{d:"M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"},null,-1),Vo=[Po];function Lo(s,e){return a(),l("svg",wo,Vo)}const Ae=m(yo,[["render",Lo]]),So={},Mo={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},Co=c("circle",{cx:"12",cy:"12",r:"2"},null,-1),Io=c("circle",{cx:"19",cy:"12",r:"2"},null,-1),To=c("circle",{cx:"5",cy:"12",r:"2"},null,-1),Ao=[Co,Io,To];function No(s,e){return a(),l("svg",Mo,Ao)}const Bo=m(So,[["render",No]]),Ho={class:"VPMenuLink"},zo=g({__name:"VPMenuLink",props:{item:{}},setup(s){const{page:e}=y();return(t,n)=>(a(),l("div",Ho,[_(z,{class:N({active:i(x)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel},{default:h(()=>[H(S(t.item.text),1)]),_:1},8,["class","href","target","rel"])]))}}),oe=m(zo,[["__scopeId","data-v-f51f088d"]]),Eo={class:"VPMenuGroup"},Do={key:0,class:"title"},Fo=g({__name:"VPMenuGroup",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),l("div",Eo,[e.text?(a(),l("p",Do,S(e.text),1)):f("",!0),(a(!0),l(A,null,B(e.items,n=>(a(),l(A,null,["link"in n?(a(),k(oe,{key:0,item:n},null,8,["item"])):f("",!0)],64))),256))]))}}),Oo=m(Fo,[["__scopeId","data-v-a6b0397c"]]),xo={class:"VPMenu"},Uo={key:0,class:"items"},Go=g({__name:"VPMenu",props:{items:{}},setup(s){return(e,t)=>(a(),l("div",xo,[e.items?(a(),l("div",Uo,[(a(!0),l(A,null,B(e.items,n=>(a(),l(A,{key:n.text},["link"in n?(a(),k(oe,{key:0,item:n},null,8,["item"])):(a(),k(Oo,{key:1,text:n.text,items:n.items},null,8,["text","items"]))],64))),128))])):f("",!0),u(e.$slots,"default",{},void 0,!0)]))}}),jo=m(Go,[["__scopeId","data-v-e42ed9b3"]]),qo=["aria-expanded","aria-label"],Ko={key:0,class:"text"},Ro=["innerHTML"],Wo={class:"menu"},Yo=g({__name:"VPFlyout",props:{icon:{},button:{},label:{},items:{}},setup(s){const e=T(!1),t=T();$o({el:t,onBlur:n});function n(){e.value=!1}return(o,r)=>(a(),l("div",{class:"VPFlyout",ref_key:"el",ref:t,onMouseenter:r[1]||(r[1]=d=>e.value=!0),onMouseleave:r[2]||(r[2]=d=>e.value=!1)},[c("button",{type:"button",class:"button","aria-haspopup":"true","aria-expanded":e.value,"aria-label":o.label,onClick:r[0]||(r[0]=d=>e.value=!e.value)},[o.button||o.icon?(a(),l("span",Ko,[o.icon?(a(),k(O(o.icon),{key:0,class:"option-icon"})):f("",!0),o.button?(a(),l("span",{key:1,innerHTML:o.button},null,8,Ro)):f("",!0),_(Ae,{class:"text-icon"})])):(a(),k(Bo,{key:1,class:"icon"}))],8,qo),c("div",Wo,[_(jo,{items:o.items},{default:h(()=>[u(o.$slots,"default",{},void 0,!0)]),_:3},8,["items"])])],544))}}),$e=m(Yo,[["__scopeId","data-v-aa8de344"]]),Jo={discord:'Discord',facebook:'Facebook',github:'GitHub',instagram:'Instagram',linkedin:'LinkedIn',mastodon:'Mastodon',slack:'Slack',twitter:'Twitter',x:'X',youtube:'YouTube'},Xo=["href","aria-label","innerHTML"],Zo=g({__name:"VPSocialLink",props:{icon:{},link:{},ariaLabel:{}},setup(s){const e=s,t=b(()=>typeof e.icon=="object"?e.icon.svg:Jo[e.icon]);return(n,o)=>(a(),l("a",{class:"VPSocialLink no-icon",href:n.link,"aria-label":n.ariaLabel??(typeof n.icon=="string"?n.icon:""),target:"_blank",rel:"noopener",innerHTML:t.value},null,8,Xo))}}),Qo=m(Zo,[["__scopeId","data-v-16cf740a"]]),ea={class:"VPSocialLinks"},ta=g({__name:"VPSocialLinks",props:{links:{}},setup(s){return(e,t)=>(a(),l("div",ea,[(a(!0),l(A,null,B(e.links,({link:n,icon:o,ariaLabel:r})=>(a(),k(Qo,{key:n,icon:o,link:n,ariaLabel:r},null,8,["icon","link","ariaLabel"]))),128))]))}}),ke=m(ta,[["__scopeId","data-v-e71e869c"]]),sa={key:0,class:"group translations"},na={class:"trans-title"},oa={key:1,class:"group"},aa={class:"item appearance"},ra={class:"label"},ia={class:"appearance-action"},la={key:2,class:"group"},ca={class:"item social-links"},ua=g({__name:"VPNavBarExtra",setup(s){const{site:e,theme:t}=y(),{localeLinks:n,currentLang:o}=J({correspondingLink:!0}),r=b(()=>n.value.length&&o.value.label||e.value.appearance||t.value.socialLinks);return(d,p)=>r.value?(a(),k($e,{key:0,class:"VPNavBarExtra",label:"extra navigation"},{default:h(()=>[i(n).length&&i(o).label?(a(),l("div",sa,[c("p",na,S(i(o).label),1),(a(!0),l(A,null,B(i(n),v=>(a(),k(oe,{key:v.link,item:v},null,8,["item"]))),128))])):f("",!0),i(e).appearance&&i(e).appearance!=="force-dark"?(a(),l("div",oa,[c("div",aa,[c("p",ra,S(i(t).darkModeSwitchLabel||"Appearance"),1),c("div",ia,[_(me)])])])):f("",!0),i(t).socialLinks?(a(),l("div",la,[c("div",ca,[_(ke,{class:"social-links-list",links:i(t).socialLinks},null,8,["links"])])])):f("",!0)]),_:1})):f("",!0)}}),da=m(ua,[["__scopeId","data-v-8e87c032"]]),va=s=>(E("data-v-6bee1efd"),s=s(),D(),s),ha=["aria-expanded"],pa=va(()=>c("span",{class:"container"},[c("span",{class:"top"}),c("span",{class:"middle"}),c("span",{class:"bottom"})],-1)),_a=[pa],fa=g({__name:"VPNavBarHamburger",props:{active:{type:Boolean}},emits:["click"],setup(s){return(e,t)=>(a(),l("button",{type:"button",class:N(["VPNavBarHamburger",{active:e.active}]),"aria-label":"mobile navigation","aria-expanded":e.active,"aria-controls":"VPNavScreen",onClick:t[0]||(t[0]=n=>e.$emit("click"))},_a,10,ha))}}),ma=m(fa,[["__scopeId","data-v-6bee1efd"]]),ga=["innerHTML"],$a=g({__name:"VPNavBarMenuLink",props:{item:{}},setup(s){const{page:e}=y();return(t,n)=>(a(),k(z,{class:N({VPNavBarMenuLink:!0,active:i(x)(i(e).relativePath,t.item.activeMatch||t.item.link,!!t.item.activeMatch)}),href:t.item.link,target:t.item.target,rel:t.item.rel,tabindex:"0"},{default:h(()=>[c("span",{innerHTML:t.item.text},null,8,ga)]),_:1},8,["class","href","target","rel"]))}}),ka=m($a,[["__scopeId","data-v-cb318fec"]]),ba=g({__name:"VPNavBarMenuGroup",props:{item:{}},setup(s){const e=s,{page:t}=y(),n=r=>"link"in r?x(t.value.relativePath,r.link,!!e.item.activeMatch):r.items.some(n),o=b(()=>n(e.item));return(r,d)=>(a(),k($e,{class:N({VPNavBarMenuGroup:!0,active:i(x)(i(t).relativePath,r.item.activeMatch,!!r.item.activeMatch)||o.value}),button:r.item.text,items:r.item.items},null,8,["class","button","items"]))}}),ya=s=>(E("data-v-f732b5d0"),s=s(),D(),s),wa={key:0,"aria-labelledby":"main-nav-aria-label",class:"VPNavBarMenu"},Pa=ya(()=>c("span",{id:"main-nav-aria-label",class:"visually-hidden"},"Main Navigation",-1)),Va=g({__name:"VPNavBarMenu",setup(s){const{theme:e}=y();return(t,n)=>i(e).nav?(a(),l("nav",wa,[Pa,(a(!0),l(A,null,B(i(e).nav,o=>(a(),l(A,{key:o.text},["link"in o?(a(),k(ka,{key:0,item:o},null,8,["item"])):(a(),k(ba,{key:1,item:o},null,8,["item"]))],64))),128))])):f("",!0)}}),La=m(Va,[["__scopeId","data-v-f732b5d0"]]);function Sa(s,e){const{localeIndex:t}=y();function n(o){var V,P;const r=o.split("."),d=s&&typeof s=="object",p=d&&((P=(V=s.locales)==null?void 0:V[t.value])==null?void 0:P.translations)||null,v=d&&s.translations||null;let $=p,w=v,M=e;const C=r.pop();for(const I of r){let L=null;const q=M==null?void 0:M[I];q&&(L=M=q);const W=w==null?void 0:w[I];W&&(L=w=W);const K=$==null?void 0:$[I];K&&(L=$=K),q||(M=L),W||(w=L),K||($=L)}return($==null?void 0:$[C])??(w==null?void 0:w[C])??(M==null?void 0:M[C])??""}return n}const Ma=["aria-label"],Ca={class:"DocSearch-Button-Container"},Ia=c("svg",{class:"DocSearch-Search-Icon",width:"20",height:"20",viewBox:"0 0 20 20","aria-label":"search icon"},[c("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none","fill-rule":"evenodd","stroke-linecap":"round","stroke-linejoin":"round"})],-1),Ta={class:"DocSearch-Button-Placeholder"},Aa=c("span",{class:"DocSearch-Button-Keys"},[c("kbd",{class:"DocSearch-Button-Key"}),c("kbd",{class:"DocSearch-Button-Key"},"K")],-1),ye=g({__name:"VPNavBarSearchButton",setup(s){const{theme:e}=y(),t={button:{buttonText:"Search",buttonAriaLabel:"Search"}},n=je(Sa)(qe(()=>{var o;return(o=e.value.search)==null?void 0:o.options}),t);return(o,r)=>(a(),l("button",{type:"button",class:"DocSearch DocSearch-Button","aria-label":i(n)("button.buttonAriaLabel")},[c("span",Ca,[Ia,c("span",Ta,S(i(n)("button.buttonText")),1)]),Aa],8,Ma))}}),Na={class:"VPNavBarSearch"},Ba={id:"local-search"},Ha={key:1,id:"docsearch"},za=g({__name:"VPNavBarSearch",setup(s){const e=()=>null,t=Ke(()=>Re(()=>import("./VPAlgoliaSearchBox._A-W2TAG.js"),__vite__mapDeps([0,1]))),{theme:n}=y(),o=T(!1),r=T(!1),d=()=>{const C="VPAlgoliaPreconnect";(window.requestIdleCallback||setTimeout)(()=>{var I;const P=document.createElement("link");P.id=C,P.rel="preconnect",P.href=`https://${(((I=n.value.search)==null?void 0:I.options)??n.value.algolia).appId}-dsn.algolia.net`,P.crossOrigin="",document.head.appendChild(P)})};U(()=>{d();const C=P=>{(P.key.toLowerCase()==="k"&&(P.metaKey||P.ctrlKey)||!$(P)&&P.key==="/")&&(P.preventDefault(),p(),V())},V=()=>{window.removeEventListener("keydown",C)};window.addEventListener("keydown",C),te(V)});function p(){o.value||(o.value=!0,setTimeout(v,16))}function v(){const C=new Event("keydown");C.key="k",C.metaKey=!0,window.dispatchEvent(C),setTimeout(()=>{document.querySelector(".DocSearch-Modal")||v()},16)}function $(C){const V=C.target,P=V.tagName;return V.isContentEditable||P==="INPUT"||P==="SELECT"||P==="TEXTAREA"}const w=T(!1),M="algolia";return(C,V)=>{var P;return a(),l("div",Na,[i(M)==="local"?(a(),l(A,{key:0},[w.value?(a(),k(i(e),{key:0,onClose:V[0]||(V[0]=I=>w.value=!1)})):f("",!0),c("div",Ba,[_(ye,{onClick:V[1]||(V[1]=I=>w.value=!0)})])],64)):i(M)==="algolia"?(a(),l(A,{key:1},[o.value?(a(),k(i(t),{key:0,algolia:((P=i(n).search)==null?void 0:P.options)??i(n).algolia,onVnodeBeforeMount:V[2]||(V[2]=I=>r.value=!0)},null,8,["algolia"])):f("",!0),r.value?f("",!0):(a(),l("div",Ha,[_(ye,{onClick:p})]))],64)):f("",!0)])}}}),Ea=g({__name:"VPNavBarSocialLinks",setup(s){const{theme:e}=y();return(t,n)=>i(e).socialLinks?(a(),k(ke,{key:0,class:"VPNavBarSocialLinks",links:i(e).socialLinks},null,8,["links"])):f("",!0)}}),Da=m(Ea,[["__scopeId","data-v-ef6192dc"]]),Fa=["href"],Oa=g({__name:"VPNavBarTitle",setup(s){const{site:e,theme:t}=y(),{hasSidebar:n}=F(),{currentLang:o}=J();return(r,d)=>(a(),l("div",{class:N(["VPNavBarTitle",{"has-sidebar":i(n)}])},[c("a",{class:"title",href:i(t).logoLink??i(ve)(i(o).link)},[u(r.$slots,"nav-bar-title-before",{},void 0,!0),i(t).logo?(a(),k(Q,{key:0,class:"logo",image:i(t).logo},null,8,["image"])):f("",!0),i(t).siteTitle?(a(),l(A,{key:1},[H(S(i(t).siteTitle),1)],64)):i(t).siteTitle===void 0?(a(),l(A,{key:2},[H(S(i(e).title),1)],64)):f("",!0),u(r.$slots,"nav-bar-title-after",{},void 0,!0)],8,Fa)],2))}}),xa=m(Oa,[["__scopeId","data-v-2973dbb4"]]),Ua={},Ga={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},ja=c("path",{d:"M0 0h24v24H0z",fill:"none"},null,-1),qa=c("path",{d:" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z ",class:"css-c4d79v"},null,-1),Ka=[ja,qa];function Ra(s,e){return a(),l("svg",Ga,Ka)}const Ne=m(Ua,[["render",Ra]]),Wa={class:"items"},Ya={class:"title"},Ja=g({__name:"VPNavBarTranslations",setup(s){const{theme:e}=y(),{localeLinks:t,currentLang:n}=J({correspondingLink:!0});return(o,r)=>i(t).length&&i(n).label?(a(),k($e,{key:0,class:"VPNavBarTranslations",icon:Ne,label:i(e).langMenuLabel||"Change language"},{default:h(()=>[c("div",Wa,[c("p",Ya,S(i(n).label),1),(a(!0),l(A,null,B(i(t),d=>(a(),k(oe,{key:d.link,item:d},null,8,["item"]))),128))])]),_:1},8,["label"])):f("",!0)}}),Xa=m(Ja,[["__scopeId","data-v-ff4524ae"]]),Za=s=>(E("data-v-5befd255"),s=s(),D(),s),Qa={class:"container"},er={class:"title"},tr={class:"content"},sr=Za(()=>c("div",{class:"curtain"},null,-1)),nr={class:"content-body"},or=g({__name:"VPNavBar",props:{isScreenOpen:{type:Boolean}},emits:["toggle-screen"],setup(s){const{y:e}=Ve(),{hasSidebar:t}=F(),{frontmatter:n}=y(),o=T({});return we(()=>{o.value={"has-sidebar":t.value,top:n.value.layout==="home"&&e.value===0}}),(r,d)=>(a(),l("div",{class:N(["VPNavBar",o.value])},[c("div",Qa,[c("div",er,[_(xa,null,{"nav-bar-title-before":h(()=>[u(r.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[u(r.$slots,"nav-bar-title-after",{},void 0,!0)]),_:3})]),c("div",tr,[sr,c("div",nr,[u(r.$slots,"nav-bar-content-before",{},void 0,!0),_(za,{class:"search"}),_(La,{class:"menu"}),_(Xa,{class:"translations"}),_(go,{class:"appearance"}),_(Da,{class:"social-links"}),_(da,{class:"extra"}),u(r.$slots,"nav-bar-content-after",{},void 0,!0),_(ma,{class:"hamburger",active:r.isScreenOpen,onClick:d[0]||(d[0]=p=>r.$emit("toggle-screen"))},null,8,["active"])])])])],2))}}),ar=m(or,[["__scopeId","data-v-5befd255"]]),rr={key:0,class:"VPNavScreenAppearance"},ir={class:"text"},lr=g({__name:"VPNavScreenAppearance",setup(s){const{site:e,theme:t}=y();return(n,o)=>i(e).appearance&&i(e).appearance!=="force-dark"?(a(),l("div",rr,[c("p",ir,S(i(t).darkModeSwitchLabel||"Appearance"),1),_(me)])):f("",!0)}}),cr=m(lr,[["__scopeId","data-v-338d9b48"]]),ur=g({__name:"VPNavScreenMenuLink",props:{item:{}},setup(s){const e=ne("close-screen");return(t,n)=>(a(),k(z,{class:"VPNavScreenMenuLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e)},{default:h(()=>[H(S(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),dr=m(ur,[["__scopeId","data-v-fe523e3d"]]),vr={},hr={xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",focusable:"false",viewBox:"0 0 24 24"},pr=c("path",{d:"M18.9,10.9h-6v-6c0-0.6-0.4-1-1-1s-1,0.4-1,1v6h-6c-0.6,0-1,0.4-1,1s0.4,1,1,1h6v6c0,0.6,0.4,1,1,1s1-0.4,1-1v-6h6c0.6,0,1-0.4,1-1S19.5,10.9,18.9,10.9z"},null,-1),_r=[pr];function fr(s,e){return a(),l("svg",hr,_r)}const mr=m(vr,[["render",fr]]),gr=g({__name:"VPNavScreenMenuGroupLink",props:{item:{}},setup(s){const e=ne("close-screen");return(t,n)=>(a(),k(z,{class:"VPNavScreenMenuGroupLink",href:t.item.link,target:t.item.target,rel:t.item.rel,onClick:i(e)},{default:h(()=>[H(S(t.item.text),1)]),_:1},8,["href","target","rel","onClick"]))}}),Be=m(gr,[["__scopeId","data-v-aea78dd1"]]),$r={class:"VPNavScreenMenuGroupSection"},kr={key:0,class:"title"},br=g({__name:"VPNavScreenMenuGroupSection",props:{text:{},items:{}},setup(s){return(e,t)=>(a(),l("div",$r,[e.text?(a(),l("p",kr,S(e.text),1)):f("",!0),(a(!0),l(A,null,B(e.items,n=>(a(),k(Be,{key:n.text,item:n},null,8,["item"]))),128))]))}}),yr=m(br,[["__scopeId","data-v-f60dbfa7"]]),wr=["aria-controls","aria-expanded"],Pr=["innerHTML"],Vr=["id"],Lr={key:1,class:"group"},Sr=g({__name:"VPNavScreenMenuGroup",props:{text:{},items:{}},setup(s){const e=s,t=T(!1),n=b(()=>`NavScreenGroup-${e.text.replace(" ","-").toLowerCase()}`);function o(){t.value=!t.value}return(r,d)=>(a(),l("div",{class:N(["VPNavScreenMenuGroup",{open:t.value}])},[c("button",{class:"button","aria-controls":n.value,"aria-expanded":t.value,onClick:o},[c("span",{class:"button-text",innerHTML:r.text},null,8,Pr),_(mr,{class:"button-icon"})],8,wr),c("div",{id:n.value,class:"items"},[(a(!0),l(A,null,B(r.items,p=>(a(),l(A,{key:p.text},["link"in p?(a(),l("div",{key:p.text,class:"item"},[_(Be,{item:p},null,8,["item"])])):(a(),l("div",Lr,[_(yr,{text:p.text,items:p.items},null,8,["text","items"])]))],64))),128))],8,Vr)],2))}}),Mr=m(Sr,[["__scopeId","data-v-32e4a89c"]]),Cr={key:0,class:"VPNavScreenMenu"},Ir=g({__name:"VPNavScreenMenu",setup(s){const{theme:e}=y();return(t,n)=>i(e).nav?(a(),l("nav",Cr,[(a(!0),l(A,null,B(i(e).nav,o=>(a(),l(A,{key:o.text},["link"in o?(a(),k(dr,{key:0,item:o},null,8,["item"])):(a(),k(Mr,{key:1,text:o.text||"",items:o.items},null,8,["text","items"]))],64))),128))])):f("",!0)}}),Tr=g({__name:"VPNavScreenSocialLinks",setup(s){const{theme:e}=y();return(t,n)=>i(e).socialLinks?(a(),k(ke,{key:0,class:"VPNavScreenSocialLinks",links:i(e).socialLinks},null,8,["links"])):f("",!0)}}),Ar={class:"list"},Nr=g({__name:"VPNavScreenTranslations",setup(s){const{localeLinks:e,currentLang:t}=J({correspondingLink:!0}),n=T(!1);function o(){n.value=!n.value}return(r,d)=>i(e).length&&i(t).label?(a(),l("div",{key:0,class:N(["VPNavScreenTranslations",{open:n.value}])},[c("button",{class:"title",onClick:o},[_(Ne,{class:"icon lang"}),H(" "+S(i(t).label)+" ",1),_(Ae,{class:"icon chevron"})]),c("ul",Ar,[(a(!0),l(A,null,B(i(e),p=>(a(),l("li",{key:p.link,class:"item"},[_(z,{class:"link",href:p.link},{default:h(()=>[H(S(p.text),1)]),_:2},1032,["href"])]))),128))])],2)):f("",!0)}}),Br=m(Nr,[["__scopeId","data-v-41505286"]]),Hr={class:"container"},zr=g({__name:"VPNavScreen",props:{open:{type:Boolean}},setup(s){const e=T(null),t=Le(R?document.body:null);return(n,o)=>(a(),k(ce,{name:"fade",onEnter:o[0]||(o[0]=r=>t.value=!0),onAfterLeave:o[1]||(o[1]=r=>t.value=!1)},{default:h(()=>[n.open?(a(),l("div",{key:0,class:"VPNavScreen",ref_key:"screen",ref:e,id:"VPNavScreen"},[c("div",Hr,[u(n.$slots,"nav-screen-content-before",{},void 0,!0),_(Ir,{class:"menu"}),_(Br,{class:"translations"}),_(cr,{class:"appearance"}),_(Tr,{class:"social-links"}),u(n.$slots,"nav-screen-content-after",{},void 0,!0)])],512)):f("",!0)]),_:3}))}}),Er=m(zr,[["__scopeId","data-v-57cce842"]]),Dr={key:0,class:"VPNav"},Fr=g({__name:"VPNav",setup(s){const{isScreenOpen:e,closeScreen:t,toggleScreen:n}=Yn(),{frontmatter:o}=y(),r=b(()=>o.value.navbar!==!1);return Se("close-screen",t),ee(()=>{R&&document.documentElement.classList.toggle("hide-nav",!r.value)}),(d,p)=>r.value?(a(),l("header",Dr,[_(ar,{"is-screen-open":i(e),onToggleScreen:i(n)},{"nav-bar-title-before":h(()=>[u(d.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[u(d.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":h(()=>[u(d.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":h(()=>[u(d.$slots,"nav-bar-content-after",{},void 0,!0)]),_:3},8,["is-screen-open","onToggleScreen"]),_(Er,{open:i(e)},{"nav-screen-content-before":h(()=>[u(d.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":h(()=>[u(d.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3},8,["open"])])):f("",!0)}}),Or=m(Fr,[["__scopeId","data-v-7ad780c2"]]),xr=s=>(E("data-v-bd01e0d5"),s=s(),D(),s),Ur=["role","tabindex"],Gr=xr(()=>c("div",{class:"indicator"},null,-1)),jr=["onKeydown"],qr={key:1,class:"items"},Kr=g({__name:"VPSidebarItem",props:{item:{},depth:{}},setup(s){const e=s,{collapsed:t,collapsible:n,isLink:o,isActiveLink:r,hasActiveLink:d,hasChildren:p,toggle:v}=gt(b(()=>e.item)),$=b(()=>p.value?"section":"div"),w=b(()=>o.value?"a":"div"),M=b(()=>p.value?e.depth+2===7?"p":`h${e.depth+2}`:"p"),C=b(()=>o.value?void 0:"button"),V=b(()=>[[`level-${e.depth}`],{collapsible:n.value},{collapsed:t.value},{"is-link":o.value},{"is-active":r.value},{"has-active":d.value}]);function P(L){"key"in L&&L.key!=="Enter"||!e.item.link&&v()}function I(){e.item.link&&v()}return(L,q)=>{const W=j("VPSidebarItem",!0);return a(),k(O($.value),{class:N(["VPSidebarItem",V.value])},{default:h(()=>[L.item.text?(a(),l("div",X({key:0,class:"item",role:C.value},Ye(L.item.items?{click:P,keydown:P}:{},!0),{tabindex:L.item.items&&0}),[Gr,L.item.link?(a(),k(z,{key:0,tag:w.value,class:"link",href:L.item.link,rel:L.item.rel,target:L.item.target},{default:h(()=>[(a(),k(O(M.value),{class:"text",innerHTML:L.item.text},null,8,["innerHTML"]))]),_:1},8,["tag","href","rel","target"])):(a(),k(O(M.value),{key:1,class:"text",innerHTML:L.item.text},null,8,["innerHTML"])),L.item.collapsed!=null?(a(),l("div",{key:2,class:"caret",role:"button","aria-label":"toggle section",onClick:I,onKeydown:We(I,["enter"]),tabindex:"0"},[_(fe,{class:"caret-icon"})],40,jr)):f("",!0)],16,Ur)):f("",!0),L.item.items&&L.item.items.length?(a(),l("div",qr,[L.depth<5?(a(!0),l(A,{key:0},B(L.item.items,K=>(a(),k(W,{key:K.text,item:K,depth:L.depth+1},null,8,["item","depth"]))),128)):f("",!0)])):f("",!0)]),_:1},8,["class"])}}}),Rr=m(Kr,[["__scopeId","data-v-bd01e0d5"]]),He=s=>(E("data-v-168699b1"),s=s(),D(),s),Wr=He(()=>c("div",{class:"curtain"},null,-1)),Yr={class:"nav",id:"VPSidebarNav","aria-labelledby":"sidebar-aria-label",tabindex:"-1"},Jr=He(()=>c("span",{class:"visually-hidden",id:"sidebar-aria-label"}," Sidebar Navigation ",-1)),Xr=g({__name:"VPSidebar",props:{open:{type:Boolean}},setup(s){const{sidebarGroups:e,hasSidebar:t}=F(),n=s,o=T(null),r=Le(R?document.body:null);return G([n,o],()=>{var d;n.open?(r.value=!0,(d=o.value)==null||d.focus()):r.value=!1},{immediate:!0,flush:"post"}),(d,p)=>i(t)?(a(),l("aside",{key:0,class:N(["VPSidebar",{open:d.open}]),ref_key:"navEl",ref:o,onClick:p[0]||(p[0]=Je(()=>{},["stop"]))},[Wr,c("nav",Yr,[Jr,u(d.$slots,"sidebar-nav-before",{},void 0,!0),(a(!0),l(A,null,B(i(e),v=>(a(),l("div",{key:v.text,class:"group"},[_(Rr,{item:v,depth:0},null,8,["item"])]))),128)),u(d.$slots,"sidebar-nav-after",{},void 0,!0)])],2)):f("",!0)}}),Zr=m(Xr,[["__scopeId","data-v-168699b1"]]),Qr=g({__name:"VPSkipLink",setup(s){const e=se(),t=T();G(()=>e.path,()=>t.value.focus());function n({target:o}){const r=document.getElementById(decodeURIComponent(o.hash).slice(1));if(r){const d=()=>{r.removeAttribute("tabindex"),r.removeEventListener("blur",d)};r.setAttribute("tabindex","-1"),r.addEventListener("blur",d),r.focus(),window.scrollTo(0,0)}}return(o,r)=>(a(),l(A,null,[c("span",{ref_key:"backToTop",ref:t,tabindex:"-1"},null,512),c("a",{href:"#VPContent",class:"VPSkipLink visually-hidden",onClick:n}," Skip to content ")],64))}}),ei=m(Qr,[["__scopeId","data-v-c8291ffa"]]),ti=g({__name:"Layout",setup(s){const{isOpen:e,open:t,close:n}=F(),o=se();G(()=>o.path,n),mt(e,n);const{frontmatter:r}=y(),d=Xe(),p=b(()=>!!d["home-hero-image"]);return Se("hero-image-slot-exists",p),(v,$)=>{const w=j("Content");return i(r).layout!==!1?(a(),l("div",{key:0,class:N(["Layout",i(r).pageClass])},[u(v.$slots,"layout-top",{},void 0,!0),_(ei),_(st,{class:"backdrop",show:i(e),onClick:i(n)},null,8,["show","onClick"]),_(Or,null,{"nav-bar-title-before":h(()=>[u(v.$slots,"nav-bar-title-before",{},void 0,!0)]),"nav-bar-title-after":h(()=>[u(v.$slots,"nav-bar-title-after",{},void 0,!0)]),"nav-bar-content-before":h(()=>[u(v.$slots,"nav-bar-content-before",{},void 0,!0)]),"nav-bar-content-after":h(()=>[u(v.$slots,"nav-bar-content-after",{},void 0,!0)]),"nav-screen-content-before":h(()=>[u(v.$slots,"nav-screen-content-before",{},void 0,!0)]),"nav-screen-content-after":h(()=>[u(v.$slots,"nav-screen-content-after",{},void 0,!0)]),_:3}),_(Wn,{open:i(e),onOpenMenu:i(t)},null,8,["open","onOpenMenu"]),_(Zr,{open:i(e)},{"sidebar-nav-before":h(()=>[u(v.$slots,"sidebar-nav-before",{},void 0,!0)]),"sidebar-nav-after":h(()=>[u(v.$slots,"sidebar-nav-after",{},void 0,!0)]),_:3},8,["open"]),_(Ln,null,{"page-top":h(()=>[u(v.$slots,"page-top",{},void 0,!0)]),"page-bottom":h(()=>[u(v.$slots,"page-bottom",{},void 0,!0)]),"not-found":h(()=>[u(v.$slots,"not-found",{},void 0,!0)]),"home-hero-before":h(()=>[u(v.$slots,"home-hero-before",{},void 0,!0)]),"home-hero-info":h(()=>[u(v.$slots,"home-hero-info",{},void 0,!0)]),"home-hero-image":h(()=>[u(v.$slots,"home-hero-image",{},void 0,!0)]),"home-hero-after":h(()=>[u(v.$slots,"home-hero-after",{},void 0,!0)]),"home-features-before":h(()=>[u(v.$slots,"home-features-before",{},void 0,!0)]),"home-features-after":h(()=>[u(v.$slots,"home-features-after",{},void 0,!0)]),"doc-footer-before":h(()=>[u(v.$slots,"doc-footer-before",{},void 0,!0)]),"doc-before":h(()=>[u(v.$slots,"doc-before",{},void 0,!0)]),"doc-after":h(()=>[u(v.$slots,"doc-after",{},void 0,!0)]),"doc-top":h(()=>[u(v.$slots,"doc-top",{},void 0,!0)]),"doc-bottom":h(()=>[u(v.$slots,"doc-bottom",{},void 0,!0)]),"aside-top":h(()=>[u(v.$slots,"aside-top",{},void 0,!0)]),"aside-bottom":h(()=>[u(v.$slots,"aside-bottom",{},void 0,!0)]),"aside-outline-before":h(()=>[u(v.$slots,"aside-outline-before",{},void 0,!0)]),"aside-outline-after":h(()=>[u(v.$slots,"aside-outline-after",{},void 0,!0)]),"aside-ads-before":h(()=>[u(v.$slots,"aside-ads-before",{},void 0,!0)]),"aside-ads-after":h(()=>[u(v.$slots,"aside-ads-after",{},void 0,!0)]),_:3}),_(Tn),u(v.$slots,"layout-bottom",{},void 0,!0)],2)):(a(),k(w,{key:1}))}}}),si=m(ti,[["__scopeId","data-v-9d8abc1e"]]),oi={Layout:si,enhanceApp:({app:s})=>{s.component("Badge",Qe)}};export{oi as t,y as u}; -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ["assets/chunks/VPAlgoliaSearchBox._A-W2TAG.js","assets/chunks/framework.q7IuVqhY.js"] - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -} \ No newline at end of file diff --git a/docs/assets/core.md.DaReq_QN.js b/docs/assets/core.md.DaReq_QN.js new file mode 100644 index 00000000..b055572d --- /dev/null +++ b/docs/assets/core.md.DaReq_QN.js @@ -0,0 +1 @@ +import{_ as e,c as a,a2 as r,o}from"./chunks/framework.CdbxnhrM.js";const p=JSON.parse('{"title":"Core","description":"","frontmatter":{},"headers":[],"relativePath":"core.md","filePath":"core.md","lastUpdated":1700306874000}'),s={name:"core.md"};function l(i,t,d,h,c,n){return o(),a("div",null,t[0]||(t[0]=[r('

Core

This page is about the PeyrSharp.Core module.

Compatibility

The PeyrSharp.Core module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Namespaces

The Core namespace contains other namespaces:

Classes

',10)]))}const u=e(s,[["render",l]]);export{p as __pageData,u as default}; diff --git a/docs/assets/core.md.DaReq_QN.lean.js b/docs/assets/core.md.DaReq_QN.lean.js new file mode 100644 index 00000000..b055572d --- /dev/null +++ b/docs/assets/core.md.DaReq_QN.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,a2 as r,o}from"./chunks/framework.CdbxnhrM.js";const p=JSON.parse('{"title":"Core","description":"","frontmatter":{},"headers":[],"relativePath":"core.md","filePath":"core.md","lastUpdated":1700306874000}'),s={name:"core.md"};function l(i,t,d,h,c,n){return o(),a("div",null,t[0]||(t[0]=[r('

Core

This page is about the PeyrSharp.Core module.

Compatibility

The PeyrSharp.Core module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Namespaces

The Core namespace contains other namespaces:

Classes

',10)]))}const u=e(s,[["render",l]]);export{p as __pageData,u as default}; diff --git a/docs/assets/core.md.eE2VVFJl.js b/docs/assets/core.md.eE2VVFJl.js deleted file mode 100644 index 4f9c1ab6..00000000 --- a/docs/assets/core.md.eE2VVFJl.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as r}from"./chunks/framework.q7IuVqhY.js";const _=JSON.parse('{"title":"Core","description":"","frontmatter":{},"headers":[],"relativePath":"core.md","filePath":"core.md","lastUpdated":1700306874000}'),o={name:"core.md"},s=r('

Core

This page is about the PeyrSharp.Core module.

Compatibility

The PeyrSharp.Core module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Namespaces

The Core namespace contains other namespaces:

Classes

',10),l=[s];function i(d,h,c,n,m,p){return e(),a("div",null,l)}const f=t(o,[["render",i]]);export{_ as __pageData,f as default}; diff --git a/docs/assets/core.md.eE2VVFJl.lean.js b/docs/assets/core.md.eE2VVFJl.lean.js deleted file mode 100644 index d2087a82..00000000 --- a/docs/assets/core.md.eE2VVFJl.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as r}from"./chunks/framework.q7IuVqhY.js";const _=JSON.parse('{"title":"Core","description":"","frontmatter":{},"headers":[],"relativePath":"core.md","filePath":"core.md","lastUpdated":1700306874000}'),o={name:"core.md"},s=r("",10),l=[s];function i(d,h,c,n,m,p){return e(),a("div",null,l)}const f=t(o,[["render",i]]);export{_ as __pageData,f as default}; diff --git a/docs/assets/core_converters.md.5FAuzaJT.js b/docs/assets/core_converters.md.5FAuzaJT.js new file mode 100644 index 00000000..8637ab65 --- /dev/null +++ b/docs/assets/core_converters.md.5FAuzaJT.js @@ -0,0 +1 @@ +import{_ as t,c as r,a2 as a,o}from"./chunks/framework.CdbxnhrM.js";const p=JSON.parse('{"title":"Converters","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters.md","filePath":"core/converters.md","lastUpdated":1700306874000}'),s={name:"core/converters.md"};function l(i,e,c,n,d,h){return o(),r("div",null,e[0]||(e[0]=[a('

Converters

This page is about the Converters namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Converters namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

',7)]))}const f=t(s,[["render",l]]);export{p as __pageData,f as default}; diff --git a/docs/assets/core_converters.md.5FAuzaJT.lean.js b/docs/assets/core_converters.md.5FAuzaJT.lean.js new file mode 100644 index 00000000..8637ab65 --- /dev/null +++ b/docs/assets/core_converters.md.5FAuzaJT.lean.js @@ -0,0 +1 @@ +import{_ as t,c as r,a2 as a,o}from"./chunks/framework.CdbxnhrM.js";const p=JSON.parse('{"title":"Converters","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters.md","filePath":"core/converters.md","lastUpdated":1700306874000}'),s={name:"core/converters.md"};function l(i,e,c,n,d,h){return o(),r("div",null,e[0]||(e[0]=[a('

Converters

This page is about the Converters namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Converters namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

',7)]))}const f=t(s,[["render",l]]);export{p as __pageData,f as default}; diff --git a/docs/assets/core_converters.md.6C56cNih.js b/docs/assets/core_converters.md.6C56cNih.js deleted file mode 100644 index d83ec27d..00000000 --- a/docs/assets/core_converters.md.6C56cNih.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as r,R as a}from"./chunks/framework.q7IuVqhY.js";const _=JSON.parse('{"title":"Converters","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters.md","filePath":"core/converters.md","lastUpdated":1700306874000}'),o={name:"core/converters.md"},s=a('

Converters

This page is about the Converters namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Converters namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

',7),l=[s];function c(i,n,h,d,m,p){return t(),r("div",null,l)}const v=e(o,[["render",c]]);export{_ as __pageData,v as default}; diff --git a/docs/assets/core_converters.md.6C56cNih.lean.js b/docs/assets/core_converters.md.6C56cNih.lean.js deleted file mode 100644 index b46634ce..00000000 --- a/docs/assets/core_converters.md.6C56cNih.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as r,R as a}from"./chunks/framework.q7IuVqhY.js";const _=JSON.parse('{"title":"Converters","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters.md","filePath":"core/converters.md","lastUpdated":1700306874000}'),o={name:"core/converters.md"},s=a("",7),l=[s];function c(i,n,h,d,m,p){return t(),r("div",null,l)}const v=e(o,[["render",c]]);export{_ as __pageData,v as default}; diff --git a/docs/assets/core_converters_angle.md.C_Lsff89.js b/docs/assets/core_converters_angle.md.C_Lsff89.js new file mode 100644 index 00000000..1c8d2f10 --- /dev/null +++ b/docs/assets/core_converters_angle.md.C_Lsff89.js @@ -0,0 +1,7 @@ +import{_ as e,c as s,a2 as t,o as i}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Angle","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/angle.md","filePath":"core/converters/angle.md","lastUpdated":1700306874000}'),n={name:"core/converters/angle.md"};function r(d,a,h,l,o,p){return i(),s("div",null,a[0]||(a[0]=[t(`

Angle

This page is about the Angle class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Angle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

DegreesToRadians(degrees)

Definition

Converts degrees to radians. Returns a double value.

Arguments

TypeNameMeaning
doubledegreesNumber of degrees to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double radians = Angle.DegreesToRadians(90);
+// radians = 1.5707963271535559

RadiansToDegrees(radians)

Definition

Converts radians to degrees. Returns a double value.

Arguments

TypeNameMeaning
doubleradiansNumber of radians to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double deg = Angle.RadiansToDegrees(1.2);
+// deg = 68.7549354
`,21)]))}const g=e(n,[["render",r]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_converters_angle.md.C_Lsff89.lean.js b/docs/assets/core_converters_angle.md.C_Lsff89.lean.js new file mode 100644 index 00000000..1c8d2f10 --- /dev/null +++ b/docs/assets/core_converters_angle.md.C_Lsff89.lean.js @@ -0,0 +1,7 @@ +import{_ as e,c as s,a2 as t,o as i}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Angle","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/angle.md","filePath":"core/converters/angle.md","lastUpdated":1700306874000}'),n={name:"core/converters/angle.md"};function r(d,a,h,l,o,p){return i(),s("div",null,a[0]||(a[0]=[t(`

Angle

This page is about the Angle class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Angle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

DegreesToRadians(degrees)

Definition

Converts degrees to radians. Returns a double value.

Arguments

TypeNameMeaning
doubledegreesNumber of degrees to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double radians = Angle.DegreesToRadians(90);
+// radians = 1.5707963271535559

RadiansToDegrees(radians)

Definition

Converts radians to degrees. Returns a double value.

Arguments

TypeNameMeaning
doubleradiansNumber of radians to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double deg = Angle.RadiansToDegrees(1.2);
+// deg = 68.7549354
`,21)]))}const g=e(n,[["render",r]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_converters_angle.md.mHSJ0gbw.js b/docs/assets/core_converters_angle.md.mHSJ0gbw.js deleted file mode 100644 index 3982c059..00000000 --- a/docs/assets/core_converters_angle.md.mHSJ0gbw.js +++ /dev/null @@ -1,7 +0,0 @@ -import{_ as a,o as s,c as e,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Angle","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/angle.md","filePath":"core/converters/angle.md","lastUpdated":1700306874000}'),i={name:"core/converters/angle.md"},n=t(`

Angle

This page is about the Angle class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Angle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

DegreesToRadians(degrees)

Definition

Converts degrees to radians. Returns a double value.

Arguments

TypeNameMeaning
doubledegreesNumber of degrees to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double radians = Angle.DegreesToRadians(90);
-// radians = 1.5707963271535559

RadiansToDegrees(radians)

Definition

Converts radians to degrees. Returns a double value.

Arguments

TypeNameMeaning
doubleradiansNumber of radians to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double deg = Angle.RadiansToDegrees(1.2);
-// deg = 68.7549354
`,21),r=[n];function d(h,l,o,p,k,c){return s(),e("div",null,r)}const b=a(i,[["render",d]]);export{u as __pageData,b as default}; diff --git a/docs/assets/core_converters_angle.md.mHSJ0gbw.lean.js b/docs/assets/core_converters_angle.md.mHSJ0gbw.lean.js deleted file mode 100644 index 11982447..00000000 --- a/docs/assets/core_converters_angle.md.mHSJ0gbw.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as e,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Angle","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/angle.md","filePath":"core/converters/angle.md","lastUpdated":1700306874000}'),i={name:"core/converters/angle.md"},n=t("",21),r=[n];function d(h,l,o,p,k,c){return s(),e("div",null,r)}const b=a(i,[["render",d]]);export{u as __pageData,b as default}; diff --git a/docs/assets/core_converters_colors_hex.md.BZ6S7wck.js b/docs/assets/core_converters_colors_hex.md.BZ6S7wck.js new file mode 100644 index 00000000..4237ea84 --- /dev/null +++ b/docs/assets/core_converters_colors_hex.md.BZ6S7wck.js @@ -0,0 +1,7 @@ +import{_ as s,c as i,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"HEX","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hex.md","filePath":"core/converters/colors/hex.md","lastUpdated":1700306874000}'),h={name:"core/converters/colors/hex.md"};function n(r,a,l,o,d,p){return t(),i("div",null,a[0]||(a[0]=[e(`

HEX

This page is about the HEX class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HEX class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

HEX(hex)

Initializes a hexadecimal class from a hexadecimal value.

Arguments

TypeNameMeaning
stringhexThe hexadecimal value (with or without #).

WARNING

If you specify a non-hexadecimal value, a HEXInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HEX hex = new("#FF0A17");

Methods

ToRgb()

Definition

Converts the HEX color to RGB. Returns a RGB class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+RGB rgb = new HEX("#FFFFFF").ToRgb();

ToHsv()

Definition

Converts the HEX color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HSV hsv = new HEX("#E1077B").ToHsv();

Properties

Value

Definition

c#
public string Value { get; init; }

The Value property contains the hexadecimal value of the HEX color. You can only get this property.

`,33)]))}const g=s(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_converters_colors_hex.md.BZ6S7wck.lean.js b/docs/assets/core_converters_colors_hex.md.BZ6S7wck.lean.js new file mode 100644 index 00000000..4237ea84 --- /dev/null +++ b/docs/assets/core_converters_colors_hex.md.BZ6S7wck.lean.js @@ -0,0 +1,7 @@ +import{_ as s,c as i,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"HEX","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hex.md","filePath":"core/converters/colors/hex.md","lastUpdated":1700306874000}'),h={name:"core/converters/colors/hex.md"};function n(r,a,l,o,d,p){return t(),i("div",null,a[0]||(a[0]=[e(`

HEX

This page is about the HEX class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HEX class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

HEX(hex)

Initializes a hexadecimal class from a hexadecimal value.

Arguments

TypeNameMeaning
stringhexThe hexadecimal value (with or without #).

WARNING

If you specify a non-hexadecimal value, a HEXInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HEX hex = new("#FF0A17");

Methods

ToRgb()

Definition

Converts the HEX color to RGB. Returns a RGB class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+RGB rgb = new HEX("#FFFFFF").ToRgb();

ToHsv()

Definition

Converts the HEX color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HSV hsv = new HEX("#E1077B").ToHsv();

Properties

Value

Definition

c#
public string Value { get; init; }

The Value property contains the hexadecimal value of the HEX color. You can only get this property.

`,33)]))}const g=s(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_converters_colors_hex.md.cIg-Jmws.js b/docs/assets/core_converters_colors_hex.md.cIg-Jmws.js deleted file mode 100644 index 741a8112..00000000 --- a/docs/assets/core_converters_colors_hex.md.cIg-Jmws.js +++ /dev/null @@ -1,7 +0,0 @@ -import{_ as a,o as s,c as i,R as e}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"HEX","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hex.md","filePath":"core/converters/colors/hex.md","lastUpdated":1700306874000}'),t={name:"core/converters/colors/hex.md"},h=e(`

HEX

This page is about the HEX class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HEX class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

HEX(hex)

Initializes a hexadecimal class from a hexadecimal value.

Arguments

TypeNameMeaning
stringhexThe hexadecimal value (with or without #).

WARNING

If you specify a non-hexadecimal value, a HEXInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
-
-HEX hex = new("#FF0A17");

Methods

ToRgb()

Definition

Converts the HEX color to RGB. Returns a RGB class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
-
-RGB rgb = new HEX("#FFFFFF").ToRgb();

ToHsv()

Definition

Converts the HEX color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
-
-HSV hsv = new HEX("#E1077B").ToHsv();

Properties

Value

Definition

c#
public string Value { get; init; }

The Value property contains the hexadecimal value of the HEX color. You can only get this property.

`,33),n=[h];function r(l,o,d,p,c,k){return s(),i("div",null,n)}const E=a(t,[["render",r]]);export{u as __pageData,E as default}; diff --git a/docs/assets/core_converters_colors_hex.md.cIg-Jmws.lean.js b/docs/assets/core_converters_colors_hex.md.cIg-Jmws.lean.js deleted file mode 100644 index 187e69f8..00000000 --- a/docs/assets/core_converters_colors_hex.md.cIg-Jmws.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as i,R as e}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"HEX","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hex.md","filePath":"core/converters/colors/hex.md","lastUpdated":1700306874000}'),t={name:"core/converters/colors/hex.md"},h=e("",33),n=[h];function r(l,o,d,p,c,k){return s(),i("div",null,n)}const E=a(t,[["render",r]]);export{u as __pageData,E as default}; diff --git a/docs/assets/core_converters_colors_hsv.md.I_OJZCpr.js b/docs/assets/core_converters_colors_hsv.md.I_OJZCpr.js new file mode 100644 index 00000000..7615932d --- /dev/null +++ b/docs/assets/core_converters_colors_hsv.md.I_OJZCpr.js @@ -0,0 +1,3 @@ +import{_ as t,c as e,a2 as i,o as s}from"./chunks/framework.CdbxnhrM.js";const u=JSON.parse('{"title":"HSV","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hsv.md","filePath":"core/converters/colors/hsv.md","lastUpdated":1700306874000}'),n={name:"core/converters/colors/hsv.md"};function o(h,a,r,d,l,c){return s(),e("div",null,a[0]||(a[0]=[i(`

HSV

This page is about the HSV class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HSV class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

HSV(hue, saturation, value)

Definition

Initializes a HSV color from its hue, saturation, and value.

Arguments

TypeNameMeaning
inthueThe Hue of the color.
intsaturationThe saturation percentage.
intvalueThe value/brightness percentage.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HSV hsv = new(50, 75, 100);

Properties

Hue

Definition

c#
public int Hue { get; init; }

The Hue property contains the hue of the HSV color. You can only get this property.

Saturation

Definition

c#
public int Saturation { get; init; }

The Value property contains the saturation percentage of the HSV color. You can only get this property.

Value

Definition

c#
public int Value { get; init; }

The Value property contains the value/brightness percentage of the HSV color. You can only get this property.

`,26)]))}const k=t(n,[["render",o]]);export{u as __pageData,k as default}; diff --git a/docs/assets/core_converters_colors_hsv.md.I_OJZCpr.lean.js b/docs/assets/core_converters_colors_hsv.md.I_OJZCpr.lean.js new file mode 100644 index 00000000..7615932d --- /dev/null +++ b/docs/assets/core_converters_colors_hsv.md.I_OJZCpr.lean.js @@ -0,0 +1,3 @@ +import{_ as t,c as e,a2 as i,o as s}from"./chunks/framework.CdbxnhrM.js";const u=JSON.parse('{"title":"HSV","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hsv.md","filePath":"core/converters/colors/hsv.md","lastUpdated":1700306874000}'),n={name:"core/converters/colors/hsv.md"};function o(h,a,r,d,l,c){return s(),e("div",null,a[0]||(a[0]=[i(`

HSV

This page is about the HSV class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HSV class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

HSV(hue, saturation, value)

Definition

Initializes a HSV color from its hue, saturation, and value.

Arguments

TypeNameMeaning
inthueThe Hue of the color.
intsaturationThe saturation percentage.
intvalueThe value/brightness percentage.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HSV hsv = new(50, 75, 100);

Properties

Hue

Definition

c#
public int Hue { get; init; }

The Hue property contains the hue of the HSV color. You can only get this property.

Saturation

Definition

c#
public int Saturation { get; init; }

The Value property contains the saturation percentage of the HSV color. You can only get this property.

Value

Definition

c#
public int Value { get; init; }

The Value property contains the value/brightness percentage of the HSV color. You can only get this property.

`,26)]))}const k=t(n,[["render",o]]);export{u as __pageData,k as default}; diff --git a/docs/assets/core_converters_colors_hsv.md.T--BHYXh.js b/docs/assets/core_converters_colors_hsv.md.T--BHYXh.js deleted file mode 100644 index 11587536..00000000 --- a/docs/assets/core_converters_colors_hsv.md.T--BHYXh.js +++ /dev/null @@ -1,3 +0,0 @@ -import{_ as a,o as t,c as e,R as i}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"HSV","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hsv.md","filePath":"core/converters/colors/hsv.md","lastUpdated":1700306874000}'),s={name:"core/converters/colors/hsv.md"},o=i(`

HSV

This page is about the HSV class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HSV class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

HSV(hue, saturation, value)

Definition

Initializes a HSV color from its hue, saturation, and value.

Arguments

TypeNameMeaning
inthueThe Hue of the color.
intsaturationThe saturation percentage.
intvalueThe value/brightness percentage.

Usage

c#
using PeyrSharp.Core.Converters;
-
-HSV hsv = new(50, 75, 100);

Properties

Hue

Definition

c#
public int Hue { get; init; }

The Hue property contains the hue of the HSV color. You can only get this property.

Saturation

Definition

c#
public int Saturation { get; init; }

The Value property contains the saturation percentage of the HSV color. You can only get this property.

Value

Definition

c#
public int Value { get; init; }

The Value property contains the value/brightness percentage of the HSV color. You can only get this property.

`,26),n=[o];function h(r,d,l,c,p,u){return t(),e("div",null,n)}const b=a(s,[["render",h]]);export{g as __pageData,b as default}; diff --git a/docs/assets/core_converters_colors_hsv.md.T--BHYXh.lean.js b/docs/assets/core_converters_colors_hsv.md.T--BHYXh.lean.js deleted file mode 100644 index de6c77a2..00000000 --- a/docs/assets/core_converters_colors_hsv.md.T--BHYXh.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as t,c as e,R as i}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"HSV","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/hsv.md","filePath":"core/converters/colors/hsv.md","lastUpdated":1700306874000}'),s={name:"core/converters/colors/hsv.md"},o=i("",26),n=[o];function h(r,d,l,c,p,u){return t(),e("div",null,n)}const b=a(s,[["render",h]]);export{g as __pageData,b as default}; diff --git a/docs/assets/core_converters_colors_rgb.md.GxeutkZn.js b/docs/assets/core_converters_colors_rgb.md.CmZZROaF.js similarity index 56% rename from docs/assets/core_converters_colors_rgb.md.GxeutkZn.js rename to docs/assets/core_converters_colors_rgb.md.CmZZROaF.js index 48e6f337..bce85629 100644 --- a/docs/assets/core_converters_colors_rgb.md.GxeutkZn.js +++ b/docs/assets/core_converters_colors_rgb.md.CmZZROaF.js @@ -1,10 +1,10 @@ -import{_ as s,o as a,c as i,R as t}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"RGB","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/rgb.md","filePath":"core/converters/colors/rgb.md","lastUpdated":1700306874000}'),e={name:"core/converters/colors/rgb.md"},h=t(`

RGB

This page is about the RGB class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The RGB class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

RGB(color)

Definition

Initializes a RGB class from a System.Drawing.Color. Returns a RGB class.

Arguments

TypeNameMeaning
ColorcolorThe RGB color.

Usage

c#
using PeyrSharp.Core.Converters;
+import{_ as a,c as i,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"RGB","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/rgb.md","filePath":"core/converters/colors/rgb.md","lastUpdated":1700306874000}'),h={name:"core/converters/colors/rgb.md"};function n(r,s,l,o,d,p){return e(),i("div",null,s[0]||(s[0]=[t(`

RGB

This page is about the RGB class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The RGB class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

RGB(color)

Definition

Initializes a RGB class from a System.Drawing.Color. Returns a RGB class.

Arguments

TypeNameMeaning
ColorcolorThe RGB color.

Usage

c#
using PeyrSharp.Core.Converters;
 using System.Drawing;
 
-RGB rgb = new(Color.FromArgb(255, 150, 120));

RGB(r, g, b)

Definition

Initializes a RGB class from its r, g and b values. Returns a RGB class.

Arguments

TypeNameMeaning
intrRed.
intgGreen.
intbBlue.

WARNING

If you specify a value that is not between 0 and 255, a RGBInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
+RGB rgb = new(Color.FromArgb(255, 150, 120));

RGB(r, g, b)

Definition

Initializes a RGB class from its r, g and b values. Returns a RGB class.

Arguments

TypeNameMeaning
intrRed.
intgGreen.
intbBlue.

WARNING

If you specify a value that is not between 0 and 255, a RGBInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
 
-RGB rgb = new(255, 150, 120);

Methods

ToHex()

Definition

Converts the RGB color to hexadecimal (HEX). Returns a HEX class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+RGB rgb = new(255, 150, 120);

Methods

ToHex()

Definition

Converts the RGB color to hexadecimal (HEX). Returns a HEX class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
 
-HEX hex = new RGB(255, 0, 0).ToHex();

ToHsv()

Definition

Converts the RGB color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+HEX hex = new RGB(255, 0, 0).ToHex();

ToHsv()

Definition

Converts the RGB color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
 
-HSV hsv = new RGB(255, 0, 0).ToHsv();

Properties

Color

Definition

c#
public Color Color { get; init; }

The Color property contains the RGB color as a System.Drawing.Color. You can only get this property.

`,41),n=[h];function r(l,o,d,p,k,c){return a(),i("div",null,n)}const u=s(e,[["render",r]]);export{E as __pageData,u as default}; +HSV hsv = new RGB(255, 0, 0).ToHsv();

Properties

Color

Definition

c#
public Color Color { get; init; }

The Color property contains the RGB color as a System.Drawing.Color. You can only get this property.

`,41)]))}const g=a(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_converters_colors_rgb.md.CmZZROaF.lean.js b/docs/assets/core_converters_colors_rgb.md.CmZZROaF.lean.js new file mode 100644 index 00000000..bce85629 --- /dev/null +++ b/docs/assets/core_converters_colors_rgb.md.CmZZROaF.lean.js @@ -0,0 +1,10 @@ +import{_ as a,c as i,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"RGB","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/rgb.md","filePath":"core/converters/colors/rgb.md","lastUpdated":1700306874000}'),h={name:"core/converters/colors/rgb.md"};function n(r,s,l,o,d,p){return e(),i("div",null,s[0]||(s[0]=[t(`

RGB

This page is about the RGB class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The RGB class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

RGB(color)

Definition

Initializes a RGB class from a System.Drawing.Color. Returns a RGB class.

Arguments

TypeNameMeaning
ColorcolorThe RGB color.

Usage

c#
using PeyrSharp.Core.Converters;
+using System.Drawing;
+
+RGB rgb = new(Color.FromArgb(255, 150, 120));

RGB(r, g, b)

Definition

Initializes a RGB class from its r, g and b values. Returns a RGB class.

Arguments

TypeNameMeaning
intrRed.
intgGreen.
intbBlue.

WARNING

If you specify a value that is not between 0 and 255, a RGBInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
+
+RGB rgb = new(255, 150, 120);

Methods

ToHex()

Definition

Converts the RGB color to hexadecimal (HEX). Returns a HEX class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HEX hex = new RGB(255, 0, 0).ToHex();

ToHsv()

Definition

Converts the RGB color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+
+HSV hsv = new RGB(255, 0, 0).ToHsv();

Properties

Color

Definition

c#
public Color Color { get; init; }

The Color property contains the RGB color as a System.Drawing.Color. You can only get this property.

`,41)]))}const g=a(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_converters_colors_rgb.md.GxeutkZn.lean.js b/docs/assets/core_converters_colors_rgb.md.GxeutkZn.lean.js deleted file mode 100644 index 30855496..00000000 --- a/docs/assets/core_converters_colors_rgb.md.GxeutkZn.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as i,R as t}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"RGB","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/colors/rgb.md","filePath":"core/converters/colors/rgb.md","lastUpdated":1700306874000}'),e={name:"core/converters/colors/rgb.md"},h=t("",41),n=[h];function r(l,o,d,p,k,c){return a(),i("div",null,n)}const u=s(e,[["render",r]]);export{E as __pageData,u as default}; diff --git a/docs/assets/core_converters_distances.md.DtvYpMk9.js b/docs/assets/core_converters_distances.md.DtvYpMk9.js new file mode 100644 index 00000000..a40a4773 --- /dev/null +++ b/docs/assets/core_converters_distances.md.DtvYpMk9.js @@ -0,0 +1,13 @@ +import{_ as a,c as e,a2 as i,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Distances","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/distances.md","filePath":"core/converters/distances.md","lastUpdated":1700306874000}'),n={name:"core/converters/distances.md"};function h(l,s,r,d,o,k){return t(),e("div",null,s[0]||(s[0]=[i(`

Distances

This page is about the Distances class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Distances class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

MilesToKm(miles)

Definition

Converts miles to kilometers. Returns a double value.

Arguments

TypeNameMeaning
doublemilesNumber of mile(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double km = Distances.MilesToKm(10);
+// km = 16.09344

KmToMiles(km)

Definition

Converts kilometers to miles. Returns a double value.

Arguments

TypeNameMeaning
doublekilometersNumber of kilometers(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double miles = Distances.KmToMiles(5);
+// miles = 3.1068559611866697

FeetToMeters(feet)

Definition

Converts feet to meters. Returns a double value.

Arguments

TypeNameMeaning
doublefeetNumber of feet to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double meters = Distances.FeetToMeters(12);
+// meters = 3.657599994440448

MetersToFeet(meters)

Definition

Converts meters to feet. Returns a double value.

Arguments

TypeNameMeaning
doublemetersNumber of meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double feet = Distances.MetersToFeet(3.657599994440448);
+// feet = 12
`,35)]))}const g=a(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_converters_distances.md.DtvYpMk9.lean.js b/docs/assets/core_converters_distances.md.DtvYpMk9.lean.js new file mode 100644 index 00000000..a40a4773 --- /dev/null +++ b/docs/assets/core_converters_distances.md.DtvYpMk9.lean.js @@ -0,0 +1,13 @@ +import{_ as a,c as e,a2 as i,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Distances","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/distances.md","filePath":"core/converters/distances.md","lastUpdated":1700306874000}'),n={name:"core/converters/distances.md"};function h(l,s,r,d,o,k){return t(),e("div",null,s[0]||(s[0]=[i(`

Distances

This page is about the Distances class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Distances class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

MilesToKm(miles)

Definition

Converts miles to kilometers. Returns a double value.

Arguments

TypeNameMeaning
doublemilesNumber of mile(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double km = Distances.MilesToKm(10);
+// km = 16.09344

KmToMiles(km)

Definition

Converts kilometers to miles. Returns a double value.

Arguments

TypeNameMeaning
doublekilometersNumber of kilometers(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double miles = Distances.KmToMiles(5);
+// miles = 3.1068559611866697

FeetToMeters(feet)

Definition

Converts feet to meters. Returns a double value.

Arguments

TypeNameMeaning
doublefeetNumber of feet to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double meters = Distances.FeetToMeters(12);
+// meters = 3.657599994440448

MetersToFeet(meters)

Definition

Converts meters to feet. Returns a double value.

Arguments

TypeNameMeaning
doublemetersNumber of meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double feet = Distances.MetersToFeet(3.657599994440448);
+// feet = 12
`,35)]))}const g=a(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_converters_distances.md.j94oN1s-.js b/docs/assets/core_converters_distances.md.j94oN1s-.js deleted file mode 100644 index 4aefcb68..00000000 --- a/docs/assets/core_converters_distances.md.j94oN1s-.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as s,o as a,c as e,R as i}from"./chunks/framework.q7IuVqhY.js";const m=JSON.parse('{"title":"Distances","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/distances.md","filePath":"core/converters/distances.md","lastUpdated":1700306874000}'),t={name:"core/converters/distances.md"},n=i(`

Distances

This page is about the Distances class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Distances class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

MilesToKm(miles)

Definition

Converts miles to kilometers. Returns a double value.

Arguments

TypeNameMeaning
doublemilesNumber of mile(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double km = Distances.MilesToKm(10);
-// km = 16.09344

KmToMiles(km)

Definition

Converts kilometers to miles. Returns a double value.

Arguments

TypeNameMeaning
doublekilometersNumber of kilometers(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double miles = Distances.KmToMiles(5);
-// miles = 3.1068559611866697

FeetToMeters(feet)

Definition

Converts feet to meters. Returns a double value.

Arguments

TypeNameMeaning
doublefeetNumber of feet to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double meters = Distances.FeetToMeters(12);
-// meters = 3.657599994440448

MetersToFeet(meters)

Definition

Converts meters to feet. Returns a double value.

Arguments

TypeNameMeaning
doublemetersNumber of meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double feet = Distances.MetersToFeet(3.657599994440448);
-// feet = 12
`,35),h=[n];function l(r,d,o,k,p,c){return a(),e("div",null,h)}const u=s(t,[["render",l]]);export{m as __pageData,u as default}; diff --git a/docs/assets/core_converters_distances.md.j94oN1s-.lean.js b/docs/assets/core_converters_distances.md.j94oN1s-.lean.js deleted file mode 100644 index 89cc7b32..00000000 --- a/docs/assets/core_converters_distances.md.j94oN1s-.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as e,R as i}from"./chunks/framework.q7IuVqhY.js";const m=JSON.parse('{"title":"Distances","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/distances.md","filePath":"core/converters/distances.md","lastUpdated":1700306874000}'),t={name:"core/converters/distances.md"},n=i("",35),h=[n];function l(r,d,o,k,p,c){return a(),e("div",null,h)}const u=s(t,[["render",l]]);export{m as __pageData,u as default}; diff --git a/docs/assets/core_converters_energies.md.AYYvhktf.js b/docs/assets/core_converters_energies.md.AYYvhktf.js deleted file mode 100644 index daa0c65b..00000000 --- a/docs/assets/core_converters_energies.md.AYYvhktf.js +++ /dev/null @@ -1,7 +0,0 @@ -import{_ as s,o as a,c as e,R as i}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"Energies","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/energies.md","filePath":"core/converters/energies.md","lastUpdated":1700306874000}'),t={name:"core/converters/energies.md"},n=i(`

Energies

This page is about the Energies class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Energies class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

CaloriesToJoules(calories)

Definition

Converts calories to joules.

Arguments

TypeNameMeaning
doublecaloriesThe amount of energy in calories to be converted.

Returns

The equivalent amount of energy in joules.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double calories = 100.0;
-double joules = Energies.CaloriesToJoules(calories);

JoulesToCalories(joules)

Definition

Converts joules to calories.

Arguments

TypeNameMeaning
doublejoulesThe amount of energy in joules.

Returns

The equivalent amount of energy in calories.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double joules = 1000.0;
-double calories = Energies.JoulesToCalories(joules);
`,25),r=[n];function o(l,h,d,p,k,c){return a(),e("div",null,r)}const b=s(t,[["render",o]]);export{g as __pageData,b as default}; diff --git a/docs/assets/core_converters_energies.md.AYYvhktf.lean.js b/docs/assets/core_converters_energies.md.AYYvhktf.lean.js deleted file mode 100644 index 1a1bce07..00000000 --- a/docs/assets/core_converters_energies.md.AYYvhktf.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as e,R as i}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"Energies","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/energies.md","filePath":"core/converters/energies.md","lastUpdated":1700306874000}'),t={name:"core/converters/energies.md"},n=i("",25),r=[n];function o(l,h,d,p,k,c){return a(),e("div",null,r)}const b=s(t,[["render",o]]);export{g as __pageData,b as default}; diff --git a/docs/assets/core_converters_energies.md.BPn2952Q.js b/docs/assets/core_converters_energies.md.BPn2952Q.js new file mode 100644 index 00000000..3ec8a89c --- /dev/null +++ b/docs/assets/core_converters_energies.md.BPn2952Q.js @@ -0,0 +1,7 @@ +import{_ as a,c as e,a2 as i,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Energies","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/energies.md","filePath":"core/converters/energies.md","lastUpdated":1700306874000}'),n={name:"core/converters/energies.md"};function r(l,s,o,h,d,p){return t(),e("div",null,s[0]||(s[0]=[i(`

Energies

This page is about the Energies class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Energies class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

CaloriesToJoules(calories)

Definition

Converts calories to joules.

Arguments

TypeNameMeaning
doublecaloriesThe amount of energy in calories to be converted.

Returns

The equivalent amount of energy in joules.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double calories = 100.0;
+double joules = Energies.CaloriesToJoules(calories);

JoulesToCalories(joules)

Definition

Converts joules to calories.

Arguments

TypeNameMeaning
doublejoulesThe amount of energy in joules.

Returns

The equivalent amount of energy in calories.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double joules = 1000.0;
+double calories = Energies.JoulesToCalories(joules);
`,25)]))}const u=a(n,[["render",r]]);export{c as __pageData,u as default}; diff --git a/docs/assets/core_converters_energies.md.BPn2952Q.lean.js b/docs/assets/core_converters_energies.md.BPn2952Q.lean.js new file mode 100644 index 00000000..3ec8a89c --- /dev/null +++ b/docs/assets/core_converters_energies.md.BPn2952Q.lean.js @@ -0,0 +1,7 @@ +import{_ as a,c as e,a2 as i,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Energies","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/energies.md","filePath":"core/converters/energies.md","lastUpdated":1700306874000}'),n={name:"core/converters/energies.md"};function r(l,s,o,h,d,p){return t(),e("div",null,s[0]||(s[0]=[i(`

Energies

This page is about the Energies class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Energies class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

CaloriesToJoules(calories)

Definition

Converts calories to joules.

Arguments

TypeNameMeaning
doublecaloriesThe amount of energy in calories to be converted.

Returns

The equivalent amount of energy in joules.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double calories = 100.0;
+double joules = Energies.CaloriesToJoules(calories);

JoulesToCalories(joules)

Definition

Converts joules to calories.

Arguments

TypeNameMeaning
doublejoulesThe amount of energy in joules.

Returns

The equivalent amount of energy in calories.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double joules = 1000.0;
+double calories = Energies.JoulesToCalories(joules);
`,25)]))}const u=a(n,[["render",r]]);export{c as __pageData,u as default}; diff --git a/docs/assets/core_converters_masses.md.VxzQu0FO.js b/docs/assets/core_converters_masses.md.VxzQu0FO.js new file mode 100644 index 00000000..baaba405 --- /dev/null +++ b/docs/assets/core_converters_masses.md.VxzQu0FO.js @@ -0,0 +1,7 @@ +import{_ as a,c as t,a2 as i,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Masses","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/masses.md","filePath":"core/converters/masses.md","lastUpdated":1700306874000}'),n={name:"core/converters/masses.md"};function o(h,s,r,d,l,p){return e(),t("div",null,s[0]||(s[0]=[i(`

Masses

This page is about the Masses class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Masses class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

PoundsToKilograms(pounds)

Definition

Converts pounds to kilograms. Returns a double value.

Arguments

TypeNameMeaning
doublepoundsNumber of pounds to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double kg = Masses.PoundsToKilograms(10);
+// kg = 4.535923703803784

KilogramsToPounds(kilograms)

Definition

Converts kilograms to pounds. Returns a double value.

Arguments

TypeNameMeaning
doublekilogramsNumber of kilograms to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double pounds = Masses.KilogramsToPounds(25);
+// pounds = 55.115565499999995
`,21)]))}const g=a(n,[["render",o]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_converters_masses.md.VxzQu0FO.lean.js b/docs/assets/core_converters_masses.md.VxzQu0FO.lean.js new file mode 100644 index 00000000..baaba405 --- /dev/null +++ b/docs/assets/core_converters_masses.md.VxzQu0FO.lean.js @@ -0,0 +1,7 @@ +import{_ as a,c as t,a2 as i,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Masses","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/masses.md","filePath":"core/converters/masses.md","lastUpdated":1700306874000}'),n={name:"core/converters/masses.md"};function o(h,s,r,d,l,p){return e(),t("div",null,s[0]||(s[0]=[i(`

Masses

This page is about the Masses class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Masses class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

PoundsToKilograms(pounds)

Definition

Converts pounds to kilograms. Returns a double value.

Arguments

TypeNameMeaning
doublepoundsNumber of pounds to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double kg = Masses.PoundsToKilograms(10);
+// kg = 4.535923703803784

KilogramsToPounds(kilograms)

Definition

Converts kilograms to pounds. Returns a double value.

Arguments

TypeNameMeaning
doublekilogramsNumber of kilograms to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double pounds = Masses.KilogramsToPounds(25);
+// pounds = 55.115565499999995
`,21)]))}const g=a(n,[["render",o]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_converters_masses.md.r8eQT7wp.js b/docs/assets/core_converters_masses.md.r8eQT7wp.js deleted file mode 100644 index 0d142f5c..00000000 --- a/docs/assets/core_converters_masses.md.r8eQT7wp.js +++ /dev/null @@ -1,7 +0,0 @@ -import{_ as s,o as a,c as t,R as i}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Masses","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/masses.md","filePath":"core/converters/masses.md","lastUpdated":1700306874000}'),e={name:"core/converters/masses.md"},n=i(`

Masses

This page is about the Masses class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Masses class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

PoundsToKilograms(pounds)

Definition

Converts pounds to kilograms. Returns a double value.

Arguments

TypeNameMeaning
doublepoundsNumber of pounds to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double kg = Masses.PoundsToKilograms(10);
-// kg = 4.535923703803784

KilogramsToPounds(kilograms)

Definition

Converts kilograms to pounds. Returns a double value.

Arguments

TypeNameMeaning
doublekilogramsNumber of kilograms to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double pounds = Masses.KilogramsToPounds(25);
-// pounds = 55.115565499999995
`,21),o=[n];function h(r,d,l,p,k,c){return a(),t("div",null,o)}const m=s(e,[["render",h]]);export{u as __pageData,m as default}; diff --git a/docs/assets/core_converters_masses.md.r8eQT7wp.lean.js b/docs/assets/core_converters_masses.md.r8eQT7wp.lean.js deleted file mode 100644 index 836ff76d..00000000 --- a/docs/assets/core_converters_masses.md.r8eQT7wp.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as t,R as i}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Masses","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/masses.md","filePath":"core/converters/masses.md","lastUpdated":1700306874000}'),e={name:"core/converters/masses.md"},n=i("",21),o=[n];function h(r,d,l,p,k,c){return a(),t("div",null,o)}const m=s(e,[["render",h]]);export{u as __pageData,m as default}; diff --git a/docs/assets/core_converters_speeds.md.Y_lmMIjM.js b/docs/assets/core_converters_speeds.md.CUK2gTiZ.js similarity index 64% rename from docs/assets/core_converters_speeds.md.Y_lmMIjM.js rename to docs/assets/core_converters_speeds.md.CUK2gTiZ.js index 324ee7b2..cbfc3f59 100644 --- a/docs/assets/core_converters_speeds.md.Y_lmMIjM.js +++ b/docs/assets/core_converters_speeds.md.CUK2gTiZ.js @@ -1,39 +1,39 @@ -import{_ as s,o as i,c as e,R as a}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"Speeds","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/speeds.md","filePath":"core/converters/speeds.md","lastUpdated":1700306874000}'),t={name:"core/converters/speeds.md"},n=a(`

Speeds

This page is about the Speeds class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Speeds class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

KnotsToKilometersPerHour(knots)

Definition

Converts knots to kilometers per hour.

Arguments

TypeNameMeaning
doubleknotsThe speed in knots.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+import{_ as i,c as e,a2 as a,o as t}from"./chunks/framework.CdbxnhrM.js";const u=JSON.parse('{"title":"Speeds","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/speeds.md","filePath":"core/converters/speeds.md","lastUpdated":1700306874000}'),n={name:"core/converters/speeds.md"};function h(r,s,l,p,o,k){return t(),e("div",null,s[0]||(s[0]=[a(`

Speeds

This page is about the Speeds class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Speeds class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

KnotsToKilometersPerHour(knots)

Definition

Converts knots to kilometers per hour.

Arguments

TypeNameMeaning
doubleknotsThe speed in knots.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInKnots = 20.0;
 double speedInKilometersPerHour = Speeds.KnotsToKilometersPerHour(speedInKnots);
-Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToKnots(kilometersPerHour)

Definition

Converts kilometers per hour to knots.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToKnots(kilometersPerHour)

Definition

Converts kilometers per hour to knots.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInKilometersPerHour = 40.0;
 double speedInKnots = Speeds.KilometersPerHourToKnots(speedInKilometersPerHour);
-Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInKnots} knots");

KnotsToMilesPerHour(knots)

Definition

Converts knots to miles per hour.

Arguments

TypeNameDescription
doubleknotsThe speed in knots.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInKnots} knots");

KnotsToMilesPerHour(knots)

Definition

Converts knots to miles per hour.

Arguments

TypeNameDescription
doubleknotsThe speed in knots.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInKnots = 20.0;
 double speedInMilesPerHour = Speeds.KnotsToMilesPerHour(speedInKnots);
-Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInMilesPerHour} mph");

MilesPerHourToKnots(milesPerHour)

Definition

Converts miles per hour to knots.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInMilesPerHour} mph");

MilesPerHourToKnots(milesPerHour)

Definition

Converts miles per hour to knots.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInMilesPerHour = 60.0;
 double speedInKnots = Speeds.MilesPerHourToKnots(speedInMilesPerHour);
-Console.WriteLine($"{speedInMilesPerHour} miles/hour is equivalent to {speedInKnots} knots");

KilometersPerHourToMetersPerSecond(kilometersPerHour)

Definition

Converts kilometers per hour to meters per second.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in meters per second.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInMilesPerHour} miles/hour is equivalent to {speedInKnots} knots");

KilometersPerHourToMetersPerSecond(kilometersPerHour)

Definition

Converts kilometers per hour to meters per second.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in meters per second.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInKilometersPerHour = 100.0;
 double speedInMetersPerSecond = Speeds.KilometersPerHourToMetersPerSecond(speedInKilometersPerHour);
-Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMetersPerSecond} m/s");

MetersPerSecondToKilometersPerHour(metersPerSecond)

Definition

Converts meters per second to kilometers per hour.

Arguments

TypeNameMeaning
doublemetersPerSecondThe speed in meters per second.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMetersPerSecond} m/s");

MetersPerSecondToKilometersPerHour(metersPerSecond)

Definition

Converts meters per second to kilometers per hour.

Arguments

TypeNameMeaning
doublemetersPerSecondThe speed in meters per second.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInMetersPerSecond = 10.0;
 double speedInKilometersPerHour = Speeds.MetersPerSecondToKilometersPerHour(speedInMetersPerSecond);
-Console.WriteLine($"{speedInMetersPerSecond} m/s is equivalent to {speedInKilometersPerHour} km/h");

MilesPerHourToKilometersPerHour(milesPerHour)

Definition

Converts miles per hour to kilometers per hour.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInMetersPerSecond} m/s is equivalent to {speedInKilometersPerHour} km/h");

MilesPerHourToKilometersPerHour(milesPerHour)

Definition

Converts miles per hour to kilometers per hour.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInMilesPerHour = 60.0;
 double speedInKilometersPerHour = Speeds.MilesPerHourToKilometersPerHour(speedInMilesPerHour);
-Console.WriteLine($"{speedInMilesPerHour} mph is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToMilesPerHour(kilometersPerHour)

Definition

Converts kilometers per hour to miles per hour.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInMilesPerHour} mph is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToMilesPerHour(kilometersPerHour)

Definition

Converts kilometers per hour to miles per hour.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInKilometersPerHour = 50.0;
 double speedInMilesPerHour = Speeds.KilometersPerHourToMilesPerHour(speedInKilometersPerHour);
-Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMilesPerHour} mph");

MachToKilometersPerHour(n)

Definition

Converts a speed in mach to a speed in kilometers per hour. Returns a double value.

Arguments

TypeNameMeaning
doublenThe speed in mach to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMilesPerHour} mph");

MachToKilometersPerHour(n)

Definition

Converts a speed in mach to a speed in kilometers per hour. Returns a double value.

Arguments

TypeNameMeaning
doublenThe speed in mach to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double kmPerHour = Speeds.MachToKilometersPerHour(1);
-// kmPerHour = 1234.8

MachToMilesPerHour(mach)

Definition

Converts a speed in mach to miles per hour. Returns a double value.

Arguments

TypeNameMeaning
doublemachThe speed in mach.

Returns

A double representing the speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+// kmPerHour = 1234.8

MachToMilesPerHour(mach)

Definition

Converts a speed in mach to miles per hour. Returns a double value.

Arguments

TypeNameMeaning
doublemachThe speed in mach.

Returns

A double representing the speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double mph = Speeds.MachToMilesPerHour(0.8);
-// mph = 613.8153184
`,95),h=[n];function r(l,o,p,k,d,u){return i(),e("div",null,h)}const c=s(t,[["render",r]]);export{g as __pageData,c as default}; +// mph = 613.8153184
`,95)]))}const E=i(n,[["render",h]]);export{u as __pageData,E as default}; diff --git a/docs/assets/core_converters_speeds.md.CUK2gTiZ.lean.js b/docs/assets/core_converters_speeds.md.CUK2gTiZ.lean.js new file mode 100644 index 00000000..cbfc3f59 --- /dev/null +++ b/docs/assets/core_converters_speeds.md.CUK2gTiZ.lean.js @@ -0,0 +1,39 @@ +import{_ as i,c as e,a2 as a,o as t}from"./chunks/framework.CdbxnhrM.js";const u=JSON.parse('{"title":"Speeds","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/speeds.md","filePath":"core/converters/speeds.md","lastUpdated":1700306874000}'),n={name:"core/converters/speeds.md"};function h(r,s,l,p,o,k){return t(),e("div",null,s[0]||(s[0]=[a(`

Speeds

This page is about the Speeds class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Speeds class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

KnotsToKilometersPerHour(knots)

Definition

Converts knots to kilometers per hour.

Arguments

TypeNameMeaning
doubleknotsThe speed in knots.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInKnots = 20.0;
+double speedInKilometersPerHour = Speeds.KnotsToKilometersPerHour(speedInKnots);
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToKnots(kilometersPerHour)

Definition

Converts kilometers per hour to knots.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInKilometersPerHour = 40.0;
+double speedInKnots = Speeds.KilometersPerHourToKnots(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInKnots} knots");

KnotsToMilesPerHour(knots)

Definition

Converts knots to miles per hour.

Arguments

TypeNameDescription
doubleknotsThe speed in knots.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInKnots = 20.0;
+double speedInMilesPerHour = Speeds.KnotsToMilesPerHour(speedInKnots);
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInMilesPerHour} mph");

MilesPerHourToKnots(milesPerHour)

Definition

Converts miles per hour to knots.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInMilesPerHour = 60.0;
+double speedInKnots = Speeds.MilesPerHourToKnots(speedInMilesPerHour);
+Console.WriteLine($"{speedInMilesPerHour} miles/hour is equivalent to {speedInKnots} knots");

KilometersPerHourToMetersPerSecond(kilometersPerHour)

Definition

Converts kilometers per hour to meters per second.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in meters per second.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInKilometersPerHour = 100.0;
+double speedInMetersPerSecond = Speeds.KilometersPerHourToMetersPerSecond(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMetersPerSecond} m/s");

MetersPerSecondToKilometersPerHour(metersPerSecond)

Definition

Converts meters per second to kilometers per hour.

Arguments

TypeNameMeaning
doublemetersPerSecondThe speed in meters per second.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInMetersPerSecond = 10.0;
+double speedInKilometersPerHour = Speeds.MetersPerSecondToKilometersPerHour(speedInMetersPerSecond);
+Console.WriteLine($"{speedInMetersPerSecond} m/s is equivalent to {speedInKilometersPerHour} km/h");

MilesPerHourToKilometersPerHour(milesPerHour)

Definition

Converts miles per hour to kilometers per hour.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInMilesPerHour = 60.0;
+double speedInKilometersPerHour = Speeds.MilesPerHourToKilometersPerHour(speedInMilesPerHour);
+Console.WriteLine($"{speedInMilesPerHour} mph is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToMilesPerHour(kilometersPerHour)

Definition

Converts kilometers per hour to miles per hour.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double speedInKilometersPerHour = 50.0;
+double speedInMilesPerHour = Speeds.KilometersPerHourToMilesPerHour(speedInKilometersPerHour);
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMilesPerHour} mph");

MachToKilometersPerHour(n)

Definition

Converts a speed in mach to a speed in kilometers per hour. Returns a double value.

Arguments

TypeNameMeaning
doublenThe speed in mach to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double kmPerHour = Speeds.MachToKilometersPerHour(1);
+// kmPerHour = 1234.8

MachToMilesPerHour(mach)

Definition

Converts a speed in mach to miles per hour. Returns a double value.

Arguments

TypeNameMeaning
doublemachThe speed in mach.

Returns

A double representing the speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double mph = Speeds.MachToMilesPerHour(0.8);
+// mph = 613.8153184
`,95)]))}const E=i(n,[["render",h]]);export{u as __pageData,E as default}; diff --git a/docs/assets/core_converters_speeds.md.Y_lmMIjM.lean.js b/docs/assets/core_converters_speeds.md.Y_lmMIjM.lean.js deleted file mode 100644 index bc159353..00000000 --- a/docs/assets/core_converters_speeds.md.Y_lmMIjM.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as e,R as a}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"Speeds","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/speeds.md","filePath":"core/converters/speeds.md","lastUpdated":1700306874000}'),t={name:"core/converters/speeds.md"},n=a("",95),h=[n];function r(l,o,p,k,d,u){return i(),e("div",null,h)}const c=s(t,[["render",r]]);export{g as __pageData,c as default}; diff --git a/docs/assets/core_converters_storage.md.DcFFwe13.js b/docs/assets/core_converters_storage.md.DcFFwe13.js deleted file mode 100644 index d0690f14..00000000 --- a/docs/assets/core_converters_storage.md.DcFFwe13.js +++ /dev/null @@ -1,25 +0,0 @@ -import{_ as a,o as t,c as s,R as e}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Storage","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/storage.md","filePath":"core/converters/storage.md","lastUpdated":1700306874000}'),i={name:"core/converters/storage.md"},n=e(`

Storage

This page is about the Storage class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Storage class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

ToByte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double byte = Storage.ToByte(1, StorageUnits.Kilobyte);
-// byte = 1000

ToKilobyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double kilobyte = Storage.ToKilobyte(2000, StorageUnits.Byte);
-// kilobyte = 2

ToMegabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double megabyte = Storage.ToMegabyte(1500, StorageUnits.Kilobyte);
-// megabyte = 1.5

ToGigabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double gigabyte = Storage.ToGigabyte(1000, StorageUnits.Megabyte);
-// gigabyte = 1

ToTerabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double terabyte = Storage.ToTerabyte(1, StorageUnits.Petabyte);
-// terabyte = 1000

ToPetabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
-
-double petabyte = Storage.ToPetabyte(1000, StorageUnits.Terabyte);
-// petabyte = 1

BitsToBytes(n)

Definition

Converts a number of bits to a number of bytes. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bits to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double bytes = Storage.BitsToBytes(64);
-// bytes = 8

BytesToBits(n)

Definition

Converts a number of bytes to a number of bits. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bytes to convert to bits.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double bits = Storage.BytesToBits(1024);
-// bits = 8192
`,69),h=[n];function l(o,r,d,p,k,g){return t(),s("div",null,h)}const b=a(i,[["render",l]]);export{u as __pageData,b as default}; diff --git a/docs/assets/core_converters_storage.md.DcFFwe13.lean.js b/docs/assets/core_converters_storage.md.DcFFwe13.lean.js deleted file mode 100644 index 3a6a0c62..00000000 --- a/docs/assets/core_converters_storage.md.DcFFwe13.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as t,c as s,R as e}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Storage","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/storage.md","filePath":"core/converters/storage.md","lastUpdated":1700306874000}'),i={name:"core/converters/storage.md"},n=e("",69),h=[n];function l(o,r,d,p,k,g){return t(),s("div",null,h)}const b=a(i,[["render",l]]);export{u as __pageData,b as default}; diff --git a/docs/assets/core_converters_storage.md.JJxk-KF6.js b/docs/assets/core_converters_storage.md.JJxk-KF6.js new file mode 100644 index 00000000..783babe6 --- /dev/null +++ b/docs/assets/core_converters_storage.md.JJxk-KF6.js @@ -0,0 +1,25 @@ +import{_ as t,c as s,a2 as e,o as i}from"./chunks/framework.CdbxnhrM.js";const g=JSON.parse('{"title":"Storage","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/storage.md","filePath":"core/converters/storage.md","lastUpdated":1700306874000}'),n={name:"core/converters/storage.md"};function h(l,a,o,r,d,p){return i(),s("div",null,a[0]||(a[0]=[e(`

Storage

This page is about the Storage class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Storage class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

ToByte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double byte = Storage.ToByte(1, StorageUnits.Kilobyte);
+// byte = 1000

ToKilobyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double kilobyte = Storage.ToKilobyte(2000, StorageUnits.Byte);
+// kilobyte = 2

ToMegabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double megabyte = Storage.ToMegabyte(1500, StorageUnits.Kilobyte);
+// megabyte = 1.5

ToGigabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double gigabyte = Storage.ToGigabyte(1000, StorageUnits.Megabyte);
+// gigabyte = 1

ToTerabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double terabyte = Storage.ToTerabyte(1, StorageUnits.Petabyte);
+// terabyte = 1000

ToPetabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double petabyte = Storage.ToPetabyte(1000, StorageUnits.Terabyte);
+// petabyte = 1

BitsToBytes(n)

Definition

Converts a number of bits to a number of bytes. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bits to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double bytes = Storage.BitsToBytes(64);
+// bytes = 8

BytesToBits(n)

Definition

Converts a number of bytes to a number of bits. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bytes to convert to bits.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double bits = Storage.BytesToBits(1024);
+// bits = 8192
`,69)]))}const c=t(n,[["render",h]]);export{g as __pageData,c as default}; diff --git a/docs/assets/core_converters_storage.md.JJxk-KF6.lean.js b/docs/assets/core_converters_storage.md.JJxk-KF6.lean.js new file mode 100644 index 00000000..783babe6 --- /dev/null +++ b/docs/assets/core_converters_storage.md.JJxk-KF6.lean.js @@ -0,0 +1,25 @@ +import{_ as t,c as s,a2 as e,o as i}from"./chunks/framework.CdbxnhrM.js";const g=JSON.parse('{"title":"Storage","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/storage.md","filePath":"core/converters/storage.md","lastUpdated":1700306874000}'),n={name:"core/converters/storage.md"};function h(l,a,o,r,d,p){return i(),s("div",null,a[0]||(a[0]=[e(`

Storage

This page is about the Storage class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Storage class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

ToByte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double byte = Storage.ToByte(1, StorageUnits.Kilobyte);
+// byte = 1000

ToKilobyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double kilobyte = Storage.ToKilobyte(2000, StorageUnits.Byte);
+// kilobyte = 2

ToMegabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double megabyte = Storage.ToMegabyte(1500, StorageUnits.Kilobyte);
+// megabyte = 1.5

ToGigabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double gigabyte = Storage.ToGigabyte(1000, StorageUnits.Megabyte);
+// gigabyte = 1

ToTerabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double terabyte = Storage.ToTerabyte(1, StorageUnits.Petabyte);
+// terabyte = 1000

ToPetabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double petabyte = Storage.ToPetabyte(1000, StorageUnits.Terabyte);
+// petabyte = 1

BitsToBytes(n)

Definition

Converts a number of bits to a number of bytes. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bits to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double bytes = Storage.BitsToBytes(64);
+// bytes = 8

BytesToBits(n)

Definition

Converts a number of bytes to a number of bits. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bytes to convert to bits.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double bits = Storage.BytesToBits(1024);
+// bits = 8192
`,69)]))}const c=t(n,[["render",h]]);export{g as __pageData,c as default}; diff --git a/docs/assets/core_converters_temperatures.md.B8Yx1kbL.js b/docs/assets/core_converters_temperatures.md.B8Yx1kbL.js new file mode 100644 index 00000000..44e13374 --- /dev/null +++ b/docs/assets/core_converters_temperatures.md.B8Yx1kbL.js @@ -0,0 +1,11 @@ +import{_ as a,c as i,a2 as s,o as t}from"./chunks/framework.CdbxnhrM.js";const u=JSON.parse('{"title":"Temperatures","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/temperatures.md","filePath":"core/converters/temperatures.md","lastUpdated":1701609450000}'),n={name:"core/converters/temperatures.md"};function h(l,e,r,d,o,p){return t(),i("div",null,e[0]||(e[0]=[s(`

Temperatures

This page is about the Temperatures class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Temperatures class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

CelsiusToFahrenheit(celsius)

Definition

Converts Celsius (°C) to Fahrenheit (°F). Returns a double value.

Arguments

TypeNameMeaning
doublecelsiusNumber of Celsius to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double f = Temperatures.CelsiusToFahrenheit(22);
+// f = 71.6

FahrenheitToCelsius(fahrenheit)

Definition

Converts Fahrenheit (°F) to Celsius (°C). Returns a double value.

Arguments

TypeNameMeaning
doublefahrenheitNumber of Fahrenheit to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double c = Temperatures.FahrenheitToCelsius(75);
+// c = 23.88888888888889

CelsiusToKelvin(celsius)

Definition

Converts a temperature value from Celsius to Kelvin.

Arguments

TypeNameMeaning
doublecelsiusThe temperature value in Celsius to convert.

Returns

The temperature value in Kelvin.

Usage

c#
double celsius = 25.0;
+double kelvin = Temperature.CelsiusToKelvin(celsius);

FahrenheitToKelvin(fahrenheit)

Definition

Converts a temperature value from Fahrenheit to Kelvin.

Arguments

TypeNameMeaning
doublefahrenheitThe temperature value in Fahrenheit to convert.

Returns

The temperature value in Kelvin.

Usage

c#
double fahrenheit = 77.0;
+double kelvin = Temperature.FahrenheitToKelvin(fahrenheit);

KelvinToCelsius(kelvin)

Definition

Converts a temperature value from Kelvin to Celsius.

Arguments

TypeNameMeaning
doublekelvinThe temperature value in Kelvin to convert.

Returns

The temperature value in Celsius.

Usage

c#
double kelvin = 298.15;
+double celsius = Temperature.KelvinToCelsius(kelvin);

KelvinToFahrenheit(kelvin)

Definition

Converts a temperature value from Kelvin to Fahrenheit.

Arguments

TypeNameMeaning
doublekelvinThe temperature value in Kelvin to convert.

Returns

The temperature value in Fahrenheit.

Usage

c#
double kelvin = 298.15;
+double fahrenheit = Temperature.KelvinToFahrenheit(kelvin);
`,57)]))}const c=a(n,[["render",h]]);export{u as __pageData,c as default}; diff --git a/docs/assets/core_converters_temperatures.md.B8Yx1kbL.lean.js b/docs/assets/core_converters_temperatures.md.B8Yx1kbL.lean.js new file mode 100644 index 00000000..44e13374 --- /dev/null +++ b/docs/assets/core_converters_temperatures.md.B8Yx1kbL.lean.js @@ -0,0 +1,11 @@ +import{_ as a,c as i,a2 as s,o as t}from"./chunks/framework.CdbxnhrM.js";const u=JSON.parse('{"title":"Temperatures","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/temperatures.md","filePath":"core/converters/temperatures.md","lastUpdated":1701609450000}'),n={name:"core/converters/temperatures.md"};function h(l,e,r,d,o,p){return t(),i("div",null,e[0]||(e[0]=[s(`

Temperatures

This page is about the Temperatures class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Temperatures class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

CelsiusToFahrenheit(celsius)

Definition

Converts Celsius (°C) to Fahrenheit (°F). Returns a double value.

Arguments

TypeNameMeaning
doublecelsiusNumber of Celsius to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double f = Temperatures.CelsiusToFahrenheit(22);
+// f = 71.6

FahrenheitToCelsius(fahrenheit)

Definition

Converts Fahrenheit (°F) to Celsius (°C). Returns a double value.

Arguments

TypeNameMeaning
doublefahrenheitNumber of Fahrenheit to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double c = Temperatures.FahrenheitToCelsius(75);
+// c = 23.88888888888889

CelsiusToKelvin(celsius)

Definition

Converts a temperature value from Celsius to Kelvin.

Arguments

TypeNameMeaning
doublecelsiusThe temperature value in Celsius to convert.

Returns

The temperature value in Kelvin.

Usage

c#
double celsius = 25.0;
+double kelvin = Temperature.CelsiusToKelvin(celsius);

FahrenheitToKelvin(fahrenheit)

Definition

Converts a temperature value from Fahrenheit to Kelvin.

Arguments

TypeNameMeaning
doublefahrenheitThe temperature value in Fahrenheit to convert.

Returns

The temperature value in Kelvin.

Usage

c#
double fahrenheit = 77.0;
+double kelvin = Temperature.FahrenheitToKelvin(fahrenheit);

KelvinToCelsius(kelvin)

Definition

Converts a temperature value from Kelvin to Celsius.

Arguments

TypeNameMeaning
doublekelvinThe temperature value in Kelvin to convert.

Returns

The temperature value in Celsius.

Usage

c#
double kelvin = 298.15;
+double celsius = Temperature.KelvinToCelsius(kelvin);

KelvinToFahrenheit(kelvin)

Definition

Converts a temperature value from Kelvin to Fahrenheit.

Arguments

TypeNameMeaning
doublekelvinThe temperature value in Kelvin to convert.

Returns

The temperature value in Fahrenheit.

Usage

c#
double kelvin = 298.15;
+double fahrenheit = Temperature.KelvinToFahrenheit(kelvin);
`,57)]))}const c=a(n,[["render",h]]);export{u as __pageData,c as default}; diff --git a/docs/assets/core_converters_temperatures.md.efpRYy98.js b/docs/assets/core_converters_temperatures.md.efpRYy98.js deleted file mode 100644 index 37f33339..00000000 --- a/docs/assets/core_converters_temperatures.md.efpRYy98.js +++ /dev/null @@ -1,11 +0,0 @@ -import{_ as e,o as a,c as i,R as s}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"Temperatures","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/temperatures.md","filePath":"core/converters/temperatures.md","lastUpdated":1701609450000}'),t={name:"core/converters/temperatures.md"},h=s(`

Temperatures

This page is about the Temperatures class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Temperatures class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

CelsiusToFahrenheit(celsius)

Definition

Converts Celsius (°C) to Fahrenheit (°F). Returns a double value.

Arguments

TypeNameMeaning
doublecelsiusNumber of Celsius to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double f = Temperatures.CelsiusToFahrenheit(22);
-// f = 71.6

FahrenheitToCelsius(fahrenheit)

Definition

Converts Fahrenheit (°F) to Celsius (°C). Returns a double value.

Arguments

TypeNameMeaning
doublefahrenheitNumber of Fahrenheit to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double c = Temperatures.FahrenheitToCelsius(75);
-// c = 23.88888888888889

CelsiusToKelvin(celsius)

Definition

Converts a temperature value from Celsius to Kelvin.

Arguments

TypeNameMeaning
doublecelsiusThe temperature value in Celsius to convert.

Returns

The temperature value in Kelvin.

Usage

c#
double celsius = 25.0;
-double kelvin = Temperature.CelsiusToKelvin(celsius);

FahrenheitToKelvin(fahrenheit)

Definition

Converts a temperature value from Fahrenheit to Kelvin.

Arguments

TypeNameMeaning
doublefahrenheitThe temperature value in Fahrenheit to convert.

Returns

The temperature value in Kelvin.

Usage

c#
double fahrenheit = 77.0;
-double kelvin = Temperature.FahrenheitToKelvin(fahrenheit);

KelvinToCelsius(kelvin)

Definition

Converts a temperature value from Kelvin to Celsius.

Arguments

TypeNameMeaning
doublekelvinThe temperature value in Kelvin to convert.

Returns

The temperature value in Celsius.

Usage

c#
double kelvin = 298.15;
-double celsius = Temperature.KelvinToCelsius(kelvin);

KelvinToFahrenheit(kelvin)

Definition

Converts a temperature value from Kelvin to Fahrenheit.

Arguments

TypeNameMeaning
doublekelvinThe temperature value in Kelvin to convert.

Returns

The temperature value in Fahrenheit.

Usage

c#
double kelvin = 298.15;
-double fahrenheit = Temperature.KelvinToFahrenheit(kelvin);
`,57),n=[h];function l(r,o,d,p,k,u){return a(),i("div",null,n)}const b=e(t,[["render",l]]);export{g as __pageData,b as default}; diff --git a/docs/assets/core_converters_temperatures.md.efpRYy98.lean.js b/docs/assets/core_converters_temperatures.md.efpRYy98.lean.js deleted file mode 100644 index 7ceffc7e..00000000 --- a/docs/assets/core_converters_temperatures.md.efpRYy98.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as a,c as i,R as s}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"Temperatures","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/temperatures.md","filePath":"core/converters/temperatures.md","lastUpdated":1701609450000}'),t={name:"core/converters/temperatures.md"},h=s("",57),n=[h];function l(r,o,d,p,k,u){return a(),i("div",null,n)}const b=e(t,[["render",l]]);export{g as __pageData,b as default}; diff --git a/docs/assets/core_converters_time.md.95VU3ogC.lean.js b/docs/assets/core_converters_time.md.95VU3ogC.lean.js deleted file mode 100644 index b7aecf84..00000000 --- a/docs/assets/core_converters_time.md.95VU3ogC.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,o as s,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const m=JSON.parse('{"title":"Time","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/time.md","filePath":"core/converters/time.md","lastUpdated":1700306874000}'),e={name:"core/converters/time.md"},n=t("",55),h=[n];function l(d,r,o,p,k,c){return s(),a("div",null,h)}const g=i(e,[["render",l]]);export{m as __pageData,g as default}; diff --git a/docs/assets/core_converters_time.md.95VU3ogC.js b/docs/assets/core_converters_time.md.fIrn56Wt.js similarity index 54% rename from docs/assets/core_converters_time.md.95VU3ogC.js rename to docs/assets/core_converters_time.md.fIrn56Wt.js index c16a0bf5..a137fe03 100644 --- a/docs/assets/core_converters_time.md.95VU3ogC.js +++ b/docs/assets/core_converters_time.md.fIrn56Wt.js @@ -1,22 +1,22 @@ -import{_ as i,o as s,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const m=JSON.parse('{"title":"Time","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/time.md","filePath":"core/converters/time.md","lastUpdated":1700306874000}'),e={name:"core/converters/time.md"},n=t(`

Time

This page is about the Time class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Time class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

ToSeconds(d, timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+import{_ as s,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Time","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/time.md","filePath":"core/converters/time.md","lastUpdated":1700306874000}'),n={name:"core/converters/time.md"};function h(d,i,l,r,o,p){return e(),a("div",null,i[0]||(i[0]=[t(`

Time

This page is about the Time class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Time class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

ToSeconds(d, timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
 using PeyrSharp.Enums;
 
 double seconds = Time.ToSeconds(5, TimeUnits.Minutes);
-// seconds = 300

ToMinutes(d, timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+// seconds = 300

ToMinutes(d, timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
 using PeyrSharp.Enums;
 
 double min = Time.ToMinutes(120, TimeUnits.Seconds);
-// min = 2

ToHours(d, timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+// min = 2

ToHours(d, timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
 using PeyrSharp.Enums;
 
 double hours = Time.ToHours(1, TimeUnits.Days);
-// hours = 24

ToDays(d, timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+// hours = 24

ToDays(d, timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
 using PeyrSharp.Enums;
 
 double days = Time.ToDays(72, TimeUnits.Hours);
-// days = 3

UnixTimeToDateTime(unixTime)

Available in version 1.1 and higher.

Definition

Converts Unix Time to DateTime. It returns a DateTime value.

Arguments

TypeNameMeaning
intunixTimeThe Unix Time to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+// days = 3

UnixTimeToDateTime(unixTime)

Available in version 1.1 and higher.

Definition

Converts Unix Time to DateTime. It returns a DateTime value.

Arguments

TypeNameMeaning
intunixTimeThe Unix Time to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
-var date = Time.UnixTimeToDateTime(1670144268); // 12/04/2022 08:57:48

DateTimeToUnixTime(dateTime)

Available in version 1.1 and higher.

Definition

Converts DateTime to Unix Time. It returns an int value.

Arguments

TypeNameMeaning
DateTimedateTimeThe converted DateTime in Unix Time.

Usage

c#
using PeyrSharp.Core.Converters;
+var date = Time.UnixTimeToDateTime(1670144268); // 12/04/2022 08:57:48

DateTimeToUnixTime(dateTime)

Available in version 1.1 and higher.

Definition

Converts DateTime to Unix Time. It returns an int value.

Arguments

TypeNameMeaning
DateTimedateTimeThe converted DateTime in Unix Time.

Usage

c#
using PeyrSharp.Core.Converters;
 
 int unix = Time.DateTimeToUnixTime(new(2022, 12, 4, 8, 57, 48, DateTimeKind.Utc));
-// unix = 1670144268
`,55),h=[n];function l(d,r,o,p,k,c){return s(),a("div",null,h)}const g=i(e,[["render",l]]);export{m as __pageData,g as default}; +// unix = 1670144268
`,55)]))}const u=s(n,[["render",h]]);export{c as __pageData,u as default}; diff --git a/docs/assets/core_converters_time.md.fIrn56Wt.lean.js b/docs/assets/core_converters_time.md.fIrn56Wt.lean.js new file mode 100644 index 00000000..a137fe03 --- /dev/null +++ b/docs/assets/core_converters_time.md.fIrn56Wt.lean.js @@ -0,0 +1,22 @@ +import{_ as s,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Time","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/time.md","filePath":"core/converters/time.md","lastUpdated":1700306874000}'),n={name:"core/converters/time.md"};function h(d,i,l,r,o,p){return e(),a("div",null,i[0]||(i[0]=[t(`

Time

This page is about the Time class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Time class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

ToSeconds(d, timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double seconds = Time.ToSeconds(5, TimeUnits.Minutes);
+// seconds = 300

ToMinutes(d, timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double min = Time.ToMinutes(120, TimeUnits.Seconds);
+// min = 2

ToHours(d, timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double hours = Time.ToHours(1, TimeUnits.Days);
+// hours = 24

ToDays(d, timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+using PeyrSharp.Enums;
+
+double days = Time.ToDays(72, TimeUnits.Hours);
+// days = 3

UnixTimeToDateTime(unixTime)

Available in version 1.1 and higher.

Definition

Converts Unix Time to DateTime. It returns a DateTime value.

Arguments

TypeNameMeaning
intunixTimeThe Unix Time to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+var date = Time.UnixTimeToDateTime(1670144268); // 12/04/2022 08:57:48

DateTimeToUnixTime(dateTime)

Available in version 1.1 and higher.

Definition

Converts DateTime to Unix Time. It returns an int value.

Arguments

TypeNameMeaning
DateTimedateTimeThe converted DateTime in Unix Time.

Usage

c#
using PeyrSharp.Core.Converters;
+
+int unix = Time.DateTimeToUnixTime(new(2022, 12, 4, 8, 57, 48, DateTimeKind.Utc));
+// unix = 1670144268
`,55)]))}const u=s(n,[["render",h]]);export{c as __pageData,u as default}; diff --git a/docs/assets/core_converters_volumes.md.CGJalpwA.js b/docs/assets/core_converters_volumes.md.CGJalpwA.js new file mode 100644 index 00000000..92a9f3ec --- /dev/null +++ b/docs/assets/core_converters_volumes.md.CGJalpwA.js @@ -0,0 +1,7 @@ +import{_ as a,c as s,a2 as e,o as i}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Volumes","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/volumes.md","filePath":"core/converters/volumes.md","lastUpdated":1700306874000}'),n={name:"core/converters/volumes.md"};function h(r,t,l,o,d,p){return i(),s("div",null,t[0]||(t[0]=[e(`

Volumes

This page is about the Volumes class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Volumes class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

M3ToLitre(m3)

Definition

Converts Cubic Meters (m³) to Litre (L). Returns a double value.

Arguments

TypeNameMeaning
doublem3Number of cubic meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double litre = Volumes.M3ToLitre(10);
+// litre = 10000

LitreToM3(m3)

Definition

Converts Litre (L) to Cubic Meters (m³). Returns a double value.

Arguments

TypeNameMeaning
doublelitreNumber of litres to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double m3 = Volumes.LitreToM3(500);
+// m3 = 0.5
`,21)]))}const u=a(n,[["render",h]]);export{c as __pageData,u as default}; diff --git a/docs/assets/core_converters_volumes.md.CGJalpwA.lean.js b/docs/assets/core_converters_volumes.md.CGJalpwA.lean.js new file mode 100644 index 00000000..92a9f3ec --- /dev/null +++ b/docs/assets/core_converters_volumes.md.CGJalpwA.lean.js @@ -0,0 +1,7 @@ +import{_ as a,c as s,a2 as e,o as i}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Volumes","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/volumes.md","filePath":"core/converters/volumes.md","lastUpdated":1700306874000}'),n={name:"core/converters/volumes.md"};function h(r,t,l,o,d,p){return i(),s("div",null,t[0]||(t[0]=[e(`

Volumes

This page is about the Volumes class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Volumes class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

M3ToLitre(m3)

Definition

Converts Cubic Meters (m³) to Litre (L). Returns a double value.

Arguments

TypeNameMeaning
doublem3Number of cubic meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double litre = Volumes.M3ToLitre(10);
+// litre = 10000

LitreToM3(m3)

Definition

Converts Litre (L) to Cubic Meters (m³). Returns a double value.

Arguments

TypeNameMeaning
doublelitreNumber of litres to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+
+double m3 = Volumes.LitreToM3(500);
+// m3 = 0.5
`,21)]))}const u=a(n,[["render",h]]);export{c as __pageData,u as default}; diff --git a/docs/assets/core_converters_volumes.md.WmUKamKT.js b/docs/assets/core_converters_volumes.md.WmUKamKT.js deleted file mode 100644 index 5005d10c..00000000 --- a/docs/assets/core_converters_volumes.md.WmUKamKT.js +++ /dev/null @@ -1,7 +0,0 @@ -import{_ as t,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const m=JSON.parse('{"title":"Volumes","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/volumes.md","filePath":"core/converters/volumes.md","lastUpdated":1700306874000}'),i={name:"core/converters/volumes.md"},h=e(`

Volumes

This page is about the Volumes class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Volumes class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

M3ToLitre(m3)

Definition

Converts Cubic Meters (m³) to Litre (L). Returns a double value.

Arguments

TypeNameMeaning
doublem3Number of cubic meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double litre = Volumes.M3ToLitre(10);
-// litre = 10000

LitreToM3(m3)

Definition

Converts Litre (L) to Cubic Meters (m³). Returns a double value.

Arguments

TypeNameMeaning
doublelitreNumber of litres to convert.

Usage

c#
using PeyrSharp.Core.Converters;
-
-double m3 = Volumes.LitreToM3(500);
-// m3 = 0.5
`,21),n=[h];function r(o,l,d,p,c,k){return s(),a("div",null,n)}const g=t(i,[["render",r]]);export{m as __pageData,g as default}; diff --git a/docs/assets/core_converters_volumes.md.WmUKamKT.lean.js b/docs/assets/core_converters_volumes.md.WmUKamKT.lean.js deleted file mode 100644 index afcc597a..00000000 --- a/docs/assets/core_converters_volumes.md.WmUKamKT.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const m=JSON.parse('{"title":"Volumes","description":"","frontmatter":{},"headers":[],"relativePath":"core/converters/volumes.md","filePath":"core/converters/volumes.md","lastUpdated":1700306874000}'),i={name:"core/converters/volumes.md"},h=e("",21),n=[h];function r(o,l,d,p,c,k){return s(),a("div",null,n)}const g=t(i,[["render",r]]);export{m as __pageData,g as default}; diff --git a/docs/assets/core_crypt.md.Iz-KmL92.js b/docs/assets/core_crypt.md.C_Sq3mTp.js similarity index 62% rename from docs/assets/core_crypt.md.Iz-KmL92.js rename to docs/assets/core_crypt.md.C_Sq3mTp.js index cb68ef4e..1e7319be 100644 --- a/docs/assets/core_crypt.md.Iz-KmL92.js +++ b/docs/assets/core_crypt.md.C_Sq3mTp.js @@ -1,8 +1,8 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"Crypt","description":"","frontmatter":{},"headers":[],"relativePath":"core/crypt.md","filePath":"core/crypt.md","lastUpdated":1700306874000}'),e={name:"core/crypt.md"},n=t(`

Crypt

This page is about the Crypt class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Crypt class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

EncryptAes(str, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Crypt","description":"","frontmatter":{},"headers":[],"relativePath":"core/crypt.md","filePath":"core/crypt.md","lastUpdated":1700306874000}'),n={name:"core/crypt.md"};function h(r,s,l,p,d,k){return e(),a("div",null,s[0]||(s[0]=[t(`

Crypt

This page is about the Crypt class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Crypt class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

EncryptAes(str, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
 
 string text = "Hello, world!";
 string encrypted = Crypt.EncryptAes(text, "password");
-// encrypted = 8U0HRr7pCIdbvBIquiJaLc00fyBjXDb9sLflk5anIi8=

EncryptRsa(str, rsaParameters)

Definitions

Encrypts a string using RSA encryption. Returns the encrypted content as an array of byte (byte[]).

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
RSAParametersrsaParametersThe RSA key.

Usage

c#
using PeyrSharp.Core;
+// encrypted = 8U0HRr7pCIdbvBIquiJaLc00fyBjXDb9sLflk5anIi8=

EncryptRsa(str, rsaParameters)

Definitions

Encrypts a string using RSA encryption. Returns the encrypted content as an array of byte (byte[]).

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
RSAParametersrsaParametersThe RSA key.

Usage

c#
using PeyrSharp.Core;
 using System.Security.Cryptography;
 
 string text = "Hello, world!";
@@ -11,23 +11,23 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=
 RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
 
 // Encrypt using RSA
-string encrypted = Crypt.EncryptRsa(text, cryptoServiceProvider.ExportParameters(false));

Encrypt3Des(source, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringsourceThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+string encrypted = Crypt.EncryptRsa(text, cryptoServiceProvider.ExportParameters(false));

Encrypt3Des(source, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringsourceThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
 
 string text = "Hello, world!";
 string encrypted = Crypt.Encrypt3Des(text, "password");
-// encrypted = bxceEpCfRlbyYdPggAu+Cw==

DecryptAes(str, key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+// encrypted = bxceEpCfRlbyYdPggAu+Cw==

DecryptAes(str, key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
 
 string encrypted = "6NvvTBntd2PdFxXzVbccLw==";
 string text = Crypt.DecryptAes(encrypted, "password");
-// text = Hello!

DecryptRsa(encrypted, rsaParameters)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
byte[]encryptedThe text to decrypt.
RSAParametersrsaParametersThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+// text = Hello!

DecryptRsa(encrypted, rsaParameters)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
byte[]encryptedThe text to decrypt.
RSAParametersrsaParametersThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
 using System.Security.Cryptography;
 
 RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
 byte[] e = Crypt.EncryptRsa("Hello", cryptoServiceProvider.ExportParameters(false));
 
 string decrypted = Crypt.DecryptRsa(e, cryptoServiceProvider.ExportParameters(true));
-// decrypted = Hello

Decrypt3Des(str, key)

Definitions

Decrypts a string using 3-DES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringencryptThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+// decrypted = Hello

Decrypt3Des(str, key)

Definitions

Decrypts a string using 3-DES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringencryptThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
 
 string encrypted = "AvuLd4LUxRU=";
 string text = Crypt.Decrypt3Des(encrypted, "123");
-// text = Hello
`,49),h=[n];function r(l,p,d,k,o,c){return i(),a("div",null,h)}const E=s(e,[["render",r]]);export{g as __pageData,E as default}; +// text = Hello
`,49)]))}const y=i(n,[["render",h]]);export{c as __pageData,y as default}; diff --git a/docs/assets/core_crypt.md.C_Sq3mTp.lean.js b/docs/assets/core_crypt.md.C_Sq3mTp.lean.js new file mode 100644 index 00000000..1e7319be --- /dev/null +++ b/docs/assets/core_crypt.md.C_Sq3mTp.lean.js @@ -0,0 +1,33 @@ +import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Crypt","description":"","frontmatter":{},"headers":[],"relativePath":"core/crypt.md","filePath":"core/crypt.md","lastUpdated":1700306874000}'),n={name:"core/crypt.md"};function h(r,s,l,p,d,k){return e(),a("div",null,s[0]||(s[0]=[t(`

Crypt

This page is about the Crypt class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Crypt class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

EncryptAes(str, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+
+string text = "Hello, world!";
+string encrypted = Crypt.EncryptAes(text, "password");
+// encrypted = 8U0HRr7pCIdbvBIquiJaLc00fyBjXDb9sLflk5anIi8=

EncryptRsa(str, rsaParameters)

Definitions

Encrypts a string using RSA encryption. Returns the encrypted content as an array of byte (byte[]).

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
RSAParametersrsaParametersThe RSA key.

Usage

c#
using PeyrSharp.Core;
+using System.Security.Cryptography;
+
+string text = "Hello, world!";
+
+// Create the RSA key
+RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
+
+// Encrypt using RSA
+string encrypted = Crypt.EncryptRsa(text, cryptoServiceProvider.ExportParameters(false));

Encrypt3Des(source, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringsourceThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+
+string text = "Hello, world!";
+string encrypted = Crypt.Encrypt3Des(text, "password");
+// encrypted = bxceEpCfRlbyYdPggAu+Cw==

DecryptAes(str, key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+
+string encrypted = "6NvvTBntd2PdFxXzVbccLw==";
+string text = Crypt.DecryptAes(encrypted, "password");
+// text = Hello!

DecryptRsa(encrypted, rsaParameters)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
byte[]encryptedThe text to decrypt.
RSAParametersrsaParametersThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+using System.Security.Cryptography;
+
+RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
+byte[] e = Crypt.EncryptRsa("Hello", cryptoServiceProvider.ExportParameters(false));
+
+string decrypted = Crypt.DecryptRsa(e, cryptoServiceProvider.ExportParameters(true));
+// decrypted = Hello

Decrypt3Des(str, key)

Definitions

Decrypts a string using 3-DES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringencryptThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+
+string encrypted = "AvuLd4LUxRU=";
+string text = Crypt.Decrypt3Des(encrypted, "123");
+// text = Hello
`,49)]))}const y=i(n,[["render",h]]);export{c as __pageData,y as default}; diff --git a/docs/assets/core_crypt.md.Iz-KmL92.lean.js b/docs/assets/core_crypt.md.Iz-KmL92.lean.js deleted file mode 100644 index 02442d37..00000000 --- a/docs/assets/core_crypt.md.Iz-KmL92.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"Crypt","description":"","frontmatter":{},"headers":[],"relativePath":"core/crypt.md","filePath":"core/crypt.md","lastUpdated":1700306874000}'),e={name:"core/crypt.md"},n=t("",49),h=[n];function r(l,p,d,k,o,c){return i(),a("div",null,h)}const E=s(e,[["render",r]]);export{g as __pageData,E as default}; diff --git a/docs/assets/core_guid-options.md.CLTrnOsE.js b/docs/assets/core_guid-options.md.CLTrnOsE.js new file mode 100644 index 00000000..65b754a4 --- /dev/null +++ b/docs/assets/core_guid-options.md.CLTrnOsE.js @@ -0,0 +1,19 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const k=JSON.parse('{"title":"GuidOptions","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid-options.md","filePath":"core/guid-options.md","lastUpdated":1700306874000}'),n={name:"core/guid-options.md"};function h(p,i,l,o,r,d){return t(),a("div",null,i[0]||(i[0]=[e(`

GuidOptions

This page is about the GuidOptions class available in PeyrSharp.Core. You can find here all of its properties.

Compatibility

The GuidOptions class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

GuidOptions()

Definition

Initializes GuidOptions with default values for its properties.

Usage

c#
using PeyrSharp.Core;
+
+var options = new GuidOptions();
+/*
+    options:
+        - Length = 32
+        - Hyphens = true
+        - Braces = false
+        - UpperCaseOnly = false
+*/

GuidOptions(length, hyphens, braces, upperCaseOnly)

Definition

Initializes GuidOptions with specific values for its properties.

Usage

c#
using PeyrSharp.Core;
+
+var options = new GuidOptions(32, true, true, true);
+/*
+    options:
+        - Length = 32
+        - Hyphens = true
+        - Braces = true
+        - UpperCaseOnly = true
+*/

Properties

Length

Definition

c#
public int Length { get; set; }

The Length property is an int representing the length of the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Hyphens

Definition

c#
public bool Hyphens { get; set; }

The Hyphens property is a bool, which will determine if you want hyphens in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Braces

Definition

c#
public bool Braces { get; set; }

The Braces property is a bool, which will determine if you want braces in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

UpperCaseOnly

Definition

c#
public bool UpperCaseOnly { get; set; }

The UpperCaseOnly property is a bool, which will determine if you want to only have upper cases in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

`,41)]))}const u=s(n,[["render",h]]);export{k as __pageData,u as default}; diff --git a/docs/assets/core_guid-options.md.CLTrnOsE.lean.js b/docs/assets/core_guid-options.md.CLTrnOsE.lean.js new file mode 100644 index 00000000..65b754a4 --- /dev/null +++ b/docs/assets/core_guid-options.md.CLTrnOsE.lean.js @@ -0,0 +1,19 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const k=JSON.parse('{"title":"GuidOptions","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid-options.md","filePath":"core/guid-options.md","lastUpdated":1700306874000}'),n={name:"core/guid-options.md"};function h(p,i,l,o,r,d){return t(),a("div",null,i[0]||(i[0]=[e(`

GuidOptions

This page is about the GuidOptions class available in PeyrSharp.Core. You can find here all of its properties.

Compatibility

The GuidOptions class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

GuidOptions()

Definition

Initializes GuidOptions with default values for its properties.

Usage

c#
using PeyrSharp.Core;
+
+var options = new GuidOptions();
+/*
+    options:
+        - Length = 32
+        - Hyphens = true
+        - Braces = false
+        - UpperCaseOnly = false
+*/

GuidOptions(length, hyphens, braces, upperCaseOnly)

Definition

Initializes GuidOptions with specific values for its properties.

Usage

c#
using PeyrSharp.Core;
+
+var options = new GuidOptions(32, true, true, true);
+/*
+    options:
+        - Length = 32
+        - Hyphens = true
+        - Braces = true
+        - UpperCaseOnly = true
+*/

Properties

Length

Definition

c#
public int Length { get; set; }

The Length property is an int representing the length of the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Hyphens

Definition

c#
public bool Hyphens { get; set; }

The Hyphens property is a bool, which will determine if you want hyphens in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Braces

Definition

c#
public bool Braces { get; set; }

The Braces property is a bool, which will determine if you want braces in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

UpperCaseOnly

Definition

c#
public bool UpperCaseOnly { get; set; }

The UpperCaseOnly property is a bool, which will determine if you want to only have upper cases in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

`,41)]))}const u=s(n,[["render",h]]);export{k as __pageData,u as default}; diff --git a/docs/assets/core_guid-options.md.fFbpZsq9.js b/docs/assets/core_guid-options.md.fFbpZsq9.js deleted file mode 100644 index 686fc48e..00000000 --- a/docs/assets/core_guid-options.md.fFbpZsq9.js +++ /dev/null @@ -1,19 +0,0 @@ -import{_ as i,o as s,c as e,R as a}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"GuidOptions","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid-options.md","filePath":"core/guid-options.md","lastUpdated":1700306874000}'),t={name:"core/guid-options.md"},n=a(`

GuidOptions

This page is about the GuidOptions class available in PeyrSharp.Core. You can find here all of its properties.

Compatibility

The GuidOptions class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

GuidOptions()

Definition

Initializes GuidOptions with default values for its properties.

Usage

c#
using PeyrSharp.Core;
-
-var options = new GuidOptions();
-/*
-    options:
-        - Length = 32
-        - Hyphens = true
-        - Braces = false
-        - UpperCaseOnly = false
-*/

GuidOptions(length, hyphens, braces, upperCaseOnly)

Definition

Initializes GuidOptions with specific values for its properties.

Usage

c#
using PeyrSharp.Core;
-
-var options = new GuidOptions(32, true, true, true);
-/*
-    options:
-        - Length = 32
-        - Hyphens = true
-        - Braces = true
-        - UpperCaseOnly = true
-*/

Properties

Length

Definition

c#
public int Length { get; set; }

The Length property is an int representing the length of the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Hyphens

Definition

c#
public bool Hyphens { get; set; }

The Hyphens property is a bool, which will determine if you want hyphens in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Braces

Definition

c#
public bool Braces { get; set; }

The Braces property is a bool, which will determine if you want braces in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

UpperCaseOnly

Definition

c#
public bool UpperCaseOnly { get; set; }

The UpperCaseOnly property is a bool, which will determine if you want to only have upper cases in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

`,41),h=[n];function p(l,o,r,d,c,k){return s(),e("div",null,h)}const y=i(t,[["render",p]]);export{g as __pageData,y as default}; diff --git a/docs/assets/core_guid-options.md.fFbpZsq9.lean.js b/docs/assets/core_guid-options.md.fFbpZsq9.lean.js deleted file mode 100644 index e149ea4a..00000000 --- a/docs/assets/core_guid-options.md.fFbpZsq9.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,o as s,c as e,R as a}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"GuidOptions","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid-options.md","filePath":"core/guid-options.md","lastUpdated":1700306874000}'),t={name:"core/guid-options.md"},n=a("",41),h=[n];function p(l,o,r,d,c,k){return s(),e("div",null,h)}const y=i(t,[["render",p]]);export{g as __pageData,y as default}; diff --git a/docs/assets/core_guid.md.D-4-BtDI.js b/docs/assets/core_guid.md.D-4-BtDI.js new file mode 100644 index 00000000..5637bf47 --- /dev/null +++ b/docs/assets/core_guid.md.D-4-BtDI.js @@ -0,0 +1,13 @@ +import{_ as i,c as e,a2 as s,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"GuidGen","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid.md","filePath":"core/guid.md","lastUpdated":1700306874000}'),n={name:"core/guid.md"};function h(d,a,l,r,o,p){return t(),e("div",null,a[0]||(a[0]=[s(`

GuidGen

This page is about the GuidGen class available in PeyrSharp.Core. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The GuidGen class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Generate()

Definition

The Generate() method generates a Guid and will return it as a string.

INFO

This method has different overloads.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate();
+// guid = 7992acdd-1c9a-4985-92df-04599d560bbc (example)

Generate(length)

Definition

The Generate() method generates a Guid with a specific length and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
intlengthThe length of the Guid.

WARNING

The length must be a number, otherwise, it will thrown a InvalidGuidLengthException.

Usage

c#
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate(15);
+// guid = 5693ad99881e4f9 (example)

Generate(fromString)

Definition

The Generate() method generates a Guid from a specific string and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
stringfromStringThe string which will be used to generate the Guid.

Usage

c#
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate("Hello");
+// guid = 53991a8b-61c4-9612-a827-abf8c47804d7

Generate(guidOptions)

Definition

The Generate() method generates a Guid with specific GuidOptions and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
GuidOptionsguidOptionsThe options of the Guid to generate.

Usage

c#
using PeyrSharp.Core;
+
+string guid = Guid.Generate(new GuidOptions(32, true, true, false));
+// guid = {35c3ab90-7636-4d34-a439-bc65eb3c} (example)
`,43)]))}const g=i(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_guid.md.D-4-BtDI.lean.js b/docs/assets/core_guid.md.D-4-BtDI.lean.js new file mode 100644 index 00000000..5637bf47 --- /dev/null +++ b/docs/assets/core_guid.md.D-4-BtDI.lean.js @@ -0,0 +1,13 @@ +import{_ as i,c as e,a2 as s,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"GuidGen","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid.md","filePath":"core/guid.md","lastUpdated":1700306874000}'),n={name:"core/guid.md"};function h(d,a,l,r,o,p){return t(),e("div",null,a[0]||(a[0]=[s(`

GuidGen

This page is about the GuidGen class available in PeyrSharp.Core. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The GuidGen class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Generate()

Definition

The Generate() method generates a Guid and will return it as a string.

INFO

This method has different overloads.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate();
+// guid = 7992acdd-1c9a-4985-92df-04599d560bbc (example)

Generate(length)

Definition

The Generate() method generates a Guid with a specific length and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
intlengthThe length of the Guid.

WARNING

The length must be a number, otherwise, it will thrown a InvalidGuidLengthException.

Usage

c#
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate(15);
+// guid = 5693ad99881e4f9 (example)

Generate(fromString)

Definition

The Generate() method generates a Guid from a specific string and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
stringfromStringThe string which will be used to generate the Guid.

Usage

c#
using PeyrSharp.Core;
+
+string guid = GuidGen.Generate("Hello");
+// guid = 53991a8b-61c4-9612-a827-abf8c47804d7

Generate(guidOptions)

Definition

The Generate() method generates a Guid with specific GuidOptions and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
GuidOptionsguidOptionsThe options of the Guid to generate.

Usage

c#
using PeyrSharp.Core;
+
+string guid = Guid.Generate(new GuidOptions(32, true, true, false));
+// guid = {35c3ab90-7636-4d34-a439-bc65eb3c} (example)
`,43)]))}const g=i(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_guid.md.kYzZ0BMK.js b/docs/assets/core_guid.md.kYzZ0BMK.js deleted file mode 100644 index 297fcdb6..00000000 --- a/docs/assets/core_guid.md.kYzZ0BMK.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as a,o as i,c as s,R as e}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"GuidGen","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid.md","filePath":"core/guid.md","lastUpdated":1700306874000}'),t={name:"core/guid.md"},n=e(`

GuidGen

This page is about the GuidGen class available in PeyrSharp.Core. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The GuidGen class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Generate()

Definition

The Generate() method generates a Guid and will return it as a string.

INFO

This method has different overloads.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core;
-
-string guid = GuidGen.Generate();
-// guid = 7992acdd-1c9a-4985-92df-04599d560bbc (example)

Generate(length)

Definition

The Generate() method generates a Guid with a specific length and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
intlengthThe length of the Guid.

WARNING

The length must be a number, otherwise, it will thrown a InvalidGuidLengthException.

Usage

c#
using PeyrSharp.Core;
-
-string guid = GuidGen.Generate(15);
-// guid = 5693ad99881e4f9 (example)

Generate(fromString)

Definition

The Generate() method generates a Guid from a specific string and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
stringfromStringThe string which will be used to generate the Guid.

Usage

c#
using PeyrSharp.Core;
-
-string guid = GuidGen.Generate("Hello");
-// guid = 53991a8b-61c4-9612-a827-abf8c47804d7

Generate(guidOptions)

Definition

The Generate() method generates a Guid with specific GuidOptions and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
GuidOptionsguidOptionsThe options of the Guid to generate.

Usage

c#
using PeyrSharp.Core;
-
-string guid = Guid.Generate(new GuidOptions(32, true, true, false));
-// guid = {35c3ab90-7636-4d34-a439-bc65eb3c} (example)
`,43),h=[n];function d(l,r,o,p,k,c){return i(),s("div",null,h)}const m=a(t,[["render",d]]);export{u as __pageData,m as default}; diff --git a/docs/assets/core_guid.md.kYzZ0BMK.lean.js b/docs/assets/core_guid.md.kYzZ0BMK.lean.js deleted file mode 100644 index 3ab54af1..00000000 --- a/docs/assets/core_guid.md.kYzZ0BMK.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as i,c as s,R as e}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"GuidGen","description":"","frontmatter":{},"headers":[],"relativePath":"core/guid.md","filePath":"core/guid.md","lastUpdated":1700306874000}'),t={name:"core/guid.md"},n=e("",43),h=[n];function d(l,r,o,p,k,c){return i(),s("div",null,h)}const m=a(t,[["render",d]]);export{u as __pageData,m as default}; diff --git a/docs/assets/core_internet.md.t6P-0dDQ.js b/docs/assets/core_internet.md.Qau1Rxfv.js similarity index 68% rename from docs/assets/core_internet.md.t6P-0dDQ.js rename to docs/assets/core_internet.md.Qau1Rxfv.js index fbaf96c6..14e781e9 100644 --- a/docs/assets/core_internet.md.t6P-0dDQ.js +++ b/docs/assets/core_internet.md.Qau1Rxfv.js @@ -1,28 +1,28 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"Internet","description":"","frontmatter":{},"headers":[],"relativePath":"core/internet.md","filePath":"core/internet.md","lastUpdated":1701609450000}'),e={name:"core/internet.md"},n=t(`

Internet

This page is about the Internet class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Internet class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

IsAvailableAsync()

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

This method has no arguments

Usage

c#
using PeyrSharp.Core;
+import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Internet","description":"","frontmatter":{},"headers":[],"relativePath":"core/internet.md","filePath":"core/internet.md","lastUpdated":1701609450000}'),n={name:"core/internet.md"};function h(l,s,p,k,r,d){return e(),a("div",null,s[0]||(s[0]=[t(`

Internet

This page is about the Internet class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Internet class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

IsAvailableAsync()

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

This method has no arguments

Usage

c#
using PeyrSharp.Core;
 
 public static async void Main()
 {
     bool isConnected = await Internet.IsAvailableAsync();
-}

IsAvailableAsync(url)

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe page where to check if Internet is available.

Usage

c#
using PeyrSharp.Core;
+}

IsAvailableAsync(url)

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe page where to check if Internet is available.

Usage

c#
using PeyrSharp.Core;
 
 public static async void Main()
 {
     bool isConnected = await Internet.IsAvailableAsync("https://google.com");
-}

GetStatusCodeAsync(url)

Definition

Gets the status code of a specific page by making a request to it. Returns the status code as an int value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
+}

GetStatusCodeAsync(url)

Definition

Gets the status code of a specific page by making a request to it. Returns the status code as an int value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
 
 public static async void Main()
 {
     int status = await Internet.GetStatusCodeAsync("https://google.com");
     // status should be 200 if everything is working
-}

GetStatusDescriptionAsync(url)

Definition

Gets the status description of a specific page by making a request to it. Returns the status description as a string.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
+}

GetStatusDescriptionAsync(url)

Definition

Gets the status description of a specific page by making a request to it. Returns the status description as a string.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
 
 public static async void Main()
 {
     string status = await Internet.GetStatusDescriptionAsync("https://google.com");
     // status should be OK if everything is working
-}

GetStatusInfoAsync(url)

Definition

This method sends an HTTP GET request to a given URL and returns a Task of StatusInfo object that contains the status code, description, and type of the URL. The HTTP request method used is HttpClient.GetAsync().

Arguments

TypeNameMeaning
stringurlThe URL to get the status info from.

Returns

A Task of StatusInfo object containing the status code, description, and type of the URL.

Usage

c#
using PeyrSharp.Core;
+}

GetStatusInfoAsync(url)

Definition

This method sends an HTTP GET request to a given URL and returns a Task of StatusInfo object that contains the status code, description, and type of the URL. The HTTP request method used is HttpClient.GetAsync().

Arguments

TypeNameMeaning
stringurlThe URL to get the status info from.

Returns

A Task of StatusInfo object containing the status code, description, and type of the URL.

Usage

c#
using PeyrSharp.Core;
 
-StatusInfo statusInfo = await Internet.GetStatusInfoAsync("https://www.google.com");

GetStatusCodeType(statusCode)

Definition

Gets the type of the status code. Returns a StatusCodes value.

Arguments

TypeNameMeaning
intstatusCodeThe status code to analyze.

Usage

c#
using PeyrSharp.Core;
+StatusInfo statusInfo = await Internet.GetStatusInfoAsync("https://www.google.com");

GetStatusCodeType(statusCode)

Definition

Gets the type of the status code. Returns a StatusCodes value.

Arguments

TypeNameMeaning
intstatusCodeThe status code to analyze.

Usage

c#
using PeyrSharp.Core;
 using PeyrSharp.Enums;
 
 public static async void Main()
@@ -46,13 +46,13 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const E=
             Console.WriteLine("An server error status code has been returned.");
             break;
     }
-}

GetUrlProtocol(url)

Definition

Gets the protocol of a specified URL. Returns a string.

Arguments

TypeNameMeaning
stringurlThe URL where to parse.

WARNING

If you provide an invalid URL, the result might be wrong or be something unexpected. An IndexOutOfRangeException can also be thrown.

Usage

c#
using PeyrSharp.Core;
+}

GetUrlProtocol(url)

Definition

Gets the protocol of a specified URL. Returns a string.

Arguments

TypeNameMeaning
stringurlThe URL where to parse.

WARNING

If you provide an invalid URL, the result might be wrong or be something unexpected. An IndexOutOfRangeException can also be thrown.

Usage

c#
using PeyrSharp.Core;
 
 string protocol = Internet.GetUrlProtocol("https://leocorporation.dev");
-// protocol = https

IsUrlValid(url)

Definition

Checks if a URL is valid or not.. Returns a bool.

Arguments

TypeNameMeaning
stringurlThe URL where to check.

INFO

If you haven't specified the protocol in the URL (ex: "https://"), the "https://" string will automatically be appended to the original URL. To avoid this behavior, please specify a full URL to preserve the original protocol.

Usage

c#
using PeyrSharp.Core;
+// protocol = https

IsUrlValid(url)

Definition

Checks if a URL is valid or not.. Returns a bool.

Arguments

TypeNameMeaning
stringurlThe URL where to check.

INFO

If you haven't specified the protocol in the URL (ex: "https://"), the "https://" string will automatically be appended to the original URL. To avoid this behavior, please specify a full URL to preserve the original protocol.

Usage

c#
using PeyrSharp.Core;
 
 bool valid = Internet.GetUrlProtocol("a/test");
-// valid = false

Definition

Downloads a file from a specified link and saves it to a specified path.

Arguments

TypeNameMeaning
stringlinkThe URL of the file to download.
stringpathThe local path where the file should be saved.

Returns

Returns true if the file was downloaded and saved successfully, otherwise returns false.

Exceptions

TypeMeaning
System.ExceptionThrows an exception if an error occurs during the download or save process.

Usage

c#
using System;
+// valid = false

Definition

Downloads a file from a specified link and saves it to a specified path.

Arguments

TypeNameMeaning
stringlinkThe URL of the file to download.
stringpathThe local path where the file should be saved.

Returns

Returns true if the file was downloaded and saved successfully, otherwise returns false.

Exceptions

TypeMeaning
System.ExceptionThrows an exception if an error occurs during the download or save process.

Usage

c#
using System;
 using System.IO;
 using System.Net.Http;
 using System.Threading.Tasks;
@@ -67,4 +67,4 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const E=
 else
 {
     Console.WriteLine("Failed to download or save the file.");
-}
`,82),h=[n];function l(p,k,r,d,o,c){return i(),a("div",null,h)}const u=s(e,[["render",l]]);export{E as __pageData,u as default}; +}
`,82)]))}const g=i(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_internet.md.Qau1Rxfv.lean.js b/docs/assets/core_internet.md.Qau1Rxfv.lean.js new file mode 100644 index 00000000..14e781e9 --- /dev/null +++ b/docs/assets/core_internet.md.Qau1Rxfv.lean.js @@ -0,0 +1,70 @@ +import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Internet","description":"","frontmatter":{},"headers":[],"relativePath":"core/internet.md","filePath":"core/internet.md","lastUpdated":1701609450000}'),n={name:"core/internet.md"};function h(l,s,p,k,r,d){return e(),a("div",null,s[0]||(s[0]=[t(`

Internet

This page is about the Internet class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Internet class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

IsAvailableAsync()

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

This method has no arguments

Usage

c#
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    bool isConnected = await Internet.IsAvailableAsync();
+}

IsAvailableAsync(url)

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe page where to check if Internet is available.

Usage

c#
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    bool isConnected = await Internet.IsAvailableAsync("https://google.com");
+}

GetStatusCodeAsync(url)

Definition

Gets the status code of a specific page by making a request to it. Returns the status code as an int value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    int status = await Internet.GetStatusCodeAsync("https://google.com");
+    // status should be 200 if everything is working
+}

GetStatusDescriptionAsync(url)

Definition

Gets the status description of a specific page by making a request to it. Returns the status description as a string.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
+
+public static async void Main()
+{
+    string status = await Internet.GetStatusDescriptionAsync("https://google.com");
+    // status should be OK if everything is working
+}

GetStatusInfoAsync(url)

Definition

This method sends an HTTP GET request to a given URL and returns a Task of StatusInfo object that contains the status code, description, and type of the URL. The HTTP request method used is HttpClient.GetAsync().

Arguments

TypeNameMeaning
stringurlThe URL to get the status info from.

Returns

A Task of StatusInfo object containing the status code, description, and type of the URL.

Usage

c#
using PeyrSharp.Core;
+
+StatusInfo statusInfo = await Internet.GetStatusInfoAsync("https://www.google.com");

GetStatusCodeType(statusCode)

Definition

Gets the type of the status code. Returns a StatusCodes value.

Arguments

TypeNameMeaning
intstatusCodeThe status code to analyze.

Usage

c#
using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+public static async void Main()
+{
+    int status = await Internet.GetStatusCodeAsync("https://google.com");
+    switch (Internet.GetStatusCodeType(status))
+    {
+        case StatusCodes.Informational:
+            Console.WriteLine("An information status code has been returned.");
+            break;
+        case StatusCodes.Success:
+            Console.WriteLine("An successful status code has been returned.");
+            break;
+        case StatusCodes.Redirection:
+            Console.WriteLine("An redirection status code has been returned.");
+            break;
+        case StatusCodes.ClientError:
+            Console.WriteLine("An client error status code has been returned.");
+            break;
+        case StatusCodes.ServerError:
+            Console.WriteLine("An server error status code has been returned.");
+            break;
+    }
+}

GetUrlProtocol(url)

Definition

Gets the protocol of a specified URL. Returns a string.

Arguments

TypeNameMeaning
stringurlThe URL where to parse.

WARNING

If you provide an invalid URL, the result might be wrong or be something unexpected. An IndexOutOfRangeException can also be thrown.

Usage

c#
using PeyrSharp.Core;
+
+string protocol = Internet.GetUrlProtocol("https://leocorporation.dev");
+// protocol = https

IsUrlValid(url)

Definition

Checks if a URL is valid or not.. Returns a bool.

Arguments

TypeNameMeaning
stringurlThe URL where to check.

INFO

If you haven't specified the protocol in the URL (ex: "https://"), the "https://" string will automatically be appended to the original URL. To avoid this behavior, please specify a full URL to preserve the original protocol.

Usage

c#
using PeyrSharp.Core;
+
+bool valid = Internet.GetUrlProtocol("a/test");
+// valid = false

Definition

Downloads a file from a specified link and saves it to a specified path.

Arguments

TypeNameMeaning
stringlinkThe URL of the file to download.
stringpathThe local path where the file should be saved.

Returns

Returns true if the file was downloaded and saved successfully, otherwise returns false.

Exceptions

TypeMeaning
System.ExceptionThrows an exception if an error occurs during the download or save process.

Usage

c#
using System;
+using System.IO;
+using System.Net.Http;
+using System.Threading.Tasks;
+using PeyrSharp.Core;
+
+bool success = await Internet.DownloadFile("https://example.com/file.txt", "C:\\\\path\\\\file.txt");
+
+if (success)
+{
+    Console.WriteLine("File downloaded and saved successfully.");
+}
+else
+{
+    Console.WriteLine("Failed to download or save the file.");
+}
`,82)]))}const g=i(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_internet.md.t6P-0dDQ.lean.js b/docs/assets/core_internet.md.t6P-0dDQ.lean.js deleted file mode 100644 index 4c3ff4ea..00000000 --- a/docs/assets/core_internet.md.t6P-0dDQ.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"Internet","description":"","frontmatter":{},"headers":[],"relativePath":"core/internet.md","filePath":"core/internet.md","lastUpdated":1701609450000}'),e={name:"core/internet.md"},n=t("",82),h=[n];function l(p,k,r,d,o,c){return i(),a("div",null,h)}const u=s(e,[["render",l]]);export{E as __pageData,u as default}; diff --git a/docs/assets/core_json-helper.md.a-1fEIvX.js b/docs/assets/core_json-helper.md.CiOXpGzn.js similarity index 60% rename from docs/assets/core_json-helper.md.a-1fEIvX.js rename to docs/assets/core_json-helper.md.CiOXpGzn.js index 08abf593..165f2872 100644 --- a/docs/assets/core_json-helper.md.a-1fEIvX.js +++ b/docs/assets/core_json-helper.md.CiOXpGzn.js @@ -1,4 +1,4 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=JSON.parse('{"title":"JsonHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/json-helper.md","filePath":"core/json-helper.md","lastUpdated":1700306874000}'),e={name:"core/json-helper.md"},n=t(`

JsonHelper

This page is about the JsonHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The JsonHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

LoadFromJson<T>(fileName)

Definition

The LoadFromJson<T>() method loads an object from a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
stringfileNameThe name of the file to load from.

Returns

The object loaded from the file.

Usage

c#
using PeyrSharp.Core;
+import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"JsonHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/json-helper.md","filePath":"core/json-helper.md","lastUpdated":1700306874000}'),n={name:"core/json-helper.md"};function h(l,s,p,k,r,d){return e(),a("div",null,s[0]||(s[0]=[t(`

JsonHelper

This page is about the JsonHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The JsonHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

LoadFromJson<T>(fileName)

Definition

The LoadFromJson<T>() method loads an object from a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
stringfileNameThe name of the file to load from.

Returns

The object loaded from the file.

Usage

c#
using PeyrSharp.Core;
 using System.IO;
 using System.Text.Json;
 
@@ -6,7 +6,7 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=
 Person person = JsonHelper.LoadFromJson<Person>("person.json");
 
 // Print the person's name and age
-Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");

SaveAsJson<T>(obj, fileName)

Definition

The SaveAsJson() method saves an object as a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
TobjThe object to save.
stringfileNameThe name of the file to save to.

Usage

c#
using PeyrSharp.Core;
+Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");

SaveAsJson<T>(obj, fileName)

Definition

The SaveAsJson() method saves an object as a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
TobjThe object to save.
stringfileNameThe name of the file to save to.

Usage

c#
using PeyrSharp.Core;
 using System.IO;
 using System.Text.Json;
 
@@ -23,4 +23,4 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=
 {
     public string Name { get; set; }
     public int Age { get; set; }
-}
`,27),h=[n];function l(p,k,r,d,o,E){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{c as __pageData,y as default}; +}
`,27)]))}const g=i(n,[["render",h]]);export{E as __pageData,g as default}; diff --git a/docs/assets/core_json-helper.md.CiOXpGzn.lean.js b/docs/assets/core_json-helper.md.CiOXpGzn.lean.js new file mode 100644 index 00000000..165f2872 --- /dev/null +++ b/docs/assets/core_json-helper.md.CiOXpGzn.lean.js @@ -0,0 +1,26 @@ +import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"JsonHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/json-helper.md","filePath":"core/json-helper.md","lastUpdated":1700306874000}'),n={name:"core/json-helper.md"};function h(l,s,p,k,r,d){return e(),a("div",null,s[0]||(s[0]=[t(`

JsonHelper

This page is about the JsonHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The JsonHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

LoadFromJson<T>(fileName)

Definition

The LoadFromJson<T>() method loads an object from a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
stringfileNameThe name of the file to load from.

Returns

The object loaded from the file.

Usage

c#
using PeyrSharp.Core;
+using System.IO;
+using System.Text.Json;
+
+// Load the person from the JSON file
+Person person = JsonHelper.LoadFromJson<Person>("person.json");
+
+// Print the person's name and age
+Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");

SaveAsJson<T>(obj, fileName)

Definition

The SaveAsJson() method saves an object as a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
TobjThe object to save.
stringfileNameThe name of the file to save to.

Usage

c#
using PeyrSharp.Core;
+using System.IO;
+using System.Text.Json;
+
+public static void Main()
+{
+    // Create an object to save
+    MyObject obj = new MyObject();
+
+    // Save the object as a JSON file
+    JsonHelper.SaveAsJson(obj, "output.json");
+}
+
+public class MyObject
+{
+    public string Name { get; set; }
+    public int Age { get; set; }
+}
`,27)]))}const g=i(n,[["render",h]]);export{E as __pageData,g as default}; diff --git a/docs/assets/core_json-helper.md.a-1fEIvX.lean.js b/docs/assets/core_json-helper.md.a-1fEIvX.lean.js deleted file mode 100644 index d1de001d..00000000 --- a/docs/assets/core_json-helper.md.a-1fEIvX.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=JSON.parse('{"title":"JsonHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/json-helper.md","filePath":"core/json-helper.md","lastUpdated":1700306874000}'),e={name:"core/json-helper.md"},n=t("",27),h=[n];function l(p,k,r,d,o,E){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{c as __pageData,y as default}; diff --git a/docs/assets/core_maths.md.CZdGaJXQ.js b/docs/assets/core_maths.md.CZdGaJXQ.js new file mode 100644 index 00000000..9e7c5dd2 --- /dev/null +++ b/docs/assets/core_maths.md.CZdGaJXQ.js @@ -0,0 +1 @@ +import{_ as e,c as a,a2 as r,o}from"./chunks/framework.CdbxnhrM.js";const f=JSON.parse('{"title":"Maths","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths.md","filePath":"core/maths.md","lastUpdated":1700306874000}'),l={name:"core/maths.md"};function h(i,t,s,m,c,d){return o(),a("div",null,t[0]||(t[0]=[r('

Maths

This page is about the Maths namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Maths namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

',7)]))}const g=e(l,[["render",h]]);export{f as __pageData,g as default}; diff --git a/docs/assets/core_maths.md.CZdGaJXQ.lean.js b/docs/assets/core_maths.md.CZdGaJXQ.lean.js new file mode 100644 index 00000000..9e7c5dd2 --- /dev/null +++ b/docs/assets/core_maths.md.CZdGaJXQ.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,a2 as r,o}from"./chunks/framework.CdbxnhrM.js";const f=JSON.parse('{"title":"Maths","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths.md","filePath":"core/maths.md","lastUpdated":1700306874000}'),l={name:"core/maths.md"};function h(i,t,s,m,c,d){return o(),a("div",null,t[0]||(t[0]=[r('

Maths

This page is about the Maths namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Maths namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

',7)]))}const g=e(l,[["render",h]]);export{f as __pageData,g as default}; diff --git a/docs/assets/core_maths.md.dMy31SfG.js b/docs/assets/core_maths.md.dMy31SfG.js deleted file mode 100644 index 5e461f9a..00000000 --- a/docs/assets/core_maths.md.dMy31SfG.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as r}from"./chunks/framework.q7IuVqhY.js";const p=JSON.parse('{"title":"Maths","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths.md","filePath":"core/maths.md","lastUpdated":1700306874000}'),o={name:"core/maths.md"},h=r('

Maths

This page is about the Maths namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Maths namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

',7),l=[h];function s(i,m,c,d,n,f){return e(),a("div",null,l)}const _=t(o,[["render",s]]);export{p as __pageData,_ as default}; diff --git a/docs/assets/core_maths.md.dMy31SfG.lean.js b/docs/assets/core_maths.md.dMy31SfG.lean.js deleted file mode 100644 index f3a08337..00000000 --- a/docs/assets/core_maths.md.dMy31SfG.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as r}from"./chunks/framework.q7IuVqhY.js";const p=JSON.parse('{"title":"Maths","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths.md","filePath":"core/maths.md","lastUpdated":1700306874000}'),o={name:"core/maths.md"},h=r("",7),l=[h];function s(i,m,c,d,n,f){return e(),a("div",null,l)}const _=t(o,[["render",s]]);export{p as __pageData,_ as default}; diff --git a/docs/assets/core_maths_algebra.md.MRPFpbqm.js b/docs/assets/core_maths_algebra.md.BoWMZZHz.js similarity index 57% rename from docs/assets/core_maths_algebra.md.MRPFpbqm.js rename to docs/assets/core_maths_algebra.md.BoWMZZHz.js index 4665d1c6..b836f4bc 100644 --- a/docs/assets/core_maths_algebra.md.MRPFpbqm.js +++ b/docs/assets/core_maths_algebra.md.BoWMZZHz.js @@ -1,4 +1,4 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Algebra","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/algebra.md","filePath":"core/maths/algebra.md","lastUpdated":1700306874000}'),e={name:"core/maths/algebra.md"},n=t(`

Algebra

This page is about the Algebra class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Algebra class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Sum(numbers) (double)

Definition

Returns the sum of specified double numbers. It returns a double value.

Arguments

TypeNameMeaning
params double[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
+import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const g=JSON.parse('{"title":"Algebra","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/algebra.md","filePath":"core/maths/algebra.md","lastUpdated":1700306874000}'),n={name:"core/maths/algebra.md"};function h(l,s,r,d,k,p){return e(),a("div",null,s[0]||(s[0]=[t(`

Algebra

This page is about the Algebra class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Algebra class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Sum(numbers) (double)

Definition

Returns the sum of specified double numbers. It returns a double value.

Arguments

TypeNameMeaning
params double[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 // Usage 1
 double sum = Algebra.Sum(12, 1.5, 45, 2.2);
@@ -8,7 +8,7 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const u=
 double[] numbers = new double[] { 1, 2, 3 };
 
 double sum2 = Algebra.Sum(numbers);
-// sum = 6

Sum(numbers) (int)

Definition

Returns the sum of specified int numbers. It returns a int value.

Arguments

TypeNameMeaning
params int[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
+// sum = 6

Sum(numbers) (int)

Definition

Returns the sum of specified int numbers. It returns a int value.

Arguments

TypeNameMeaning
params int[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 // Usage 1
 int sum = Algebra.Sum(12, 15, 45, 2);
@@ -18,22 +18,22 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const u=
 int[] numbers = new int[] { 1, 2, 3 };
 
 int sum2 = Algebra.Sum(numbers);
-// sum = 6

IsInt(number)

Definition

Returns true if a specified double is an integer. It returns a bool value.

Arguments

TypeNameMeaning
doublenumberThe number to check.

Usage

c#
using PeyrSharp.Core.Maths;
+// sum = 6

IsInt(number)

Definition

Returns true if a specified double is an integer. It returns a bool value.

Arguments

TypeNameMeaning
doublenumberThe number to check.

Usage

c#
using PeyrSharp.Core.Maths;
 
 bool isInt = Algebra.IsInt(12.0);
-// isInt = true

GetOpposite(number)

Definition

Gets the opposite of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the opposite of.

Usage

c#
using PeyrSharp.Core.Maths;
+// isInt = true

GetOpposite(number)

Definition

Gets the opposite of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the opposite of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 double opposite = Algebra.Opposite(7);
-// opposite = -7

Factorial(number)

Definition

Gets the factorial of an int number. It returns an int.

Arguments

TypeNameMeaning
intnumberThe number to get the factorial of.

Usage

c#
using PeyrSharp.Core.Maths;
+// opposite = -7

Factorial(number)

Definition

Gets the factorial of an int number. It returns an int.

Arguments

TypeNameMeaning
intnumberThe number to get the factorial of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 int factorial = Algebra.Factorial(5);
-// factorial = 120

PositiveOf(number)

Definition

Gets the positive of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the positive of.

Usage

c#
using PeyrSharp.Core.Maths;
+// factorial = 120

PositiveOf(number)

Definition

Gets the positive of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the positive of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 double pos = Algebra.PositiveOf(-7);
-// pos = 7

NegativeOf(number)

Definition

Gets the negative of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the negative of.

Usage

c#
using PeyrSharp.Core.Maths;
+// pos = 7

NegativeOf(number)

Definition

Gets the negative of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the negative of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 double negative = Algebra.NegativeOf(7);
-// negative = -7

GetResultsOf(function, numbers)

Definition

Gets the results of a function applied to specific double numbers. It returns an array of double[].

Arguments

TypeNameMeaning
Func<double, double>functionThe function to apply to all numbers. It must return a double and take a double as an argument.
params double[]numbersThe numbers to get the results of.

Usage

c#
using PeyrSharp.Core.Maths;
+// negative = -7

GetResultsOf(function, numbers)

Definition

Gets the results of a function applied to specific double numbers. It returns an array of double[].

Arguments

TypeNameMeaning
Func<double, double>functionThe function to apply to all numbers. It must return a double and take a double as an argument.
params double[]numbersThe numbers to get the results of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 double res = Algebra.GetResultsOf(x => x * x, 1, 2, 3, 4);
-// res = double[] { 1, 4, 9, 16 }
`,63),h=[n];function l(r,k,p,d,o,g){return i(),a("div",null,h)}const E=s(e,[["render",l]]);export{u as __pageData,E as default}; +// res = double[] { 1, 4, 9, 16 }
`,63)]))}const c=i(n,[["render",h]]);export{g as __pageData,c as default}; diff --git a/docs/assets/core_maths_algebra.md.BoWMZZHz.lean.js b/docs/assets/core_maths_algebra.md.BoWMZZHz.lean.js new file mode 100644 index 00000000..b836f4bc --- /dev/null +++ b/docs/assets/core_maths_algebra.md.BoWMZZHz.lean.js @@ -0,0 +1,39 @@ +import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const g=JSON.parse('{"title":"Algebra","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/algebra.md","filePath":"core/maths/algebra.md","lastUpdated":1700306874000}'),n={name:"core/maths/algebra.md"};function h(l,s,r,d,k,p){return e(),a("div",null,s[0]||(s[0]=[t(`

Algebra

This page is about the Algebra class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Algebra class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Sum(numbers) (double)

Definition

Returns the sum of specified double numbers. It returns a double value.

Arguments

TypeNameMeaning
params double[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+// Usage 1
+double sum = Algebra.Sum(12, 1.5, 45, 2.2);
+// sum = 60.7
+
+// Usage 2
+double[] numbers = new double[] { 1, 2, 3 };
+
+double sum2 = Algebra.Sum(numbers);
+// sum = 6

Sum(numbers) (int)

Definition

Returns the sum of specified int numbers. It returns a int value.

Arguments

TypeNameMeaning
params int[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+// Usage 1
+int sum = Algebra.Sum(12, 15, 45, 2);
+// sum = 74
+
+// Usage 2
+int[] numbers = new int[] { 1, 2, 3 };
+
+int sum2 = Algebra.Sum(numbers);
+// sum = 6

IsInt(number)

Definition

Returns true if a specified double is an integer. It returns a bool value.

Arguments

TypeNameMeaning
doublenumberThe number to check.

Usage

c#
using PeyrSharp.Core.Maths;
+
+bool isInt = Algebra.IsInt(12.0);
+// isInt = true

GetOpposite(number)

Definition

Gets the opposite of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the opposite of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double opposite = Algebra.Opposite(7);
+// opposite = -7

Factorial(number)

Definition

Gets the factorial of an int number. It returns an int.

Arguments

TypeNameMeaning
intnumberThe number to get the factorial of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+int factorial = Algebra.Factorial(5);
+// factorial = 120

PositiveOf(number)

Definition

Gets the positive of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the positive of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double pos = Algebra.PositiveOf(-7);
+// pos = 7

NegativeOf(number)

Definition

Gets the negative of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the negative of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double negative = Algebra.NegativeOf(7);
+// negative = -7

GetResultsOf(function, numbers)

Definition

Gets the results of a function applied to specific double numbers. It returns an array of double[].

Arguments

TypeNameMeaning
Func<double, double>functionThe function to apply to all numbers. It must return a double and take a double as an argument.
params double[]numbersThe numbers to get the results of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double res = Algebra.GetResultsOf(x => x * x, 1, 2, 3, 4);
+// res = double[] { 1, 4, 9, 16 }
`,63)]))}const c=i(n,[["render",h]]);export{g as __pageData,c as default}; diff --git a/docs/assets/core_maths_algebra.md.MRPFpbqm.lean.js b/docs/assets/core_maths_algebra.md.MRPFpbqm.lean.js deleted file mode 100644 index 0ab34ba1..00000000 --- a/docs/assets/core_maths_algebra.md.MRPFpbqm.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Algebra","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/algebra.md","filePath":"core/maths/algebra.md","lastUpdated":1700306874000}'),e={name:"core/maths/algebra.md"},n=t("",63),h=[n];function l(r,k,p,d,o,g){return i(),a("div",null,h)}const E=s(e,[["render",l]]);export{u as __pageData,E as default}; diff --git a/docs/assets/core_maths_geometry.md.CPNpoYVr.js b/docs/assets/core_maths_geometry.md.CPNpoYVr.js new file mode 100644 index 00000000..c62fcb18 --- /dev/null +++ b/docs/assets/core_maths_geometry.md.CPNpoYVr.js @@ -0,0 +1 @@ +import{_ as t,c as a,a2 as r,o}from"./chunks/framework.CdbxnhrM.js";const p=JSON.parse('{"title":"Geometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry.md","filePath":"core/maths/geometry.md","lastUpdated":1700306874000}'),l={name:"core/maths/geometry.md"};function i(s,e,h,m,d,c){return o(),a("div",null,e[0]||(e[0]=[r('

Geometry

This page is about the Geometry namespace available in PeyrSharp.Core.Maths. This namespace includes several classes to get and calculates various aspects of different shapes, like the area, perimeter, volume and more.

Compatibility

The namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

',7)]))}const g=t(l,[["render",i]]);export{p as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry.md.CPNpoYVr.lean.js b/docs/assets/core_maths_geometry.md.CPNpoYVr.lean.js new file mode 100644 index 00000000..c62fcb18 --- /dev/null +++ b/docs/assets/core_maths_geometry.md.CPNpoYVr.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,a2 as r,o}from"./chunks/framework.CdbxnhrM.js";const p=JSON.parse('{"title":"Geometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry.md","filePath":"core/maths/geometry.md","lastUpdated":1700306874000}'),l={name:"core/maths/geometry.md"};function i(s,e,h,m,d,c){return o(),a("div",null,e[0]||(e[0]=[r('

Geometry

This page is about the Geometry namespace available in PeyrSharp.Core.Maths. This namespace includes several classes to get and calculates various aspects of different shapes, like the area, perimeter, volume and more.

Compatibility

The namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

',7)]))}const g=t(l,[["render",i]]);export{p as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry.md.M68-y-BQ.js b/docs/assets/core_maths_geometry.md.M68-y-BQ.js deleted file mode 100644 index 3a2287e7..00000000 --- a/docs/assets/core_maths_geometry.md.M68-y-BQ.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as a,R as r}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Geometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry.md","filePath":"core/maths/geometry.md","lastUpdated":1700306874000}'),o={name:"core/maths/geometry.md"},l=r('

Geometry

This page is about the Geometry namespace available in PeyrSharp.Core.Maths. This namespace includes several classes to get and calculates various aspects of different shapes, like the area, perimeter, volume and more.

Compatibility

The namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

',7),s=[l];function i(h,m,d,c,n,p){return t(),a("div",null,s)}const f=e(o,[["render",i]]);export{y as __pageData,f as default}; diff --git a/docs/assets/core_maths_geometry.md.M68-y-BQ.lean.js b/docs/assets/core_maths_geometry.md.M68-y-BQ.lean.js deleted file mode 100644 index 74de7229..00000000 --- a/docs/assets/core_maths_geometry.md.M68-y-BQ.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as a,R as r}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Geometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry.md","filePath":"core/maths/geometry.md","lastUpdated":1700306874000}'),o={name:"core/maths/geometry.md"},l=r("",7),s=[l];function i(h,m,d,c,n,p){return t(),a("div",null,s)}const f=e(o,[["render",i]]);export{y as __pageData,f as default}; diff --git a/docs/assets/core_maths_geometry_circle.md.Xg0b1W98.js b/docs/assets/core_maths_geometry_circle.md.Xg0b1W98.js new file mode 100644 index 00000000..a9f885bf --- /dev/null +++ b/docs/assets/core_maths_geometry_circle.md.Xg0b1W98.js @@ -0,0 +1,13 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Circle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/circle.md","filePath":"core/maths/geometry/circle.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/circle.md"};function n(r,i,l,p,d,o){return t(),a("div",null,i[0]||(i[0]=[e(`

Circle

This page is about the Circle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Circle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Circle(radius)

Definition

Initializes a Circle class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the circle.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10); // Creates a circle with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10);
+
+var area = circle.Area;
+// area = 314.1592653589793

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10);
+
+var perimeter = circle.Perimeter;
+// perimeter = 62.83185307179586
`,27)]))}const g=s(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_circle.md.Xg0b1W98.lean.js b/docs/assets/core_maths_geometry_circle.md.Xg0b1W98.lean.js new file mode 100644 index 00000000..a9f885bf --- /dev/null +++ b/docs/assets/core_maths_geometry_circle.md.Xg0b1W98.lean.js @@ -0,0 +1,13 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Circle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/circle.md","filePath":"core/maths/geometry/circle.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/circle.md"};function n(r,i,l,p,d,o){return t(),a("div",null,i[0]||(i[0]=[e(`

Circle

This page is about the Circle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Circle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Circle(radius)

Definition

Initializes a Circle class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the circle.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10); // Creates a circle with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10);
+
+var area = circle.Area;
+// area = 314.1592653589793

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle circle = new(10);
+
+var perimeter = circle.Perimeter;
+// perimeter = 62.83185307179586
`,27)]))}const g=s(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_circle.md._Kk7Pf_n.js b/docs/assets/core_maths_geometry_circle.md._Kk7Pf_n.js deleted file mode 100644 index 52f7406f..00000000 --- a/docs/assets/core_maths_geometry_circle.md._Kk7Pf_n.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Circle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/circle.md","filePath":"core/maths/geometry/circle.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/circle.md"},h=e(`

Circle

This page is about the Circle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Circle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Circle(radius)

Definition

Initializes a Circle class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the circle.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Circle circle = new(10); // Creates a circle with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Circle circle = new(10);
-
-var area = circle.Area;
-// area = 314.1592653589793

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Circle circle = new(10);
-
-var perimeter = circle.Perimeter;
-// perimeter = 62.83185307179586
`,27),n=[h];function r(l,p,d,o,k,c){return s(),a("div",null,n)}const u=i(t,[["render",r]]);export{y as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_circle.md._Kk7Pf_n.lean.js b/docs/assets/core_maths_geometry_circle.md._Kk7Pf_n.lean.js deleted file mode 100644 index 16743f1b..00000000 --- a/docs/assets/core_maths_geometry_circle.md._Kk7Pf_n.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Circle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/circle.md","filePath":"core/maths/geometry/circle.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/circle.md"},h=e("",27),n=[h];function r(l,p,d,o,k,c){return s(),a("div",null,n)}const u=i(t,[["render",r]]);export{y as __pageData,u as default}; diff --git a/docs/assets/core_maths_geometry_cone.md.M1qQevjf.js b/docs/assets/core_maths_geometry_cone.md.M1qQevjf.js new file mode 100644 index 00000000..1accdcd5 --- /dev/null +++ b/docs/assets/core_maths_geometry_cone.md.M1qQevjf.js @@ -0,0 +1,18 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Cone","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cone.md","filePath":"core/maths/geometry/cone.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/cone.md"};function n(l,i,p,d,r,o){return t(),a("div",null,i[0]||(i[0]=[e(`

Cone

This page is about the Cone class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cone class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cone(radius, height)

Definition

Initializes a Cone class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cone.
doubleheightThe height of the cone.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(10, 20); // Creates a cone with a radius of 10, and a height of 20

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cone. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(10, 20);
+
+var volume = cone.Volume;
+// volume = 2094.3951023931954

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(15, 20);
+
+var radius = cone.Radius;
+// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle cone = new(10, 40);
+
+var height = cone.Height;
+// height = 40
`,33)]))}const g=s(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_cone.md.M1qQevjf.lean.js b/docs/assets/core_maths_geometry_cone.md.M1qQevjf.lean.js new file mode 100644 index 00000000..1accdcd5 --- /dev/null +++ b/docs/assets/core_maths_geometry_cone.md.M1qQevjf.lean.js @@ -0,0 +1,18 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Cone","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cone.md","filePath":"core/maths/geometry/cone.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/cone.md"};function n(l,i,p,d,r,o){return t(),a("div",null,i[0]||(i[0]=[e(`

Cone

This page is about the Cone class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cone class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cone(radius, height)

Definition

Initializes a Cone class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cone.
doubleheightThe height of the cone.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(10, 20); // Creates a cone with a radius of 10, and a height of 20

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cone. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(10, 20);
+
+var volume = cone.Volume;
+// volume = 2094.3951023931954

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cone cone = new(15, 20);
+
+var radius = cone.Radius;
+// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Circle cone = new(10, 40);
+
+var height = cone.Height;
+// height = 40
`,33)]))}const g=s(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_cone.md.k74Joa1S.js b/docs/assets/core_maths_geometry_cone.md.k74Joa1S.js deleted file mode 100644 index 0ab53ae6..00000000 --- a/docs/assets/core_maths_geometry_cone.md.k74Joa1S.js +++ /dev/null @@ -1,18 +0,0 @@ -import{_ as s,o as i,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Cone","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cone.md","filePath":"core/maths/geometry/cone.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/cone.md"},h=e(`

Cone

This page is about the Cone class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cone class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cone(radius, height)

Definition

Initializes a Cone class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cone.
doubleheightThe height of the cone.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cone cone = new(10, 20); // Creates a cone with a radius of 10, and a height of 20

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cone. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cone cone = new(10, 20);
-
-var volume = cone.Volume;
-// volume = 2094.3951023931954

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cone cone = new(15, 20);
-
-var radius = cone.Radius;
-// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Circle cone = new(10, 40);
-
-var height = cone.Height;
-// height = 40
`,33),n=[h];function l(p,d,r,o,k,c){return i(),a("div",null,n)}const y=s(t,[["render",l]]);export{u as __pageData,y as default}; diff --git a/docs/assets/core_maths_geometry_cone.md.k74Joa1S.lean.js b/docs/assets/core_maths_geometry_cone.md.k74Joa1S.lean.js deleted file mode 100644 index 1191ab00..00000000 --- a/docs/assets/core_maths_geometry_cone.md.k74Joa1S.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Cone","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cone.md","filePath":"core/maths/geometry/cone.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/cone.md"},h=e("",33),n=[h];function l(p,d,r,o,k,c){return i(),a("div",null,n)}const y=s(t,[["render",l]]);export{u as __pageData,y as default}; diff --git a/docs/assets/core_maths_geometry_cube.md.B-neERol.js b/docs/assets/core_maths_geometry_cube.md.B-neERol.js new file mode 100644 index 00000000..54cf7c65 --- /dev/null +++ b/docs/assets/core_maths_geometry_cube.md.B-neERol.js @@ -0,0 +1,40 @@ +import{_ as i,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Cube","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cube.md","filePath":"core/maths/geometry/cube.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/cube.md"};function n(l,s,p,k,d,r){return t(),a("div",null,s[0]||(s[0]=[e(`

Cube

This page is about the Cube class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cube class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cube(side)

Definition

Initializes a Cube class from the length of the side of the cube.

Arguments

TypeNameMeaning
doublesideThe length of the side of the cube.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10); // Creates a 10x10x10 cube

Cube(width, length, height)

Definition

Initializes a Cube class from the width, the length and the height of the cuboidal.

Arguments

TypeNameMeaning
doublewidthThe width of the cuboidal.
doublelengthThe length of the cuboidal.
doubleheightThe height of the cuboidal.

WARNING

If width, length or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10, 20, 10); // Creates a 10x20x10 cuboidal

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var area = cube.Area;
+// area = 100

Edge

Definition

c#
public double Edge { get; }

The Edge property is a double which returns the edge of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var edge = cube.Edge;
+// edge = 7.0710678118654755

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var length = cube.Length;
+// length = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var height = cube.Height;
+// height = 10

Side

Definition

c#
public double? Side { get; init; }

The Side property is a double? which returns the length of the side of the cube. You can only get this property.

WARNING

This property can be null if not initialized with Cube(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var side = cube.Side ?? 0;
+// side = 10

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var volume = cube.Volume; // 10^3
+// volume = 1000

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var width = cube.Width;
+// width = 10
`,66)]))}const g=i(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_cube.md.B-neERol.lean.js b/docs/assets/core_maths_geometry_cube.md.B-neERol.lean.js new file mode 100644 index 00000000..54cf7c65 --- /dev/null +++ b/docs/assets/core_maths_geometry_cube.md.B-neERol.lean.js @@ -0,0 +1,40 @@ +import{_ as i,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Cube","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cube.md","filePath":"core/maths/geometry/cube.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/cube.md"};function n(l,s,p,k,d,r){return t(),a("div",null,s[0]||(s[0]=[e(`

Cube

This page is about the Cube class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cube class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cube(side)

Definition

Initializes a Cube class from the length of the side of the cube.

Arguments

TypeNameMeaning
doublesideThe length of the side of the cube.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10); // Creates a 10x10x10 cube

Cube(width, length, height)

Definition

Initializes a Cube class from the width, the length and the height of the cuboidal.

Arguments

TypeNameMeaning
doublewidthThe width of the cuboidal.
doublelengthThe length of the cuboidal.
doubleheightThe height of the cuboidal.

WARNING

If width, length or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10, 20, 10); // Creates a 10x20x10 cuboidal

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var area = cube.Area;
+// area = 100

Edge

Definition

c#
public double Edge { get; }

The Edge property is a double which returns the edge of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var edge = cube.Edge;
+// edge = 7.0710678118654755

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var length = cube.Length;
+// length = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var height = cube.Height;
+// height = 10

Side

Definition

c#
public double? Side { get; init; }

The Side property is a double? which returns the length of the side of the cube. You can only get this property.

WARNING

This property can be null if not initialized with Cube(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var side = cube.Side ?? 0;
+// side = 10

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var volume = cube.Volume; // 10^3
+// volume = 1000

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cube cube = new(10);
+
+var width = cube.Width;
+// width = 10
`,66)]))}const g=i(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_cube.md.yUfCovxA.js b/docs/assets/core_maths_geometry_cube.md.yUfCovxA.js deleted file mode 100644 index cc8c78ef..00000000 --- a/docs/assets/core_maths_geometry_cube.md.yUfCovxA.js +++ /dev/null @@ -1,40 +0,0 @@ -import{_ as s,o as i,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Cube","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cube.md","filePath":"core/maths/geometry/cube.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/cube.md"},h=e(`

Cube

This page is about the Cube class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cube class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cube(side)

Definition

Initializes a Cube class from the length of the side of the cube.

Arguments

TypeNameMeaning
doublesideThe length of the side of the cube.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10); // Creates a 10x10x10 cube

Cube(width, length, height)

Definition

Initializes a Cube class from the width, the length and the height of the cuboidal.

Arguments

TypeNameMeaning
doublewidthThe width of the cuboidal.
doublelengthThe length of the cuboidal.
doubleheightThe height of the cuboidal.

WARNING

If width, length or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10, 20, 10); // Creates a 10x20x10 cuboidal

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var area = cube.Area;
-// area = 100

Edge

Definition

c#
public double Edge { get; }

The Edge property is a double which returns the edge of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var edge = cube.Edge;
-// edge = 7.0710678118654755

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var length = cube.Length;
-// length = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var height = cube.Height;
-// height = 10

Side

Definition

c#
public double? Side { get; init; }

The Side property is a double? which returns the length of the side of the cube. You can only get this property.

WARNING

This property can be null if not initialized with Cube(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var side = cube.Side ?? 0;
-// side = 10

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var volume = cube.Volume; // 10^3
-// volume = 1000

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cube cube = new(10);
-
-var width = cube.Width;
-// width = 10
`,66),n=[h];function l(p,k,d,r,o,c){return i(),a("div",null,n)}const y=s(t,[["render",l]]);export{u as __pageData,y as default}; diff --git a/docs/assets/core_maths_geometry_cube.md.yUfCovxA.lean.js b/docs/assets/core_maths_geometry_cube.md.yUfCovxA.lean.js deleted file mode 100644 index dbc41aef..00000000 --- a/docs/assets/core_maths_geometry_cube.md.yUfCovxA.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Cube","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cube.md","filePath":"core/maths/geometry/cube.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/cube.md"},h=e("",66),n=[h];function l(p,k,d,r,o,c){return i(),a("div",null,n)}const y=s(t,[["render",l]]);export{u as __pageData,y as default}; diff --git a/docs/assets/core_maths_geometry_cylinder.md.-zAgWoyI.js b/docs/assets/core_maths_geometry_cylinder.md.-zAgWoyI.js deleted file mode 100644 index 9c781388..00000000 --- a/docs/assets/core_maths_geometry_cylinder.md.-zAgWoyI.js +++ /dev/null @@ -1,23 +0,0 @@ -import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Cylinder","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cylinder.md","filePath":"core/maths/geometry/cylinder.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/cylinder.md"},h=e(`

Cylinder

This page is about the Cylinder class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cylinder class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cylinder(radius, height)

Definition

Initializes a Cylinder class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cylinder.
doubleheightThe height of the cylinder.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cylinder cylinder = new(20, 10); // Creates a cylinder with a radius of 20, and a height of 10

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cylinder cylinder = new(10, 20);
-
-var volume = cylinder.Volume;
-// volume = 6283.185307179587

BaseArea

Definition

c#
public double BaseArea { get; }

The BaseArea property is a double which returns the area of the circle, which is the base of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cylinder cylinder = new(10, 20);
-
-var baseArea = cylinder.BaseArea;
-// baseArea = 314.1592653589793

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cylinder cylinder = new(15, 20);
-
-var radius = cylinder.Radius;
-// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Cylinder cylinder = new(10, 40);
-
-var height = cylinder.Height;
-// height = 40
`,39),n=[h];function l(p,r,d,k,o,c){return s(),a("div",null,n)}const E=i(t,[["render",l]]);export{y as __pageData,E as default}; diff --git a/docs/assets/core_maths_geometry_cylinder.md.-zAgWoyI.lean.js b/docs/assets/core_maths_geometry_cylinder.md.-zAgWoyI.lean.js deleted file mode 100644 index 2f50c86d..00000000 --- a/docs/assets/core_maths_geometry_cylinder.md.-zAgWoyI.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Cylinder","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cylinder.md","filePath":"core/maths/geometry/cylinder.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/cylinder.md"},h=e("",39),n=[h];function l(p,r,d,k,o,c){return s(),a("div",null,n)}const E=i(t,[["render",l]]);export{y as __pageData,E as default}; diff --git a/docs/assets/core_maths_geometry_cylinder.md.RLLKEki_.js b/docs/assets/core_maths_geometry_cylinder.md.RLLKEki_.js new file mode 100644 index 00000000..4628e138 --- /dev/null +++ b/docs/assets/core_maths_geometry_cylinder.md.RLLKEki_.js @@ -0,0 +1,23 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Cylinder","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cylinder.md","filePath":"core/maths/geometry/cylinder.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/cylinder.md"};function n(l,i,p,d,r,k){return t(),a("div",null,i[0]||(i[0]=[e(`

Cylinder

This page is about the Cylinder class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cylinder class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cylinder(radius, height)

Definition

Initializes a Cylinder class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cylinder.
doubleheightThe height of the cylinder.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(20, 10); // Creates a cylinder with a radius of 20, and a height of 10

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 20);
+
+var volume = cylinder.Volume;
+// volume = 6283.185307179587

BaseArea

Definition

c#
public double BaseArea { get; }

The BaseArea property is a double which returns the area of the circle, which is the base of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 20);
+
+var baseArea = cylinder.BaseArea;
+// baseArea = 314.1592653589793

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(15, 20);
+
+var radius = cylinder.Radius;
+// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 40);
+
+var height = cylinder.Height;
+// height = 40
`,39)]))}const g=s(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_cylinder.md.RLLKEki_.lean.js b/docs/assets/core_maths_geometry_cylinder.md.RLLKEki_.lean.js new file mode 100644 index 00000000..4628e138 --- /dev/null +++ b/docs/assets/core_maths_geometry_cylinder.md.RLLKEki_.lean.js @@ -0,0 +1,23 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Cylinder","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/cylinder.md","filePath":"core/maths/geometry/cylinder.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/cylinder.md"};function n(l,i,p,d,r,k){return t(),a("div",null,i[0]||(i[0]=[e(`

Cylinder

This page is about the Cylinder class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cylinder class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cylinder(radius, height)

Definition

Initializes a Cylinder class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cylinder.
doubleheightThe height of the cylinder.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(20, 10); // Creates a cylinder with a radius of 20, and a height of 10

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 20);
+
+var volume = cylinder.Volume;
+// volume = 6283.185307179587

BaseArea

Definition

c#
public double BaseArea { get; }

The BaseArea property is a double which returns the area of the circle, which is the base of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 20);
+
+var baseArea = cylinder.BaseArea;
+// baseArea = 314.1592653589793

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(15, 20);
+
+var radius = cylinder.Radius;
+// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Cylinder cylinder = new(10, 40);
+
+var height = cylinder.Height;
+// height = 40
`,39)]))}const g=s(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_diamond.md._9QY6uTr.js b/docs/assets/core_maths_geometry_diamond.md._9QY6uTr.js deleted file mode 100644 index ec6ac129..00000000 --- a/docs/assets/core_maths_geometry_diamond.md._9QY6uTr.js +++ /dev/null @@ -1,26 +0,0 @@ -import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Diamond","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/diamond.md","filePath":"core/maths/geometry/diamond.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/diamond.md"},n=e(`

Diamond

This page is about the Diamond class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Diamond class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Diamond(side)

Definition

Initializes a Diamond class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Diamond diamond = new(5); // Creates a diamond where all the sides equals to 5.

Diamond(diagonal1, diagonal2)

Definition

Initializes a Diamond class from the length of its diagonals.

Arguments

TypeNameMeaning
doublediagonal1The length of the first diagonal.
doublediagonal2The side of the second diagonal.

WARNING

If diagonal1 or diagonal2 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-// Creates a diamond where the first diagonal is equal to 5, and the second one is equal to 10.
-Diamond diamond = new(5, 10);

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(diagonal1, diagonal2).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Diamond diamond = new(5, 10);
-
-var area = diamond.Area;
-// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Diamond diamond = new(10);
-
-var perimeter = diamond.Perimeter;
-// perimeter = 40

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of sides of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Diamond diamond = new(10);
-
-var side = diamond.Side;
-// side = 10

Diagonals

Definition

c#
public double[] Diagonals { get; init; }

The Side property is a double[] array which returns the diagonals of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Diamond diamond = new(10, 14);
-
-var side = diamond.Diagonals;
-// side = { 10, 14 }
`,49),h=[n];function l(d,p,o,r,k,c){return s(),a("div",null,h)}const E=i(t,[["render",l]]);export{y as __pageData,E as default}; diff --git a/docs/assets/core_maths_geometry_diamond.md._9QY6uTr.lean.js b/docs/assets/core_maths_geometry_diamond.md._9QY6uTr.lean.js deleted file mode 100644 index a9ab6bb1..00000000 --- a/docs/assets/core_maths_geometry_diamond.md._9QY6uTr.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Diamond","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/diamond.md","filePath":"core/maths/geometry/diamond.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/diamond.md"},n=e("",49),h=[n];function l(d,p,o,r,k,c){return s(),a("div",null,h)}const E=i(t,[["render",l]]);export{y as __pageData,E as default}; diff --git a/docs/assets/core_maths_geometry_diamond.md.goRBV6Dg.js b/docs/assets/core_maths_geometry_diamond.md.goRBV6Dg.js new file mode 100644 index 00000000..6b4bbcdc --- /dev/null +++ b/docs/assets/core_maths_geometry_diamond.md.goRBV6Dg.js @@ -0,0 +1,26 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Diamond","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/diamond.md","filePath":"core/maths/geometry/diamond.md","lastUpdated":1700306874000}'),n={name:"core/maths/geometry/diamond.md"};function h(l,i,d,p,o,r){return t(),a("div",null,i[0]||(i[0]=[e(`

Diamond

This page is about the Diamond class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Diamond class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Diamond(side)

Definition

Initializes a Diamond class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(5); // Creates a diamond where all the sides equals to 5.

Diamond(diagonal1, diagonal2)

Definition

Initializes a Diamond class from the length of its diagonals.

Arguments

TypeNameMeaning
doublediagonal1The length of the first diagonal.
doublediagonal2The side of the second diagonal.

WARNING

If diagonal1 or diagonal2 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+// Creates a diamond where the first diagonal is equal to 5, and the second one is equal to 10.
+Diamond diamond = new(5, 10);

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(diagonal1, diagonal2).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(5, 10);
+
+var area = diamond.Area;
+// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10);
+
+var perimeter = diamond.Perimeter;
+// perimeter = 40

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of sides of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10);
+
+var side = diamond.Side;
+// side = 10

Diagonals

Definition

c#
public double[] Diagonals { get; init; }

The Side property is a double[] array which returns the diagonals of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10, 14);
+
+var side = diamond.Diagonals;
+// side = { 10, 14 }
`,49)]))}const g=s(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_diamond.md.goRBV6Dg.lean.js b/docs/assets/core_maths_geometry_diamond.md.goRBV6Dg.lean.js new file mode 100644 index 00000000..6b4bbcdc --- /dev/null +++ b/docs/assets/core_maths_geometry_diamond.md.goRBV6Dg.lean.js @@ -0,0 +1,26 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Diamond","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/diamond.md","filePath":"core/maths/geometry/diamond.md","lastUpdated":1700306874000}'),n={name:"core/maths/geometry/diamond.md"};function h(l,i,d,p,o,r){return t(),a("div",null,i[0]||(i[0]=[e(`

Diamond

This page is about the Diamond class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Diamond class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Diamond(side)

Definition

Initializes a Diamond class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(5); // Creates a diamond where all the sides equals to 5.

Diamond(diagonal1, diagonal2)

Definition

Initializes a Diamond class from the length of its diagonals.

Arguments

TypeNameMeaning
doublediagonal1The length of the first diagonal.
doublediagonal2The side of the second diagonal.

WARNING

If diagonal1 or diagonal2 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+// Creates a diamond where the first diagonal is equal to 5, and the second one is equal to 10.
+Diamond diamond = new(5, 10);

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(diagonal1, diagonal2).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(5, 10);
+
+var area = diamond.Area;
+// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10);
+
+var perimeter = diamond.Perimeter;
+// perimeter = 40

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of sides of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10);
+
+var side = diamond.Side;
+// side = 10

Diagonals

Definition

c#
public double[] Diagonals { get; init; }

The Side property is a double[] array which returns the diagonals of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Diamond diamond = new(10, 14);
+
+var side = diamond.Diagonals;
+// side = { 10, 14 }
`,49)]))}const g=s(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_hexagon.md.DRVtn7ky.js b/docs/assets/core_maths_geometry_hexagon.md.DRVtn7ky.js new file mode 100644 index 00000000..f2cd7baf --- /dev/null +++ b/docs/assets/core_maths_geometry_hexagon.md.DRVtn7ky.js @@ -0,0 +1,17 @@ +import{_ as i,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Hexagon","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/hexagon.md","filePath":"core/maths/geometry/hexagon.md","lastUpdated":1700306874000}'),n={name:"core/maths/geometry/hexagon.md"};function h(l,s,p,r,d,o){return t(),a("div",null,s[0]||(s[0]=[e(`

Hexagon

This page is about the Hexagon class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Hexagon class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Hexagon(side)

Definition

Initializes a Hexagon class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side of the hexagon.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12); // Creates a hexagon with a length of 12

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12);
+
+var area = hexagon.Area;
+// area = 374.1229744348775

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12);
+
+var perimeter = hexagon.Perimeter;
+// perimeter = 72

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of the side of the hexagon. You can only get this property

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(10);
+
+var side = hexagon.Side; // side = 10
`,33)]))}const g=i(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_hexagon.md.DRVtn7ky.lean.js b/docs/assets/core_maths_geometry_hexagon.md.DRVtn7ky.lean.js new file mode 100644 index 00000000..f2cd7baf --- /dev/null +++ b/docs/assets/core_maths_geometry_hexagon.md.DRVtn7ky.lean.js @@ -0,0 +1,17 @@ +import{_ as i,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Hexagon","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/hexagon.md","filePath":"core/maths/geometry/hexagon.md","lastUpdated":1700306874000}'),n={name:"core/maths/geometry/hexagon.md"};function h(l,s,p,r,d,o){return t(),a("div",null,s[0]||(s[0]=[e(`

Hexagon

This page is about the Hexagon class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Hexagon class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Hexagon(side)

Definition

Initializes a Hexagon class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side of the hexagon.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12); // Creates a hexagon with a length of 12

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12);
+
+var area = hexagon.Area;
+// area = 374.1229744348775

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(12);
+
+var perimeter = hexagon.Perimeter;
+// perimeter = 72

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of the side of the hexagon. You can only get this property

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Hexagon hexagon = new(10);
+
+var side = hexagon.Side; // side = 10
`,33)]))}const g=i(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_hexagon.md.eumKgYhc.js b/docs/assets/core_maths_geometry_hexagon.md.eumKgYhc.js deleted file mode 100644 index 385abdf0..00000000 --- a/docs/assets/core_maths_geometry_hexagon.md.eumKgYhc.js +++ /dev/null @@ -1,17 +0,0 @@ -import{_ as s,o as i,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Hexagon","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/hexagon.md","filePath":"core/maths/geometry/hexagon.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/hexagon.md"},h=e(`

Hexagon

This page is about the Hexagon class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Hexagon class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Hexagon(side)

Definition

Initializes a Hexagon class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side of the hexagon.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Hexagon hexagon = new(12); // Creates a hexagon with a length of 12

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Hexagon hexagon = new(12);
-
-var area = hexagon.Area;
-// area = 374.1229744348775

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Hexagon hexagon = new(12);
-
-var perimeter = hexagon.Perimeter;
-// perimeter = 72

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of the side of the hexagon. You can only get this property

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Hexagon hexagon = new(10);
-
-var side = hexagon.Side; // side = 10
`,33),n=[h];function l(p,r,o,d,k,c){return i(),a("div",null,n)}const E=s(t,[["render",l]]);export{y as __pageData,E as default}; diff --git a/docs/assets/core_maths_geometry_hexagon.md.eumKgYhc.lean.js b/docs/assets/core_maths_geometry_hexagon.md.eumKgYhc.lean.js deleted file mode 100644 index f11b39cc..00000000 --- a/docs/assets/core_maths_geometry_hexagon.md.eumKgYhc.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Hexagon","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/hexagon.md","filePath":"core/maths/geometry/hexagon.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/hexagon.md"},h=e("",33),n=[h];function l(p,r,o,d,k,c){return i(),a("div",null,n)}const E=s(t,[["render",l]]);export{y as __pageData,E as default}; diff --git a/docs/assets/core_maths_geometry_pyramid.md.-Lw_iidT.lean.js b/docs/assets/core_maths_geometry_pyramid.md.-Lw_iidT.lean.js deleted file mode 100644 index 8099cafb..00000000 --- a/docs/assets/core_maths_geometry_pyramid.md.-Lw_iidT.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,o as s,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Pyramid","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/pyramid.md","filePath":"core/maths/geometry/pyramid.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/pyramid.md"},e=t("",78),n=[e];function l(p,d,k,r,o,g){return s(),a("div",null,n)}const E=i(h,[["render",l]]);export{y as __pageData,E as default}; diff --git a/docs/assets/core_maths_geometry_pyramid.md.-Lw_iidT.js b/docs/assets/core_maths_geometry_pyramid.md.DkQteKKW.js similarity index 52% rename from docs/assets/core_maths_geometry_pyramid.md.-Lw_iidT.js rename to docs/assets/core_maths_geometry_pyramid.md.DkQteKKW.js index 06e0a804..3f811fcc 100644 --- a/docs/assets/core_maths_geometry_pyramid.md.-Lw_iidT.js +++ b/docs/assets/core_maths_geometry_pyramid.md.DkQteKKW.js @@ -1,44 +1,44 @@ -import{_ as i,o as s,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Pyramid","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/pyramid.md","filePath":"core/maths/geometry/pyramid.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/pyramid.md"},e=t(`

Pyramid

This page is about the Pyramid class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors, methods and properties.

Compatibility

The Pyramid class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Pyramid(width, length, height)

Definition

Initializes a Pyramid class from a specific width, length, and height.

Arguments

TypeNameMeaning
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+import{_ as s,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const g=JSON.parse('{"title":"Pyramid","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/pyramid.md","filePath":"core/maths/geometry/pyramid.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/pyramid.md"};function n(l,i,d,p,k,r){return e(),a("div",null,i[0]||(i[0]=[t(`

Pyramid

This page is about the Pyramid class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors, methods and properties.

Compatibility

The Pyramid class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Pyramid(width, length, height)

Definition

Initializes a Pyramid class from a specific width, length, and height.

Arguments

TypeNameMeaning
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = new(12, 10, 15); // Creates a pyramid with a width of 12, a length of 10, and a height of 15

Methods

FromVolumeAndSize(volume, width, length)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doublevolumeThe volume of the pyramid.
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = new(12, 10, 15); // Creates a pyramid with a width of 12, a length of 10, and a height of 15

Methods

FromVolumeAndSize(volume, width, length)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doublevolumeThe volume of the pyramid.
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

FromAreaAndLength(area, length, height)

Definition

Initializes a Pyramid class from a specific area, length, and height.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

FromAreaAndLength(area, length, height)

Definition

Initializes a Pyramid class from a specific area, length, and height.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = Pyramid.FromAreaAndLength(100, 10, 15);

FromAreaAndWidth(area, width, height)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublewidthThe width of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = Pyramid.FromAreaAndLength(100, 10, 15);

FromAreaAndWidth(area, width, height)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublewidthThe width of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

Properties

AreaBase

Definition

c#
public double AreaBase { get; }

The AreaBase property is a double which returns the area of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

Properties

AreaBase

Definition

c#
public double AreaBase { get; }

The AreaBase property is a double which returns the area of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(12, 10, 15);
 
 var area = pyramid.AreaBase;
-// area = 120

Volume

Definition

c#
public double AreaBase { get; }

The Volume property is a double which returns the volume of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// area = 120

Volume

Definition

c#
public double AreaBase { get; }

The Volume property is a double which returns the volume of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(12, 10, 15);
 
 var volume = pyramid.Volume;
-// volume = 600

LengthBase

Definition

c#
public double LengthBase { get; }

The LengthBase property is a double which returns the length of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// volume = 600

LengthBase

Definition

c#
public double LengthBase { get; }

The LengthBase property is a double which returns the length of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(12, 10, 15);
 
 var length = pyramid.LengthBase;
-// length = 10

WidthBase

Definition

c#
public double WidthBase { get; }

The WidthBase property is a double which returns the width of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// length = 10

WidthBase

Definition

c#
public double WidthBase { get; }

The WidthBase property is a double which returns the width of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(12, 10, 15);
 
 var width = pyramid.WidthBase;
-// width = 12

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// width = 12

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(10, 20, 30);
 
 var width = pyramid.Width;
-// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(10, 20, 30);
 
 var length = pyramid.Length;
-// length = 20

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// length = 20

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(10, 20, 30);
 
 var height = pyramid.Height;
-// height = 30
`,78),n=[e];function l(p,d,k,r,o,g){return s(),a("div",null,n)}const E=i(h,[["render",l]]);export{y as __pageData,E as default}; +// height = 30
`,78)]))}const c=s(h,[["render",n]]);export{g as __pageData,c as default}; diff --git a/docs/assets/core_maths_geometry_pyramid.md.DkQteKKW.lean.js b/docs/assets/core_maths_geometry_pyramid.md.DkQteKKW.lean.js new file mode 100644 index 00000000..3f811fcc --- /dev/null +++ b/docs/assets/core_maths_geometry_pyramid.md.DkQteKKW.lean.js @@ -0,0 +1,44 @@ +import{_ as s,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const g=JSON.parse('{"title":"Pyramid","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/pyramid.md","filePath":"core/maths/geometry/pyramid.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/pyramid.md"};function n(l,i,d,p,k,r){return e(),a("div",null,i[0]||(i[0]=[t(`

Pyramid

This page is about the Pyramid class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors, methods and properties.

Compatibility

The Pyramid class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Pyramid(width, length, height)

Definition

Initializes a Pyramid class from a specific width, length, and height.

Arguments

TypeNameMeaning
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15); // Creates a pyramid with a width of 12, a length of 10, and a height of 15

Methods

FromVolumeAndSize(volume, width, length)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doublevolumeThe volume of the pyramid.
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

FromAreaAndLength(area, length, height)

Definition

Initializes a Pyramid class from a specific area, length, and height.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = Pyramid.FromAreaAndLength(100, 10, 15);

FromAreaAndWidth(area, width, height)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublewidthThe width of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

Properties

AreaBase

Definition

c#
public double AreaBase { get; }

The AreaBase property is a double which returns the area of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var area = pyramid.AreaBase;
+// area = 120

Volume

Definition

c#
public double AreaBase { get; }

The Volume property is a double which returns the volume of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var volume = pyramid.Volume;
+// volume = 600

LengthBase

Definition

c#
public double LengthBase { get; }

The LengthBase property is a double which returns the length of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var length = pyramid.LengthBase;
+// length = 10

WidthBase

Definition

c#
public double WidthBase { get; }

The WidthBase property is a double which returns the width of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(12, 10, 15);
+
+var width = pyramid.WidthBase;
+// width = 12

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var width = pyramid.Width;
+// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var length = pyramid.Length;
+// length = 20

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Pyramid pyramid = new(10, 20, 30);
+
+var height = pyramid.Height;
+// height = 30
`,78)]))}const c=s(h,[["render",n]]);export{g as __pageData,c as default}; diff --git a/docs/assets/core_maths_geometry_rectangle.md.6WZIAXZi.js b/docs/assets/core_maths_geometry_rectangle.md.6WZIAXZi.js new file mode 100644 index 00000000..52786218 --- /dev/null +++ b/docs/assets/core_maths_geometry_rectangle.md.6WZIAXZi.js @@ -0,0 +1,28 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Rectangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/rectangle.md","filePath":"core/maths/geometry/rectangle.md","lastUpdated":1700306874000}'),n={name:"core/maths/geometry/rectangle.md"};function h(l,i,p,r,k,d){return t(),a("div",null,i[0]||(i[0]=[e(`

Rectangle

This page is about the Rectangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Rectangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Rectangle(width, length)

Definition

Initializes a Rectangle class from a specific length and width.

Arguments

TypeNameMeaning
doublewidthThe width of the rectangle.
doublelengthThe length of the rectangle.

WARNING

If width or length ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20); // Creates a 10x20 rectangle

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var area = rectangle.Area;
+// area = 150

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var perimeter = rectangle.Perimeter;
+// perimeter = 50

Diagonal

Definition

c#
public double Diagonal { get; }

The Diagonal property is a double which returns the length of the diagonal of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var diagonal = rectangle.Diagonal;
+// diagonal = 18.027756377319946

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20);
+
+var width = rectangle.Width;
+// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20);
+
+var length = rectangle.Length;
+// length = 20
`,45)]))}const g=s(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_rectangle.md.6WZIAXZi.lean.js b/docs/assets/core_maths_geometry_rectangle.md.6WZIAXZi.lean.js new file mode 100644 index 00000000..52786218 --- /dev/null +++ b/docs/assets/core_maths_geometry_rectangle.md.6WZIAXZi.lean.js @@ -0,0 +1,28 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Rectangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/rectangle.md","filePath":"core/maths/geometry/rectangle.md","lastUpdated":1700306874000}'),n={name:"core/maths/geometry/rectangle.md"};function h(l,i,p,r,k,d){return t(),a("div",null,i[0]||(i[0]=[e(`

Rectangle

This page is about the Rectangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Rectangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Rectangle(width, length)

Definition

Initializes a Rectangle class from a specific length and width.

Arguments

TypeNameMeaning
doublewidthThe width of the rectangle.
doublelengthThe length of the rectangle.

WARNING

If width or length ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20); // Creates a 10x20 rectangle

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var area = rectangle.Area;
+// area = 150

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var perimeter = rectangle.Perimeter;
+// perimeter = 50

Diagonal

Definition

c#
public double Diagonal { get; }

The Diagonal property is a double which returns the length of the diagonal of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 15);
+
+var diagonal = rectangle.Diagonal;
+// diagonal = 18.027756377319946

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20);
+
+var width = rectangle.Width;
+// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Rectangle rectangle = new(10, 20);
+
+var length = rectangle.Length;
+// length = 20
`,45)]))}const g=s(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_rectangle.md.9Vvt-jZg.js b/docs/assets/core_maths_geometry_rectangle.md.9Vvt-jZg.js deleted file mode 100644 index 9d65f3ad..00000000 --- a/docs/assets/core_maths_geometry_rectangle.md.9Vvt-jZg.js +++ /dev/null @@ -1,28 +0,0 @@ -import{_ as s,o as i,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Rectangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/rectangle.md","filePath":"core/maths/geometry/rectangle.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/rectangle.md"},n=e(`

Rectangle

This page is about the Rectangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Rectangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Rectangle(width, length)

Definition

Initializes a Rectangle class from a specific length and width.

Arguments

TypeNameMeaning
doublewidthThe width of the rectangle.
doublelengthThe length of the rectangle.

WARNING

If width or length ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Rectangle rectangle = new(10, 20); // Creates a 10x20 rectangle

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Rectangle rectangle = new(10, 15);
-
-var area = rectangle.Area;
-// area = 150

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Rectangle rectangle = new(10, 15);
-
-var perimeter = rectangle.Perimeter;
-// perimeter = 50

Diagonal

Definition

c#
public double Diagonal { get; }

The Diagonal property is a double which returns the length of the diagonal of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Rectangle rectangle = new(10, 15);
-
-var diagonal = rectangle.Diagonal;
-// diagonal = 18.027756377319946

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Rectangle rectangle = new(10, 20);
-
-var width = rectangle.Width;
-// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Rectangle rectangle = new(10, 20);
-
-var length = rectangle.Length;
-// length = 20
`,45),h=[n];function l(p,r,k,d,o,c){return i(),a("div",null,h)}const E=s(t,[["render",l]]);export{y as __pageData,E as default}; diff --git a/docs/assets/core_maths_geometry_rectangle.md.9Vvt-jZg.lean.js b/docs/assets/core_maths_geometry_rectangle.md.9Vvt-jZg.lean.js deleted file mode 100644 index 2fe935b0..00000000 --- a/docs/assets/core_maths_geometry_rectangle.md.9Vvt-jZg.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Rectangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/rectangle.md","filePath":"core/maths/geometry/rectangle.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/rectangle.md"},n=e("",45),h=[n];function l(p,r,k,d,o,c){return i(),a("div",null,h)}const E=s(t,[["render",l]]);export{y as __pageData,E as default}; diff --git a/docs/assets/core_maths_geometry_sphere.md.B9o406VY.js b/docs/assets/core_maths_geometry_sphere.md.B9o406VY.js new file mode 100644 index 00000000..c68ad710 --- /dev/null +++ b/docs/assets/core_maths_geometry_sphere.md.B9o406VY.js @@ -0,0 +1,18 @@ +import{_ as i,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Sphere","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/sphere.md","filePath":"core/maths/geometry/sphere.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/sphere.md"};function n(l,s,p,r,d,k){return t(),a("div",null,s[0]||(s[0]=[e(`

Sphere

This page is about the Sphere class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Sphere class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Sphere(radius)

Definition

Initializes a Sphere class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the sphere.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10); // Creates a sphere with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var area = sphere.Area;
+// area = 1256.6370614359173

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var volume = sphere.Volume;
+// volume = 2356.194490192345

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the sphere, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var radius = sphere.Radius;
+// radius = 10
`,33)]))}const g=i(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_sphere.md.B9o406VY.lean.js b/docs/assets/core_maths_geometry_sphere.md.B9o406VY.lean.js new file mode 100644 index 00000000..c68ad710 --- /dev/null +++ b/docs/assets/core_maths_geometry_sphere.md.B9o406VY.lean.js @@ -0,0 +1,18 @@ +import{_ as i,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Sphere","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/sphere.md","filePath":"core/maths/geometry/sphere.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/sphere.md"};function n(l,s,p,r,d,k){return t(),a("div",null,s[0]||(s[0]=[e(`

Sphere

This page is about the Sphere class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Sphere class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Sphere(radius)

Definition

Initializes a Sphere class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the sphere.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10); // Creates a sphere with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var area = sphere.Area;
+// area = 1256.6370614359173

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var volume = sphere.Volume;
+// volume = 2356.194490192345

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the sphere, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Sphere sphere = new(10);
+
+var radius = sphere.Radius;
+// radius = 10
`,33)]))}const g=i(h,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_geometry_sphere.md.ldOpJYob.js b/docs/assets/core_maths_geometry_sphere.md.ldOpJYob.js deleted file mode 100644 index b3223426..00000000 --- a/docs/assets/core_maths_geometry_sphere.md.ldOpJYob.js +++ /dev/null @@ -1,18 +0,0 @@ -import{_ as s,o as i,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Sphere","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/sphere.md","filePath":"core/maths/geometry/sphere.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/sphere.md"},h=e(`

Sphere

This page is about the Sphere class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Sphere class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Sphere(radius)

Definition

Initializes a Sphere class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the sphere.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Sphere sphere = new(10); // Creates a sphere with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Sphere sphere = new(10);
-
-var area = sphere.Area;
-// area = 1256.6370614359173

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Sphere sphere = new(10);
-
-var volume = sphere.Volume;
-// volume = 2356.194490192345

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the sphere, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
-
-Sphere sphere = new(10);
-
-var radius = sphere.Radius;
-// radius = 10
`,33),n=[h];function l(p,r,d,k,o,c){return i(),a("div",null,n)}const y=s(t,[["render",l]]);export{u as __pageData,y as default}; diff --git a/docs/assets/core_maths_geometry_sphere.md.ldOpJYob.lean.js b/docs/assets/core_maths_geometry_sphere.md.ldOpJYob.lean.js deleted file mode 100644 index 516de172..00000000 --- a/docs/assets/core_maths_geometry_sphere.md.ldOpJYob.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Sphere","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/sphere.md","filePath":"core/maths/geometry/sphere.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/sphere.md"},h=e("",33),n=[h];function l(p,r,d,k,o,c){return i(),a("div",null,n)}const y=s(t,[["render",l]]);export{u as __pageData,y as default}; diff --git a/docs/assets/core_maths_geometry_triangle.md.MD1JVnKd.js b/docs/assets/core_maths_geometry_triangle.md.D9mNJpQf.js similarity index 53% rename from docs/assets/core_maths_geometry_triangle.md.MD1JVnKd.js rename to docs/assets/core_maths_geometry_triangle.md.D9mNJpQf.js index 82e0b6c9..db9f3e9e 100644 --- a/docs/assets/core_maths_geometry_triangle.md.MD1JVnKd.js +++ b/docs/assets/core_maths_geometry_triangle.md.D9mNJpQf.js @@ -1,56 +1,56 @@ -import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"Triangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/triangle.md","filePath":"core/maths/geometry/triangle.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/triangle.md"},h=e(`

Triangle

This page is about the Triangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Triangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Triangle(side1, side2, side3)

Definition

Initializes a Triangle class from the length of its sides.

Arguments

TypeNameMeaning
doubleside1The length of the first side of the triangle.
doubleside2The length of the second side of the triangle.
doubleside3The length of the third side of the triangle.

WARNING

If side1, side2, or side3 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const g=JSON.parse('{"title":"Triangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/triangle.md","filePath":"core/maths/geometry/triangle.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/triangle.md"};function n(l,i,p,k,d,r){return t(),a("div",null,i[0]||(i[0]=[e(`

Triangle

This page is about the Triangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Triangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Triangle(side1, side2, side3)

Definition

Initializes a Triangle class from the length of its sides.

Arguments

TypeNameMeaning
doubleside1The length of the first side of the triangle.
doubleside2The length of the second side of the triangle.
doubleside3The length of the third side of the triangle.

WARNING

If side1, side2, or side3 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 20, 10); // Creates a triangle

Triangle(width, height)

Definition

Initializes a Triangle class from a width and height.

Arguments

TypeNameMeaning
doublewidthThe width of the triangle.
doubleheightThe height of the triangle.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Triangle triangle = new(10, 20, 10); // Creates a triangle

Triangle(width, height)

Definition

Initializes a Triangle class from a width and height.

Arguments

TypeNameMeaning
doublewidthThe width of the triangle.
doubleheightThe height of the triangle.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 20); // Creates a triangle with a width of 10 and a height of 20

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Triangle triangle = new(10, 20); // Creates a triangle with a width of 10 and a height of 20

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 20);
 
 var area = triangle.Area;
-// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 10, 20);
 
 var perimeter = triangle.Perimeter;
-// perimeter = 40

Hypotenuse

Definition

c#
public double Hypotenuse { get; }

The Hypotenuse property is a double which returns the hypotenuse of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// perimeter = 40

Hypotenuse

Definition

c#
public double Hypotenuse { get; }

The Hypotenuse property is a double which returns the hypotenuse of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 // Assuming the triangle is right
 Triangle triangle = new(3, 4, 5);
 
 var hypotenuse = triangle.Hypotenuse;
-// hypotenuse = 5

IsRight

Definition

c#
public bool IsRight { get; }

The IsRight property is a bool which returns true if the triangle is right. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// hypotenuse = 5

IsRight

Definition

c#
public bool IsRight { get; }

The IsRight property is a bool which returns true if the triangle is right. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(3, 4, 5);
 
 var right = triangle.IsRight;
-// right = true

CanBeBuilt

Definition

c#
public bool CanBeBuilt { get; }

The CanBeBuilt property is a bool which returns true if the triangle can be built. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// right = true

CanBeBuilt

Definition

c#
public bool CanBeBuilt { get; }

The CanBeBuilt property is a bool which returns true if the triangle can be built. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(3, 4, 10);
 
 var canBeBuilt = triangle.CanBeBuilt;
-// canBeBuilt = false

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// canBeBuilt = false

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 20);
 
 var width = triangle.Width;
-// width = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// width = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 20);
 
 var height = triangle.Height;
-// height = 20

Side1

Definition

c#
public double Side1 { get; init; }

The Side1 property is a double which returns the length of the first side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// height = 20

Side1

Definition

c#
public double Side1 { get; init; }

The Side1 property is a double which returns the length of the first side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 20, 15);
 
 var side1 = triangle.Side1;
-// side1 = 10

Side2

Definition

c#
public double Side2 { get; init; }

The Side2 property is a double which returns the length of the second side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// side1 = 10

Side2

Definition

c#
public double Side2 { get; init; }

The Side2 property is a double which returns the length of the second side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 20, 15);
 
 var side2 = triangle.Side2;
-// side2 = 20

Side3

Definition

c#
public double Side3 { get; init; }

The Side3 property is a double which returns the length of the third side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// side2 = 20

Side3

Definition

c#
public double Side3 { get; init; }

The Side3 property is a double which returns the length of the third side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 20, 15);
 
 var side3 = triangle.Side3;
-// side3 = 15
`,87),n=[h];function l(p,k,d,r,o,g){return s(),a("div",null,n)}const y=i(t,[["render",l]]);export{E as __pageData,y as default}; +// side3 = 15
`,87)]))}const c=s(h,[["render",n]]);export{g as __pageData,c as default}; diff --git a/docs/assets/core_maths_geometry_triangle.md.D9mNJpQf.lean.js b/docs/assets/core_maths_geometry_triangle.md.D9mNJpQf.lean.js new file mode 100644 index 00000000..db9f3e9e --- /dev/null +++ b/docs/assets/core_maths_geometry_triangle.md.D9mNJpQf.lean.js @@ -0,0 +1,56 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const g=JSON.parse('{"title":"Triangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/triangle.md","filePath":"core/maths/geometry/triangle.md","lastUpdated":1700306874000}'),h={name:"core/maths/geometry/triangle.md"};function n(l,i,p,k,d,r){return t(),a("div",null,i[0]||(i[0]=[e(`

Triangle

This page is about the Triangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Triangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Triangle(side1, side2, side3)

Definition

Initializes a Triangle class from the length of its sides.

Arguments

TypeNameMeaning
doubleside1The length of the first side of the triangle.
doubleside2The length of the second side of the triangle.
doubleside3The length of the third side of the triangle.

WARNING

If side1, side2, or side3 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 10); // Creates a triangle

Triangle(width, height)

Definition

Initializes a Triangle class from a width and height.

Arguments

TypeNameMeaning
doublewidthThe width of the triangle.
doubleheightThe height of the triangle.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20); // Creates a triangle with a width of 10 and a height of 20

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var area = triangle.Area;
+// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 10, 20);
+
+var perimeter = triangle.Perimeter;
+// perimeter = 40

Hypotenuse

Definition

c#
public double Hypotenuse { get; }

The Hypotenuse property is a double which returns the hypotenuse of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+// Assuming the triangle is right
+Triangle triangle = new(3, 4, 5);
+
+var hypotenuse = triangle.Hypotenuse;
+// hypotenuse = 5

IsRight

Definition

c#
public bool IsRight { get; }

The IsRight property is a bool which returns true if the triangle is right. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(3, 4, 5);
+
+var right = triangle.IsRight;
+// right = true

CanBeBuilt

Definition

c#
public bool CanBeBuilt { get; }

The CanBeBuilt property is a bool which returns true if the triangle can be built. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(3, 4, 10);
+
+var canBeBuilt = triangle.CanBeBuilt;
+// canBeBuilt = false

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var width = triangle.Width;
+// width = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20);
+
+var height = triangle.Height;
+// height = 20

Side1

Definition

c#
public double Side1 { get; init; }

The Side1 property is a double which returns the length of the first side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side1 = triangle.Side1;
+// side1 = 10

Side2

Definition

c#
public double Side2 { get; init; }

The Side2 property is a double which returns the length of the second side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side2 = triangle.Side2;
+// side2 = 20

Side3

Definition

c#
public double Side3 { get; init; }

The Side3 property is a double which returns the length of the third side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+
+Triangle triangle = new(10, 20, 15);
+
+var side3 = triangle.Side3;
+// side3 = 15
`,87)]))}const c=s(h,[["render",n]]);export{g as __pageData,c as default}; diff --git a/docs/assets/core_maths_geometry_triangle.md.MD1JVnKd.lean.js b/docs/assets/core_maths_geometry_triangle.md.MD1JVnKd.lean.js deleted file mode 100644 index 4b06a346..00000000 --- a/docs/assets/core_maths_geometry_triangle.md.MD1JVnKd.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"Triangle","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/geometry/triangle.md","filePath":"core/maths/geometry/triangle.md","lastUpdated":1700306874000}'),t={name:"core/maths/geometry/triangle.md"},h=e("",87),n=[h];function l(p,k,d,r,o,g){return s(),a("div",null,n)}const y=i(t,[["render",l]]);export{E as __pageData,y as default}; diff --git a/docs/assets/core_maths_percentages.md.8cN9i0Qt.js b/docs/assets/core_maths_percentages.md.8cN9i0Qt.js deleted file mode 100644 index 7a8cfebe..00000000 --- a/docs/assets/core_maths_percentages.md.8cN9i0Qt.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as a,o as e,c as s,R as i}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Percentages","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/percentages.md","filePath":"core/maths/percentages.md","lastUpdated":1700306874000}'),t={name:"core/maths/percentages.md"},n=i(`

Percentages

This page is about the Percentages class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Percentages class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

IncreaseBy(value, increaseRate)

Definition

Returns the value after an increase of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubleincreaseRateThe increase percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
-
-double price = Percentages.IncreaseBy(100, 10/100d); // Increase the price by 10%
-// price = 110

DecreaseBy(value, decreaseRate)

Definition

Returns the value after a decrease of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubledecreaseRateThe decrease percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
-
-double price = Percentages.DecreaseBy(100, 10/100d); // Decrease the price by 10%
-// price = 90

GetInvertedEvolutionRate(evolutionRate)

Definition

Gets the coefficient to get back to the original value after a percentage increase/decrease. It returns a double.

Arguments

TypeNameMeaning
doubleevolutionRateThe evolution rate to get the inverse of.

Usage

c#
using PeyrSharp.Core.Maths;
-
-double ev = Percentages.GetInvertedEvolutionRate(1.1);
-// ev = -0.09090909090909094

ProportionToPercentageString(proportion)

Definition

Formats a proportion to a string.

Arguments

TypeNameMeaning
doubleproportionThe proportion to get the percentage of.

Usage

c#
using PeyrSharp.Core.Maths;
-
-double proportion = Percentages.ProportionToPercentageString(0.5);
-// proportion = 50%
`,35),h=[n];function r(l,d,o,p,k,c){return e(),s("div",null,h)}const y=a(t,[["render",r]]);export{u as __pageData,y as default}; diff --git a/docs/assets/core_maths_percentages.md.8cN9i0Qt.lean.js b/docs/assets/core_maths_percentages.md.8cN9i0Qt.lean.js deleted file mode 100644 index b9d10207..00000000 --- a/docs/assets/core_maths_percentages.md.8cN9i0Qt.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as e,c as s,R as i}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Percentages","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/percentages.md","filePath":"core/maths/percentages.md","lastUpdated":1700306874000}'),t={name:"core/maths/percentages.md"},n=i("",35),h=[n];function r(l,d,o,p,k,c){return e(),s("div",null,h)}const y=a(t,[["render",r]]);export{u as __pageData,y as default}; diff --git a/docs/assets/core_maths_percentages.md.BFidtkIV.js b/docs/assets/core_maths_percentages.md.BFidtkIV.js new file mode 100644 index 00000000..f5eacd35 --- /dev/null +++ b/docs/assets/core_maths_percentages.md.BFidtkIV.js @@ -0,0 +1,13 @@ +import{_ as e,c as s,a2 as i,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Percentages","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/percentages.md","filePath":"core/maths/percentages.md","lastUpdated":1700306874000}'),n={name:"core/maths/percentages.md"};function h(r,a,l,d,o,p){return t(),s("div",null,a[0]||(a[0]=[i(`

Percentages

This page is about the Percentages class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Percentages class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

IncreaseBy(value, increaseRate)

Definition

Returns the value after an increase of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubleincreaseRateThe increase percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
+
+double price = Percentages.IncreaseBy(100, 10/100d); // Increase the price by 10%
+// price = 110

DecreaseBy(value, decreaseRate)

Definition

Returns the value after a decrease of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubledecreaseRateThe decrease percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
+
+double price = Percentages.DecreaseBy(100, 10/100d); // Decrease the price by 10%
+// price = 90

GetInvertedEvolutionRate(evolutionRate)

Definition

Gets the coefficient to get back to the original value after a percentage increase/decrease. It returns a double.

Arguments

TypeNameMeaning
doubleevolutionRateThe evolution rate to get the inverse of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double ev = Percentages.GetInvertedEvolutionRate(1.1);
+// ev = -0.09090909090909094

ProportionToPercentageString(proportion)

Definition

Formats a proportion to a string.

Arguments

TypeNameMeaning
doubleproportionThe proportion to get the percentage of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double proportion = Percentages.ProportionToPercentageString(0.5);
+// proportion = 50%
`,35)]))}const g=e(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_percentages.md.BFidtkIV.lean.js b/docs/assets/core_maths_percentages.md.BFidtkIV.lean.js new file mode 100644 index 00000000..f5eacd35 --- /dev/null +++ b/docs/assets/core_maths_percentages.md.BFidtkIV.lean.js @@ -0,0 +1,13 @@ +import{_ as e,c as s,a2 as i,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Percentages","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/percentages.md","filePath":"core/maths/percentages.md","lastUpdated":1700306874000}'),n={name:"core/maths/percentages.md"};function h(r,a,l,d,o,p){return t(),s("div",null,a[0]||(a[0]=[i(`

Percentages

This page is about the Percentages class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Percentages class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

IncreaseBy(value, increaseRate)

Definition

Returns the value after an increase of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubleincreaseRateThe increase percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
+
+double price = Percentages.IncreaseBy(100, 10/100d); // Increase the price by 10%
+// price = 110

DecreaseBy(value, decreaseRate)

Definition

Returns the value after a decrease of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubledecreaseRateThe decrease percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
+
+double price = Percentages.DecreaseBy(100, 10/100d); // Decrease the price by 10%
+// price = 90

GetInvertedEvolutionRate(evolutionRate)

Definition

Gets the coefficient to get back to the original value after a percentage increase/decrease. It returns a double.

Arguments

TypeNameMeaning
doubleevolutionRateThe evolution rate to get the inverse of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double ev = Percentages.GetInvertedEvolutionRate(1.1);
+// ev = -0.09090909090909094

ProportionToPercentageString(proportion)

Definition

Formats a proportion to a string.

Arguments

TypeNameMeaning
doubleproportionThe proportion to get the percentage of.

Usage

c#
using PeyrSharp.Core.Maths;
+
+double proportion = Percentages.ProportionToPercentageString(0.5);
+// proportion = 50%
`,35)]))}const g=e(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_maths_proba.md.Dfs71kqv.js b/docs/assets/core_maths_proba.md.Dfs71kqv.js new file mode 100644 index 00000000..8afb2919 --- /dev/null +++ b/docs/assets/core_maths_proba.md.Dfs71kqv.js @@ -0,0 +1,9 @@ +import{_ as i,c as s,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Proba","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/proba.md","filePath":"core/maths/proba.md","lastUpdated":1700306874000}'),h={name:"core/maths/proba.md"};function n(l,a,r,o,d,p){return e(),s("div",null,a[0]||(a[0]=[t(`

Proba

This page is about the Proba class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Proba class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GetRandomValue(probabilities)

Definition

Gets a random value based on the specified probabilities. Returns a randomly selected value.

Type parameters

TypeNameMeaning
T-The type of the values to select from.

Parameters

TypeNameMeaning
Dictionary<T, double>probabilitiesA dictionary containing the probability of getting each value.

Exceptions

  • ArgumentException: Thrown if the sum of probabilities is not equal to 1.
  • Exception: Thrown if an unexpected error occurs while selecting a random value.

Usage

c#
using PeyrSharp.Core.Maths;
+
+Dictionary<string, double> probabilities = new Dictionary<string, double>
+{
+    { "Heads", 0.5 },
+    { "Tails", 0.5 }
+};
+
+string result = Proba.GetRandomValue(probabilities);
`,18)]))}const E=i(h,[["render",n]]);export{c as __pageData,E as default}; diff --git a/docs/assets/core_maths_proba.md.Dfs71kqv.lean.js b/docs/assets/core_maths_proba.md.Dfs71kqv.lean.js new file mode 100644 index 00000000..8afb2919 --- /dev/null +++ b/docs/assets/core_maths_proba.md.Dfs71kqv.lean.js @@ -0,0 +1,9 @@ +import{_ as i,c as s,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Proba","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/proba.md","filePath":"core/maths/proba.md","lastUpdated":1700306874000}'),h={name:"core/maths/proba.md"};function n(l,a,r,o,d,p){return e(),s("div",null,a[0]||(a[0]=[t(`

Proba

This page is about the Proba class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Proba class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GetRandomValue(probabilities)

Definition

Gets a random value based on the specified probabilities. Returns a randomly selected value.

Type parameters

TypeNameMeaning
T-The type of the values to select from.

Parameters

TypeNameMeaning
Dictionary<T, double>probabilitiesA dictionary containing the probability of getting each value.

Exceptions

  • ArgumentException: Thrown if the sum of probabilities is not equal to 1.
  • Exception: Thrown if an unexpected error occurs while selecting a random value.

Usage

c#
using PeyrSharp.Core.Maths;
+
+Dictionary<string, double> probabilities = new Dictionary<string, double>
+{
+    { "Heads", 0.5 },
+    { "Tails", 0.5 }
+};
+
+string result = Proba.GetRandomValue(probabilities);
`,18)]))}const E=i(h,[["render",n]]);export{c as __pageData,E as default}; diff --git a/docs/assets/core_maths_proba.md.HbfZ0Wa_.js b/docs/assets/core_maths_proba.md.HbfZ0Wa_.js deleted file mode 100644 index b3eeeaa3..00000000 --- a/docs/assets/core_maths_proba.md.HbfZ0Wa_.js +++ /dev/null @@ -1,9 +0,0 @@ -import{_ as a,o as i,c as s,R as t}from"./chunks/framework.q7IuVqhY.js";const b=JSON.parse('{"title":"Proba","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/proba.md","filePath":"core/maths/proba.md","lastUpdated":1700306874000}'),e={name:"core/maths/proba.md"},h=t(`

Proba

This page is about the Proba class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Proba class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GetRandomValue(probabilities)

Definition

Gets a random value based on the specified probabilities. Returns a randomly selected value.

Type parameters

TypeNameMeaning
T-The type of the values to select from.

Parameters

TypeNameMeaning
Dictionary<T, double>probabilitiesA dictionary containing the probability of getting each value.

Exceptions

  • ArgumentException: Thrown if the sum of probabilities is not equal to 1.
  • Exception: Thrown if an unexpected error occurs while selecting a random value.

Usage

c#
using PeyrSharp.Core.Maths;
-
-Dictionary<string, double> probabilities = new Dictionary<string, double>
-{
-    { "Heads", 0.5 },
-    { "Tails", 0.5 }
-};
-
-string result = Proba.GetRandomValue(probabilities);
`,18),n=[h];function l(r,o,d,p,k,c){return i(),s("div",null,n)}const g=a(e,[["render",l]]);export{b as __pageData,g as default}; diff --git a/docs/assets/core_maths_proba.md.HbfZ0Wa_.lean.js b/docs/assets/core_maths_proba.md.HbfZ0Wa_.lean.js deleted file mode 100644 index fb66c187..00000000 --- a/docs/assets/core_maths_proba.md.HbfZ0Wa_.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as i,c as s,R as t}from"./chunks/framework.q7IuVqhY.js";const b=JSON.parse('{"title":"Proba","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/proba.md","filePath":"core/maths/proba.md","lastUpdated":1700306874000}'),e={name:"core/maths/proba.md"},h=t("",18),n=[h];function l(r,o,d,p,k,c){return i(),s("div",null,n)}const g=a(e,[["render",l]]);export{b as __pageData,g as default}; diff --git a/docs/assets/core_maths_stats.md.YOmCw36T.js b/docs/assets/core_maths_stats.md.DfcopivY.js similarity index 60% rename from docs/assets/core_maths_stats.md.YOmCw36T.js rename to docs/assets/core_maths_stats.md.DfcopivY.js index 7e78100f..828535d8 100644 --- a/docs/assets/core_maths_stats.md.YOmCw36T.js +++ b/docs/assets/core_maths_stats.md.DfcopivY.js @@ -1,25 +1,25 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=JSON.parse('{"title":"Stats","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/stats.md","filePath":"core/maths/stats.md","lastUpdated":1700306874000}'),e={name:"core/maths/stats.md"},h=t(`

Stats

This page is about the Stats class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Stats class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Mean(values)

Definition

Returns the mean of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const g=JSON.parse('{"title":"Stats","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/stats.md","filePath":"core/maths/stats.md","lastUpdated":1700306874000}'),h={name:"core/maths/stats.md"};function n(l,s,d,k,p,r){return e(),a("div",null,s[0]||(s[0]=[t(`

Stats

This page is about the Stats class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Stats class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Mean(values)

Definition

Returns the mean of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
 List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
 double mean = Stats.Mean(dataset); // Calculate the mean of the dataset
-// mean = 3

Median(values)

Definition

Returns the median of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+// mean = 3

Median(values)

Definition

Returns the median of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
 List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
 double median = Stats.Median(dataset); // Calculate the median of the dataset
-// median = 3

Mode(values)

Definition

Returns the mode of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+// median = 3

Mode(values)

Definition

Returns the mode of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
 List<double> dataset = new List<double> { 1, 2, 3, 3, 3, 4, 5 };
 double mode = Stats.Mode(dataset); // Calculate the mode of the dataset
-// mode = 3

Range(numbers)

Definition

Calculates the range of a list of double numbers.

Arguments

TypeNameMeaning
List<double>numbersThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Returns

double - The range of the list of double numbers.

Usage

c#
using PeyrSharp.Core.Maths;
+// mode = 3

Range(numbers)

Definition

Calculates the range of a list of double numbers.

Arguments

TypeNameMeaning
List<double>numbersThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Returns

double - The range of the list of double numbers.

Usage

c#
using PeyrSharp.Core.Maths;
 
 List<double> numbers = new List<double> { 1.5, 2.6, 3.7, 4.8, 5.9 };
 double range = Stats.Range(numbers); // Calculate the range of the list of numbers
-// range = 4.4

Variance(values)

Definition

Calculates the sample variance of a list of double values. Returns the sample variance of the list of double values as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double values.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
+// range = 4.4

Variance(values)

Definition

Calculates the sample variance of a list of double values. Returns the sample variance of the list of double values as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double values.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
 List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
 double variance = Stats.Variance(dataset); // Calculate the variance of the dataset
-// variance = 2.5

StandardDeviation(values)

Definition

Calculates the standard deviation of a list of double numbers. Returns the standard deviation of the list of double numbers as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
+// variance = 2.5

StandardDeviation(values)

Definition

Calculates the standard deviation of a list of double numbers. Returns the standard deviation of the list of double numbers as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
 List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
 double sd = Stats.StandardDeviation(dataset); // Calculate the standard deviation of the dataset
-// sd = 1.5811388300841898
`,63),n=[h];function l(k,d,p,r,o,g){return i(),a("div",null,n)}const y=s(e,[["render",l]]);export{c as __pageData,y as default}; +// sd = 1.5811388300841898
`,63)]))}const E=i(h,[["render",n]]);export{g as __pageData,E as default}; diff --git a/docs/assets/core_maths_stats.md.DfcopivY.lean.js b/docs/assets/core_maths_stats.md.DfcopivY.lean.js new file mode 100644 index 00000000..828535d8 --- /dev/null +++ b/docs/assets/core_maths_stats.md.DfcopivY.lean.js @@ -0,0 +1,25 @@ +import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const g=JSON.parse('{"title":"Stats","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/stats.md","filePath":"core/maths/stats.md","lastUpdated":1700306874000}'),h={name:"core/maths/stats.md"};function n(l,s,d,k,p,r){return e(),a("div",null,s[0]||(s[0]=[t(`

Stats

This page is about the Stats class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Stats class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Mean(values)

Definition

Returns the mean of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double mean = Stats.Mean(dataset); // Calculate the mean of the dataset
+// mean = 3

Median(values)

Definition

Returns the median of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double median = Stats.Median(dataset); // Calculate the median of the dataset
+// median = 3

Mode(values)

Definition

Returns the mode of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 3, 3, 4, 5 };
+double mode = Stats.Mode(dataset); // Calculate the mode of the dataset
+// mode = 3

Range(numbers)

Definition

Calculates the range of a list of double numbers.

Arguments

TypeNameMeaning
List<double>numbersThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Returns

double - The range of the list of double numbers.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> numbers = new List<double> { 1.5, 2.6, 3.7, 4.8, 5.9 };
+double range = Stats.Range(numbers); // Calculate the range of the list of numbers
+// range = 4.4

Variance(values)

Definition

Calculates the sample variance of a list of double values. Returns the sample variance of the list of double values as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double values.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double variance = Stats.Variance(dataset); // Calculate the variance of the dataset
+// variance = 2.5

StandardDeviation(values)

Definition

Calculates the standard deviation of a list of double numbers. Returns the standard deviation of the list of double numbers as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
+
+List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
+double sd = Stats.StandardDeviation(dataset); // Calculate the standard deviation of the dataset
+// sd = 1.5811388300841898
`,63)]))}const E=i(h,[["render",n]]);export{g as __pageData,E as default}; diff --git a/docs/assets/core_maths_stats.md.YOmCw36T.lean.js b/docs/assets/core_maths_stats.md.YOmCw36T.lean.js deleted file mode 100644 index 5098b231..00000000 --- a/docs/assets/core_maths_stats.md.YOmCw36T.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=JSON.parse('{"title":"Stats","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/stats.md","filePath":"core/maths/stats.md","lastUpdated":1700306874000}'),e={name:"core/maths/stats.md"},h=t("",63),n=[h];function l(k,d,p,r,o,g){return i(),a("div",null,n)}const y=s(e,[["render",l]]);export{c as __pageData,y as default}; diff --git a/docs/assets/core_maths_trigonometry.md.5c5jKXcf.js b/docs/assets/core_maths_trigonometry.md.5c5jKXcf.js deleted file mode 100644 index 107413ac..00000000 --- a/docs/assets/core_maths_trigonometry.md.5c5jKXcf.js +++ /dev/null @@ -1,13 +0,0 @@ -import{_ as e,o as i,c as a,R as s}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Trigonometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/trigonometry.md","filePath":"core/maths/trigonometry.md","lastUpdated":1700306874000}'),t={name:"core/maths/trigonometry.md"},n=s(`

Trigonometry

This page is about the Trigonometry class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Trigonometry class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GetOpposedSideFrom(triangleSide, angle, value)

Definition

Gets the length of the opposed side of a specific angle, from the length of either the hypotenuse or the adjacent side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Opposed, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
-using PeyrSharp.Enums;
-
-double opposed = Trigonometry.GetOpposedSideFrom(TriangleSides.Adjacent, 1.05, 5);
-// opposed = 8.716576549915851

GetAdjacentSideFrom(triangleSide, angle, value)

Definition

Gets the length of the adjacent side of a specific angle, from the length of either the hypotenuse or the opposed side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Adjacent, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
-using PeyrSharp.Enums;
-
-double adjacent = Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 1.05, 8.71);
-// adjacent = 4.996227561429541

GetHypotenuseFrom(triangleSide, angle, value)

Definition

Gets the length of the hypotenuse, from the length of either the adjacent side or the opposed side of a specific angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Hypotenuse, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
-using PeyrSharp.Enums;
-
-double hypotenuse = Trigonometry.GetHypotenuseFrom(TriangleSides.Opposed, 1.05, 8.71);
-// hypotenuse = 10.041234478169912
`,31),h=[n];function d(l,o,r,p,k,c){return i(),a("div",null,h)}const y=e(t,[["render",d]]);export{u as __pageData,y as default}; diff --git a/docs/assets/core_maths_trigonometry.md.5c5jKXcf.lean.js b/docs/assets/core_maths_trigonometry.md.5c5jKXcf.lean.js deleted file mode 100644 index 2f3603d8..00000000 --- a/docs/assets/core_maths_trigonometry.md.5c5jKXcf.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as i,c as a,R as s}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Trigonometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/trigonometry.md","filePath":"core/maths/trigonometry.md","lastUpdated":1700306874000}'),t={name:"core/maths/trigonometry.md"},n=s("",31),h=[n];function d(l,o,r,p,k,c){return i(),a("div",null,h)}const y=e(t,[["render",d]]);export{u as __pageData,y as default}; diff --git a/docs/assets/core_maths_trigonometry.md.DTBQgTEn.js b/docs/assets/core_maths_trigonometry.md.DTBQgTEn.js new file mode 100644 index 00000000..49acf214 --- /dev/null +++ b/docs/assets/core_maths_trigonometry.md.DTBQgTEn.js @@ -0,0 +1,13 @@ +import{_ as i,c as a,a2 as s,o as t}from"./chunks/framework.CdbxnhrM.js";const g=JSON.parse('{"title":"Trigonometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/trigonometry.md","filePath":"core/maths/trigonometry.md","lastUpdated":1700306874000}'),n={name:"core/maths/trigonometry.md"};function h(d,e,l,o,r,p){return t(),a("div",null,e[0]||(e[0]=[s(`

Trigonometry

This page is about the Trigonometry class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Trigonometry class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GetOpposedSideFrom(triangleSide, angle, value)

Definition

Gets the length of the opposed side of a specific angle, from the length of either the hypotenuse or the adjacent side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Opposed, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double opposed = Trigonometry.GetOpposedSideFrom(TriangleSides.Adjacent, 1.05, 5);
+// opposed = 8.716576549915851

GetAdjacentSideFrom(triangleSide, angle, value)

Definition

Gets the length of the adjacent side of a specific angle, from the length of either the hypotenuse or the opposed side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Adjacent, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double adjacent = Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 1.05, 8.71);
+// adjacent = 4.996227561429541

GetHypotenuseFrom(triangleSide, angle, value)

Definition

Gets the length of the hypotenuse, from the length of either the adjacent side or the opposed side of a specific angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Hypotenuse, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double hypotenuse = Trigonometry.GetHypotenuseFrom(TriangleSides.Opposed, 1.05, 8.71);
+// hypotenuse = 10.041234478169912
`,31)]))}const c=i(n,[["render",h]]);export{g as __pageData,c as default}; diff --git a/docs/assets/core_maths_trigonometry.md.DTBQgTEn.lean.js b/docs/assets/core_maths_trigonometry.md.DTBQgTEn.lean.js new file mode 100644 index 00000000..49acf214 --- /dev/null +++ b/docs/assets/core_maths_trigonometry.md.DTBQgTEn.lean.js @@ -0,0 +1,13 @@ +import{_ as i,c as a,a2 as s,o as t}from"./chunks/framework.CdbxnhrM.js";const g=JSON.parse('{"title":"Trigonometry","description":"","frontmatter":{},"headers":[],"relativePath":"core/maths/trigonometry.md","filePath":"core/maths/trigonometry.md","lastUpdated":1700306874000}'),n={name:"core/maths/trigonometry.md"};function h(d,e,l,o,r,p){return t(),a("div",null,e[0]||(e[0]=[s(`

Trigonometry

This page is about the Trigonometry class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Trigonometry class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GetOpposedSideFrom(triangleSide, angle, value)

Definition

Gets the length of the opposed side of a specific angle, from the length of either the hypotenuse or the adjacent side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Opposed, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double opposed = Trigonometry.GetOpposedSideFrom(TriangleSides.Adjacent, 1.05, 5);
+// opposed = 8.716576549915851

GetAdjacentSideFrom(triangleSide, angle, value)

Definition

Gets the length of the adjacent side of a specific angle, from the length of either the hypotenuse or the opposed side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Adjacent, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double adjacent = Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 1.05, 8.71);
+// adjacent = 4.996227561429541

GetHypotenuseFrom(triangleSide, angle, value)

Definition

Gets the length of the hypotenuse, from the length of either the adjacent side or the opposed side of a specific angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Hypotenuse, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+using PeyrSharp.Enums;
+
+double hypotenuse = Trigonometry.GetHypotenuseFrom(TriangleSides.Opposed, 1.05, 8.71);
+// hypotenuse = 10.041234478169912
`,31)]))}const c=i(n,[["render",h]]);export{g as __pageData,c as default}; diff --git a/docs/assets/core_password.md.LQsAddyw.lean.js b/docs/assets/core_password.md.LQsAddyw.lean.js deleted file mode 100644 index 91302dbb..00000000 --- a/docs/assets/core_password.md.LQsAddyw.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as i,R as t}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"Password","description":"","frontmatter":{},"headers":[],"relativePath":"core/password.md","filePath":"core/password.md","lastUpdated":1701609450000}'),e={name:"core/password.md"},n=t("",46),h=[n];function r(l,d,p,k,o,c){return a(),i("div",null,h)}const y=s(e,[["render",r]]);export{E as __pageData,y as default}; diff --git a/docs/assets/core_password.md.LQsAddyw.js b/docs/assets/core_password.md.OZ-SzNUO.js similarity index 59% rename from docs/assets/core_password.md.LQsAddyw.js rename to docs/assets/core_password.md.OZ-SzNUO.js index 3b04086c..93593161 100644 --- a/docs/assets/core_password.md.LQsAddyw.js +++ b/docs/assets/core_password.md.OZ-SzNUO.js @@ -1,30 +1,30 @@ -import{_ as s,o as a,c as i,R as t}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"Password","description":"","frontmatter":{},"headers":[],"relativePath":"core/password.md","filePath":"core/password.md","lastUpdated":1701609450000}'),e={name:"core/password.md"},n=t(`

Password

This page is about the Password class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Password class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GenerateAsync(length, chars, separator)

Definition

The GenerateAsync() method generates a password of a specific length, with specific characters asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using PeyrSharp.Core;
+import{_ as a,c as i,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Password","description":"","frontmatter":{},"headers":[],"relativePath":"core/password.md","filePath":"core/password.md","lastUpdated":1701609450000}'),n={name:"core/password.md"};function h(r,s,l,d,p,k){return e(),i("div",null,s[0]||(s[0]=[t(`

Password

This page is about the Password class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Password class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GenerateAsync(length, chars, separator)

Definition

The GenerateAsync() method generates a password of a specific length, with specific characters asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using PeyrSharp.Core;
 
 private async void Main()
 {
     // Generate a password with 10 characters
     string password = await Password.GenerateAsync(10, "a,b,c,d,e,f,1,2,3,4,5", ",");
-}

GenerateAsync(length, chars)

Definition

Asynchronously generates a string of a specified length using a given set of characters.

Arguments

TypeNameMeaning
intlengthThe length of the string to generate.
string[]charsAn array of characters to use for generating the string.

Returns

A task that represents the asynchronous operation. The task result contains the generated string.

Exceptions

TypeCondition
ExceptionThrows an exception if the length parameter is not greater than 0.

Usage

c#
using PeyrSharp.Core;
+}

GenerateAsync(length, chars)

Definition

Asynchronously generates a string of a specified length using a given set of characters.

Arguments

TypeNameMeaning
intlengthThe length of the string to generate.
string[]charsAn array of characters to use for generating the string.

Returns

A task that represents the asynchronous operation. The task result contains the generated string.

Exceptions

TypeCondition
ExceptionThrows an exception if the length parameter is not greater than 0.

Usage

c#
using PeyrSharp.Core;
 private async void Main()
 {
     int length = 10;
     string[] chars = { "a", "b", "c" };
     string password = await Password.GenerateAsync(length, chars);
-}

GenerateAsync(length, passwordPresets)

Definition

The GenerateAsync() method generates a password of a specific length, with a specific PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using PeyrSharp.Core;
+}

GenerateAsync(length, passwordPresets)

Definition

The GenerateAsync() method generates a password of a specific length, with a specific PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using PeyrSharp.Core;
 using PeyrSharp.Enums;
 
 private async void Main()
 {
     // Generate a password with 10 characters, using the Complex preset
     string password = await Password.GenerateAsync(10, PasswordPresets.Complex);
-}

GenerateAsync(amount, length, chars, separator)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and characters asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using System.Collections.Generic;
+}

GenerateAsync(amount, length, chars, separator)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and characters asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using System.Collections.Generic;
 using PeyrSharp.Core;
 
 private async void Main()
 {
     // Generate 10 passwords with 10 characters
     List<string> passwords = await Password.GenerateAsync(10, 10, "a,b,c,d,e,f,1,2,3,4,5", ",");
-}

GenerateAsync(amount, length, passwordPresets)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using System.Collections.Generic;
+}

GenerateAsync(amount, length, passwordPresets)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using System.Collections.Generic;
 using PeyrSharp.Core;
 using PeyrSharp.Enums;
 
@@ -32,4 +32,4 @@ import{_ as s,o as a,c as i,R as t}from"./chunks/framework.q7IuVqhY.js";const E=
 {
     // Generate 10 passwords with 10 characters with the simple preset
     List<string> passwords = await Password.GenerateAsync(10, 10, PasswordPresets.Simple);
-}
`,46),h=[n];function r(l,d,p,k,o,c){return a(),i("div",null,h)}const y=s(e,[["render",r]]);export{E as __pageData,y as default}; +}
`,46)]))}const g=a(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_password.md.OZ-SzNUO.lean.js b/docs/assets/core_password.md.OZ-SzNUO.lean.js new file mode 100644 index 00000000..93593161 --- /dev/null +++ b/docs/assets/core_password.md.OZ-SzNUO.lean.js @@ -0,0 +1,35 @@ +import{_ as a,c as i,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Password","description":"","frontmatter":{},"headers":[],"relativePath":"core/password.md","filePath":"core/password.md","lastUpdated":1701609450000}'),n={name:"core/password.md"};function h(r,s,l,d,p,k){return e(),i("div",null,s[0]||(s[0]=[t(`

Password

This page is about the Password class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Password class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GenerateAsync(length, chars, separator)

Definition

The GenerateAsync() method generates a password of a specific length, with specific characters asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using PeyrSharp.Core;
+
+private async void Main()
+{
+    // Generate a password with 10 characters
+    string password = await Password.GenerateAsync(10, "a,b,c,d,e,f,1,2,3,4,5", ",");
+}

GenerateAsync(length, chars)

Definition

Asynchronously generates a string of a specified length using a given set of characters.

Arguments

TypeNameMeaning
intlengthThe length of the string to generate.
string[]charsAn array of characters to use for generating the string.

Returns

A task that represents the asynchronous operation. The task result contains the generated string.

Exceptions

TypeCondition
ExceptionThrows an exception if the length parameter is not greater than 0.

Usage

c#
using PeyrSharp.Core;
+private async void Main()
+{
+    int length = 10;
+    string[] chars = { "a", "b", "c" };
+    string password = await Password.GenerateAsync(length, chars);
+}

GenerateAsync(length, passwordPresets)

Definition

The GenerateAsync() method generates a password of a specific length, with a specific PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+private async void Main()
+{
+    // Generate a password with 10 characters, using the Complex preset
+    string password = await Password.GenerateAsync(10, PasswordPresets.Complex);
+}

GenerateAsync(amount, length, chars, separator)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and characters asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using System.Collections.Generic;
+using PeyrSharp.Core;
+
+private async void Main()
+{
+    // Generate 10 passwords with 10 characters
+    List<string> passwords = await Password.GenerateAsync(10, 10, "a,b,c,d,e,f,1,2,3,4,5", ",");
+}

GenerateAsync(amount, length, passwordPresets)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using System.Collections.Generic;
+using PeyrSharp.Core;
+using PeyrSharp.Enums;
+
+private async void Main()
+{
+    // Generate 10 passwords with 10 characters with the simple preset
+    List<string> passwords = await Password.GenerateAsync(10, 10, PasswordPresets.Simple);
+}
`,46)]))}const g=a(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/core_statusinfo.md.DDsRwCs4.js b/docs/assets/core_statusinfo.md.DDsRwCs4.js new file mode 100644 index 00000000..4ad0604f --- /dev/null +++ b/docs/assets/core_statusinfo.md.DDsRwCs4.js @@ -0,0 +1 @@ +import{_ as a,c as e,a2 as s,o as i}from"./chunks/framework.CdbxnhrM.js";const u=JSON.parse('{"title":"StatusInfo","description":"","frontmatter":{},"headers":[],"relativePath":"core/statusinfo.md","filePath":"core/statusinfo.md","lastUpdated":1700306874000}'),o={name:"core/statusinfo.md"};function n(r,t,d,h,l,c){return i(),e("div",null,t[0]||(t[0]=[s('

StatusInfo

This page is about the StatusInfo class available in PeyrSharp.Core. You can find here all of its methods.

Compatibility

The StatusInfo class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Properties

StatusCode

Definition

c#
public int StatusCode { get; set; }

Gets or sets the status code that indicates the outcome of the request.

StatusDescription

Definition

c#
public string StatusDescription { get; set; }

Gets or sets the status description that provides a human-readable message of the status code.

StatusType

Definition

c#
public StatusCodes StatusType { get; set; }

Gets or sets the status type that categorizes the status code into informational, success, redirection, client error, or server error. The StatusCodes is an enumeration representing the type of HTTP status codes that can be returned.

',18)]))}const f=a(o,[["render",n]]);export{u as __pageData,f as default}; diff --git a/docs/assets/core_statusinfo.md.DDsRwCs4.lean.js b/docs/assets/core_statusinfo.md.DDsRwCs4.lean.js new file mode 100644 index 00000000..4ad0604f --- /dev/null +++ b/docs/assets/core_statusinfo.md.DDsRwCs4.lean.js @@ -0,0 +1 @@ +import{_ as a,c as e,a2 as s,o as i}from"./chunks/framework.CdbxnhrM.js";const u=JSON.parse('{"title":"StatusInfo","description":"","frontmatter":{},"headers":[],"relativePath":"core/statusinfo.md","filePath":"core/statusinfo.md","lastUpdated":1700306874000}'),o={name:"core/statusinfo.md"};function n(r,t,d,h,l,c){return i(),e("div",null,t[0]||(t[0]=[s('

StatusInfo

This page is about the StatusInfo class available in PeyrSharp.Core. You can find here all of its methods.

Compatibility

The StatusInfo class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Properties

StatusCode

Definition

c#
public int StatusCode { get; set; }

Gets or sets the status code that indicates the outcome of the request.

StatusDescription

Definition

c#
public string StatusDescription { get; set; }

Gets or sets the status description that provides a human-readable message of the status code.

StatusType

Definition

c#
public StatusCodes StatusType { get; set; }

Gets or sets the status type that categorizes the status code into informational, success, redirection, client error, or server error. The StatusCodes is an enumeration representing the type of HTTP status codes that can be returned.

',18)]))}const f=a(o,[["render",n]]);export{u as __pageData,f as default}; diff --git a/docs/assets/core_statusinfo.md.aIbMn8RF.js b/docs/assets/core_statusinfo.md.aIbMn8RF.js deleted file mode 100644 index d9249419..00000000 --- a/docs/assets/core_statusinfo.md.aIbMn8RF.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as s}from"./chunks/framework.q7IuVqhY.js";const k=JSON.parse('{"title":"StatusInfo","description":"","frontmatter":{},"headers":[],"relativePath":"core/statusinfo.md","filePath":"core/statusinfo.md","lastUpdated":1700306874000}'),i={name:"core/statusinfo.md"},o=s('

StatusInfo

This page is about the StatusInfo class available in PeyrSharp.Core. You can find here all of its methods.

Compatibility

The StatusInfo class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Properties

StatusCode

Definition

c#
public int StatusCode { get; set; }

Gets or sets the status code that indicates the outcome of the request.

StatusDescription

Definition

c#
public string StatusDescription { get; set; }

Gets or sets the status description that provides a human-readable message of the status code.

StatusType

Definition

c#
public StatusCodes StatusType { get; set; }

Gets or sets the status type that categorizes the status code into informational, success, redirection, client error, or server error. The StatusCodes is an enumeration representing the type of HTTP status codes that can be returned.

',18),n=[o];function r(d,h,l,c,p,u){return e(),a("div",null,n)}const b=t(i,[["render",r]]);export{k as __pageData,b as default}; diff --git a/docs/assets/core_statusinfo.md.aIbMn8RF.lean.js b/docs/assets/core_statusinfo.md.aIbMn8RF.lean.js deleted file mode 100644 index 5638dd0d..00000000 --- a/docs/assets/core_statusinfo.md.aIbMn8RF.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as s}from"./chunks/framework.q7IuVqhY.js";const k=JSON.parse('{"title":"StatusInfo","description":"","frontmatter":{},"headers":[],"relativePath":"core/statusinfo.md","filePath":"core/statusinfo.md","lastUpdated":1700306874000}'),i={name:"core/statusinfo.md"},o=s("",18),n=[o];function r(d,h,l,c,p,u){return e(),a("div",null,n)}const b=t(i,[["render",r]]);export{k as __pageData,b as default}; diff --git a/docs/assets/core_xml-helper.md.sM4mITbX.js b/docs/assets/core_xml-helper.md.FsvtOjjY.js similarity index 67% rename from docs/assets/core_xml-helper.md.sM4mITbX.js rename to docs/assets/core_xml-helper.md.FsvtOjjY.js index 57d1b183..7bac31f0 100644 --- a/docs/assets/core_xml-helper.md.sM4mITbX.js +++ b/docs/assets/core_xml-helper.md.FsvtOjjY.js @@ -1,4 +1,4 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"XmlHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/xml-helper.md","filePath":"core/xml-helper.md","lastUpdated":1700306874000}'),e={name:"core/xml-helper.md"},n=t(`

XmlHelper

This page is about the XmlHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The XmlHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

LoadFromXml<T>(path)

Definition

The LoadFromXml() method loads an object of type T from an XML file at the specified path. If the file does not exist, a new instance of type T will be created and saved to the file using the SaveToXml() method before returning it.

Type Parameters

TypeDescription
TThe type of object to be saved.

Parameters

TypeNameMeaning
stringpathThe path of the XML file to load or create.

Returns

  • The loaded object of type T if the file exists and can be deserialized successfully.
  • A new instance of type T if the file does not exist and can be created and saved successfully.
  • null if an exception occurs during loading or saving.

Exceptions

  • Exception: If an error occurs during the loading or saving process.

Usage

csharp
using PeyrSharp.Core;
+import{_ as i,c as a,a2 as t,o as n}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"XmlHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/xml-helper.md","filePath":"core/xml-helper.md","lastUpdated":1700306874000}'),e={name:"core/xml-helper.md"};function h(l,s,p,k,r,d){return n(),a("div",null,s[0]||(s[0]=[t(`

XmlHelper

This page is about the XmlHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The XmlHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

LoadFromXml<T>(path)

Definition

The LoadFromXml() method loads an object of type T from an XML file at the specified path. If the file does not exist, a new instance of type T will be created and saved to the file using the SaveToXml() method before returning it.

Type Parameters

TypeDescription
TThe type of object to be saved.

Parameters

TypeNameMeaning
stringpathThe path of the XML file to load or create.

Returns

  • The loaded object of type T if the file exists and can be deserialized successfully.
  • A new instance of type T if the file does not exist and can be created and saved successfully.
  • null if an exception occurs during loading or saving.

Exceptions

  • Exception: If an error occurs during the loading or saving process.

Usage

csharp
using PeyrSharp.Core;
 using System;
 using System.IO;
 using System.Xml.Serialization;
@@ -32,7 +32,7 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=
     {
         return $"Name: {Name}, Age: {Age}";
     }
-}

SaveToXml<T>(obj, path)

Definition

The SaveToXml() method saves an object of type T to an XML file at the specified path.

Type Parameters

TypeDescription
TThe type of object to be saved.

Arguments

TypeNameDescription
TobjThe object to be saved.
stringpathThe path of the XML file to save the object.

Returns

  • bool: true if the object is successfully serialized and saved to the file; otherwise, false.

Usage

csharp
using PeyrSharp.Core;
+}

SaveToXml<T>(obj, path)

Definition

The SaveToXml() method saves an object of type T to an XML file at the specified path.

Type Parameters

TypeDescription
TThe type of object to be saved.

Arguments

TypeNameDescription
TobjThe object to be saved.
stringpathThe path of the XML file to save the object.

Returns

  • bool: true if the object is successfully serialized and saved to the file; otherwise, false.

Usage

csharp
using PeyrSharp.Core;
 using System.Xml.Serialization;
 using System.IO;
 
@@ -50,4 +50,4 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=
         // Save the object to an XML file
         bool success = XmlHelper.SaveToXml(myObject, "path/to/file.xml");
     }
-}
`,31),h=[n];function l(p,k,r,d,o,E){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{g as __pageData,y as default}; +}
`,31)]))}const c=i(e,[["render",h]]);export{E as __pageData,c as default}; diff --git a/docs/assets/core_xml-helper.md.FsvtOjjY.lean.js b/docs/assets/core_xml-helper.md.FsvtOjjY.lean.js new file mode 100644 index 00000000..7bac31f0 --- /dev/null +++ b/docs/assets/core_xml-helper.md.FsvtOjjY.lean.js @@ -0,0 +1,53 @@ +import{_ as i,c as a,a2 as t,o as n}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"XmlHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/xml-helper.md","filePath":"core/xml-helper.md","lastUpdated":1700306874000}'),e={name:"core/xml-helper.md"};function h(l,s,p,k,r,d){return n(),a("div",null,s[0]||(s[0]=[t(`

XmlHelper

This page is about the XmlHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The XmlHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

LoadFromXml<T>(path)

Definition

The LoadFromXml() method loads an object of type T from an XML file at the specified path. If the file does not exist, a new instance of type T will be created and saved to the file using the SaveToXml() method before returning it.

Type Parameters

TypeDescription
TThe type of object to be saved.

Parameters

TypeNameMeaning
stringpathThe path of the XML file to load or create.

Returns

  • The loaded object of type T if the file exists and can be deserialized successfully.
  • A new instance of type T if the file does not exist and can be created and saved successfully.
  • null if an exception occurs during loading or saving.

Exceptions

  • Exception: If an error occurs during the loading or saving process.

Usage

csharp
using PeyrSharp.Core;
+using System;
+using System.IO;
+using System.Xml.Serialization;
+
+private static void Main()
+{
+    string path = "path/to/xml/file.xml";
+
+    // Load an object from the XML file
+    MyObject obj = XmlHelper.LoadFromXml<MyObject>(path);
+
+    if (obj != null)
+    {
+        // Object loaded successfully
+        Console.WriteLine("Object loaded: " + obj.ToString());
+    }
+    else
+    {
+        // Error occurred during loading or saving
+        Console.WriteLine("Failed to load object.");
+    }
+}
+
+// Example class for serialization
+public class MyObject
+{
+    public string Name { get; set; }
+    public int Age { get; set; }
+
+    public override string ToString()
+    {
+        return $"Name: {Name}, Age: {Age}";
+    }
+}

SaveToXml<T>(obj, path)

Definition

The SaveToXml() method saves an object of type T to an XML file at the specified path.

Type Parameters

TypeDescription
TThe type of object to be saved.

Arguments

TypeNameDescription
TobjThe object to be saved.
stringpathThe path of the XML file to save the object.

Returns

  • bool: true if the object is successfully serialized and saved to the file; otherwise, false.

Usage

csharp
using PeyrSharp.Core;
+using System.Xml.Serialization;
+using System.IO;
+
+public class MyClass
+{
+    public int MyProperty { get; set; }
+}
+
+public class Program
+{
+    private static void Main()
+    {
+        MyClass myObject = new MyClass { MyProperty = 123 };
+
+        // Save the object to an XML file
+        bool success = XmlHelper.SaveToXml(myObject, "path/to/file.xml");
+    }
+}
`,31)]))}const c=i(e,[["render",h]]);export{E as __pageData,c as default}; diff --git a/docs/assets/core_xml-helper.md.sM4mITbX.lean.js b/docs/assets/core_xml-helper.md.sM4mITbX.lean.js deleted file mode 100644 index 64ce42f6..00000000 --- a/docs/assets/core_xml-helper.md.sM4mITbX.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"XmlHelper","description":"","frontmatter":{},"headers":[],"relativePath":"core/xml-helper.md","filePath":"core/xml-helper.md","lastUpdated":1700306874000}'),e={name:"core/xml-helper.md"},n=t("",31),h=[n];function l(p,k,r,d,o,E){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{g as __pageData,y as default}; diff --git a/docs/assets/enumerations.md.m_VWoxBt.js b/docs/assets/enumerations.md.CQyNT-Zn.js similarity index 55% rename from docs/assets/enumerations.md.m_VWoxBt.js rename to docs/assets/enumerations.md.CQyNT-Zn.js index 8289d427..9d60bf40 100644 --- a/docs/assets/enumerations.md.m_VWoxBt.js +++ b/docs/assets/enumerations.md.CQyNT-Zn.js @@ -1,16 +1,16 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"Enumerations","description":"","frontmatter":{},"headers":[],"relativePath":"enumerations.md","filePath":"enumerations.md","lastUpdated":1700306874000}'),e={name:"enumerations.md"},n=t(`

Enumerations

This page is about the enumerations available in PeyrSharp.Enums. They are grouped by category.

Compatibility

Enumerations are part of the PeyrSharp.Enums module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Enums
Framework.NET 6.NET 7.NET 8
Enums

Converters

StorageUnits

Definition

The StorageUnits enumeration represents all possible numeric storage units. It contains the following values:

ValueNameMeaning
0ByteThe byte unit. (b)
1KilobyteThe kilobyte unit. (kb)
2MegabyteThe megabyte unit. (mb)
3GigabyteThe gigabyte unit. (gb)
4TerabyteThe terabyte unit. (tb)
5PetabyteThe petabyte unit. (pb)

Example

c#
public static double ToPetabyte(double value, StorageUnits unit)
+import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"Enumerations","description":"","frontmatter":{},"headers":[],"relativePath":"enumerations.md","filePath":"enumerations.md","lastUpdated":1700306874000}'),n={name:"enumerations.md"};function h(l,s,d,r,p,k){return e(),a("div",null,s[0]||(s[0]=[t(`

Enumerations

This page is about the enumerations available in PeyrSharp.Enums. They are grouped by category.

Compatibility

Enumerations are part of the PeyrSharp.Enums module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Enums
Framework.NET 6.NET 7.NET 8
Enums

Converters

StorageUnits

Definition

The StorageUnits enumeration represents all possible numeric storage units. It contains the following values:

ValueNameMeaning
0ByteThe byte unit. (b)
1KilobyteThe kilobyte unit. (kb)
2MegabyteThe megabyte unit. (mb)
3GigabyteThe gigabyte unit. (gb)
4TerabyteThe terabyte unit. (tb)
5PetabyteThe petabyte unit. (pb)

Example

c#
public static double ToPetabyte(double value, StorageUnits unit)
 {
     if (unit == StorageUnits.Terabyte)
     {
         return value / 1000d;
     }
-}

TimeUnits

Definition

The TimeUnits enumeration represents all possible time units, such as seconds, minutes, etc. A more detailed table on all the values available:

ValueNameMeaning
0MillisecondsRepresents milliseconds.
1SecondsRepresents seconds.
2MinutesRepresents minutes.
3HoursRepresents hours.
4DaysRepresents days.

Example

c#
public static double ToSeconds(double value, TimeUnits unit)
+}

TimeUnits

Definition

The TimeUnits enumeration represents all possible time units, such as seconds, minutes, etc. A more detailed table on all the values available:

ValueNameMeaning
0MillisecondsRepresents milliseconds.
1SecondsRepresents seconds.
2MinutesRepresents minutes.
3HoursRepresents hours.
4DaysRepresents days.

Example

c#
public static double ToSeconds(double value, TimeUnits unit)
 {
     if (unit == TimeUnits.Minutes)
     {
         return value * 60;
     }
-}

Environment

LogLevel

Definition

The LogLevel enumeration specifies the severity level of a log message. It contains several values:

ValueNameMeaning
0DebugDebug-level messages provide verbose information for debugging purposes.
1InfoInfo-level messages provide informational messages about the application's state.
2WarningWarning-level messages indicate a potential problem or non-critical issue.
3ErrorError-level messages indicate an error has occurred in the application.
4CriticalCritical-level messages indicate a critical error has occurred that requires immediate attention.
5MiscMisc-level messages are for miscellaneous use cases and are not defined in the logging specification.

Example

c#
using PeyrSharp.Enums;
+}

Environment

LogLevel

Definition

The LogLevel enumeration specifies the severity level of a log message. It contains several values:

ValueNameMeaning
0DebugDebug-level messages provide verbose information for debugging purposes.
1InfoInfo-level messages provide informational messages about the application's state.
2WarningWarning-level messages indicate a potential problem or non-critical issue.
3ErrorError-level messages indicate an error has occurred in the application.
4CriticalCritical-level messages indicate a critical error has occurred that requires immediate attention.
5MiscMisc-level messages are for miscellaneous use cases and are not defined in the logging specification.

Example

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
 string message = "This is a log message.";
@@ -18,14 +18,14 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=
 DateTime date = DateTime.Now;
 LogLevel logLevel = LogLevel.Warning;
 
-Logger.Log(message, filePath, date, logLevel);

More info here about the example

OperatingSystems

Definition

The OperatingSystems enumerations represents all possible operating systems that a .NET program could run on. It contains several values:

ValueNameMeaning
0WindowsThe Microsoft Windows Operating System.
1macOSThe Apple macOS Operating System.
2LinuxA Linux-based Operating System.
3UnknownAn unknown Operating System.

Example

c#
if (Env.CurrentOs == OperatingSystems.Windows)
+Logger.Log(message, filePath, date, logLevel);

More info here about the example

OperatingSystems

Definition

The OperatingSystems enumerations represents all possible operating systems that a .NET program could run on. It contains several values:

ValueNameMeaning
0WindowsThe Microsoft Windows Operating System.
1macOSThe Apple macOS Operating System.
2LinuxA Linux-based Operating System.
3UnknownAn unknown Operating System.

Example

c#
if (Env.CurrentOs == OperatingSystems.Windows)
 {
     //Do something if the OS is Windows
-}

SystemThemes

Definition

The SystemThemes enumerations represents all themes available on a Windows device. It contains several values:

ValueNameMeaning
0DarkThe user is using dark theme.
1LightThe user is using light theme.
2UnknownThe current theme is unknown.

Example

c#
if (GetCurrentTheme() == SystemThemes.Dark)
+}

SystemThemes

Definition

The SystemThemes enumerations represents all themes available on a Windows device. It contains several values:

ValueNameMeaning
0DarkThe user is using dark theme.
1LightThe user is using light theme.
2UnknownThe current theme is unknown.

Example

c#
if (GetCurrentTheme() == SystemThemes.Dark)
 {
     Console.WriteLine("You have dark theme enabled!");
-}

WindowsVersion

Definition

The WindowsVersion enumerations represents all possible Windows versions supported by .NET, which means all version from Windows 7 to 11. It contains several values:

ValueNameMeaning
0Windows7The Windows 7 (NT 6.1) Operating System.
1Windows8The Windows 8 (NT 6.2) Operating System.
2Windows81The Windows 8.1 (NT 6.3) Operating System.
3Windows10The Windows 10 (NT 10.0) Operating System.
4Windows11The Windows 11 (NT 10.0, Build 22000+) Operating System.

Example

c#
public bool DarkThemeAvailable => Env.CurrentWindowsVersion == WindowsVersion.Windows10 || Env.CurrentWindowsVersion == WindowsVersion.Windows11;

Geometry

TriangleSides

Definition

The TriangleSides enumeration represents the different sides of a triangle: hypotenuse, adjacent, and opposite. It contains these values:

ValueNameMeaning
0OpposedThe opposed side of a specific angle of a triangle.
1HypotenuseThe hypotenuse of a triangle.
2AdjacentThe adjacent side of a specific angle of a triangle.

Example

c#
// Get the adjacent side from the opposed side of a specific angle.
-Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 20);

Internet

StatusCodes

Definition

The StatusCodes enumeration represents the different kinds of status codes returned by a server after a request is made to it. The following status codes are available in this enumeration:

ValueNameMeaning
0InformationalInformational responses (100-199)
1SuccessSuccessful responses (200-299)
2RedirectionRedirection messages (300-399)
3ClientErrorClient error responses (400-499)
4ServerErrorServer error responses (500-599)

Example

c#
status = GetRequestStatus();
+}

WindowsVersion

Definition

The WindowsVersion enumerations represents all possible Windows versions supported by .NET, which means all version from Windows 7 to 11. It contains several values:

ValueNameMeaning
0Windows7The Windows 7 (NT 6.1) Operating System.
1Windows8The Windows 8 (NT 6.2) Operating System.
2Windows81The Windows 8.1 (NT 6.3) Operating System.
3Windows10The Windows 10 (NT 10.0) Operating System.
4Windows11The Windows 11 (NT 10.0, Build 22000+) Operating System.

Example

c#
public bool DarkThemeAvailable => Env.CurrentWindowsVersion == WindowsVersion.Windows10 || Env.CurrentWindowsVersion == WindowsVersion.Windows11;

Geometry

TriangleSides

Definition

The TriangleSides enumeration represents the different sides of a triangle: hypotenuse, adjacent, and opposite. It contains these values:

ValueNameMeaning
0OpposedThe opposed side of a specific angle of a triangle.
1HypotenuseThe hypotenuse of a triangle.
2AdjacentThe adjacent side of a specific angle of a triangle.

Example

c#
// Get the adjacent side from the opposed side of a specific angle.
+Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 20);

Internet

StatusCodes

Definition

The StatusCodes enumeration represents the different kinds of status codes returned by a server after a request is made to it. The following status codes are available in this enumeration:

ValueNameMeaning
0InformationalInformational responses (100-199)
1SuccessSuccessful responses (200-299)
2RedirectionRedirection messages (300-399)
3ClientErrorClient error responses (400-499)
4ServerErrorServer error responses (500-599)

Example

c#
status = GetRequestStatus();
 
 switch (status)
 {
@@ -44,17 +44,17 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=
     case StatusCodes.ServerError:
         Console.WriteLine("An server error status code has been returned.");
         break;
-}

Password

PasswordPresets

Definition

The PasswordPresets enumeration represents all the of the presets available when generating a password using the Password class of PeyrSharp.Core. It has two values:

ValueNameMeaning
0SimpleThe Simple preset generates a password with simple characters.
1ComplexThe Complex preset generates a password with unusual, hard and complex characters.

Example

c#
private async void Main()
+}

Password

PasswordPresets

Definition

The PasswordPresets enumeration represents all the of the presets available when generating a password using the Password class of PeyrSharp.Core. It has two values:

ValueNameMeaning
0SimpleThe Simple preset generates a password with simple characters.
1ComplexThe Complex preset generates a password with unusual, hard and complex characters.

Example

c#
private async void Main()
 {
     string password = Password.GenerateAsync(10, PasswordPresets.Simple); // Generate a simple password
-}

PasswordStrength

Definition

The PasswordStrength enumeration represents different strength levels of a password; if it's a strong or weak password. It contains these values:

ValueNameMeaning
0LowThe password has a low strength; you shouldn't use it.
1MediumThe password has a medium strength; don't use it on important websites.
2GoodThe password has a good strength; you can safely use it.
3VeryGoodThe password has an excellent strength, meaning it will be hard for hackers to hack it.

Example

c#
internal async void Main()
+}

PasswordStrength

Definition

The PasswordStrength enumeration represents different strength levels of a password; if it's a strong or weak password. It contains these values:

ValueNameMeaning
0LowThe password has a low strength; you shouldn't use it.
1MediumThe password has a medium strength; don't use it on important websites.
2GoodThe password has a good strength; you can safely use it.
3VeryGoodThe password has an excellent strength, meaning it will be hard for hackers to hack it.

Example

c#
internal async void Main()
 {
     // Check if the generated password is complex
     if (Password.GetStrength(await Password.GenerateAsync(15, PasswordPresets.Complex)) == PasswordStrength.Medium)
     {
         Console.WriteLine("The password isn't complex enough.");
     }
-}

UserInterface

ControlAlignment

Definition

The ControlAlignment enumeration is here to help align a control when calling methods from the UiHelpers namespace. It has the following values:

ValueNameMeaning
0HorizontalThe control will be aligned/centered horizontally.
1VerticalThe control will be aligned/centered vertically.
2BothThe control will be aligned/centered horizontally and vertically.

Example

c#
using PeyrSharp.UiHelpers;
+}

UserInterface

ControlAlignment

Definition

The ControlAlignment enumeration is here to help align a control when calling methods from the UiHelpers namespace. It has the following values:

ValueNameMeaning
0HorizontalThe control will be aligned/centered horizontally.
1VerticalThe control will be aligned/centered vertically.
2BothThe control will be aligned/centered horizontally and vertically.

Example

c#
using PeyrSharp.UiHelpers;
 
 namespace App
 {
@@ -65,4 +65,4 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=
             WinFormsHelpers.CenterControl(button1, this, ControlAlignment.Horizontal);
         }
     }
-}
`,78),h=[n];function l(d,r,p,k,o,E){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{g as __pageData,y as default}; +}
`,78)]))}const c=i(n,[["render",h]]);export{E as __pageData,c as default}; diff --git a/docs/assets/enumerations.md.CQyNT-Zn.lean.js b/docs/assets/enumerations.md.CQyNT-Zn.lean.js new file mode 100644 index 00000000..9d60bf40 --- /dev/null +++ b/docs/assets/enumerations.md.CQyNT-Zn.lean.js @@ -0,0 +1,68 @@ +import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"Enumerations","description":"","frontmatter":{},"headers":[],"relativePath":"enumerations.md","filePath":"enumerations.md","lastUpdated":1700306874000}'),n={name:"enumerations.md"};function h(l,s,d,r,p,k){return e(),a("div",null,s[0]||(s[0]=[t(`

Enumerations

This page is about the enumerations available in PeyrSharp.Enums. They are grouped by category.

Compatibility

Enumerations are part of the PeyrSharp.Enums module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Enums
Framework.NET 6.NET 7.NET 8
Enums

Converters

StorageUnits

Definition

The StorageUnits enumeration represents all possible numeric storage units. It contains the following values:

ValueNameMeaning
0ByteThe byte unit. (b)
1KilobyteThe kilobyte unit. (kb)
2MegabyteThe megabyte unit. (mb)
3GigabyteThe gigabyte unit. (gb)
4TerabyteThe terabyte unit. (tb)
5PetabyteThe petabyte unit. (pb)

Example

c#
public static double ToPetabyte(double value, StorageUnits unit)
+{
+    if (unit == StorageUnits.Terabyte)
+    {
+        return value / 1000d;
+    }
+}

TimeUnits

Definition

The TimeUnits enumeration represents all possible time units, such as seconds, minutes, etc. A more detailed table on all the values available:

ValueNameMeaning
0MillisecondsRepresents milliseconds.
1SecondsRepresents seconds.
2MinutesRepresents minutes.
3HoursRepresents hours.
4DaysRepresents days.

Example

c#
public static double ToSeconds(double value, TimeUnits unit)
+{
+    if (unit == TimeUnits.Minutes)
+    {
+        return value * 60;
+    }
+}

Environment

LogLevel

Definition

The LogLevel enumeration specifies the severity level of a log message. It contains several values:

ValueNameMeaning
0DebugDebug-level messages provide verbose information for debugging purposes.
1InfoInfo-level messages provide informational messages about the application's state.
2WarningWarning-level messages indicate a potential problem or non-critical issue.
3ErrorError-level messages indicate an error has occurred in the application.
4CriticalCritical-level messages indicate a critical error has occurred that requires immediate attention.
5MiscMisc-level messages are for miscellaneous use cases and are not defined in the logging specification.

Example

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+string message = "This is a log message.";
+string filePath = @"C:\\Logs\\log.txt";
+DateTime date = DateTime.Now;
+LogLevel logLevel = LogLevel.Warning;
+
+Logger.Log(message, filePath, date, logLevel);

More info here about the example

OperatingSystems

Definition

The OperatingSystems enumerations represents all possible operating systems that a .NET program could run on. It contains several values:

ValueNameMeaning
0WindowsThe Microsoft Windows Operating System.
1macOSThe Apple macOS Operating System.
2LinuxA Linux-based Operating System.
3UnknownAn unknown Operating System.

Example

c#
if (Env.CurrentOs == OperatingSystems.Windows)
+{
+    //Do something if the OS is Windows
+}

SystemThemes

Definition

The SystemThemes enumerations represents all themes available on a Windows device. It contains several values:

ValueNameMeaning
0DarkThe user is using dark theme.
1LightThe user is using light theme.
2UnknownThe current theme is unknown.

Example

c#
if (GetCurrentTheme() == SystemThemes.Dark)
+{
+    Console.WriteLine("You have dark theme enabled!");
+}

WindowsVersion

Definition

The WindowsVersion enumerations represents all possible Windows versions supported by .NET, which means all version from Windows 7 to 11. It contains several values:

ValueNameMeaning
0Windows7The Windows 7 (NT 6.1) Operating System.
1Windows8The Windows 8 (NT 6.2) Operating System.
2Windows81The Windows 8.1 (NT 6.3) Operating System.
3Windows10The Windows 10 (NT 10.0) Operating System.
4Windows11The Windows 11 (NT 10.0, Build 22000+) Operating System.

Example

c#
public bool DarkThemeAvailable => Env.CurrentWindowsVersion == WindowsVersion.Windows10 || Env.CurrentWindowsVersion == WindowsVersion.Windows11;

Geometry

TriangleSides

Definition

The TriangleSides enumeration represents the different sides of a triangle: hypotenuse, adjacent, and opposite. It contains these values:

ValueNameMeaning
0OpposedThe opposed side of a specific angle of a triangle.
1HypotenuseThe hypotenuse of a triangle.
2AdjacentThe adjacent side of a specific angle of a triangle.

Example

c#
// Get the adjacent side from the opposed side of a specific angle.
+Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 20);

Internet

StatusCodes

Definition

The StatusCodes enumeration represents the different kinds of status codes returned by a server after a request is made to it. The following status codes are available in this enumeration:

ValueNameMeaning
0InformationalInformational responses (100-199)
1SuccessSuccessful responses (200-299)
2RedirectionRedirection messages (300-399)
3ClientErrorClient error responses (400-499)
4ServerErrorServer error responses (500-599)

Example

c#
status = GetRequestStatus();
+
+switch (status)
+{
+    case StatusCodes.Informational:
+        Console.WriteLine("An information status code has been returned.");
+        break;
+    case StatusCodes.Success:
+        Console.WriteLine("An successful status code has been returned.");
+        break;
+    case StatusCodes.Redirection:
+        Console.WriteLine("An redirection status code has been returned.");
+        break;
+    case StatusCodes.ClientError:
+        Console.WriteLine("An client error status code has been returned.");
+        break;
+    case StatusCodes.ServerError:
+        Console.WriteLine("An server error status code has been returned.");
+        break;
+}

Password

PasswordPresets

Definition

The PasswordPresets enumeration represents all the of the presets available when generating a password using the Password class of PeyrSharp.Core. It has two values:

ValueNameMeaning
0SimpleThe Simple preset generates a password with simple characters.
1ComplexThe Complex preset generates a password with unusual, hard and complex characters.

Example

c#
private async void Main()
+{
+    string password = Password.GenerateAsync(10, PasswordPresets.Simple); // Generate a simple password
+}

PasswordStrength

Definition

The PasswordStrength enumeration represents different strength levels of a password; if it's a strong or weak password. It contains these values:

ValueNameMeaning
0LowThe password has a low strength; you shouldn't use it.
1MediumThe password has a medium strength; don't use it on important websites.
2GoodThe password has a good strength; you can safely use it.
3VeryGoodThe password has an excellent strength, meaning it will be hard for hackers to hack it.

Example

c#
internal async void Main()
+{
+    // Check if the generated password is complex
+    if (Password.GetStrength(await Password.GenerateAsync(15, PasswordPresets.Complex)) == PasswordStrength.Medium)
+    {
+        Console.WriteLine("The password isn't complex enough.");
+    }
+}

UserInterface

ControlAlignment

Definition

The ControlAlignment enumeration is here to help align a control when calling methods from the UiHelpers namespace. It has the following values:

ValueNameMeaning
0HorizontalThe control will be aligned/centered horizontally.
1VerticalThe control will be aligned/centered vertically.
2BothThe control will be aligned/centered horizontally and vertically.

Example

c#
using PeyrSharp.UiHelpers;
+
+namespace App
+{
+    public partial class MyForm : Form
+    {
+        private void button1_Click(object sender, EventArgs e)
+        {
+            WinFormsHelpers.CenterControl(button1, this, ControlAlignment.Horizontal);
+        }
+    }
+}
`,78)]))}const c=i(n,[["render",h]]);export{E as __pageData,c as default}; diff --git a/docs/assets/enumerations.md.m_VWoxBt.lean.js b/docs/assets/enumerations.md.m_VWoxBt.lean.js deleted file mode 100644 index d5360a01..00000000 --- a/docs/assets/enumerations.md.m_VWoxBt.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"Enumerations","description":"","frontmatter":{},"headers":[],"relativePath":"enumerations.md","filePath":"enumerations.md","lastUpdated":1700306874000}'),e={name:"enumerations.md"},n=t("",78),h=[n];function l(d,r,p,k,o,E){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{g as __pageData,y as default}; diff --git a/docs/assets/env.md.BVRFeyb6.js b/docs/assets/env.md.BVRFeyb6.js new file mode 100644 index 00000000..642fc470 --- /dev/null +++ b/docs/assets/env.md.BVRFeyb6.js @@ -0,0 +1 @@ +import{_ as e,c as a,a2 as r,o}from"./chunks/framework.CdbxnhrM.js";const p=JSON.parse('{"title":"Env","description":"","frontmatter":{},"headers":[],"relativePath":"env.md","filePath":"env.md","lastUpdated":1700306874000}'),s={name:"env.md"};function l(d,t,i,n,h,c){return o(),a("div",null,t[0]||(t[0]=[r('

Env

This page is about the PeyrSharp.Env module.

Compatibility

The PeyrSharp.Env module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Classes

',8)]))}const f=e(s,[["render",l]]);export{p as __pageData,f as default}; diff --git a/docs/assets/env.md.BVRFeyb6.lean.js b/docs/assets/env.md.BVRFeyb6.lean.js new file mode 100644 index 00000000..642fc470 --- /dev/null +++ b/docs/assets/env.md.BVRFeyb6.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,a2 as r,o}from"./chunks/framework.CdbxnhrM.js";const p=JSON.parse('{"title":"Env","description":"","frontmatter":{},"headers":[],"relativePath":"env.md","filePath":"env.md","lastUpdated":1700306874000}'),s={name:"env.md"};function l(d,t,i,n,h,c){return o(),a("div",null,t[0]||(t[0]=[r('

Env

This page is about the PeyrSharp.Env module.

Compatibility

The PeyrSharp.Env module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Classes

',8)]))}const f=e(s,[["render",l]]);export{p as __pageData,f as default}; diff --git a/docs/assets/env.md.QfnuPXT7.js b/docs/assets/env.md.QfnuPXT7.js deleted file mode 100644 index 583e3c62..00000000 --- a/docs/assets/env.md.QfnuPXT7.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as o}from"./chunks/framework.q7IuVqhY.js";const f=JSON.parse('{"title":"Env","description":"","frontmatter":{},"headers":[],"relativePath":"env.md","filePath":"env.md","lastUpdated":1700306874000}'),s={name:"env.md"},r=o('

Env

This page is about the PeyrSharp.Env module.

Compatibility

The PeyrSharp.Env module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Classes

',8),l=[r];function d(i,n,h,c,m,p){return e(),a("div",null,l)}const v=t(s,[["render",d]]);export{f as __pageData,v as default}; diff --git a/docs/assets/env.md.QfnuPXT7.lean.js b/docs/assets/env.md.QfnuPXT7.lean.js deleted file mode 100644 index 1480b720..00000000 --- a/docs/assets/env.md.QfnuPXT7.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as o}from"./chunks/framework.q7IuVqhY.js";const f=JSON.parse('{"title":"Env","description":"","frontmatter":{},"headers":[],"relativePath":"env.md","filePath":"env.md","lastUpdated":1700306874000}'),s={name:"env.md"},r=o("",8),l=[r];function d(i,n,h,c,m,p){return e(),a("div",null,l)}const v=t(s,[["render",d]]);export{f as __pageData,v as default}; diff --git a/docs/assets/env_filesys.md.TIGgXrh7.js b/docs/assets/env_filesys.md.CQB4pp3S.js similarity index 63% rename from docs/assets/env_filesys.md.TIGgXrh7.js rename to docs/assets/env_filesys.md.CQB4pp3S.js index c2e6cf0c..5895de45 100644 --- a/docs/assets/env_filesys.md.TIGgXrh7.js +++ b/docs/assets/env_filesys.md.CQB4pp3S.js @@ -1,22 +1,22 @@ -import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"FileSys","description":"","frontmatter":{},"headers":[],"relativePath":"env/filesys.md","filePath":"env/filesys.md","lastUpdated":1700306874000}'),t={name:"env/filesys.md"},n=e(`

FileSys

This page is about the FileSys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The FileSys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetAvailableSpace(drive, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"FileSys","description":"","frontmatter":{},"headers":[],"relativePath":"env/filesys.md","filePath":"env/filesys.md","lastUpdated":1700306874000}'),n={name:"env/filesys.md"};function h(l,i,p,r,d,k){return t(),a("div",null,i[0]||(i[0]=[e(`

FileSys

This page is about the FileSys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The FileSys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetAvailableSpace(drive, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
-double space = FileSys.GetAvailableSpace("C:/", StorageUnits.Gigabyte);

GetAvailableSpace(driveInfo, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+double space = FileSys.GetAvailableSpace("C:/", StorageUnits.Gigabyte);

GetAvailableSpace(driveInfo, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
-double space = FileSys.GetAvailableSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetOccupiedSpace(drive, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+double space = FileSys.GetAvailableSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetOccupiedSpace(drive, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
-double occupiedSpace = FileSys.GetOccupiedSpace("C:/", StorageUnits.Gigabyte);

GetOccupiedSpace(driveInfo, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+double occupiedSpace = FileSys.GetOccupiedSpace("C:/", StorageUnits.Gigabyte);

GetOccupiedSpace(driveInfo, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
-double occupiedSpace = FileSys.GetOccupiedSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetTotalSpace(drive, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+double occupiedSpace = FileSys.GetOccupiedSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetTotalSpace(drive, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
-double occupiedSpace = FileSys.GetTotalSpace("C:/", StorageUnits.Gigabyte);

GetTotalSpace(driveInfo, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+double occupiedSpace = FileSys.GetTotalSpace("C:/", StorageUnits.Gigabyte);

GetTotalSpace(driveInfo, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
-double total = FileSys.GetTotalSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

CountFileCharactersAsync(fileName)

Definition

Counts the number of characters in specified file asynchronously. It returns an int.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringfileNameThe file path of the file.

Usage

c#
using PeyrSharp.Env;
+double total = FileSys.GetTotalSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

CountFileCharactersAsync(fileName)

Definition

Counts the number of characters in specified file asynchronously. It returns an int.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringfileNameThe file path of the file.

Usage

c#
using PeyrSharp.Env;
 
 public static async Task ExampleAsync()
 {
@@ -28,7 +28,7 @@ import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const E=
     int chars = await FileSys.CountFileCharactersAsync("Hello.txt");
 
     // chars = 13
-}

CanWriteFile(filePath)

Definition

Checks if your program has the permission to write a file in a specific directory. It returns a bool; true if you can write/edit the specified directory.

Arguments

TypeNameMeaning
stringfilePathThe path to the directory.

Usage

c#
using PeyrSharp.Env;
+}

CanWriteFile(filePath)

Definition

Checks if your program has the permission to write a file in a specific directory. It returns a bool; true if you can write/edit the specified directory.

Arguments

TypeNameMeaning
stringfilePathThe path to the directory.

Usage

c#
using PeyrSharp.Env;
 
 if (FileSys.CanWriteFile(@"C:\\Windows"))
 {
@@ -37,12 +37,12 @@ import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const E=
 else
 {
     Console.WriteLine("You do not have permission to edit in this folder.");
-}

IsDriveOpticalDrive(driveInfo)

Available in version 1.1 and higher.

Definition

Checks if the specified drive is an optical drive, such as CD-ROM or DVD. It returns a bool; true if the drive is an optical drive.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to check.

Usage

c#
using PeyrSharp.Env;
+}

IsDriveOpticalDrive(driveInfo)

Available in version 1.1 and higher.

Definition

Checks if the specified drive is an optical drive, such as CD-ROM or DVD. It returns a bool; true if the drive is an optical drive.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to check.

Usage

c#
using PeyrSharp.Env;
 
 if (FileSys.IsOpticalDrive(new(@"E:\\")))
 {
     Console.WriteLine("Drive E:/ is an optical drive")
-}

GetDriveStorageUnit(driveInfo)

Available in version 1.1 and higher.

Definition

Gets the appropriate StorageUnits to use depending of the total size of the drive. It returns a StorageUnits value.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to get the unit of.

Usage

c#
using PeyrSharp.Env;
+}

GetDriveStorageUnit(driveInfo)

Available in version 1.1 and higher.

Definition

Gets the appropriate StorageUnits to use depending of the total size of the drive. It returns a StorageUnits value.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to get the unit of.

Usage

c#
using PeyrSharp.Env;
 
 var unit = FileSys.GetDriveStorageUnit(@"C:\\");
 
@@ -54,21 +54,21 @@ import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const E=
     _ => "Unknown size unit"
 }
 
-Console.WriteLine(message);

Properties

AppDataPath

Definition

c#
public static string AppDataPath { get; }

The AppDataPath property gets the %APPDATA% path. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+Console.WriteLine(message);

Properties

AppDataPath

Definition

c#
public static string AppDataPath { get; }

The AppDataPath property gets the %APPDATA% path. You can only get this property.

Usage

c#
using PeyrSharp.Env;
 
-string appdata = FileSys.AppDataPath;

CurrentAppDirectory

Available in version 1.1 and higher.

Definition

c#
public static string CurrentAppDirectory { get; }

The CurrentAppDirectory property gets the path where is located the executable file that is currently running. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+string appdata = FileSys.AppDataPath;

CurrentAppDirectory

Available in version 1.1 and higher.

Definition

c#
public static string CurrentAppDirectory { get; }

The CurrentAppDirectory property gets the path where is located the executable file that is currently running. You can only get this property.

Usage

c#
using PeyrSharp.Env;
 
-string dir = FileSys.CurrentAppDirectory;

DriveWithHighestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithHighestFreeSpace { get; }

The DriveWithHighestFreeSpace property gets the drive with the highest free space available. You can only get this property.

Usage

c#
using System.IO;
+string dir = FileSys.CurrentAppDirectory;

DriveWithHighestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithHighestFreeSpace { get; }

The DriveWithHighestFreeSpace property gets the drive with the highest free space available. You can only get this property.

Usage

c#
using System.IO;
 using PeyrSharp.Env;
 
-DriveInfo highest = FileSys.DriveWithHighestFreeSpace;

DriveWithLowestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithLowestFreeSpace { get; }

The DriveWithLowestFreeSpace property gets the drive with the lowest free space available. You can only get this property.

Usage

c#
using System.IO;
+DriveInfo highest = FileSys.DriveWithHighestFreeSpace;

DriveWithLowestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithLowestFreeSpace { get; }

The DriveWithLowestFreeSpace property gets the drive with the lowest free space available. You can only get this property.

Usage

c#
using System.IO;
 using PeyrSharp.Env;
 
-DriveInfo lowest = FileSys.DriveWithLowestFreeSpace;

SystemDrive

Definition

c#
[SupportedOSPlatform("windows")]
-public static DriveInfo SystemDrive { get; }

The SystemDrive property gets the system drive, where Windows is installed. You can only get this property.

DANGER

This property only works on Windows! It will return a default value if you run it on a different platform.

Usage

c#
using PeyrSharp.Env;
+DriveInfo lowest = FileSys.DriveWithLowestFreeSpace;

SystemDrive

Definition

c#
[SupportedOSPlatform("windows")]
+public static DriveInfo SystemDrive { get; }

The SystemDrive property gets the system drive, where Windows is installed. You can only get this property.

DANGER

This property only works on Windows! It will return a default value if you run it on a different platform.

Usage

c#
using PeyrSharp.Env;
 
-DriveInfo sys = FileSys.SystemDrive;

CurrentDirectory

Definition

Gets the current directory of the application. Returns a string representing the full path of the current directory.

Usage

c#
using PeyrSharp.Env;
+DriveInfo sys = FileSys.SystemDrive;

CurrentDirectory

Definition

Gets the current directory of the application. Returns a string representing the full path of the current directory.

Usage

c#
using PeyrSharp.Env;
 
-string currentDirectory = FileSys.CurrentDirectory;

ComputerName

Definition

Returns the name of the current computer as a string.

Usage

c#
using PeyrSharp.Env;
+string currentDirectory = FileSys.CurrentDirectory;

ComputerName

Definition

Returns the name of the current computer as a string.

Usage

c#
using PeyrSharp.Env;
 
-string computerName = FileSys.ComputerName;
`,126),h=[n];function l(p,r,d,k,o,c){return s(),a("div",null,h)}const u=i(t,[["render",l]]);export{E as __pageData,u as default}; +string computerName = FileSys.ComputerName;
`,126)]))}const g=s(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/env_filesys.md.CQB4pp3S.lean.js b/docs/assets/env_filesys.md.CQB4pp3S.lean.js new file mode 100644 index 00000000..5895de45 --- /dev/null +++ b/docs/assets/env_filesys.md.CQB4pp3S.lean.js @@ -0,0 +1,74 @@ +import{_ as s,c as a,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"FileSys","description":"","frontmatter":{},"headers":[],"relativePath":"env/filesys.md","filePath":"env/filesys.md","lastUpdated":1700306874000}'),n={name:"env/filesys.md"};function h(l,i,p,r,d,k){return t(),a("div",null,i[0]||(i[0]=[e(`

FileSys

This page is about the FileSys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The FileSys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetAvailableSpace(drive, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double space = FileSys.GetAvailableSpace("C:/", StorageUnits.Gigabyte);

GetAvailableSpace(driveInfo, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double space = FileSys.GetAvailableSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetOccupiedSpace(drive, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double occupiedSpace = FileSys.GetOccupiedSpace("C:/", StorageUnits.Gigabyte);

GetOccupiedSpace(driveInfo, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double occupiedSpace = FileSys.GetOccupiedSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetTotalSpace(drive, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double occupiedSpace = FileSys.GetTotalSpace("C:/", StorageUnits.Gigabyte);

GetTotalSpace(driveInfo, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+double total = FileSys.GetTotalSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

CountFileCharactersAsync(fileName)

Definition

Counts the number of characters in specified file asynchronously. It returns an int.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringfileNameThe file path of the file.

Usage

c#
using PeyrSharp.Env;
+
+public static async Task ExampleAsync()
+{
+    // Write some text in a file
+    string text = "Hello, World!";
+    await File.WriteAllTextAsync("Hello.txt", text);
+
+    // Count the number of characters
+    int chars = await FileSys.CountFileCharactersAsync("Hello.txt");
+
+    // chars = 13
+}

CanWriteFile(filePath)

Definition

Checks if your program has the permission to write a file in a specific directory. It returns a bool; true if you can write/edit the specified directory.

Arguments

TypeNameMeaning
stringfilePathThe path to the directory.

Usage

c#
using PeyrSharp.Env;
+
+if (FileSys.CanWriteFile(@"C:\\Windows"))
+{
+    Console.WriteLine("You have permission to edit in this folder.");
+}
+else
+{
+    Console.WriteLine("You do not have permission to edit in this folder.");
+}

IsDriveOpticalDrive(driveInfo)

Available in version 1.1 and higher.

Definition

Checks if the specified drive is an optical drive, such as CD-ROM or DVD. It returns a bool; true if the drive is an optical drive.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to check.

Usage

c#
using PeyrSharp.Env;
+
+if (FileSys.IsOpticalDrive(new(@"E:\\")))
+{
+    Console.WriteLine("Drive E:/ is an optical drive")
+}

GetDriveStorageUnit(driveInfo)

Available in version 1.1 and higher.

Definition

Gets the appropriate StorageUnits to use depending of the total size of the drive. It returns a StorageUnits value.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to get the unit of.

Usage

c#
using PeyrSharp.Env;
+
+var unit = FileSys.GetDriveStorageUnit(@"C:\\");
+
+string message = unit switch
+{
+    StorageUnits.Gigabyte => "The drive unit is in gigabytes",
+    StorageUnits.Terabyte => "The drive unit is in terabytes",
+    StorageUnits.Petabyte => "The drive unit is in petabytes",
+    _ => "Unknown size unit"
+}
+
+Console.WriteLine(message);

Properties

AppDataPath

Definition

c#
public static string AppDataPath { get; }

The AppDataPath property gets the %APPDATA% path. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+string appdata = FileSys.AppDataPath;

CurrentAppDirectory

Available in version 1.1 and higher.

Definition

c#
public static string CurrentAppDirectory { get; }

The CurrentAppDirectory property gets the path where is located the executable file that is currently running. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+string dir = FileSys.CurrentAppDirectory;

DriveWithHighestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithHighestFreeSpace { get; }

The DriveWithHighestFreeSpace property gets the drive with the highest free space available. You can only get this property.

Usage

c#
using System.IO;
+using PeyrSharp.Env;
+
+DriveInfo highest = FileSys.DriveWithHighestFreeSpace;

DriveWithLowestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithLowestFreeSpace { get; }

The DriveWithLowestFreeSpace property gets the drive with the lowest free space available. You can only get this property.

Usage

c#
using System.IO;
+using PeyrSharp.Env;
+
+DriveInfo lowest = FileSys.DriveWithLowestFreeSpace;

SystemDrive

Definition

c#
[SupportedOSPlatform("windows")]
+public static DriveInfo SystemDrive { get; }

The SystemDrive property gets the system drive, where Windows is installed. You can only get this property.

DANGER

This property only works on Windows! It will return a default value if you run it on a different platform.

Usage

c#
using PeyrSharp.Env;
+
+DriveInfo sys = FileSys.SystemDrive;

CurrentDirectory

Definition

Gets the current directory of the application. Returns a string representing the full path of the current directory.

Usage

c#
using PeyrSharp.Env;
+
+string currentDirectory = FileSys.CurrentDirectory;

ComputerName

Definition

Returns the name of the current computer as a string.

Usage

c#
using PeyrSharp.Env;
+
+string computerName = FileSys.ComputerName;
`,126)]))}const g=s(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/env_filesys.md.TIGgXrh7.lean.js b/docs/assets/env_filesys.md.TIGgXrh7.lean.js deleted file mode 100644 index f8626dd4..00000000 --- a/docs/assets/env_filesys.md.TIGgXrh7.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,o as s,c as a,R as e}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"FileSys","description":"","frontmatter":{},"headers":[],"relativePath":"env/filesys.md","filePath":"env/filesys.md","lastUpdated":1700306874000}'),t={name:"env/filesys.md"},n=e("",126),h=[n];function l(p,r,d,k,o,c){return s(),a("div",null,h)}const u=i(t,[["render",l]]);export{E as __pageData,u as default}; diff --git a/docs/assets/env_logger.md.Bg3VjvE1.js b/docs/assets/env_logger.md.Bg3VjvE1.js new file mode 100644 index 00000000..f575aa35 --- /dev/null +++ b/docs/assets/env_logger.md.Bg3VjvE1.js @@ -0,0 +1,19 @@ +import{_ as a,c as t,a2 as e,o as i}from"./chunks/framework.CdbxnhrM.js";const k=JSON.parse('{"title":"Logger","description":"","frontmatter":{},"headers":[],"relativePath":"env/logger.md","filePath":"env/logger.md","lastUpdated":1700306874000}'),n={name:"env/logger.md"};function h(l,s,d,o,r,p){return i(),t("div",null,s[0]||(s[0]=[e(`

Logger

This page is about the Logger class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Logger class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

Log(message, filePath, dateTime)

Definition

The Log() method logs a specific message alongside a timestamp into a file. This method does not return a value (void).

INFO

You can call this method multiple times on the same file and it will append the message to it.

Arguments

TypeNameMeaning
stringmessageThe message or text that needs to be logged.
stringfilePathThe path where the file should be written.
DateTimedateTimeThe timestamp of the log, the time when the log was made.

Usage

c#
using PeyrSharp.Env;
+
+Logger.Log("Hello", @"C:\\Logs\\log1.txt", DateTime.Now)
+// The line above will generate a file with the following content:
+// [10/31/2022 09:23:18] Hello

Log(message, filePath, formatString)

Definition

Logs a formatted message to a file. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe log message to be written.
stringfilePathThe path to the log file. Must contain an extension.
object[]formatStringAn object array that contains zero or more objects to format.

Usage

c#
using PeyrSharp.Env;
+
+string message = "This is a log message. Date: {0}.";
+string filePath = @"C:\\Logs\\log.txt";
+DateTime date = DateTime.Now;
+
+Logger.Log(message, filePath, date);

Log(message, filePath, dateTime, logLevel)

Definition

Logs a message with the specified severity level, file path, and timestamp. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe message to log.
stringfilePathThe path to the file where the message was logged.
DateTimedateTimeThe timestamp for the log message.
LogLevellogLevelThe severity level for the log message.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+string message = "This is a log message.";
+string filePath = @"C:\\Logs\\log.txt";
+DateTime date = DateTime.Now;
+LogLevel logLevel = LogLevel.Warning;
+
+Logger.Log(message, filePath, date, logLevel);
`,30)]))}const c=a(n,[["render",h]]);export{k as __pageData,c as default}; diff --git a/docs/assets/env_logger.md.Bg3VjvE1.lean.js b/docs/assets/env_logger.md.Bg3VjvE1.lean.js new file mode 100644 index 00000000..f575aa35 --- /dev/null +++ b/docs/assets/env_logger.md.Bg3VjvE1.lean.js @@ -0,0 +1,19 @@ +import{_ as a,c as t,a2 as e,o as i}from"./chunks/framework.CdbxnhrM.js";const k=JSON.parse('{"title":"Logger","description":"","frontmatter":{},"headers":[],"relativePath":"env/logger.md","filePath":"env/logger.md","lastUpdated":1700306874000}'),n={name:"env/logger.md"};function h(l,s,d,o,r,p){return i(),t("div",null,s[0]||(s[0]=[e(`

Logger

This page is about the Logger class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Logger class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

Log(message, filePath, dateTime)

Definition

The Log() method logs a specific message alongside a timestamp into a file. This method does not return a value (void).

INFO

You can call this method multiple times on the same file and it will append the message to it.

Arguments

TypeNameMeaning
stringmessageThe message or text that needs to be logged.
stringfilePathThe path where the file should be written.
DateTimedateTimeThe timestamp of the log, the time when the log was made.

Usage

c#
using PeyrSharp.Env;
+
+Logger.Log("Hello", @"C:\\Logs\\log1.txt", DateTime.Now)
+// The line above will generate a file with the following content:
+// [10/31/2022 09:23:18] Hello

Log(message, filePath, formatString)

Definition

Logs a formatted message to a file. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe log message to be written.
stringfilePathThe path to the log file. Must contain an extension.
object[]formatStringAn object array that contains zero or more objects to format.

Usage

c#
using PeyrSharp.Env;
+
+string message = "This is a log message. Date: {0}.";
+string filePath = @"C:\\Logs\\log.txt";
+DateTime date = DateTime.Now;
+
+Logger.Log(message, filePath, date);

Log(message, filePath, dateTime, logLevel)

Definition

Logs a message with the specified severity level, file path, and timestamp. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe message to log.
stringfilePathThe path to the file where the message was logged.
DateTimedateTimeThe timestamp for the log message.
LogLevellogLevelThe severity level for the log message.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Env;
+
+string message = "This is a log message.";
+string filePath = @"C:\\Logs\\log.txt";
+DateTime date = DateTime.Now;
+LogLevel logLevel = LogLevel.Warning;
+
+Logger.Log(message, filePath, date, logLevel);
`,30)]))}const c=a(n,[["render",h]]);export{k as __pageData,c as default}; diff --git a/docs/assets/env_logger.md.haCHq5w_.js b/docs/assets/env_logger.md.haCHq5w_.js deleted file mode 100644 index 483b9991..00000000 --- a/docs/assets/env_logger.md.haCHq5w_.js +++ /dev/null @@ -1,19 +0,0 @@ -import{_ as s,o as a,c as t,R as e}from"./chunks/framework.q7IuVqhY.js";const m=JSON.parse('{"title":"Logger","description":"","frontmatter":{},"headers":[],"relativePath":"env/logger.md","filePath":"env/logger.md","lastUpdated":1700306874000}'),i={name:"env/logger.md"},h=e(`

Logger

This page is about the Logger class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Logger class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

Log(message, filePath, dateTime)

Definition

The Log() method logs a specific message alongside a timestamp into a file. This method does not return a value (void).

INFO

You can call this method multiple times on the same file and it will append the message to it.

Arguments

TypeNameMeaning
stringmessageThe message or text that needs to be logged.
stringfilePathThe path where the file should be written.
DateTimedateTimeThe timestamp of the log, the time when the log was made.

Usage

c#
using PeyrSharp.Env;
-
-Logger.Log("Hello", @"C:\\Logs\\log1.txt", DateTime.Now)
-// The line above will generate a file with the following content:
-// [10/31/2022 09:23:18] Hello

Log(message, filePath, formatString)

Definition

Logs a formatted message to a file. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe log message to be written.
stringfilePathThe path to the log file. Must contain an extension.
object[]formatStringAn object array that contains zero or more objects to format.

Usage

c#
using PeyrSharp.Env;
-
-string message = "This is a log message. Date: {0}.";
-string filePath = @"C:\\Logs\\log.txt";
-DateTime date = DateTime.Now;
-
-Logger.Log(message, filePath, date);

Log(message, filePath, dateTime, logLevel)

Definition

Logs a message with the specified severity level, file path, and timestamp. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe message to log.
stringfilePathThe path to the file where the message was logged.
DateTimedateTimeThe timestamp for the log message.
LogLevellogLevelThe severity level for the log message.

Usage

c#
using PeyrSharp.Enums;
-using PeyrSharp.Env;
-
-string message = "This is a log message.";
-string filePath = @"C:\\Logs\\log.txt";
-DateTime date = DateTime.Now;
-LogLevel logLevel = LogLevel.Warning;
-
-Logger.Log(message, filePath, date, logLevel);
`,30),n=[h];function l(d,o,r,p,g,k){return a(),t("div",null,n)}const E=s(i,[["render",l]]);export{m as __pageData,E as default}; diff --git a/docs/assets/env_logger.md.haCHq5w_.lean.js b/docs/assets/env_logger.md.haCHq5w_.lean.js deleted file mode 100644 index d36b500c..00000000 --- a/docs/assets/env_logger.md.haCHq5w_.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as t,R as e}from"./chunks/framework.q7IuVqhY.js";const m=JSON.parse('{"title":"Logger","description":"","frontmatter":{},"headers":[],"relativePath":"env/logger.md","filePath":"env/logger.md","lastUpdated":1700306874000}'),i={name:"env/logger.md"},h=e("",30),n=[h];function l(d,o,r,p,g,k){return a(),t("div",null,n)}const E=s(i,[["render",l]]);export{m as __pageData,E as default}; diff --git a/docs/assets/env_system.md.u0SfBOIo.js b/docs/assets/env_system.md.B6EIUxOU.js similarity index 61% rename from docs/assets/env_system.md.u0SfBOIo.js rename to docs/assets/env_system.md.B6EIUxOU.js index 47c683c2..a5c12789 100644 --- a/docs/assets/env_system.md.u0SfBOIo.js +++ b/docs/assets/env_system.md.B6EIUxOU.js @@ -1,31 +1,31 @@ -import{_ as s,o as i,c as a,R as n}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"Sys","description":"","frontmatter":{},"headers":[],"relativePath":"env/system.md","filePath":"env/system.md","lastUpdated":1700306874000}'),e={name:"env/system.md"},t=n(`

Sys

This page is about the Sys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The Sys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

ExecuteAsAdmin(process)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
ProcessprocessThe process to launch as admin.

Usage

c#
using PeyrSharp.Env;
+import{_ as i,c as a,a2 as n,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Sys","description":"","frontmatter":{},"headers":[],"relativePath":"env/system.md","filePath":"env/system.md","lastUpdated":1700306874000}'),t={name:"env/system.md"};function h(l,s,p,k,r,d){return e(),a("div",null,s[0]||(s[0]=[n(`

Sys

This page is about the Sys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The Sys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

ExecuteAsAdmin(process)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
ProcessprocessThe process to launch as admin.

Usage

c#
using PeyrSharp.Env;
 
 // Define a process
 Process p = new();
 p.StartInfo.FileName = "notepad.exe";
 
-Sys.ExecuteAsAdmin(p);

ExecuteAsAdmin(fileName)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringfileNameThe path to the program to launch in admin mode.

Usage

c#
using PeyrSharp.Env;
+Sys.ExecuteAsAdmin(p);

ExecuteAsAdmin(fileName)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringfileNameThe path to the program to launch in admin mode.

Usage

c#
using PeyrSharp.Env;
 
-Sys.ExecuteAsAdmin("notepad.exe");

LaunchUWPApp(packageFamilyName, applicationID)

Definition

This method allows you to launch an UWP app from its PackageFamilyName and its Application Id. You can find this information by running in Windows Powershell (admin) the following command:

powershell
Get-AppxPackage | Select PackageFamilyName, InstallLocation

You can find the Application Id in the AppxManifest.xml file in

txt
InstallLocation\\AppxManifest.xml

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringpackageFamilyNameThe PackageFamilyName property.
stringapplicationIDThe Application Id property in the UWP AppxManifest.xml file.

Usage

c#
using PeyrSharp.Env;
+Sys.ExecuteAsAdmin("notepad.exe");

LaunchUWPApp(packageFamilyName, applicationID)

Definition

This method allows you to launch an UWP app from its PackageFamilyName and its Application Id. You can find this information by running in Windows Powershell (admin) the following command:

powershell
Get-AppxPackage | Select PackageFamilyName, InstallLocation

You can find the Application Id in the AppxManifest.xml file in

txt
InstallLocation\\AppxManifest.xml

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringpackageFamilyNameThe PackageFamilyName property.
stringapplicationIDThe Application Id property in the UWP AppxManifest.xml file.

Usage

c#
using PeyrSharp.Env;
 
-Sys.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch Minecraft UWP

LaunchUWPApp(uwpApp)

Definition

Launches a UWP application using information from a UwpApp object.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
UwpAppuwpAppThe UWP application to launch.

Usage

c#
using PeyrSharp.Env;
-Sys.LaunchUWPApp(myApp);

IsProcessRunning(processName)

Definition

Gets if a specified process name is currently running. Returns a bool value indicating whether the process is running (true) or not running (false).

Arguments

TypeNameMeaning
stringprocessNameThe process name to find.

Usage

c#
using PeyrSharp.Env;
+Sys.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch Minecraft UWP

LaunchUWPApp(uwpApp)

Definition

Launches a UWP application using information from a UwpApp object.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
UwpAppuwpAppThe UWP application to launch.

Usage

c#
using PeyrSharp.Env;
+Sys.LaunchUWPApp(myApp);

IsProcessRunning(processName)

Definition

Gets if a specified process name is currently running. Returns a bool value indicating whether the process is running (true) or not running (false).

Arguments

TypeNameMeaning
stringprocessNameThe process name to find.

Usage

c#
using PeyrSharp.Env;
 
-bool isNotepadRunning = Sys.IsProcessRunning("notepad");

TerminateProcess(processId)

Definition

Terminates a process with the specified process ID. Returns True if the process was successfully terminated, or False if no such process was found or if an error occurred while trying to terminate the process.

Arguments

TypeNameMeaning
intprocessIdThe ID of the process to terminate.

Usage

c#
using PeyrSharp.Env;
+bool isNotepadRunning = Sys.IsProcessRunning("notepad");

TerminateProcess(processId)

Definition

Terminates a process with the specified process ID. Returns True if the process was successfully terminated, or False if no such process was found or if an error occurred while trying to terminate the process.

Arguments

TypeNameMeaning
intprocessIdThe ID of the process to terminate.

Usage

c#
using PeyrSharp.Env;
 
 int processId = 12345;
 
-bool result = Sys.TerminateProcess(processId);

GetUwpAppsAsync()

Definition

Retrieves a list of UWP (Universal Windows Platform) apps asynchronously. Returns a task that represents the asynchronous operation. The task result contains a list of UwpApp objects representing the UWP apps.

WARNING

This method only works on Windows 10 and higher.

This method retrieves a list of UWP apps on the system using PowerShell. It saves the app information in a JSON file and then reads the file to deserialize it into a list of UwpApp objects. The list is then sorted alphabetically based on the app names before being returned.

This is the PowerShell command that is called:

powershell
Get-StartApps | ConvertTo-Json > $env:appdata\\UwpApps.json

Usage

csharp
using PeyrSharp.Env;
+bool result = Sys.TerminateProcess(processId);

GetUwpAppsAsync()

Definition

Retrieves a list of UWP (Universal Windows Platform) apps asynchronously. Returns a task that represents the asynchronous operation. The task result contains a list of UwpApp objects representing the UWP apps.

WARNING

This method only works on Windows 10 and higher.

This method retrieves a list of UWP apps on the system using PowerShell. It saves the app information in a JSON file and then reads the file to deserialize it into a list of UwpApp objects. The list is then sorted alphabetically based on the app names before being returned.

This is the PowerShell command that is called:

powershell
Get-StartApps | ConvertTo-Json > $env:appdata\\UwpApps.json

Usage

csharp
using PeyrSharp.Env;
 
 internal static async void Main()
 {
     List<UwpApp> appsList = await Sys.GetUwpAppsAsync();
-}

Properties

CurrentOperatingSystem

Definition

c#
public static OperatingSystems CurrentOperatingSystem { get; }

Gets the current Operating system. Returns a OperatingSystems value. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+}

Properties

CurrentOperatingSystem

Definition

c#
public static OperatingSystems CurrentOperatingSystem { get; }

Gets the current Operating system. Returns a OperatingSystems value. You can only get this property.

Usage

c#
using PeyrSharp.Env;
 
 if (Sys.CurrentOperatingSystem == OperatingSystems.Windows)
 {
     Console.WriteLine("You are on Windows");
-}

CurrentWindowsVersion

Definition

c#
public static WindowsVersion CurrentWindowsVersion { get; }

Gets the current Windows version. Returns a WindowsVersion value. You can only get this property.

WARNING

This property only works on Windows.

DANGER

This property only works if you specify in the Application Manifest, in the compatibility section, that Windows 8, 8.1 and 10/11 are compatible with the software. Otherwise, it will return Windows8.

xml
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+}

CurrentWindowsVersion

Definition

c#
public static WindowsVersion CurrentWindowsVersion { get; }

Gets the current Windows version. Returns a WindowsVersion value. You can only get this property.

WARNING

This property only works on Windows.

DANGER

This property only works if you specify in the Application Manifest, in the compatibility section, that Windows 8, 8.1 and 10/11 are compatible with the software. Otherwise, it will return Windows8.

xml
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
     <application>
       <!-- Windows Vista -->
       <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
@@ -42,18 +42,18 @@ import{_ as s,o as i,c as a,R as n}from"./chunks/framework.q7IuVqhY.js";const E=
       <!-- Windows 10 -->
       <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
     </application>
-</compatibility>

Usage

c#
using PeyrSharp.Env;
+</compatibility>

Usage

c#
using PeyrSharp.Env;
 
 if (Sys.CurrentWindowsVersion == WindowsVersion.Windows11)
 {
     Console.WriteLine("You are on Windows 11");
-}

IsDarkThemeSupported

Definition

c#
public static bool IsDarkThemeSupported { get; }

Gets if the current Windows version supports dark theme. Returns a bool value. You can only get this property.

WARNING

This property only works on Windows.

Usage

c#
using PeyrSharp.Env;
+}

IsDarkThemeSupported

Definition

c#
public static bool IsDarkThemeSupported { get; }

Gets if the current Windows version supports dark theme. Returns a bool value. You can only get this property.

WARNING

This property only works on Windows.

Usage

c#
using PeyrSharp.Env;
 
 if (Sys.IsDarkThemeSupported)
 {
     Console.WriteLine("You are running Windows 10 or higher.");
-}

CurrentTheme

Definition

c#
[SupportedOSPlatform("windows")]
-public static SystemThemes CurrentTheme { get; }

Gets the current theme. Returns a SystemThemes value. You can only get this property.

WARNING

This property only works on Windows 10/11.

Usage

c#
using Microsoft.Win32;
+}

CurrentTheme

Definition

c#
[SupportedOSPlatform("windows")]
+public static SystemThemes CurrentTheme { get; }

Gets the current theme. Returns a SystemThemes value. You can only get this property.

WARNING

This property only works on Windows 10/11.

Usage

c#
using Microsoft.Win32;
 using PeyrSharp.Env;
 
 if (Sys.CurrentTheme == SystemThemes.Light)
@@ -67,20 +67,20 @@ import{_ as s,o as i,c as a,R as n}from"./chunks/framework.q7IuVqhY.js";const E=
 else
 {
     Console.WriteLine("The current theme is unknown."); // Might happen on other versions than Windows 10/11
-}

RunningProcesses

Definition

c#
public static Process[] RunningProcesses { get; }

Gets the processes that are currently running. Returns a Process[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+}

RunningProcesses

Definition

c#
public static Process[] RunningProcesses { get; }

Gets the processes that are currently running. Returns a Process[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
 
 Process[] procs = Sys.RunningProcesses;
 
 for (int i = 0; i < procs.Length; i++)
 {
     Console.WriteLine(procs[i].ProcessName); // Print the name of all running processes
-}

RunningProcessesNames

Definition

c#
public static string[] RunningProcessesNames { get; }

Gets the names of the processes that are currently running. Returns a string[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+}

RunningProcessesNames

Definition

c#
public static string[] RunningProcessesNames { get; }

Gets the names of the processes that are currently running. Returns a string[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
 
 string[] procs = Sys.RunningProcessesNames;
 
 for (int i = 0; i < procs.Length; i++)
 {
     Console.WriteLine(procs[i]); // Print the name of all running processes
-}

UnixTime

Definition

c#
public static int Unix { get; }

Gets the current UnixTime. Returns an int. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+}

UnixTime

Definition

c#
public static int Unix { get; }

Gets the current UnixTime. Returns an int. You can only get this property.

Usage

c#
using PeyrSharp.Env;
 
-int unixTime = Sys.UnixTime;
`,114),h=[t];function l(p,k,r,d,o,c){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{E as __pageData,y as default}; +int unixTime = Sys.UnixTime;
`,114)]))}const g=i(t,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/env_system.md.B6EIUxOU.lean.js b/docs/assets/env_system.md.B6EIUxOU.lean.js new file mode 100644 index 00000000..a5c12789 --- /dev/null +++ b/docs/assets/env_system.md.B6EIUxOU.lean.js @@ -0,0 +1,86 @@ +import{_ as i,c as a,a2 as n,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Sys","description":"","frontmatter":{},"headers":[],"relativePath":"env/system.md","filePath":"env/system.md","lastUpdated":1700306874000}'),t={name:"env/system.md"};function h(l,s,p,k,r,d){return e(),a("div",null,s[0]||(s[0]=[n(`

Sys

This page is about the Sys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The Sys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

ExecuteAsAdmin(process)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
ProcessprocessThe process to launch as admin.

Usage

c#
using PeyrSharp.Env;
+
+// Define a process
+Process p = new();
+p.StartInfo.FileName = "notepad.exe";
+
+Sys.ExecuteAsAdmin(p);

ExecuteAsAdmin(fileName)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringfileNameThe path to the program to launch in admin mode.

Usage

c#
using PeyrSharp.Env;
+
+Sys.ExecuteAsAdmin("notepad.exe");

LaunchUWPApp(packageFamilyName, applicationID)

Definition

This method allows you to launch an UWP app from its PackageFamilyName and its Application Id. You can find this information by running in Windows Powershell (admin) the following command:

powershell
Get-AppxPackage | Select PackageFamilyName, InstallLocation

You can find the Application Id in the AppxManifest.xml file in

txt
InstallLocation\\AppxManifest.xml

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringpackageFamilyNameThe PackageFamilyName property.
stringapplicationIDThe Application Id property in the UWP AppxManifest.xml file.

Usage

c#
using PeyrSharp.Env;
+
+Sys.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch Minecraft UWP

LaunchUWPApp(uwpApp)

Definition

Launches a UWP application using information from a UwpApp object.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
UwpAppuwpAppThe UWP application to launch.

Usage

c#
using PeyrSharp.Env;
+Sys.LaunchUWPApp(myApp);

IsProcessRunning(processName)

Definition

Gets if a specified process name is currently running. Returns a bool value indicating whether the process is running (true) or not running (false).

Arguments

TypeNameMeaning
stringprocessNameThe process name to find.

Usage

c#
using PeyrSharp.Env;
+
+bool isNotepadRunning = Sys.IsProcessRunning("notepad");

TerminateProcess(processId)

Definition

Terminates a process with the specified process ID. Returns True if the process was successfully terminated, or False if no such process was found or if an error occurred while trying to terminate the process.

Arguments

TypeNameMeaning
intprocessIdThe ID of the process to terminate.

Usage

c#
using PeyrSharp.Env;
+
+int processId = 12345;
+
+bool result = Sys.TerminateProcess(processId);

GetUwpAppsAsync()

Definition

Retrieves a list of UWP (Universal Windows Platform) apps asynchronously. Returns a task that represents the asynchronous operation. The task result contains a list of UwpApp objects representing the UWP apps.

WARNING

This method only works on Windows 10 and higher.

This method retrieves a list of UWP apps on the system using PowerShell. It saves the app information in a JSON file and then reads the file to deserialize it into a list of UwpApp objects. The list is then sorted alphabetically based on the app names before being returned.

This is the PowerShell command that is called:

powershell
Get-StartApps | ConvertTo-Json > $env:appdata\\UwpApps.json

Usage

csharp
using PeyrSharp.Env;
+
+internal static async void Main()
+{
+    List<UwpApp> appsList = await Sys.GetUwpAppsAsync();
+}

Properties

CurrentOperatingSystem

Definition

c#
public static OperatingSystems CurrentOperatingSystem { get; }

Gets the current Operating system. Returns a OperatingSystems value. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+if (Sys.CurrentOperatingSystem == OperatingSystems.Windows)
+{
+    Console.WriteLine("You are on Windows");
+}

CurrentWindowsVersion

Definition

c#
public static WindowsVersion CurrentWindowsVersion { get; }

Gets the current Windows version. Returns a WindowsVersion value. You can only get this property.

WARNING

This property only works on Windows.

DANGER

This property only works if you specify in the Application Manifest, in the compatibility section, that Windows 8, 8.1 and 10/11 are compatible with the software. Otherwise, it will return Windows8.

xml
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+    <application>
+      <!-- Windows Vista -->
+      <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
+
+      <!-- Windows 7 -->
+      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
+
+      <!-- Windows 8 -->
+      <supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
+
+      <!-- Windows 8.1 -->
+      <supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
+
+      <!-- Windows 10 -->
+      <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
+    </application>
+</compatibility>

Usage

c#
using PeyrSharp.Env;
+
+if (Sys.CurrentWindowsVersion == WindowsVersion.Windows11)
+{
+    Console.WriteLine("You are on Windows 11");
+}

IsDarkThemeSupported

Definition

c#
public static bool IsDarkThemeSupported { get; }

Gets if the current Windows version supports dark theme. Returns a bool value. You can only get this property.

WARNING

This property only works on Windows.

Usage

c#
using PeyrSharp.Env;
+
+if (Sys.IsDarkThemeSupported)
+{
+    Console.WriteLine("You are running Windows 10 or higher.");
+}

CurrentTheme

Definition

c#
[SupportedOSPlatform("windows")]
+public static SystemThemes CurrentTheme { get; }

Gets the current theme. Returns a SystemThemes value. You can only get this property.

WARNING

This property only works on Windows 10/11.

Usage

c#
using Microsoft.Win32;
+using PeyrSharp.Env;
+
+if (Sys.CurrentTheme == SystemThemes.Light)
+{
+    Console.WriteLine("The current theme is light.");
+}
+else if (Sys.CurrentTheme == SystemThemes.Dark)
+{
+    Console.WriteLine("The current theme is dark.");
+}
+else
+{
+    Console.WriteLine("The current theme is unknown."); // Might happen on other versions than Windows 10/11
+}

RunningProcesses

Definition

c#
public static Process[] RunningProcesses { get; }

Gets the processes that are currently running. Returns a Process[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+Process[] procs = Sys.RunningProcesses;
+
+for (int i = 0; i < procs.Length; i++)
+{
+    Console.WriteLine(procs[i].ProcessName); // Print the name of all running processes
+}

RunningProcessesNames

Definition

c#
public static string[] RunningProcessesNames { get; }

Gets the names of the processes that are currently running. Returns a string[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+string[] procs = Sys.RunningProcessesNames;
+
+for (int i = 0; i < procs.Length; i++)
+{
+    Console.WriteLine(procs[i]); // Print the name of all running processes
+}

UnixTime

Definition

c#
public static int Unix { get; }

Gets the current UnixTime. Returns an int. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+
+int unixTime = Sys.UnixTime;
`,114)]))}const g=i(t,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/env_system.md.u0SfBOIo.lean.js b/docs/assets/env_system.md.u0SfBOIo.lean.js deleted file mode 100644 index 4ced9792..00000000 --- a/docs/assets/env_system.md.u0SfBOIo.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as n}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"Sys","description":"","frontmatter":{},"headers":[],"relativePath":"env/system.md","filePath":"env/system.md","lastUpdated":1700306874000}'),e={name:"env/system.md"},t=n("",114),h=[t];function l(p,k,r,d,o,c){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{E as __pageData,y as default}; diff --git a/docs/assets/env_update.md.o0BN52kR.lean.js b/docs/assets/env_update.md.o0BN52kR.lean.js deleted file mode 100644 index e479a26e..00000000 --- a/docs/assets/env_update.md.o0BN52kR.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as a,c as i,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Update","description":"","frontmatter":{},"headers":[],"relativePath":"env/update.md","filePath":"env/update.md","lastUpdated":1700306874000}'),e={name:"env/update.md"},n=t("",24),h=[n];function l(r,o,d,p,k,c){return a(),i("div",null,h)}const E=s(e,[["render",l]]);export{u as __pageData,E as default}; diff --git a/docs/assets/env_update.md.o0BN52kR.js b/docs/assets/env_update.md.ulgnx1xz.js similarity index 52% rename from docs/assets/env_update.md.o0BN52kR.js rename to docs/assets/env_update.md.ulgnx1xz.js index 5971aeca..aec25b8d 100644 --- a/docs/assets/env_update.md.o0BN52kR.js +++ b/docs/assets/env_update.md.ulgnx1xz.js @@ -1,10 +1,10 @@ -import{_ as s,o as a,c as i,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Update","description":"","frontmatter":{},"headers":[],"relativePath":"env/update.md","filePath":"env/update.md","lastUpdated":1700306874000}'),e={name:"env/update.md"},n=t(`

Update

This page is about the Update class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Update class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetLastVersionAsync(url)

Definition

Downloads the content of remote file as string. The remote file should contain the last version text. Do not provide the URL of an HTML page.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlLink of the file where the latest version is stored.

Usage

c#
using PeyrSharp.Env;
+import{_ as a,c as i,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Update","description":"","frontmatter":{},"headers":[],"relativePath":"env/update.md","filePath":"env/update.md","lastUpdated":1700306874000}'),n={name:"env/update.md"};function h(l,s,r,o,d,p){return e(),i("div",null,s[0]||(s[0]=[t(`

Update

This page is about the Update class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Update class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetLastVersionAsync(url)

Definition

Downloads the content of remote file as string. The remote file should contain the last version text. Do not provide the URL of an HTML page.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlLink of the file where the latest version is stored.

Usage

c#
using PeyrSharp.Env;
 
 private async void Main()
 {
     string lastVersion = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
     // lastVersion would be equal to the content of this text files
-}

IsAvailable(currentVersion, remoteVersion)

Definition

Compares two versions. Returns a bool.

INFO

It is recommended to use this method with the GetLastVersionAsync() one.

Arguments

TypeNameMeaning
stringcurrentVersionThe current version of the app.
stringremoveVersionThe latest version, stored remotely.

Usage

c#
using PeyrSharp.Env;
+}

IsAvailable(currentVersion, remoteVersion)

Definition

Compares two versions. Returns a bool.

INFO

It is recommended to use this method with the GetLastVersionAsync() one.

Arguments

TypeNameMeaning
stringcurrentVersionThe current version of the app.
stringremoveVersionThe latest version, stored remotely.

Usage

c#
using PeyrSharp.Env;
 
 private async void Main()
 {
@@ -14,4 +14,4 @@ import{_ as s,o as a,c as i,R as t}from"./chunks/framework.q7IuVqhY.js";const u=
     Console.WriteLine(Update.IsAvailable(current, last)
         ? "Updates are available."
         : "You are up-to-date.");
-}
`,24),h=[n];function l(r,o,d,p,k,c){return a(),i("div",null,h)}const E=s(e,[["render",l]]);export{u as __pageData,E as default}; +}
`,24)]))}const g=a(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/env_update.md.ulgnx1xz.lean.js b/docs/assets/env_update.md.ulgnx1xz.lean.js new file mode 100644 index 00000000..aec25b8d --- /dev/null +++ b/docs/assets/env_update.md.ulgnx1xz.lean.js @@ -0,0 +1,17 @@ +import{_ as a,c as i,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Update","description":"","frontmatter":{},"headers":[],"relativePath":"env/update.md","filePath":"env/update.md","lastUpdated":1700306874000}'),n={name:"env/update.md"};function h(l,s,r,o,d,p){return e(),i("div",null,s[0]||(s[0]=[t(`

Update

This page is about the Update class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Update class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetLastVersionAsync(url)

Definition

Downloads the content of remote file as string. The remote file should contain the last version text. Do not provide the URL of an HTML page.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlLink of the file where the latest version is stored.

Usage

c#
using PeyrSharp.Env;
+
+private async void Main()
+{
+    string lastVersion = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
+    // lastVersion would be equal to the content of this text files
+}

IsAvailable(currentVersion, remoteVersion)

Definition

Compares two versions. Returns a bool.

INFO

It is recommended to use this method with the GetLastVersionAsync() one.

Arguments

TypeNameMeaning
stringcurrentVersionThe current version of the app.
stringremoveVersionThe latest version, stored remotely.

Usage

c#
using PeyrSharp.Env;
+
+private async void Main()
+{
+    string current = "1.0";
+    string last = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
+
+    Console.WriteLine(Update.IsAvailable(current, last)
+        ? "Updates are available."
+        : "You are up-to-date.");
+}
`,24)]))}const g=a(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/env_uwpapp.md.1DykwYWJ.js b/docs/assets/env_uwpapp.md.1DykwYWJ.js deleted file mode 100644 index 0b24075d..00000000 --- a/docs/assets/env_uwpapp.md.1DykwYWJ.js +++ /dev/null @@ -1,9 +0,0 @@ -import{_ as a,o as s,c as i,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"UwpApp","description":"","frontmatter":{},"headers":[],"relativePath":"env/uwpapp.md","filePath":"env/uwpapp.md","lastUpdated":1700306874000}'),e={name:"env/uwpapp.md"},p=t(`

UwpApp

This page is about the UwpApp class available in PeyrSharp.Env. It Represents a simplified version of a UWP app object.

Compatibility

The UwpApp class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Properties

Name

Definition

c#
public static string Name { get; init; }

The name of the UWP app.

Usage

c#
// Create a UwpApp object
-UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
-
-// Access the properties of the UwpApp object
-Console.WriteLine(uwpApp.Name); // Output: MyApp

AppID

Definition

c#
public static string Name { get; init; }

The App ID in the Package Family Name property.

Usage

c#
// Create a UwpApp object
-UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
-
-// Access the properties of the UwpApp object
-Console.WriteLine(uwpApp.AppID); // Output: com.example.myapp
`,19),n=[p];function h(l,o,r,d,k,c){return s(),i("div",null,n)}const y=a(e,[["render",h]]);export{u as __pageData,y as default}; diff --git a/docs/assets/env_uwpapp.md.1DykwYWJ.lean.js b/docs/assets/env_uwpapp.md.1DykwYWJ.lean.js deleted file mode 100644 index 4259616b..00000000 --- a/docs/assets/env_uwpapp.md.1DykwYWJ.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as i,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"UwpApp","description":"","frontmatter":{},"headers":[],"relativePath":"env/uwpapp.md","filePath":"env/uwpapp.md","lastUpdated":1700306874000}'),e={name:"env/uwpapp.md"},p=t("",19),n=[p];function h(l,o,r,d,k,c){return s(),i("div",null,n)}const y=a(e,[["render",h]]);export{u as __pageData,y as default}; diff --git a/docs/assets/env_uwpapp.md.CdbJcp25.js b/docs/assets/env_uwpapp.md.CdbJcp25.js new file mode 100644 index 00000000..0e804b4d --- /dev/null +++ b/docs/assets/env_uwpapp.md.CdbJcp25.js @@ -0,0 +1,9 @@ +import{_ as s,c as i,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"UwpApp","description":"","frontmatter":{},"headers":[],"relativePath":"env/uwpapp.md","filePath":"env/uwpapp.md","lastUpdated":1700306874000}'),p={name:"env/uwpapp.md"};function n(h,a,l,r,o,d){return e(),i("div",null,a[0]||(a[0]=[t(`

UwpApp

This page is about the UwpApp class available in PeyrSharp.Env. It Represents a simplified version of a UWP app object.

Compatibility

The UwpApp class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Properties

Name

Definition

c#
public static string Name { get; init; }

The name of the UWP app.

Usage

c#
// Create a UwpApp object
+UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
+
+// Access the properties of the UwpApp object
+Console.WriteLine(uwpApp.Name); // Output: MyApp

AppID

Definition

c#
public static string Name { get; init; }

The App ID in the Package Family Name property.

Usage

c#
// Create a UwpApp object
+UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
+
+// Access the properties of the UwpApp object
+Console.WriteLine(uwpApp.AppID); // Output: com.example.myapp
`,19)]))}const g=s(p,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/env_uwpapp.md.CdbJcp25.lean.js b/docs/assets/env_uwpapp.md.CdbJcp25.lean.js new file mode 100644 index 00000000..0e804b4d --- /dev/null +++ b/docs/assets/env_uwpapp.md.CdbJcp25.lean.js @@ -0,0 +1,9 @@ +import{_ as s,c as i,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"UwpApp","description":"","frontmatter":{},"headers":[],"relativePath":"env/uwpapp.md","filePath":"env/uwpapp.md","lastUpdated":1700306874000}'),p={name:"env/uwpapp.md"};function n(h,a,l,r,o,d){return e(),i("div",null,a[0]||(a[0]=[t(`

UwpApp

This page is about the UwpApp class available in PeyrSharp.Env. It Represents a simplified version of a UWP app object.

Compatibility

The UwpApp class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Properties

Name

Definition

c#
public static string Name { get; init; }

The name of the UWP app.

Usage

c#
// Create a UwpApp object
+UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
+
+// Access the properties of the UwpApp object
+Console.WriteLine(uwpApp.Name); // Output: MyApp

AppID

Definition

c#
public static string Name { get; init; }

The App ID in the Package Family Name property.

Usage

c#
// Create a UwpApp object
+UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
+
+// Access the properties of the UwpApp object
+Console.WriteLine(uwpApp.AppID); // Output: com.example.myapp
`,19)]))}const g=s(p,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/exceptions.md.owUguMWH.js b/docs/assets/exceptions.md.D68PZpIc.js similarity index 57% rename from docs/assets/exceptions.md.owUguMWH.js rename to docs/assets/exceptions.md.D68PZpIc.js index 0f09157a..85587783 100644 --- a/docs/assets/exceptions.md.owUguMWH.js +++ b/docs/assets/exceptions.md.D68PZpIc.js @@ -1,8 +1,8 @@ -import{_ as i,o as a,c as s,R as e}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"Exceptions","description":"","frontmatter":{},"headers":[],"relativePath":"exceptions.md","filePath":"exceptions.md","lastUpdated":1700306874000}'),t={name:"exceptions.md"},n=e(`

Exceptions

This page is about the exceptions available in PeyrSharp.Exceptions. They are grouped by category.

Compatibility

Exceptions are part of the PeyrSharp.Exceptions module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Exceptions
Framework.NET 6.NET 7.NET 8
Exceptions

Converters

RGBInvalidValueException

Definition

The RGBInvalidValueException is an exception used in the Converters class when you provide an invalid value for a RGB color.

Usage

c#
using PeyrSharp.Exceptions;
+import{_ as a,c as s,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Exceptions","description":"","frontmatter":{},"headers":[],"relativePath":"exceptions.md","filePath":"exceptions.md","lastUpdated":1700306874000}'),n={name:"exceptions.md"};function h(l,i,p,d,o,r){return t(),s("div",null,i[0]||(i[0]=[e(`

Exceptions

This page is about the exceptions available in PeyrSharp.Exceptions. They are grouped by category.

Compatibility

Exceptions are part of the PeyrSharp.Exceptions module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Exceptions
Framework.NET 6.NET 7.NET 8
Exceptions

Converters

RGBInvalidValueException

Definition

The RGBInvalidValueException is an exception used in the Converters class when you provide an invalid value for a RGB color.

Usage

c#
using PeyrSharp.Exceptions;
 
-throw new RGBInvalidValueException("Please provide correct RGB values.");

HEXInvalidValueException

Definition

The HEXInvalidValueException is an exception used in the Converters class when you provide an invalid value for a HEX color.

Usage

c#
using PeyrSharp.Exceptions;
+throw new RGBInvalidValueException("Please provide correct RGB values.");

HEXInvalidValueException

Definition

The HEXInvalidValueException is an exception used in the Converters class when you provide an invalid value for a HEX color.

Usage

c#
using PeyrSharp.Exceptions;
 
-throw new HEXInvalidValueException("Please provide a correct HEX value.");

Guid

InvalidGuidLengthException

Definition

The InvalidGuidLengthException is an exception used in the Guid class when you provide an invalid value for the length of the Guid. You should provide a length between 1-32.

Usage

c#
using PeyrSharp.Exceptions;
+throw new HEXInvalidValueException("Please provide a correct HEX value.");

Guid

InvalidGuidLengthException

Definition

The InvalidGuidLengthException is an exception used in the Guid class when you provide an invalid value for the length of the Guid. You should provide a length between 1-32.

Usage

c#
using PeyrSharp.Exceptions;
 
 // Guid length
 int length = 45; // Will throw an error
@@ -10,4 +10,4 @@ import{_ as i,o as a,c as s,R as e}from"./chunks/framework.q7IuVqhY.js";const E=
 if (length <= 0 || length > 32)
 {
     throw new InvalidGuidLengthException("The length of a Guid must be between 1 and 32.");
-}
`,22),h=[n];function l(p,o,d,r,k,c){return a(),s("div",null,h)}const u=i(t,[["render",l]]);export{E as __pageData,u as default}; +}
`,22)]))}const g=a(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/exceptions.md.D68PZpIc.lean.js b/docs/assets/exceptions.md.D68PZpIc.lean.js new file mode 100644 index 00000000..85587783 --- /dev/null +++ b/docs/assets/exceptions.md.D68PZpIc.lean.js @@ -0,0 +1,13 @@ +import{_ as a,c as s,a2 as e,o as t}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Exceptions","description":"","frontmatter":{},"headers":[],"relativePath":"exceptions.md","filePath":"exceptions.md","lastUpdated":1700306874000}'),n={name:"exceptions.md"};function h(l,i,p,d,o,r){return t(),s("div",null,i[0]||(i[0]=[e(`

Exceptions

This page is about the exceptions available in PeyrSharp.Exceptions. They are grouped by category.

Compatibility

Exceptions are part of the PeyrSharp.Exceptions module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Exceptions
Framework.NET 6.NET 7.NET 8
Exceptions

Converters

RGBInvalidValueException

Definition

The RGBInvalidValueException is an exception used in the Converters class when you provide an invalid value for a RGB color.

Usage

c#
using PeyrSharp.Exceptions;
+
+throw new RGBInvalidValueException("Please provide correct RGB values.");

HEXInvalidValueException

Definition

The HEXInvalidValueException is an exception used in the Converters class when you provide an invalid value for a HEX color.

Usage

c#
using PeyrSharp.Exceptions;
+
+throw new HEXInvalidValueException("Please provide a correct HEX value.");

Guid

InvalidGuidLengthException

Definition

The InvalidGuidLengthException is an exception used in the Guid class when you provide an invalid value for the length of the Guid. You should provide a length between 1-32.

Usage

c#
using PeyrSharp.Exceptions;
+
+// Guid length
+int length = 45; // Will throw an error
+
+if (length <= 0 || length > 32)
+{
+    throw new InvalidGuidLengthException("The length of a Guid must be between 1 and 32.");
+}
`,22)]))}const g=a(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/exceptions.md.owUguMWH.lean.js b/docs/assets/exceptions.md.owUguMWH.lean.js deleted file mode 100644 index ebb0b629..00000000 --- a/docs/assets/exceptions.md.owUguMWH.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,o as a,c as s,R as e}from"./chunks/framework.q7IuVqhY.js";const E=JSON.parse('{"title":"Exceptions","description":"","frontmatter":{},"headers":[],"relativePath":"exceptions.md","filePath":"exceptions.md","lastUpdated":1700306874000}'),t={name:"exceptions.md"},n=e("",22),h=[n];function l(p,o,d,r,k,c){return a(),s("div",null,h)}const u=i(t,[["render",l]]);export{E as __pageData,u as default}; diff --git a/docs/assets/extensions.md.SxcfOaqm.js b/docs/assets/extensions.md.SxcfOaqm.js new file mode 100644 index 00000000..cd9d58b7 --- /dev/null +++ b/docs/assets/extensions.md.SxcfOaqm.js @@ -0,0 +1 @@ +import{_ as e,c as a,a2 as s,o}from"./chunks/framework.CdbxnhrM.js";const p=JSON.parse('{"title":"Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions.md","filePath":"extensions.md","lastUpdated":1700306874000}'),n={name:"extensions.md"};function i(r,t,d,l,h,c){return o(),a("div",null,t[0]||(t[0]=[s('

Extensions

This page is about the PeyrSharp.Extensions module.

Compatibility

The PeyrSharp.Extensions module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Classes

',7)]))}const x=e(n,[["render",i]]);export{p as __pageData,x as default}; diff --git a/docs/assets/extensions.md.SxcfOaqm.lean.js b/docs/assets/extensions.md.SxcfOaqm.lean.js new file mode 100644 index 00000000..cd9d58b7 --- /dev/null +++ b/docs/assets/extensions.md.SxcfOaqm.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,a2 as s,o}from"./chunks/framework.CdbxnhrM.js";const p=JSON.parse('{"title":"Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions.md","filePath":"extensions.md","lastUpdated":1700306874000}'),n={name:"extensions.md"};function i(r,t,d,l,h,c){return o(),a("div",null,t[0]||(t[0]=[s('

Extensions

This page is about the PeyrSharp.Extensions module.

Compatibility

The PeyrSharp.Extensions module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Classes

',7)]))}const x=e(n,[["render",i]]);export{p as __pageData,x as default}; diff --git a/docs/assets/extensions.md.UC5A5ESv.js b/docs/assets/extensions.md.UC5A5ESv.js deleted file mode 100644 index 7df46de2..00000000 --- a/docs/assets/extensions.md.UC5A5ESv.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as s}from"./chunks/framework.q7IuVqhY.js";const x=JSON.parse('{"title":"Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions.md","filePath":"extensions.md","lastUpdated":1700306874000}'),o={name:"extensions.md"},n=s('

Extensions

This page is about the PeyrSharp.Extensions module.

Compatibility

The PeyrSharp.Extensions module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Classes

',7),i=[n];function r(d,l,h,c,m,_){return e(),a("div",null,i)}const f=t(o,[["render",r]]);export{x as __pageData,f as default}; diff --git a/docs/assets/extensions.md.UC5A5ESv.lean.js b/docs/assets/extensions.md.UC5A5ESv.lean.js deleted file mode 100644 index 260d42ed..00000000 --- a/docs/assets/extensions.md.UC5A5ESv.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as s}from"./chunks/framework.q7IuVqhY.js";const x=JSON.parse('{"title":"Extensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions.md","filePath":"extensions.md","lastUpdated":1700306874000}'),o={name:"extensions.md"},n=s("",7),i=[n];function r(d,l,h,c,m,_){return e(),a("div",null,i)}const f=t(o,[["render",r]]);export{x as __pageData,f as default}; diff --git a/docs/assets/extensions_array.md.19c-BdD1.lean.js b/docs/assets/extensions_array.md.19c-BdD1.lean.js deleted file mode 100644 index d0c57fc5..00000000 --- a/docs/assets/extensions_array.md.19c-BdD1.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=JSON.parse('{"title":"ArrayExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/array.md","filePath":"extensions/array.md","lastUpdated":1700306874000}'),e={name:"extensions/array.md"},n=t("",42),h=[n];function l(r,p,k,d,o,E){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{c as __pageData,y as default}; diff --git a/docs/assets/extensions_array.md.19c-BdD1.js b/docs/assets/extensions_array.md.CnLMU1VT.js similarity index 63% rename from docs/assets/extensions_array.md.19c-BdD1.js rename to docs/assets/extensions_array.md.CnLMU1VT.js index aa2a58f4..72a7bbb1 100644 --- a/docs/assets/extensions_array.md.19c-BdD1.js +++ b/docs/assets/extensions_array.md.CnLMU1VT.js @@ -1,21 +1,21 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=JSON.parse('{"title":"ArrayExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/array.md","filePath":"extensions/array.md","lastUpdated":1700306874000}'),e={name:"extensions/array.md"},n=t(`

ArrayExtensions

This page is about the ArrayExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The ArrayExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

Append(item)

Definition

The Append<T>() method adds an item to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to append in the array.

Usage

c#
using PeyrSharp.Extensions;
+import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"ArrayExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/array.md","filePath":"extensions/array.md","lastUpdated":1700306874000}'),n={name:"extensions/array.md"};function h(l,s,r,p,d,k){return e(),a("div",null,s[0]||(s[0]=[t(`

ArrayExtensions

This page is about the ArrayExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The ArrayExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

Append(item)

Definition

The Append<T>() method adds an item to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to append in the array.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] numbers = { 1, 2, 3, 4 };
 int[] appendNumbers = numbers.Append(5);
-// appendNumbers: { 1, 2, 3, 4, 5 }

Append(items)

Definition

The Append<T>() method adds multiple items to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to append in the array.

Usage

c#
using PeyrSharp.Extensions;
+// appendNumbers: { 1, 2, 3, 4, 5 }

Append(items)

Definition

The Append<T>() method adds multiple items to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to append in the array.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] numbers = { 1, 2, 3, 4 };
 int[] appendNumbers = numbers.Append(5, 6);
-// appendNumbers: { 1, 2, 3, 4, 5, 6 }

RemoveElement(item)

Definition

The RemoveElement<T>() method removes an item from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
+// appendNumbers: { 1, 2, 3, 4, 5, 6 }

RemoveElement(item)

Definition

The RemoveElement<T>() method removes an item from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] numbers = { 1, 2, 3, 4, 5 };
 int[] remove = numbers.RemoveItem(5);
-// remove: { 1, 2, 3, 4 }

RemoveElement(items)

Definition

The RemoveElement<T>() method removes multiple items from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
+// remove: { 1, 2, 3, 4 }

RemoveElement(items)

Definition

The RemoveElement<T>() method removes multiple items from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] numbers = { 1, 2, 3, 4, 5 };
 int[] remove = numbers.RemoveItem(5);
-// remove: { 1, 2, 3, 4 }

UnSplit(array, separator)

Definition

Concatenates the elements of a string array, using the specified separator between each element. Return a string that consists of the elements of array delimited by the separator string. If array has no elements, the method returns an empty string.

Arguments

TypeNameMeaning
stringarrayThe array of strings to concatenate.
stringseparatorThe string to use as a separator.

Usage

c#
using PeyrSharp.Extensions;
+// remove: { 1, 2, 3, 4 }

UnSplit(array, separator)

Definition

Concatenates the elements of a string array, using the specified separator between each element. Return a string that consists of the elements of array delimited by the separator string. If array has no elements, the method returns an empty string.

Arguments

TypeNameMeaning
stringarrayThe array of strings to concatenate.
stringseparatorThe string to use as a separator.

Usage

c#
using PeyrSharp.Extensions;
 
 string[] array = { "a", "b", "c", "d" };
 string final = array.UnSplit(", "); // Concatenate the elements of the array with a comma and a space as a separator
-// final = "a, b, c, d"
`,42),h=[n];function l(r,p,k,d,o,E){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{c as __pageData,y as default}; +// final = "a, b, c, d"
`,42)]))}const g=i(n,[["render",h]]);export{E as __pageData,g as default}; diff --git a/docs/assets/extensions_array.md.CnLMU1VT.lean.js b/docs/assets/extensions_array.md.CnLMU1VT.lean.js new file mode 100644 index 00000000..72a7bbb1 --- /dev/null +++ b/docs/assets/extensions_array.md.CnLMU1VT.lean.js @@ -0,0 +1,21 @@ +import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"ArrayExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/array.md","filePath":"extensions/array.md","lastUpdated":1700306874000}'),n={name:"extensions/array.md"};function h(l,s,r,p,d,k){return e(),a("div",null,s[0]||(s[0]=[t(`

ArrayExtensions

This page is about the ArrayExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The ArrayExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

Append(item)

Definition

The Append<T>() method adds an item to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to append in the array.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4 };
+int[] appendNumbers = numbers.Append(5);
+// appendNumbers: { 1, 2, 3, 4, 5 }

Append(items)

Definition

The Append<T>() method adds multiple items to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to append in the array.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4 };
+int[] appendNumbers = numbers.Append(5, 6);
+// appendNumbers: { 1, 2, 3, 4, 5, 6 }

RemoveElement(item)

Definition

The RemoveElement<T>() method removes an item from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4, 5 };
+int[] remove = numbers.RemoveItem(5);
+// remove: { 1, 2, 3, 4 }

RemoveElement(items)

Definition

The RemoveElement<T>() method removes multiple items from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] numbers = { 1, 2, 3, 4, 5 };
+int[] remove = numbers.RemoveItem(5);
+// remove: { 1, 2, 3, 4 }

UnSplit(array, separator)

Definition

Concatenates the elements of a string array, using the specified separator between each element. Return a string that consists of the elements of array delimited by the separator string. If array has no elements, the method returns an empty string.

Arguments

TypeNameMeaning
stringarrayThe array of strings to concatenate.
stringseparatorThe string to use as a separator.

Usage

c#
using PeyrSharp.Extensions;
+
+string[] array = { "a", "b", "c", "d" };
+string final = array.UnSplit(", "); // Concatenate the elements of the array with a comma and a space as a separator
+// final = "a, b, c, d"
`,42)]))}const g=i(n,[["render",h]]);export{E as __pageData,g as default}; diff --git a/docs/assets/extensions_double.md.IFJ4CqIh.js b/docs/assets/extensions_double.md.CSUy1NJT.js similarity index 62% rename from docs/assets/extensions_double.md.IFJ4CqIh.js rename to docs/assets/extensions_double.md.CSUy1NJT.js index 9a4d7b47..b77b4f4c 100644 --- a/docs/assets/extensions_double.md.IFJ4CqIh.js +++ b/docs/assets/extensions_double.md.CSUy1NJT.js @@ -1,51 +1,51 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"DoubleExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/double.md","filePath":"extensions/double.md","lastUpdated":1700306874000}'),e={name:"extensions/double.md"},n=t(`

DoubleExtensions

This page is about the DoubleExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The DoubleExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"DoubleExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/double.md","filePath":"extensions/double.md","lastUpdated":1700306874000}'),n={name:"extensions/double.md"};function h(l,s,o,d,r,p){return e(),a("div",null,s[0]||(s[0]=[t(`

DoubleExtensions

This page is about the DoubleExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The DoubleExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
 double[] data = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0 };
-double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
 double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
 double median = data.Median();
 
-Console.WriteLine($"The median of the dataset is {median}"); // 3.4

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+Console.WriteLine($"The median of the dataset is {median}"); // 3.4

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
 double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
 double mode = data.Mode();
 
-Console.WriteLine($"The mode of the dataset is {mode}"); // 1.2

ToInt()

Definition

Converts a double value to an int. To achieve it, it uses the Math.Round() method.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1.2

ToInt()

Definition

Converts a double value to an int. To achieve it, it uses the Math.Round() method.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
 
 int n = 45.6.ToInt();
-// n = 46

ToSeconds(timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+// n = 46

ToSeconds(timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Extensions;
 
 double seconds = 5.ToSeconds(TimeUnits.Minutes);
-// seconds = 300

ToMinutes(timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+// seconds = 300

ToMinutes(timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Extensions;
 
 double min = 120.ToMinutes(TimeUnits.Seconds);
-// min = 2

ToHours(timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+// min = 2

ToHours(timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Extensions;
 
 double hours = 1.ToHours(TimeUnits.Days);
-// hours = 24

ToDays(timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+// hours = 24

ToDays(timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Extensions;
 
 double days = 72.ToDays(TimeUnits.Hours);
-// days = 3

ToByte(storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// days = 3

ToByte(storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double byte = Storage.1(StorageUnits.Kilobyte);
-// byte = 1000

ToKilobyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// byte = 1000

ToKilobyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double kilobyte = 2000.ToKilobyte(StorageUnits.Byte);
-// kilobyte = 2

ToMegabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// kilobyte = 2

ToMegabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double megabyte = 1500.ToMegabyte(StorageUnits.Kilobyte);
-// megabyte = 1.5

ToGigabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// megabyte = 1.5

ToGigabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double gigabyte = 1000.ToGigabyte(StorageUnits.Megabyte);
-// gigabyte = 1

ToTerabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// gigabyte = 1

ToTerabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double terabyte = 1.ToTerabyte(StorageUnits.Petabyte);
-// terabyte = 1000

ToPetabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// terabyte = 1000

ToPetabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double petabyte = 1000.ToPetabyte(StorageUnits.Terabyte);
-// petabyte = 1
`,115),h=[n];function l(o,r,d,p,k,c){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{u as __pageData,y as default}; +// petabyte = 1
`,115)]))}const g=i(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/extensions_double.md.CSUy1NJT.lean.js b/docs/assets/extensions_double.md.CSUy1NJT.lean.js new file mode 100644 index 00000000..b77b4f4c --- /dev/null +++ b/docs/assets/extensions_double.md.CSUy1NJT.lean.js @@ -0,0 +1,51 @@ +import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"DoubleExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/double.md","filePath":"extensions/double.md","lastUpdated":1700306874000}'),n={name:"extensions/double.md"};function h(l,s,o,d,r,p){return e(),a("div",null,s[0]||(s[0]=[t(`

DoubleExtensions

This page is about the DoubleExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The DoubleExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+double[] data = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0 };
+double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
+double median = data.Median();
+
+Console.WriteLine($"The median of the dataset is {median}"); // 3.4

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
+double mode = data.Mode();
+
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1.2

ToInt()

Definition

Converts a double value to an int. To achieve it, it uses the Math.Round() method.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+int n = 45.6.ToInt();
+// n = 46

ToSeconds(timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double seconds = 5.ToSeconds(TimeUnits.Minutes);
+// seconds = 300

ToMinutes(timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double min = 120.ToMinutes(TimeUnits.Seconds);
+// min = 2

ToHours(timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double hours = 1.ToHours(TimeUnits.Days);
+// hours = 24

ToDays(timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.Extensions;
+
+double days = 72.ToDays(TimeUnits.Hours);
+// days = 3

ToByte(storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double byte = Storage.1(StorageUnits.Kilobyte);
+// byte = 1000

ToKilobyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double kilobyte = 2000.ToKilobyte(StorageUnits.Byte);
+// kilobyte = 2

ToMegabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double megabyte = 1500.ToMegabyte(StorageUnits.Kilobyte);
+// megabyte = 1.5

ToGigabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double gigabyte = 1000.ToGigabyte(StorageUnits.Megabyte);
+// gigabyte = 1

ToTerabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double terabyte = 1.ToTerabyte(StorageUnits.Petabyte);
+// terabyte = 1000

ToPetabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+
+double petabyte = 1000.ToPetabyte(StorageUnits.Terabyte);
+// petabyte = 1
`,115)]))}const g=i(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/extensions_double.md.IFJ4CqIh.lean.js b/docs/assets/extensions_double.md.IFJ4CqIh.lean.js deleted file mode 100644 index 1ca01feb..00000000 --- a/docs/assets/extensions_double.md.IFJ4CqIh.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"DoubleExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/double.md","filePath":"extensions/double.md","lastUpdated":1700306874000}'),e={name:"extensions/double.md"},n=t("",115),h=[n];function l(o,r,d,p,k,c){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{u as __pageData,y as default}; diff --git a/docs/assets/extensions_int.md.RAFRXmBu.js b/docs/assets/extensions_int.md.BDI2Nun1.js similarity index 62% rename from docs/assets/extensions_int.md.RAFRXmBu.js rename to docs/assets/extensions_int.md.BDI2Nun1.js index 4a4a3c1a..7d44b7d5 100644 --- a/docs/assets/extensions_int.md.RAFRXmBu.js +++ b/docs/assets/extensions_int.md.BDI2Nun1.js @@ -1,20 +1,20 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=JSON.parse('{"title":"IntExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/int.md","filePath":"extensions/int.md","lastUpdated":1700306874000}'),e={name:"extensions/int.md"},n=t(`

IntExtensions

This page is about the IntExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The IntExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

GetDivisors()

Definition

Gets all divisors of a specific number. Returns an array of int[].

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"IntExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/int.md","filePath":"extensions/int.md","lastUpdated":1700306874000}'),n={name:"extensions/int.md"};function h(l,s,k,d,p,r){return e(),a("div",null,s[0]||(s[0]=[t(`

IntExtensions

This page is about the IntExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The IntExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

GetDivisors()

Definition

Gets all divisors of a specific number. Returns an array of int[].

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
 
-int[] divs = 16.GetDivisors(); // { 1, 2, 4, 8, 16 }

IsEven()

Definition

Checks if the number is even. Returns a bool.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+int[] divs = 16.GetDivisors(); // { 1, 2, 4, 8, 16 }

IsEven()

Definition

Checks if the number is even. Returns a bool.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
 
-int[] divs = 16.IsEven(); // true

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+int[] divs = 16.IsEven(); // true

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] data = new int[] { 1, 2, 3, 4, 5 };
-double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] data = new int[] { 1, 2, 3, 5 };
 double median = data.Median();
 
-Console.WriteLine($"The median of the dataset is {median}"); // 2

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+Console.WriteLine($"The median of the dataset is {median}"); // 2

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] data = new int[] { 1, 2, 3, 5 };
 double mode = data.Mode();
 
-Console.WriteLine($"The mode of the dataset is {mode}"); // 1

ToDouble()

Definition

Converts an int to double.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1

ToDouble()

Definition

Converts an int to double.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
 
-double d = 16.ToDouble(); // 16.0d
`,49),h=[n];function l(k,p,d,r,o,E){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{c as __pageData,y as default}; +double d = 16.ToDouble(); // 16.0d
`,49)]))}const g=i(n,[["render",h]]);export{E as __pageData,g as default}; diff --git a/docs/assets/extensions_int.md.BDI2Nun1.lean.js b/docs/assets/extensions_int.md.BDI2Nun1.lean.js new file mode 100644 index 00000000..7d44b7d5 --- /dev/null +++ b/docs/assets/extensions_int.md.BDI2Nun1.lean.js @@ -0,0 +1,20 @@ +import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"IntExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/int.md","filePath":"extensions/int.md","lastUpdated":1700306874000}'),n={name:"extensions/int.md"};function h(l,s,k,d,p,r){return e(),a("div",null,s[0]||(s[0]=[t(`

IntExtensions

This page is about the IntExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The IntExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

GetDivisors()

Definition

Gets all divisors of a specific number. Returns an array of int[].

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] divs = 16.GetDivisors(); // { 1, 2, 4, 8, 16 }

IsEven()

Definition

Checks if the number is even. Returns a bool.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] divs = 16.IsEven(); // true

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] data = new int[] { 1, 2, 3, 4, 5 };
+double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] data = new int[] { 1, 2, 3, 5 };
+double median = data.Median();
+
+Console.WriteLine($"The median of the dataset is {median}"); // 2

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+
+int[] data = new int[] { 1, 2, 3, 5 };
+double mode = data.Mode();
+
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1

ToDouble()

Definition

Converts an int to double.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+double d = 16.ToDouble(); // 16.0d
`,49)]))}const g=i(n,[["render",h]]);export{E as __pageData,g as default}; diff --git a/docs/assets/extensions_int.md.RAFRXmBu.lean.js b/docs/assets/extensions_int.md.RAFRXmBu.lean.js deleted file mode 100644 index 277bf340..00000000 --- a/docs/assets/extensions_int.md.RAFRXmBu.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=JSON.parse('{"title":"IntExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/int.md","filePath":"extensions/int.md","lastUpdated":1700306874000}'),e={name:"extensions/int.md"},n=t("",49),h=[n];function l(k,p,d,r,o,E){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{c as __pageData,y as default}; diff --git a/docs/assets/extensions_string.md.HaxhSKCL.js b/docs/assets/extensions_string.md.Dat63wzL.js similarity index 63% rename from docs/assets/extensions_string.md.HaxhSKCL.js rename to docs/assets/extensions_string.md.Dat63wzL.js index 19d6cb76..27ac8dcf 100644 --- a/docs/assets/extensions_string.md.HaxhSKCL.js +++ b/docs/assets/extensions_string.md.Dat63wzL.js @@ -1,42 +1,42 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"StringExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/string.md","filePath":"extensions/string.md","lastUpdated":1700306874000}'),e={name:"extensions/string.md"},n=t(`

StringExtensions

This page is about the StringExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The StringExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

CountWords()

Definition

Counts the number of words in a string. Returns int.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"StringExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/string.md","filePath":"extensions/string.md","lastUpdated":1700306874000}'),n={name:"extensions/string.md"};function h(r,s,l,d,o,p){return e(),a("div",null,s[0]||(s[0]=[t(`

StringExtensions

This page is about the StringExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The StringExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

CountWords()

Definition

Counts the number of words in a string. Returns int.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
 
 int numberOfWords = "Hello, this is a test sentence!".CountWords();
-// numberOfWords = 6

CountWords(wordSeparator)

Definition

Counts the number of words in a string, with specified word separators. By default, the method uses those (if you don't pass any argument to it): , ,, ;, ., :, !, ?. Returns int.

Arguments

TypeNameMeaning
string[]wordSeparatorThe separator of the words.

Usage

c#
using PeyrSharp.Extensions;
+// numberOfWords = 6

CountWords(wordSeparator)

Definition

Counts the number of words in a string, with specified word separators. By default, the method uses those (if you don't pass any argument to it): , ,, ;, ., :, !, ?. Returns int.

Arguments

TypeNameMeaning
string[]wordSeparatorThe separator of the words.

Usage

c#
using PeyrSharp.Extensions;
 
 string[] wordSeparator = { " ", ",", ":", "!", "?", ";", "." };
 int numberOfWords = "Hello, this is a test sentence!".CountWords(wordSeparator);
-// numberOfWords = 6

EndsWithSamePunctuation(stringToCheck)

Definition

Checks if a string is ending with the same punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.

Usage

c#
using PeyrSharp.Extensions;
+// numberOfWords = 6

EndsWithSamePunctuation(stringToCheck)

Definition

Checks if a string is ending with the same punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.

Usage

c#
using PeyrSharp.Extensions;
 
 string a = "This is a test sentence.";
 string b = "This is an another test sentence.";
 
-a.EndsWithSamePunctuation(b); // true

EndsWithSamePunctuation(stringToCheck, punctuationToCheck)

Definition

Checks if a string is ending with the same specified punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.
stringpunctuationToCheckThe punctuation sign to check for.

Usage

c#
using PeyrSharp.Extensions;
+a.EndsWithSamePunctuation(b); // true

EndsWithSamePunctuation(stringToCheck, punctuationToCheck)

Definition

Checks if a string is ending with the same specified punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.
stringpunctuationToCheckThe punctuation sign to check for.

Usage

c#
using PeyrSharp.Extensions;
 
 string a = "This is a test sentence.";
 string b = "This is an another test sentence.";
 
-a.EndsWithSamePunctuation(b, "."); // true

EncryptAes(key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+a.EndsWithSamePunctuation(b, "."); // true

EncryptAes(key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
 
 string encrypted = "Hello!".EncryptAes("password");
-// encrypted = 6NvvTBntd2PdFxXzVbccLw==

DecryptAes(key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+// encrypted = 6NvvTBntd2PdFxXzVbccLw==

DecryptAes(key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
 
 string text = "6NvvTBntd2PdFxXzVbccLw==".DecryptAes("password");
-// text = Hello!

HasRepeatedCharacters()

Definition

Checks if a letter or character is being repeated in a string. Returns bool.

INFO

Only returns true if a character is repeated more than three times. For instance, "11" will return false, whereas "aaaa" will return true.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+// text = Hello!

HasRepeatedCharacters()

Definition

Checks if a letter or character is being repeated in a string. Returns bool.

INFO

Only returns true if a character is repeated more than three times. For instance, "11" will return false, whereas "aaaa" will return true.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
 
-"111".HasRepeatedCharacters(); // true

SplitLines()

Definition

Splits a string lines to an array. Returns string[].

INFO

The method uses the string.Split() method under the hood, which means that it is providing it the following separators: \\n, \\r, \\r\\n.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+"111".HasRepeatedCharacters(); // true

SplitLines()

Definition

Splits a string lines to an array. Returns string[].

INFO

The method uses the string.Split() method under the hood, which means that it is providing it the following separators: \\n, \\r, \\r\\n.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
 
 string[] lines = "Hello\\nWorld".SplitLines();
-// lines = { "Hello", "World" }

ToUpperAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to uppercase. Returns a string that is equivalent to the current string, but with the characters in the specified range converted to uppercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to uppercase.

Usage

c#
using PeyrSharp.Extensions;
+// lines = { "Hello", "World" }

ToUpperAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to uppercase. Returns a string that is equivalent to the current string, but with the characters in the specified range converted to uppercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to uppercase.

Usage

c#
using PeyrSharp.Extensions;
 
 string str = "aBcDeFgHiJ";
 string upper = str.ToUpperAt(2..6); // Convert the characters at indexes 2 to 6 (inclusive) to uppercase
-// upper = "aBCDEFGhij"

ToUpperAt(s)

Definition

Uppercases the first letter of a string. Returns a string with the first letter uppercased.

Arguments

TypeNameMeaning
stringsThe string to capitalize.

Usage

c#
using PeyrSharp.Extensions;
+// upper = "aBCDEFGhij"

ToUpperAt(s)

Definition

Uppercases the first letter of a string. Returns a string with the first letter uppercased.

Arguments

TypeNameMeaning
stringsThe string to capitalize.

Usage

c#
using PeyrSharp.Extensions;
 
 string str = "test";
 string upper = str.ToUpperAt(); // Uppercase the first letter of the string
-// upper = "Test"

ToLowerAt(s)

Definition

Uppercases the first letter of a string. Returns the input string with the first letter lowercased.

Arguments

TypeNameMeaning
stringsThe string to lowercase.

Usage

c#
using PeyrSharp.Extensions;
-phrase.ToLowerAt(); // "hello world"

ToLowerAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to lowercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to lowercase.

Returns

A string that is equivalent to the current string, but with the characters in the specified range converted to lowercase.

Usage

c#
using PeyrSharp.Extensions;
-string result = text.ToLowerAt(range); // "This is a test sentence."

Reverse(input)

Definition

Reverses a string.

Arguments

TypeNameDescription
stringinputThe string to reverse.

Returns

A string representing the reversed input.

Usage

c#
using PeyrSharp.Extensions;
+// upper = "Test"

ToLowerAt(s)

Definition

Uppercases the first letter of a string. Returns the input string with the first letter lowercased.

Arguments

TypeNameMeaning
stringsThe string to lowercase.

Usage

c#
using PeyrSharp.Extensions;
+phrase.ToLowerAt(); // "hello world"

ToLowerAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to lowercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to lowercase.

Returns

A string that is equivalent to the current string, but with the characters in the specified range converted to lowercase.

Usage

c#
using PeyrSharp.Extensions;
+string result = text.ToLowerAt(range); // "This is a test sentence."

Reverse(input)

Definition

Reverses a string.

Arguments

TypeNameDescription
stringinputThe string to reverse.

Returns

A string representing the reversed input.

Usage

c#
using PeyrSharp.Extensions;
 
 string reversed = "Hello, world!".Reverse();
-// Output: "!dlrow ,olleH"
`,104),h=[n];function r(l,d,o,p,k,c){return i(),a("div",null,h)}const E=s(e,[["render",r]]);export{u as __pageData,E as default}; +// Output: "!dlrow ,olleH"
`,104)]))}const g=i(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/extensions_string.md.Dat63wzL.lean.js b/docs/assets/extensions_string.md.Dat63wzL.lean.js new file mode 100644 index 00000000..27ac8dcf --- /dev/null +++ b/docs/assets/extensions_string.md.Dat63wzL.lean.js @@ -0,0 +1,42 @@ +import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"StringExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/string.md","filePath":"extensions/string.md","lastUpdated":1700306874000}'),n={name:"extensions/string.md"};function h(r,s,l,d,o,p){return e(),a("div",null,s[0]||(s[0]=[t(`

StringExtensions

This page is about the StringExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The StringExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

CountWords()

Definition

Counts the number of words in a string. Returns int.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+int numberOfWords = "Hello, this is a test sentence!".CountWords();
+// numberOfWords = 6

CountWords(wordSeparator)

Definition

Counts the number of words in a string, with specified word separators. By default, the method uses those (if you don't pass any argument to it): , ,, ;, ., :, !, ?. Returns int.

Arguments

TypeNameMeaning
string[]wordSeparatorThe separator of the words.

Usage

c#
using PeyrSharp.Extensions;
+
+string[] wordSeparator = { " ", ",", ":", "!", "?", ";", "." };
+int numberOfWords = "Hello, this is a test sentence!".CountWords(wordSeparator);
+// numberOfWords = 6

EndsWithSamePunctuation(stringToCheck)

Definition

Checks if a string is ending with the same punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.

Usage

c#
using PeyrSharp.Extensions;
+
+string a = "This is a test sentence.";
+string b = "This is an another test sentence.";
+
+a.EndsWithSamePunctuation(b); // true

EndsWithSamePunctuation(stringToCheck, punctuationToCheck)

Definition

Checks if a string is ending with the same specified punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.
stringpunctuationToCheckThe punctuation sign to check for.

Usage

c#
using PeyrSharp.Extensions;
+
+string a = "This is a test sentence.";
+string b = "This is an another test sentence.";
+
+a.EndsWithSamePunctuation(b, "."); // true

EncryptAes(key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+
+string encrypted = "Hello!".EncryptAes("password");
+// encrypted = 6NvvTBntd2PdFxXzVbccLw==

DecryptAes(key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+
+string text = "6NvvTBntd2PdFxXzVbccLw==".DecryptAes("password");
+// text = Hello!

HasRepeatedCharacters()

Definition

Checks if a letter or character is being repeated in a string. Returns bool.

INFO

Only returns true if a character is repeated more than three times. For instance, "11" will return false, whereas "aaaa" will return true.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+"111".HasRepeatedCharacters(); // true

SplitLines()

Definition

Splits a string lines to an array. Returns string[].

INFO

The method uses the string.Split() method under the hood, which means that it is providing it the following separators: \\n, \\r, \\r\\n.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+
+string[] lines = "Hello\\nWorld".SplitLines();
+// lines = { "Hello", "World" }

ToUpperAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to uppercase. Returns a string that is equivalent to the current string, but with the characters in the specified range converted to uppercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to uppercase.

Usage

c#
using PeyrSharp.Extensions;
+
+string str = "aBcDeFgHiJ";
+string upper = str.ToUpperAt(2..6); // Convert the characters at indexes 2 to 6 (inclusive) to uppercase
+// upper = "aBCDEFGhij"

ToUpperAt(s)

Definition

Uppercases the first letter of a string. Returns a string with the first letter uppercased.

Arguments

TypeNameMeaning
stringsThe string to capitalize.

Usage

c#
using PeyrSharp.Extensions;
+
+string str = "test";
+string upper = str.ToUpperAt(); // Uppercase the first letter of the string
+// upper = "Test"

ToLowerAt(s)

Definition

Uppercases the first letter of a string. Returns the input string with the first letter lowercased.

Arguments

TypeNameMeaning
stringsThe string to lowercase.

Usage

c#
using PeyrSharp.Extensions;
+phrase.ToLowerAt(); // "hello world"

ToLowerAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to lowercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to lowercase.

Returns

A string that is equivalent to the current string, but with the characters in the specified range converted to lowercase.

Usage

c#
using PeyrSharp.Extensions;
+string result = text.ToLowerAt(range); // "This is a test sentence."

Reverse(input)

Definition

Reverses a string.

Arguments

TypeNameDescription
stringinputThe string to reverse.

Returns

A string representing the reversed input.

Usage

c#
using PeyrSharp.Extensions;
+
+string reversed = "Hello, world!".Reverse();
+// Output: "!dlrow ,olleH"
`,104)]))}const g=i(n,[["render",h]]);export{c as __pageData,g as default}; diff --git a/docs/assets/extensions_string.md.HaxhSKCL.lean.js b/docs/assets/extensions_string.md.HaxhSKCL.lean.js deleted file mode 100644 index cdd07cb0..00000000 --- a/docs/assets/extensions_string.md.HaxhSKCL.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"StringExtensions","description":"","frontmatter":{},"headers":[],"relativePath":"extensions/string.md","filePath":"extensions/string.md","lastUpdated":1700306874000}'),e={name:"extensions/string.md"},n=t("",104),h=[n];function r(l,d,o,p,k,c){return i(),a("div",null,h)}const E=s(e,[["render",r]]);export{u as __pageData,E as default}; diff --git a/docs/assets/get-started.md.CCow5_4D.js b/docs/assets/get-started.md.CCow5_4D.js new file mode 100644 index 00000000..67b3c4b8 --- /dev/null +++ b/docs/assets/get-started.md.CCow5_4D.js @@ -0,0 +1,6 @@ +import{_ as s,c as i,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Get Started","description":"","frontmatter":{},"headers":[],"relativePath":"get-started.md","filePath":"get-started.md","lastUpdated":1700306898000}'),l={name:"get-started.md"};function n(r,a,h,d,o,p){return e(),i("div",null,a[0]||(a[0]=[t(`

Get Started

Packages and modules

Before installing PeyrSharp, you may want to consider what features you will actually need to use in your project. Indeed, PeyrSharp is divided in multiple modules and packages.

If you think you need all the features of PeyrSharp, you can directly install the PeyrSharp NuGet package. However, you can also install the packages that you only need in your project. Here's a list of all the packages and their features:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • System
  • Update
  • UwpApp
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • LogLevel
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • Array (T[])
  • Double
  • Int
  • String
PeyrSharp.UiHelpers, methods related to Windows Forms, the Windows Presentation Framework (WPF) or user32.dll.
  • Screen
  • WinForms
  • WindowHelper
  • WindowInfo
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platforms.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 6
  • .NET 7
  • .NET 8

INFO

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

INFO

.NET 5 is no longer supported starting with version 2.0.0.2311 and higher.

Installation methods

PeyrShall is available on NuGet, you can install it by running the following command:

.NET CLI

You can add PeyrSharp to your project the .NET CLI.

powershell
dotnet add package PeyrSharp --version 2.0.0.2311

Package Manager

sh
NuGet\\Install-Package PeyrSharp -Version 2.0.0.2311

Package Reference

You can specify in your project file that it is dependent on PeyrSharp.

xml
<PackageReference Include="PeyrSharp" Version="2.0.0.2311" />

Start coding

To call methods and classes included in PeyrSharp, you will need to add the corresponding using directives in your code file.

c#
using PeyrSharp.Core;
+using PeyrSharp.Env;
+using PeyrSharp.Enums;
+using PeyrSharp.Exceptions;
+using PeyrSharp.Extensions;
+using PeyrSharp.UiHelpers; // Windows only

For more information, you can check the reference

`,36)]))}const g=s(l,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/get-started.md.CCow5_4D.lean.js b/docs/assets/get-started.md.CCow5_4D.lean.js new file mode 100644 index 00000000..67b3c4b8 --- /dev/null +++ b/docs/assets/get-started.md.CCow5_4D.lean.js @@ -0,0 +1,6 @@ +import{_ as s,c as i,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Get Started","description":"","frontmatter":{},"headers":[],"relativePath":"get-started.md","filePath":"get-started.md","lastUpdated":1700306898000}'),l={name:"get-started.md"};function n(r,a,h,d,o,p){return e(),i("div",null,a[0]||(a[0]=[t(`

Get Started

Packages and modules

Before installing PeyrSharp, you may want to consider what features you will actually need to use in your project. Indeed, PeyrSharp is divided in multiple modules and packages.

If you think you need all the features of PeyrSharp, you can directly install the PeyrSharp NuGet package. However, you can also install the packages that you only need in your project. Here's a list of all the packages and their features:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • System
  • Update
  • UwpApp
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • LogLevel
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • Array (T[])
  • Double
  • Int
  • String
PeyrSharp.UiHelpers, methods related to Windows Forms, the Windows Presentation Framework (WPF) or user32.dll.
  • Screen
  • WinForms
  • WindowHelper
  • WindowInfo
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platforms.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 6
  • .NET 7
  • .NET 8

INFO

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

INFO

.NET 5 is no longer supported starting with version 2.0.0.2311 and higher.

Installation methods

PeyrShall is available on NuGet, you can install it by running the following command:

.NET CLI

You can add PeyrSharp to your project the .NET CLI.

powershell
dotnet add package PeyrSharp --version 2.0.0.2311

Package Manager

sh
NuGet\\Install-Package PeyrSharp -Version 2.0.0.2311

Package Reference

You can specify in your project file that it is dependent on PeyrSharp.

xml
<PackageReference Include="PeyrSharp" Version="2.0.0.2311" />

Start coding

To call methods and classes included in PeyrSharp, you will need to add the corresponding using directives in your code file.

c#
using PeyrSharp.Core;
+using PeyrSharp.Env;
+using PeyrSharp.Enums;
+using PeyrSharp.Exceptions;
+using PeyrSharp.Extensions;
+using PeyrSharp.UiHelpers; // Windows only

For more information, you can check the reference

`,36)]))}const g=s(l,[["render",n]]);export{c as __pageData,g as default}; diff --git a/docs/assets/get-started.md.sgTi9UK7.js b/docs/assets/get-started.md.sgTi9UK7.js deleted file mode 100644 index 9d053c39..00000000 --- a/docs/assets/get-started.md.sgTi9UK7.js +++ /dev/null @@ -1,6 +0,0 @@ -import{_ as a,o as s,c as i,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Get Started","description":"","frontmatter":{},"headers":[],"relativePath":"get-started.md","filePath":"get-started.md","lastUpdated":1700306898000}'),e={name:"get-started.md"},l=t(`

Get Started

Packages and modules

Before installing PeyrSharp, you may want to consider what features you will actually need to use in your project. Indeed, PeyrSharp is divided in multiple modules and packages.

If you think you need all the features of PeyrSharp, you can directly install the PeyrSharp NuGet package. However, you can also install the packages that you only need in your project. Here's a list of all the packages and their features:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • System
  • Update
  • UwpApp
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • LogLevel
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • Array (T[])
  • Double
  • Int
  • String
PeyrSharp.UiHelpers, methods related to Windows Forms, the Windows Presentation Framework (WPF) or user32.dll.
  • Screen
  • WinForms
  • WindowHelper
  • WindowInfo
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platforms.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 6
  • .NET 7
  • .NET 8

INFO

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

INFO

.NET 5 is no longer supported starting with version 2.0.0.2311 and higher.

Installation methods

PeyrShall is available on NuGet, you can install it by running the following command:

.NET CLI

You can add PeyrSharp to your project the .NET CLI.

powershell
dotnet add package PeyrSharp --version 2.0.0.2311

Package Manager

sh
NuGet\\Install-Package PeyrSharp -Version 2.0.0.2311

Package Reference

You can specify in your project file that it is dependent on PeyrSharp.

xml
<PackageReference Include="PeyrSharp" Version="2.0.0.2311" />

Start coding

To call methods and classes included in PeyrSharp, you will need to add the corresponding using directives in your code file.

c#
using PeyrSharp.Core;
-using PeyrSharp.Env;
-using PeyrSharp.Enums;
-using PeyrSharp.Exceptions;
-using PeyrSharp.Extensions;
-using PeyrSharp.UiHelpers; // Windows only

For more information, you can check the reference

`,36),n=[l];function r(h,o,d,p,k,c){return s(),i("div",null,n)}const y=a(e,[["render",r]]);export{u as __pageData,y as default}; diff --git a/docs/assets/get-started.md.sgTi9UK7.lean.js b/docs/assets/get-started.md.sgTi9UK7.lean.js deleted file mode 100644 index b962865e..00000000 --- a/docs/assets/get-started.md.sgTi9UK7.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as a,o as s,c as i,R as t}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"Get Started","description":"","frontmatter":{},"headers":[],"relativePath":"get-started.md","filePath":"get-started.md","lastUpdated":1700306898000}'),e={name:"get-started.md"},l=t("",36),n=[l];function r(h,o,d,p,k,c){return s(),i("div",null,n)}const y=a(e,[["render",r]]);export{u as __pageData,y as default}; diff --git a/docs/assets/index.md.CJ1-5OW0.js b/docs/assets/index.md.Bn6XtIl7.js similarity index 89% rename from docs/assets/index.md.CJ1-5OW0.js rename to docs/assets/index.md.Bn6XtIl7.js index bcd6e8f4..a2e7a3e9 100644 --- a/docs/assets/index.md.CJ1-5OW0.js +++ b/docs/assets/index.md.Bn6XtIl7.js @@ -1 +1 @@ -import{_ as e,o as t,c as a}from"./chunks/framework.q7IuVqhY.js";const m=JSON.parse(`{"title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","description":"","frontmatter":{"layout":"home","title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","hero":{"name":"PeyrSharp","text":"Made for you.","tagline":"A C# library designed to make developers' job easier.","image":{"src":"/logo.png","alt":"PeyrSharp"},"actions":[{"theme":"brand","text":"Get Started","link":"/get-started"},{"theme":"alt","text":"Reference","link":"/reference"}]},"features":[{"title":"Easy-to-use","details":"Using PeyrSharp in a project is very easy and intuitive.","icon":"✅"},{"title":".NET Powered","details":"PeyrSharp is built using C# and .NET. It's available for projects targeting .NET 6 and higher.","icon":"🚀"},{"title":"Cross-Platform","details":"PeyrSharp is compatible with every operating systems that .NET supports.","icon":"🖥️"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1700306889000}`),r={name:"index.md"};function i(s,o,n,l,d,p){return t(),a("div")}const h=e(r,[["render",i]]);export{m as __pageData,h as default}; +import{_ as e,c as t,o as a}from"./chunks/framework.CdbxnhrM.js";const m=JSON.parse(`{"title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","description":"","frontmatter":{"layout":"home","title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","hero":{"name":"PeyrSharp","text":"Made for you.","tagline":"A C# library designed to make developers' job easier.","image":{"src":"/logo.png","alt":"PeyrSharp"},"actions":[{"theme":"brand","text":"Get Started","link":"/get-started"},{"theme":"alt","text":"Reference","link":"/reference"}]},"features":[{"title":"Easy-to-use","details":"Using PeyrSharp in a project is very easy and intuitive.","icon":"✅"},{"title":".NET Powered","details":"PeyrSharp is built using C# and .NET. It's available for projects targeting .NET 6 and higher.","icon":"🚀"},{"title":"Cross-Platform","details":"PeyrSharp is compatible with every operating systems that .NET supports.","icon":"🖥️"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1700306889000}`),r={name:"index.md"};function i(s,o,n,l,d,p){return a(),t("div")}const h=e(r,[["render",i]]);export{m as __pageData,h as default}; diff --git a/docs/assets/index.md.CJ1-5OW0.lean.js b/docs/assets/index.md.Bn6XtIl7.lean.js similarity index 89% rename from docs/assets/index.md.CJ1-5OW0.lean.js rename to docs/assets/index.md.Bn6XtIl7.lean.js index bcd6e8f4..a2e7a3e9 100644 --- a/docs/assets/index.md.CJ1-5OW0.lean.js +++ b/docs/assets/index.md.Bn6XtIl7.lean.js @@ -1 +1 @@ -import{_ as e,o as t,c as a}from"./chunks/framework.q7IuVqhY.js";const m=JSON.parse(`{"title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","description":"","frontmatter":{"layout":"home","title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","hero":{"name":"PeyrSharp","text":"Made for you.","tagline":"A C# library designed to make developers' job easier.","image":{"src":"/logo.png","alt":"PeyrSharp"},"actions":[{"theme":"brand","text":"Get Started","link":"/get-started"},{"theme":"alt","text":"Reference","link":"/reference"}]},"features":[{"title":"Easy-to-use","details":"Using PeyrSharp in a project is very easy and intuitive.","icon":"✅"},{"title":".NET Powered","details":"PeyrSharp is built using C# and .NET. It's available for projects targeting .NET 6 and higher.","icon":"🚀"},{"title":"Cross-Platform","details":"PeyrSharp is compatible with every operating systems that .NET supports.","icon":"🖥️"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1700306889000}`),r={name:"index.md"};function i(s,o,n,l,d,p){return t(),a("div")}const h=e(r,[["render",i]]);export{m as __pageData,h as default}; +import{_ as e,c as t,o as a}from"./chunks/framework.CdbxnhrM.js";const m=JSON.parse(`{"title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","description":"","frontmatter":{"layout":"home","title":"PeyrSharp","titleTemplate":"A C# library designed to make developers' job easier.","hero":{"name":"PeyrSharp","text":"Made for you.","tagline":"A C# library designed to make developers' job easier.","image":{"src":"/logo.png","alt":"PeyrSharp"},"actions":[{"theme":"brand","text":"Get Started","link":"/get-started"},{"theme":"alt","text":"Reference","link":"/reference"}]},"features":[{"title":"Easy-to-use","details":"Using PeyrSharp in a project is very easy and intuitive.","icon":"✅"},{"title":".NET Powered","details":"PeyrSharp is built using C# and .NET. It's available for projects targeting .NET 6 and higher.","icon":"🚀"},{"title":"Cross-Platform","details":"PeyrSharp is compatible with every operating systems that .NET supports.","icon":"🖥️"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1700306889000}`),r={name:"index.md"};function i(s,o,n,l,d,p){return a(),t("div")}const h=e(r,[["render",i]]);export{m as __pageData,h as default}; diff --git a/docs/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 b/docs/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 deleted file mode 100644 index 2a687296..00000000 Binary files a/docs/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2 and /dev/null differ diff --git a/docs/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 b/docs/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 new file mode 100644 index 00000000..b6b603d5 Binary files /dev/null and b/docs/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 differ diff --git a/docs/assets/inter-italic-cyrillic.-nLMcIwj.woff2 b/docs/assets/inter-italic-cyrillic.-nLMcIwj.woff2 deleted file mode 100644 index f6403515..00000000 Binary files a/docs/assets/inter-italic-cyrillic.-nLMcIwj.woff2 and /dev/null differ diff --git a/docs/assets/inter-italic-cyrillic.By2_1cv3.woff2 b/docs/assets/inter-italic-cyrillic.By2_1cv3.woff2 new file mode 100644 index 00000000..def40a4f Binary files /dev/null and b/docs/assets/inter-italic-cyrillic.By2_1cv3.woff2 differ diff --git a/docs/assets/inter-italic-greek-ext.1u6EdAuj.woff2 b/docs/assets/inter-italic-greek-ext.1u6EdAuj.woff2 new file mode 100644 index 00000000..e070c3d3 Binary files /dev/null and b/docs/assets/inter-italic-greek-ext.1u6EdAuj.woff2 differ diff --git a/docs/assets/inter-italic-greek-ext.hznxWNZO.woff2 b/docs/assets/inter-italic-greek-ext.hznxWNZO.woff2 deleted file mode 100644 index 00218960..00000000 Binary files a/docs/assets/inter-italic-greek-ext.hznxWNZO.woff2 and /dev/null differ diff --git a/docs/assets/inter-italic-greek.DJ8dCoTZ.woff2 b/docs/assets/inter-italic-greek.DJ8dCoTZ.woff2 new file mode 100644 index 00000000..a3c16ca4 Binary files /dev/null and b/docs/assets/inter-italic-greek.DJ8dCoTZ.woff2 differ diff --git a/docs/assets/inter-italic-greek.PSfer2Kc.woff2 b/docs/assets/inter-italic-greek.PSfer2Kc.woff2 deleted file mode 100644 index 71c265f8..00000000 Binary files a/docs/assets/inter-italic-greek.PSfer2Kc.woff2 and /dev/null differ diff --git a/docs/assets/inter-italic-latin-ext.CN1xVJS-.woff2 b/docs/assets/inter-italic-latin-ext.CN1xVJS-.woff2 new file mode 100644 index 00000000..2210a899 Binary files /dev/null and b/docs/assets/inter-italic-latin-ext.CN1xVJS-.woff2 differ diff --git a/docs/assets/inter-italic-latin-ext.RnFly65-.woff2 b/docs/assets/inter-italic-latin-ext.RnFly65-.woff2 deleted file mode 100644 index 9c1b9440..00000000 Binary files a/docs/assets/inter-italic-latin-ext.RnFly65-.woff2 and /dev/null differ diff --git a/docs/assets/inter-italic-latin.27E69YJn.woff2 b/docs/assets/inter-italic-latin.27E69YJn.woff2 deleted file mode 100644 index 01fcf207..00000000 Binary files a/docs/assets/inter-italic-latin.27E69YJn.woff2 and /dev/null differ diff --git a/docs/assets/inter-italic-latin.C2AdPX0b.woff2 b/docs/assets/inter-italic-latin.C2AdPX0b.woff2 new file mode 100644 index 00000000..790d62dc Binary files /dev/null and b/docs/assets/inter-italic-latin.C2AdPX0b.woff2 differ diff --git a/docs/assets/inter-italic-vietnamese.BSbpV94h.woff2 b/docs/assets/inter-italic-vietnamese.BSbpV94h.woff2 new file mode 100644 index 00000000..1eec0775 Binary files /dev/null and b/docs/assets/inter-italic-vietnamese.BSbpV94h.woff2 differ diff --git a/docs/assets/inter-italic-vietnamese.xzQHe1q1.woff2 b/docs/assets/inter-italic-vietnamese.xzQHe1q1.woff2 deleted file mode 100644 index e4f788ee..00000000 Binary files a/docs/assets/inter-italic-vietnamese.xzQHe1q1.woff2 and /dev/null differ diff --git a/docs/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 b/docs/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 deleted file mode 100644 index 28593ccb..00000000 Binary files a/docs/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2 and /dev/null differ diff --git a/docs/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 b/docs/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 new file mode 100644 index 00000000..2cfe6153 Binary files /dev/null and b/docs/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 differ diff --git a/docs/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 b/docs/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 new file mode 100644 index 00000000..e3886dd1 Binary files /dev/null and b/docs/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 differ diff --git a/docs/assets/inter-roman-cyrillic.jIZ9REo5.woff2 b/docs/assets/inter-roman-cyrillic.jIZ9REo5.woff2 deleted file mode 100644 index a20adc16..00000000 Binary files a/docs/assets/inter-roman-cyrillic.jIZ9REo5.woff2 and /dev/null differ diff --git a/docs/assets/inter-roman-greek-ext.9JiNzaSO.woff2 b/docs/assets/inter-roman-greek-ext.9JiNzaSO.woff2 deleted file mode 100644 index e3b0be76..00000000 Binary files a/docs/assets/inter-roman-greek-ext.9JiNzaSO.woff2 and /dev/null differ diff --git a/docs/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 b/docs/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 new file mode 100644 index 00000000..36d67487 Binary files /dev/null and b/docs/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 differ diff --git a/docs/assets/inter-roman-greek.BBVDIX6e.woff2 b/docs/assets/inter-roman-greek.BBVDIX6e.woff2 new file mode 100644 index 00000000..2bed1e85 Binary files /dev/null and b/docs/assets/inter-roman-greek.BBVDIX6e.woff2 differ diff --git a/docs/assets/inter-roman-greek.Cb5wWeGA.woff2 b/docs/assets/inter-roman-greek.Cb5wWeGA.woff2 deleted file mode 100644 index f790e047..00000000 Binary files a/docs/assets/inter-roman-greek.Cb5wWeGA.woff2 and /dev/null differ diff --git a/docs/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 b/docs/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 new file mode 100644 index 00000000..9a8d1e2b Binary files /dev/null and b/docs/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 differ diff --git a/docs/assets/inter-roman-latin-ext.GZWE-KO4.woff2 b/docs/assets/inter-roman-latin-ext.GZWE-KO4.woff2 deleted file mode 100644 index 715bd903..00000000 Binary files a/docs/assets/inter-roman-latin-ext.GZWE-KO4.woff2 and /dev/null differ diff --git a/docs/assets/inter-roman-latin.Di8DUHzh.woff2 b/docs/assets/inter-roman-latin.Di8DUHzh.woff2 new file mode 100644 index 00000000..07d3c53a Binary files /dev/null and b/docs/assets/inter-roman-latin.Di8DUHzh.woff2 differ diff --git a/docs/assets/inter-roman-latin.bvIUbFQP.woff2 b/docs/assets/inter-roman-latin.bvIUbFQP.woff2 deleted file mode 100644 index a540b7af..00000000 Binary files a/docs/assets/inter-roman-latin.bvIUbFQP.woff2 and /dev/null differ diff --git a/docs/assets/inter-roman-vietnamese.BjW4sHH5.woff2 b/docs/assets/inter-roman-vietnamese.BjW4sHH5.woff2 new file mode 100644 index 00000000..57bdc22a Binary files /dev/null and b/docs/assets/inter-roman-vietnamese.BjW4sHH5.woff2 differ diff --git a/docs/assets/inter-roman-vietnamese.paY3CzEB.woff2 b/docs/assets/inter-roman-vietnamese.paY3CzEB.woff2 deleted file mode 100644 index 5a9f9cb9..00000000 Binary files a/docs/assets/inter-roman-vietnamese.paY3CzEB.woff2 and /dev/null differ diff --git a/docs/assets/intro.md.Zcu8cZVJ.js b/docs/assets/intro.md.Zcu8cZVJ.js deleted file mode 100644 index 9fbd902a..00000000 --- a/docs/assets/intro.md.Zcu8cZVJ.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as r}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"intro.md","filePath":"intro.md","lastUpdated":1683355029000}'),i={name:"intro.md"},o=r('

Introduction

The roots

In March 2020, we published LeoCorpLibrary, which was also a C# library that contains useful methods. When we started the development of it, we didn't know where the project will go yet. Over the releases, we've added more and more methods and new features. However, the meaning and the purpose of LeoCorpLibrary was becoming less clear for everyone; it was becoming a mess. This is why we decided to rather not release v5, but instead, we decided to make a brand new .NET Library, PeyrSharp.

Our next product

PeyrSharp is a C# written library designed to make developers' life easier. We've all written code that we wish we hadn't. PeyrSharp is here to respond to this need; by implementing useful methods in various domains: Mathematics, Web/HTTP requests, unit converters, extensions, environment-related operations, and more!

Modules

PeyrSharp is divided in multiple packages:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platform.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

NOTE

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

',24),s=[o];function l(d,n,h,c,m,u){return e(),a("div",null,s)}const b=t(i,[["render",l]]);export{y as __pageData,b as default}; diff --git a/docs/assets/intro.md.Zcu8cZVJ.lean.js b/docs/assets/intro.md.Zcu8cZVJ.lean.js deleted file mode 100644 index 0b4702ea..00000000 --- a/docs/assets/intro.md.Zcu8cZVJ.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as r}from"./chunks/framework.q7IuVqhY.js";const y=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"intro.md","filePath":"intro.md","lastUpdated":1683355029000}'),i={name:"intro.md"},o=r("",24),s=[o];function l(d,n,h,c,m,u){return e(),a("div",null,s)}const b=t(i,[["render",l]]);export{y as __pageData,b as default}; diff --git a/docs/assets/intro.md.doHlkuHc.js b/docs/assets/intro.md.doHlkuHc.js new file mode 100644 index 00000000..6f37a7cf --- /dev/null +++ b/docs/assets/intro.md.doHlkuHc.js @@ -0,0 +1 @@ +import{_ as e,c as a,a2 as r,o as i}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"intro.md","filePath":"intro.md","lastUpdated":1683355029000}'),o={name:"intro.md"};function l(s,t,d,n,h,m){return i(),a("div",null,t[0]||(t[0]=[r('

Introduction

The roots

In March 2020, we published LeoCorpLibrary, which was also a C# library that contains useful methods. When we started the development of it, we didn't know where the project will go yet. Over the releases, we've added more and more methods and new features. However, the meaning and the purpose of LeoCorpLibrary was becoming less clear for everyone; it was becoming a mess. This is why we decided to rather not release v5, but instead, we decided to make a brand new .NET Library, PeyrSharp.

Our next product

PeyrSharp is a C# written library designed to make developers' life easier. We've all written code that we wish we hadn't. PeyrSharp is here to respond to this need; by implementing useful methods in various domains: Mathematics, Web/HTTP requests, unit converters, extensions, environment-related operations, and more!

Modules

PeyrSharp is divided in multiple packages:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platform.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

NOTE

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

',24)]))}const p=e(o,[["render",l]]);export{c as __pageData,p as default}; diff --git a/docs/assets/intro.md.doHlkuHc.lean.js b/docs/assets/intro.md.doHlkuHc.lean.js new file mode 100644 index 00000000..6f37a7cf --- /dev/null +++ b/docs/assets/intro.md.doHlkuHc.lean.js @@ -0,0 +1 @@ +import{_ as e,c as a,a2 as r,o as i}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"intro.md","filePath":"intro.md","lastUpdated":1683355029000}'),o={name:"intro.md"};function l(s,t,d,n,h,m){return i(),a("div",null,t[0]||(t[0]=[r('

Introduction

The roots

In March 2020, we published LeoCorpLibrary, which was also a C# library that contains useful methods. When we started the development of it, we didn't know where the project will go yet. Over the releases, we've added more and more methods and new features. However, the meaning and the purpose of LeoCorpLibrary was becoming less clear for everyone; it was becoming a mess. This is why we decided to rather not release v5, but instead, we decided to make a brand new .NET Library, PeyrSharp.

Our next product

PeyrSharp is a C# written library designed to make developers' life easier. We've all written code that we wish we hadn't. PeyrSharp is here to respond to this need; by implementing useful methods in various domains: Mathematics, Web/HTTP requests, unit converters, extensions, environment-related operations, and more!

Modules

PeyrSharp is divided in multiple packages:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platform.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

NOTE

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

',24)]))}const p=e(o,[["render",l]]);export{c as __pageData,p as default}; diff --git a/docs/assets/reference.md.D87QmNDT.js b/docs/assets/reference.md.D87QmNDT.js new file mode 100644 index 00000000..e757a31a --- /dev/null +++ b/docs/assets/reference.md.D87QmNDT.js @@ -0,0 +1 @@ +import{_ as r,c as a,a2 as l,o as i}from"./chunks/framework.CdbxnhrM.js";const f=JSON.parse('{"title":"Reference","description":"","frontmatter":{},"headers":[],"relativePath":"reference.md","filePath":"reference.md","lastUpdated":1693471064000}'),t={name:"reference.md"};function h(o,e,s,n,m,c){return i(),a("div",null,e[0]||(e[0]=[l('

Reference

The reference of PeyrSharp.

PeyrSharp.Core

PeyrSharp.Env

PeyrSharp.Enums

PeyrSharp.Exceptions

PeyrSharp.Extensions

PeyrSharp.UiHelpers

',14)]))}const u=r(t,[["render",h]]);export{f as __pageData,u as default}; diff --git a/docs/assets/reference.md.D87QmNDT.lean.js b/docs/assets/reference.md.D87QmNDT.lean.js new file mode 100644 index 00000000..e757a31a --- /dev/null +++ b/docs/assets/reference.md.D87QmNDT.lean.js @@ -0,0 +1 @@ +import{_ as r,c as a,a2 as l,o as i}from"./chunks/framework.CdbxnhrM.js";const f=JSON.parse('{"title":"Reference","description":"","frontmatter":{},"headers":[],"relativePath":"reference.md","filePath":"reference.md","lastUpdated":1693471064000}'),t={name:"reference.md"};function h(o,e,s,n,m,c){return i(),a("div",null,e[0]||(e[0]=[l('

Reference

The reference of PeyrSharp.

PeyrSharp.Core

PeyrSharp.Env

PeyrSharp.Enums

PeyrSharp.Exceptions

PeyrSharp.Extensions

PeyrSharp.UiHelpers

',14)]))}const u=r(t,[["render",h]]);export{f as __pageData,u as default}; diff --git a/docs/assets/reference.md.nbnI4pmn.js b/docs/assets/reference.md.nbnI4pmn.js deleted file mode 100644 index 7f5bf255..00000000 --- a/docs/assets/reference.md.nbnI4pmn.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as r,c as a,R as l}from"./chunks/framework.q7IuVqhY.js";const d=JSON.parse('{"title":"Reference","description":"","frontmatter":{},"headers":[],"relativePath":"reference.md","filePath":"reference.md","lastUpdated":1693471064000}'),i={name:"reference.md"},t=l('

Reference

The reference of PeyrSharp.

PeyrSharp.Core

PeyrSharp.Env

PeyrSharp.Enums

PeyrSharp.Exceptions

PeyrSharp.Extensions

PeyrSharp.UiHelpers

',14),h=[t];function o(s,n,m,c,p,f){return r(),a("div",null,h)}const y=e(i,[["render",o]]);export{d as __pageData,y as default}; diff --git a/docs/assets/reference.md.nbnI4pmn.lean.js b/docs/assets/reference.md.nbnI4pmn.lean.js deleted file mode 100644 index ea9a5396..00000000 --- a/docs/assets/reference.md.nbnI4pmn.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as r,c as a,R as l}from"./chunks/framework.q7IuVqhY.js";const d=JSON.parse('{"title":"Reference","description":"","frontmatter":{},"headers":[],"relativePath":"reference.md","filePath":"reference.md","lastUpdated":1693471064000}'),i={name:"reference.md"},t=l("",14),h=[t];function o(s,n,m,c,p,f){return r(),a("div",null,h)}const y=e(i,[["render",o]]);export{d as __pageData,y as default}; diff --git a/docs/assets/style.3Ndtxx19.css b/docs/assets/style.3Ndtxx19.css deleted file mode 100644 index ebc69348..00000000 --- a/docs/assets/style.3Ndtxx19.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic.jIZ9REo5.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-cyrillic-ext.8T9wMG5w.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek.Cb5wWeGA.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-greek-ext.9JiNzaSO.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin.bvIUbFQP.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-latin-ext.GZWE-KO4.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:normal;font-named-instance:"Regular";src:url(/assets/inter-roman-vietnamese.paY3CzEB.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic.-nLMcIwj.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-cyrillic-ext.OVycGSDq.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek.PSfer2Kc.woff2) format("woff2");unicode-range:U+0370-03FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-greek-ext.hznxWNZO.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin.27E69YJn.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-latin-ext.RnFly65-.woff2) format("woff2");unicode-range:U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter var;font-weight:100 900;font-display:swap;font-style:italic;font-named-instance:"Italic";src:url(/assets/inter-italic-vietnamese.xzQHe1q1.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chinese Quotes;src:local("PingFang SC Regular"),local("PingFang SC"),local("SimHei"),local("Source Han Sans SC");unicode-range:U+2018,U+2019,U+201C,U+201D}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Chinese Quotes", "Inter var", "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Helvetica, Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' height='20' width='20' stroke='rgba(128,128,128,1)' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='M9 5H7a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2h-2M9 5a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2M9 5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2m-6 9 2 2 4-4'/%3E%3C/svg%3E")}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-green-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-green-1);--vp-code-line-diff-remove-color: var(--vp-c-red-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-red-1);--vp-code-line-warning-color: var(--vp-c-yellow-soft);--vp-code-line-error-color: var(--vp-c-red-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-brand-soft);--vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-gray-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-brand-1);--vp-badge-tip-bg: var(--vp-c-brand-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);direction:ltr;font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{display:inline-block;margin:auto 2px -2px}mjx-container>svg{margin:auto}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-brand-1)}.custom-block.tip a:hover{color:var(--vp-c-brand-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s}.vp-doc blockquote>p{margin:0;font-size:16px;color:var(--vp-c-text-2);transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin-bottom:4px;text-align:center;letter-spacing:1px;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge[data-v-ea5b2908]{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.vp-doc h1>.VPBadge[data-v-ea5b2908]{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge[data-v-ea5b2908]{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge[data-v-ea5b2908]{vertical-align:middle}.vp-doc h4>.VPBadge[data-v-ea5b2908],.vp-doc h5>.VPBadge[data-v-ea5b2908],.vp-doc h6>.VPBadge[data-v-ea5b2908]{vertical-align:middle;line-height:18px}.VPBadge.info[data-v-ea5b2908]{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip[data-v-ea5b2908]{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning[data-v-ea5b2908]{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger[data-v-ea5b2908]{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-54a304ca]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-54a304ca],.VPBackdrop.fade-leave-to[data-v-54a304ca]{opacity:0}.VPBackdrop.fade-leave-active[data-v-54a304ca]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-54a304ca]{display:none}}.NotFound[data-v-b9c0c15a]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-b9c0c15a]{padding:96px 32px 168px}}.code[data-v-b9c0c15a]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-b9c0c15a]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-b9c0c15a]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-b9c0c15a]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-b9c0c15a]{padding-top:20px}.link[data-v-b9c0c15a]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-b9c0c15a]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-463da30f]{position:relative;z-index:1}.nested[data-v-463da30f]{padding-left:16px}.outline-link[data-v-463da30f]{display:block;line-height:28px;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s;font-weight:400}.outline-link[data-v-463da30f]:hover,.outline-link.active[data-v-463da30f]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-463da30f]{padding-left:13px}.VPDocAsideOutline[data-v-3a6c4994]{display:none}.VPDocAsideOutline.has-outline[data-v-3a6c4994]{display:block}.content[data-v-3a6c4994]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-3a6c4994]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-3a6c4994]{letter-spacing:.4px;line-height:28px;font-size:13px;font-weight:600}.VPDocAside[data-v-cb998dce]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-cb998dce]{flex-grow:1}.VPDocAside[data-v-cb998dce] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-cb998dce] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-cb998dce] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-19a7ae4e]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-19a7ae4e]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-b4b63abf]{margin-top:64px}.edit-info[data-v-b4b63abf]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-b4b63abf]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-b4b63abf]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-b4b63abf]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-b4b63abf]{margin-right:8px;width:14px;height:14px;fill:currentColor}.prev-next[data-v-b4b63abf]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-b4b63abf]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-b4b63abf]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-b4b63abf]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-b4b63abf]{margin-left:auto;text-align:right}.desc[data-v-b4b63abf]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-b4b63abf]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDocOutlineDropdown[data-v-95bb0785]{margin-bottom:48px}.VPDocOutlineDropdown button[data-v-95bb0785]{display:block;font-size:14px;font-weight:500;line-height:24px;border:1px solid var(--vp-c-border);padding:4px 12px;color:var(--vp-c-text-2);background-color:var(--vp-c-default-soft);border-radius:8px;transition:color .5s}.VPDocOutlineDropdown button[data-v-95bb0785]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPDocOutlineDropdown button.open[data-v-95bb0785]{color:var(--vp-c-text-1)}.icon[data-v-95bb0785]{display:inline-block;vertical-align:middle;width:16px;height:16px;fill:currentColor}[data-v-95bb0785] .outline-link{font-size:14px;font-weight:400}.open>.icon[data-v-95bb0785]{transform:rotate(90deg)}.items[data-v-95bb0785]{margin-top:12px;border-left:1px solid var(--vp-c-divider)}.VPDoc[data-v-a3c25e27]{padding:32px 24px 96px;width:100%}.VPDoc .VPDocOutlineDropdown[data-v-a3c25e27]{display:none}@media (min-width: 960px) and (max-width: 1279px){.VPDoc .VPDocOutlineDropdown[data-v-a3c25e27]{display:block}}@media (min-width: 768px){.VPDoc[data-v-a3c25e27]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-a3c25e27]{padding:32px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-a3c25e27]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-a3c25e27]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-a3c25e27]{display:flex;justify-content:center}.VPDoc .aside[data-v-a3c25e27]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-a3c25e27]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-a3c25e27]{max-width:1104px}}.container[data-v-a3c25e27]{margin:0 auto;width:100%}.aside[data-v-a3c25e27]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-a3c25e27]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-a3c25e27]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 32px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-a3c25e27]::-webkit-scrollbar{display:none}.aside-curtain[data-v-a3c25e27]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-a3c25e27]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 32px));padding-bottom:32px}.content[data-v-a3c25e27]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-a3c25e27]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-a3c25e27]{order:1;margin:0;min-width:640px}}.content-container[data-v-a3c25e27]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-a3c25e27]{max-width:688px}.external-link-icon-enabled :is(.vp-doc a[href*="://"][data-v-a3c25e27],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.VPButton[data-v-1e76fe75]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-1e76fe75]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-1e76fe75]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-1e76fe75]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-1e76fe75]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-1e76fe75]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-1e76fe75]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-1e76fe75]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-1e76fe75]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-1e76fe75]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-1e76fe75]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-1e76fe75]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-1e76fe75]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-ab19afbb]{display:none}.dark .VPImage.light[data-v-ab19afbb]{display:none}.VPHero[data-v-5a3e9999]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-5a3e9999]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-5a3e9999]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-5a3e9999]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-5a3e9999]{flex-direction:row}}.main[data-v-5a3e9999]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-5a3e9999]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-5a3e9999]{text-align:left}}@media (min-width: 960px){.main[data-v-5a3e9999]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-5a3e9999]{max-width:592px}}.name[data-v-5a3e9999],.text[data-v-5a3e9999]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-5a3e9999],.VPHero.has-image .text[data-v-5a3e9999]{margin:0 auto}.name[data-v-5a3e9999]{color:var(--vp-home-hero-name-color)}.clip[data-v-5a3e9999]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-5a3e9999],.text[data-v-5a3e9999]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-5a3e9999],.text[data-v-5a3e9999]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-5a3e9999],.VPHero.has-image .text[data-v-5a3e9999]{margin:0}}.tagline[data-v-5a3e9999]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-5a3e9999]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-5a3e9999]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-5a3e9999]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-5a3e9999]{margin:0}}.actions[data-v-5a3e9999]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-5a3e9999]{justify-content:center}@media (min-width: 640px){.actions[data-v-5a3e9999]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-5a3e9999]{justify-content:flex-start}}.action[data-v-5a3e9999]{flex-shrink:0;padding:6px}.image[data-v-5a3e9999]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-5a3e9999]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-5a3e9999]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-5a3e9999]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-5a3e9999]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-5a3e9999]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-5a3e9999]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-5a3e9999]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-5a3e9999]{width:320px;height:320px}}[data-v-5a3e9999] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-5a3e9999] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-5a3e9999] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-ee984185]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-ee984185]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-ee984185]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-ee984185]>.VPImage{margin-bottom:20px}.icon[data-v-ee984185]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-ee984185]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-ee984185]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-ee984185]{padding-top:8px}.link-text-value[data-v-ee984185]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-ee984185]{display:inline-block;margin-left:6px;width:14px;height:14px;fill:currentColor}.VPFeatures[data-v-b1eea84a]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-b1eea84a]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-b1eea84a]{padding:0 64px}}.container[data-v-b1eea84a]{margin:0 auto;max-width:1152px}.items[data-v-b1eea84a]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-b1eea84a]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-b1eea84a],.item.grid-4[data-v-b1eea84a],.item.grid-6[data-v-b1eea84a]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-b1eea84a],.item.grid-4[data-v-b1eea84a]{width:50%}.item.grid-3[data-v-b1eea84a],.item.grid-6[data-v-b1eea84a]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-b1eea84a]{width:25%}}.VPHome[data-v-20eabd3a]{padding-bottom:96px}.VPHome[data-v-20eabd3a] .VPHomeSponsors{margin-top:112px;margin-bottom:-128px}@media (min-width: 768px){.VPHome[data-v-20eabd3a]{padding-bottom:128px}}.VPContent[data-v-3cf691b6]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-3cf691b6]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-3cf691b6]{margin:0}@media (min-width: 960px){.VPContent[data-v-3cf691b6]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-3cf691b6]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-3cf691b6]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-566314d4]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-566314d4]{display:none}.VPFooter[data-v-566314d4] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-566314d4] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-566314d4]{padding:32px}}.container[data-v-566314d4]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-566314d4],.copyright[data-v-566314d4]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-24251f6f]{padding:12px 20px 11px}.VPLocalNavOutlineDropdown button[data-v-24251f6f]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-24251f6f]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-24251f6f]{color:var(--vp-c-text-1)}.icon[data-v-24251f6f]{display:inline-block;vertical-align:middle;margin-left:2px;width:14px;height:14px;fill:currentColor}[data-v-24251f6f] .outline-link{font-size:14px;padding:2px 0}.open>.icon[data-v-24251f6f]{transform:rotate(90deg)}.items[data-v-24251f6f]{position:absolute;top:64px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}.header[data-v-24251f6f]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-24251f6f]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-24251f6f]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-24251f6f]{transition:all .2s ease-out}.flyout-leave-active[data-v-24251f6f]{transition:all .15s ease-in}.flyout-enter-from[data-v-24251f6f],.flyout-leave-to[data-v-24251f6f]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-f8a0b38a]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--vp-c-gutter);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-f8a0b38a]{position:fixed}.VPLocalNav.reached-top[data-v-f8a0b38a]{border-top-color:transparent}@media (min-width: 960px){.VPLocalNav[data-v-f8a0b38a]{display:none}}.menu[data-v-f8a0b38a]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-f8a0b38a]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-f8a0b38a]{padding:0 32px}}.menu-icon[data-v-f8a0b38a]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPOutlineDropdown[data-v-f8a0b38a]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-f8a0b38a]{padding:12px 32px 11px}}.VPSwitch[data-v-1c29e291]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-1c29e291]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-1c29e291]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-1c29e291]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-1c29e291] svg{position:absolute;top:3px;left:3px;width:12px;height:12px;fill:var(--vp-c-text-2)}.dark .icon[data-v-1c29e291] svg{fill:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-70af5d02]{opacity:1}.moon[data-v-70af5d02],.dark .sun[data-v-70af5d02]{opacity:0}.dark .moon[data-v-70af5d02]{opacity:1}.dark .VPSwitchAppearance[data-v-70af5d02] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-283b26e9]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-283b26e9]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-f51f088d]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-f51f088d]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-f51f088d]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-f51f088d]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-a6b0397c]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-a6b0397c]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-a6b0397c]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-a6b0397c]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-e42ed9b3]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-e42ed9b3] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-e42ed9b3] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-e42ed9b3] .group:last-child{padding-bottom:0}.VPMenu[data-v-e42ed9b3] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-e42ed9b3] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-e42ed9b3] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-e42ed9b3] .action{padding-left:24px}.VPFlyout[data-v-aa8de344]{position:relative}.VPFlyout[data-v-aa8de344]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-aa8de344]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-aa8de344]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-aa8de344]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-aa8de344]{color:var(--vp-c-brand-2)}.VPFlyout:hover .menu[data-v-aa8de344],.button[aria-expanded=true]+.menu[data-v-aa8de344]{opacity:1;visibility:visible;transform:translateY(0)}.button[aria-expanded=false]+.menu[data-v-aa8de344]{opacity:0;visibility:hidden;transform:translateY(0)}.button[data-v-aa8de344]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-aa8de344]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-aa8de344]{margin-right:0;width:16px;height:16px;fill:currentColor}.text-icon[data-v-aa8de344]{margin-left:4px;width:14px;height:14px;fill:currentColor}.icon[data-v-aa8de344]{width:20px;height:20px;fill:currentColor;transition:fill .25s}.menu[data-v-aa8de344]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-16cf740a]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-16cf740a]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-16cf740a]>svg{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-e71e869c]{display:flex;justify-content:center}.VPNavBarExtra[data-v-8e87c032]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-8e87c032]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-8e87c032]{display:none}}.trans-title[data-v-8e87c032]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-8e87c032],.item.social-links[data-v-8e87c032]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-8e87c032]{min-width:176px}.appearance-action[data-v-8e87c032]{margin-right:-2px}.social-links-list[data-v-8e87c032]{margin:-4px -8px}.VPNavBarHamburger[data-v-6bee1efd]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-6bee1efd]{display:none}}.container[data-v-6bee1efd]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-6bee1efd]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-6bee1efd]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-6bee1efd]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-6bee1efd]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-6bee1efd]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-6bee1efd]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-6bee1efd],.VPNavBarHamburger.active:hover .middle[data-v-6bee1efd],.VPNavBarHamburger.active:hover .bottom[data-v-6bee1efd]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-6bee1efd],.middle[data-v-6bee1efd],.bottom[data-v-6bee1efd]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-6bee1efd]{top:0;left:0;transform:translate(0)}.middle[data-v-6bee1efd]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-6bee1efd]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-cb318fec]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-cb318fec],.VPNavBarMenuLink[data-v-cb318fec]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-f732b5d0]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-f732b5d0]{display:flex}}/*! @docsearch/css 3.5.2 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;position:relative;padding:0 0 2px;border:0;top:-1px;width:20px}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:rgba(0,0,0,.2);transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border-radius:2px;box-shadow:var(--docsearch-key-shadow);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;color:var(--docsearch-muted-color);border:0;width:20px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-ef6192dc]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-ef6192dc]{display:flex;align-items:center}}.title[data-v-2973dbb4]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-2973dbb4]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-2973dbb4]{border-bottom-color:var(--vp-c-divider)}}[data-v-2973dbb4] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-ff4524ae]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-ff4524ae]{display:flex;align-items:center}}.title[data-v-ff4524ae]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-5befd255]{position:relative;border-bottom:1px solid transparent;padding:0 8px 0 24px;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap}@media (min-width: 768px){.VPNavBar[data-v-5befd255]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar[data-v-5befd255]{padding:0}.VPNavBar[data-v-5befd255]:not(.has-sidebar):not(.top){border-bottom-color:var(--vp-c-gutter);background-color:var(--vp-nav-bg-color)}}.container[data-v-5befd255]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-5befd255],.container>.content[data-v-5befd255]{pointer-events:none}.container[data-v-5befd255] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-5befd255]{max-width:100%}}.title[data-v-5befd255]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-5befd255]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-5befd255]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-5befd255]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-5befd255]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-5befd255]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-5befd255]{display:flex;justify-content:flex-end;align-items:center;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.top) .content-body[data-v-5befd255]{position:relative;background-color:var(--vp-nav-bg-color)}}@media (max-width: 767px){.content-body[data-v-5befd255]{column-gap:.5rem}}.menu+.translations[data-v-5befd255]:before,.menu+.appearance[data-v-5befd255]:before,.menu+.social-links[data-v-5befd255]:before,.translations+.appearance[data-v-5befd255]:before,.appearance+.social-links[data-v-5befd255]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-5befd255]:before,.translations+.appearance[data-v-5befd255]:before{margin-right:16px}.appearance+.social-links[data-v-5befd255]:before{margin-left:16px}.social-links[data-v-5befd255]{margin-right:-8px}@media (min-width: 960px){.VPNavBar.has-sidebar .curtain[data-v-5befd255]{position:absolute;right:0;bottom:-31px;width:calc(100% - var(--vp-sidebar-width));height:32px}.VPNavBar.has-sidebar .curtain[data-v-5befd255]:before{display:block;width:100%;height:32px;background:linear-gradient(var(--vp-c-bg),transparent 70%);content:""}}@media (min-width: 1440px){.VPNavBar.has-sidebar .curtain[data-v-5befd255]{width:calc(100% - ((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)))}}.VPNavScreenAppearance[data-v-338d9b48]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-338d9b48]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-fe523e3d]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-fe523e3d]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-aea78dd1]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-aea78dd1]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-f60dbfa7]{display:block}.title[data-v-f60dbfa7]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-32e4a89c]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-32e4a89c]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-32e4a89c]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-32e4a89c]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-32e4a89c]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-32e4a89c]{transform:rotate(45deg)}.button[data-v-32e4a89c]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-32e4a89c]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-32e4a89c]{width:14px;height:14px;fill:var(--vp-c-text-2);transition:fill .5s,transform .25s}.group[data-v-32e4a89c]:first-child{padding-top:0}.group+.group[data-v-32e4a89c],.group+.item[data-v-32e4a89c]{padding-top:4px}.VPNavScreenTranslations[data-v-41505286]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-41505286]{height:auto}.title[data-v-41505286]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-41505286]{width:16px;height:16px;fill:currentColor}.icon.lang[data-v-41505286]{margin-right:8px}.icon.chevron[data-v-41505286]{margin-left:4px}.list[data-v-41505286]{padding:4px 0 0 24px}.link[data-v-41505286]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-57cce842]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 1px);right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .5s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-57cce842],.VPNavScreen.fade-leave-active[data-v-57cce842]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-57cce842],.VPNavScreen.fade-leave-active .container[data-v-57cce842]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-57cce842],.VPNavScreen.fade-leave-to[data-v-57cce842]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-57cce842],.VPNavScreen.fade-leave-to .container[data-v-57cce842]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-57cce842]{display:none}}.container[data-v-57cce842]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-57cce842],.menu+.appearance[data-v-57cce842],.translations+.appearance[data-v-57cce842]{margin-top:24px}.menu+.social-links[data-v-57cce842]{margin-top:16px}.appearance+.social-links[data-v-57cce842]{margin-top:16px}.VPNav[data-v-7ad780c2]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-7ad780c2]{position:fixed}}.VPSidebarItem.level-0[data-v-bd01e0d5]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-bd01e0d5]{padding-bottom:10px}.item[data-v-bd01e0d5]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-bd01e0d5]{cursor:pointer}.indicator[data-v-bd01e0d5]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-bd01e0d5],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-bd01e0d5],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-bd01e0d5],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-bd01e0d5]{background-color:var(--vp-c-brand-1)}.link[data-v-bd01e0d5]{display:flex;align-items:center;flex-grow:1}.text[data-v-bd01e0d5]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-bd01e0d5]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-bd01e0d5],.VPSidebarItem.level-2 .text[data-v-bd01e0d5],.VPSidebarItem.level-3 .text[data-v-bd01e0d5],.VPSidebarItem.level-4 .text[data-v-bd01e0d5],.VPSidebarItem.level-5 .text[data-v-bd01e0d5]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-bd01e0d5],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-bd01e0d5],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-bd01e0d5],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-bd01e0d5],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-bd01e0d5],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-bd01e0d5]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-bd01e0d5],.VPSidebarItem.level-1.has-active>.item>.text[data-v-bd01e0d5],.VPSidebarItem.level-2.has-active>.item>.text[data-v-bd01e0d5],.VPSidebarItem.level-3.has-active>.item>.text[data-v-bd01e0d5],.VPSidebarItem.level-4.has-active>.item>.text[data-v-bd01e0d5],.VPSidebarItem.level-5.has-active>.item>.text[data-v-bd01e0d5],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-bd01e0d5],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-bd01e0d5],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-bd01e0d5],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-bd01e0d5],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-bd01e0d5],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-bd01e0d5]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-bd01e0d5],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-bd01e0d5],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-bd01e0d5],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-bd01e0d5],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-bd01e0d5],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-bd01e0d5]{color:var(--vp-c-brand-1)}.caret[data-v-bd01e0d5]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-bd01e0d5]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-bd01e0d5]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-bd01e0d5]{width:18px;height:18px;fill:currentColor;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-bd01e0d5]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-bd01e0d5],.VPSidebarItem.level-2 .items[data-v-bd01e0d5],.VPSidebarItem.level-3 .items[data-v-bd01e0d5],.VPSidebarItem.level-4 .items[data-v-bd01e0d5],.VPSidebarItem.level-5 .items[data-v-bd01e0d5]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-bd01e0d5]{display:none}.VPSidebar[data-v-168699b1]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-168699b1]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-168699b1]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-168699b1]{z-index:1;padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-168699b1]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-168699b1]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-168699b1]{outline:0}.group+.group[data-v-168699b1]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-168699b1]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSkipLink[data-v-c8291ffa]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-c8291ffa]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-c8291ffa]{top:14px;left:16px}}.Layout[data-v-9d8abc1e]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-843cc1b2]{border-top:1px solid var(--vp-c-gutter);padding:88px 24px 96px;background-color:var(--vp-c-bg)}.container[data-v-843cc1b2]{margin:0 auto;max-width:1152px}.love[data-v-843cc1b2]{margin:0 auto;width:28px;height:28px;color:var(--vp-c-text-3)}.icon[data-v-843cc1b2]{width:28px;height:28px;fill:currentColor}.message[data-v-843cc1b2]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-843cc1b2]{padding-top:32px}.action[data-v-843cc1b2]{padding-top:40px;text-align:center}.VPTeamPage[data-v-b1cfd8dc]{padding-bottom:96px}@media (min-width: 768px){.VPTeamPage[data-v-b1cfd8dc]{padding-bottom:128px}}.VPTeamPageSection+.VPTeamPageSection[data-v-b1cfd8dc-s],.VPTeamMembers+.VPTeamPageSection[data-v-b1cfd8dc-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-b1cfd8dc-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-b1cfd8dc-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-b1cfd8dc-s],.VPTeamMembers+.VPTeamPageSection[data-v-b1cfd8dc-s]{margin-top:96px}}.VPTeamMembers[data-v-b1cfd8dc-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-b1cfd8dc-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-b1cfd8dc-s]{padding:0 64px}}.VPTeamPageTitle[data-v-46c5e327]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-46c5e327]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-46c5e327]{padding:80px 64px 48px}}.title[data-v-46c5e327]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-46c5e327]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-46c5e327]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-46c5e327]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-3bf2e850]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-3bf2e850]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-3bf2e850]{padding:0 64px}}.title[data-v-3bf2e850]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-3bf2e850]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-3bf2e850]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-3bf2e850]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-3bf2e850]{padding-top:40px}.VPTeamMembersItem[data-v-3a0078bd]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-3a0078bd]{padding:32px}.VPTeamMembersItem.small .data[data-v-3a0078bd]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-3a0078bd]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-3a0078bd]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-3a0078bd]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-3a0078bd]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-3a0078bd]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-3a0078bd]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-3a0078bd]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-3a0078bd]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-3a0078bd]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-3a0078bd]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-3a0078bd]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-3a0078bd]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-3a0078bd]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-3a0078bd]{text-align:center}.avatar[data-v-3a0078bd]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-3a0078bd]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-3a0078bd]{margin:0;font-weight:600}.affiliation[data-v-3a0078bd]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-3a0078bd]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-3a0078bd]:hover{color:var(--vp-c-brand-1)}.desc[data-v-3a0078bd]{margin:0 auto}.desc[data-v-3a0078bd] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-3a0078bd]{display:flex;justify-content:center;height:56px}.sp-link[data-v-3a0078bd]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-3a0078bd]:hover,.sp .sp-link.link[data-v-3a0078bd]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-3a0078bd]{margin-right:8px;width:16px;height:16px;fill:currentColor}.VPTeamMembers.small .container[data-v-bf782009]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-bf782009]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-bf782009]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-bf782009]{max-width:876px}.VPTeamMembers.medium .container[data-v-bf782009]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-bf782009]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-bf782009]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-bf782009]{max-width:760px}.container[data-v-bf782009]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-brand: #00e0ff;--vp-c-brand-1: #6aebfc;--vp-c-brand-2: #00e0ff;--vp-c-brand-3: #00b9d1;--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 135deg, #00e0ff 0%, #00ff57 100% )}html.dark{--vp-c-bg: #0a0a1e;--vp-c-bg-light: #141428;--vp-c-bg-lighter: #1e1e32;--vp-code-bg-color: #1e1e32;--vp-c-black-mute: #1e1e32;--vp-c-black: #1e1e32;--vp-c-bg-soft: #1e1e32} diff --git a/docs/assets/style.CTFmKXaj.css b/docs/assets/style.CTFmKXaj.css new file mode 100644 index 00000000..05e2ad45 --- /dev/null +++ b/docs/assets/style.CTFmKXaj.css @@ -0,0 +1 @@ +@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-cyrillic.C5lxZ8CY.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-greek-ext.CqjqNYQ-.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-greek.BBVDIX6e.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-vietnamese.BjW4sHH5.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-latin-ext.4ZJIpNVo.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/inter-roman-latin.Di8DUHzh.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-cyrillic-ext.r48I6akx.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-cyrillic.By2_1cv3.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-greek-ext.1u6EdAuj.woff2) format("woff2");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-greek.DJ8dCoTZ.woff2) format("woff2");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-vietnamese.BSbpV94h.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-latin-ext.CN1xVJS-.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(/assets/inter-italic-latin.C2AdPX0b.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Punctuation SC;font-weight:400;src:local("PingFang SC Regular"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:500;src:local("PingFang SC Medium"),local("Noto Sans CJK SC"),local("Microsoft YaHei");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:600;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}@font-face{font-family:Punctuation SC;font-weight:700;src:local("PingFang SC Semibold"),local("Noto Sans CJK SC Bold"),local("Microsoft YaHei Bold");unicode-range:U+201C,U+201D,U+2018,U+2019,U+2E3A,U+2014,U+2013,U+2026,U+00B7,U+007E,U+002F}:root{--vp-c-white: #ffffff;--vp-c-black: #000000;--vp-c-neutral: var(--vp-c-black);--vp-c-neutral-inverse: var(--vp-c-white)}.dark{--vp-c-neutral: var(--vp-c-white);--vp-c-neutral-inverse: var(--vp-c-black)}:root{--vp-c-gray-1: #dddde3;--vp-c-gray-2: #e4e4e9;--vp-c-gray-3: #ebebef;--vp-c-gray-soft: rgba(142, 150, 170, .14);--vp-c-indigo-1: #3451b2;--vp-c-indigo-2: #3a5ccc;--vp-c-indigo-3: #5672cd;--vp-c-indigo-soft: rgba(100, 108, 255, .14);--vp-c-purple-1: #6f42c1;--vp-c-purple-2: #7e4cc9;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .14);--vp-c-green-1: #18794e;--vp-c-green-2: #299764;--vp-c-green-3: #30a46c;--vp-c-green-soft: rgba(16, 185, 129, .14);--vp-c-yellow-1: #915930;--vp-c-yellow-2: #946300;--vp-c-yellow-3: #9f6a00;--vp-c-yellow-soft: rgba(234, 179, 8, .14);--vp-c-red-1: #b8272c;--vp-c-red-2: #d5393e;--vp-c-red-3: #e0575b;--vp-c-red-soft: rgba(244, 63, 94, .14);--vp-c-sponsor: #db2777}.dark{--vp-c-gray-1: #515c67;--vp-c-gray-2: #414853;--vp-c-gray-3: #32363f;--vp-c-gray-soft: rgba(101, 117, 133, .16);--vp-c-indigo-1: #a8b1ff;--vp-c-indigo-2: #5c73e7;--vp-c-indigo-3: #3e63dd;--vp-c-indigo-soft: rgba(100, 108, 255, .16);--vp-c-purple-1: #c8abfa;--vp-c-purple-2: #a879e6;--vp-c-purple-3: #8e5cd9;--vp-c-purple-soft: rgba(159, 122, 234, .16);--vp-c-green-1: #3dd68c;--vp-c-green-2: #30a46c;--vp-c-green-3: #298459;--vp-c-green-soft: rgba(16, 185, 129, .16);--vp-c-yellow-1: #f9b44e;--vp-c-yellow-2: #da8b17;--vp-c-yellow-3: #a46a0a;--vp-c-yellow-soft: rgba(234, 179, 8, .16);--vp-c-red-1: #f66f81;--vp-c-red-2: #f14158;--vp-c-red-3: #b62a3c;--vp-c-red-soft: rgba(244, 63, 94, .16)}:root{--vp-c-bg: #ffffff;--vp-c-bg-alt: #f6f6f7;--vp-c-bg-elv: #ffffff;--vp-c-bg-soft: #f6f6f7}.dark{--vp-c-bg: #1b1b1f;--vp-c-bg-alt: #161618;--vp-c-bg-elv: #202127;--vp-c-bg-soft: #202127}:root{--vp-c-border: #c2c2c4;--vp-c-divider: #e2e2e3;--vp-c-gutter: #e2e2e3}.dark{--vp-c-border: #3c3f44;--vp-c-divider: #2e2e32;--vp-c-gutter: #000000}:root{--vp-c-text-1: rgba(60, 60, 67);--vp-c-text-2: rgba(60, 60, 67, .78);--vp-c-text-3: rgba(60, 60, 67, .56)}.dark{--vp-c-text-1: rgba(255, 255, 245, .86);--vp-c-text-2: rgba(235, 235, 245, .6);--vp-c-text-3: rgba(235, 235, 245, .38)}:root{--vp-c-default-1: var(--vp-c-gray-1);--vp-c-default-2: var(--vp-c-gray-2);--vp-c-default-3: var(--vp-c-gray-3);--vp-c-default-soft: var(--vp-c-gray-soft);--vp-c-brand-1: var(--vp-c-indigo-1);--vp-c-brand-2: var(--vp-c-indigo-2);--vp-c-brand-3: var(--vp-c-indigo-3);--vp-c-brand-soft: var(--vp-c-indigo-soft);--vp-c-brand: var(--vp-c-brand-1);--vp-c-tip-1: var(--vp-c-brand-1);--vp-c-tip-2: var(--vp-c-brand-2);--vp-c-tip-3: var(--vp-c-brand-3);--vp-c-tip-soft: var(--vp-c-brand-soft);--vp-c-note-1: var(--vp-c-brand-1);--vp-c-note-2: var(--vp-c-brand-2);--vp-c-note-3: var(--vp-c-brand-3);--vp-c-note-soft: var(--vp-c-brand-soft);--vp-c-success-1: var(--vp-c-green-1);--vp-c-success-2: var(--vp-c-green-2);--vp-c-success-3: var(--vp-c-green-3);--vp-c-success-soft: var(--vp-c-green-soft);--vp-c-important-1: var(--vp-c-purple-1);--vp-c-important-2: var(--vp-c-purple-2);--vp-c-important-3: var(--vp-c-purple-3);--vp-c-important-soft: var(--vp-c-purple-soft);--vp-c-warning-1: var(--vp-c-yellow-1);--vp-c-warning-2: var(--vp-c-yellow-2);--vp-c-warning-3: var(--vp-c-yellow-3);--vp-c-warning-soft: var(--vp-c-yellow-soft);--vp-c-danger-1: var(--vp-c-red-1);--vp-c-danger-2: var(--vp-c-red-2);--vp-c-danger-3: var(--vp-c-red-3);--vp-c-danger-soft: var(--vp-c-red-soft);--vp-c-caution-1: var(--vp-c-red-1);--vp-c-caution-2: var(--vp-c-red-2);--vp-c-caution-3: var(--vp-c-red-3);--vp-c-caution-soft: var(--vp-c-red-soft)}:root{--vp-font-family-base: "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--vp-font-family-mono: ui-monospace, "Menlo", "Monaco", "Consolas", "Liberation Mono", "Courier New", monospace;font-optical-sizing:auto}:root:where(:lang(zh)){--vp-font-family-base: "Punctuation SC", "Inter", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"}:root{--vp-shadow-1: 0 1px 2px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .06);--vp-shadow-2: 0 3px 12px rgba(0, 0, 0, .07), 0 1px 4px rgba(0, 0, 0, .07);--vp-shadow-3: 0 12px 32px rgba(0, 0, 0, .1), 0 2px 6px rgba(0, 0, 0, .08);--vp-shadow-4: 0 14px 44px rgba(0, 0, 0, .12), 0 3px 9px rgba(0, 0, 0, .12);--vp-shadow-5: 0 18px 56px rgba(0, 0, 0, .16), 0 4px 12px rgba(0, 0, 0, .16)}:root{--vp-z-index-footer: 10;--vp-z-index-local-nav: 20;--vp-z-index-nav: 30;--vp-z-index-layout-top: 40;--vp-z-index-backdrop: 50;--vp-z-index-sidebar: 60}@media (min-width: 960px){:root{--vp-z-index-sidebar: 25}}:root{--vp-layout-max-width: 1440px}:root{--vp-header-anchor-symbol: "#"}:root{--vp-code-line-height: 1.7;--vp-code-font-size: .875em;--vp-code-color: var(--vp-c-brand-1);--vp-code-link-color: var(--vp-c-brand-1);--vp-code-link-hover-color: var(--vp-c-brand-2);--vp-code-bg: var(--vp-c-default-soft);--vp-code-block-color: var(--vp-c-text-2);--vp-code-block-bg: var(--vp-c-bg-alt);--vp-code-block-divider-color: var(--vp-c-gutter);--vp-code-lang-color: var(--vp-c-text-3);--vp-code-line-highlight-color: var(--vp-c-default-soft);--vp-code-line-number-color: var(--vp-c-text-3);--vp-code-line-diff-add-color: var(--vp-c-success-soft);--vp-code-line-diff-add-symbol-color: var(--vp-c-success-1);--vp-code-line-diff-remove-color: var(--vp-c-danger-soft);--vp-code-line-diff-remove-symbol-color: var(--vp-c-danger-1);--vp-code-line-warning-color: var(--vp-c-warning-soft);--vp-code-line-error-color: var(--vp-c-danger-soft);--vp-code-copy-code-border-color: var(--vp-c-divider);--vp-code-copy-code-bg: var(--vp-c-bg-soft);--vp-code-copy-code-hover-border-color: var(--vp-c-divider);--vp-code-copy-code-hover-bg: var(--vp-c-bg);--vp-code-copy-code-active-text: var(--vp-c-text-2);--vp-code-copy-copied-text-content: "Copied";--vp-code-tab-divider: var(--vp-code-block-divider-color);--vp-code-tab-text-color: var(--vp-c-text-2);--vp-code-tab-bg: var(--vp-code-block-bg);--vp-code-tab-hover-text-color: var(--vp-c-text-1);--vp-code-tab-active-text-color: var(--vp-c-text-1);--vp-code-tab-active-bar-color: var(--vp-c-brand-1)}:root{--vp-button-brand-border: transparent;--vp-button-brand-text: var(--vp-c-white);--vp-button-brand-bg: var(--vp-c-brand-3);--vp-button-brand-hover-border: transparent;--vp-button-brand-hover-text: var(--vp-c-white);--vp-button-brand-hover-bg: var(--vp-c-brand-2);--vp-button-brand-active-border: transparent;--vp-button-brand-active-text: var(--vp-c-white);--vp-button-brand-active-bg: var(--vp-c-brand-1);--vp-button-alt-border: transparent;--vp-button-alt-text: var(--vp-c-text-1);--vp-button-alt-bg: var(--vp-c-default-3);--vp-button-alt-hover-border: transparent;--vp-button-alt-hover-text: var(--vp-c-text-1);--vp-button-alt-hover-bg: var(--vp-c-default-2);--vp-button-alt-active-border: transparent;--vp-button-alt-active-text: var(--vp-c-text-1);--vp-button-alt-active-bg: var(--vp-c-default-1);--vp-button-sponsor-border: var(--vp-c-text-2);--vp-button-sponsor-text: var(--vp-c-text-2);--vp-button-sponsor-bg: transparent;--vp-button-sponsor-hover-border: var(--vp-c-sponsor);--vp-button-sponsor-hover-text: var(--vp-c-sponsor);--vp-button-sponsor-hover-bg: transparent;--vp-button-sponsor-active-border: var(--vp-c-sponsor);--vp-button-sponsor-active-text: var(--vp-c-sponsor);--vp-button-sponsor-active-bg: transparent}:root{--vp-custom-block-font-size: 14px;--vp-custom-block-code-font-size: 13px;--vp-custom-block-info-border: transparent;--vp-custom-block-info-text: var(--vp-c-text-1);--vp-custom-block-info-bg: var(--vp-c-default-soft);--vp-custom-block-info-code-bg: var(--vp-c-default-soft);--vp-custom-block-note-border: transparent;--vp-custom-block-note-text: var(--vp-c-text-1);--vp-custom-block-note-bg: var(--vp-c-default-soft);--vp-custom-block-note-code-bg: var(--vp-c-default-soft);--vp-custom-block-tip-border: transparent;--vp-custom-block-tip-text: var(--vp-c-text-1);--vp-custom-block-tip-bg: var(--vp-c-tip-soft);--vp-custom-block-tip-code-bg: var(--vp-c-tip-soft);--vp-custom-block-important-border: transparent;--vp-custom-block-important-text: var(--vp-c-text-1);--vp-custom-block-important-bg: var(--vp-c-important-soft);--vp-custom-block-important-code-bg: var(--vp-c-important-soft);--vp-custom-block-warning-border: transparent;--vp-custom-block-warning-text: var(--vp-c-text-1);--vp-custom-block-warning-bg: var(--vp-c-warning-soft);--vp-custom-block-warning-code-bg: var(--vp-c-warning-soft);--vp-custom-block-danger-border: transparent;--vp-custom-block-danger-text: var(--vp-c-text-1);--vp-custom-block-danger-bg: var(--vp-c-danger-soft);--vp-custom-block-danger-code-bg: var(--vp-c-danger-soft);--vp-custom-block-caution-border: transparent;--vp-custom-block-caution-text: var(--vp-c-text-1);--vp-custom-block-caution-bg: var(--vp-c-caution-soft);--vp-custom-block-caution-code-bg: var(--vp-c-caution-soft);--vp-custom-block-details-border: var(--vp-custom-block-info-border);--vp-custom-block-details-text: var(--vp-custom-block-info-text);--vp-custom-block-details-bg: var(--vp-custom-block-info-bg);--vp-custom-block-details-code-bg: var(--vp-custom-block-info-code-bg)}:root{--vp-input-border-color: var(--vp-c-border);--vp-input-bg-color: var(--vp-c-bg-alt);--vp-input-switch-bg-color: var(--vp-c-default-soft)}:root{--vp-nav-height: 64px;--vp-nav-bg-color: var(--vp-c-bg);--vp-nav-screen-bg-color: var(--vp-c-bg);--vp-nav-logo-height: 24px}.hide-nav{--vp-nav-height: 0px}.hide-nav .VPSidebar{--vp-nav-height: 22px}:root{--vp-local-nav-bg-color: var(--vp-c-bg)}:root{--vp-sidebar-width: 272px;--vp-sidebar-bg-color: var(--vp-c-bg-alt)}:root{--vp-backdrop-bg-color: rgba(0, 0, 0, .6)}:root{--vp-home-hero-name-color: var(--vp-c-brand-1);--vp-home-hero-name-background: transparent;--vp-home-hero-image-background-image: none;--vp-home-hero-image-filter: none}:root{--vp-badge-info-border: transparent;--vp-badge-info-text: var(--vp-c-text-2);--vp-badge-info-bg: var(--vp-c-default-soft);--vp-badge-tip-border: transparent;--vp-badge-tip-text: var(--vp-c-tip-1);--vp-badge-tip-bg: var(--vp-c-tip-soft);--vp-badge-warning-border: transparent;--vp-badge-warning-text: var(--vp-c-warning-1);--vp-badge-warning-bg: var(--vp-c-warning-soft);--vp-badge-danger-border: transparent;--vp-badge-danger-text: var(--vp-c-danger-1);--vp-badge-danger-bg: var(--vp-c-danger-soft)}:root{--vp-carbon-ads-text-color: var(--vp-c-text-1);--vp-carbon-ads-poweredby-color: var(--vp-c-text-2);--vp-carbon-ads-bg-color: var(--vp-c-bg-soft);--vp-carbon-ads-hover-text-color: var(--vp-c-brand-1);--vp-carbon-ads-hover-poweredby-color: var(--vp-c-text-1)}:root{--vp-local-search-bg: var(--vp-c-bg);--vp-local-search-result-bg: var(--vp-c-bg);--vp-local-search-result-border: var(--vp-c-divider);--vp-local-search-result-selected-bg: var(--vp-c-bg);--vp-local-search-result-selected-border: var(--vp-c-brand-1);--vp-local-search-highlight-bg: var(--vp-c-brand-1);--vp-local-search-highlight-text: var(--vp-c-neutral-inverse)}@media (prefers-reduced-motion: reduce){*,:before,:after{animation-delay:-1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important;background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important}}*,:before,:after{box-sizing:border-box}html{line-height:1.4;font-size:16px;-webkit-text-size-adjust:100%}html.dark{color-scheme:dark}body{margin:0;width:100%;min-width:320px;min-height:100vh;line-height:24px;font-family:var(--vp-font-family-base);font-size:16px;font-weight:400;color:var(--vp-c-text-1);background-color:var(--vp-c-bg);font-synthesis:style;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}main{display:block}h1,h2,h3,h4,h5,h6{margin:0;line-height:24px;font-size:16px;font-weight:400}p{margin:0}strong,b{font-weight:600}a,area,button,[role=button],input,label,select,summary,textarea{touch-action:manipulation}a{color:inherit;text-decoration:inherit}ol,ul{list-style:none;margin:0;padding:0}blockquote{margin:0}pre,code,kbd,samp{font-family:var(--vp-font-family-mono)}img,svg,video,canvas,audio,iframe,embed,object{display:block}figure{margin:0}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{border:0;padding:0;line-height:inherit;color:inherit}button{padding:0;font-family:inherit;background-color:transparent;background-image:none}button:enabled,[role=button]:enabled{cursor:pointer}button:focus,button:focus-visible{outline:1px dotted;outline:4px auto -webkit-focus-ring-color}button:focus:not(:focus-visible){outline:none!important}input:focus,textarea:focus,select:focus{outline:none}table{border-collapse:collapse}input{background-color:transparent}input:-ms-input-placeholder,textarea:-ms-input-placeholder{color:var(--vp-c-text-3)}input::-ms-input-placeholder,textarea::-ms-input-placeholder{color:var(--vp-c-text-3)}input::placeholder,textarea::placeholder{color:var(--vp-c-text-3)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}textarea{resize:vertical}select{-webkit-appearance:none}fieldset{margin:0;padding:0}h1,h2,h3,h4,h5,h6,li,p{overflow-wrap:break-word}vite-error-overlay{z-index:9999}mjx-container{overflow-x:auto}mjx-container>svg{display:inline-block;margin:auto}[class^=vpi-],[class*=" vpi-"],.vp-icon{width:1em;height:1em}[class^=vpi-].bg,[class*=" vpi-"].bg,.vp-icon.bg{background-size:100% 100%;background-color:transparent}[class^=vpi-]:not(.bg),[class*=" vpi-"]:not(.bg),.vp-icon:not(.bg){-webkit-mask:var(--icon) no-repeat;mask:var(--icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;background-color:currentColor;color:inherit}.vpi-align-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M21 6H3M15 12H3M17 18H3'/%3E%3C/svg%3E")}.vpi-arrow-right,.vpi-arrow-down,.vpi-arrow-left,.vpi-arrow-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E")}.vpi-chevron-right,.vpi-chevron-down,.vpi-chevron-left,.vpi-chevron-up{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 18 6-6-6-6'/%3E%3C/svg%3E")}.vpi-chevron-down,.vpi-arrow-down{transform:rotate(90deg)}.vpi-chevron-left,.vpi-arrow-left{transform:rotate(180deg)}.vpi-chevron-up,.vpi-arrow-up{transform:rotate(-90deg)}.vpi-square-pen{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7'/%3E%3Cpath d='M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z'/%3E%3C/svg%3E")}.vpi-plus{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h14M12 5v14'/%3E%3C/svg%3E")}.vpi-sun{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='4'/%3E%3Cpath d='M12 2v2M12 20v2M4.93 4.93l1.41 1.41M17.66 17.66l1.41 1.41M2 12h2M20 12h2M6.34 17.66l-1.41 1.41M19.07 4.93l-1.41 1.41'/%3E%3C/svg%3E")}.vpi-moon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z'/%3E%3C/svg%3E")}.vpi-more-horizontal{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Ccircle cx='19' cy='12' r='1'/%3E%3Ccircle cx='5' cy='12' r='1'/%3E%3C/svg%3E")}.vpi-languages{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m5 8 6 6M4 14l6-6 2-3M2 5h12M7 2h1M22 22l-5-10-5 10M14 18h6'/%3E%3C/svg%3E")}.vpi-heart{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E")}.vpi-search{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cpath d='m21 21-4.3-4.3'/%3E%3C/svg%3E")}.vpi-layout-list{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='7' height='7' x='3' y='3' rx='1'/%3E%3Crect width='7' height='7' x='3' y='14' rx='1'/%3E%3Cpath d='M14 4h7M14 9h7M14 15h7M14 20h7'/%3E%3C/svg%3E")}.vpi-delete{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M20 5H9l-7 7 7 7h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2ZM18 9l-6 6M12 9l6 6'/%3E%3C/svg%3E")}.vpi-corner-down-left{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m9 10-5 5 5 5'/%3E%3Cpath d='M20 4v7a4 4 0 0 1-4 4H4'/%3E%3C/svg%3E")}:root{--vp-icon-copy: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3C/svg%3E");--vp-icon-copied: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='rgba(128,128,128,1)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Crect width='8' height='4' x='8' y='2' rx='1' ry='1'/%3E%3Cpath d='M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2'/%3E%3Cpath d='m9 14 2 2 4-4'/%3E%3C/svg%3E")}.visually-hidden{position:absolute;width:1px;height:1px;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden}.custom-block{border:1px solid transparent;border-radius:8px;padding:16px 16px 8px;line-height:24px;font-size:var(--vp-custom-block-font-size);color:var(--vp-c-text-2)}.custom-block.info{border-color:var(--vp-custom-block-info-border);color:var(--vp-custom-block-info-text);background-color:var(--vp-custom-block-info-bg)}.custom-block.info a,.custom-block.info code{color:var(--vp-c-brand-1)}.custom-block.info a:hover,.custom-block.info a:hover>code{color:var(--vp-c-brand-2)}.custom-block.info code{background-color:var(--vp-custom-block-info-code-bg)}.custom-block.note{border-color:var(--vp-custom-block-note-border);color:var(--vp-custom-block-note-text);background-color:var(--vp-custom-block-note-bg)}.custom-block.note a,.custom-block.note code{color:var(--vp-c-brand-1)}.custom-block.note a:hover,.custom-block.note a:hover>code{color:var(--vp-c-brand-2)}.custom-block.note code{background-color:var(--vp-custom-block-note-code-bg)}.custom-block.tip{border-color:var(--vp-custom-block-tip-border);color:var(--vp-custom-block-tip-text);background-color:var(--vp-custom-block-tip-bg)}.custom-block.tip a,.custom-block.tip code{color:var(--vp-c-tip-1)}.custom-block.tip a:hover,.custom-block.tip a:hover>code{color:var(--vp-c-tip-2)}.custom-block.tip code{background-color:var(--vp-custom-block-tip-code-bg)}.custom-block.important{border-color:var(--vp-custom-block-important-border);color:var(--vp-custom-block-important-text);background-color:var(--vp-custom-block-important-bg)}.custom-block.important a,.custom-block.important code{color:var(--vp-c-important-1)}.custom-block.important a:hover,.custom-block.important a:hover>code{color:var(--vp-c-important-2)}.custom-block.important code{background-color:var(--vp-custom-block-important-code-bg)}.custom-block.warning{border-color:var(--vp-custom-block-warning-border);color:var(--vp-custom-block-warning-text);background-color:var(--vp-custom-block-warning-bg)}.custom-block.warning a,.custom-block.warning code{color:var(--vp-c-warning-1)}.custom-block.warning a:hover,.custom-block.warning a:hover>code{color:var(--vp-c-warning-2)}.custom-block.warning code{background-color:var(--vp-custom-block-warning-code-bg)}.custom-block.danger{border-color:var(--vp-custom-block-danger-border);color:var(--vp-custom-block-danger-text);background-color:var(--vp-custom-block-danger-bg)}.custom-block.danger a,.custom-block.danger code{color:var(--vp-c-danger-1)}.custom-block.danger a:hover,.custom-block.danger a:hover>code{color:var(--vp-c-danger-2)}.custom-block.danger code{background-color:var(--vp-custom-block-danger-code-bg)}.custom-block.caution{border-color:var(--vp-custom-block-caution-border);color:var(--vp-custom-block-caution-text);background-color:var(--vp-custom-block-caution-bg)}.custom-block.caution a,.custom-block.caution code{color:var(--vp-c-caution-1)}.custom-block.caution a:hover,.custom-block.caution a:hover>code{color:var(--vp-c-caution-2)}.custom-block.caution code{background-color:var(--vp-custom-block-caution-code-bg)}.custom-block.details{border-color:var(--vp-custom-block-details-border);color:var(--vp-custom-block-details-text);background-color:var(--vp-custom-block-details-bg)}.custom-block.details a{color:var(--vp-c-brand-1)}.custom-block.details a:hover,.custom-block.details a:hover>code{color:var(--vp-c-brand-2)}.custom-block.details code{background-color:var(--vp-custom-block-details-code-bg)}.custom-block-title{font-weight:600}.custom-block p+p{margin:8px 0}.custom-block.details summary{margin:0 0 8px;font-weight:700;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-block.details summary+p{margin:8px 0}.custom-block a{color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;transition:opacity .25s}.custom-block a:hover{opacity:.75}.custom-block code{font-size:var(--vp-custom-block-code-font-size)}.custom-block.custom-block th,.custom-block.custom-block blockquote>p{font-size:var(--vp-custom-block-font-size);color:inherit}.dark .vp-code span{color:var(--shiki-dark, inherit)}html:not(.dark) .vp-code span{color:var(--shiki-light, inherit)}.vp-code-group{margin-top:16px}.vp-code-group .tabs{position:relative;display:flex;margin-right:-24px;margin-left:-24px;padding:0 12px;background-color:var(--vp-code-tab-bg);overflow-x:auto;overflow-y:hidden;box-shadow:inset 0 -1px var(--vp-code-tab-divider)}@media (min-width: 640px){.vp-code-group .tabs{margin-right:0;margin-left:0;border-radius:8px 8px 0 0}}.vp-code-group .tabs input{position:fixed;opacity:0;pointer-events:none}.vp-code-group .tabs label{position:relative;display:inline-block;border-bottom:1px solid transparent;padding:0 12px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-code-tab-text-color);white-space:nowrap;cursor:pointer;transition:color .25s}.vp-code-group .tabs label:after{position:absolute;right:8px;bottom:-1px;left:8px;z-index:1;height:2px;border-radius:2px;content:"";background-color:transparent;transition:background-color .25s}.vp-code-group label:hover{color:var(--vp-code-tab-hover-text-color)}.vp-code-group input:checked+label{color:var(--vp-code-tab-active-text-color)}.vp-code-group input:checked+label:after{background-color:var(--vp-code-tab-active-bar-color)}.vp-code-group div[class*=language-],.vp-block{display:none;margin-top:0!important;border-top-left-radius:0!important;border-top-right-radius:0!important}.vp-code-group div[class*=language-].active,.vp-block.active{display:block}.vp-block{padding:20px 24px}.vp-doc h1,.vp-doc h2,.vp-doc h3,.vp-doc h4,.vp-doc h5,.vp-doc h6{position:relative;font-weight:600;outline:none}.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:28px}.vp-doc h2{margin:48px 0 16px;border-top:1px solid var(--vp-c-divider);padding-top:24px;letter-spacing:-.02em;line-height:32px;font-size:24px}.vp-doc h3{margin:32px 0 0;letter-spacing:-.01em;line-height:28px;font-size:20px}.vp-doc h4{margin:24px 0 0;letter-spacing:-.01em;line-height:24px;font-size:18px}.vp-doc .header-anchor{position:absolute;top:0;left:0;margin-left:-.87em;font-weight:500;-webkit-user-select:none;user-select:none;opacity:0;text-decoration:none;transition:color .25s,opacity .25s}.vp-doc .header-anchor:before{content:var(--vp-header-anchor-symbol)}.vp-doc h1:hover .header-anchor,.vp-doc h1 .header-anchor:focus,.vp-doc h2:hover .header-anchor,.vp-doc h2 .header-anchor:focus,.vp-doc h3:hover .header-anchor,.vp-doc h3 .header-anchor:focus,.vp-doc h4:hover .header-anchor,.vp-doc h4 .header-anchor:focus,.vp-doc h5:hover .header-anchor,.vp-doc h5 .header-anchor:focus,.vp-doc h6:hover .header-anchor,.vp-doc h6 .header-anchor:focus{opacity:1}@media (min-width: 768px){.vp-doc h1{letter-spacing:-.02em;line-height:40px;font-size:32px}}.vp-doc h2 .header-anchor{top:24px}.vp-doc p,.vp-doc summary{margin:16px 0}.vp-doc p{line-height:28px}.vp-doc blockquote{margin:16px 0;border-left:2px solid var(--vp-c-divider);padding-left:16px;transition:border-color .5s;color:var(--vp-c-text-2)}.vp-doc blockquote>p{margin:0;font-size:16px;transition:color .5s}.vp-doc a{font-weight:500;color:var(--vp-c-brand-1);text-decoration:underline;text-underline-offset:2px;transition:color .25s,opacity .25s}.vp-doc a:hover{color:var(--vp-c-brand-2)}.vp-doc strong{font-weight:600}.vp-doc ul,.vp-doc ol{padding-left:1.25rem;margin:16px 0}.vp-doc ul{list-style:disc}.vp-doc ol{list-style:decimal}.vp-doc li+li{margin-top:8px}.vp-doc li>ol,.vp-doc li>ul{margin:8px 0 0}.vp-doc table{display:block;border-collapse:collapse;margin:20px 0;overflow-x:auto}.vp-doc tr{background-color:var(--vp-c-bg);border-top:1px solid var(--vp-c-divider);transition:background-color .5s}.vp-doc tr:nth-child(2n){background-color:var(--vp-c-bg-soft)}.vp-doc th,.vp-doc td{border:1px solid var(--vp-c-divider);padding:8px 16px}.vp-doc th{text-align:left;font-size:14px;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-doc td{font-size:14px}.vp-doc hr{margin:16px 0;border:none;border-top:1px solid var(--vp-c-divider)}.vp-doc .custom-block{margin:16px 0}.vp-doc .custom-block p{margin:8px 0;line-height:24px}.vp-doc .custom-block p:first-child{margin:0}.vp-doc .custom-block div[class*=language-]{margin:8px 0;border-radius:8px}.vp-doc .custom-block div[class*=language-] code{font-weight:400;background-color:transparent}.vp-doc .custom-block .vp-code-group .tabs{margin:0;border-radius:8px 8px 0 0}.vp-doc :not(pre,h1,h2,h3,h4,h5,h6)>code{font-size:var(--vp-code-font-size);color:var(--vp-code-color)}.vp-doc :not(pre)>code{border-radius:4px;padding:3px 6px;background-color:var(--vp-code-bg);transition:color .25s,background-color .5s}.vp-doc a>code{color:var(--vp-code-link-color)}.vp-doc a:hover>code{color:var(--vp-code-link-hover-color)}.vp-doc h1>code,.vp-doc h2>code,.vp-doc h3>code,.vp-doc h4>code{font-size:.9em}.vp-doc div[class*=language-],.vp-block{position:relative;margin:16px -24px;background-color:var(--vp-code-block-bg);overflow-x:auto;transition:background-color .5s}@media (min-width: 640px){.vp-doc div[class*=language-],.vp-block{border-radius:8px;margin:16px 0}}@media (max-width: 639px){.vp-doc li div[class*=language-]{border-radius:8px 0 0 8px}}.vp-doc div[class*=language-]+div[class*=language-],.vp-doc div[class$=-api]+div[class*=language-],.vp-doc div[class*=language-]+div[class$=-api]>div[class*=language-]{margin-top:-8px}.vp-doc [class*=language-] pre,.vp-doc [class*=language-] code{direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}.vp-doc [class*=language-] pre{position:relative;z-index:1;margin:0;padding:20px 0;background:transparent;overflow-x:auto}.vp-doc [class*=language-] code{display:block;padding:0 24px;width:fit-content;min-width:100%;line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-block-color);transition:color .5s}.vp-doc [class*=language-] code .highlighted{background-color:var(--vp-code-line-highlight-color);transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .highlighted.error{background-color:var(--vp-code-line-error-color)}.vp-doc [class*=language-] code .highlighted.warning{background-color:var(--vp-code-line-warning-color)}.vp-doc [class*=language-] code .diff{transition:background-color .5s;margin:0 -24px;padding:0 24px;width:calc(100% + 48px);display:inline-block}.vp-doc [class*=language-] code .diff:before{position:absolute;left:10px}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){filter:blur(.095rem);opacity:.4;transition:filter .35s,opacity .35s}.vp-doc [class*=language-] .has-focused-lines .line:not(.has-focus){opacity:.7;transition:filter .35s,opacity .35s}.vp-doc [class*=language-]:hover .has-focused-lines .line:not(.has-focus){filter:blur(0);opacity:1}.vp-doc [class*=language-] code .diff.remove{background-color:var(--vp-code-line-diff-remove-color);opacity:.7}.vp-doc [class*=language-] code .diff.remove:before{content:"-";color:var(--vp-code-line-diff-remove-symbol-color)}.vp-doc [class*=language-] code .diff.add{background-color:var(--vp-code-line-diff-add-color)}.vp-doc [class*=language-] code .diff.add:before{content:"+";color:var(--vp-code-line-diff-add-symbol-color)}.vp-doc div[class*=language-].line-numbers-mode{padding-left:32px}.vp-doc .line-numbers-wrapper{position:absolute;top:0;bottom:0;left:0;z-index:3;border-right:1px solid var(--vp-code-block-divider-color);padding-top:20px;width:32px;text-align:center;font-family:var(--vp-font-family-mono);line-height:var(--vp-code-line-height);font-size:var(--vp-code-font-size);color:var(--vp-code-line-number-color);transition:border-color .5s,color .5s}.vp-doc [class*=language-]>button.copy{direction:ltr;position:absolute;top:12px;right:12px;z-index:3;border:1px solid var(--vp-code-copy-code-border-color);border-radius:4px;width:40px;height:40px;background-color:var(--vp-code-copy-code-bg);opacity:0;cursor:pointer;background-image:var(--vp-icon-copy);background-position:50%;background-size:20px;background-repeat:no-repeat;transition:border-color .25s,background-color .25s,opacity .25s}.vp-doc [class*=language-]:hover>button.copy,.vp-doc [class*=language-]>button.copy:focus{opacity:1}.vp-doc [class*=language-]>button.copy:hover,.vp-doc [class*=language-]>button.copy.copied{border-color:var(--vp-code-copy-code-hover-border-color);background-color:var(--vp-code-copy-code-hover-bg)}.vp-doc [class*=language-]>button.copy.copied,.vp-doc [class*=language-]>button.copy:hover.copied{border-radius:0 4px 4px 0;background-color:var(--vp-code-copy-code-hover-bg);background-image:var(--vp-icon-copied)}.vp-doc [class*=language-]>button.copy.copied:before,.vp-doc [class*=language-]>button.copy:hover.copied:before{position:relative;top:-1px;transform:translate(calc(-100% - 1px));display:flex;justify-content:center;align-items:center;border:1px solid var(--vp-code-copy-code-hover-border-color);border-right:0;border-radius:4px 0 0 4px;padding:0 10px;width:fit-content;height:40px;text-align:center;font-size:12px;font-weight:500;color:var(--vp-code-copy-code-active-text);background-color:var(--vp-code-copy-code-hover-bg);white-space:nowrap;content:var(--vp-code-copy-copied-text-content)}.vp-doc [class*=language-]>span.lang{position:absolute;top:2px;right:8px;z-index:2;font-size:12px;font-weight:500;-webkit-user-select:none;user-select:none;color:var(--vp-code-lang-color);transition:color .4s,opacity .4s}.vp-doc [class*=language-]:hover>button.copy+span.lang,.vp-doc [class*=language-]>button.copy:focus+span.lang{opacity:0}.vp-doc .VPTeamMembers{margin-top:24px}.vp-doc .VPTeamMembers.small.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}.vp-doc .VPTeamMembers.small.count-2 .container,.vp-doc .VPTeamMembers.small.count-3 .container{max-width:100%!important}.vp-doc .VPTeamMembers.medium.count-1 .container{margin:0!important;max-width:calc((100% - 24px)/2)!important}:is(.vp-external-link-icon,.vp-doc a[href*="://"],.vp-doc a[target=_blank]):not(.no-icon):after{display:inline-block;margin-top:-1px;margin-left:4px;width:11px;height:11px;background:currentColor;color:var(--vp-c-text-3);flex-shrink:0;--icon: url("data:image/svg+xml, %3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' %3E%3Cpath d='M0 0h24v24H0V0z' fill='none' /%3E%3Cpath d='M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z' /%3E%3C/svg%3E");-webkit-mask-image:var(--icon);mask-image:var(--icon)}.vp-external-link-icon:after{content:""}.external-link-icon-enabled :is(.vp-doc a[href*="://"],.vp-doc a[target=_blank]):after{content:"";color:currentColor}.vp-sponsor{border-radius:16px;overflow:hidden}.vp-sponsor.aside{border-radius:12px}.vp-sponsor-section+.vp-sponsor-section{margin-top:4px}.vp-sponsor-tier{margin:0 0 4px!important;text-align:center;letter-spacing:1px!important;line-height:24px;width:100%;font-weight:600;color:var(--vp-c-text-2);background-color:var(--vp-c-bg-soft)}.vp-sponsor.normal .vp-sponsor-tier{padding:13px 0 11px;font-size:14px}.vp-sponsor.aside .vp-sponsor-tier{padding:9px 0 7px;font-size:12px}.vp-sponsor-grid+.vp-sponsor-tier{margin-top:4px}.vp-sponsor-grid{display:flex;flex-wrap:wrap;gap:4px}.vp-sponsor-grid.xmini .vp-sponsor-grid-link{height:64px}.vp-sponsor-grid.xmini .vp-sponsor-grid-image{max-width:64px;max-height:22px}.vp-sponsor-grid.mini .vp-sponsor-grid-link{height:72px}.vp-sponsor-grid.mini .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.small .vp-sponsor-grid-link{height:96px}.vp-sponsor-grid.small .vp-sponsor-grid-image{max-width:96px;max-height:24px}.vp-sponsor-grid.medium .vp-sponsor-grid-link{height:112px}.vp-sponsor-grid.medium .vp-sponsor-grid-image{max-width:120px;max-height:36px}.vp-sponsor-grid.big .vp-sponsor-grid-link{height:184px}.vp-sponsor-grid.big .vp-sponsor-grid-image{max-width:192px;max-height:56px}.vp-sponsor-grid[data-vp-grid="2"] .vp-sponsor-grid-item{width:calc((100% - 4px)/2)}.vp-sponsor-grid[data-vp-grid="3"] .vp-sponsor-grid-item{width:calc((100% - 4px * 2) / 3)}.vp-sponsor-grid[data-vp-grid="4"] .vp-sponsor-grid-item{width:calc((100% - 12px)/4)}.vp-sponsor-grid[data-vp-grid="5"] .vp-sponsor-grid-item{width:calc((100% - 16px)/5)}.vp-sponsor-grid[data-vp-grid="6"] .vp-sponsor-grid-item{width:calc((100% - 4px * 5) / 6)}.vp-sponsor-grid-item{flex-shrink:0;width:100%;background-color:var(--vp-c-bg-soft);transition:background-color .25s}.vp-sponsor-grid-item:hover{background-color:var(--vp-c-default-soft)}.vp-sponsor-grid-item:hover .vp-sponsor-grid-image{filter:grayscale(0) invert(0)}.vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.dark .vp-sponsor-grid-item:hover{background-color:var(--vp-c-white)}.dark .vp-sponsor-grid-item.empty:hover{background-color:var(--vp-c-bg-soft)}.vp-sponsor-grid-link{display:flex}.vp-sponsor-grid-box{display:flex;justify-content:center;align-items:center;width:100%}.vp-sponsor-grid-image{max-width:100%;filter:grayscale(1);transition:filter .25s}.dark .vp-sponsor-grid-image{filter:grayscale(1) invert(1)}.VPBadge{display:inline-block;margin-left:2px;border:1px solid transparent;border-radius:12px;padding:0 10px;line-height:22px;font-size:12px;font-weight:500;transform:translateY(-2px)}.VPBadge.small{padding:0 6px;line-height:18px;font-size:10px;transform:translateY(-8px)}.VPDocFooter .VPBadge{display:none}.vp-doc h1>.VPBadge{margin-top:4px;vertical-align:top}.vp-doc h2>.VPBadge{margin-top:3px;padding:0 8px;vertical-align:top}.vp-doc h3>.VPBadge{vertical-align:middle}.vp-doc h4>.VPBadge,.vp-doc h5>.VPBadge,.vp-doc h6>.VPBadge{vertical-align:middle;line-height:18px}.VPBadge.info{border-color:var(--vp-badge-info-border);color:var(--vp-badge-info-text);background-color:var(--vp-badge-info-bg)}.VPBadge.tip{border-color:var(--vp-badge-tip-border);color:var(--vp-badge-tip-text);background-color:var(--vp-badge-tip-bg)}.VPBadge.warning{border-color:var(--vp-badge-warning-border);color:var(--vp-badge-warning-text);background-color:var(--vp-badge-warning-bg)}.VPBadge.danger{border-color:var(--vp-badge-danger-border);color:var(--vp-badge-danger-text);background-color:var(--vp-badge-danger-bg)}.VPBackdrop[data-v-54a304ca]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vp-z-index-backdrop);background:var(--vp-backdrop-bg-color);transition:opacity .5s}.VPBackdrop.fade-enter-from[data-v-54a304ca],.VPBackdrop.fade-leave-to[data-v-54a304ca]{opacity:0}.VPBackdrop.fade-leave-active[data-v-54a304ca]{transition-duration:.25s}@media (min-width: 1280px){.VPBackdrop[data-v-54a304ca]{display:none}}.NotFound[data-v-6ff51ddd]{padding:64px 24px 96px;text-align:center}@media (min-width: 768px){.NotFound[data-v-6ff51ddd]{padding:96px 32px 168px}}.code[data-v-6ff51ddd]{line-height:64px;font-size:64px;font-weight:600}.title[data-v-6ff51ddd]{padding-top:12px;letter-spacing:2px;line-height:20px;font-size:20px;font-weight:700}.divider[data-v-6ff51ddd]{margin:24px auto 18px;width:64px;height:1px;background-color:var(--vp-c-divider)}.quote[data-v-6ff51ddd]{margin:0 auto;max-width:256px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.action[data-v-6ff51ddd]{padding-top:20px}.link[data-v-6ff51ddd]{display:inline-block;border:1px solid var(--vp-c-brand-1);border-radius:16px;padding:3px 16px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:border-color .25s,color .25s}.link[data-v-6ff51ddd]:hover{border-color:var(--vp-c-brand-2);color:var(--vp-c-brand-2)}.root[data-v-53c99d69]{position:relative;z-index:1}.nested[data-v-53c99d69]{padding-right:16px;padding-left:16px}.outline-link[data-v-53c99d69]{display:block;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .5s}.outline-link[data-v-53c99d69]:hover,.outline-link.active[data-v-53c99d69]{color:var(--vp-c-text-1);transition:color .25s}.outline-link.nested[data-v-53c99d69]{padding-left:13px}.VPDocAsideOutline[data-v-f610f197]{display:none}.VPDocAsideOutline.has-outline[data-v-f610f197]{display:block}.content[data-v-f610f197]{position:relative;border-left:1px solid var(--vp-c-divider);padding-left:16px;font-size:13px;font-weight:500}.outline-marker[data-v-f610f197]{position:absolute;top:32px;left:-1px;z-index:0;opacity:0;width:2px;border-radius:2px;height:18px;background-color:var(--vp-c-brand-1);transition:top .25s cubic-bezier(0,1,.5,1),background-color .5s,opacity .25s}.outline-title[data-v-f610f197]{line-height:32px;font-size:14px;font-weight:600}.VPDocAside[data-v-cb998dce]{display:flex;flex-direction:column;flex-grow:1}.spacer[data-v-cb998dce]{flex-grow:1}.VPDocAside[data-v-cb998dce] .spacer+.VPDocAsideSponsors,.VPDocAside[data-v-cb998dce] .spacer+.VPDocAsideCarbonAds{margin-top:24px}.VPDocAside[data-v-cb998dce] .VPDocAsideSponsors+.VPDocAsideCarbonAds{margin-top:16px}.VPLastUpdated[data-v-1bb0c8a8]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 640px){.VPLastUpdated[data-v-1bb0c8a8]{line-height:32px;font-size:14px;font-weight:500}}.VPDocFooter[data-v-1bcd8184]{margin-top:64px}.edit-info[data-v-1bcd8184]{padding-bottom:18px}@media (min-width: 640px){.edit-info[data-v-1bcd8184]{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px}}.edit-link-button[data-v-1bcd8184]{display:flex;align-items:center;border:0;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.edit-link-button[data-v-1bcd8184]:hover{color:var(--vp-c-brand-2)}.edit-link-icon[data-v-1bcd8184]{margin-right:8px}.prev-next[data-v-1bcd8184]{border-top:1px solid var(--vp-c-divider);padding-top:24px;display:grid;grid-row-gap:8px}@media (min-width: 640px){.prev-next[data-v-1bcd8184]{grid-template-columns:repeat(2,1fr);grid-column-gap:16px}}.pager-link[data-v-1bcd8184]{display:block;border:1px solid var(--vp-c-divider);border-radius:8px;padding:11px 16px 13px;width:100%;height:100%;transition:border-color .25s}.pager-link[data-v-1bcd8184]:hover{border-color:var(--vp-c-brand-1)}.pager-link.next[data-v-1bcd8184]{margin-left:auto;text-align:right}.desc[data-v-1bcd8184]{display:block;line-height:20px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.title[data-v-1bcd8184]{display:block;line-height:20px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1);transition:color .25s}.VPDoc[data-v-e6f2a212]{padding:32px 24px 96px;width:100%}@media (min-width: 768px){.VPDoc[data-v-e6f2a212]{padding:48px 32px 128px}}@media (min-width: 960px){.VPDoc[data-v-e6f2a212]{padding:48px 32px 0}.VPDoc:not(.has-sidebar) .container[data-v-e6f2a212]{display:flex;justify-content:center;max-width:992px}.VPDoc:not(.has-sidebar) .content[data-v-e6f2a212]{max-width:752px}}@media (min-width: 1280px){.VPDoc .container[data-v-e6f2a212]{display:flex;justify-content:center}.VPDoc .aside[data-v-e6f2a212]{display:block}}@media (min-width: 1440px){.VPDoc:not(.has-sidebar) .content[data-v-e6f2a212]{max-width:784px}.VPDoc:not(.has-sidebar) .container[data-v-e6f2a212]{max-width:1104px}}.container[data-v-e6f2a212]{margin:0 auto;width:100%}.aside[data-v-e6f2a212]{position:relative;display:none;order:2;flex-grow:1;padding-left:32px;width:100%;max-width:256px}.left-aside[data-v-e6f2a212]{order:1;padding-left:unset;padding-right:32px}.aside-container[data-v-e6f2a212]{position:fixed;top:0;padding-top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + var(--vp-doc-top-height, 0px) + 48px);width:224px;height:100vh;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.aside-container[data-v-e6f2a212]::-webkit-scrollbar{display:none}.aside-curtain[data-v-e6f2a212]{position:fixed;bottom:0;z-index:10;width:224px;height:32px;background:linear-gradient(transparent,var(--vp-c-bg) 70%)}.aside-content[data-v-e6f2a212]{display:flex;flex-direction:column;min-height:calc(100vh - (var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px));padding-bottom:32px}.content[data-v-e6f2a212]{position:relative;margin:0 auto;width:100%}@media (min-width: 960px){.content[data-v-e6f2a212]{padding:0 32px 128px}}@media (min-width: 1280px){.content[data-v-e6f2a212]{order:1;margin:0;min-width:640px}}.content-container[data-v-e6f2a212]{margin:0 auto}.VPDoc.has-aside .content-container[data-v-e6f2a212]{max-width:688px}.VPButton[data-v-93dc4167]{display:inline-block;border:1px solid transparent;text-align:center;font-weight:600;white-space:nowrap;transition:color .25s,border-color .25s,background-color .25s}.VPButton[data-v-93dc4167]:active{transition:color .1s,border-color .1s,background-color .1s}.VPButton.medium[data-v-93dc4167]{border-radius:20px;padding:0 20px;line-height:38px;font-size:14px}.VPButton.big[data-v-93dc4167]{border-radius:24px;padding:0 24px;line-height:46px;font-size:16px}.VPButton.brand[data-v-93dc4167]{border-color:var(--vp-button-brand-border);color:var(--vp-button-brand-text);background-color:var(--vp-button-brand-bg)}.VPButton.brand[data-v-93dc4167]:hover{border-color:var(--vp-button-brand-hover-border);color:var(--vp-button-brand-hover-text);background-color:var(--vp-button-brand-hover-bg)}.VPButton.brand[data-v-93dc4167]:active{border-color:var(--vp-button-brand-active-border);color:var(--vp-button-brand-active-text);background-color:var(--vp-button-brand-active-bg)}.VPButton.alt[data-v-93dc4167]{border-color:var(--vp-button-alt-border);color:var(--vp-button-alt-text);background-color:var(--vp-button-alt-bg)}.VPButton.alt[data-v-93dc4167]:hover{border-color:var(--vp-button-alt-hover-border);color:var(--vp-button-alt-hover-text);background-color:var(--vp-button-alt-hover-bg)}.VPButton.alt[data-v-93dc4167]:active{border-color:var(--vp-button-alt-active-border);color:var(--vp-button-alt-active-text);background-color:var(--vp-button-alt-active-bg)}.VPButton.sponsor[data-v-93dc4167]{border-color:var(--vp-button-sponsor-border);color:var(--vp-button-sponsor-text);background-color:var(--vp-button-sponsor-bg)}.VPButton.sponsor[data-v-93dc4167]:hover{border-color:var(--vp-button-sponsor-hover-border);color:var(--vp-button-sponsor-hover-text);background-color:var(--vp-button-sponsor-hover-bg)}.VPButton.sponsor[data-v-93dc4167]:active{border-color:var(--vp-button-sponsor-active-border);color:var(--vp-button-sponsor-active-text);background-color:var(--vp-button-sponsor-active-bg)}html:not(.dark) .VPImage.dark[data-v-ab19afbb]{display:none}.dark .VPImage.light[data-v-ab19afbb]{display:none}.VPHero[data-v-b10c5094]{margin-top:calc((var(--vp-nav-height) + var(--vp-layout-top-height, 0px)) * -1);padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 48px) 24px 48px}@media (min-width: 640px){.VPHero[data-v-b10c5094]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 48px 64px}}@media (min-width: 960px){.VPHero[data-v-b10c5094]{padding:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px) + 80px) 64px 64px}}.container[data-v-b10c5094]{display:flex;flex-direction:column;margin:0 auto;max-width:1152px}@media (min-width: 960px){.container[data-v-b10c5094]{flex-direction:row}}.main[data-v-b10c5094]{position:relative;z-index:10;order:2;flex-grow:1;flex-shrink:0}.VPHero.has-image .container[data-v-b10c5094]{text-align:center}@media (min-width: 960px){.VPHero.has-image .container[data-v-b10c5094]{text-align:left}}@media (min-width: 960px){.main[data-v-b10c5094]{order:1;width:calc((100% / 3) * 2)}.VPHero.has-image .main[data-v-b10c5094]{max-width:592px}}.name[data-v-b10c5094],.text[data-v-b10c5094]{max-width:392px;letter-spacing:-.4px;line-height:40px;font-size:32px;font-weight:700;white-space:pre-wrap}.VPHero.has-image .name[data-v-b10c5094],.VPHero.has-image .text[data-v-b10c5094]{margin:0 auto}.name[data-v-b10c5094]{color:var(--vp-home-hero-name-color)}.clip[data-v-b10c5094]{background:var(--vp-home-hero-name-background);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:var(--vp-home-hero-name-color)}@media (min-width: 640px){.name[data-v-b10c5094],.text[data-v-b10c5094]{max-width:576px;line-height:56px;font-size:48px}}@media (min-width: 960px){.name[data-v-b10c5094],.text[data-v-b10c5094]{line-height:64px;font-size:56px}.VPHero.has-image .name[data-v-b10c5094],.VPHero.has-image .text[data-v-b10c5094]{margin:0}}.tagline[data-v-b10c5094]{padding-top:8px;max-width:392px;line-height:28px;font-size:18px;font-weight:500;white-space:pre-wrap;color:var(--vp-c-text-2)}.VPHero.has-image .tagline[data-v-b10c5094]{margin:0 auto}@media (min-width: 640px){.tagline[data-v-b10c5094]{padding-top:12px;max-width:576px;line-height:32px;font-size:20px}}@media (min-width: 960px){.tagline[data-v-b10c5094]{line-height:36px;font-size:24px}.VPHero.has-image .tagline[data-v-b10c5094]{margin:0}}.actions[data-v-b10c5094]{display:flex;flex-wrap:wrap;margin:-6px;padding-top:24px}.VPHero.has-image .actions[data-v-b10c5094]{justify-content:center}@media (min-width: 640px){.actions[data-v-b10c5094]{padding-top:32px}}@media (min-width: 960px){.VPHero.has-image .actions[data-v-b10c5094]{justify-content:flex-start}}.action[data-v-b10c5094]{flex-shrink:0;padding:6px}.image[data-v-b10c5094]{order:1;margin:-76px -24px -48px}@media (min-width: 640px){.image[data-v-b10c5094]{margin:-108px -24px -48px}}@media (min-width: 960px){.image[data-v-b10c5094]{flex-grow:1;order:2;margin:0;min-height:100%}}.image-container[data-v-b10c5094]{position:relative;margin:0 auto;width:320px;height:320px}@media (min-width: 640px){.image-container[data-v-b10c5094]{width:392px;height:392px}}@media (min-width: 960px){.image-container[data-v-b10c5094]{display:flex;justify-content:center;align-items:center;width:100%;height:100%;transform:translate(-32px,-32px)}}.image-bg[data-v-b10c5094]{position:absolute;top:50%;left:50%;border-radius:50%;width:192px;height:192px;background-image:var(--vp-home-hero-image-background-image);filter:var(--vp-home-hero-image-filter);transform:translate(-50%,-50%)}@media (min-width: 640px){.image-bg[data-v-b10c5094]{width:256px;height:256px}}@media (min-width: 960px){.image-bg[data-v-b10c5094]{width:320px;height:320px}}[data-v-b10c5094] .image-src{position:absolute;top:50%;left:50%;max-width:192px;max-height:192px;transform:translate(-50%,-50%)}@media (min-width: 640px){[data-v-b10c5094] .image-src{max-width:256px;max-height:256px}}@media (min-width: 960px){[data-v-b10c5094] .image-src{max-width:320px;max-height:320px}}.VPFeature[data-v-bd37d1a2]{display:block;border:1px solid var(--vp-c-bg-soft);border-radius:12px;height:100%;background-color:var(--vp-c-bg-soft);transition:border-color .25s,background-color .25s}.VPFeature.link[data-v-bd37d1a2]:hover{border-color:var(--vp-c-brand-1)}.box[data-v-bd37d1a2]{display:flex;flex-direction:column;padding:24px;height:100%}.box[data-v-bd37d1a2]>.VPImage{margin-bottom:20px}.icon[data-v-bd37d1a2]{display:flex;justify-content:center;align-items:center;margin-bottom:20px;border-radius:6px;background-color:var(--vp-c-default-soft);width:48px;height:48px;font-size:24px;transition:background-color .25s}.title[data-v-bd37d1a2]{line-height:24px;font-size:16px;font-weight:600}.details[data-v-bd37d1a2]{flex-grow:1;padding-top:8px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.link-text[data-v-bd37d1a2]{padding-top:8px}.link-text-value[data-v-bd37d1a2]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.link-text-icon[data-v-bd37d1a2]{margin-left:6px}.VPFeatures[data-v-b1eea84a]{position:relative;padding:0 24px}@media (min-width: 640px){.VPFeatures[data-v-b1eea84a]{padding:0 48px}}@media (min-width: 960px){.VPFeatures[data-v-b1eea84a]{padding:0 64px}}.container[data-v-b1eea84a]{margin:0 auto;max-width:1152px}.items[data-v-b1eea84a]{display:flex;flex-wrap:wrap;margin:-8px}.item[data-v-b1eea84a]{padding:8px;width:100%}@media (min-width: 640px){.item.grid-2[data-v-b1eea84a],.item.grid-4[data-v-b1eea84a],.item.grid-6[data-v-b1eea84a]{width:50%}}@media (min-width: 768px){.item.grid-2[data-v-b1eea84a],.item.grid-4[data-v-b1eea84a]{width:50%}.item.grid-3[data-v-b1eea84a],.item.grid-6[data-v-b1eea84a]{width:calc(100% / 3)}}@media (min-width: 960px){.item.grid-4[data-v-b1eea84a]{width:25%}}.container[data-v-c141a4bd]{margin:auto;width:100%;max-width:1280px;padding:0 24px}@media (min-width: 640px){.container[data-v-c141a4bd]{padding:0 48px}}@media (min-width: 960px){.container[data-v-c141a4bd]{width:100%;padding:0 64px}}.vp-doc[data-v-c141a4bd] .VPHomeSponsors,.vp-doc[data-v-c141a4bd] .VPTeamPage{margin-left:var(--vp-offset, calc(50% - 50vw) );margin-right:var(--vp-offset, calc(50% - 50vw) )}.vp-doc[data-v-c141a4bd] .VPHomeSponsors h2{border-top:none;letter-spacing:normal}.vp-doc[data-v-c141a4bd] .VPHomeSponsors a,.vp-doc[data-v-c141a4bd] .VPTeamPage a{text-decoration:none}.VPHome[data-v-07b1ad08]{margin-bottom:96px}@media (min-width: 768px){.VPHome[data-v-07b1ad08]{margin-bottom:128px}}.VPContent[data-v-9a6c75ad]{flex-grow:1;flex-shrink:0;margin:var(--vp-layout-top-height, 0px) auto 0;width:100%}.VPContent.is-home[data-v-9a6c75ad]{width:100%;max-width:100%}.VPContent.has-sidebar[data-v-9a6c75ad]{margin:0}@media (min-width: 960px){.VPContent[data-v-9a6c75ad]{padding-top:var(--vp-nav-height)}.VPContent.has-sidebar[data-v-9a6c75ad]{margin:var(--vp-layout-top-height, 0px) 0 0;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPContent.has-sidebar[data-v-9a6c75ad]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.VPFooter[data-v-566314d4]{position:relative;z-index:var(--vp-z-index-footer);border-top:1px solid var(--vp-c-gutter);padding:32px 24px;background-color:var(--vp-c-bg)}.VPFooter.has-sidebar[data-v-566314d4]{display:none}.VPFooter[data-v-566314d4] a{text-decoration-line:underline;text-underline-offset:2px;transition:color .25s}.VPFooter[data-v-566314d4] a:hover{color:var(--vp-c-text-1)}@media (min-width: 768px){.VPFooter[data-v-566314d4]{padding:32px}}.container[data-v-566314d4]{margin:0 auto;max-width:var(--vp-layout-max-width);text-align:center}.message[data-v-566314d4],.copyright[data-v-566314d4]{line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-2)}.VPLocalNavOutlineDropdown[data-v-883964e0]{padding:12px 20px 11px}@media (min-width: 960px){.VPLocalNavOutlineDropdown[data-v-883964e0]{padding:12px 36px 11px}}.VPLocalNavOutlineDropdown button[data-v-883964e0]{display:block;font-size:12px;font-weight:500;line-height:24px;color:var(--vp-c-text-2);transition:color .5s;position:relative}.VPLocalNavOutlineDropdown button[data-v-883964e0]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPLocalNavOutlineDropdown button.open[data-v-883964e0]{color:var(--vp-c-text-1)}.icon[data-v-883964e0]{display:inline-block;vertical-align:middle;margin-left:2px;font-size:14px;transform:rotate(0);transition:transform .25s}@media (min-width: 960px){.VPLocalNavOutlineDropdown button[data-v-883964e0]{font-size:14px}.icon[data-v-883964e0]{font-size:16px}}.open>.icon[data-v-883964e0]{transform:rotate(90deg)}.items[data-v-883964e0]{position:absolute;top:40px;right:16px;left:16px;display:grid;gap:1px;border:1px solid var(--vp-c-border);border-radius:8px;background-color:var(--vp-c-gutter);max-height:calc(var(--vp-vh, 100vh) - 86px);overflow:hidden auto;box-shadow:var(--vp-shadow-3)}@media (min-width: 960px){.items[data-v-883964e0]{right:auto;left:calc(var(--vp-sidebar-width) + 32px);width:320px}}.header[data-v-883964e0]{background-color:var(--vp-c-bg-soft)}.top-link[data-v-883964e0]{display:block;padding:0 16px;line-height:48px;font-size:14px;font-weight:500;color:var(--vp-c-brand-1)}.outline[data-v-883964e0]{padding:8px 0;background-color:var(--vp-c-bg-soft)}.flyout-enter-active[data-v-883964e0]{transition:all .2s ease-out}.flyout-leave-active[data-v-883964e0]{transition:all .15s ease-in}.flyout-enter-from[data-v-883964e0],.flyout-leave-to[data-v-883964e0]{opacity:0;transform:translateY(-16px)}.VPLocalNav[data-v-2488c25a]{position:sticky;top:0;left:0;z-index:var(--vp-z-index-local-nav);border-bottom:1px solid var(--vp-c-gutter);padding-top:var(--vp-layout-top-height, 0px);width:100%;background-color:var(--vp-local-nav-bg-color)}.VPLocalNav.fixed[data-v-2488c25a]{position:fixed}@media (min-width: 960px){.VPLocalNav[data-v-2488c25a]{top:var(--vp-nav-height)}.VPLocalNav.has-sidebar[data-v-2488c25a]{padding-left:var(--vp-sidebar-width)}.VPLocalNav.empty[data-v-2488c25a]{display:none}}@media (min-width: 1280px){.VPLocalNav[data-v-2488c25a]{display:none}}@media (min-width: 1440px){.VPLocalNav.has-sidebar[data-v-2488c25a]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.container[data-v-2488c25a]{display:flex;justify-content:space-between;align-items:center}.menu[data-v-2488c25a]{display:flex;align-items:center;padding:12px 24px 11px;line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.menu[data-v-2488c25a]:hover{color:var(--vp-c-text-1);transition:color .25s}@media (min-width: 768px){.menu[data-v-2488c25a]{padding:0 32px}}@media (min-width: 960px){.menu[data-v-2488c25a]{display:none}}.menu-icon[data-v-2488c25a]{margin-right:8px;font-size:14px}.VPOutlineDropdown[data-v-2488c25a]{padding:12px 24px 11px}@media (min-width: 768px){.VPOutlineDropdown[data-v-2488c25a]{padding:12px 32px 11px}}.VPSwitch[data-v-b4ccac88]{position:relative;border-radius:11px;display:block;width:40px;height:22px;flex-shrink:0;border:1px solid var(--vp-input-border-color);background-color:var(--vp-input-switch-bg-color);transition:border-color .25s!important}.VPSwitch[data-v-b4ccac88]:hover{border-color:var(--vp-c-brand-1)}.check[data-v-b4ccac88]{position:absolute;top:1px;left:1px;width:18px;height:18px;border-radius:50%;background-color:var(--vp-c-neutral-inverse);box-shadow:var(--vp-shadow-1);transition:transform .25s!important}.icon[data-v-b4ccac88]{position:relative;display:block;width:18px;height:18px;border-radius:50%;overflow:hidden}.icon[data-v-b4ccac88] [class^=vpi-]{position:absolute;top:3px;left:3px;width:12px;height:12px;color:var(--vp-c-text-2)}.dark .icon[data-v-b4ccac88] [class^=vpi-]{color:var(--vp-c-text-1);transition:opacity .25s!important}.sun[data-v-be9742d9]{opacity:1}.moon[data-v-be9742d9],.dark .sun[data-v-be9742d9]{opacity:0}.dark .moon[data-v-be9742d9]{opacity:1}.dark .VPSwitchAppearance[data-v-be9742d9] .check{transform:translate(18px)}.VPNavBarAppearance[data-v-3f90c1a5]{display:none}@media (min-width: 1280px){.VPNavBarAppearance[data-v-3f90c1a5]{display:flex;align-items:center}}.VPMenuGroup+.VPMenuLink[data-v-7eeeb2dc]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.link[data-v-7eeeb2dc]{display:block;border-radius:6px;padding:0 12px;line-height:32px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);white-space:nowrap;transition:background-color .25s,color .25s}.link[data-v-7eeeb2dc]:hover{color:var(--vp-c-brand-1);background-color:var(--vp-c-default-soft)}.link.active[data-v-7eeeb2dc]{color:var(--vp-c-brand-1)}.VPMenuGroup[data-v-a6b0397c]{margin:12px -12px 0;border-top:1px solid var(--vp-c-divider);padding:12px 12px 0}.VPMenuGroup[data-v-a6b0397c]:first-child{margin-top:0;border-top:0;padding-top:0}.VPMenuGroup+.VPMenuGroup[data-v-a6b0397c]{margin-top:12px;border-top:1px solid var(--vp-c-divider)}.title[data-v-a6b0397c]{padding:0 12px;line-height:32px;font-size:14px;font-weight:600;color:var(--vp-c-text-2);white-space:nowrap;transition:color .25s}.VPMenu[data-v-20ed86d6]{border-radius:12px;padding:12px;min-width:128px;border:1px solid var(--vp-c-divider);background-color:var(--vp-c-bg-elv);box-shadow:var(--vp-shadow-3);transition:background-color .5s;max-height:calc(100vh - var(--vp-nav-height));overflow-y:auto}.VPMenu[data-v-20ed86d6] .group{margin:0 -12px;padding:0 12px 12px}.VPMenu[data-v-20ed86d6] .group+.group{border-top:1px solid var(--vp-c-divider);padding:11px 12px 12px}.VPMenu[data-v-20ed86d6] .group:last-child{padding-bottom:0}.VPMenu[data-v-20ed86d6] .group+.item{border-top:1px solid var(--vp-c-divider);padding:11px 16px 0}.VPMenu[data-v-20ed86d6] .item{padding:0 16px;white-space:nowrap}.VPMenu[data-v-20ed86d6] .label{flex-grow:1;line-height:28px;font-size:12px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.VPMenu[data-v-20ed86d6] .action{padding-left:24px}.VPFlyout[data-v-bfe7971f]{position:relative}.VPFlyout[data-v-bfe7971f]:hover{color:var(--vp-c-brand-1);transition:color .25s}.VPFlyout:hover .text[data-v-bfe7971f]{color:var(--vp-c-text-2)}.VPFlyout:hover .icon[data-v-bfe7971f]{fill:var(--vp-c-text-2)}.VPFlyout.active .text[data-v-bfe7971f]{color:var(--vp-c-brand-1)}.VPFlyout.active:hover .text[data-v-bfe7971f]{color:var(--vp-c-brand-2)}.button[aria-expanded=false]+.menu[data-v-bfe7971f]{opacity:0;visibility:hidden;transform:translateY(0)}.VPFlyout:hover .menu[data-v-bfe7971f],.button[aria-expanded=true]+.menu[data-v-bfe7971f]{opacity:1;visibility:visible;transform:translateY(0)}.button[data-v-bfe7971f]{display:flex;align-items:center;padding:0 12px;height:var(--vp-nav-height);color:var(--vp-c-text-1);transition:color .5s}.text[data-v-bfe7971f]{display:flex;align-items:center;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.option-icon[data-v-bfe7971f]{margin-right:0;font-size:16px}.text-icon[data-v-bfe7971f]{margin-left:4px;font-size:14px}.icon[data-v-bfe7971f]{font-size:20px;transition:fill .25s}.menu[data-v-bfe7971f]{position:absolute;top:calc(var(--vp-nav-height) / 2 + 20px);right:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s,transform .25s}.VPSocialLink[data-v-60a9a2d3]{display:flex;justify-content:center;align-items:center;width:36px;height:36px;color:var(--vp-c-text-2);transition:color .5s}.VPSocialLink[data-v-60a9a2d3]:hover{color:var(--vp-c-text-1);transition:color .25s}.VPSocialLink[data-v-60a9a2d3]>svg,.VPSocialLink[data-v-60a9a2d3]>[class^=vpi-social-]{width:20px;height:20px;fill:currentColor}.VPSocialLinks[data-v-e71e869c]{display:flex;justify-content:center}.VPNavBarExtra[data-v-f953d92f]{display:none;margin-right:-12px}@media (min-width: 768px){.VPNavBarExtra[data-v-f953d92f]{display:block}}@media (min-width: 1280px){.VPNavBarExtra[data-v-f953d92f]{display:none}}.trans-title[data-v-f953d92f]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.item.appearance[data-v-f953d92f],.item.social-links[data-v-f953d92f]{display:flex;align-items:center;padding:0 12px}.item.appearance[data-v-f953d92f]{min-width:176px}.appearance-action[data-v-f953d92f]{margin-right:-2px}.social-links-list[data-v-f953d92f]{margin:-4px -8px}.VPNavBarHamburger[data-v-6bee1efd]{display:flex;justify-content:center;align-items:center;width:48px;height:var(--vp-nav-height)}@media (min-width: 768px){.VPNavBarHamburger[data-v-6bee1efd]{display:none}}.container[data-v-6bee1efd]{position:relative;width:16px;height:14px;overflow:hidden}.VPNavBarHamburger:hover .top[data-v-6bee1efd]{top:0;left:0;transform:translate(4px)}.VPNavBarHamburger:hover .middle[data-v-6bee1efd]{top:6px;left:0;transform:translate(0)}.VPNavBarHamburger:hover .bottom[data-v-6bee1efd]{top:12px;left:0;transform:translate(8px)}.VPNavBarHamburger.active .top[data-v-6bee1efd]{top:6px;transform:translate(0) rotate(225deg)}.VPNavBarHamburger.active .middle[data-v-6bee1efd]{top:6px;transform:translate(16px)}.VPNavBarHamburger.active .bottom[data-v-6bee1efd]{top:6px;transform:translate(0) rotate(135deg)}.VPNavBarHamburger.active:hover .top[data-v-6bee1efd],.VPNavBarHamburger.active:hover .middle[data-v-6bee1efd],.VPNavBarHamburger.active:hover .bottom[data-v-6bee1efd]{background-color:var(--vp-c-text-2);transition:top .25s,background-color .25s,transform .25s}.top[data-v-6bee1efd],.middle[data-v-6bee1efd],.bottom[data-v-6bee1efd]{position:absolute;width:16px;height:2px;background-color:var(--vp-c-text-1);transition:top .25s,background-color .5s,transform .25s}.top[data-v-6bee1efd]{top:0;left:0;transform:translate(0)}.middle[data-v-6bee1efd]{top:6px;left:0;transform:translate(8px)}.bottom[data-v-6bee1efd]{top:12px;left:0;transform:translate(4px)}.VPNavBarMenuLink[data-v-815115f5]{display:flex;align-items:center;padding:0 12px;line-height:var(--vp-nav-height);font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.VPNavBarMenuLink.active[data-v-815115f5],.VPNavBarMenuLink[data-v-815115f5]:hover{color:var(--vp-c-brand-1)}.VPNavBarMenu[data-v-afb2845e]{display:none}@media (min-width: 768px){.VPNavBarMenu[data-v-afb2845e]{display:flex}}/*! @docsearch/css 3.7.0 | MIT License | © Algolia, Inc. and contributors | https://docsearch.algolia.com */:root{--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:rgba(101,108,133,.8);--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 hsla(0,0%,100%,.5),0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px rgba(30,35,90,.4);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 1px 0 rgba(30,35,90,.4);--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 rgba(69,98,155,.12)}html[data-theme=dark]{--docsearch-text-color:#f5f6f7;--docsearch-container-background:rgba(9,10,17,.8);--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 rgba(3,4,9,.3);--docsearch-key-pressed-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 1px 1px 0 #0304094d;--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 rgba(73,76,106,.5),0 -4px 8px 0 rgba(0,0,0,.2);--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}.DocSearch-Button{align-items:center;background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;display:flex;font-weight:500;height:36px;justify-content:space-between;margin:0 0 0 16px;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:none}.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch-Button-Key--pressed{box-shadow:var(--docsearch-key-pressed-shadow);transform:translate3d(0,1px,0)}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder{display:none}}.DocSearch--active{overflow:hidden!important}.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Container a{text-decoration:none}.DocSearch-Link{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;font:inherit;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:var(--docsearch-text-color);flex:1;font:inherit;font-size:1.2em;height:100%;outline:none;padding:0 0 0 8px;width:80%}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator{display:none}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{animation:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0;stroke-width:var(--docsearch-icon-stroke-width)}}.DocSearch-Reset{animation:fade-in .1s ease-in forwards;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;padding:2px;right:0;stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Cancel{display:none}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:transparent}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{color:var(--docsearch-muted-color);display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--deleting{transition:none}}.DocSearch-Hit--deleting{opacity:0;transition:all .25s linear}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit--favoriting{transition:none}}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:all .25s linear;transition-delay:.25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;stroke-width:var(--docsearch-icon-stroke-width);width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color);stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:inherit;cursor:pointer;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{transition:none}}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:none;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li{align-items:center;display:flex}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.DocSearch-VisuallyHiddenForAccessibility{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media (max-width:768px){:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh, 1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Dropdown{max-height:calc(var(--docsearch-vh, 1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Cancel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:none;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}[class*=DocSearch]{--docsearch-primary-color: var(--vp-c-brand-1);--docsearch-highlight-color: var(--docsearch-primary-color);--docsearch-text-color: var(--vp-c-text-1);--docsearch-muted-color: var(--vp-c-text-2);--docsearch-searchbox-shadow: none;--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-key-gradient: transparent;--docsearch-key-shadow: none;--docsearch-modal-background: var(--vp-c-bg-soft);--docsearch-footer-background: var(--vp-c-bg)}.dark [class*=DocSearch]{--docsearch-modal-shadow: none;--docsearch-footer-shadow: none;--docsearch-logo-color: var(--vp-c-text-2);--docsearch-hit-background: var(--vp-c-default-soft);--docsearch-hit-color: var(--vp-c-text-2);--docsearch-hit-shadow: none}.DocSearch-Button{display:flex;justify-content:center;align-items:center;margin:0;padding:0;width:48px;height:55px;background:transparent;transition:border-color .25s}.DocSearch-Button:hover{background:transparent}.DocSearch-Button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}.DocSearch-Button-Key--pressed{transform:none;box-shadow:none}.DocSearch-Button:focus:not(:focus-visible){outline:none!important}@media (min-width: 768px){.DocSearch-Button{justify-content:flex-start;border:1px solid transparent;border-radius:8px;padding:0 10px 0 12px;width:100%;height:40px;background-color:var(--vp-c-bg-alt)}.DocSearch-Button:hover{border-color:var(--vp-c-brand-1);background:var(--vp-c-bg-alt)}}.DocSearch-Button .DocSearch-Button-Container{display:flex;align-items:center}.DocSearch-Button .DocSearch-Search-Icon{position:relative;width:16px;height:16px;color:var(--vp-c-text-1);fill:currentColor;transition:color .5s}.DocSearch-Button:hover .DocSearch-Search-Icon{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Search-Icon{top:1px;margin-right:8px;width:14px;height:14px;color:var(--vp-c-text-2)}}.DocSearch-Button .DocSearch-Button-Placeholder{display:none;margin-top:2px;padding:0 16px 0 0;font-size:13px;font-weight:500;color:var(--vp-c-text-2);transition:color .5s}.DocSearch-Button:hover .DocSearch-Button-Placeholder{color:var(--vp-c-text-1)}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Placeholder{display:inline-block}}.DocSearch-Button .DocSearch-Button-Keys{direction:ltr;display:none;min-width:auto}@media (min-width: 768px){.DocSearch-Button .DocSearch-Button-Keys{display:flex;align-items:center}}.DocSearch-Button .DocSearch-Button-Key{display:block;margin:2px 0 0;border:1px solid var(--vp-c-divider);border-right:none;border-radius:4px 0 0 4px;padding-left:6px;min-width:0;width:auto;height:22px;line-height:22px;font-family:var(--vp-font-family-base);font-size:12px;font-weight:500;transition:color .5s,border-color .5s}.DocSearch-Button .DocSearch-Button-Key+.DocSearch-Button-Key{border-right:1px solid var(--vp-c-divider);border-left:none;border-radius:0 4px 4px 0;padding-left:2px;padding-right:6px}.DocSearch-Button .DocSearch-Button-Key:first-child{font-size:0!important}.DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"Ctrl";font-size:12px;letter-spacing:normal;color:var(--docsearch-muted-color)}.mac .DocSearch-Button .DocSearch-Button-Key:first-child:after{content:"⌘"}.DocSearch-Button .DocSearch-Button-Key:first-child>*{display:none}.DocSearch-Search-Icon{--icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' stroke-width='1.6' viewBox='0 0 20 20'%3E%3Cpath fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' d='m14.386 14.386 4.088 4.088-4.088-4.088A7.533 7.533 0 1 1 3.733 3.733a7.533 7.533 0 0 1 10.653 10.653z'/%3E%3C/svg%3E")}.VPNavBarSearch{display:flex;align-items:center}@media (min-width: 768px){.VPNavBarSearch{flex-grow:1;padding-left:24px}}@media (min-width: 960px){.VPNavBarSearch{padding-left:32px}}.dark .DocSearch-Footer{border-top:1px solid var(--vp-c-divider)}.DocSearch-Form{border:1px solid var(--vp-c-brand-1);background-color:var(--vp-c-white)}.dark .DocSearch-Form{background-color:var(--vp-c-default-soft)}.DocSearch-Screen-Icon>svg{margin:auto}.VPNavBarSocialLinks[data-v-ef6192dc]{display:none}@media (min-width: 1280px){.VPNavBarSocialLinks[data-v-ef6192dc]{display:flex;align-items:center}}.title[data-v-9f43907a]{display:flex;align-items:center;border-bottom:1px solid transparent;width:100%;height:var(--vp-nav-height);font-size:16px;font-weight:600;color:var(--vp-c-text-1);transition:opacity .25s}@media (min-width: 960px){.title[data-v-9f43907a]{flex-shrink:0}.VPNavBarTitle.has-sidebar .title[data-v-9f43907a]{border-bottom-color:var(--vp-c-divider)}}[data-v-9f43907a] .logo{margin-right:8px;height:var(--vp-nav-logo-height)}.VPNavBarTranslations[data-v-acee064b]{display:none}@media (min-width: 1280px){.VPNavBarTranslations[data-v-acee064b]{display:flex;align-items:center}}.title[data-v-acee064b]{padding:0 24px 0 12px;line-height:32px;font-size:14px;font-weight:700;color:var(--vp-c-text-1)}.VPNavBar[data-v-9fd4d1dd]{position:relative;height:var(--vp-nav-height);pointer-events:none;white-space:nowrap;transition:background-color .25s}.VPNavBar.screen-open[data-v-9fd4d1dd]{transition:none;background-color:var(--vp-nav-bg-color);border-bottom:1px solid var(--vp-c-divider)}.VPNavBar[data-v-9fd4d1dd]:not(.home){background-color:var(--vp-nav-bg-color)}@media (min-width: 960px){.VPNavBar[data-v-9fd4d1dd]:not(.home){background-color:transparent}.VPNavBar[data-v-9fd4d1dd]:not(.has-sidebar):not(.home.top){background-color:var(--vp-nav-bg-color)}}.wrapper[data-v-9fd4d1dd]{padding:0 8px 0 24px}@media (min-width: 768px){.wrapper[data-v-9fd4d1dd]{padding:0 32px}}@media (min-width: 960px){.VPNavBar.has-sidebar .wrapper[data-v-9fd4d1dd]{padding:0}}.container[data-v-9fd4d1dd]{display:flex;justify-content:space-between;margin:0 auto;max-width:calc(var(--vp-layout-max-width) - 64px);height:var(--vp-nav-height);pointer-events:none}.container>.title[data-v-9fd4d1dd],.container>.content[data-v-9fd4d1dd]{pointer-events:none}.container[data-v-9fd4d1dd] *{pointer-events:auto}@media (min-width: 960px){.VPNavBar.has-sidebar .container[data-v-9fd4d1dd]{max-width:100%}}.title[data-v-9fd4d1dd]{flex-shrink:0;height:calc(var(--vp-nav-height) - 1px);transition:background-color .5s}@media (min-width: 960px){.VPNavBar.has-sidebar .title[data-v-9fd4d1dd]{position:absolute;top:0;left:0;z-index:2;padding:0 32px;width:var(--vp-sidebar-width);height:var(--vp-nav-height);background-color:transparent}}@media (min-width: 1440px){.VPNavBar.has-sidebar .title[data-v-9fd4d1dd]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}.content[data-v-9fd4d1dd]{flex-grow:1}@media (min-width: 960px){.VPNavBar.has-sidebar .content[data-v-9fd4d1dd]{position:relative;z-index:1;padding-right:32px;padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .content[data-v-9fd4d1dd]{padding-right:calc((100vw - var(--vp-layout-max-width)) / 2 + 32px);padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.content-body[data-v-9fd4d1dd]{display:flex;justify-content:flex-end;align-items:center;height:var(--vp-nav-height);transition:background-color .5s}@media (min-width: 960px){.VPNavBar:not(.home.top) .content-body[data-v-9fd4d1dd]{position:relative;background-color:var(--vp-nav-bg-color)}.VPNavBar:not(.has-sidebar):not(.home.top) .content-body[data-v-9fd4d1dd]{background-color:transparent}}@media (max-width: 767px){.content-body[data-v-9fd4d1dd]{column-gap:.5rem}}.menu+.translations[data-v-9fd4d1dd]:before,.menu+.appearance[data-v-9fd4d1dd]:before,.menu+.social-links[data-v-9fd4d1dd]:before,.translations+.appearance[data-v-9fd4d1dd]:before,.appearance+.social-links[data-v-9fd4d1dd]:before{margin-right:8px;margin-left:8px;width:1px;height:24px;background-color:var(--vp-c-divider);content:""}.menu+.appearance[data-v-9fd4d1dd]:before,.translations+.appearance[data-v-9fd4d1dd]:before{margin-right:16px}.appearance+.social-links[data-v-9fd4d1dd]:before{margin-left:16px}.social-links[data-v-9fd4d1dd]{margin-right:-8px}.divider[data-v-9fd4d1dd]{width:100%;height:1px}@media (min-width: 960px){.VPNavBar.has-sidebar .divider[data-v-9fd4d1dd]{padding-left:var(--vp-sidebar-width)}}@media (min-width: 1440px){.VPNavBar.has-sidebar .divider[data-v-9fd4d1dd]{padding-left:calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width))}}.divider-line[data-v-9fd4d1dd]{width:100%;height:1px;transition:background-color .5s}.VPNavBar:not(.home) .divider-line[data-v-9fd4d1dd]{background-color:var(--vp-c-gutter)}@media (min-width: 960px){.VPNavBar:not(.home.top) .divider-line[data-v-9fd4d1dd]{background-color:var(--vp-c-gutter)}.VPNavBar:not(.has-sidebar):not(.home.top) .divider[data-v-9fd4d1dd]{background-color:var(--vp-c-gutter)}}.VPNavScreenAppearance[data-v-a3e2920d]{display:flex;justify-content:space-between;align-items:center;border-radius:8px;padding:12px 14px 12px 16px;background-color:var(--vp-c-bg-soft)}.text[data-v-a3e2920d]{line-height:24px;font-size:12px;font-weight:500;color:var(--vp-c-text-2)}.VPNavScreenMenuLink[data-v-fa963d97]{display:block;border-bottom:1px solid var(--vp-c-divider);padding:12px 0 11px;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:border-color .25s,color .25s}.VPNavScreenMenuLink[data-v-fa963d97]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupLink[data-v-e04f3e85]{display:block;margin-left:12px;line-height:32px;font-size:14px;font-weight:400;color:var(--vp-c-text-1);transition:color .25s}.VPNavScreenMenuGroupLink[data-v-e04f3e85]:hover{color:var(--vp-c-brand-1)}.VPNavScreenMenuGroupSection[data-v-f60dbfa7]{display:block}.title[data-v-f60dbfa7]{line-height:32px;font-size:13px;font-weight:700;color:var(--vp-c-text-2);transition:color .25s}.VPNavScreenMenuGroup[data-v-d99bfeec]{border-bottom:1px solid var(--vp-c-divider);height:48px;overflow:hidden;transition:border-color .5s}.VPNavScreenMenuGroup .items[data-v-d99bfeec]{visibility:hidden}.VPNavScreenMenuGroup.open .items[data-v-d99bfeec]{visibility:visible}.VPNavScreenMenuGroup.open[data-v-d99bfeec]{padding-bottom:10px;height:auto}.VPNavScreenMenuGroup.open .button[data-v-d99bfeec]{padding-bottom:6px;color:var(--vp-c-brand-1)}.VPNavScreenMenuGroup.open .button-icon[data-v-d99bfeec]{transform:rotate(45deg)}.button[data-v-d99bfeec]{display:flex;justify-content:space-between;align-items:center;padding:12px 4px 11px 0;width:100%;line-height:24px;font-size:14px;font-weight:500;color:var(--vp-c-text-1);transition:color .25s}.button[data-v-d99bfeec]:hover{color:var(--vp-c-brand-1)}.button-icon[data-v-d99bfeec]{transition:transform .25s}.group[data-v-d99bfeec]:first-child{padding-top:0}.group+.group[data-v-d99bfeec],.group+.item[data-v-d99bfeec]{padding-top:4px}.VPNavScreenTranslations[data-v-516e4bc3]{height:24px;overflow:hidden}.VPNavScreenTranslations.open[data-v-516e4bc3]{height:auto}.title[data-v-516e4bc3]{display:flex;align-items:center;font-size:14px;font-weight:500;color:var(--vp-c-text-1)}.icon[data-v-516e4bc3]{font-size:16px}.icon.lang[data-v-516e4bc3]{margin-right:8px}.icon.chevron[data-v-516e4bc3]{margin-left:4px}.list[data-v-516e4bc3]{padding:4px 0 0 24px}.link[data-v-516e4bc3]{line-height:32px;font-size:13px;color:var(--vp-c-text-1)}.VPNavScreen[data-v-2dd6d0c7]{position:fixed;top:calc(var(--vp-nav-height) + var(--vp-layout-top-height, 0px));right:0;bottom:0;left:0;padding:0 32px;width:100%;background-color:var(--vp-nav-screen-bg-color);overflow-y:auto;transition:background-color .25s;pointer-events:auto}.VPNavScreen.fade-enter-active[data-v-2dd6d0c7],.VPNavScreen.fade-leave-active[data-v-2dd6d0c7]{transition:opacity .25s}.VPNavScreen.fade-enter-active .container[data-v-2dd6d0c7],.VPNavScreen.fade-leave-active .container[data-v-2dd6d0c7]{transition:transform .25s ease}.VPNavScreen.fade-enter-from[data-v-2dd6d0c7],.VPNavScreen.fade-leave-to[data-v-2dd6d0c7]{opacity:0}.VPNavScreen.fade-enter-from .container[data-v-2dd6d0c7],.VPNavScreen.fade-leave-to .container[data-v-2dd6d0c7]{transform:translateY(-8px)}@media (min-width: 768px){.VPNavScreen[data-v-2dd6d0c7]{display:none}}.container[data-v-2dd6d0c7]{margin:0 auto;padding:24px 0 96px;max-width:288px}.menu+.translations[data-v-2dd6d0c7],.menu+.appearance[data-v-2dd6d0c7],.translations+.appearance[data-v-2dd6d0c7]{margin-top:24px}.menu+.social-links[data-v-2dd6d0c7]{margin-top:16px}.appearance+.social-links[data-v-2dd6d0c7]{margin-top:16px}.VPNav[data-v-7ad780c2]{position:relative;top:var(--vp-layout-top-height, 0px);left:0;z-index:var(--vp-z-index-nav);width:100%;pointer-events:none;transition:background-color .5s}@media (min-width: 960px){.VPNav[data-v-7ad780c2]{position:fixed}}.VPSidebarItem.level-0[data-v-edd2eed8]{padding-bottom:24px}.VPSidebarItem.collapsed.level-0[data-v-edd2eed8]{padding-bottom:10px}.item[data-v-edd2eed8]{position:relative;display:flex;width:100%}.VPSidebarItem.collapsible>.item[data-v-edd2eed8]{cursor:pointer}.indicator[data-v-edd2eed8]{position:absolute;top:6px;bottom:6px;left:-17px;width:2px;border-radius:2px;transition:background-color .25s}.VPSidebarItem.level-2.is-active>.item>.indicator[data-v-edd2eed8],.VPSidebarItem.level-3.is-active>.item>.indicator[data-v-edd2eed8],.VPSidebarItem.level-4.is-active>.item>.indicator[data-v-edd2eed8],.VPSidebarItem.level-5.is-active>.item>.indicator[data-v-edd2eed8]{background-color:var(--vp-c-brand-1)}.link[data-v-edd2eed8]{display:flex;align-items:center;flex-grow:1}.text[data-v-edd2eed8]{flex-grow:1;padding:4px 0;line-height:24px;font-size:14px;transition:color .25s}.VPSidebarItem.level-0 .text[data-v-edd2eed8]{font-weight:700;color:var(--vp-c-text-1)}.VPSidebarItem.level-1 .text[data-v-edd2eed8],.VPSidebarItem.level-2 .text[data-v-edd2eed8],.VPSidebarItem.level-3 .text[data-v-edd2eed8],.VPSidebarItem.level-4 .text[data-v-edd2eed8],.VPSidebarItem.level-5 .text[data-v-edd2eed8]{font-weight:500;color:var(--vp-c-text-2)}.VPSidebarItem.level-0.is-link>.item>.link:hover .text[data-v-edd2eed8],.VPSidebarItem.level-1.is-link>.item>.link:hover .text[data-v-edd2eed8],.VPSidebarItem.level-2.is-link>.item>.link:hover .text[data-v-edd2eed8],.VPSidebarItem.level-3.is-link>.item>.link:hover .text[data-v-edd2eed8],.VPSidebarItem.level-4.is-link>.item>.link:hover .text[data-v-edd2eed8],.VPSidebarItem.level-5.is-link>.item>.link:hover .text[data-v-edd2eed8]{color:var(--vp-c-brand-1)}.VPSidebarItem.level-0.has-active>.item>.text[data-v-edd2eed8],.VPSidebarItem.level-1.has-active>.item>.text[data-v-edd2eed8],.VPSidebarItem.level-2.has-active>.item>.text[data-v-edd2eed8],.VPSidebarItem.level-3.has-active>.item>.text[data-v-edd2eed8],.VPSidebarItem.level-4.has-active>.item>.text[data-v-edd2eed8],.VPSidebarItem.level-5.has-active>.item>.text[data-v-edd2eed8],.VPSidebarItem.level-0.has-active>.item>.link>.text[data-v-edd2eed8],.VPSidebarItem.level-1.has-active>.item>.link>.text[data-v-edd2eed8],.VPSidebarItem.level-2.has-active>.item>.link>.text[data-v-edd2eed8],.VPSidebarItem.level-3.has-active>.item>.link>.text[data-v-edd2eed8],.VPSidebarItem.level-4.has-active>.item>.link>.text[data-v-edd2eed8],.VPSidebarItem.level-5.has-active>.item>.link>.text[data-v-edd2eed8]{color:var(--vp-c-text-1)}.VPSidebarItem.level-0.is-active>.item .link>.text[data-v-edd2eed8],.VPSidebarItem.level-1.is-active>.item .link>.text[data-v-edd2eed8],.VPSidebarItem.level-2.is-active>.item .link>.text[data-v-edd2eed8],.VPSidebarItem.level-3.is-active>.item .link>.text[data-v-edd2eed8],.VPSidebarItem.level-4.is-active>.item .link>.text[data-v-edd2eed8],.VPSidebarItem.level-5.is-active>.item .link>.text[data-v-edd2eed8]{color:var(--vp-c-brand-1)}.caret[data-v-edd2eed8]{display:flex;justify-content:center;align-items:center;margin-right:-7px;width:32px;height:32px;color:var(--vp-c-text-3);cursor:pointer;transition:color .25s;flex-shrink:0}.item:hover .caret[data-v-edd2eed8]{color:var(--vp-c-text-2)}.item:hover .caret[data-v-edd2eed8]:hover{color:var(--vp-c-text-1)}.caret-icon[data-v-edd2eed8]{font-size:18px;transform:rotate(90deg);transition:transform .25s}.VPSidebarItem.collapsed .caret-icon[data-v-edd2eed8]{transform:rotate(0)}.VPSidebarItem.level-1 .items[data-v-edd2eed8],.VPSidebarItem.level-2 .items[data-v-edd2eed8],.VPSidebarItem.level-3 .items[data-v-edd2eed8],.VPSidebarItem.level-4 .items[data-v-edd2eed8],.VPSidebarItem.level-5 .items[data-v-edd2eed8]{border-left:1px solid var(--vp-c-divider);padding-left:16px}.VPSidebarItem.collapsed .items[data-v-edd2eed8]{display:none}.no-transition[data-v-51288d80] .caret-icon{transition:none}.group+.group[data-v-51288d80]{border-top:1px solid var(--vp-c-divider);padding-top:10px}@media (min-width: 960px){.group[data-v-51288d80]{padding-top:10px;width:calc(var(--vp-sidebar-width) - 64px)}}.VPSidebar[data-v-42c4c606]{position:fixed;top:var(--vp-layout-top-height, 0px);bottom:0;left:0;z-index:var(--vp-z-index-sidebar);padding:32px 32px 96px;width:calc(100vw - 64px);max-width:320px;background-color:var(--vp-sidebar-bg-color);opacity:0;box-shadow:var(--vp-c-shadow-3);overflow-x:hidden;overflow-y:auto;transform:translate(-100%);transition:opacity .5s,transform .25s ease;overscroll-behavior:contain}.VPSidebar.open[data-v-42c4c606]{opacity:1;visibility:visible;transform:translate(0);transition:opacity .25s,transform .5s cubic-bezier(.19,1,.22,1)}.dark .VPSidebar[data-v-42c4c606]{box-shadow:var(--vp-shadow-1)}@media (min-width: 960px){.VPSidebar[data-v-42c4c606]{padding-top:var(--vp-nav-height);width:var(--vp-sidebar-width);max-width:100%;background-color:var(--vp-sidebar-bg-color);opacity:1;visibility:visible;box-shadow:none;transform:translate(0)}}@media (min-width: 1440px){.VPSidebar[data-v-42c4c606]{padding-left:max(32px,calc((100% - (var(--vp-layout-max-width) - 64px)) / 2));width:calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px)}}@media (min-width: 960px){.curtain[data-v-42c4c606]{position:sticky;top:-64px;left:0;z-index:1;margin-top:calc(var(--vp-nav-height) * -1);margin-right:-32px;margin-left:-32px;height:var(--vp-nav-height);background-color:var(--vp-sidebar-bg-color)}}.nav[data-v-42c4c606]{outline:0}.VPSkipLink[data-v-c8291ffa]{top:8px;left:8px;padding:8px 16px;z-index:999;border-radius:8px;font-size:12px;font-weight:700;text-decoration:none;color:var(--vp-c-brand-1);box-shadow:var(--vp-shadow-3);background-color:var(--vp-c-bg)}.VPSkipLink[data-v-c8291ffa]:focus{height:auto;width:auto;clip:auto;clip-path:none}@media (min-width: 1280px){.VPSkipLink[data-v-c8291ffa]{top:14px;left:16px}}.Layout[data-v-d8b57b2d]{display:flex;flex-direction:column;min-height:100vh}.VPHomeSponsors[data-v-3dc26e1d]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPHomeSponsors[data-v-3dc26e1d]{margin:96px 0}@media (min-width: 768px){.VPHomeSponsors[data-v-3dc26e1d]{margin:128px 0}}.VPHomeSponsors[data-v-3dc26e1d]{padding:0 24px}@media (min-width: 768px){.VPHomeSponsors[data-v-3dc26e1d]{padding:0 48px}}@media (min-width: 960px){.VPHomeSponsors[data-v-3dc26e1d]{padding:0 64px}}.container[data-v-3dc26e1d]{margin:0 auto;max-width:1152px}.love[data-v-3dc26e1d]{margin:0 auto;width:fit-content;font-size:28px;color:var(--vp-c-text-3)}.icon[data-v-3dc26e1d]{display:inline-block}.message[data-v-3dc26e1d]{margin:0 auto;padding-top:10px;max-width:320px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.sponsors[data-v-3dc26e1d]{padding-top:32px}.action[data-v-3dc26e1d]{padding-top:40px;text-align:center}.VPTeamPage[data-v-a5329171]{margin:96px 0}@media (min-width: 768px){.VPTeamPage[data-v-a5329171]{margin:128px 0}}.VPHome .VPTeamPageTitle[data-v-a5329171-s]{border-top:1px solid var(--vp-c-gutter);padding-top:88px!important}.VPTeamPageSection+.VPTeamPageSection[data-v-a5329171-s],.VPTeamMembers+.VPTeamPageSection[data-v-a5329171-s]{margin-top:64px}.VPTeamMembers+.VPTeamMembers[data-v-a5329171-s]{margin-top:24px}@media (min-width: 768px){.VPTeamPageTitle+.VPTeamPageSection[data-v-a5329171-s]{margin-top:16px}.VPTeamPageSection+.VPTeamPageSection[data-v-a5329171-s],.VPTeamMembers+.VPTeamPageSection[data-v-a5329171-s]{margin-top:96px}}.VPTeamMembers[data-v-a5329171-s]{padding:0 24px}@media (min-width: 768px){.VPTeamMembers[data-v-a5329171-s]{padding:0 48px}}@media (min-width: 960px){.VPTeamMembers[data-v-a5329171-s]{padding:0 64px}}.VPTeamPageTitle[data-v-46c5e327]{padding:48px 32px;text-align:center}@media (min-width: 768px){.VPTeamPageTitle[data-v-46c5e327]{padding:64px 48px 48px}}@media (min-width: 960px){.VPTeamPageTitle[data-v-46c5e327]{padding:80px 64px 48px}}.title[data-v-46c5e327]{letter-spacing:0;line-height:44px;font-size:36px;font-weight:500}@media (min-width: 768px){.title[data-v-46c5e327]{letter-spacing:-.5px;line-height:56px;font-size:48px}}.lead[data-v-46c5e327]{margin:0 auto;max-width:512px;padding-top:12px;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}@media (min-width: 768px){.lead[data-v-46c5e327]{max-width:592px;letter-spacing:.15px;line-height:28px;font-size:20px}}.VPTeamPageSection[data-v-3bf2e850]{padding:0 32px}@media (min-width: 768px){.VPTeamPageSection[data-v-3bf2e850]{padding:0 48px}}@media (min-width: 960px){.VPTeamPageSection[data-v-3bf2e850]{padding:0 64px}}.title[data-v-3bf2e850]{position:relative;margin:0 auto;max-width:1152px;text-align:center;color:var(--vp-c-text-2)}.title-line[data-v-3bf2e850]{position:absolute;top:16px;left:0;width:100%;height:1px;background-color:var(--vp-c-divider)}.title-text[data-v-3bf2e850]{position:relative;display:inline-block;padding:0 24px;letter-spacing:0;line-height:32px;font-size:20px;font-weight:500;background-color:var(--vp-c-bg)}.lead[data-v-3bf2e850]{margin:0 auto;max-width:480px;padding-top:12px;text-align:center;line-height:24px;font-size:16px;font-weight:500;color:var(--vp-c-text-2)}.members[data-v-3bf2e850]{padding-top:40px}.VPTeamMembersItem[data-v-acff304e]{display:flex;flex-direction:column;gap:2px;border-radius:12px;width:100%;height:100%;overflow:hidden}.VPTeamMembersItem.small .profile[data-v-acff304e]{padding:32px}.VPTeamMembersItem.small .data[data-v-acff304e]{padding-top:20px}.VPTeamMembersItem.small .avatar[data-v-acff304e]{width:64px;height:64px}.VPTeamMembersItem.small .name[data-v-acff304e]{line-height:24px;font-size:16px}.VPTeamMembersItem.small .affiliation[data-v-acff304e]{padding-top:4px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .desc[data-v-acff304e]{padding-top:12px;line-height:20px;font-size:14px}.VPTeamMembersItem.small .links[data-v-acff304e]{margin:0 -16px -20px;padding:10px 0 0}.VPTeamMembersItem.medium .profile[data-v-acff304e]{padding:48px 32px}.VPTeamMembersItem.medium .data[data-v-acff304e]{padding-top:24px;text-align:center}.VPTeamMembersItem.medium .avatar[data-v-acff304e]{width:96px;height:96px}.VPTeamMembersItem.medium .name[data-v-acff304e]{letter-spacing:.15px;line-height:28px;font-size:20px}.VPTeamMembersItem.medium .affiliation[data-v-acff304e]{padding-top:4px;font-size:16px}.VPTeamMembersItem.medium .desc[data-v-acff304e]{padding-top:16px;max-width:288px;font-size:16px}.VPTeamMembersItem.medium .links[data-v-acff304e]{margin:0 -16px -12px;padding:16px 12px 0}.profile[data-v-acff304e]{flex-grow:1;background-color:var(--vp-c-bg-soft)}.data[data-v-acff304e]{text-align:center}.avatar[data-v-acff304e]{position:relative;flex-shrink:0;margin:0 auto;border-radius:50%;box-shadow:var(--vp-shadow-3)}.avatar-img[data-v-acff304e]{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;object-fit:cover}.name[data-v-acff304e]{margin:0;font-weight:600}.affiliation[data-v-acff304e]{margin:0;font-weight:500;color:var(--vp-c-text-2)}.org.link[data-v-acff304e]{color:var(--vp-c-text-2);transition:color .25s}.org.link[data-v-acff304e]:hover{color:var(--vp-c-brand-1)}.desc[data-v-acff304e]{margin:0 auto}.desc[data-v-acff304e] a{font-weight:500;color:var(--vp-c-brand-1);text-decoration-style:dotted;transition:color .25s}.links[data-v-acff304e]{display:flex;justify-content:center;height:56px}.sp-link[data-v-acff304e]{display:flex;justify-content:center;align-items:center;text-align:center;padding:16px;font-size:14px;font-weight:500;color:var(--vp-c-sponsor);background-color:var(--vp-c-bg-soft);transition:color .25s,background-color .25s}.sp .sp-link.link[data-v-acff304e]:hover,.sp .sp-link.link[data-v-acff304e]:focus{outline:none;color:var(--vp-c-white);background-color:var(--vp-c-sponsor)}.sp-icon[data-v-acff304e]{margin-right:8px;font-size:16px}.VPTeamMembers.small .container[data-v-bf782009]{grid-template-columns:repeat(auto-fit,minmax(224px,1fr))}.VPTeamMembers.small.count-1 .container[data-v-bf782009]{max-width:276px}.VPTeamMembers.small.count-2 .container[data-v-bf782009]{max-width:576px}.VPTeamMembers.small.count-3 .container[data-v-bf782009]{max-width:876px}.VPTeamMembers.medium .container[data-v-bf782009]{grid-template-columns:repeat(auto-fit,minmax(256px,1fr))}@media (min-width: 375px){.VPTeamMembers.medium .container[data-v-bf782009]{grid-template-columns:repeat(auto-fit,minmax(288px,1fr))}}.VPTeamMembers.medium.count-1 .container[data-v-bf782009]{max-width:368px}.VPTeamMembers.medium.count-2 .container[data-v-bf782009]{max-width:760px}.container[data-v-bf782009]{display:grid;gap:24px;margin:0 auto;max-width:1152px}:root{--vp-c-brand: #00e0ff;--vp-c-brand-1: #6aebfc;--vp-c-brand-2: #00e0ff;--vp-c-brand-3: #00b9d1;--vp-home-hero-name-color: transparent;--vp-home-hero-name-background: -webkit-linear-gradient( 135deg, #00e0ff 0%, #00ff57 100% )}html.dark{--vp-c-bg: #0a0a1e;--vp-c-bg-light: #141428;--vp-sidebar-bg-color: #141428;--vp-code-block-bg: #141428;--vp-c-bg-lighter: #1e1e32;--vp-code-bg-color: #1e1e32;--vp-c-black-mute: #1e1e32;--vp-c-black: #1e1e32;--vp-c-bg-soft: #1e1e32} diff --git a/docs/assets/ui-helpers.md.BotLYRDl.js b/docs/assets/ui-helpers.md.BotLYRDl.js new file mode 100644 index 00000000..593643d4 --- /dev/null +++ b/docs/assets/ui-helpers.md.BotLYRDl.js @@ -0,0 +1 @@ +import{_ as t,c as a,a2 as r,o as s}from"./chunks/framework.CdbxnhrM.js";const m=JSON.parse('{"title":"UiHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers.md","filePath":"ui-helpers.md","lastUpdated":1700306874000}'),i={name:"ui-helpers.md"};function l(o,e,d,h,p,n){return s(),a("div",null,e[0]||(e[0]=[r('

UiHelpers

This page is about the exceptions available in PeyrSharp.UiHelpers. They are grouped by category.

Compatibility

UiHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Classes

',7)]))}const u=t(i,[["render",l]]);export{m as __pageData,u as default}; diff --git a/docs/assets/ui-helpers.md.BotLYRDl.lean.js b/docs/assets/ui-helpers.md.BotLYRDl.lean.js new file mode 100644 index 00000000..593643d4 --- /dev/null +++ b/docs/assets/ui-helpers.md.BotLYRDl.lean.js @@ -0,0 +1 @@ +import{_ as t,c as a,a2 as r,o as s}from"./chunks/framework.CdbxnhrM.js";const m=JSON.parse('{"title":"UiHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers.md","filePath":"ui-helpers.md","lastUpdated":1700306874000}'),i={name:"ui-helpers.md"};function l(o,e,d,h,p,n){return s(),a("div",null,e[0]||(e[0]=[r('

UiHelpers

This page is about the exceptions available in PeyrSharp.UiHelpers. They are grouped by category.

Compatibility

UiHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Classes

',7)]))}const u=t(i,[["render",l]]);export{m as __pageData,u as default}; diff --git a/docs/assets/ui-helpers.md.PmLqUMhq.js b/docs/assets/ui-helpers.md.PmLqUMhq.js deleted file mode 100644 index 964c3caf..00000000 --- a/docs/assets/ui-helpers.md.PmLqUMhq.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as a,R as r}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"UiHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers.md","filePath":"ui-helpers.md","lastUpdated":1700306874000}'),s={name:"ui-helpers.md"},i=r('

UiHelpers

This page is about the exceptions available in PeyrSharp.UiHelpers. They are grouped by category.

Compatibility

UiHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Classes

',7),l=[i];function o(d,h,p,n,c,m){return t(),a("div",null,l)}const f=e(s,[["render",o]]);export{u as __pageData,f as default}; diff --git a/docs/assets/ui-helpers.md.PmLqUMhq.lean.js b/docs/assets/ui-helpers.md.PmLqUMhq.lean.js deleted file mode 100644 index b45640e2..00000000 --- a/docs/assets/ui-helpers.md.PmLqUMhq.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as e,o as t,c as a,R as r}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"UiHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers.md","filePath":"ui-helpers.md","lastUpdated":1700306874000}'),s={name:"ui-helpers.md"},i=r("",7),l=[i];function o(d,h,p,n,c,m){return t(),a("div",null,l)}const f=e(s,[["render",o]]);export{u as __pageData,f as default}; diff --git a/docs/assets/ui-helpers_screen.md.1Hjaxdza.lean.js b/docs/assets/ui-helpers_screen.md.1Hjaxdza.lean.js deleted file mode 100644 index aaaa42ea..00000000 --- a/docs/assets/ui-helpers_screen.md.1Hjaxdza.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=JSON.parse('{"title":"Screen","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/screen.md","filePath":"ui-helpers/screen.md","lastUpdated":1700306874000}'),e={name:"ui-helpers/screen.md"},n=t("",38),h=[n];function l(p,k,r,d,o,E){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{c as __pageData,y as default}; diff --git a/docs/assets/ui-helpers_screen.md.1Hjaxdza.js b/docs/assets/ui-helpers_screen.md.23EvVkRP.js similarity index 69% rename from docs/assets/ui-helpers_screen.md.1Hjaxdza.js rename to docs/assets/ui-helpers_screen.md.23EvVkRP.js index 6d5c8e26..c851e0e4 100644 --- a/docs/assets/ui-helpers_screen.md.1Hjaxdza.js +++ b/docs/assets/ui-helpers_screen.md.23EvVkRP.js @@ -1,4 +1,4 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=JSON.parse('{"title":"Screen","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/screen.md","filePath":"ui-helpers/screen.md","lastUpdated":1700306874000}'),e={name:"ui-helpers/screen.md"},n=t(`

Screen

This page is about the ScreenHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

ScreenHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

GetDpi(form)

Definition

Gets the DPI of the screen where the Windows Form is located. It returns a double value.

Arguments

TypeNameMeaning
FormformThe form to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
+import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"Screen","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/screen.md","filePath":"ui-helpers/screen.md","lastUpdated":1700306874000}'),n={name:"ui-helpers/screen.md"};function h(l,s,p,k,r,d){return e(),a("div",null,s[0]||(s[0]=[t(`

Screen

This page is about the ScreenHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

ScreenHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

GetDpi(form)

Definition

Gets the DPI of the screen where the Windows Form is located. It returns a double value.

Arguments

TypeNameMeaning
FormformThe form to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
 using System;
 using System.Windows.Forms;
 
@@ -8,7 +8,7 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=
     {
         MessageBox.Show(ScreenHelpers.GetDpi(this));
     }
-}

GetDpi(window)

Definition

Gets the DPI of the screen where the Window is located. It returns a double value.

Arguments

TypeNameMeaning
WindowwindowThe Window to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
+}

GetDpi(window)

Definition

Gets the DPI of the screen where the Window is located. It returns a double value.

Arguments

TypeNameMeaning
WindowwindowThe Window to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
 using System;
 using System.Windows;
 
@@ -18,7 +18,7 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=
     {
         MessageBox.Show(ScreenHelpers.GetDpi(this));
     }
-}

GetScreenScaling(form)

Definition

Gets the scaling of the screen where the Windows Form is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
FormformThe form to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
+}

GetScreenScaling(form)

Definition

Gets the scaling of the screen where the Windows Form is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
FormformThe form to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
 using System;
 using System.Windows.Forms;
 
@@ -28,7 +28,7 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=
     {
         MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
     }
-}

GetScreenScaling(window)

Definition

Gets the scaling of the screen where the Window is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
WindowwindowThe window to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
+}

GetScreenScaling(window)

Definition

Gets the scaling of the screen where the Window is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
WindowwindowThe window to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
 using System;
 using System.Windows;
 
@@ -38,4 +38,4 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=
     {
         MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
     }
-}
`,38),h=[n];function l(p,k,r,d,o,E){return i(),a("div",null,h)}const y=s(e,[["render",l]]);export{c as __pageData,y as default}; +}
`,38)]))}const g=i(n,[["render",h]]);export{E as __pageData,g as default}; diff --git a/docs/assets/ui-helpers_screen.md.23EvVkRP.lean.js b/docs/assets/ui-helpers_screen.md.23EvVkRP.lean.js new file mode 100644 index 00000000..c851e0e4 --- /dev/null +++ b/docs/assets/ui-helpers_screen.md.23EvVkRP.lean.js @@ -0,0 +1,41 @@ +import{_ as i,c as a,a2 as t,o as e}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"Screen","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/screen.md","filePath":"ui-helpers/screen.md","lastUpdated":1700306874000}'),n={name:"ui-helpers/screen.md"};function h(l,s,p,k,r,d){return e(),a("div",null,s[0]||(s[0]=[t(`

Screen

This page is about the ScreenHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

ScreenHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

GetDpi(form)

Definition

Gets the DPI of the screen where the Windows Form is located. It returns a double value.

Arguments

TypeNameMeaning
FormformThe form to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetDpi(this));
+    }
+}

GetDpi(window)

Definition

Gets the DPI of the screen where the Window is located. It returns a double value.

Arguments

TypeNameMeaning
WindowwindowThe Window to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows;
+
+public partial class MyWindow : Window
+{
+    private void HandleButton(object sender, RoutedEventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetDpi(this));
+    }
+}

GetScreenScaling(form)

Definition

Gets the scaling of the screen where the Windows Form is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
FormformThe form to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
+    }
+}

GetScreenScaling(window)

Definition

Gets the scaling of the screen where the Window is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
WindowwindowThe window to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows;
+
+public partial class MyWindow : Window
+{
+    private void HandleButton(object sender, RoutedEventArgs e)
+    {
+        MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
+    }
+}
`,38)]))}const g=i(n,[["render",h]]);export{E as __pageData,g as default}; diff --git a/docs/assets/ui-helpers_windowhelpers.md.FJdjs9yy.js b/docs/assets/ui-helpers_windowhelpers.md.DgNXdyEd.js similarity index 64% rename from docs/assets/ui-helpers_windowhelpers.md.FJdjs9yy.js rename to docs/assets/ui-helpers_windowhelpers.md.DgNXdyEd.js index 85c04579..44268666 100644 --- a/docs/assets/ui-helpers_windowhelpers.md.FJdjs9yy.js +++ b/docs/assets/ui-helpers_windowhelpers.md.DgNXdyEd.js @@ -1,4 +1,4 @@ -import{_ as i,o as s,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=JSON.parse('{"title":"WindowHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/windowhelpers.md","filePath":"ui-helpers/windowhelpers.md","lastUpdated":1700306874000}'),n={name:"ui-helpers/windowhelpers.md"},e=t(`

WindowHelpers

This page is about the WindowHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WindowHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

GetWindows()

Definition

Retrieves a list of currently visible windows.

Returns

A list of WindowInfo objects representing the visible windows.

Usage

c#
using PeyrSharp.UiHelpers;
+import{_ as s,c as a,a2 as t,o as n}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"WindowHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/windowhelpers.md","filePath":"ui-helpers/windowhelpers.md","lastUpdated":1700306874000}'),e={name:"ui-helpers/windowhelpers.md"};function h(l,i,d,p,k,r){return n(),a("div",null,i[0]||(i[0]=[t(`

WindowHelpers

This page is about the WindowHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WindowHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

GetWindows()

Definition

Retrieves a list of currently visible windows.

Returns

A list of WindowInfo objects representing the visible windows.

Usage

c#
using PeyrSharp.UiHelpers;
 using System.Collections.Generic;
 
 public class MyWindowManager
@@ -10,30 +10,30 @@ import{_ as i,o as s,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=
             Console.WriteLine(window.Name);
         }
     }
-}

CloseWindow(windowInfo)

Definition

Closes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to close.

Usage

c#
using PeyrSharp.UiHelpers;
+}

CloseWindow(windowInfo)

Definition

Closes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to close.

Usage

c#
using PeyrSharp.UiHelpers;
 using System.Linq;
 
 var ws = WindowHelpers.GetWindows();
 var w = ws.Where(x => x.ClassName == "Notepad").First();
-WindowHelpers.CloseWindow(w)

MaximizeWindow(windowInfo)

Definition

Maximizes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to maximize.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.CloseWindow(w)

MaximizeWindow(windowInfo)

Definition

Maximizes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to maximize.

Usage

c#
using PeyrSharp.UiHelpers;
 using System.Linq;
 
 var ws = WindowHelpers.GetWindows();
 var w = ws.Where(x => x.ClassName == "Notepad").First();
-WindowHelpers.MaximizeWindow(w)

RestoreWindow(windowInfo)

Definition

Restores a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to restore.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.MaximizeWindow(w)

RestoreWindow(windowInfo)

Definition

Restores a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to restore.

Usage

c#
using PeyrSharp.UiHelpers;
 using System.Linq;
 
 var ws = WindowHelpers.GetWindows();
 var w = ws.Where(x => x.ClassName == "Notepad").First();
-WindowHelpers.RestoreWindow(w)

MinimizeWindow(windowInfo)

Definition

Minimizes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to minimize.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.RestoreWindow(w)

MinimizeWindow(windowInfo)

Definition

Minimizes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to minimize.

Usage

c#
using PeyrSharp.UiHelpers;
 using System.Linq;
 
 var ws = WindowHelpers.GetWindows();
 var w = ws.Where(x => x.ClassName == "Notepad").First();
-WindowHelpers.MinimizeWindow(w)

MoveWindow(windowInfo, x, y)

Definition

Moves a window to specified coordinates.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to move.
intxThe X-axis coordinates.
intyThe Y-axis coordinates.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.MinimizeWindow(w)

MoveWindow(windowInfo, x, y)

Definition

Moves a window to specified coordinates.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to move.
intxThe X-axis coordinates.
intyThe Y-axis coordinates.

Usage

c#
using PeyrSharp.UiHelpers;
 
-WindowHelpers.MoveWindow(w, 100, 200); // w is a WindowInfo object, see previous examples.

SetTopMost(windowInfo, isTopMost)

Definition

Sets the Topmost property of a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to target.
boolisTopMostThe value of the TopMost property.

Note

The isTopMost parameter can be set to true if the window should always stay on top; false otherwise.

Usage

c#
using PeyrSharp.UiHelpers;
-WindowHelpers.SetTopMost(w, true)

GetWindowSize(windowInfo)

Definition

Gets the width and height of a window. It returns a tuple of integers representing the width and height of the window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to get the size of.

Exceptions

TypeDescription
InvalidOperationExceptionThrown if failed to retrieve window size.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.MoveWindow(w, 100, 200); // w is a WindowInfo object, see previous examples.

SetTopMost(windowInfo, isTopMost)

Definition

Sets the Topmost property of a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to target.
boolisTopMostThe value of the TopMost property.

Note

The isTopMost parameter can be set to true if the window should always stay on top; false otherwise.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.SetTopMost(w, true)

GetWindowSize(windowInfo)

Definition

Gets the width and height of a window. It returns a tuple of integers representing the width and height of the window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to get the size of.

Exceptions

TypeDescription
InvalidOperationExceptionThrown if failed to retrieve window size.

Usage

c#
using PeyrSharp.UiHelpers;
 
 var size = WindowHelpers.GetWindowSize(w); // w is a WindowInfo object, see previous examples.
-Console.WriteLine($"Width: {size.Item1}, Height: {size.Item2}");
`,65),h=[e];function l(d,p,k,o,r,E){return s(),a("div",null,h)}const y=i(n,[["render",l]]);export{c as __pageData,y as default}; +Console.WriteLine($"Width: {size.Item1}, Height: {size.Item2}");
`,65)]))}const g=s(e,[["render",h]]);export{E as __pageData,g as default}; diff --git a/docs/assets/ui-helpers_windowhelpers.md.DgNXdyEd.lean.js b/docs/assets/ui-helpers_windowhelpers.md.DgNXdyEd.lean.js new file mode 100644 index 00000000..44268666 --- /dev/null +++ b/docs/assets/ui-helpers_windowhelpers.md.DgNXdyEd.lean.js @@ -0,0 +1,39 @@ +import{_ as s,c as a,a2 as t,o as n}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"WindowHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/windowhelpers.md","filePath":"ui-helpers/windowhelpers.md","lastUpdated":1700306874000}'),e={name:"ui-helpers/windowhelpers.md"};function h(l,i,d,p,k,r){return n(),a("div",null,i[0]||(i[0]=[t(`

WindowHelpers

This page is about the WindowHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WindowHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

GetWindows()

Definition

Retrieves a list of currently visible windows.

Returns

A list of WindowInfo objects representing the visible windows.

Usage

c#
using PeyrSharp.UiHelpers;
+using System.Collections.Generic;
+
+public class MyWindowManager
+{
+    public void PrintOpenedWindows() {
+        List<WindowInfo> windows = WinFormsHelpers.GetWindows();
+        foreach (WindowInfo window in windows)
+        {
+            Console.WriteLine(window.Name);
+        }
+    }
+}

CloseWindow(windowInfo)

Definition

Closes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to close.

Usage

c#
using PeyrSharp.UiHelpers;
+using System.Linq;
+
+var ws = WindowHelpers.GetWindows();
+var w = ws.Where(x => x.ClassName == "Notepad").First();
+WindowHelpers.CloseWindow(w)

MaximizeWindow(windowInfo)

Definition

Maximizes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to maximize.

Usage

c#
using PeyrSharp.UiHelpers;
+using System.Linq;
+
+var ws = WindowHelpers.GetWindows();
+var w = ws.Where(x => x.ClassName == "Notepad").First();
+WindowHelpers.MaximizeWindow(w)

RestoreWindow(windowInfo)

Definition

Restores a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to restore.

Usage

c#
using PeyrSharp.UiHelpers;
+using System.Linq;
+
+var ws = WindowHelpers.GetWindows();
+var w = ws.Where(x => x.ClassName == "Notepad").First();
+WindowHelpers.RestoreWindow(w)

MinimizeWindow(windowInfo)

Definition

Minimizes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to minimize.

Usage

c#
using PeyrSharp.UiHelpers;
+using System.Linq;
+
+var ws = WindowHelpers.GetWindows();
+var w = ws.Where(x => x.ClassName == "Notepad").First();
+WindowHelpers.MinimizeWindow(w)

MoveWindow(windowInfo, x, y)

Definition

Moves a window to specified coordinates.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to move.
intxThe X-axis coordinates.
intyThe Y-axis coordinates.

Usage

c#
using PeyrSharp.UiHelpers;
+
+WindowHelpers.MoveWindow(w, 100, 200); // w is a WindowInfo object, see previous examples.

SetTopMost(windowInfo, isTopMost)

Definition

Sets the Topmost property of a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to target.
boolisTopMostThe value of the TopMost property.

Note

The isTopMost parameter can be set to true if the window should always stay on top; false otherwise.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.SetTopMost(w, true)

GetWindowSize(windowInfo)

Definition

Gets the width and height of a window. It returns a tuple of integers representing the width and height of the window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to get the size of.

Exceptions

TypeDescription
InvalidOperationExceptionThrown if failed to retrieve window size.

Usage

c#
using PeyrSharp.UiHelpers;
+
+var size = WindowHelpers.GetWindowSize(w); // w is a WindowInfo object, see previous examples.
+Console.WriteLine($"Width: {size.Item1}, Height: {size.Item2}");
`,65)]))}const g=s(e,[["render",h]]);export{E as __pageData,g as default}; diff --git a/docs/assets/ui-helpers_windowhelpers.md.FJdjs9yy.lean.js b/docs/assets/ui-helpers_windowhelpers.md.FJdjs9yy.lean.js deleted file mode 100644 index 25c7287b..00000000 --- a/docs/assets/ui-helpers_windowhelpers.md.FJdjs9yy.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as i,o as s,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const c=JSON.parse('{"title":"WindowHelpers","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/windowhelpers.md","filePath":"ui-helpers/windowhelpers.md","lastUpdated":1700306874000}'),n={name:"ui-helpers/windowhelpers.md"},e=t("",65),h=[e];function l(d,p,k,o,r,E){return s(),a("div",null,h)}const y=i(n,[["render",l]]);export{c as __pageData,y as default}; diff --git a/docs/assets/ui-helpers_windowinfo.md.IIQbQgEs.js b/docs/assets/ui-helpers_windowinfo.md.CRr02C-E.js similarity index 50% rename from docs/assets/ui-helpers_windowinfo.md.IIQbQgEs.js rename to docs/assets/ui-helpers_windowinfo.md.CRr02C-E.js index 17920fc5..88815c62 100644 --- a/docs/assets/ui-helpers_windowinfo.md.IIQbQgEs.js +++ b/docs/assets/ui-helpers_windowinfo.md.CRr02C-E.js @@ -1,19 +1,19 @@ -import{_ as s,o as i,c as a,R as n}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"WindowInfo","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/windowinfo.md","filePath":"ui-helpers/windowinfo.md","lastUpdated":1700306874000}'),e={name:"ui-helpers/windowinfo.md"},t=n(`

WindowInfo

This page is about the WindowInfo class available in PeyrSharp.UiHelpers. It represents information about a window.

Compatibility

The WindowInfo class is part of the PeyrSharp.UiHelpers module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.UiHelpers might not be available in all platforms.

Properties

Handle

Definition

c#
public IntPtr Handle { get; set; }

Gets or sets the handle of the window.

Usage

c#
// Create a new WindowInfo object
+import{_ as i,c as a,a2 as n,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"WindowInfo","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/windowinfo.md","filePath":"ui-helpers/windowinfo.md","lastUpdated":1700306874000}'),t={name:"ui-helpers/windowinfo.md"};function l(h,s,o,p,d,r){return e(),a("div",null,s[0]||(s[0]=[n(`

WindowInfo

This page is about the WindowInfo class available in PeyrSharp.UiHelpers. It represents information about a window.

Compatibility

The WindowInfo class is part of the PeyrSharp.UiHelpers module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.UiHelpers might not be available in all platforms.

Properties

Handle

Definition

c#
public IntPtr Handle { get; set; }

Gets or sets the handle of the window.

Usage

c#
// Create a new WindowInfo object
 WindowInfo windowInfo = windowInfos[0]; // Assuming you have used the GetWindows() method.
 
 // Get the handle of the window
-Console.WriteLine(windowInfo.Handle); // Output: 123456

Name

Definition

c#
public string Name { get; set; }

Gets or sets the name of the window.

Usage

c#
// Create a new WindowInfo object
+Console.WriteLine(windowInfo.Handle); // Output: 123456

Name

Definition

c#
public string Name { get; set; }

Gets or sets the name of the window.

Usage

c#
// Create a new WindowInfo object
 WindowInfo windowInfo = new WindowInfo();
 
 // Set the name of the window
 windowInfo.Name = "MyWindow";
 
 // Get the name of the window
-Console.WriteLine(windowInfo.Name); // Output: MyWindow

ClassName

Definition

c#
public string ClassName { get; set; }

Gets or sets the class name of the window.

Usage

c#
// Create a new WindowInfo object
+Console.WriteLine(windowInfo.Name); // Output: MyWindow

ClassName

Definition

c#
public string ClassName { get; set; }

Gets or sets the class name of the window.

Usage

c#
// Create a new WindowInfo object
 WindowInfo windowInfo = new WindowInfo();
 
 // Set the class name of the window
 windowInfo.ClassName = "MyWindowClass";
 
 // Get the class name of the window
-Console.WriteLine(windowInfo.ClassName); // Output: MyWindowClass
`,25),l=[t];function h(o,p,d,r,k,c){return i(),a("div",null,l)}const y=s(e,[["render",h]]);export{u as __pageData,y as default}; +Console.WriteLine(windowInfo.ClassName); // Output: MyWindowClass
`,25)]))}const g=i(t,[["render",l]]);export{c as __pageData,g as default}; diff --git a/docs/assets/ui-helpers_windowinfo.md.CRr02C-E.lean.js b/docs/assets/ui-helpers_windowinfo.md.CRr02C-E.lean.js new file mode 100644 index 00000000..88815c62 --- /dev/null +++ b/docs/assets/ui-helpers_windowinfo.md.CRr02C-E.lean.js @@ -0,0 +1,19 @@ +import{_ as i,c as a,a2 as n,o as e}from"./chunks/framework.CdbxnhrM.js";const c=JSON.parse('{"title":"WindowInfo","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/windowinfo.md","filePath":"ui-helpers/windowinfo.md","lastUpdated":1700306874000}'),t={name:"ui-helpers/windowinfo.md"};function l(h,s,o,p,d,r){return e(),a("div",null,s[0]||(s[0]=[n(`

WindowInfo

This page is about the WindowInfo class available in PeyrSharp.UiHelpers. It represents information about a window.

Compatibility

The WindowInfo class is part of the PeyrSharp.UiHelpers module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.UiHelpers might not be available in all platforms.

Properties

Handle

Definition

c#
public IntPtr Handle { get; set; }

Gets or sets the handle of the window.

Usage

c#
// Create a new WindowInfo object
+WindowInfo windowInfo = windowInfos[0]; // Assuming you have used the GetWindows() method.
+
+// Get the handle of the window
+Console.WriteLine(windowInfo.Handle); // Output: 123456

Name

Definition

c#
public string Name { get; set; }

Gets or sets the name of the window.

Usage

c#
// Create a new WindowInfo object
+WindowInfo windowInfo = new WindowInfo();
+
+// Set the name of the window
+windowInfo.Name = "MyWindow";
+
+// Get the name of the window
+Console.WriteLine(windowInfo.Name); // Output: MyWindow

ClassName

Definition

c#
public string ClassName { get; set; }

Gets or sets the class name of the window.

Usage

c#
// Create a new WindowInfo object
+WindowInfo windowInfo = new WindowInfo();
+
+// Set the class name of the window
+windowInfo.ClassName = "MyWindowClass";
+
+// Get the class name of the window
+Console.WriteLine(windowInfo.ClassName); // Output: MyWindowClass
`,25)]))}const g=i(t,[["render",l]]);export{c as __pageData,g as default}; diff --git a/docs/assets/ui-helpers_windowinfo.md.IIQbQgEs.lean.js b/docs/assets/ui-helpers_windowinfo.md.IIQbQgEs.lean.js deleted file mode 100644 index 0de2b5f7..00000000 --- a/docs/assets/ui-helpers_windowinfo.md.IIQbQgEs.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as n}from"./chunks/framework.q7IuVqhY.js";const u=JSON.parse('{"title":"WindowInfo","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/windowinfo.md","filePath":"ui-helpers/windowinfo.md","lastUpdated":1700306874000}'),e={name:"ui-helpers/windowinfo.md"},t=n("",25),l=[t];function h(o,p,d,r,k,c){return i(),a("div",null,l)}const y=s(e,[["render",h]]);export{u as __pageData,y as default}; diff --git a/docs/assets/ui-helpers_winforms.md.mQp9Cowg.js b/docs/assets/ui-helpers_winforms.md.EIjXmPIi.js similarity index 67% rename from docs/assets/ui-helpers_winforms.md.mQp9Cowg.js rename to docs/assets/ui-helpers_winforms.md.EIjXmPIi.js index ab322bec..f04f8b7f 100644 --- a/docs/assets/ui-helpers_winforms.md.mQp9Cowg.js +++ b/docs/assets/ui-helpers_winforms.md.EIjXmPIi.js @@ -1,4 +1,4 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"WinForms","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/winforms.md","filePath":"ui-helpers/winforms.md","lastUpdated":1700306874000}'),n={name:"ui-helpers/winforms.md"},e=t(`

WinForms

This page is about the WinFormsHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

CenterControl(control, form)

Definition

Centers horizontally and vertically a Control on a Form.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.

Usage

c#
using PeyrSharp.UiHelpers;
+import{_ as i,c as a,a2 as t,o as n}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"WinForms","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/winforms.md","filePath":"ui-helpers/winforms.md","lastUpdated":1700306874000}'),e={name:"ui-helpers/winforms.md"};function h(l,s,r,p,k,d){return n(),a("div",null,s[0]||(s[0]=[t(`

WinForms

This page is about the WinFormsHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

CenterControl(control, form)

Definition

Centers horizontally and vertically a Control on a Form.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.

Usage

c#
using PeyrSharp.UiHelpers;
 using System;
 using System.Windows.Forms;
 
@@ -9,7 +9,7 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=
         Button button = (Button)sender;
         WinFormsHelpers.CenterControl(button, this);
     }
-}

CenterControl(control, form, controlAlignment)

Definition

Centers a Control on a Form, with a specific ControlAlignment.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.
ControlAlignmentcontrolAlignmentThe alignment of the control.

Usage

c#
using PeyrSharp.Enums;
+}

CenterControl(control, form, controlAlignment)

Definition

Centers a Control on a Form, with a specific ControlAlignment.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.
ControlAlignmentcontrolAlignmentThe alignment of the control.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.UiHelpers;
 using System;
 using System.Windows.Forms;
@@ -23,7 +23,7 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=
         // Center the button vertically
         WinFormsHelpers.CenterControl(button, this, ControlAlignment.Vertical);
     }
-}

CenterForm(form)

Definition

Centers horizontally and vertically a Form on the screen.

Arguments

TypeNameMeaning
FormformThe form to center.

Usage

c#
using PeyrSharp.UiHelpers;
+}

CenterForm(form)

Definition

Centers horizontally and vertically a Form on the screen.

Arguments

TypeNameMeaning
FormformThe form to center.

Usage

c#
using PeyrSharp.UiHelpers;
 using System;
 using System.Windows.Forms;
 
@@ -34,4 +34,4 @@ import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=
         // Put the current form in the middle of the screen
         WinFormsHelpers.CenterForm(this);
     }
-}
`,27),h=[e];function l(r,p,k,d,o,E){return i(),a("div",null,h)}const y=s(n,[["render",l]]);export{g as __pageData,y as default}; +}
`,27)]))}const g=i(e,[["render",h]]);export{E as __pageData,g as default}; diff --git a/docs/assets/ui-helpers_winforms.md.EIjXmPIi.lean.js b/docs/assets/ui-helpers_winforms.md.EIjXmPIi.lean.js new file mode 100644 index 00000000..f04f8b7f --- /dev/null +++ b/docs/assets/ui-helpers_winforms.md.EIjXmPIi.lean.js @@ -0,0 +1,37 @@ +import{_ as i,c as a,a2 as t,o as n}from"./chunks/framework.CdbxnhrM.js";const E=JSON.parse('{"title":"WinForms","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/winforms.md","filePath":"ui-helpers/winforms.md","lastUpdated":1700306874000}'),e={name:"ui-helpers/winforms.md"};function h(l,s,r,p,k,d){return n(),a("div",null,s[0]||(s[0]=[t(`

WinForms

This page is about the WinFormsHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

CenterControl(control, form)

Definition

Centers horizontally and vertically a Control on a Form.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        Button button = (Button)sender;
+        WinFormsHelpers.CenterControl(button, this);
+    }
+}

CenterControl(control, form, controlAlignment)

Definition

Centers a Control on a Form, with a specific ControlAlignment.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.
ControlAlignmentcontrolAlignmentThe alignment of the control.

Usage

c#
using PeyrSharp.Enums;
+using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        Button button = (Button)sender;
+
+        // Center the button vertically
+        WinFormsHelpers.CenterControl(button, this, ControlAlignment.Vertical);
+    }
+}

CenterForm(form)

Definition

Centers horizontally and vertically a Form on the screen.

Arguments

TypeNameMeaning
FormformThe form to center.

Usage

c#
using PeyrSharp.UiHelpers;
+using System;
+using System.Windows.Forms;
+
+public partial class MyForm : Form
+{
+    private void HandleButton(object sender, EventArgs e)
+    {
+        // Put the current form in the middle of the screen
+        WinFormsHelpers.CenterForm(this);
+    }
+}
`,27)]))}const g=i(e,[["render",h]]);export{E as __pageData,g as default}; diff --git a/docs/assets/ui-helpers_winforms.md.mQp9Cowg.lean.js b/docs/assets/ui-helpers_winforms.md.mQp9Cowg.lean.js deleted file mode 100644 index 9c2ed8f2..00000000 --- a/docs/assets/ui-helpers_winforms.md.mQp9Cowg.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as s,o as i,c as a,R as t}from"./chunks/framework.q7IuVqhY.js";const g=JSON.parse('{"title":"WinForms","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/winforms.md","filePath":"ui-helpers/winforms.md","lastUpdated":1700306874000}'),n={name:"ui-helpers/winforms.md"},e=t("",27),h=[e];function l(r,p,k,d,o,E){return i(),a("div",null,h)}const y=s(n,[["render",l]]);export{g as __pageData,y as default}; diff --git a/docs/assets/ui-helpers_wpf.md.BipWH8dA.js b/docs/assets/ui-helpers_wpf.md.BipWH8dA.js new file mode 100644 index 00000000..5defafba --- /dev/null +++ b/docs/assets/ui-helpers_wpf.md.BipWH8dA.js @@ -0,0 +1,4 @@ +import{_ as a,c as e,a2 as i,o as s}from"./chunks/framework.CdbxnhrM.js";const k=JSON.parse('{"title":"WPF","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/wpf.md","filePath":"ui-helpers/wpf.md","lastUpdated":1700306874000}'),n={name:"ui-helpers/wpf.md"};function d(r,t,h,o,l,p){return s(),e("div",null,t[0]||(t[0]=[i(`

WPF

This page is about the WpfHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

CenterWindow(window)

Definition

Centers a Window on the primary screen.

Arguments

TypeNameMeaning
WindowwindowThe Window to center.

Usage

c#
using PeyrSharp.UiHelpers;
+
+Window window = new Window();
+WpfHelpers.CenterWindow(window); // Center the window on the primary screen
`,13)]))}const g=a(n,[["render",d]]);export{k as __pageData,g as default}; diff --git a/docs/assets/ui-helpers_wpf.md.BipWH8dA.lean.js b/docs/assets/ui-helpers_wpf.md.BipWH8dA.lean.js new file mode 100644 index 00000000..5defafba --- /dev/null +++ b/docs/assets/ui-helpers_wpf.md.BipWH8dA.lean.js @@ -0,0 +1,4 @@ +import{_ as a,c as e,a2 as i,o as s}from"./chunks/framework.CdbxnhrM.js";const k=JSON.parse('{"title":"WPF","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/wpf.md","filePath":"ui-helpers/wpf.md","lastUpdated":1700306874000}'),n={name:"ui-helpers/wpf.md"};function d(r,t,h,o,l,p){return s(),e("div",null,t[0]||(t[0]=[i(`

WPF

This page is about the WpfHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

CenterWindow(window)

Definition

Centers a Window on the primary screen.

Arguments

TypeNameMeaning
WindowwindowThe Window to center.

Usage

c#
using PeyrSharp.UiHelpers;
+
+Window window = new Window();
+WpfHelpers.CenterWindow(window); // Center the window on the primary screen
`,13)]))}const g=a(n,[["render",d]]);export{k as __pageData,g as default}; diff --git a/docs/assets/ui-helpers_wpf.md.VJp9Sw-P.js b/docs/assets/ui-helpers_wpf.md.VJp9Sw-P.js deleted file mode 100644 index bbee8068..00000000 --- a/docs/assets/ui-helpers_wpf.md.VJp9Sw-P.js +++ /dev/null @@ -1,4 +0,0 @@ -import{_ as t,o as e,c as a,R as i}from"./chunks/framework.q7IuVqhY.js";const m=JSON.parse('{"title":"WPF","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/wpf.md","filePath":"ui-helpers/wpf.md","lastUpdated":1700306874000}'),s={name:"ui-helpers/wpf.md"},n=i(`

WPF

This page is about the WpfHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

CenterWindow(window)

Definition

Centers a Window on the primary screen.

Arguments

TypeNameMeaning
WindowwindowThe Window to center.

Usage

c#
using PeyrSharp.UiHelpers;
-
-Window window = new Window();
-WpfHelpers.CenterWindow(window); // Center the window on the primary screen
`,13),d=[n];function r(h,o,l,p,c,k){return e(),a("div",null,d)}const w=t(s,[["render",r]]);export{m as __pageData,w as default}; diff --git a/docs/assets/ui-helpers_wpf.md.VJp9Sw-P.lean.js b/docs/assets/ui-helpers_wpf.md.VJp9Sw-P.lean.js deleted file mode 100644 index 250326d7..00000000 --- a/docs/assets/ui-helpers_wpf.md.VJp9Sw-P.lean.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as t,o as e,c as a,R as i}from"./chunks/framework.q7IuVqhY.js";const m=JSON.parse('{"title":"WPF","description":"","frontmatter":{},"headers":[],"relativePath":"ui-helpers/wpf.md","filePath":"ui-helpers/wpf.md","lastUpdated":1700306874000}'),s={name:"ui-helpers/wpf.md"},n=i("",13),d=[n];function r(h,o,l,p,c,k){return e(),a("div",null,d)}const w=t(s,[["render",r]]);export{m as __pageData,w as default}; diff --git a/docs/core.html b/docs/core.html index 09a758a9..239bcef7 100644 --- a/docs/core.html +++ b/docs/core.html @@ -5,21 +5,22 @@ Core | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Core

This page is about the PeyrSharp.Core module.

Compatibility

The PeyrSharp.Core module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Namespaces

The Core namespace contains other namespaces:

Classes

Released under the MIT License.

- +
Skip to content

Core

This page is about the PeyrSharp.Core module.

Compatibility

The PeyrSharp.Core module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Namespaces

The Core namespace contains other namespaces:

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters.html b/docs/core/converters.html index 213bdbf3..9e795f21 100644 --- a/docs/core/converters.html +++ b/docs/core/converters.html @@ -5,21 +5,22 @@ Converters | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Converters

This page is about the Converters namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Converters namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

Released under the MIT License.

- +
Skip to content

Converters

This page is about the Converters namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Converters namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/angle.html b/docs/core/converters/angle.html index 4dc8035c..a31e4563 100644 --- a/docs/core/converters/angle.html +++ b/docs/core/converters/angle.html @@ -5,27 +5,28 @@ Angle | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Angle

This page is about the Angle class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Angle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

DegreesToRadians(degrees)

Definition

Converts degrees to radians. Returns a double value.

Arguments

TypeNameMeaning
doubledegreesNumber of degrees to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Angle

This page is about the Angle class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Angle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

DegreesToRadians(degrees)

Definition

Converts degrees to radians. Returns a double value.

Arguments

TypeNameMeaning
doubledegreesNumber of degrees to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double radians = Angle.DegreesToRadians(90);
-// radians = 1.5707963271535559

RadiansToDegrees(radians)

Definition

Converts radians to degrees. Returns a double value.

Arguments

TypeNameMeaning
doubleradiansNumber of radians to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+// radians = 1.5707963271535559

RadiansToDegrees(radians)

Definition

Converts radians to degrees. Returns a double value.

Arguments

TypeNameMeaning
doubleradiansNumber of radians to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double deg = Angle.RadiansToDegrees(1.2);
-// deg = 68.7549354

Released under the MIT License.

- +// deg = 68.7549354

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/colors/hex.html b/docs/core/converters/colors/hex.html index aab24c37..76c2c597 100644 --- a/docs/core/converters/colors/hex.html +++ b/docs/core/converters/colors/hex.html @@ -5,27 +5,28 @@ HEX | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

HEX

This page is about the HEX class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HEX class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

HEX(hex)

Initializes a hexadecimal class from a hexadecimal value.

Arguments

TypeNameMeaning
stringhexThe hexadecimal value (with or without #).

WARNING

If you specify a non-hexadecimal value, a HEXInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

HEX

This page is about the HEX class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HEX class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

HEX(hex)

Initializes a hexadecimal class from a hexadecimal value.

Arguments

TypeNameMeaning
stringhexThe hexadecimal value (with or without #).

WARNING

If you specify a non-hexadecimal value, a HEXInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
 
-HEX hex = new("#FF0A17");

Methods

ToRgb()

Definition

Converts the HEX color to RGB. Returns a RGB class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+HEX hex = new("#FF0A17");

Methods

ToRgb()

Definition

Converts the HEX color to RGB. Returns a RGB class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
 
-RGB rgb = new HEX("#FFFFFF").ToRgb();

ToHsv()

Definition

Converts the HEX color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+RGB rgb = new HEX("#FFFFFF").ToRgb();

ToHsv()

Definition

Converts the HEX color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
 
-HSV hsv = new HEX("#E1077B").ToHsv();

Properties

Value

Definition

c#
public string Value { get; init; }

The Value property contains the hexadecimal value of the HEX color. You can only get this property.

Released under the MIT License.

- +HSV hsv = new HEX("#E1077B").ToHsv();

Properties

Value

Definition

c#
public string Value { get; init; }

The Value property contains the hexadecimal value of the HEX color. You can only get this property.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/colors/hsv.html b/docs/core/converters/colors/hsv.html index 7374d872..cc9c0426 100644 --- a/docs/core/converters/colors/hsv.html +++ b/docs/core/converters/colors/hsv.html @@ -5,23 +5,24 @@ HSV | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

HSV

This page is about the HSV class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HSV class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

HSV(hue, saturation, value)

Definition

Initializes a HSV color from its hue, saturation, and value.

Arguments

TypeNameMeaning
inthueThe Hue of the color.
intsaturationThe saturation percentage.
intvalueThe value/brightness percentage.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

HSV

This page is about the HSV class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The HSV class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

HSV(hue, saturation, value)

Definition

Initializes a HSV color from its hue, saturation, and value.

Arguments

TypeNameMeaning
inthueThe Hue of the color.
intsaturationThe saturation percentage.
intvalueThe value/brightness percentage.

Usage

c#
using PeyrSharp.Core.Converters;
 
-HSV hsv = new(50, 75, 100);

Properties

Hue

Definition

c#
public int Hue { get; init; }

The Hue property contains the hue of the HSV color. You can only get this property.

Saturation

Definition

c#
public int Saturation { get; init; }

The Value property contains the saturation percentage of the HSV color. You can only get this property.

Value

Definition

c#
public int Value { get; init; }

The Value property contains the value/brightness percentage of the HSV color. You can only get this property.

Released under the MIT License.

- +HSV hsv = new(50, 75, 100);

Properties

Hue

Definition

c#
public int Hue { get; init; }

The Hue property contains the hue of the HSV color. You can only get this property.

Saturation

Definition

c#
public int Saturation { get; init; }

The Value property contains the saturation percentage of the HSV color. You can only get this property.

Value

Definition

c#
public int Value { get; init; }

The Value property contains the value/brightness percentage of the HSV color. You can only get this property.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/colors/rgb.html b/docs/core/converters/colors/rgb.html index 7bfabd93..9ad49796 100644 --- a/docs/core/converters/colors/rgb.html +++ b/docs/core/converters/colors/rgb.html @@ -5,30 +5,31 @@ RGB | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

RGB

This page is about the RGB class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The RGB class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

RGB(color)

Definition

Initializes a RGB class from a System.Drawing.Color. Returns a RGB class.

Arguments

TypeNameMeaning
ColorcolorThe RGB color.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

RGB

This page is about the RGB class available in PeyrSharp.Core.Converters. You can find here all of its methods and properties.

Compatibility

The RGB class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

RGB(color)

Definition

Initializes a RGB class from a System.Drawing.Color. Returns a RGB class.

Arguments

TypeNameMeaning
ColorcolorThe RGB color.

Usage

c#
using PeyrSharp.Core.Converters;
 using System.Drawing;
 
-RGB rgb = new(Color.FromArgb(255, 150, 120));

RGB(r, g, b)

Definition

Initializes a RGB class from its r, g and b values. Returns a RGB class.

Arguments

TypeNameMeaning
intrRed.
intgGreen.
intbBlue.

WARNING

If you specify a value that is not between 0 and 255, a RGBInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
+RGB rgb = new(Color.FromArgb(255, 150, 120));

RGB(r, g, b)

Definition

Initializes a RGB class from its r, g and b values. Returns a RGB class.

Arguments

TypeNameMeaning
intrRed.
intgGreen.
intbBlue.

WARNING

If you specify a value that is not between 0 and 255, a RGBInvalidValueException will be thrown.

Usage

c#
using PeyrSharp.Core.Converters;
 
-RGB rgb = new(255, 150, 120);

Methods

ToHex()

Definition

Converts the RGB color to hexadecimal (HEX). Returns a HEX class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+RGB rgb = new(255, 150, 120);

Methods

ToHex()

Definition

Converts the RGB color to hexadecimal (HEX). Returns a HEX class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
 
-HEX hex = new RGB(255, 0, 0).ToHex();

ToHsv()

Definition

Converts the RGB color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
+HEX hex = new RGB(255, 0, 0).ToHex();

ToHsv()

Definition

Converts the RGB color to HSV. Returns a HSV class.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core.Converters;
 
-HSV hsv = new RGB(255, 0, 0).ToHsv();

Properties

Color

Definition

c#
public Color Color { get; init; }

The Color property contains the RGB color as a System.Drawing.Color. You can only get this property.

Released under the MIT License.

- +HSV hsv = new RGB(255, 0, 0).ToHsv();

Properties

Color

Definition

c#
public Color Color { get; init; }

The Color property contains the RGB color as a System.Drawing.Color. You can only get this property.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/distances.html b/docs/core/converters/distances.html index 2a50efb3..ae46fefc 100644 --- a/docs/core/converters/distances.html +++ b/docs/core/converters/distances.html @@ -5,33 +5,34 @@ Distances | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Distances

This page is about the Distances class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Distances class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

MilesToKm(miles)

Definition

Converts miles to kilometers. Returns a double value.

Arguments

TypeNameMeaning
doublemilesNumber of mile(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Distances

This page is about the Distances class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Distances class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

MilesToKm(miles)

Definition

Converts miles to kilometers. Returns a double value.

Arguments

TypeNameMeaning
doublemilesNumber of mile(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double km = Distances.MilesToKm(10);
-// km = 16.09344

KmToMiles(km)

Definition

Converts kilometers to miles. Returns a double value.

Arguments

TypeNameMeaning
doublekilometersNumber of kilometers(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+// km = 16.09344

KmToMiles(km)

Definition

Converts kilometers to miles. Returns a double value.

Arguments

TypeNameMeaning
doublekilometersNumber of kilometers(s) to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double miles = Distances.KmToMiles(5);
-// miles = 3.1068559611866697

FeetToMeters(feet)

Definition

Converts feet to meters. Returns a double value.

Arguments

TypeNameMeaning
doublefeetNumber of feet to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+// miles = 3.1068559611866697

FeetToMeters(feet)

Definition

Converts feet to meters. Returns a double value.

Arguments

TypeNameMeaning
doublefeetNumber of feet to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double meters = Distances.FeetToMeters(12);
-// meters = 3.657599994440448

MetersToFeet(meters)

Definition

Converts meters to feet. Returns a double value.

Arguments

TypeNameMeaning
doublemetersNumber of meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+// meters = 3.657599994440448

MetersToFeet(meters)

Definition

Converts meters to feet. Returns a double value.

Arguments

TypeNameMeaning
doublemetersNumber of meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double feet = Distances.MetersToFeet(3.657599994440448);
-// feet = 12

Released under the MIT License.

- +// feet = 12

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/energies.html b/docs/core/converters/energies.html index 54bfcfce..7799fbb0 100644 --- a/docs/core/converters/energies.html +++ b/docs/core/converters/energies.html @@ -5,27 +5,28 @@ Energies | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Energies

This page is about the Energies class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Energies class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

CaloriesToJoules(calories)

Definition

Converts calories to joules.

Arguments

TypeNameMeaning
doublecaloriesThe amount of energy in calories to be converted.

Returns

The equivalent amount of energy in joules.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Energies

This page is about the Energies class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Energies class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

CaloriesToJoules(calories)

Definition

Converts calories to joules.

Arguments

TypeNameMeaning
doublecaloriesThe amount of energy in calories to be converted.

Returns

The equivalent amount of energy in joules.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double calories = 100.0;
-double joules = Energies.CaloriesToJoules(calories);

JoulesToCalories(joules)

Definition

Converts joules to calories.

Arguments

TypeNameMeaning
doublejoulesThe amount of energy in joules.

Returns

The equivalent amount of energy in calories.

Usage

c#
using PeyrSharp.Core.Converters;
+double joules = Energies.CaloriesToJoules(calories);

JoulesToCalories(joules)

Definition

Converts joules to calories.

Arguments

TypeNameMeaning
doublejoulesThe amount of energy in joules.

Returns

The equivalent amount of energy in calories.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double joules = 1000.0;
-double calories = Energies.JoulesToCalories(joules);

Released under the MIT License.

- +double calories = Energies.JoulesToCalories(joules);

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/masses.html b/docs/core/converters/masses.html index 53d6cfba..393c86ae 100644 --- a/docs/core/converters/masses.html +++ b/docs/core/converters/masses.html @@ -5,27 +5,28 @@ Masses | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Masses

This page is about the Masses class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Masses class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

PoundsToKilograms(pounds)

Definition

Converts pounds to kilograms. Returns a double value.

Arguments

TypeNameMeaning
doublepoundsNumber of pounds to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Masses

This page is about the Masses class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Masses class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

PoundsToKilograms(pounds)

Definition

Converts pounds to kilograms. Returns a double value.

Arguments

TypeNameMeaning
doublepoundsNumber of pounds to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double kg = Masses.PoundsToKilograms(10);
-// kg = 4.535923703803784

KilogramsToPounds(kilograms)

Definition

Converts kilograms to pounds. Returns a double value.

Arguments

TypeNameMeaning
doublekilogramsNumber of kilograms to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+// kg = 4.535923703803784

KilogramsToPounds(kilograms)

Definition

Converts kilograms to pounds. Returns a double value.

Arguments

TypeNameMeaning
doublekilogramsNumber of kilograms to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double pounds = Masses.KilogramsToPounds(25);
-// pounds = 55.115565499999995

Released under the MIT License.

- +// pounds = 55.115565499999995

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/speeds.html b/docs/core/converters/speeds.html index ecdd1335..2903b1a3 100644 --- a/docs/core/converters/speeds.html +++ b/docs/core/converters/speeds.html @@ -5,59 +5,60 @@ Speeds | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Speeds

This page is about the Speeds class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Speeds class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

KnotsToKilometersPerHour(knots)

Definition

Converts knots to kilometers per hour.

Arguments

TypeNameMeaning
doubleknotsThe speed in knots.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Speeds

This page is about the Speeds class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Speeds class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

KnotsToKilometersPerHour(knots)

Definition

Converts knots to kilometers per hour.

Arguments

TypeNameMeaning
doubleknotsThe speed in knots.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInKnots = 20.0;
 double speedInKilometersPerHour = Speeds.KnotsToKilometersPerHour(speedInKnots);
-Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToKnots(kilometersPerHour)

Definition

Converts kilometers per hour to knots.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToKnots(kilometersPerHour)

Definition

Converts kilometers per hour to knots.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInKilometersPerHour = 40.0;
 double speedInKnots = Speeds.KilometersPerHourToKnots(speedInKilometersPerHour);
-Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInKnots} knots");

KnotsToMilesPerHour(knots)

Definition

Converts knots to miles per hour.

Arguments

TypeNameDescription
doubleknotsThe speed in knots.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInKnots} knots");

KnotsToMilesPerHour(knots)

Definition

Converts knots to miles per hour.

Arguments

TypeNameDescription
doubleknotsThe speed in knots.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInKnots = 20.0;
 double speedInMilesPerHour = Speeds.KnotsToMilesPerHour(speedInKnots);
-Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInMilesPerHour} mph");

MilesPerHourToKnots(milesPerHour)

Definition

Converts miles per hour to knots.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInKnots} knots is equivalent to {speedInMilesPerHour} mph");

MilesPerHourToKnots(milesPerHour)

Definition

Converts miles per hour to knots.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in knots.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInMilesPerHour = 60.0;
 double speedInKnots = Speeds.MilesPerHourToKnots(speedInMilesPerHour);
-Console.WriteLine($"{speedInMilesPerHour} miles/hour is equivalent to {speedInKnots} knots");

KilometersPerHourToMetersPerSecond(kilometersPerHour)

Definition

Converts kilometers per hour to meters per second.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in meters per second.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInMilesPerHour} miles/hour is equivalent to {speedInKnots} knots");

KilometersPerHourToMetersPerSecond(kilometersPerHour)

Definition

Converts kilometers per hour to meters per second.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in meters per second.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInKilometersPerHour = 100.0;
 double speedInMetersPerSecond = Speeds.KilometersPerHourToMetersPerSecond(speedInKilometersPerHour);
-Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMetersPerSecond} m/s");

MetersPerSecondToKilometersPerHour(metersPerSecond)

Definition

Converts meters per second to kilometers per hour.

Arguments

TypeNameMeaning
doublemetersPerSecondThe speed in meters per second.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMetersPerSecond} m/s");

MetersPerSecondToKilometersPerHour(metersPerSecond)

Definition

Converts meters per second to kilometers per hour.

Arguments

TypeNameMeaning
doublemetersPerSecondThe speed in meters per second.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInMetersPerSecond = 10.0;
 double speedInKilometersPerHour = Speeds.MetersPerSecondToKilometersPerHour(speedInMetersPerSecond);
-Console.WriteLine($"{speedInMetersPerSecond} m/s is equivalent to {speedInKilometersPerHour} km/h");

MilesPerHourToKilometersPerHour(milesPerHour)

Definition

Converts miles per hour to kilometers per hour.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInMetersPerSecond} m/s is equivalent to {speedInKilometersPerHour} km/h");

MilesPerHourToKilometersPerHour(milesPerHour)

Definition

Converts miles per hour to kilometers per hour.

Arguments

TypeNameDescription
doublemilesPerHourThe speed in miles per hour.

Returns

The equivalent speed in kilometers per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInMilesPerHour = 60.0;
 double speedInKilometersPerHour = Speeds.MilesPerHourToKilometersPerHour(speedInMilesPerHour);
-Console.WriteLine($"{speedInMilesPerHour} mph is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToMilesPerHour(kilometersPerHour)

Definition

Converts kilometers per hour to miles per hour.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInMilesPerHour} mph is equivalent to {speedInKilometersPerHour} km/h");

KilometersPerHourToMilesPerHour(kilometersPerHour)

Definition

Converts kilometers per hour to miles per hour.

Arguments

TypeNameDescription
doublekilometersPerHourThe speed in kilometers per hour.

Returns

The equivalent speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double speedInKilometersPerHour = 50.0;
 double speedInMilesPerHour = Speeds.KilometersPerHourToMilesPerHour(speedInKilometersPerHour);
-Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMilesPerHour} mph");

MachToKilometersPerHour(n)

Definition

Converts a speed in mach to a speed in kilometers per hour. Returns a double value.

Arguments

TypeNameMeaning
doublenThe speed in mach to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+Console.WriteLine($"{speedInKilometersPerHour} km/h is equivalent to {speedInMilesPerHour} mph");

MachToKilometersPerHour(n)

Definition

Converts a speed in mach to a speed in kilometers per hour. Returns a double value.

Arguments

TypeNameMeaning
doublenThe speed in mach to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double kmPerHour = Speeds.MachToKilometersPerHour(1);
-// kmPerHour = 1234.8

MachToMilesPerHour(mach)

Definition

Converts a speed in mach to miles per hour. Returns a double value.

Arguments

TypeNameMeaning
doublemachThe speed in mach.

Returns

A double representing the speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
+// kmPerHour = 1234.8

MachToMilesPerHour(mach)

Definition

Converts a speed in mach to miles per hour. Returns a double value.

Arguments

TypeNameMeaning
doublemachThe speed in mach.

Returns

A double representing the speed in miles per hour.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double mph = Speeds.MachToMilesPerHour(0.8);
-// mph = 613.8153184

Released under the MIT License.

- +// mph = 613.8153184

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/storage.html b/docs/core/converters/storage.html index 066a12f9..51536172 100644 --- a/docs/core/converters/storage.html +++ b/docs/core/converters/storage.html @@ -5,45 +5,46 @@ Storage | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Storage

This page is about the Storage class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Storage class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

ToByte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Storage

This page is about the Storage class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Storage class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

ToByte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double byte = Storage.ToByte(1, StorageUnits.Kilobyte);
-// byte = 1000

ToKilobyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// byte = 1000

ToKilobyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double kilobyte = Storage.ToKilobyte(2000, StorageUnits.Byte);
-// kilobyte = 2

ToMegabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// kilobyte = 2

ToMegabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double megabyte = Storage.ToMegabyte(1500, StorageUnits.Kilobyte);
-// megabyte = 1.5

ToGigabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// megabyte = 1.5

ToGigabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double gigabyte = Storage.ToGigabyte(1000, StorageUnits.Megabyte);
-// gigabyte = 1

ToTerabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// gigabyte = 1

ToTerabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double terabyte = Storage.ToTerabyte(1, StorageUnits.Petabyte);
-// terabyte = 1000

ToPetabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// terabyte = 1000

ToPetabyte(value, storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doublevalueThe value to convert.
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double petabyte = Storage.ToPetabyte(1000, StorageUnits.Terabyte);
-// petabyte = 1

BitsToBytes(n)

Definition

Converts a number of bits to a number of bytes. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bits to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+// petabyte = 1

BitsToBytes(n)

Definition

Converts a number of bits to a number of bytes. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bits to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double bytes = Storage.BitsToBytes(64);
-// bytes = 8

BytesToBits(n)

Definition

Converts a number of bytes to a number of bits. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bytes to convert to bits.

Usage

c#
using PeyrSharp.Core.Converters;
+// bytes = 8

BytesToBits(n)

Definition

Converts a number of bytes to a number of bits. Returns a double value.

Arguments

TypeNameMeaning
doublenThe number of bytes to convert to bits.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double bits = Storage.BytesToBits(1024);
-// bits = 8192

Released under the MIT License.

- +// bits = 8192

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/temperatures.html b/docs/core/converters/temperatures.html index abc178ca..2c31ce60 100644 --- a/docs/core/converters/temperatures.html +++ b/docs/core/converters/temperatures.html @@ -5,31 +5,32 @@ Temperatures | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Temperatures

This page is about the Temperatures class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Temperatures class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

CelsiusToFahrenheit(celsius)

Definition

Converts Celsius (°C) to Fahrenheit (°F). Returns a double value.

Arguments

TypeNameMeaning
doublecelsiusNumber of Celsius to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Temperatures

This page is about the Temperatures class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Temperatures class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

CelsiusToFahrenheit(celsius)

Definition

Converts Celsius (°C) to Fahrenheit (°F). Returns a double value.

Arguments

TypeNameMeaning
doublecelsiusNumber of Celsius to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double f = Temperatures.CelsiusToFahrenheit(22);
-// f = 71.6

FahrenheitToCelsius(fahrenheit)

Definition

Converts Fahrenheit (°F) to Celsius (°C). Returns a double value.

Arguments

TypeNameMeaning
doublefahrenheitNumber of Fahrenheit to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+// f = 71.6

FahrenheitToCelsius(fahrenheit)

Definition

Converts Fahrenheit (°F) to Celsius (°C). Returns a double value.

Arguments

TypeNameMeaning
doublefahrenheitNumber of Fahrenheit to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double c = Temperatures.FahrenheitToCelsius(75);
-// c = 23.88888888888889

CelsiusToKelvin(celsius)

Definition

Converts a temperature value from Celsius to Kelvin.

Arguments

TypeNameMeaning
doublecelsiusThe temperature value in Celsius to convert.

Returns

The temperature value in Kelvin.

Usage

c#
double celsius = 25.0;
-double kelvin = Temperature.CelsiusToKelvin(celsius);

FahrenheitToKelvin(fahrenheit)

Definition

Converts a temperature value from Fahrenheit to Kelvin.

Arguments

TypeNameMeaning
doublefahrenheitThe temperature value in Fahrenheit to convert.

Returns

The temperature value in Kelvin.

Usage

c#
double fahrenheit = 77.0;
-double kelvin = Temperature.FahrenheitToKelvin(fahrenheit);

KelvinToCelsius(kelvin)

Definition

Converts a temperature value from Kelvin to Celsius.

Arguments

TypeNameMeaning
doublekelvinThe temperature value in Kelvin to convert.

Returns

The temperature value in Celsius.

Usage

c#
double kelvin = 298.15;
-double celsius = Temperature.KelvinToCelsius(kelvin);

KelvinToFahrenheit(kelvin)

Definition

Converts a temperature value from Kelvin to Fahrenheit.

Arguments

TypeNameMeaning
doublekelvinThe temperature value in Kelvin to convert.

Returns

The temperature value in Fahrenheit.

Usage

c#
double kelvin = 298.15;
-double fahrenheit = Temperature.KelvinToFahrenheit(kelvin);

Released under the MIT License.

- +// c = 23.88888888888889

CelsiusToKelvin(celsius)

Definition

Converts a temperature value from Celsius to Kelvin.

Arguments

TypeNameMeaning
doublecelsiusThe temperature value in Celsius to convert.

Returns

The temperature value in Kelvin.

Usage

c#
double celsius = 25.0;
+double kelvin = Temperature.CelsiusToKelvin(celsius);

FahrenheitToKelvin(fahrenheit)

Definition

Converts a temperature value from Fahrenheit to Kelvin.

Arguments

TypeNameMeaning
doublefahrenheitThe temperature value in Fahrenheit to convert.

Returns

The temperature value in Kelvin.

Usage

c#
double fahrenheit = 77.0;
+double kelvin = Temperature.FahrenheitToKelvin(fahrenheit);

KelvinToCelsius(kelvin)

Definition

Converts a temperature value from Kelvin to Celsius.

Arguments

TypeNameMeaning
doublekelvinThe temperature value in Kelvin to convert.

Returns

The temperature value in Celsius.

Usage

c#
double kelvin = 298.15;
+double celsius = Temperature.KelvinToCelsius(kelvin);

KelvinToFahrenheit(kelvin)

Definition

Converts a temperature value from Kelvin to Fahrenheit.

Arguments

TypeNameMeaning
doublekelvinThe temperature value in Kelvin to convert.

Returns

The temperature value in Fahrenheit.

Usage

c#
double kelvin = 298.15;
+double fahrenheit = Temperature.KelvinToFahrenheit(kelvin);

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/time.html b/docs/core/converters/time.html index a5a524d3..d123de18 100644 --- a/docs/core/converters/time.html +++ b/docs/core/converters/time.html @@ -5,42 +5,43 @@ Time | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Time

This page is about the Time class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Time class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

ToSeconds(d, timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Time

This page is about the Time class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Time class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

ToSeconds(d, timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
 using PeyrSharp.Enums;
 
 double seconds = Time.ToSeconds(5, TimeUnits.Minutes);
-// seconds = 300

ToMinutes(d, timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+// seconds = 300

ToMinutes(d, timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
 using PeyrSharp.Enums;
 
 double min = Time.ToMinutes(120, TimeUnits.Seconds);
-// min = 2

ToHours(d, timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+// min = 2

ToHours(d, timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
 using PeyrSharp.Enums;
 
 double hours = Time.ToHours(1, TimeUnits.Days);
-// hours = 24

ToDays(d, timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
+// hours = 24

ToDays(d, timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Extensions.

Arguments

TypeNameMeaning
doubledThe time unit to convert.
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Core.Converters;
 using PeyrSharp.Enums;
 
 double days = Time.ToDays(72, TimeUnits.Hours);
-// days = 3

UnixTimeToDateTime(unixTime)

Available in version 1.1 and higher.

Definition

Converts Unix Time to DateTime. It returns a DateTime value.

Arguments

TypeNameMeaning
intunixTimeThe Unix Time to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+// days = 3

UnixTimeToDateTime(unixTime)

Available in version 1.1 and higher.

Definition

Converts Unix Time to DateTime. It returns a DateTime value.

Arguments

TypeNameMeaning
intunixTimeThe Unix Time to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
-var date = Time.UnixTimeToDateTime(1670144268); // 12/04/2022 08:57:48

DateTimeToUnixTime(dateTime)

Available in version 1.1 and higher.

Definition

Converts DateTime to Unix Time. It returns an int value.

Arguments

TypeNameMeaning
DateTimedateTimeThe converted DateTime in Unix Time.

Usage

c#
using PeyrSharp.Core.Converters;
+var date = Time.UnixTimeToDateTime(1670144268); // 12/04/2022 08:57:48

DateTimeToUnixTime(dateTime)

Available in version 1.1 and higher.

Definition

Converts DateTime to Unix Time. It returns an int value.

Arguments

TypeNameMeaning
DateTimedateTimeThe converted DateTime in Unix Time.

Usage

c#
using PeyrSharp.Core.Converters;
 
 int unix = Time.DateTimeToUnixTime(new(2022, 12, 4, 8, 57, 48, DateTimeKind.Utc));
-// unix = 1670144268

Released under the MIT License.

- +// unix = 1670144268

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/converters/volumes.html b/docs/core/converters/volumes.html index c989d55e..f8c11ca9 100644 --- a/docs/core/converters/volumes.html +++ b/docs/core/converters/volumes.html @@ -5,27 +5,28 @@ Volumes | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Volumes

This page is about the Volumes class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Volumes class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

M3ToLitre(m3)

Definition

Converts Cubic Meters (m³) to Litre (L). Returns a double value.

Arguments

TypeNameMeaning
doublem3Number of cubic meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+    
Skip to content

Volumes

This page is about the Volumes class available in PeyrSharp.Core.Converters. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Volumes class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

M3ToLitre(m3)

Definition

Converts Cubic Meters (m³) to Litre (L). Returns a double value.

Arguments

TypeNameMeaning
doublem3Number of cubic meters to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double litre = Volumes.M3ToLitre(10);
-// litre = 10000

LitreToM3(m3)

Definition

Converts Litre (L) to Cubic Meters (m³). Returns a double value.

Arguments

TypeNameMeaning
doublelitreNumber of litres to convert.

Usage

c#
using PeyrSharp.Core.Converters;
+// litre = 10000

LitreToM3(m3)

Definition

Converts Litre (L) to Cubic Meters (m³). Returns a double value.

Arguments

TypeNameMeaning
doublelitreNumber of litres to convert.

Usage

c#
using PeyrSharp.Core.Converters;
 
 double m3 = Volumes.LitreToM3(500);
-// m3 = 0.5

Released under the MIT License.

- +// m3 = 0.5

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/crypt.html b/docs/core/crypt.html index 79e1e803..dd989ca9 100644 --- a/docs/core/crypt.html +++ b/docs/core/crypt.html @@ -5,24 +5,25 @@ Crypt | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Crypt

This page is about the Crypt class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Crypt class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

EncryptAes(str, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+    
Skip to content

Crypt

This page is about the Crypt class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Crypt class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

EncryptAes(str, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
 
 string text = "Hello, world!";
 string encrypted = Crypt.EncryptAes(text, "password");
-// encrypted = 8U0HRr7pCIdbvBIquiJaLc00fyBjXDb9sLflk5anIi8=

EncryptRsa(str, rsaParameters)

Definitions

Encrypts a string using RSA encryption. Returns the encrypted content as an array of byte (byte[]).

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
RSAParametersrsaParametersThe RSA key.

Usage

c#
using PeyrSharp.Core;
+// encrypted = 8U0HRr7pCIdbvBIquiJaLc00fyBjXDb9sLflk5anIi8=

EncryptRsa(str, rsaParameters)

Definitions

Encrypts a string using RSA encryption. Returns the encrypted content as an array of byte (byte[]).

Arguments

TypeNameMeaning
stringstrThe text to encrypt.
RSAParametersrsaParametersThe RSA key.

Usage

c#
using PeyrSharp.Core;
 using System.Security.Cryptography;
 
 string text = "Hello, world!";
@@ -31,27 +32,27 @@
 RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
 
 // Encrypt using RSA
-string encrypted = Crypt.EncryptRsa(text, cryptoServiceProvider.ExportParameters(false));

Encrypt3Des(source, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringsourceThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+string encrypted = Crypt.EncryptRsa(text, cryptoServiceProvider.ExportParameters(false));

Encrypt3Des(source, key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringsourceThe text to encrypt.
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
 
 string text = "Hello, world!";
 string encrypted = Crypt.Encrypt3Des(text, "password");
-// encrypted = bxceEpCfRlbyYdPggAu+Cw==

DecryptAes(str, key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+// encrypted = bxceEpCfRlbyYdPggAu+Cw==

DecryptAes(str, key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringstrThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
 
 string encrypted = "6NvvTBntd2PdFxXzVbccLw==";
 string text = Crypt.DecryptAes(encrypted, "password");
-// text = Hello!

DecryptRsa(encrypted, rsaParameters)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
byte[]encryptedThe text to decrypt.
RSAParametersrsaParametersThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+// text = Hello!

DecryptRsa(encrypted, rsaParameters)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
byte[]encryptedThe text to decrypt.
RSAParametersrsaParametersThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
 using System.Security.Cryptography;
 
 RSACryptoServiceProvider cryptoServiceProvider = new RSACryptoServiceProvider();
 byte[] e = Crypt.EncryptRsa("Hello", cryptoServiceProvider.ExportParameters(false));
 
 string decrypted = Crypt.DecryptRsa(e, cryptoServiceProvider.ExportParameters(true));
-// decrypted = Hello

Decrypt3Des(str, key)

Definitions

Decrypts a string using 3-DES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringencryptThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+// decrypted = Hello

Decrypt3Des(str, key)

Definitions

Decrypts a string using 3-DES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringencryptThe text to decrypt.
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
 
 string encrypted = "AvuLd4LUxRU=";
 string text = Crypt.Decrypt3Des(encrypted, "123");
-// text = Hello

Released under the MIT License.

- +// text = Hello

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/guid-options.html b/docs/core/guid-options.html index ed477267..70ba1412 100644 --- a/docs/core/guid-options.html +++ b/docs/core/guid-options.html @@ -5,20 +5,21 @@ GuidOptions | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

GuidOptions

This page is about the GuidOptions class available in PeyrSharp.Core. You can find here all of its properties.

Compatibility

The GuidOptions class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

GuidOptions()

Definition

Initializes GuidOptions with default values for its properties.

Usage

c#
using PeyrSharp.Core;
+    
Skip to content

GuidOptions

This page is about the GuidOptions class available in PeyrSharp.Core. You can find here all of its properties.

Compatibility

The GuidOptions class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

GuidOptions()

Definition

Initializes GuidOptions with default values for its properties.

Usage

c#
using PeyrSharp.Core;
 
 var options = new GuidOptions();
 /*
@@ -27,7 +28,7 @@
         - Hyphens = true
         - Braces = false
         - UpperCaseOnly = false
-*/

GuidOptions(length, hyphens, braces, upperCaseOnly)

Definition

Initializes GuidOptions with specific values for its properties.

Usage

c#
using PeyrSharp.Core;
+*/

GuidOptions(length, hyphens, braces, upperCaseOnly)

Definition

Initializes GuidOptions with specific values for its properties.

Usage

c#
using PeyrSharp.Core;
 
 var options = new GuidOptions(32, true, true, true);
 /*
@@ -36,8 +37,8 @@
         - Hyphens = true
         - Braces = true
         - UpperCaseOnly = true
-*/

Properties

Length

Definition

c#
public int Length { get; set; }

The Length property is an int representing the length of the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Hyphens

Definition

c#
public bool Hyphens { get; set; }

The Hyphens property is a bool, which will determine if you want hyphens in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Braces

Definition

c#
public bool Braces { get; set; }

The Braces property is a bool, which will determine if you want braces in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

UpperCaseOnly

Definition

c#
public bool UpperCaseOnly { get; set; }

The UpperCaseOnly property is a bool, which will determine if you want to only have upper cases in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Released under the MIT License.

- +*/

Properties

Length

Definition

c#
public int Length { get; set; }

The Length property is an int representing the length of the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Hyphens

Definition

c#
public bool Hyphens { get; set; }

The Hyphens property is a bool, which will determine if you want hyphens in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Braces

Definition

c#
public bool Braces { get; set; }

The Braces property is a bool, which will determine if you want braces in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

UpperCaseOnly

Definition

c#
public bool UpperCaseOnly { get; set; }

The UpperCaseOnly property is a bool, which will determine if you want to only have upper cases in the Guid that will be generated if used with GuidGen.Generate().

INFO

This property can be initialized when using the GuidOptions(length, hyphens, braces, upperCaseOnly) constructor.

You can get and set this property after initializing the class.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/guid.html b/docs/core/guid.html index f3d2beed..29a06932 100644 --- a/docs/core/guid.html +++ b/docs/core/guid.html @@ -5,33 +5,34 @@ GuidGen | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

GuidGen

This page is about the GuidGen class available in PeyrSharp.Core. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The GuidGen class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Generate()

Definition

The Generate() method generates a Guid and will return it as a string.

INFO

This method has different overloads.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core;
+    
Skip to content

GuidGen

This page is about the GuidGen class available in PeyrSharp.Core. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The GuidGen class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Generate()

Definition

The Generate() method generates a Guid and will return it as a string.

INFO

This method has different overloads.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Core;
 
 string guid = GuidGen.Generate();
-// guid = 7992acdd-1c9a-4985-92df-04599d560bbc (example)

Generate(length)

Definition

The Generate() method generates a Guid with a specific length and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
intlengthThe length of the Guid.

WARNING

The length must be a number, otherwise, it will thrown a InvalidGuidLengthException.

Usage

c#
using PeyrSharp.Core;
+// guid = 7992acdd-1c9a-4985-92df-04599d560bbc (example)

Generate(length)

Definition

The Generate() method generates a Guid with a specific length and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
intlengthThe length of the Guid.

WARNING

The length must be a number, otherwise, it will thrown a InvalidGuidLengthException.

Usage

c#
using PeyrSharp.Core;
 
 string guid = GuidGen.Generate(15);
-// guid = 5693ad99881e4f9 (example)

Generate(fromString)

Definition

The Generate() method generates a Guid from a specific string and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
stringfromStringThe string which will be used to generate the Guid.

Usage

c#
using PeyrSharp.Core;
+// guid = 5693ad99881e4f9 (example)

Generate(fromString)

Definition

The Generate() method generates a Guid from a specific string and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
stringfromStringThe string which will be used to generate the Guid.

Usage

c#
using PeyrSharp.Core;
 
 string guid = GuidGen.Generate("Hello");
-// guid = 53991a8b-61c4-9612-a827-abf8c47804d7

Generate(guidOptions)

Definition

The Generate() method generates a Guid with specific GuidOptions and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
GuidOptionsguidOptionsThe options of the Guid to generate.

Usage

c#
using PeyrSharp.Core;
+// guid = 53991a8b-61c4-9612-a827-abf8c47804d7

Generate(guidOptions)

Definition

The Generate() method generates a Guid with specific GuidOptions and will return it as a string.

INFO

This method is an overload of Generate()

Arguments

This method has one argument:

TypeNameMeaning
GuidOptionsguidOptionsThe options of the Guid to generate.

Usage

c#
using PeyrSharp.Core;
 
 string guid = Guid.Generate(new GuidOptions(32, true, true, false));
-// guid = {35c3ab90-7636-4d34-a439-bc65eb3c} (example)

Released under the MIT License.

- +// guid = {35c3ab90-7636-4d34-a439-bc65eb3c} (example)

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/internet.html b/docs/core/internet.html index 3dacf851..01b3ce0a 100644 --- a/docs/core/internet.html +++ b/docs/core/internet.html @@ -5,44 +5,45 @@ Internet | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Internet

This page is about the Internet class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Internet class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

IsAvailableAsync()

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

This method has no arguments

Usage

c#
using PeyrSharp.Core;
+    
Skip to content

Internet

This page is about the Internet class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Internet class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

IsAvailableAsync()

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

This method has no arguments

Usage

c#
using PeyrSharp.Core;
 
 public static async void Main()
 {
     bool isConnected = await Internet.IsAvailableAsync();
-}

IsAvailableAsync(url)

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe page where to check if Internet is available.

Usage

c#
using PeyrSharp.Core;
+}

IsAvailableAsync(url)

Definition

Checks if a connection to the Internet is available. Returns a bool value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe page where to check if Internet is available.

Usage

c#
using PeyrSharp.Core;
 
 public static async void Main()
 {
     bool isConnected = await Internet.IsAvailableAsync("https://google.com");
-}

GetStatusCodeAsync(url)

Definition

Gets the status code of a specific page by making a request to it. Returns the status code as an int value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
+}

GetStatusCodeAsync(url)

Definition

Gets the status code of a specific page by making a request to it. Returns the status code as an int value.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
 
 public static async void Main()
 {
     int status = await Internet.GetStatusCodeAsync("https://google.com");
     // status should be 200 if everything is working
-}

GetStatusDescriptionAsync(url)

Definition

Gets the status description of a specific page by making a request to it. Returns the status description as a string.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
+}

GetStatusDescriptionAsync(url)

Definition

Gets the status description of a specific page by making a request to it. Returns the status description as a string.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlThe URL where to send the request.

Usage

c#
using PeyrSharp.Core;
 
 public static async void Main()
 {
     string status = await Internet.GetStatusDescriptionAsync("https://google.com");
     // status should be OK if everything is working
-}

GetStatusInfoAsync(url)

Definition

This method sends an HTTP GET request to a given URL and returns a Task of StatusInfo object that contains the status code, description, and type of the URL. The HTTP request method used is HttpClient.GetAsync().

Arguments

TypeNameMeaning
stringurlThe URL to get the status info from.

Returns

A Task of StatusInfo object containing the status code, description, and type of the URL.

Usage

c#
using PeyrSharp.Core;
+}

GetStatusInfoAsync(url)

Definition

This method sends an HTTP GET request to a given URL and returns a Task of StatusInfo object that contains the status code, description, and type of the URL. The HTTP request method used is HttpClient.GetAsync().

Arguments

TypeNameMeaning
stringurlThe URL to get the status info from.

Returns

A Task of StatusInfo object containing the status code, description, and type of the URL.

Usage

c#
using PeyrSharp.Core;
 
-StatusInfo statusInfo = await Internet.GetStatusInfoAsync("https://www.google.com");

GetStatusCodeType(statusCode)

Definition

Gets the type of the status code. Returns a StatusCodes value.

Arguments

TypeNameMeaning
intstatusCodeThe status code to analyze.

Usage

c#
using PeyrSharp.Core;
+StatusInfo statusInfo = await Internet.GetStatusInfoAsync("https://www.google.com");

GetStatusCodeType(statusCode)

Definition

Gets the type of the status code. Returns a StatusCodes value.

Arguments

TypeNameMeaning
intstatusCodeThe status code to analyze.

Usage

c#
using PeyrSharp.Core;
 using PeyrSharp.Enums;
 
 public static async void Main()
@@ -66,13 +67,13 @@
             Console.WriteLine("An server error status code has been returned.");
             break;
     }
-}

GetUrlProtocol(url)

Definition

Gets the protocol of a specified URL. Returns a string.

Arguments

TypeNameMeaning
stringurlThe URL where to parse.

WARNING

If you provide an invalid URL, the result might be wrong or be something unexpected. An IndexOutOfRangeException can also be thrown.

Usage

c#
using PeyrSharp.Core;
+}

GetUrlProtocol(url)

Definition

Gets the protocol of a specified URL. Returns a string.

Arguments

TypeNameMeaning
stringurlThe URL where to parse.

WARNING

If you provide an invalid URL, the result might be wrong or be something unexpected. An IndexOutOfRangeException can also be thrown.

Usage

c#
using PeyrSharp.Core;
 
 string protocol = Internet.GetUrlProtocol("https://leocorporation.dev");
-// protocol = https

IsUrlValid(url)

Definition

Checks if a URL is valid or not.. Returns a bool.

Arguments

TypeNameMeaning
stringurlThe URL where to check.

INFO

If you haven't specified the protocol in the URL (ex: "https://"), the "https://" string will automatically be appended to the original URL. To avoid this behavior, please specify a full URL to preserve the original protocol.

Usage

c#
using PeyrSharp.Core;
+// protocol = https

IsUrlValid(url)

Definition

Checks if a URL is valid or not.. Returns a bool.

Arguments

TypeNameMeaning
stringurlThe URL where to check.

INFO

If you haven't specified the protocol in the URL (ex: "https://"), the "https://" string will automatically be appended to the original URL. To avoid this behavior, please specify a full URL to preserve the original protocol.

Usage

c#
using PeyrSharp.Core;
 
 bool valid = Internet.GetUrlProtocol("a/test");
-// valid = false

Definition

Downloads a file from a specified link and saves it to a specified path.

Arguments

TypeNameMeaning
stringlinkThe URL of the file to download.
stringpathThe local path where the file should be saved.

Returns

Returns true if the file was downloaded and saved successfully, otherwise returns false.

Exceptions

TypeMeaning
System.ExceptionThrows an exception if an error occurs during the download or save process.

Usage

c#
using System;
+// valid = false

Definition

Downloads a file from a specified link and saves it to a specified path.

Arguments

TypeNameMeaning
stringlinkThe URL of the file to download.
stringpathThe local path where the file should be saved.

Returns

Returns true if the file was downloaded and saved successfully, otherwise returns false.

Exceptions

TypeMeaning
System.ExceptionThrows an exception if an error occurs during the download or save process.

Usage

c#
using System;
 using System.IO;
 using System.Net.Http;
 using System.Threading.Tasks;
@@ -87,8 +88,8 @@
 else
 {
     Console.WriteLine("Failed to download or save the file.");
-}

Released under the MIT License.

- +}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/json-helper.html b/docs/core/json-helper.html index 93d5baa6..582e03f0 100644 --- a/docs/core/json-helper.html +++ b/docs/core/json-helper.html @@ -5,20 +5,21 @@ JsonHelper | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

JsonHelper

This page is about the JsonHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The JsonHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

LoadFromJson<T>(fileName)

Definition

The LoadFromJson<T>() method loads an object from a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
stringfileNameThe name of the file to load from.

Returns

The object loaded from the file.

Usage

c#
using PeyrSharp.Core;
+    
Skip to content

JsonHelper

This page is about the JsonHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The JsonHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

LoadFromJson<T>(fileName)

Definition

The LoadFromJson<T>() method loads an object from a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
stringfileNameThe name of the file to load from.

Returns

The object loaded from the file.

Usage

c#
using PeyrSharp.Core;
 using System.IO;
 using System.Text.Json;
 
@@ -26,7 +27,7 @@
 Person person = JsonHelper.LoadFromJson<Person>("person.json");
 
 // Print the person's name and age
-Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");

SaveAsJson<T>(obj, fileName)

Definition

The SaveAsJson() method saves an object as a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
TobjThe object to save.
stringfileNameThe name of the file to save to.

Usage

c#
using PeyrSharp.Core;
+Console.WriteLine($"Name: {person.Name}, Age: {person.Age}");

SaveAsJson<T>(obj, fileName)

Definition

The SaveAsJson() method saves an object as a JSON file.

Type Parameters

TypeMeaning
TThe type of the object to save.

Arguments

TypeNameMeaning
TobjThe object to save.
stringfileNameThe name of the file to save to.

Usage

c#
using PeyrSharp.Core;
 using System.IO;
 using System.Text.Json;
 
@@ -43,8 +44,8 @@
 {
     public string Name { get; set; }
     public int Age { get; set; }
-}

Released under the MIT License.

- +}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths.html b/docs/core/maths.html index f2c10461..f70e9dd1 100644 --- a/docs/core/maths.html +++ b/docs/core/maths.html @@ -5,21 +5,22 @@ Maths | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Maths

This page is about the Maths namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Maths namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

Released under the MIT License.

- +
Skip to content

Maths

This page is about the Maths namespace available in PeyrSharp.Core. You can find here all of its classes.

Compatibility

The Maths namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/algebra.html b/docs/core/maths/algebra.html index 3572812b..1ccd5c1f 100644 --- a/docs/core/maths/algebra.html +++ b/docs/core/maths/algebra.html @@ -5,20 +5,21 @@ Algebra | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Algebra

This page is about the Algebra class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Algebra class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Sum(numbers) (double)

Definition

Returns the sum of specified double numbers. It returns a double value.

Arguments

TypeNameMeaning
params double[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
+    
Skip to content

Algebra

This page is about the Algebra class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Algebra class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Sum(numbers) (double)

Definition

Returns the sum of specified double numbers. It returns a double value.

Arguments

TypeNameMeaning
params double[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 // Usage 1
 double sum = Algebra.Sum(12, 1.5, 45, 2.2);
@@ -28,7 +29,7 @@
 double[] numbers = new double[] { 1, 2, 3 };
 
 double sum2 = Algebra.Sum(numbers);
-// sum = 6

Sum(numbers) (int)

Definition

Returns the sum of specified int numbers. It returns a int value.

Arguments

TypeNameMeaning
params int[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
+// sum = 6

Sum(numbers) (int)

Definition

Returns the sum of specified int numbers. It returns a int value.

Arguments

TypeNameMeaning
params int[]numbersThe numbers to do the sum of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 // Usage 1
 int sum = Algebra.Sum(12, 15, 45, 2);
@@ -38,26 +39,26 @@
 int[] numbers = new int[] { 1, 2, 3 };
 
 int sum2 = Algebra.Sum(numbers);
-// sum = 6

IsInt(number)

Definition

Returns true if a specified double is an integer. It returns a bool value.

Arguments

TypeNameMeaning
doublenumberThe number to check.

Usage

c#
using PeyrSharp.Core.Maths;
+// sum = 6

IsInt(number)

Definition

Returns true if a specified double is an integer. It returns a bool value.

Arguments

TypeNameMeaning
doublenumberThe number to check.

Usage

c#
using PeyrSharp.Core.Maths;
 
 bool isInt = Algebra.IsInt(12.0);
-// isInt = true

GetOpposite(number)

Definition

Gets the opposite of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the opposite of.

Usage

c#
using PeyrSharp.Core.Maths;
+// isInt = true

GetOpposite(number)

Definition

Gets the opposite of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the opposite of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 double opposite = Algebra.Opposite(7);
-// opposite = -7

Factorial(number)

Definition

Gets the factorial of an int number. It returns an int.

Arguments

TypeNameMeaning
intnumberThe number to get the factorial of.

Usage

c#
using PeyrSharp.Core.Maths;
+// opposite = -7

Factorial(number)

Definition

Gets the factorial of an int number. It returns an int.

Arguments

TypeNameMeaning
intnumberThe number to get the factorial of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 int factorial = Algebra.Factorial(5);
-// factorial = 120

PositiveOf(number)

Definition

Gets the positive of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the positive of.

Usage

c#
using PeyrSharp.Core.Maths;
+// factorial = 120

PositiveOf(number)

Definition

Gets the positive of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the positive of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 double pos = Algebra.PositiveOf(-7);
-// pos = 7

NegativeOf(number)

Definition

Gets the negative of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the negative of.

Usage

c#
using PeyrSharp.Core.Maths;
+// pos = 7

NegativeOf(number)

Definition

Gets the negative of a double number. It returns a double value.

Arguments

TypeNameMeaning
doublenumberThe number to get the negative of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 double negative = Algebra.NegativeOf(7);
-// negative = -7

GetResultsOf(function, numbers)

Definition

Gets the results of a function applied to specific double numbers. It returns an array of double[].

Arguments

TypeNameMeaning
Func<double, double>functionThe function to apply to all numbers. It must return a double and take a double as an argument.
params double[]numbersThe numbers to get the results of.

Usage

c#
using PeyrSharp.Core.Maths;
+// negative = -7

GetResultsOf(function, numbers)

Definition

Gets the results of a function applied to specific double numbers. It returns an array of double[].

Arguments

TypeNameMeaning
Func<double, double>functionThe function to apply to all numbers. It must return a double and take a double as an argument.
params double[]numbersThe numbers to get the results of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 double res = Algebra.GetResultsOf(x => x * x, 1, 2, 3, 4);
-// res = double[] { 1, 4, 9, 16 }

Released under the MIT License.

- +// res = double[] { 1, 4, 9, 16 }

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry.html b/docs/core/maths/geometry.html index 5f1c0c00..392457b8 100644 --- a/docs/core/maths/geometry.html +++ b/docs/core/maths/geometry.html @@ -5,21 +5,22 @@ Geometry | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Geometry

This page is about the Geometry namespace available in PeyrSharp.Core.Maths. This namespace includes several classes to get and calculates various aspects of different shapes, like the area, perimeter, volume and more.

Compatibility

The namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

Released under the MIT License.

- +
Skip to content

Geometry

This page is about the Geometry namespace available in PeyrSharp.Core.Maths. This namespace includes several classes to get and calculates various aspects of different shapes, like the area, perimeter, volume and more.

Compatibility

The namespace is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/circle.html b/docs/core/maths/geometry/circle.html index 3ec17bb8..24100051 100644 --- a/docs/core/maths/geometry/circle.html +++ b/docs/core/maths/geometry/circle.html @@ -5,33 +5,34 @@ Circle | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Circle

This page is about the Circle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Circle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Circle(radius)

Definition

Initializes a Circle class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the circle.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Circle

This page is about the Circle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Circle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Circle(radius)

Definition

Initializes a Circle class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the circle.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Circle circle = new(10); // Creates a circle with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Circle circle = new(10); // Creates a circle with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Circle circle = new(10);
 
 var area = circle.Area;
-// area = 314.1592653589793

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// area = 314.1592653589793

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the circle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Circle circle = new(10);
 
 var perimeter = circle.Perimeter;
-// perimeter = 62.83185307179586

Released under the MIT License.

- +// perimeter = 62.83185307179586

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/cone.html b/docs/core/maths/geometry/cone.html index ccc8ec3d..f17629ea 100644 --- a/docs/core/maths/geometry/cone.html +++ b/docs/core/maths/geometry/cone.html @@ -5,38 +5,39 @@ Cone | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Cone

This page is about the Cone class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cone class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cone(radius, height)

Definition

Initializes a Cone class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cone.
doubleheightThe height of the cone.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Cone

This page is about the Cone class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cone class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cone(radius, height)

Definition

Initializes a Cone class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cone.
doubleheightThe height of the cone.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Cone cone = new(10, 20); // Creates a cone with a radius of 10, and a height of 20

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cone. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cone cone = new(10, 20); // Creates a cone with a radius of 10, and a height of 20

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cone. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cone cone = new(10, 20);
 
 var volume = cone.Volume;
-// volume = 2094.3951023931954

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// volume = 2094.3951023931954

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cone cone = new(15, 20);
 
 var radius = cone.Radius;
-// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cone, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Circle cone = new(10, 40);
 
 var height = cone.Height;
-// height = 40

Released under the MIT License.

- +// height = 40

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/cube.html b/docs/core/maths/geometry/cube.html index 305eff41..933a392a 100644 --- a/docs/core/maths/geometry/cube.html +++ b/docs/core/maths/geometry/cube.html @@ -5,60 +5,61 @@ Cube | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Cube

This page is about the Cube class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cube class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cube(side)

Definition

Initializes a Cube class from the length of the side of the cube.

Arguments

TypeNameMeaning
doublesideThe length of the side of the cube.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Cube

This page is about the Cube class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cube class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cube(side)

Definition

Initializes a Cube class from the length of the side of the cube.

Arguments

TypeNameMeaning
doublesideThe length of the side of the cube.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Cube cube = new(10); // Creates a 10x10x10 cube

Cube(width, length, height)

Definition

Initializes a Cube class from the width, the length and the height of the cuboidal.

Arguments

TypeNameMeaning
doublewidthThe width of the cuboidal.
doublelengthThe length of the cuboidal.
doubleheightThe height of the cuboidal.

WARNING

If width, length or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cube cube = new(10); // Creates a 10x10x10 cube

Cube(width, length, height)

Definition

Initializes a Cube class from the width, the length and the height of the cuboidal.

Arguments

TypeNameMeaning
doublewidthThe width of the cuboidal.
doublelengthThe length of the cuboidal.
doubleheightThe height of the cuboidal.

WARNING

If width, length or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Cube cube = new(10, 20, 10); // Creates a 10x20x10 cuboidal

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cube cube = new(10, 20, 10); // Creates a 10x20x10 cuboidal

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cube cube = new(10);
 
 var area = cube.Area;
-// area = 100

Edge

Definition

c#
public double Edge { get; }

The Edge property is a double which returns the edge of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// area = 100

Edge

Definition

c#
public double Edge { get; }

The Edge property is a double which returns the edge of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cube cube = new(10);
 
 var edge = cube.Edge;
-// edge = 7.0710678118654755

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// edge = 7.0710678118654755

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cube cube = new(10);
 
 var length = cube.Length;
-// length = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// length = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cube cube = new(10);
 
 var height = cube.Height;
-// height = 10

Side

Definition

c#
public double? Side { get; init; }

The Side property is a double? which returns the length of the side of the cube. You can only get this property.

WARNING

This property can be null if not initialized with Cube(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// height = 10

Side

Definition

c#
public double? Side { get; init; }

The Side property is a double? which returns the length of the side of the cube. You can only get this property.

WARNING

This property can be null if not initialized with Cube(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cube cube = new(10);
 
 var side = cube.Side ?? 0;
-// side = 10

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// side = 10

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cube cube = new(10);
 
 var volume = cube.Volume; // 10^3
-// volume = 1000

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// volume = 1000

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the cube. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cube cube = new(10);
 
 var width = cube.Width;
-// width = 10

Released under the MIT License.

- +// width = 10

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/cylinder.html b/docs/core/maths/geometry/cylinder.html index 586489fd..f5eb8836 100644 --- a/docs/core/maths/geometry/cylinder.html +++ b/docs/core/maths/geometry/cylinder.html @@ -5,43 +5,44 @@ Cylinder | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Cylinder

This page is about the Cylinder class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cylinder class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cylinder(radius, height)

Definition

Initializes a Cylinder class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cylinder.
doubleheightThe height of the cylinder.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Cylinder

This page is about the Cylinder class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Cylinder class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Cylinder(radius, height)

Definition

Initializes a Cylinder class from a specific radius and height.

Arguments

TypeNameMeaning
doubleradiusThe radius of the cylinder.
doubleheightThe height of the cylinder.

WARNING

If radius or height ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Cylinder cylinder = new(20, 10); // Creates a cylinder with a radius of 20, and a height of 10

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Cylinder cylinder = new(20, 10); // Creates a cylinder with a radius of 20, and a height of 10

Properties

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cylinder cylinder = new(10, 20);
 
 var volume = cylinder.Volume;
-// volume = 6283.185307179587

BaseArea

Definition

c#
public double BaseArea { get; }

The BaseArea property is a double which returns the area of the circle, which is the base of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// volume = 6283.185307179587

BaseArea

Definition

c#
public double BaseArea { get; }

The BaseArea property is a double which returns the area of the circle, which is the base of the cylinder. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cylinder cylinder = new(10, 20);
 
 var baseArea = cylinder.BaseArea;
-// baseArea = 314.1592653589793

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// baseArea = 314.1592653589793

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cylinder cylinder = new(15, 20);
 
 var radius = cylinder.Radius;
-// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// radius = 15

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the cylinder, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Cylinder cylinder = new(10, 40);
 
 var height = cylinder.Height;
-// height = 40

Released under the MIT License.

- +// height = 40

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/diamond.html b/docs/core/maths/geometry/diamond.html index 0a2093ec..91ca95d1 100644 --- a/docs/core/maths/geometry/diamond.html +++ b/docs/core/maths/geometry/diamond.html @@ -5,46 +5,47 @@ Diamond | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Diamond

This page is about the Diamond class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Diamond class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Diamond(side)

Definition

Initializes a Diamond class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Diamond

This page is about the Diamond class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Diamond class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Diamond(side)

Definition

Initializes a Diamond class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Diamond diamond = new(5); // Creates a diamond where all the sides equals to 5.

Diamond(diagonal1, diagonal2)

Definition

Initializes a Diamond class from the length of its diagonals.

Arguments

TypeNameMeaning
doublediagonal1The length of the first diagonal.
doublediagonal2The side of the second diagonal.

WARNING

If diagonal1 or diagonal2 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Diamond diamond = new(5); // Creates a diamond where all the sides equals to 5.

Diamond(diagonal1, diagonal2)

Definition

Initializes a Diamond class from the length of its diagonals.

Arguments

TypeNameMeaning
doublediagonal1The length of the first diagonal.
doublediagonal2The side of the second diagonal.

WARNING

If diagonal1 or diagonal2 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 // Creates a diamond where the first diagonal is equal to 5, and the second one is equal to 10.
-Diamond diamond = new(5, 10);

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(diagonal1, diagonal2).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Diamond diamond = new(5, 10);

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(diagonal1, diagonal2).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Diamond diamond = new(5, 10);
 
 var area = diamond.Area;
-// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the diamond. You can only get this property.

WARNING

This property can be null or can return 0 if not initialized with Diamond(side).

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Diamond diamond = new(10);
 
 var perimeter = diamond.Perimeter;
-// perimeter = 40

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of sides of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// perimeter = 40

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of sides of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Diamond diamond = new(10);
 
 var side = diamond.Side;
-// side = 10

Diagonals

Definition

c#
public double[] Diagonals { get; init; }

The Side property is a double[] array which returns the diagonals of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// side = 10

Diagonals

Definition

c#
public double[] Diagonals { get; init; }

The Side property is a double[] array which returns the diagonals of the diamond, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Diamond diamond = new(10, 14);
 
 var side = diamond.Diagonals;
-// side = { 10, 14 }

Released under the MIT License.

- +// side = { 10, 14 }

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/hexagon.html b/docs/core/maths/geometry/hexagon.html index 27287abc..45e7277a 100644 --- a/docs/core/maths/geometry/hexagon.html +++ b/docs/core/maths/geometry/hexagon.html @@ -5,37 +5,38 @@ Hexagon | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Hexagon

This page is about the Hexagon class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Hexagon class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Hexagon(side)

Definition

Initializes a Hexagon class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side of the hexagon.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Hexagon

This page is about the Hexagon class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Hexagon class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Hexagon(side)

Definition

Initializes a Hexagon class from the length of its side.

Arguments

TypeNameMeaning
doublesideThe length of the side of the hexagon.

WARNING

If side ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Hexagon hexagon = new(12); // Creates a hexagon with a length of 12

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Hexagon hexagon = new(12); // Creates a hexagon with a length of 12

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Hexagon hexagon = new(12);
 
 var area = hexagon.Area;
-// area = 374.1229744348775

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// area = 374.1229744348775

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the hexagon. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Hexagon hexagon = new(12);
 
 var perimeter = hexagon.Perimeter;
-// perimeter = 72

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of the side of the hexagon. You can only get this property

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// perimeter = 72

Side

Definition

c#
public double Side { get; init; }

The Side property is a double which returns the length of the side of the hexagon. You can only get this property

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Hexagon hexagon = new(10);
 
-var side = hexagon.Side; // side = 10

Released under the MIT License.

- +var side = hexagon.Side; // side = 10

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/pyramid.html b/docs/core/maths/geometry/pyramid.html index 3497427a..efeab4df 100644 --- a/docs/core/maths/geometry/pyramid.html +++ b/docs/core/maths/geometry/pyramid.html @@ -5,64 +5,65 @@ Pyramid | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Pyramid

This page is about the Pyramid class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors, methods and properties.

Compatibility

The Pyramid class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Pyramid(width, length, height)

Definition

Initializes a Pyramid class from a specific width, length, and height.

Arguments

TypeNameMeaning
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Pyramid

This page is about the Pyramid class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors, methods and properties.

Compatibility

The Pyramid class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Pyramid(width, length, height)

Definition

Initializes a Pyramid class from a specific width, length, and height.

Arguments

TypeNameMeaning
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = new(12, 10, 15); // Creates a pyramid with a width of 12, a length of 10, and a height of 15

Methods

FromVolumeAndSize(volume, width, length)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doublevolumeThe volume of the pyramid.
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = new(12, 10, 15); // Creates a pyramid with a width of 12, a length of 10, and a height of 15

Methods

FromVolumeAndSize(volume, width, length)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doublevolumeThe volume of the pyramid.
doublewidthThe width of the pyramid.
doublelengthThe length of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

FromAreaAndLength(area, length, height)

Definition

Initializes a Pyramid class from a specific area, length, and height.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

FromAreaAndLength(area, length, height)

Definition

Initializes a Pyramid class from a specific area, length, and height.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublelengthThe length of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = Pyramid.FromAreaAndLength(100, 10, 15);

FromAreaAndWidth(area, width, height)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublewidthThe width of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = Pyramid.FromAreaAndLength(100, 10, 15);

FromAreaAndWidth(area, width, height)

Definition

Initializes a Pyramid class from a specific volume, width, and length.

Arguments

TypeNameMeaning
doubleareaThe area of the pyramid.
doublewidthThe width of the pyramid.
doubleheightThe height of the pyramid.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

Properties

AreaBase

Definition

c#
public double AreaBase { get; }

The AreaBase property is a double which returns the area of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Pyramid pyramid = Pyramid.FromVolumeAndSize(100, 10, 10);

Properties

AreaBase

Definition

c#
public double AreaBase { get; }

The AreaBase property is a double which returns the area of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(12, 10, 15);
 
 var area = pyramid.AreaBase;
-// area = 120

Volume

Definition

c#
public double AreaBase { get; }

The Volume property is a double which returns the volume of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// area = 120

Volume

Definition

c#
public double AreaBase { get; }

The Volume property is a double which returns the volume of the pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(12, 10, 15);
 
 var volume = pyramid.Volume;
-// volume = 600

LengthBase

Definition

c#
public double LengthBase { get; }

The LengthBase property is a double which returns the length of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// volume = 600

LengthBase

Definition

c#
public double LengthBase { get; }

The LengthBase property is a double which returns the length of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(12, 10, 15);
 
 var length = pyramid.LengthBase;
-// length = 10

WidthBase

Definition

c#
public double WidthBase { get; }

The WidthBase property is a double which returns the width of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// length = 10

WidthBase

Definition

c#
public double WidthBase { get; }

The WidthBase property is a double which returns the width of the base of pyramid. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(12, 10, 15);
 
 var width = pyramid.WidthBase;
-// width = 12

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// width = 12

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(10, 20, 30);
 
 var width = pyramid.Width;
-// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(10, 20, 30);
 
 var length = pyramid.Length;
-// length = 20

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// length = 20

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the pyramid, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Pyramid pyramid = new(10, 20, 30);
 
 var height = pyramid.Height;
-// height = 30

Released under the MIT License.

- +// height = 30

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/rectangle.html b/docs/core/maths/geometry/rectangle.html index d1d1aac7..4572a76a 100644 --- a/docs/core/maths/geometry/rectangle.html +++ b/docs/core/maths/geometry/rectangle.html @@ -5,48 +5,49 @@ Rectangle | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Rectangle

This page is about the Rectangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Rectangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Rectangle(width, length)

Definition

Initializes a Rectangle class from a specific length and width.

Arguments

TypeNameMeaning
doublewidthThe width of the rectangle.
doublelengthThe length of the rectangle.

WARNING

If width or length ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Rectangle

This page is about the Rectangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Rectangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Rectangle(width, length)

Definition

Initializes a Rectangle class from a specific length and width.

Arguments

TypeNameMeaning
doublewidthThe width of the rectangle.
doublelengthThe length of the rectangle.

WARNING

If width or length ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Rectangle rectangle = new(10, 20); // Creates a 10x20 rectangle

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Rectangle rectangle = new(10, 20); // Creates a 10x20 rectangle

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Rectangle rectangle = new(10, 15);
 
 var area = rectangle.Area;
-// area = 150

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// area = 150

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Rectangle rectangle = new(10, 15);
 
 var perimeter = rectangle.Perimeter;
-// perimeter = 50

Diagonal

Definition

c#
public double Diagonal { get; }

The Diagonal property is a double which returns the length of the diagonal of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// perimeter = 50

Diagonal

Definition

c#
public double Diagonal { get; }

The Diagonal property is a double which returns the length of the diagonal of the rectangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Rectangle rectangle = new(10, 15);
 
 var diagonal = rectangle.Diagonal;
-// diagonal = 18.027756377319946

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// diagonal = 18.027756377319946

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Rectangle rectangle = new(10, 20);
 
 var width = rectangle.Width;
-// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// width = 10

Length

Definition

c#
public double Length { get; init; }

The Length property is a double which returns the length of the rectangle, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Rectangle rectangle = new(10, 20);
 
 var length = rectangle.Length;
-// length = 20

Released under the MIT License.

- +// length = 20

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/sphere.html b/docs/core/maths/geometry/sphere.html index 2960f6a3..2ceae82c 100644 --- a/docs/core/maths/geometry/sphere.html +++ b/docs/core/maths/geometry/sphere.html @@ -5,38 +5,39 @@ Sphere | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Sphere

This page is about the Sphere class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Sphere class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Sphere(radius)

Definition

Initializes a Sphere class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the sphere.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Sphere

This page is about the Sphere class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Sphere class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Sphere(radius)

Definition

Initializes a Sphere class from a specific radius.

Arguments

TypeNameMeaning
doubleradiusThe radius of the sphere.

WARNING

If radius ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Sphere sphere = new(10); // Creates a sphere with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Sphere sphere = new(10); // Creates a sphere with a radius of 10

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Sphere sphere = new(10);
 
 var area = sphere.Area;
-// area = 1256.6370614359173

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// area = 1256.6370614359173

Volume

Definition

c#
public double Volume { get; }

The Volume property is a double which returns the volume of the sphere. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Sphere sphere = new(10);
 
 var volume = sphere.Volume;
-// volume = 2356.194490192345

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the sphere, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// volume = 2356.194490192345

Radius

Definition

c#
public double Radius { get; init; }

The Radius property is a double which returns the radius of the sphere, which was defined when initializing it. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Sphere sphere = new(10);
 
 var radius = sphere.Radius;
-// radius = 10

Released under the MIT License.

- +// radius = 10

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/geometry/triangle.html b/docs/core/maths/geometry/triangle.html index 82665e9f..17924fb8 100644 --- a/docs/core/maths/geometry/triangle.html +++ b/docs/core/maths/geometry/triangle.html @@ -5,76 +5,77 @@ Triangle | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Triangle

This page is about the Triangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Triangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Triangle(side1, side2, side3)

Definition

Initializes a Triangle class from the length of its sides.

Arguments

TypeNameMeaning
doubleside1The length of the first side of the triangle.
doubleside2The length of the second side of the triangle.
doubleside3The length of the third side of the triangle.

WARNING

If side1, side2, or side3 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+    
Skip to content

Triangle

This page is about the Triangle class available in PeyrSharp.Core.Maths.Geometry. You can find here all of its constructors and properties.

Compatibility

The Triangle class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Constructors

Triangle(side1, side2, side3)

Definition

Initializes a Triangle class from the length of its sides.

Arguments

TypeNameMeaning
doubleside1The length of the first side of the triangle.
doubleside2The length of the second side of the triangle.
doubleside3The length of the third side of the triangle.

WARNING

If side1, side2, or side3 ≤ 0, a DivideByZeroException will be thrown.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 20, 10); // Creates a triangle

Triangle(width, height)

Definition

Initializes a Triangle class from a width and height.

Arguments

TypeNameMeaning
doublewidthThe width of the triangle.
doubleheightThe height of the triangle.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Triangle triangle = new(10, 20, 10); // Creates a triangle

Triangle(width, height)

Definition

Initializes a Triangle class from a width and height.

Arguments

TypeNameMeaning
doublewidthThe width of the triangle.
doubleheightThe height of the triangle.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
-Triangle triangle = new(10, 20); // Creates a triangle with a width of 10 and a height of 20

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+Triangle triangle = new(10, 20); // Creates a triangle with a width of 10 and a height of 20

Properties

Area

Definition

c#
public double Area { get; }

The Area property is a double which returns the area of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 20);
 
 var area = triangle.Area;
-// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// area = 100

Perimeter

Definition

c#
public double Perimeter { get; }

The Perimeter property is a double which returns the perimeter of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 10, 20);
 
 var perimeter = triangle.Perimeter;
-// perimeter = 40

Hypotenuse

Definition

c#
public double Hypotenuse { get; }

The Hypotenuse property is a double which returns the hypotenuse of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// perimeter = 40

Hypotenuse

Definition

c#
public double Hypotenuse { get; }

The Hypotenuse property is a double which returns the hypotenuse of the triangle. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 // Assuming the triangle is right
 Triangle triangle = new(3, 4, 5);
 
 var hypotenuse = triangle.Hypotenuse;
-// hypotenuse = 5

IsRight

Definition

c#
public bool IsRight { get; }

The IsRight property is a bool which returns true if the triangle is right. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// hypotenuse = 5

IsRight

Definition

c#
public bool IsRight { get; }

The IsRight property is a bool which returns true if the triangle is right. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(3, 4, 5);
 
 var right = triangle.IsRight;
-// right = true

CanBeBuilt

Definition

c#
public bool CanBeBuilt { get; }

The CanBeBuilt property is a bool which returns true if the triangle can be built. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// right = true

CanBeBuilt

Definition

c#
public bool CanBeBuilt { get; }

The CanBeBuilt property is a bool which returns true if the triangle can be built. You can only get this property.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(3, 4, 10);
 
 var canBeBuilt = triangle.CanBeBuilt;
-// canBeBuilt = false

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// canBeBuilt = false

Width

Definition

c#
public double Width { get; init; }

The Width property is a double which returns the width of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 20);
 
 var width = triangle.Width;
-// width = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// width = 10

Height

Definition

c#
public double Height { get; init; }

The Height property is a double which returns the height of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(width, height) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 20);
 
 var height = triangle.Height;
-// height = 20

Side1

Definition

c#
public double Side1 { get; init; }

The Side1 property is a double which returns the length of the first side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// height = 20

Side1

Definition

c#
public double Side1 { get; init; }

The Side1 property is a double which returns the length of the first side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 20, 15);
 
 var side1 = triangle.Side1;
-// side1 = 10

Side2

Definition

c#
public double Side2 { get; init; }

The Side2 property is a double which returns the length of the second side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// side1 = 10

Side2

Definition

c#
public double Side2 { get; init; }

The Side2 property is a double which returns the length of the second side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 20, 15);
 
 var side2 = triangle.Side2;
-// side2 = 20

Side3

Definition

c#
public double Side3 { get; init; }

The Side3 property is a double which returns the length of the third side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
+// side2 = 20

Side3

Definition

c#
public double Side3 { get; init; }

The Side3 property is a double which returns the length of the third side of the triangle, which was defined when initializing it. You can only get this property.

WARNING

This property can be equal to double.NaN if the class was not initialized with the Triangle(side1, side2, side3) constructor.

Usage

c#
using PeyrSharp.Core.Maths.Geometry;
 
 Triangle triangle = new(10, 20, 15);
 
 var side3 = triangle.Side3;
-// side3 = 15

Released under the MIT License.

- +// side3 = 15

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/percentages.html b/docs/core/maths/percentages.html index c600a148..db1ebcd2 100644 --- a/docs/core/maths/percentages.html +++ b/docs/core/maths/percentages.html @@ -5,33 +5,34 @@ Percentages | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Percentages

This page is about the Percentages class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Percentages class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

IncreaseBy(value, increaseRate)

Definition

Returns the value after an increase of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubleincreaseRateThe increase percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
+    
Skip to content

Percentages

This page is about the Percentages class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Percentages class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

IncreaseBy(value, increaseRate)

Definition

Returns the value after an increase of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubleincreaseRateThe increase percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
 
 double price = Percentages.IncreaseBy(100, 10/100d); // Increase the price by 10%
-// price = 110

DecreaseBy(value, decreaseRate)

Definition

Returns the value after a decrease of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubledecreaseRateThe decrease percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
+// price = 110

DecreaseBy(value, decreaseRate)

Definition

Returns the value after a decrease of x% as a double.

Arguments

TypeNameMeaning
doublevalueThe original value.
doubledecreaseRateThe decrease percentage (as x/100d).

Usage

c#
using PeyrSharp.Core.Maths;
 
 double price = Percentages.DecreaseBy(100, 10/100d); // Decrease the price by 10%
-// price = 90

GetInvertedEvolutionRate(evolutionRate)

Definition

Gets the coefficient to get back to the original value after a percentage increase/decrease. It returns a double.

Arguments

TypeNameMeaning
doubleevolutionRateThe evolution rate to get the inverse of.

Usage

c#
using PeyrSharp.Core.Maths;
+// price = 90

GetInvertedEvolutionRate(evolutionRate)

Definition

Gets the coefficient to get back to the original value after a percentage increase/decrease. It returns a double.

Arguments

TypeNameMeaning
doubleevolutionRateThe evolution rate to get the inverse of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 double ev = Percentages.GetInvertedEvolutionRate(1.1);
-// ev = -0.09090909090909094

ProportionToPercentageString(proportion)

Definition

Formats a proportion to a string.

Arguments

TypeNameMeaning
doubleproportionThe proportion to get the percentage of.

Usage

c#
using PeyrSharp.Core.Maths;
+// ev = -0.09090909090909094

ProportionToPercentageString(proportion)

Definition

Formats a proportion to a string.

Arguments

TypeNameMeaning
doubleproportionThe proportion to get the percentage of.

Usage

c#
using PeyrSharp.Core.Maths;
 
 double proportion = Percentages.ProportionToPercentageString(0.5);
-// proportion = 50%

Released under the MIT License.

- +// proportion = 50%

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/proba.html b/docs/core/maths/proba.html index 44dec953..d51e15fb 100644 --- a/docs/core/maths/proba.html +++ b/docs/core/maths/proba.html @@ -5,20 +5,21 @@ Proba | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Proba

This page is about the Proba class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Proba class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GetRandomValue(probabilities)

Definition

Gets a random value based on the specified probabilities. Returns a randomly selected value.

Type parameters

TypeNameMeaning
T-The type of the values to select from.

Parameters

TypeNameMeaning
Dictionary<T, double>probabilitiesA dictionary containing the probability of getting each value.

Exceptions

  • ArgumentException: Thrown if the sum of probabilities is not equal to 1.
  • Exception: Thrown if an unexpected error occurs while selecting a random value.

Usage

c#
using PeyrSharp.Core.Maths;
+    
Skip to content

Proba

This page is about the Proba class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Proba class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GetRandomValue(probabilities)

Definition

Gets a random value based on the specified probabilities. Returns a randomly selected value.

Type parameters

TypeNameMeaning
T-The type of the values to select from.

Parameters

TypeNameMeaning
Dictionary<T, double>probabilitiesA dictionary containing the probability of getting each value.

Exceptions

  • ArgumentException: Thrown if the sum of probabilities is not equal to 1.
  • Exception: Thrown if an unexpected error occurs while selecting a random value.

Usage

c#
using PeyrSharp.Core.Maths;
 
 Dictionary<string, double> probabilities = new Dictionary<string, double>
 {
@@ -26,8 +27,8 @@
     { "Tails", 0.5 }
 };
 
-string result = Proba.GetRandomValue(probabilities);

Released under the MIT License.

- +string result = Proba.GetRandomValue(probabilities);

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/stats.html b/docs/core/maths/stats.html index 8a59dd30..c9e9a8d8 100644 --- a/docs/core/maths/stats.html +++ b/docs/core/maths/stats.html @@ -5,45 +5,46 @@ Stats | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Stats

This page is about the Stats class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Stats class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Mean(values)

Definition

Returns the mean of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+    
Skip to content

Stats

This page is about the Stats class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Stats class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

Mean(values)

Definition

Returns the mean of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
 List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
 double mean = Stats.Mean(dataset); // Calculate the mean of the dataset
-// mean = 3

Median(values)

Definition

Returns the median of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+// mean = 3

Median(values)

Definition

Returns the median of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
 List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
 double median = Stats.Median(dataset); // Calculate the median of the dataset
-// median = 3

Mode(values)

Definition

Returns the mode of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
+// median = 3

Mode(values)

Definition

Returns the mode of a dataset as a double.

Arguments

TypeNameMeaning
List<double>valuesThe dataset to calculate.

Exceptions

TypeMeaning
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
 List<double> dataset = new List<double> { 1, 2, 3, 3, 3, 4, 5 };
 double mode = Stats.Mode(dataset); // Calculate the mode of the dataset
-// mode = 3

Range(numbers)

Definition

Calculates the range of a list of double numbers.

Arguments

TypeNameMeaning
List<double>numbersThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Returns

double - The range of the list of double numbers.

Usage

c#
using PeyrSharp.Core.Maths;
+// mode = 3

Range(numbers)

Definition

Calculates the range of a list of double numbers.

Arguments

TypeNameMeaning
List<double>numbersThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Returns

double - The range of the list of double numbers.

Usage

c#
using PeyrSharp.Core.Maths;
 
 List<double> numbers = new List<double> { 1.5, 2.6, 3.7, 4.8, 5.9 };
 double range = Stats.Range(numbers); // Calculate the range of the list of numbers
-// range = 4.4

Variance(values)

Definition

Calculates the sample variance of a list of double values. Returns the sample variance of the list of double values as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double values.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
+// range = 4.4

Variance(values)

Definition

Calculates the sample variance of a list of double values. Returns the sample variance of the list of double values as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double values.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
 List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
 double variance = Stats.Variance(dataset); // Calculate the variance of the dataset
-// variance = 2.5

StandardDeviation(values)

Definition

Calculates the standard deviation of a list of double numbers. Returns the standard deviation of the list of double numbers as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
+// variance = 2.5

StandardDeviation(values)

Definition

Calculates the standard deviation of a list of double numbers. Returns the standard deviation of the list of double numbers as a double.

Arguments

TypeNameMeaning
List<double>valuesThe list of double numbers.

Exceptions

TypeMeaning
ArgumentExceptionThrown when the list is null or empty.

Usage

c#
using PeyrSharp.Core.Maths;
 
 List<double> dataset = new List<double> { 1, 2, 3, 4, 5 };
 double sd = Stats.StandardDeviation(dataset); // Calculate the standard deviation of the dataset
-// sd = 1.5811388300841898

Released under the MIT License.

- +// sd = 1.5811388300841898

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/maths/trigonometry.html b/docs/core/maths/trigonometry.html index 835f170f..197e42d5 100644 --- a/docs/core/maths/trigonometry.html +++ b/docs/core/maths/trigonometry.html @@ -5,33 +5,34 @@ Trigonometry | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Trigonometry

This page is about the Trigonometry class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Trigonometry class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GetOpposedSideFrom(triangleSide, angle, value)

Definition

Gets the length of the opposed side of a specific angle, from the length of either the hypotenuse or the adjacent side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Opposed, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+    
Skip to content

Trigonometry

This page is about the Trigonometry class available in PeyrSharp.Core.Maths. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Trigonometry class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GetOpposedSideFrom(triangleSide, angle, value)

Definition

Gets the length of the opposed side of a specific angle, from the length of either the hypotenuse or the adjacent side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Opposed, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
 using PeyrSharp.Enums;
 
 double opposed = Trigonometry.GetOpposedSideFrom(TriangleSides.Adjacent, 1.05, 5);
-// opposed = 8.716576549915851

GetAdjacentSideFrom(triangleSide, angle, value)

Definition

Gets the length of the adjacent side of a specific angle, from the length of either the hypotenuse or the opposed side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Adjacent, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+// opposed = 8.716576549915851

GetAdjacentSideFrom(triangleSide, angle, value)

Definition

Gets the length of the adjacent side of a specific angle, from the length of either the hypotenuse or the opposed side of the angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Adjacent, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
 using PeyrSharp.Enums;
 
 double adjacent = Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 1.05, 8.71);
-// adjacent = 4.996227561429541

GetHypotenuseFrom(triangleSide, angle, value)

Definition

Gets the length of the hypotenuse, from the length of either the adjacent side or the opposed side of a specific angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Hypotenuse, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
+// adjacent = 4.996227561429541

GetHypotenuseFrom(triangleSide, angle, value)

Definition

Gets the length of the hypotenuse, from the length of either the adjacent side or the opposed side of a specific angle.

Arguments

TypeNameMeaning
TriangleSidestriangleSideThe side of the triangle.
doubleangleThe value of the angle.
doublevalueThe length of the chosen side.

WARNING

If triangleSide is equal to TriangleSides.Hypotenuse, an Exception will be thrown.

Usage

c#
using PeyrSharp.Core.Maths;
 using PeyrSharp.Enums;
 
 double hypotenuse = Trigonometry.GetHypotenuseFrom(TriangleSides.Opposed, 1.05, 8.71);
-// hypotenuse = 10.041234478169912

Released under the MIT License.

- +// hypotenuse = 10.041234478169912

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/password.html b/docs/core/password.html index cb186fae..478c4af3 100644 --- a/docs/core/password.html +++ b/docs/core/password.html @@ -5,46 +5,47 @@ Password | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Password

This page is about the Password class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Password class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GenerateAsync(length, chars, separator)

Definition

The GenerateAsync() method generates a password of a specific length, with specific characters asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using PeyrSharp.Core;
+    
Skip to content

Password

This page is about the Password class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Password class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

GenerateAsync(length, chars, separator)

Definition

The GenerateAsync() method generates a password of a specific length, with specific characters asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using PeyrSharp.Core;
 
 private async void Main()
 {
     // Generate a password with 10 characters
     string password = await Password.GenerateAsync(10, "a,b,c,d,e,f,1,2,3,4,5", ",");
-}

GenerateAsync(length, chars)

Definition

Asynchronously generates a string of a specified length using a given set of characters.

Arguments

TypeNameMeaning
intlengthThe length of the string to generate.
string[]charsAn array of characters to use for generating the string.

Returns

A task that represents the asynchronous operation. The task result contains the generated string.

Exceptions

TypeCondition
ExceptionThrows an exception if the length parameter is not greater than 0.

Usage

c#
using PeyrSharp.Core;
+}

GenerateAsync(length, chars)

Definition

Asynchronously generates a string of a specified length using a given set of characters.

Arguments

TypeNameMeaning
intlengthThe length of the string to generate.
string[]charsAn array of characters to use for generating the string.

Returns

A task that represents the asynchronous operation. The task result contains the generated string.

Exceptions

TypeCondition
ExceptionThrows an exception if the length parameter is not greater than 0.

Usage

c#
using PeyrSharp.Core;
 private async void Main()
 {
     int length = 10;
     string[] chars = { "a", "b", "c" };
     string password = await Password.GenerateAsync(length, chars);
-}

GenerateAsync(length, passwordPresets)

Definition

The GenerateAsync() method generates a password of a specific length, with a specific PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using PeyrSharp.Core;
+}

GenerateAsync(length, passwordPresets)

Definition

The GenerateAsync() method generates a password of a specific length, with a specific PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using PeyrSharp.Core;
 using PeyrSharp.Enums;
 
 private async void Main()
 {
     // Generate a password with 10 characters, using the Complex preset
     string password = await Password.GenerateAsync(10, PasswordPresets.Complex);
-}

GenerateAsync(amount, length, chars, separator)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and characters asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using System.Collections.Generic;
+}

GenerateAsync(amount, length, chars, separator)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and characters asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
stringcharactersThe characters that can be included in the password. Separated with a unique separator.
stringseparatorThe separator used to separate the specified characters.

Usage

c#
using System.Collections.Generic;
 using PeyrSharp.Core;
 
 private async void Main()
 {
     // Generate 10 passwords with 10 characters
     List<string> passwords = await Password.GenerateAsync(10, 10, "a,b,c,d,e,f,1,2,3,4,5", ",");
-}

GenerateAsync(amount, length, passwordPresets)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using System.Collections.Generic;
+}

GenerateAsync(amount, length, passwordPresets)

Definition

The GenerateAsync() method generates a specific amount of passwords with specific lengths and PasswordPresets asynchronously.

Arguments

TypeNameMeaning
intamountThe amount of passwords to generate.
intlengthThe length of the password.
PasswordPresetspasswordPresetsThe password preset used when generating the password

Usage

c#
using System.Collections.Generic;
 using PeyrSharp.Core;
 using PeyrSharp.Enums;
 
@@ -52,8 +53,8 @@
 {
     // Generate 10 passwords with 10 characters with the simple preset
     List<string> passwords = await Password.GenerateAsync(10, 10, PasswordPresets.Simple);
-}

Released under the MIT License.

- +}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/statusinfo.html b/docs/core/statusinfo.html index c3547a03..76d352b1 100644 --- a/docs/core/statusinfo.html +++ b/docs/core/statusinfo.html @@ -5,21 +5,22 @@ StatusInfo | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

StatusInfo

This page is about the StatusInfo class available in PeyrSharp.Core. You can find here all of its methods.

Compatibility

The StatusInfo class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Properties

StatusCode

Definition

c#
public int StatusCode { get; set; }

Gets or sets the status code that indicates the outcome of the request.

StatusDescription

Definition

c#
public string StatusDescription { get; set; }

Gets or sets the status description that provides a human-readable message of the status code.

StatusType

Definition

c#
public StatusCodes StatusType { get; set; }

Gets or sets the status type that categorizes the status code into informational, success, redirection, client error, or server error. The StatusCodes is an enumeration representing the type of HTTP status codes that can be returned.

Released under the MIT License.

- +
Skip to content

StatusInfo

This page is about the StatusInfo class available in PeyrSharp.Core. You can find here all of its methods.

Compatibility

The StatusInfo class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Properties

StatusCode

Definition

c#
public int StatusCode { get; set; }

Gets or sets the status code that indicates the outcome of the request.

StatusDescription

Definition

c#
public string StatusDescription { get; set; }

Gets or sets the status description that provides a human-readable message of the status code.

StatusType

Definition

c#
public StatusCodes StatusType { get; set; }

Gets or sets the status type that categorizes the status code into informational, success, redirection, client error, or server error. The StatusCodes is an enumeration representing the type of HTTP status codes that can be returned.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/core/xml-helper.html b/docs/core/xml-helper.html index 216ca2b3..01c293e9 100644 --- a/docs/core/xml-helper.html +++ b/docs/core/xml-helper.html @@ -5,20 +5,21 @@ XmlHelper | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

XmlHelper

This page is about the XmlHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The XmlHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

LoadFromXml<T>(path)

Definition

The LoadFromXml() method loads an object of type T from an XML file at the specified path. If the file does not exist, a new instance of type T will be created and saved to the file using the SaveToXml() method before returning it.

Type Parameters

TypeDescription
TThe type of object to be saved.

Parameters

TypeNameMeaning
stringpathThe path of the XML file to load or create.

Returns

  • The loaded object of type T if the file exists and can be deserialized successfully.
  • A new instance of type T if the file does not exist and can be created and saved successfully.
  • null if an exception occurs during loading or saving.

Exceptions

  • Exception: If an error occurs during the loading or saving process.

Usage

csharp
using PeyrSharp.Core;
+    
Skip to content

XmlHelper

This page is about the XmlHelper class available in PeyrSharp.Core. You can find here all of its methods.

INFO

This class is static.

Compatibility

The XmlHelper class is part of the PeyrSharp.Core module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Core
Framework.NET 6.NET 7.NET 8
Core

Methods

LoadFromXml<T>(path)

Definition

The LoadFromXml() method loads an object of type T from an XML file at the specified path. If the file does not exist, a new instance of type T will be created and saved to the file using the SaveToXml() method before returning it.

Type Parameters

TypeDescription
TThe type of object to be saved.

Parameters

TypeNameMeaning
stringpathThe path of the XML file to load or create.

Returns

  • The loaded object of type T if the file exists and can be deserialized successfully.
  • A new instance of type T if the file does not exist and can be created and saved successfully.
  • null if an exception occurs during loading or saving.

Exceptions

  • Exception: If an error occurs during the loading or saving process.

Usage

csharp
using PeyrSharp.Core;
 using System;
 using System.IO;
 using System.Xml.Serialization;
@@ -52,7 +53,7 @@
     {
         return $"Name: {Name}, Age: {Age}";
     }
-}

SaveToXml<T>(obj, path)

Definition

The SaveToXml() method saves an object of type T to an XML file at the specified path.

Type Parameters

TypeDescription
TThe type of object to be saved.

Arguments

TypeNameDescription
TobjThe object to be saved.
stringpathThe path of the XML file to save the object.

Returns

  • bool: true if the object is successfully serialized and saved to the file; otherwise, false.

Usage

csharp
using PeyrSharp.Core;
+}

SaveToXml<T>(obj, path)

Definition

The SaveToXml() method saves an object of type T to an XML file at the specified path.

Type Parameters

TypeDescription
TThe type of object to be saved.

Arguments

TypeNameDescription
TobjThe object to be saved.
stringpathThe path of the XML file to save the object.

Returns

  • bool: true if the object is successfully serialized and saved to the file; otherwise, false.

Usage

csharp
using PeyrSharp.Core;
 using System.Xml.Serialization;
 using System.IO;
 
@@ -70,8 +71,8 @@
         // Save the object to an XML file
         bool success = XmlHelper.SaveToXml(myObject, "path/to/file.xml");
     }
-}

Released under the MIT License.

- +}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/enumerations.html b/docs/enumerations.html index cc80579a..ae40861f 100644 --- a/docs/enumerations.html +++ b/docs/enumerations.html @@ -5,32 +5,33 @@ Enumerations | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Enumerations

This page is about the enumerations available in PeyrSharp.Enums. They are grouped by category.

Compatibility

Enumerations are part of the PeyrSharp.Enums module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Enums
Framework.NET 6.NET 7.NET 8
Enums

Converters

StorageUnits

Definition

The StorageUnits enumeration represents all possible numeric storage units. It contains the following values:

ValueNameMeaning
0ByteThe byte unit. (b)
1KilobyteThe kilobyte unit. (kb)
2MegabyteThe megabyte unit. (mb)
3GigabyteThe gigabyte unit. (gb)
4TerabyteThe terabyte unit. (tb)
5PetabyteThe petabyte unit. (pb)

Example

c#
public static double ToPetabyte(double value, StorageUnits unit)
+    
Skip to content

Enumerations

This page is about the enumerations available in PeyrSharp.Enums. They are grouped by category.

Compatibility

Enumerations are part of the PeyrSharp.Enums module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Enums
Framework.NET 6.NET 7.NET 8
Enums

Converters

StorageUnits

Definition

The StorageUnits enumeration represents all possible numeric storage units. It contains the following values:

ValueNameMeaning
0ByteThe byte unit. (b)
1KilobyteThe kilobyte unit. (kb)
2MegabyteThe megabyte unit. (mb)
3GigabyteThe gigabyte unit. (gb)
4TerabyteThe terabyte unit. (tb)
5PetabyteThe petabyte unit. (pb)

Example

c#
public static double ToPetabyte(double value, StorageUnits unit)
 {
     if (unit == StorageUnits.Terabyte)
     {
         return value / 1000d;
     }
-}

TimeUnits

Definition

The TimeUnits enumeration represents all possible time units, such as seconds, minutes, etc. A more detailed table on all the values available:

ValueNameMeaning
0MillisecondsRepresents milliseconds.
1SecondsRepresents seconds.
2MinutesRepresents minutes.
3HoursRepresents hours.
4DaysRepresents days.

Example

c#
public static double ToSeconds(double value, TimeUnits unit)
+}

TimeUnits

Definition

The TimeUnits enumeration represents all possible time units, such as seconds, minutes, etc. A more detailed table on all the values available:

ValueNameMeaning
0MillisecondsRepresents milliseconds.
1SecondsRepresents seconds.
2MinutesRepresents minutes.
3HoursRepresents hours.
4DaysRepresents days.

Example

c#
public static double ToSeconds(double value, TimeUnits unit)
 {
     if (unit == TimeUnits.Minutes)
     {
         return value * 60;
     }
-}

Environment

LogLevel

Definition

The LogLevel enumeration specifies the severity level of a log message. It contains several values:

ValueNameMeaning
0DebugDebug-level messages provide verbose information for debugging purposes.
1InfoInfo-level messages provide informational messages about the application's state.
2WarningWarning-level messages indicate a potential problem or non-critical issue.
3ErrorError-level messages indicate an error has occurred in the application.
4CriticalCritical-level messages indicate a critical error has occurred that requires immediate attention.
5MiscMisc-level messages are for miscellaneous use cases and are not defined in the logging specification.

Example

c#
using PeyrSharp.Enums;
+}

Environment

LogLevel

Definition

The LogLevel enumeration specifies the severity level of a log message. It contains several values:

ValueNameMeaning
0DebugDebug-level messages provide verbose information for debugging purposes.
1InfoInfo-level messages provide informational messages about the application's state.
2WarningWarning-level messages indicate a potential problem or non-critical issue.
3ErrorError-level messages indicate an error has occurred in the application.
4CriticalCritical-level messages indicate a critical error has occurred that requires immediate attention.
5MiscMisc-level messages are for miscellaneous use cases and are not defined in the logging specification.

Example

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
 string message = "This is a log message.";
@@ -38,14 +39,14 @@
 DateTime date = DateTime.Now;
 LogLevel logLevel = LogLevel.Warning;
 
-Logger.Log(message, filePath, date, logLevel);

More info here about the example

OperatingSystems

Definition

The OperatingSystems enumerations represents all possible operating systems that a .NET program could run on. It contains several values:

ValueNameMeaning
0WindowsThe Microsoft Windows Operating System.
1macOSThe Apple macOS Operating System.
2LinuxA Linux-based Operating System.
3UnknownAn unknown Operating System.

Example

c#
if (Env.CurrentOs == OperatingSystems.Windows)
+Logger.Log(message, filePath, date, logLevel);

More info here about the example

OperatingSystems

Definition

The OperatingSystems enumerations represents all possible operating systems that a .NET program could run on. It contains several values:

ValueNameMeaning
0WindowsThe Microsoft Windows Operating System.
1macOSThe Apple macOS Operating System.
2LinuxA Linux-based Operating System.
3UnknownAn unknown Operating System.

Example

c#
if (Env.CurrentOs == OperatingSystems.Windows)
 {
     //Do something if the OS is Windows
-}

SystemThemes

Definition

The SystemThemes enumerations represents all themes available on a Windows device. It contains several values:

ValueNameMeaning
0DarkThe user is using dark theme.
1LightThe user is using light theme.
2UnknownThe current theme is unknown.

Example

c#
if (GetCurrentTheme() == SystemThemes.Dark)
+}

SystemThemes

Definition

The SystemThemes enumerations represents all themes available on a Windows device. It contains several values:

ValueNameMeaning
0DarkThe user is using dark theme.
1LightThe user is using light theme.
2UnknownThe current theme is unknown.

Example

c#
if (GetCurrentTheme() == SystemThemes.Dark)
 {
     Console.WriteLine("You have dark theme enabled!");
-}

WindowsVersion

Definition

The WindowsVersion enumerations represents all possible Windows versions supported by .NET, which means all version from Windows 7 to 11. It contains several values:

ValueNameMeaning
0Windows7The Windows 7 (NT 6.1) Operating System.
1Windows8The Windows 8 (NT 6.2) Operating System.
2Windows81The Windows 8.1 (NT 6.3) Operating System.
3Windows10The Windows 10 (NT 10.0) Operating System.
4Windows11The Windows 11 (NT 10.0, Build 22000+) Operating System.

Example

c#
public bool DarkThemeAvailable => Env.CurrentWindowsVersion == WindowsVersion.Windows10 || Env.CurrentWindowsVersion == WindowsVersion.Windows11;

Geometry

TriangleSides

Definition

The TriangleSides enumeration represents the different sides of a triangle: hypotenuse, adjacent, and opposite. It contains these values:

ValueNameMeaning
0OpposedThe opposed side of a specific angle of a triangle.
1HypotenuseThe hypotenuse of a triangle.
2AdjacentThe adjacent side of a specific angle of a triangle.

Example

c#
// Get the adjacent side from the opposed side of a specific angle.
-Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 20);

Internet

StatusCodes

Definition

The StatusCodes enumeration represents the different kinds of status codes returned by a server after a request is made to it. The following status codes are available in this enumeration:

ValueNameMeaning
0InformationalInformational responses (100-199)
1SuccessSuccessful responses (200-299)
2RedirectionRedirection messages (300-399)
3ClientErrorClient error responses (400-499)
4ServerErrorServer error responses (500-599)

Example

c#
status = GetRequestStatus();
+}

WindowsVersion

Definition

The WindowsVersion enumerations represents all possible Windows versions supported by .NET, which means all version from Windows 7 to 11. It contains several values:

ValueNameMeaning
0Windows7The Windows 7 (NT 6.1) Operating System.
1Windows8The Windows 8 (NT 6.2) Operating System.
2Windows81The Windows 8.1 (NT 6.3) Operating System.
3Windows10The Windows 10 (NT 10.0) Operating System.
4Windows11The Windows 11 (NT 10.0, Build 22000+) Operating System.

Example

c#
public bool DarkThemeAvailable => Env.CurrentWindowsVersion == WindowsVersion.Windows10 || Env.CurrentWindowsVersion == WindowsVersion.Windows11;

Geometry

TriangleSides

Definition

The TriangleSides enumeration represents the different sides of a triangle: hypotenuse, adjacent, and opposite. It contains these values:

ValueNameMeaning
0OpposedThe opposed side of a specific angle of a triangle.
1HypotenuseThe hypotenuse of a triangle.
2AdjacentThe adjacent side of a specific angle of a triangle.

Example

c#
// Get the adjacent side from the opposed side of a specific angle.
+Trigonometry.GetAdjacentSideFrom(TriangleSides.Opposed, 20);

Internet

StatusCodes

Definition

The StatusCodes enumeration represents the different kinds of status codes returned by a server after a request is made to it. The following status codes are available in this enumeration:

ValueNameMeaning
0InformationalInformational responses (100-199)
1SuccessSuccessful responses (200-299)
2RedirectionRedirection messages (300-399)
3ClientErrorClient error responses (400-499)
4ServerErrorServer error responses (500-599)

Example

c#
status = GetRequestStatus();
 
 switch (status)
 {
@@ -64,17 +65,17 @@
     case StatusCodes.ServerError:
         Console.WriteLine("An server error status code has been returned.");
         break;
-}

Password

PasswordPresets

Definition

The PasswordPresets enumeration represents all the of the presets available when generating a password using the Password class of PeyrSharp.Core. It has two values:

ValueNameMeaning
0SimpleThe Simple preset generates a password with simple characters.
1ComplexThe Complex preset generates a password with unusual, hard and complex characters.

Example

c#
private async void Main()
+}

Password

PasswordPresets

Definition

The PasswordPresets enumeration represents all the of the presets available when generating a password using the Password class of PeyrSharp.Core. It has two values:

ValueNameMeaning
0SimpleThe Simple preset generates a password with simple characters.
1ComplexThe Complex preset generates a password with unusual, hard and complex characters.

Example

c#
private async void Main()
 {
     string password = Password.GenerateAsync(10, PasswordPresets.Simple); // Generate a simple password
-}

PasswordStrength

Definition

The PasswordStrength enumeration represents different strength levels of a password; if it's a strong or weak password. It contains these values:

ValueNameMeaning
0LowThe password has a low strength; you shouldn't use it.
1MediumThe password has a medium strength; don't use it on important websites.
2GoodThe password has a good strength; you can safely use it.
3VeryGoodThe password has an excellent strength, meaning it will be hard for hackers to hack it.

Example

c#
internal async void Main()
+}

PasswordStrength

Definition

The PasswordStrength enumeration represents different strength levels of a password; if it's a strong or weak password. It contains these values:

ValueNameMeaning
0LowThe password has a low strength; you shouldn't use it.
1MediumThe password has a medium strength; don't use it on important websites.
2GoodThe password has a good strength; you can safely use it.
3VeryGoodThe password has an excellent strength, meaning it will be hard for hackers to hack it.

Example

c#
internal async void Main()
 {
     // Check if the generated password is complex
     if (Password.GetStrength(await Password.GenerateAsync(15, PasswordPresets.Complex)) == PasswordStrength.Medium)
     {
         Console.WriteLine("The password isn't complex enough.");
     }
-}

UserInterface

ControlAlignment

Definition

The ControlAlignment enumeration is here to help align a control when calling methods from the UiHelpers namespace. It has the following values:

ValueNameMeaning
0HorizontalThe control will be aligned/centered horizontally.
1VerticalThe control will be aligned/centered vertically.
2BothThe control will be aligned/centered horizontally and vertically.

Example

c#
using PeyrSharp.UiHelpers;
+}

UserInterface

ControlAlignment

Definition

The ControlAlignment enumeration is here to help align a control when calling methods from the UiHelpers namespace. It has the following values:

ValueNameMeaning
0HorizontalThe control will be aligned/centered horizontally.
1VerticalThe control will be aligned/centered vertically.
2BothThe control will be aligned/centered horizontally and vertically.

Example

c#
using PeyrSharp.UiHelpers;
 
 namespace App
 {
@@ -85,8 +86,8 @@
             WinFormsHelpers.CenterControl(button1, this, ControlAlignment.Horizontal);
         }
     }
-}

Released under the MIT License.

- +}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/env.html b/docs/env.html index 41ec1430..a774f1c5 100644 --- a/docs/env.html +++ b/docs/env.html @@ -5,21 +5,22 @@ Env | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Env

This page is about the PeyrSharp.Env module.

Compatibility

The PeyrSharp.Env module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Classes

Released under the MIT License.

- +
Skip to content

Env

This page is about the PeyrSharp.Env module.

Compatibility

The PeyrSharp.Env module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/env/filesys.html b/docs/env/filesys.html index 12b2c8b0..8f009103 100644 --- a/docs/env/filesys.html +++ b/docs/env/filesys.html @@ -5,38 +5,39 @@ FileSys | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

FileSys

This page is about the FileSys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The FileSys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetAvailableSpace(drive, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+    
Skip to content

FileSys

This page is about the FileSys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The FileSys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetAvailableSpace(drive, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
-double space = FileSys.GetAvailableSpace("C:/", StorageUnits.Gigabyte);

GetAvailableSpace(driveInfo, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+double space = FileSys.GetAvailableSpace("C:/", StorageUnits.Gigabyte);

GetAvailableSpace(driveInfo, unit)

Definition

Gets the amount of available storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of available space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
-double space = FileSys.GetAvailableSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetOccupiedSpace(drive, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+double space = FileSys.GetAvailableSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetOccupiedSpace(drive, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
-double occupiedSpace = FileSys.GetOccupiedSpace("C:/", StorageUnits.Gigabyte);

GetOccupiedSpace(driveInfo, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+double occupiedSpace = FileSys.GetOccupiedSpace("C:/", StorageUnits.Gigabyte);

GetOccupiedSpace(driveInfo, unit)

Definition

Gets the amount of occupied storage on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of occupied space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
-double occupiedSpace = FileSys.GetOccupiedSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetTotalSpace(drive, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+double occupiedSpace = FileSys.GetOccupiedSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

GetTotalSpace(drive, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
stringdriveThe drive letter or name to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
-double occupiedSpace = FileSys.GetTotalSpace("C:/", StorageUnits.Gigabyte);

GetTotalSpace(driveInfo, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
+double occupiedSpace = FileSys.GetTotalSpace("C:/", StorageUnits.Gigabyte);

GetTotalSpace(driveInfo, unit)

Definition

Gets the total amount of space on a specified drive. It returns double.

Arguments

TypeNameMeaning
DriveInfodriveInfoThe DriveInfo object to get the amount of total space.
StorageUnitsunitThe unit of the returned result.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
-double total = FileSys.GetTotalSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

CountFileCharactersAsync(fileName)

Definition

Counts the number of characters in specified file asynchronously. It returns an int.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringfileNameThe file path of the file.

Usage

c#
using PeyrSharp.Env;
+double total = FileSys.GetTotalSpace(new DriveInfo("C:/"), StorageUnits.Gigabyte);

CountFileCharactersAsync(fileName)

Definition

Counts the number of characters in specified file asynchronously. It returns an int.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringfileNameThe file path of the file.

Usage

c#
using PeyrSharp.Env;
 
 public static async Task ExampleAsync()
 {
@@ -48,7 +49,7 @@
     int chars = await FileSys.CountFileCharactersAsync("Hello.txt");
 
     // chars = 13
-}

CanWriteFile(filePath)

Definition

Checks if your program has the permission to write a file in a specific directory. It returns a bool; true if you can write/edit the specified directory.

Arguments

TypeNameMeaning
stringfilePathThe path to the directory.

Usage

c#
using PeyrSharp.Env;
+}

CanWriteFile(filePath)

Definition

Checks if your program has the permission to write a file in a specific directory. It returns a bool; true if you can write/edit the specified directory.

Arguments

TypeNameMeaning
stringfilePathThe path to the directory.

Usage

c#
using PeyrSharp.Env;
 
 if (FileSys.CanWriteFile(@"C:\Windows"))
 {
@@ -57,12 +58,12 @@
 else
 {
     Console.WriteLine("You do not have permission to edit in this folder.");
-}

IsDriveOpticalDrive(driveInfo)

Available in version 1.1 and higher.

Definition

Checks if the specified drive is an optical drive, such as CD-ROM or DVD. It returns a bool; true if the drive is an optical drive.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to check.

Usage

c#
using PeyrSharp.Env;
+}

IsDriveOpticalDrive(driveInfo)

Available in version 1.1 and higher.

Definition

Checks if the specified drive is an optical drive, such as CD-ROM or DVD. It returns a bool; true if the drive is an optical drive.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to check.

Usage

c#
using PeyrSharp.Env;
 
 if (FileSys.IsOpticalDrive(new(@"E:\")))
 {
     Console.WriteLine("Drive E:/ is an optical drive")
-}

GetDriveStorageUnit(driveInfo)

Available in version 1.1 and higher.

Definition

Gets the appropriate StorageUnits to use depending of the total size of the drive. It returns a StorageUnits value.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to get the unit of.

Usage

c#
using PeyrSharp.Env;
+}

GetDriveStorageUnit(driveInfo)

Available in version 1.1 and higher.

Definition

Gets the appropriate StorageUnits to use depending of the total size of the drive. It returns a StorageUnits value.

Arguments

TypeNameMeaning
stringdriveInfoThe drive to get the unit of.

Usage

c#
using PeyrSharp.Env;
 
 var unit = FileSys.GetDriveStorageUnit(@"C:\");
 
@@ -74,25 +75,25 @@
     _ => "Unknown size unit"
 }
 
-Console.WriteLine(message);

Properties

AppDataPath

Definition

c#
public static string AppDataPath { get; }

The AppDataPath property gets the %APPDATA% path. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+Console.WriteLine(message);

Properties

AppDataPath

Definition

c#
public static string AppDataPath { get; }

The AppDataPath property gets the %APPDATA% path. You can only get this property.

Usage

c#
using PeyrSharp.Env;
 
-string appdata = FileSys.AppDataPath;

CurrentAppDirectory

Available in version 1.1 and higher.

Definition

c#
public static string CurrentAppDirectory { get; }

The CurrentAppDirectory property gets the path where is located the executable file that is currently running. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+string appdata = FileSys.AppDataPath;

CurrentAppDirectory

Available in version 1.1 and higher.

Definition

c#
public static string CurrentAppDirectory { get; }

The CurrentAppDirectory property gets the path where is located the executable file that is currently running. You can only get this property.

Usage

c#
using PeyrSharp.Env;
 
-string dir = FileSys.CurrentAppDirectory;

DriveWithHighestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithHighestFreeSpace { get; }

The DriveWithHighestFreeSpace property gets the drive with the highest free space available. You can only get this property.

Usage

c#
using System.IO;
+string dir = FileSys.CurrentAppDirectory;

DriveWithHighestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithHighestFreeSpace { get; }

The DriveWithHighestFreeSpace property gets the drive with the highest free space available. You can only get this property.

Usage

c#
using System.IO;
 using PeyrSharp.Env;
 
-DriveInfo highest = FileSys.DriveWithHighestFreeSpace;

DriveWithLowestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithLowestFreeSpace { get; }

The DriveWithLowestFreeSpace property gets the drive with the lowest free space available. You can only get this property.

Usage

c#
using System.IO;
+DriveInfo highest = FileSys.DriveWithHighestFreeSpace;

DriveWithLowestFreeSpace

Available in version 1.1 and higher.

Definition

c#
public static DriveInfo DriveWithLowestFreeSpace { get; }

The DriveWithLowestFreeSpace property gets the drive with the lowest free space available. You can only get this property.

Usage

c#
using System.IO;
 using PeyrSharp.Env;
 
-DriveInfo lowest = FileSys.DriveWithLowestFreeSpace;

SystemDrive

Definition

c#
[SupportedOSPlatform("windows")]
-public static DriveInfo SystemDrive { get; }

The SystemDrive property gets the system drive, where Windows is installed. You can only get this property.

DANGER

This property only works on Windows! It will return a default value if you run it on a different platform.

Usage

c#
using PeyrSharp.Env;
+DriveInfo lowest = FileSys.DriveWithLowestFreeSpace;

SystemDrive

Definition

c#
[SupportedOSPlatform("windows")]
+public static DriveInfo SystemDrive { get; }

The SystemDrive property gets the system drive, where Windows is installed. You can only get this property.

DANGER

This property only works on Windows! It will return a default value if you run it on a different platform.

Usage

c#
using PeyrSharp.Env;
 
-DriveInfo sys = FileSys.SystemDrive;

CurrentDirectory

Definition

Gets the current directory of the application. Returns a string representing the full path of the current directory.

Usage

c#
using PeyrSharp.Env;
+DriveInfo sys = FileSys.SystemDrive;

CurrentDirectory

Definition

Gets the current directory of the application. Returns a string representing the full path of the current directory.

Usage

c#
using PeyrSharp.Env;
 
-string currentDirectory = FileSys.CurrentDirectory;

ComputerName

Definition

Returns the name of the current computer as a string.

Usage

c#
using PeyrSharp.Env;
+string currentDirectory = FileSys.CurrentDirectory;

ComputerName

Definition

Returns the name of the current computer as a string.

Usage

c#
using PeyrSharp.Env;
 
-string computerName = FileSys.ComputerName;

Released under the MIT License.

- +string computerName = FileSys.ComputerName;

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/env/logger.html b/docs/env/logger.html index 7f102421..012579dc 100644 --- a/docs/env/logger.html +++ b/docs/env/logger.html @@ -5,30 +5,31 @@ Logger | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Logger

This page is about the Logger class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Logger class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

Log(message, filePath, dateTime)

Definition

The Log() method logs a specific message alongside a timestamp into a file. This method does not return a value (void).

INFO

You can call this method multiple times on the same file and it will append the message to it.

Arguments

TypeNameMeaning
stringmessageThe message or text that needs to be logged.
stringfilePathThe path where the file should be written.
DateTimedateTimeThe timestamp of the log, the time when the log was made.

Usage

c#
using PeyrSharp.Env;
+    
Skip to content

Logger

This page is about the Logger class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Logger class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

Log(message, filePath, dateTime)

Definition

The Log() method logs a specific message alongside a timestamp into a file. This method does not return a value (void).

INFO

You can call this method multiple times on the same file and it will append the message to it.

Arguments

TypeNameMeaning
stringmessageThe message or text that needs to be logged.
stringfilePathThe path where the file should be written.
DateTimedateTimeThe timestamp of the log, the time when the log was made.

Usage

c#
using PeyrSharp.Env;
 
 Logger.Log("Hello", @"C:\Logs\log1.txt", DateTime.Now)
 // The line above will generate a file with the following content:
-// [10/31/2022 09:23:18] Hello

Log(message, filePath, formatString)

Definition

Logs a formatted message to a file. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe log message to be written.
stringfilePathThe path to the log file. Must contain an extension.
object[]formatStringAn object array that contains zero or more objects to format.

Usage

c#
using PeyrSharp.Env;
+// [10/31/2022 09:23:18] Hello

Log(message, filePath, formatString)

Definition

Logs a formatted message to a file. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe log message to be written.
stringfilePathThe path to the log file. Must contain an extension.
object[]formatStringAn object array that contains zero or more objects to format.

Usage

c#
using PeyrSharp.Env;
 
 string message = "This is a log message. Date: {0}.";
 string filePath = @"C:\Logs\log.txt";
 DateTime date = DateTime.Now;
 
-Logger.Log(message, filePath, date);

Log(message, filePath, dateTime, logLevel)

Definition

Logs a message with the specified severity level, file path, and timestamp. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe message to log.
stringfilePathThe path to the file where the message was logged.
DateTimedateTimeThe timestamp for the log message.
LogLevellogLevelThe severity level for the log message.

Usage

c#
using PeyrSharp.Enums;
+Logger.Log(message, filePath, date);

Log(message, filePath, dateTime, logLevel)

Definition

Logs a message with the specified severity level, file path, and timestamp. This method does not return a value.

Arguments

TypeNameMeaning
stringmessageThe message to log.
stringfilePathThe path to the file where the message was logged.
DateTimedateTimeThe timestamp for the log message.
LogLevellogLevelThe severity level for the log message.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Env;
 
 string message = "This is a log message.";
@@ -36,8 +37,8 @@
 DateTime date = DateTime.Now;
 LogLevel logLevel = LogLevel.Warning;
 
-Logger.Log(message, filePath, date, logLevel);

Released under the MIT License.

- +Logger.Log(message, filePath, date, logLevel);

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/env/system.html b/docs/env/system.html index f540f095..c4c818ba 100644 --- a/docs/env/system.html +++ b/docs/env/system.html @@ -5,47 +5,48 @@ Sys | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Sys

This page is about the Sys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The Sys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

ExecuteAsAdmin(process)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
ProcessprocessThe process to launch as admin.

Usage

c#
using PeyrSharp.Env;
+    
Skip to content

Sys

This page is about the Sys class available in PeyrSharp.Env. You can find here all of its methods and properties.

INFO

This class is static.

Compatibility

The Sys class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env⚠️⚠️
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

ExecuteAsAdmin(process)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
ProcessprocessThe process to launch as admin.

Usage

c#
using PeyrSharp.Env;
 
 // Define a process
 Process p = new();
 p.StartInfo.FileName = "notepad.exe";
 
-Sys.ExecuteAsAdmin(p);

ExecuteAsAdmin(fileName)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringfileNameThe path to the program to launch in admin mode.

Usage

c#
using PeyrSharp.Env;
+Sys.ExecuteAsAdmin(p);

ExecuteAsAdmin(fileName)

Definition

Executes a program in administrator mode.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringfileNameThe path to the program to launch in admin mode.

Usage

c#
using PeyrSharp.Env;
 
-Sys.ExecuteAsAdmin("notepad.exe");

LaunchUWPApp(packageFamilyName, applicationID)

Definition

This method allows you to launch an UWP app from its PackageFamilyName and its Application Id. You can find this information by running in Windows Powershell (admin) the following command:

powershell
Get-AppxPackage | Select PackageFamilyName, InstallLocation

You can find the Application Id in the AppxManifest.xml file in

txt
InstallLocation\AppxManifest.xml

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringpackageFamilyNameThe PackageFamilyName property.
stringapplicationIDThe Application Id property in the UWP AppxManifest.xml file.

Usage

c#
using PeyrSharp.Env;
+Sys.ExecuteAsAdmin("notepad.exe");

LaunchUWPApp(packageFamilyName, applicationID)

Definition

This method allows you to launch an UWP app from its PackageFamilyName and its Application Id. You can find this information by running in Windows Powershell (admin) the following command:

powershell
Get-AppxPackage | Select PackageFamilyName, InstallLocation

You can find the Application Id in the AppxManifest.xml file in

txt
InstallLocation\AppxManifest.xml

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
stringpackageFamilyNameThe PackageFamilyName property.
stringapplicationIDThe Application Id property in the UWP AppxManifest.xml file.

Usage

c#
using PeyrSharp.Env;
 
-Sys.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch Minecraft UWP

LaunchUWPApp(uwpApp)

Definition

Launches a UWP application using information from a UwpApp object.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
UwpAppuwpAppThe UWP application to launch.

Usage

c#
using PeyrSharp.Env;
-Sys.LaunchUWPApp(myApp);

IsProcessRunning(processName)

Definition

Gets if a specified process name is currently running. Returns a bool value indicating whether the process is running (true) or not running (false).

Arguments

TypeNameMeaning
stringprocessNameThe process name to find.

Usage

c#
using PeyrSharp.Env;
+Sys.LaunchUWPApp("Microsoft.MinecraftUWP_8wekyb3d8bbwe", "App"); // Launch Minecraft UWP

LaunchUWPApp(uwpApp)

Definition

Launches a UWP application using information from a UwpApp object.

WARNING

This method only works on Windows.

Arguments

TypeNameMeaning
UwpAppuwpAppThe UWP application to launch.

Usage

c#
using PeyrSharp.Env;
+Sys.LaunchUWPApp(myApp);

IsProcessRunning(processName)

Definition

Gets if a specified process name is currently running. Returns a bool value indicating whether the process is running (true) or not running (false).

Arguments

TypeNameMeaning
stringprocessNameThe process name to find.

Usage

c#
using PeyrSharp.Env;
 
-bool isNotepadRunning = Sys.IsProcessRunning("notepad");

TerminateProcess(processId)

Definition

Terminates a process with the specified process ID. Returns True if the process was successfully terminated, or False if no such process was found or if an error occurred while trying to terminate the process.

Arguments

TypeNameMeaning
intprocessIdThe ID of the process to terminate.

Usage

c#
using PeyrSharp.Env;
+bool isNotepadRunning = Sys.IsProcessRunning("notepad");

TerminateProcess(processId)

Definition

Terminates a process with the specified process ID. Returns True if the process was successfully terminated, or False if no such process was found or if an error occurred while trying to terminate the process.

Arguments

TypeNameMeaning
intprocessIdThe ID of the process to terminate.

Usage

c#
using PeyrSharp.Env;
 
 int processId = 12345;
 
-bool result = Sys.TerminateProcess(processId);

GetUwpAppsAsync()

Definition

Retrieves a list of UWP (Universal Windows Platform) apps asynchronously. Returns a task that represents the asynchronous operation. The task result contains a list of UwpApp objects representing the UWP apps.

WARNING

This method only works on Windows 10 and higher.

This method retrieves a list of UWP apps on the system using PowerShell. It saves the app information in a JSON file and then reads the file to deserialize it into a list of UwpApp objects. The list is then sorted alphabetically based on the app names before being returned.

This is the PowerShell command that is called:

powershell
Get-StartApps | ConvertTo-Json > $env:appdata\UwpApps.json

Usage

csharp
using PeyrSharp.Env;
+bool result = Sys.TerminateProcess(processId);

GetUwpAppsAsync()

Definition

Retrieves a list of UWP (Universal Windows Platform) apps asynchronously. Returns a task that represents the asynchronous operation. The task result contains a list of UwpApp objects representing the UWP apps.

WARNING

This method only works on Windows 10 and higher.

This method retrieves a list of UWP apps on the system using PowerShell. It saves the app information in a JSON file and then reads the file to deserialize it into a list of UwpApp objects. The list is then sorted alphabetically based on the app names before being returned.

This is the PowerShell command that is called:

powershell
Get-StartApps | ConvertTo-Json > $env:appdata\UwpApps.json

Usage

csharp
using PeyrSharp.Env;
 
 internal static async void Main()
 {
     List<UwpApp> appsList = await Sys.GetUwpAppsAsync();
-}

Properties

CurrentOperatingSystem

Definition

c#
public static OperatingSystems CurrentOperatingSystem { get; }

Gets the current Operating system. Returns a OperatingSystems value. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+}

Properties

CurrentOperatingSystem

Definition

c#
public static OperatingSystems CurrentOperatingSystem { get; }

Gets the current Operating system. Returns a OperatingSystems value. You can only get this property.

Usage

c#
using PeyrSharp.Env;
 
 if (Sys.CurrentOperatingSystem == OperatingSystems.Windows)
 {
     Console.WriteLine("You are on Windows");
-}

CurrentWindowsVersion

Definition

c#
public static WindowsVersion CurrentWindowsVersion { get; }

Gets the current Windows version. Returns a WindowsVersion value. You can only get this property.

WARNING

This property only works on Windows.

DANGER

This property only works if you specify in the Application Manifest, in the compatibility section, that Windows 8, 8.1 and 10/11 are compatible with the software. Otherwise, it will return Windows8.

xml
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
+}

CurrentWindowsVersion

Definition

c#
public static WindowsVersion CurrentWindowsVersion { get; }

Gets the current Windows version. Returns a WindowsVersion value. You can only get this property.

WARNING

This property only works on Windows.

DANGER

This property only works if you specify in the Application Manifest, in the compatibility section, that Windows 8, 8.1 and 10/11 are compatible with the software. Otherwise, it will return Windows8.

xml
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
     <application>
       <!-- Windows Vista -->
       <!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
@@ -62,18 +63,18 @@
       <!-- Windows 10 -->
       <supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
     </application>
-</compatibility>

Usage

c#
using PeyrSharp.Env;
+</compatibility>

Usage

c#
using PeyrSharp.Env;
 
 if (Sys.CurrentWindowsVersion == WindowsVersion.Windows11)
 {
     Console.WriteLine("You are on Windows 11");
-}

IsDarkThemeSupported

Definition

c#
public static bool IsDarkThemeSupported { get; }

Gets if the current Windows version supports dark theme. Returns a bool value. You can only get this property.

WARNING

This property only works on Windows.

Usage

c#
using PeyrSharp.Env;
+}

IsDarkThemeSupported

Definition

c#
public static bool IsDarkThemeSupported { get; }

Gets if the current Windows version supports dark theme. Returns a bool value. You can only get this property.

WARNING

This property only works on Windows.

Usage

c#
using PeyrSharp.Env;
 
 if (Sys.IsDarkThemeSupported)
 {
     Console.WriteLine("You are running Windows 10 or higher.");
-}

CurrentTheme

Definition

c#
[SupportedOSPlatform("windows")]
-public static SystemThemes CurrentTheme { get; }

Gets the current theme. Returns a SystemThemes value. You can only get this property.

WARNING

This property only works on Windows 10/11.

Usage

c#
using Microsoft.Win32;
+}

CurrentTheme

Definition

c#
[SupportedOSPlatform("windows")]
+public static SystemThemes CurrentTheme { get; }

Gets the current theme. Returns a SystemThemes value. You can only get this property.

WARNING

This property only works on Windows 10/11.

Usage

c#
using Microsoft.Win32;
 using PeyrSharp.Env;
 
 if (Sys.CurrentTheme == SystemThemes.Light)
@@ -87,24 +88,24 @@
 else
 {
     Console.WriteLine("The current theme is unknown."); // Might happen on other versions than Windows 10/11
-}

RunningProcesses

Definition

c#
public static Process[] RunningProcesses { get; }

Gets the processes that are currently running. Returns a Process[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+}

RunningProcesses

Definition

c#
public static Process[] RunningProcesses { get; }

Gets the processes that are currently running. Returns a Process[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
 
 Process[] procs = Sys.RunningProcesses;
 
 for (int i = 0; i < procs.Length; i++)
 {
     Console.WriteLine(procs[i].ProcessName); // Print the name of all running processes
-}

RunningProcessesNames

Definition

c#
public static string[] RunningProcessesNames { get; }

Gets the names of the processes that are currently running. Returns a string[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+}

RunningProcessesNames

Definition

c#
public static string[] RunningProcessesNames { get; }

Gets the names of the processes that are currently running. Returns a string[] array. You can only get this property.

Usage

c#
using PeyrSharp.Env;
 
 string[] procs = Sys.RunningProcessesNames;
 
 for (int i = 0; i < procs.Length; i++)
 {
     Console.WriteLine(procs[i]); // Print the name of all running processes
-}

UnixTime

Definition

c#
public static int Unix { get; }

Gets the current UnixTime. Returns an int. You can only get this property.

Usage

c#
using PeyrSharp.Env;
+}

UnixTime

Definition

c#
public static int Unix { get; }

Gets the current UnixTime. Returns an int. You can only get this property.

Usage

c#
using PeyrSharp.Env;
 
-int unixTime = Sys.UnixTime;

Released under the MIT License.

- +int unixTime = Sys.UnixTime;

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/env/update.html b/docs/env/update.html index 898112ba..ba8c06a7 100644 --- a/docs/env/update.html +++ b/docs/env/update.html @@ -5,26 +5,27 @@ Update | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Update

This page is about the Update class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Update class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetLastVersionAsync(url)

Definition

Downloads the content of remote file as string. The remote file should contain the last version text. Do not provide the URL of an HTML page.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlLink of the file where the latest version is stored.

Usage

c#
using PeyrSharp.Env;
+    
Skip to content

Update

This page is about the Update class available in PeyrSharp.Env. You can find here all of its methods.

INFO

This class is static.

Compatibility

The Update class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Methods

GetLastVersionAsync(url)

Definition

Downloads the content of remote file as string. The remote file should contain the last version text. Do not provide the URL of an HTML page.

INFO

This method is asynchronous and awaitable.

Arguments

TypeNameMeaning
stringurlLink of the file where the latest version is stored.

Usage

c#
using PeyrSharp.Env;
 
 private async void Main()
 {
     string lastVersion = await Update.GetLastVersionAsync("https://raw.githubusercontent.com/DevyusCode/LeoCorp-Docs/master/Liens/Update%20System/LABS%20Experimental%20Console/version.txt");
     // lastVersion would be equal to the content of this text files
-}

IsAvailable(currentVersion, remoteVersion)

Definition

Compares two versions. Returns a bool.

INFO

It is recommended to use this method with the GetLastVersionAsync() one.

Arguments

TypeNameMeaning
stringcurrentVersionThe current version of the app.
stringremoveVersionThe latest version, stored remotely.

Usage

c#
using PeyrSharp.Env;
+}

IsAvailable(currentVersion, remoteVersion)

Definition

Compares two versions. Returns a bool.

INFO

It is recommended to use this method with the GetLastVersionAsync() one.

Arguments

TypeNameMeaning
stringcurrentVersionThe current version of the app.
stringremoveVersionThe latest version, stored remotely.

Usage

c#
using PeyrSharp.Env;
 
 private async void Main()
 {
@@ -34,8 +35,8 @@
     Console.WriteLine(Update.IsAvailable(current, last)
         ? "Updates are available."
         : "You are up-to-date.");
-}

Released under the MIT License.

- +}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/env/uwpapp.html b/docs/env/uwpapp.html index 3f6bcb1e..e14d59fa 100644 --- a/docs/env/uwpapp.html +++ b/docs/env/uwpapp.html @@ -5,29 +5,30 @@ UwpApp | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

UwpApp

This page is about the UwpApp class available in PeyrSharp.Env. It Represents a simplified version of a UWP app object.

Compatibility

The UwpApp class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Properties

Name

Definition

c#
public static string Name { get; init; }

The name of the UWP app.

Usage

c#
// Create a UwpApp object
+    
Skip to content

UwpApp

This page is about the UwpApp class available in PeyrSharp.Env. It Represents a simplified version of a UWP app object.

Compatibility

The UwpApp class is part of the PeyrSharp.Env module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.Env might not be available in all platforms.

Properties

Name

Definition

c#
public static string Name { get; init; }

The name of the UWP app.

Usage

c#
// Create a UwpApp object
 UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
 
 // Access the properties of the UwpApp object
-Console.WriteLine(uwpApp.Name); // Output: MyApp

AppID

Definition

c#
public static string Name { get; init; }

The App ID in the Package Family Name property.

Usage

c#
// Create a UwpApp object
+Console.WriteLine(uwpApp.Name); // Output: MyApp

AppID

Definition

c#
public static string Name { get; init; }

The App ID in the Package Family Name property.

Usage

c#
// Create a UwpApp object
 UwpApp uwpApp = new UwpApp("MyApp", "com.example.myapp");
 
 // Access the properties of the UwpApp object
-Console.WriteLine(uwpApp.AppID); // Output: com.example.myapp

Released under the MIT License.

- +Console.WriteLine(uwpApp.AppID); // Output: com.example.myapp

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/exceptions.html b/docs/exceptions.html index 754929c3..6870e4f0 100644 --- a/docs/exceptions.html +++ b/docs/exceptions.html @@ -5,24 +5,25 @@ Exceptions | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Exceptions

This page is about the exceptions available in PeyrSharp.Exceptions. They are grouped by category.

Compatibility

Exceptions are part of the PeyrSharp.Exceptions module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Exceptions
Framework.NET 6.NET 7.NET 8
Exceptions

Converters

RGBInvalidValueException

Definition

The RGBInvalidValueException is an exception used in the Converters class when you provide an invalid value for a RGB color.

Usage

c#
using PeyrSharp.Exceptions;
+    
Skip to content

Exceptions

This page is about the exceptions available in PeyrSharp.Exceptions. They are grouped by category.

Compatibility

Exceptions are part of the PeyrSharp.Exceptions module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Exceptions
Framework.NET 6.NET 7.NET 8
Exceptions

Converters

RGBInvalidValueException

Definition

The RGBInvalidValueException is an exception used in the Converters class when you provide an invalid value for a RGB color.

Usage

c#
using PeyrSharp.Exceptions;
 
-throw new RGBInvalidValueException("Please provide correct RGB values.");

HEXInvalidValueException

Definition

The HEXInvalidValueException is an exception used in the Converters class when you provide an invalid value for a HEX color.

Usage

c#
using PeyrSharp.Exceptions;
+throw new RGBInvalidValueException("Please provide correct RGB values.");

HEXInvalidValueException

Definition

The HEXInvalidValueException is an exception used in the Converters class when you provide an invalid value for a HEX color.

Usage

c#
using PeyrSharp.Exceptions;
 
-throw new HEXInvalidValueException("Please provide a correct HEX value.");

Guid

InvalidGuidLengthException

Definition

The InvalidGuidLengthException is an exception used in the Guid class when you provide an invalid value for the length of the Guid. You should provide a length between 1-32.

Usage

c#
using PeyrSharp.Exceptions;
+throw new HEXInvalidValueException("Please provide a correct HEX value.");

Guid

InvalidGuidLengthException

Definition

The InvalidGuidLengthException is an exception used in the Guid class when you provide an invalid value for the length of the Guid. You should provide a length between 1-32.

Usage

c#
using PeyrSharp.Exceptions;
 
 // Guid length
 int length = 45; // Will throw an error
@@ -30,8 +31,8 @@
 if (length <= 0 || length > 32)
 {
     throw new InvalidGuidLengthException("The length of a Guid must be between 1 and 32.");
-}

Released under the MIT License.

- +}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/extensions.html b/docs/extensions.html index 21b8f8b0..69b3a4bd 100644 --- a/docs/extensions.html +++ b/docs/extensions.html @@ -5,21 +5,22 @@ Extensions | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Extensions

This page is about the PeyrSharp.Extensions module.

Compatibility

The PeyrSharp.Extensions module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Classes

Released under the MIT License.

- +
Skip to content

Extensions

This page is about the PeyrSharp.Extensions module.

Compatibility

The PeyrSharp.Extensions module is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/extensions/array.html b/docs/extensions/array.html index 92cfb8f4..44eec54e 100644 --- a/docs/extensions/array.html +++ b/docs/extensions/array.html @@ -5,41 +5,42 @@ ArrayExtensions | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

ArrayExtensions

This page is about the ArrayExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The ArrayExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

Append(item)

Definition

The Append<T>() method adds an item to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to append in the array.

Usage

c#
using PeyrSharp.Extensions;
+    
Skip to content

ArrayExtensions

This page is about the ArrayExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The ArrayExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

Append(item)

Definition

The Append<T>() method adds an item to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to append in the array.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] numbers = { 1, 2, 3, 4 };
 int[] appendNumbers = numbers.Append(5);
-// appendNumbers: { 1, 2, 3, 4, 5 }

Append(items)

Definition

The Append<T>() method adds multiple items to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to append in the array.

Usage

c#
using PeyrSharp.Extensions;
+// appendNumbers: { 1, 2, 3, 4, 5 }

Append(items)

Definition

The Append<T>() method adds multiple items to an existing array of any type. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to append in the array.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] numbers = { 1, 2, 3, 4 };
 int[] appendNumbers = numbers.Append(5, 6);
-// appendNumbers: { 1, 2, 3, 4, 5, 6 }

RemoveElement(item)

Definition

The RemoveElement<T>() method removes an item from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
+// appendNumbers: { 1, 2, 3, 4, 5, 6 }

RemoveElement(item)

Definition

The RemoveElement<T>() method removes an item from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
TitemThe item to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] numbers = { 1, 2, 3, 4, 5 };
 int[] remove = numbers.RemoveItem(5);
-// remove: { 1, 2, 3, 4 }

RemoveElement(items)

Definition

The RemoveElement<T>() method removes multiple items from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
+// remove: { 1, 2, 3, 4 }

RemoveElement(items)

Definition

The RemoveElement<T>() method removes multiple items from an array. It returns an array of the chosen type (T[]).

Arguments

TypeNameMeaning
params T[]itemsThe items to remove from the array.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] numbers = { 1, 2, 3, 4, 5 };
 int[] remove = numbers.RemoveItem(5);
-// remove: { 1, 2, 3, 4 }

UnSplit(array, separator)

Definition

Concatenates the elements of a string array, using the specified separator between each element. Return a string that consists of the elements of array delimited by the separator string. If array has no elements, the method returns an empty string.

Arguments

TypeNameMeaning
stringarrayThe array of strings to concatenate.
stringseparatorThe string to use as a separator.

Usage

c#
using PeyrSharp.Extensions;
+// remove: { 1, 2, 3, 4 }

UnSplit(array, separator)

Definition

Concatenates the elements of a string array, using the specified separator between each element. Return a string that consists of the elements of array delimited by the separator string. If array has no elements, the method returns an empty string.

Arguments

TypeNameMeaning
stringarrayThe array of strings to concatenate.
stringseparatorThe string to use as a separator.

Usage

c#
using PeyrSharp.Extensions;
 
 string[] array = { "a", "b", "c", "d" };
 string final = array.UnSplit(", "); // Concatenate the elements of the array with a comma and a space as a separator
-// final = "a, b, c, d"

Released under the MIT License.

- +// final = "a, b, c, d"

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/extensions/double.html b/docs/extensions/double.html index 41ab58ee..405794d2 100644 --- a/docs/extensions/double.html +++ b/docs/extensions/double.html @@ -5,71 +5,72 @@ DoubleExtensions | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

DoubleExtensions

This page is about the DoubleExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The DoubleExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+    
Skip to content

DoubleExtensions

This page is about the DoubleExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The DoubleExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
 double[] data = new double[] { 1.0, 2.0, 3.0, 4.0, 5.0 };
-double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
 double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
 double median = data.Median();
 
-Console.WriteLine($"The median of the dataset is {median}"); // 3.4

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+Console.WriteLine($"The median of the dataset is {median}"); // 3.4

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
 double[] data = new double[] { 1.2, 3.4, 2.5, 6.8, 5.7 };
 double mode = data.Mode();
 
-Console.WriteLine($"The mode of the dataset is {mode}"); // 1.2

ToInt()

Definition

Converts a double value to an int. To achieve it, it uses the Math.Round() method.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1.2

ToInt()

Definition

Converts a double value to an int. To achieve it, it uses the Math.Round() method.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
 
 int n = 45.6.ToInt();
-// n = 46

ToSeconds(timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+// n = 46

ToSeconds(timeUnits)

Definition

Converts a specified time unit value to seconds. For instance, you can convert days, hours or minutes to seconds. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Extensions;
 
 double seconds = 5.ToSeconds(TimeUnits.Minutes);
-// seconds = 300

ToMinutes(timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+// seconds = 300

ToMinutes(timeUnits)

Definition

Converts a specified time unit value to minutes. For instance, you can convert days, hours or seconds to minutes. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Extensions;
 
 double min = 120.ToMinutes(TimeUnits.Seconds);
-// min = 2

ToHours(timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+// min = 2

ToHours(timeUnits)

Definition

Converts a specified time unit value to hours. For instance, you can convert days, minutes or seconds to hours. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Extensions;
 
 double hours = 1.ToHours(TimeUnits.Days);
-// hours = 24

ToDays(timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
+// hours = 24

ToDays(timeUnits)

Definition

Converts a specified time unit value to days. For instance, you can convert hours, minutes or seconds to days. It returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitstimeUnitsThe unit of the time. (ex: minutes, hours...)

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.Extensions;
 
 double days = 72.ToDays(TimeUnits.Hours);
-// days = 3

ToByte(storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// days = 3

ToByte(storageUnit)

Definition

Converts a size (kb, mb, ...) to byte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
TimeUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double byte = Storage.1(StorageUnits.Kilobyte);
-// byte = 1000

ToKilobyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// byte = 1000

ToKilobyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to kilobyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: byte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double kilobyte = 2000.ToKilobyte(StorageUnits.Byte);
-// kilobyte = 2

ToMegabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// kilobyte = 2

ToMegabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to megabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double megabyte = 1500.ToMegabyte(StorageUnits.Kilobyte);
-// megabyte = 1.5

ToGigabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// megabyte = 1.5

ToGigabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to gigabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, megabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double gigabyte = 1000.ToGigabyte(StorageUnits.Megabyte);
-// gigabyte = 1

ToTerabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// gigabyte = 1

ToTerabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to terabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double terabyte = 1.ToTerabyte(StorageUnits.Petabyte);
-// terabyte = 1000

ToPetabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
+// terabyte = 1000

ToPetabyte(storageUnit)

Definition

Converts a size (kb, mb, ...) to petabyte. Returns a double value.

INFO

This method can also be used in PeyrSharp.Core.Converters.

Arguments

TypeNameMeaning
StorageUnitsstorageUnitThe unit of the value. (ex: kilobyte, gigabyte...)

Usage

c#
using PeyrSharp.Core.Converters;
 
 double petabyte = 1000.ToPetabyte(StorageUnits.Terabyte);
-// petabyte = 1

Released under the MIT License.

- +// petabyte = 1

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/extensions/int.html b/docs/extensions/int.html index 130f40a6..09249de1 100644 --- a/docs/extensions/int.html +++ b/docs/extensions/int.html @@ -5,40 +5,41 @@ IntExtensions | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

IntExtensions

This page is about the IntExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The IntExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

GetDivisors()

Definition

Gets all divisors of a specific number. Returns an array of int[].

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+    
Skip to content

IntExtensions

This page is about the IntExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The IntExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

GetDivisors()

Definition

Gets all divisors of a specific number. Returns an array of int[].

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
 
-int[] divs = 16.GetDivisors(); // { 1, 2, 4, 8, 16 }

IsEven()

Definition

Checks if the number is even. Returns a bool.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+int[] divs = 16.GetDivisors(); // { 1, 2, 4, 8, 16 }

IsEven()

Definition

Checks if the number is even. Returns a bool.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
 
-int[] divs = 16.IsEven(); // true

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+int[] divs = 16.IsEven(); // true

Mean(values)

Definition

Calculates the mean (average) of a dataset. Returns the mean of the dataset as double.

Exceptions

TypeCondition
System.ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] data = new int[] { 1, 2, 3, 4, 5 };
-double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+double mean = data.Mean(); // 5

Median(values)

Definition

Calculates the median of a dataset. Returns the median of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] data = new int[] { 1, 2, 3, 5 };
 double median = data.Median();
 
-Console.WriteLine($"The median of the dataset is {median}"); // 2

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
+Console.WriteLine($"The median of the dataset is {median}"); // 2

Mode(values)

Definition

Calculates the mode of a dataset. Returns the mode of the dataset as double.

Exceptions

TypeCondition
ArgumentExceptionThrown if the dataset is empty.

Usage

c#
using PeyrSharp.Extensions;
 
 int[] data = new int[] { 1, 2, 3, 5 };
 double mode = data.Mode();
 
-Console.WriteLine($"The mode of the dataset is {mode}"); // 1

ToDouble()

Definition

Converts an int to double.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
+Console.WriteLine($"The mode of the dataset is {mode}"); // 1

ToDouble()

Definition

Converts an int to double.

Arguments

This method does not have any arguments.

Usage

c#
using PeyrSharp.Extensions;
 
-double d = 16.ToDouble(); // 16.0d

Released under the MIT License.

- +double d = 16.ToDouble(); // 16.0d

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/extensions/string.html b/docs/extensions/string.html index fd936ec5..bc788380 100644 --- a/docs/extensions/string.html +++ b/docs/extensions/string.html @@ -5,62 +5,63 @@ StringExtensions | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

StringExtensions

This page is about the StringExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The StringExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

CountWords()

Definition

Counts the number of words in a string. Returns int.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+    
Skip to content

StringExtensions

This page is about the StringExtensions class available in PeyrSharp.Extensions. You can find here all of its extension methods.

INFO

This class is static.

Compatibility

The StringExtensions class is part of the PeyrSharp.Extensions module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Extensions
Framework.NET 6.NET 7.NET 8
Extensions

Methods

CountWords()

Definition

Counts the number of words in a string. Returns int.

Arguments

This method has no arguments.

Usage

c#
using PeyrSharp.Extensions;
 
 int numberOfWords = "Hello, this is a test sentence!".CountWords();
-// numberOfWords = 6

CountWords(wordSeparator)

Definition

Counts the number of words in a string, with specified word separators. By default, the method uses those (if you don't pass any argument to it): , ,, ;, ., :, !, ?. Returns int.

Arguments

TypeNameMeaning
string[]wordSeparatorThe separator of the words.

Usage

c#
using PeyrSharp.Extensions;
+// numberOfWords = 6

CountWords(wordSeparator)

Definition

Counts the number of words in a string, with specified word separators. By default, the method uses those (if you don't pass any argument to it): , ,, ;, ., :, !, ?. Returns int.

Arguments

TypeNameMeaning
string[]wordSeparatorThe separator of the words.

Usage

c#
using PeyrSharp.Extensions;
 
 string[] wordSeparator = { " ", ",", ":", "!", "?", ";", "." };
 int numberOfWords = "Hello, this is a test sentence!".CountWords(wordSeparator);
-// numberOfWords = 6

EndsWithSamePunctuation(stringToCheck)

Definition

Checks if a string is ending with the same punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.

Usage

c#
using PeyrSharp.Extensions;
+// numberOfWords = 6

EndsWithSamePunctuation(stringToCheck)

Definition

Checks if a string is ending with the same punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.

Usage

c#
using PeyrSharp.Extensions;
 
 string a = "This is a test sentence.";
 string b = "This is an another test sentence.";
 
-a.EndsWithSamePunctuation(b); // true

EndsWithSamePunctuation(stringToCheck, punctuationToCheck)

Definition

Checks if a string is ending with the same specified punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.
stringpunctuationToCheckThe punctuation sign to check for.

Usage

c#
using PeyrSharp.Extensions;
+a.EndsWithSamePunctuation(b); // true

EndsWithSamePunctuation(stringToCheck, punctuationToCheck)

Definition

Checks if a string is ending with the same specified punctuation than an other one. Returns a bool; true if it is the case.

Arguments

TypeNameMeaning
stringstringToCheckThe string to compare.
stringpunctuationToCheckThe punctuation sign to check for.

Usage

c#
using PeyrSharp.Extensions;
 
 string a = "This is a test sentence.";
 string b = "This is an another test sentence.";
 
-a.EndsWithSamePunctuation(b, "."); // true

EncryptAes(key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
+a.EndsWithSamePunctuation(b, "."); // true

EncryptAes(key)

Definitions

Encrypts a string using AES encryption. Returns the encrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key. This is the same key that will be used to decrypt the text.

Usage

c#
using PeyrSharp.Core;
 
 string encrypted = "Hello!".EncryptAes("password");
-// encrypted = 6NvvTBntd2PdFxXzVbccLw==

DecryptAes(key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
+// encrypted = 6NvvTBntd2PdFxXzVbccLw==

DecryptAes(key)

Definitions

Decrypts a string using AES encryption. Returns the decrypted content as a string as well.

Arguments

TypeNameMeaning
stringkeyThe encryption key that was used during the encryption process.

Usage

c#
using PeyrSharp.Core;
 
 string text = "6NvvTBntd2PdFxXzVbccLw==".DecryptAes("password");
-// text = Hello!

HasRepeatedCharacters()

Definition

Checks if a letter or character is being repeated in a string. Returns bool.

INFO

Only returns true if a character is repeated more than three times. For instance, "11" will return false, whereas "aaaa" will return true.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+// text = Hello!

HasRepeatedCharacters()

Definition

Checks if a letter or character is being repeated in a string. Returns bool.

INFO

Only returns true if a character is repeated more than three times. For instance, "11" will return false, whereas "aaaa" will return true.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
 
-"111".HasRepeatedCharacters(); // true

SplitLines()

Definition

Splits a string lines to an array. Returns string[].

INFO

The method uses the string.Split() method under the hood, which means that it is providing it the following separators: \n, \r, \r\n.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
+"111".HasRepeatedCharacters(); // true

SplitLines()

Definition

Splits a string lines to an array. Returns string[].

INFO

The method uses the string.Split() method under the hood, which means that it is providing it the following separators: \n, \r, \r\n.

Arguments

This methods has no arguments.

Usage

c#
using PeyrSharp.Extensions;
 
 string[] lines = "Hello\nWorld".SplitLines();
-// lines = { "Hello", "World" }

ToUpperAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to uppercase. Returns a string that is equivalent to the current string, but with the characters in the specified range converted to uppercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to uppercase.

Usage

c#
using PeyrSharp.Extensions;
+// lines = { "Hello", "World" }

ToUpperAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to uppercase. Returns a string that is equivalent to the current string, but with the characters in the specified range converted to uppercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to uppercase.

Usage

c#
using PeyrSharp.Extensions;
 
 string str = "aBcDeFgHiJ";
 string upper = str.ToUpperAt(2..6); // Convert the characters at indexes 2 to 6 (inclusive) to uppercase
-// upper = "aBCDEFGhij"

ToUpperAt(s)

Definition

Uppercases the first letter of a string. Returns a string with the first letter uppercased.

Arguments

TypeNameMeaning
stringsThe string to capitalize.

Usage

c#
using PeyrSharp.Extensions;
+// upper = "aBCDEFGhij"

ToUpperAt(s)

Definition

Uppercases the first letter of a string. Returns a string with the first letter uppercased.

Arguments

TypeNameMeaning
stringsThe string to capitalize.

Usage

c#
using PeyrSharp.Extensions;
 
 string str = "test";
 string upper = str.ToUpperAt(); // Uppercase the first letter of the string
-// upper = "Test"

ToLowerAt(s)

Definition

Uppercases the first letter of a string. Returns the input string with the first letter lowercased.

Arguments

TypeNameMeaning
stringsThe string to lowercase.

Usage

c#
using PeyrSharp.Extensions;
-phrase.ToLowerAt(); // "hello world"

ToLowerAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to lowercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to lowercase.

Returns

A string that is equivalent to the current string, but with the characters in the specified range converted to lowercase.

Usage

c#
using PeyrSharp.Extensions;
-string result = text.ToLowerAt(range); // "This is a test sentence."

Reverse(input)

Definition

Reverses a string.

Arguments

TypeNameDescription
stringinputThe string to reverse.

Returns

A string representing the reversed input.

Usage

c#
using PeyrSharp.Extensions;
+// upper = "Test"

ToLowerAt(s)

Definition

Uppercases the first letter of a string. Returns the input string with the first letter lowercased.

Arguments

TypeNameMeaning
stringsThe string to lowercase.

Usage

c#
using PeyrSharp.Extensions;
+phrase.ToLowerAt(); // "hello world"

ToLowerAt(str, r)

Definition

Returns a new string in which the characters in a specified range of the current string are converted to lowercase.

Arguments

TypeNameMeaning
stringstrThe string to modify.
RangerThe range of characters to convert to lowercase.

Returns

A string that is equivalent to the current string, but with the characters in the specified range converted to lowercase.

Usage

c#
using PeyrSharp.Extensions;
+string result = text.ToLowerAt(range); // "This is a test sentence."

Reverse(input)

Definition

Reverses a string.

Arguments

TypeNameDescription
stringinputThe string to reverse.

Returns

A string representing the reversed input.

Usage

c#
using PeyrSharp.Extensions;
 
 string reversed = "Hello, world!".Reverse();
-// Output: "!dlrow ,olleH"

Released under the MIT License.

- +// Output: "!dlrow ,olleH"

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/get-started.html b/docs/get-started.html index eac1bec0..40ebacc8 100644 --- a/docs/get-started.html +++ b/docs/get-started.html @@ -5,26 +5,27 @@ Get Started | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Get Started

Packages and modules

Before installing PeyrSharp, you may want to consider what features you will actually need to use in your project. Indeed, PeyrSharp is divided in multiple modules and packages.

If you think you need all the features of PeyrSharp, you can directly install the PeyrSharp NuGet package. However, you can also install the packages that you only need in your project. Here's a list of all the packages and their features:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • System
  • Update
  • UwpApp
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • LogLevel
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • Array (T[])
  • Double
  • Int
  • String
PeyrSharp.UiHelpers, methods related to Windows Forms, the Windows Presentation Framework (WPF) or user32.dll.
  • Screen
  • WinForms
  • WindowHelper
  • WindowInfo
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platforms.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 6
  • .NET 7
  • .NET 8

INFO

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

INFO

.NET 5 is no longer supported starting with version 2.0.0.2311 and higher.

Installation methods

PeyrShall is available on NuGet, you can install it by running the following command:

.NET CLI

You can add PeyrSharp to your project the .NET CLI.

powershell
dotnet add package PeyrSharp --version 2.0.0.2311

Package Manager

sh
NuGet\Install-Package PeyrSharp -Version 2.0.0.2311

Package Reference

You can specify in your project file that it is dependent on PeyrSharp.

xml
<PackageReference Include="PeyrSharp" Version="2.0.0.2311" />

Start coding

To call methods and classes included in PeyrSharp, you will need to add the corresponding using directives in your code file.

c#
using PeyrSharp.Core;
+    
Skip to content

Get Started

Packages and modules

Before installing PeyrSharp, you may want to consider what features you will actually need to use in your project. Indeed, PeyrSharp is divided in multiple modules and packages.

If you think you need all the features of PeyrSharp, you can directly install the PeyrSharp NuGet package. However, you can also install the packages that you only need in your project. Here's a list of all the packages and their features:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • System
  • Update
  • UwpApp
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • LogLevel
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • Array (T[])
  • Double
  • Int
  • String
PeyrSharp.UiHelpers, methods related to Windows Forms, the Windows Presentation Framework (WPF) or user32.dll.
  • Screen
  • WinForms
  • WindowHelper
  • WindowInfo
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platforms.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 6
  • .NET 7
  • .NET 8

INFO

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

INFO

.NET 5 is no longer supported starting with version 2.0.0.2311 and higher.

Installation methods

PeyrShall is available on NuGet, you can install it by running the following command:

.NET CLI

You can add PeyrSharp to your project the .NET CLI.

powershell
dotnet add package PeyrSharp --version 2.0.0.2311

Package Manager

sh
NuGet\Install-Package PeyrSharp -Version 2.0.0.2311

Package Reference

You can specify in your project file that it is dependent on PeyrSharp.

xml
<PackageReference Include="PeyrSharp" Version="2.0.0.2311" />

Start coding

To call methods and classes included in PeyrSharp, you will need to add the corresponding using directives in your code file.

c#
using PeyrSharp.Core;
 using PeyrSharp.Env;
 using PeyrSharp.Enums;
 using PeyrSharp.Exceptions;
 using PeyrSharp.Extensions;
-using PeyrSharp.UiHelpers; // Windows only

For more information, you can check the reference

Released under the MIT License.

- +using PeyrSharp.UiHelpers; // Windows only

For more information, you can check the reference

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/hashmap.json b/docs/hashmap.json index 6391236f..764d13b5 100644 --- a/docs/hashmap.json +++ b/docs/hashmap.json @@ -1 +1 @@ -{"core_converters.md":"6C56cNih","core_maths_trigonometry.md":"5c5jKXcf","extensions_int.md":"RAFRXmBu","core_maths_percentages.md":"8cN9i0Qt","core_converters_distances.md":"j94oN1s-","env_filesys.md":"TIGgXrh7","core_maths_geometry_rectangle.md":"9Vvt-jZg","core_maths_geometry.md":"M68-y-BQ","core_converters_storage.md":"DcFFwe13","core_password.md":"LQsAddyw","core_json-helper.md":"a-1fEIvX","ui-helpers.md":"PmLqUMhq","core_crypt.md":"Iz-KmL92","core_converters_colors_rgb.md":"GxeutkZn","core_maths.md":"dMy31SfG","ui-helpers_wpf.md":"VJp9Sw-P","core_statusinfo.md":"aIbMn8RF","index.md":"CJ1-5OW0","core_guid.md":"kYzZ0BMK","env.md":"QfnuPXT7","core_maths_geometry_hexagon.md":"eumKgYhc","core_maths_geometry_circle.md":"_Kk7Pf_n","core_converters_speeds.md":"Y_lmMIjM","core_converters_colors_hsv.md":"T--BHYXh","core.md":"eE2VVFJl","core_converters_volumes.md":"WmUKamKT","env_update.md":"o0BN52kR","core_maths_algebra.md":"MRPFpbqm","reference.md":"nbnI4pmn","core_maths_geometry_cone.md":"k74Joa1S","enumerations.md":"m_VWoxBt","extensions_array.md":"19c-BdD1","ui-helpers_windowhelpers.md":"FJdjs9yy","core_maths_proba.md":"HbfZ0Wa_","core_xml-helper.md":"sM4mITbX","core_internet.md":"t6P-0dDQ","core_maths_geometry_sphere.md":"ldOpJYob","extensions.md":"UC5A5ESv","core_maths_geometry_cube.md":"yUfCovxA","core_maths_stats.md":"YOmCw36T","get-started.md":"sgTi9UK7","core_converters_time.md":"95VU3ogC","core_converters_masses.md":"r8eQT7wp","ui-helpers_screen.md":"1Hjaxdza","env_logger.md":"haCHq5w_","exceptions.md":"owUguMWH","core_converters_temperatures.md":"efpRYy98","core_guid-options.md":"fFbpZsq9","ui-helpers_windowinfo.md":"IIQbQgEs","core_converters_energies.md":"AYYvhktf","core_converters_colors_hex.md":"cIg-Jmws","ui-helpers_winforms.md":"mQp9Cowg","env_uwpapp.md":"1DykwYWJ","core_maths_geometry_cylinder.md":"-zAgWoyI","core_maths_geometry_triangle.md":"MD1JVnKd","core_maths_geometry_diamond.md":"_9QY6uTr","env_system.md":"u0SfBOIo","core_converters_angle.md":"mHSJ0gbw","extensions_double.md":"IFJ4CqIh","intro.md":"Zcu8cZVJ","core_maths_geometry_pyramid.md":"-Lw_iidT","extensions_string.md":"HaxhSKCL"} +{"core.md":"DaReq_QN","core_converters.md":"5FAuzaJT","core_converters_angle.md":"C_Lsff89","core_converters_colors_hex.md":"BZ6S7wck","core_converters_colors_hsv.md":"I_OJZCpr","core_converters_colors_rgb.md":"CmZZROaF","core_converters_distances.md":"DtvYpMk9","core_converters_energies.md":"BPn2952Q","core_converters_masses.md":"VxzQu0FO","core_converters_speeds.md":"CUK2gTiZ","core_converters_storage.md":"JJxk-KF6","core_converters_temperatures.md":"B8Yx1kbL","core_converters_time.md":"fIrn56Wt","core_converters_volumes.md":"CGJalpwA","core_crypt.md":"C_Sq3mTp","core_guid-options.md":"CLTrnOsE","core_guid.md":"D-4-BtDI","core_internet.md":"Qau1Rxfv","core_json-helper.md":"CiOXpGzn","core_maths.md":"CZdGaJXQ","core_maths_algebra.md":"BoWMZZHz","core_maths_geometry.md":"CPNpoYVr","core_maths_geometry_circle.md":"Xg0b1W98","core_maths_geometry_cone.md":"M1qQevjf","core_maths_geometry_cube.md":"B-neERol","core_maths_geometry_cylinder.md":"RLLKEki_","core_maths_geometry_diamond.md":"goRBV6Dg","core_maths_geometry_hexagon.md":"DRVtn7ky","core_maths_geometry_pyramid.md":"DkQteKKW","core_maths_geometry_rectangle.md":"6WZIAXZi","core_maths_geometry_sphere.md":"B9o406VY","core_maths_geometry_triangle.md":"D9mNJpQf","core_maths_percentages.md":"BFidtkIV","core_maths_proba.md":"Dfs71kqv","core_maths_stats.md":"DfcopivY","core_maths_trigonometry.md":"DTBQgTEn","core_password.md":"OZ-SzNUO","core_statusinfo.md":"DDsRwCs4","core_xml-helper.md":"FsvtOjjY","enumerations.md":"CQyNT-Zn","env.md":"BVRFeyb6","env_filesys.md":"CQB4pp3S","env_logger.md":"Bg3VjvE1","env_system.md":"B6EIUxOU","env_update.md":"ulgnx1xz","env_uwpapp.md":"CdbJcp25","exceptions.md":"D68PZpIc","extensions.md":"SxcfOaqm","extensions_array.md":"CnLMU1VT","extensions_double.md":"CSUy1NJT","extensions_int.md":"BDI2Nun1","extensions_string.md":"Dat63wzL","get-started.md":"CCow5_4D","index.md":"Bn6XtIl7","intro.md":"doHlkuHc","reference.md":"D87QmNDT","ui-helpers.md":"BotLYRDl","ui-helpers_screen.md":"23EvVkRP","ui-helpers_windowhelpers.md":"DgNXdyEd","ui-helpers_windowinfo.md":"CRr02C-E","ui-helpers_winforms.md":"EIjXmPIi","ui-helpers_wpf.md":"BipWH8dA"} diff --git a/docs/index.html b/docs/index.html index d404fa9c..21ed54ca 100644 --- a/docs/index.html +++ b/docs/index.html @@ -5,21 +5,22 @@ PeyrSharp | A C# library designed to make developers' job easier. - - + + + - - - - - + + + + + -
Skip to content

PeyrSharp

Made for you.

A C# library designed to make developers' job easier.

PeyrSharp

Released under the MIT License.

- +
Skip to content

PeyrSharp

Made for you.

A C# library designed to make developers' job easier.

PeyrSharp

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/intro.html b/docs/intro.html index 550f71a8..3ffb5252 100644 --- a/docs/intro.html +++ b/docs/intro.html @@ -5,21 +5,22 @@ Introduction | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Introduction

The roots

In March 2020, we published LeoCorpLibrary, which was also a C# library that contains useful methods. When we started the development of it, we didn't know where the project will go yet. Over the releases, we've added more and more methods and new features. However, the meaning and the purpose of LeoCorpLibrary was becoming less clear for everyone; it was becoming a mess. This is why we decided to rather not release v5, but instead, we decided to make a brand new .NET Library, PeyrSharp.

Our next product

PeyrSharp is a C# written library designed to make developers' life easier. We've all written code that we wish we hadn't. PeyrSharp is here to respond to this need; by implementing useful methods in various domains: Mathematics, Web/HTTP requests, unit converters, extensions, environment-related operations, and more!

Modules

PeyrSharp is divided in multiple packages:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platform.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

NOTE

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

Released under the MIT License.

- +
Skip to content

Introduction

The roots

In March 2020, we published LeoCorpLibrary, which was also a C# library that contains useful methods. When we started the development of it, we didn't know where the project will go yet. Over the releases, we've added more and more methods and new features. However, the meaning and the purpose of LeoCorpLibrary was becoming less clear for everyone; it was becoming a mess. This is why we decided to rather not release v5, but instead, we decided to make a brand new .NET Library, PeyrSharp.

Our next product

PeyrSharp is a C# written library designed to make developers' life easier. We've all written code that we wish we hadn't. PeyrSharp is here to respond to this need; by implementing useful methods in various domains: Mathematics, Web/HTTP requests, unit converters, extensions, environment-related operations, and more!

Modules

PeyrSharp is divided in multiple packages:

PeyrSharp, the main package, that contains all of the followings:

PeyrSharp.Core, the basic methods and features of C#
  • Maths
  • Password
  • Guid
  • Converters
  • Internet
  • Crypt
PeyrSharp.Env, methods related to the file system and to the current execution environment.
  • FileSys
  • Logger
  • Update
  • System
PeyrSharp.Enums, all enumerations used by PeyrSharp
  • WindowsVersion
  • TimeUnits
  • SystemThemes
  • OperatingSystems
  • StorageUnits
  • ControlAlignment
  • PasswordPresets
  • PasswordStrength
PeyrSharp.Exceptions, all exceptions used by PeyrSharp
  • RGBInvalidValueException
  • HEXInvalidValueException
  • InvalidGuidLengthException
PeyrSharp.Extensions, extension methods, that extends basic types, such as string, int, double or arrays (T[]).
  • String
  • Int
  • Double
  • Array (T[])
PeyrSharp.UiHelpers, methods related to Windows Forms or to the Windows Presentation Framework (WPF).
  • WinForms
  • Screen
  • WPF

Compatibility

Platforms

Some modules of PeyrSharp are targeting features only available in specific operating systems. Thus, some packages aren't available on all platform.

Package/PlatformWindowsmacOSLinux + others
Core
Env⚠️⚠️
Enums
Exceptions
Extensions
UiHelpers

Caption:

  • ✅ Full Support
  • ⚠️ Partial Support
  • ❌ Unsupported platform

Frameworks

PeyrSharp is available in the following frameworks

  • .NET 5
  • .NET 6
  • .NET 7

NOTE

.NET Framework and .NET Core are not targeted by PeyrSharp, since they are no longer supported.

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/reference.html b/docs/reference.html index 2962e597..40b85e8c 100644 --- a/docs/reference.html +++ b/docs/reference.html @@ -5,21 +5,22 @@ Reference | PeyrSharp - - + + + - - - - - + + + + + - - + + \ No newline at end of file diff --git a/docs/ui-helpers.html b/docs/ui-helpers.html index 9331cac5..a0be08b3 100644 --- a/docs/ui-helpers.html +++ b/docs/ui-helpers.html @@ -5,21 +5,22 @@ UiHelpers | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

UiHelpers

This page is about the exceptions available in PeyrSharp.UiHelpers. They are grouped by category.

Compatibility

UiHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Classes

Released under the MIT License.

- +
Skip to content

UiHelpers

This page is about the exceptions available in PeyrSharp.UiHelpers. They are grouped by category.

Compatibility

UiHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Classes

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/ui-helpers/screen.html b/docs/ui-helpers/screen.html index 960d45e3..8a1ce2e9 100644 --- a/docs/ui-helpers/screen.html +++ b/docs/ui-helpers/screen.html @@ -5,20 +5,21 @@ Screen | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

Screen

This page is about the ScreenHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

ScreenHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

GetDpi(form)

Definition

Gets the DPI of the screen where the Windows Form is located. It returns a double value.

Arguments

TypeNameMeaning
FormformThe form to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
+    
Skip to content

Screen

This page is about the ScreenHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

ScreenHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

GetDpi(form)

Definition

Gets the DPI of the screen where the Windows Form is located. It returns a double value.

Arguments

TypeNameMeaning
FormformThe form to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
 using System;
 using System.Windows.Forms;
 
@@ -28,7 +29,7 @@
     {
         MessageBox.Show(ScreenHelpers.GetDpi(this));
     }
-}

GetDpi(window)

Definition

Gets the DPI of the screen where the Window is located. It returns a double value.

Arguments

TypeNameMeaning
WindowwindowThe Window to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
+}

GetDpi(window)

Definition

Gets the DPI of the screen where the Window is located. It returns a double value.

Arguments

TypeNameMeaning
WindowwindowThe Window to get the DPI of.

Usage

c#
using PeyrSharp.UiHelpers;
 using System;
 using System.Windows;
 
@@ -38,7 +39,7 @@
     {
         MessageBox.Show(ScreenHelpers.GetDpi(this));
     }
-}

GetScreenScaling(form)

Definition

Gets the scaling of the screen where the Windows Form is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
FormformThe form to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
+}

GetScreenScaling(form)

Definition

Gets the scaling of the screen where the Windows Form is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
FormformThe form to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
 using System;
 using System.Windows.Forms;
 
@@ -48,7 +49,7 @@
     {
         MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
     }
-}

GetScreenScaling(window)

Definition

Gets the scaling of the screen where the Window is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
WindowwindowThe window to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
+}

GetScreenScaling(window)

Definition

Gets the scaling of the screen where the Window is located. It returns a double value.

Possible values:

  • 100
  • 125
  • 150
  • 175
  • 200

Arguments

TypeNameMeaning
WindowwindowThe window to get the scale of.

Usage

c#
using PeyrSharp.UiHelpers;
 using System;
 using System.Windows;
 
@@ -58,8 +59,8 @@
     {
         MessageBox.Show(ScreenHelpers.GetScreenScaling(this));
     }
-}

Released under the MIT License.

- +}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/ui-helpers/windowhelpers.html b/docs/ui-helpers/windowhelpers.html index a0f3958f..db092d75 100644 --- a/docs/ui-helpers/windowhelpers.html +++ b/docs/ui-helpers/windowhelpers.html @@ -5,20 +5,21 @@ WindowHelpers | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

WindowHelpers

This page is about the WindowHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WindowHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

GetWindows()

Definition

Retrieves a list of currently visible windows.

Returns

A list of WindowInfo objects representing the visible windows.

Usage

c#
using PeyrSharp.UiHelpers;
+    
Skip to content

WindowHelpers

This page is about the WindowHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WindowHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

GetWindows()

Definition

Retrieves a list of currently visible windows.

Returns

A list of WindowInfo objects representing the visible windows.

Usage

c#
using PeyrSharp.UiHelpers;
 using System.Collections.Generic;
 
 public class MyWindowManager
@@ -30,34 +31,34 @@
             Console.WriteLine(window.Name);
         }
     }
-}

CloseWindow(windowInfo)

Definition

Closes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to close.

Usage

c#
using PeyrSharp.UiHelpers;
+}

CloseWindow(windowInfo)

Definition

Closes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to close.

Usage

c#
using PeyrSharp.UiHelpers;
 using System.Linq;
 
 var ws = WindowHelpers.GetWindows();
 var w = ws.Where(x => x.ClassName == "Notepad").First();
-WindowHelpers.CloseWindow(w)

MaximizeWindow(windowInfo)

Definition

Maximizes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to maximize.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.CloseWindow(w)

MaximizeWindow(windowInfo)

Definition

Maximizes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to maximize.

Usage

c#
using PeyrSharp.UiHelpers;
 using System.Linq;
 
 var ws = WindowHelpers.GetWindows();
 var w = ws.Where(x => x.ClassName == "Notepad").First();
-WindowHelpers.MaximizeWindow(w)

RestoreWindow(windowInfo)

Definition

Restores a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to restore.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.MaximizeWindow(w)

RestoreWindow(windowInfo)

Definition

Restores a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to restore.

Usage

c#
using PeyrSharp.UiHelpers;
 using System.Linq;
 
 var ws = WindowHelpers.GetWindows();
 var w = ws.Where(x => x.ClassName == "Notepad").First();
-WindowHelpers.RestoreWindow(w)

MinimizeWindow(windowInfo)

Definition

Minimizes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to minimize.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.RestoreWindow(w)

MinimizeWindow(windowInfo)

Definition

Minimizes a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to minimize.

Usage

c#
using PeyrSharp.UiHelpers;
 using System.Linq;
 
 var ws = WindowHelpers.GetWindows();
 var w = ws.Where(x => x.ClassName == "Notepad").First();
-WindowHelpers.MinimizeWindow(w)

MoveWindow(windowInfo, x, y)

Definition

Moves a window to specified coordinates.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to move.
intxThe X-axis coordinates.
intyThe Y-axis coordinates.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.MinimizeWindow(w)

MoveWindow(windowInfo, x, y)

Definition

Moves a window to specified coordinates.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to move.
intxThe X-axis coordinates.
intyThe Y-axis coordinates.

Usage

c#
using PeyrSharp.UiHelpers;
 
-WindowHelpers.MoveWindow(w, 100, 200); // w is a WindowInfo object, see previous examples.

SetTopMost(windowInfo, isTopMost)

Definition

Sets the Topmost property of a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to target.
boolisTopMostThe value of the TopMost property.

Note

The isTopMost parameter can be set to true if the window should always stay on top; false otherwise.

Usage

c#
using PeyrSharp.UiHelpers;
-WindowHelpers.SetTopMost(w, true)

GetWindowSize(windowInfo)

Definition

Gets the width and height of a window. It returns a tuple of integers representing the width and height of the window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to get the size of.

Exceptions

TypeDescription
InvalidOperationExceptionThrown if failed to retrieve window size.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.MoveWindow(w, 100, 200); // w is a WindowInfo object, see previous examples.

SetTopMost(windowInfo, isTopMost)

Definition

Sets the Topmost property of a window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to target.
boolisTopMostThe value of the TopMost property.

Note

The isTopMost parameter can be set to true if the window should always stay on top; false otherwise.

Usage

c#
using PeyrSharp.UiHelpers;
+WindowHelpers.SetTopMost(w, true)

GetWindowSize(windowInfo)

Definition

Gets the width and height of a window. It returns a tuple of integers representing the width and height of the window.

Arguments

TypeNameMeaning
WindowInfowindowInfoThe window to get the size of.

Exceptions

TypeDescription
InvalidOperationExceptionThrown if failed to retrieve window size.

Usage

c#
using PeyrSharp.UiHelpers;
 
 var size = WindowHelpers.GetWindowSize(w); // w is a WindowInfo object, see previous examples.
-Console.WriteLine($"Width: {size.Item1}, Height: {size.Item2}");

Released under the MIT License.

- +Console.WriteLine($"Width: {size.Item1}, Height: {size.Item2}");

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/ui-helpers/windowinfo.html b/docs/ui-helpers/windowinfo.html index 9157819a..72645137 100644 --- a/docs/ui-helpers/windowinfo.html +++ b/docs/ui-helpers/windowinfo.html @@ -5,39 +5,40 @@ WindowInfo | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

WindowInfo

This page is about the WindowInfo class available in PeyrSharp.UiHelpers. It represents information about a window.

Compatibility

The WindowInfo class is part of the PeyrSharp.UiHelpers module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.UiHelpers might not be available in all platforms.

Properties

Handle

Definition

c#
public IntPtr Handle { get; set; }

Gets or sets the handle of the window.

Usage

c#
// Create a new WindowInfo object
+    
Skip to content

WindowInfo

This page is about the WindowInfo class available in PeyrSharp.UiHelpers. It represents information about a window.

Compatibility

The WindowInfo class is part of the PeyrSharp.UiHelpers module, and is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
Env
Framework.NET 6.NET 7.NET 8
Env

WARNING

Some methods, classes or features of PeyrSharp.UiHelpers might not be available in all platforms.

Properties

Handle

Definition

c#
public IntPtr Handle { get; set; }

Gets or sets the handle of the window.

Usage

c#
// Create a new WindowInfo object
 WindowInfo windowInfo = windowInfos[0]; // Assuming you have used the GetWindows() method.
 
 // Get the handle of the window
-Console.WriteLine(windowInfo.Handle); // Output: 123456

Name

Definition

c#
public string Name { get; set; }

Gets or sets the name of the window.

Usage

c#
// Create a new WindowInfo object
+Console.WriteLine(windowInfo.Handle); // Output: 123456

Name

Definition

c#
public string Name { get; set; }

Gets or sets the name of the window.

Usage

c#
// Create a new WindowInfo object
 WindowInfo windowInfo = new WindowInfo();
 
 // Set the name of the window
 windowInfo.Name = "MyWindow";
 
 // Get the name of the window
-Console.WriteLine(windowInfo.Name); // Output: MyWindow

ClassName

Definition

c#
public string ClassName { get; set; }

Gets or sets the class name of the window.

Usage

c#
// Create a new WindowInfo object
+Console.WriteLine(windowInfo.Name); // Output: MyWindow

ClassName

Definition

c#
public string ClassName { get; set; }

Gets or sets the class name of the window.

Usage

c#
// Create a new WindowInfo object
 WindowInfo windowInfo = new WindowInfo();
 
 // Set the class name of the window
 windowInfo.ClassName = "MyWindowClass";
 
 // Get the class name of the window
-Console.WriteLine(windowInfo.ClassName); // Output: MyWindowClass

Released under the MIT License.

- +Console.WriteLine(windowInfo.ClassName); // Output: MyWindowClass

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/ui-helpers/winforms.html b/docs/ui-helpers/winforms.html index d215bd6a..0b32aaba 100644 --- a/docs/ui-helpers/winforms.html +++ b/docs/ui-helpers/winforms.html @@ -5,20 +5,21 @@ WinForms | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

WinForms

This page is about the WinFormsHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

CenterControl(control, form)

Definition

Centers horizontally and vertically a Control on a Form.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.

Usage

c#
using PeyrSharp.UiHelpers;
+    
Skip to content

WinForms

This page is about the WinFormsHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

CenterControl(control, form)

Definition

Centers horizontally and vertically a Control on a Form.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.

Usage

c#
using PeyrSharp.UiHelpers;
 using System;
 using System.Windows.Forms;
 
@@ -29,7 +30,7 @@
         Button button = (Button)sender;
         WinFormsHelpers.CenterControl(button, this);
     }
-}

CenterControl(control, form, controlAlignment)

Definition

Centers a Control on a Form, with a specific ControlAlignment.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.
ControlAlignmentcontrolAlignmentThe alignment of the control.

Usage

c#
using PeyrSharp.Enums;
+}

CenterControl(control, form, controlAlignment)

Definition

Centers a Control on a Form, with a specific ControlAlignment.

Arguments

TypeNameMeaning
ControlcontrolThe control to center.
FormformThe form where the control needs to be centered.
ControlAlignmentcontrolAlignmentThe alignment of the control.

Usage

c#
using PeyrSharp.Enums;
 using PeyrSharp.UiHelpers;
 using System;
 using System.Windows.Forms;
@@ -43,7 +44,7 @@
         // Center the button vertically
         WinFormsHelpers.CenterControl(button, this, ControlAlignment.Vertical);
     }
-}

CenterForm(form)

Definition

Centers horizontally and vertically a Form on the screen.

Arguments

TypeNameMeaning
FormformThe form to center.

Usage

c#
using PeyrSharp.UiHelpers;
+}

CenterForm(form)

Definition

Centers horizontally and vertically a Form on the screen.

Arguments

TypeNameMeaning
FormformThe form to center.

Usage

c#
using PeyrSharp.UiHelpers;
 using System;
 using System.Windows.Forms;
 
@@ -54,8 +55,8 @@
         // Put the current form in the middle of the screen
         WinFormsHelpers.CenterForm(this);
     }
-}

Released under the MIT License.

- +}

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/ui-helpers/wpf.html b/docs/ui-helpers/wpf.html index a4e9b29f..e6804c39 100644 --- a/docs/ui-helpers/wpf.html +++ b/docs/ui-helpers/wpf.html @@ -5,24 +5,25 @@ WPF | PeyrSharp - - + + + - - - - - + + + + + -
Skip to content

WPF

This page is about the WpfHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

CenterWindow(window)

Definition

Centers a Window on the primary screen.

Arguments

TypeNameMeaning
WindowwindowThe Window to center.

Usage

c#
using PeyrSharp.UiHelpers;
+    
Skip to content

WPF

This page is about the WpfHelpers class available in PeyrSharp.UiHelpers. This page is about all of its methods.

Compatibility

WinFormsHelpers are part of the PeyrSharp.UiHelpers module, which is compatible with all of these frameworks and platforms:

Package/PlatformWindowsmacOSLinux + others
UiHelpers
Framework.NET 6.NET 7.NET 8
UiHelpers

Methods

CenterWindow(window)

Definition

Centers a Window on the primary screen.

Arguments

TypeNameMeaning
WindowwindowThe Window to center.

Usage

c#
using PeyrSharp.UiHelpers;
 
 Window window = new Window();
-WpfHelpers.CenterWindow(window); // Center the window on the primary screen

Released under the MIT License.

- +WpfHelpers.CenterWindow(window); // Center the window on the primary screen

Released under the MIT License.

+ \ No newline at end of file diff --git a/docs/vp-icons.css b/docs/vp-icons.css new file mode 100644 index 00000000..c590da81 --- /dev/null +++ b/docs/vp-icons.css @@ -0,0 +1 @@ +.vpi-social-github{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E")}.vpi-social-twitter{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M21.543 7.104c.015.211.015.423.015.636c0 6.507-4.954 14.01-14.01 14.01v-.003A13.94 13.94 0 0 1 0 19.539a9.88 9.88 0 0 0 7.287-2.041a4.93 4.93 0 0 1-4.6-3.42a4.9 4.9 0 0 0 2.223-.084A4.926 4.926 0 0 1 .96 9.167v-.062a4.9 4.9 0 0 0 2.235.616A4.93 4.93 0 0 1 1.67 3.148a13.98 13.98 0 0 0 10.15 5.144a4.929 4.929 0 0 1 8.39-4.49a9.9 9.9 0 0 0 3.128-1.196a4.94 4.94 0 0 1-2.165 2.724A9.8 9.8 0 0 0 24 4.555a10 10 0 0 1-2.457 2.549'/%3E%3C/svg%3E")}.vpi-social-youtube{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M23.498 6.186a3.02 3.02 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.02 3.02 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.02 3.02 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.02 3.02 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814M9.545 15.568V8.432L15.818 12z'/%3E%3C/svg%3E")} \ No newline at end of file