UNPKG

react-notion-blocks

Version:

A library for mapping Notion blocks to React components

39 lines (37 loc) 57.9 kB
(function(b,C){typeof exports=="object"&&typeof module<"u"?C(exports,require("react")):typeof define=="function"&&define.amd?define(["exports","react"],C):(b=typeof globalThis<"u"?globalThis:b||self,C(b.NotionMapper={},b.React))})(this,function(b,C){"use strict";var He=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},be={exports:{}},ue={};/** * @license React * react-jsx-runtime.production.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Ye;function xt(){if(Ye)return ue;Ye=1;var e=Symbol.for("react.transitional.element"),o=Symbol.for("react.fragment");function r(d,g,j){var A=null;if(j!==void 0&&(A=""+j),g.key!==void 0&&(A=""+g.key),"key"in g){j={};for(var c in g)c!=="key"&&(j[c]=g[c])}else j=g;return g=j.ref,{$$typeof:e,type:d,key:A,ref:g!==void 0?g:null,props:j}}return ue.Fragment=o,ue.jsx=r,ue.jsxs=r,ue}var ce={};/** * @license React * react-jsx-runtime.development.js * * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */var Ze;function vt(){return Ze||(Ze=1,process.env.NODE_ENV!=="production"&&function(){function e(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===R?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case s:return"Fragment";case u:return"Portal";case x:return"Profiler";case h:return"StrictMode";case D:return"Suspense";case ne:return"SuspenseList"}if(typeof t=="object")switch(typeof t.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),t.$$typeof){case $:return(t.displayName||"Context")+".Provider";case m:return(t._context.displayName||"Context")+".Consumer";case O:var f=t.render;return t=t.displayName,t||(t=f.displayName||f.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case ae:return f=t.displayName||null,f!==null?f:e(t.type)||"Memo";case pe:f=t._payload,t=t._init;try{return e(t(f))}catch{}}return null}function o(t){return""+t}function r(t){try{o(t);var f=!1}catch{f=!0}if(f){f=console;var p=f.error,F=typeof Symbol=="function"&&Symbol.toStringTag&&t[Symbol.toStringTag]||t.constructor.name||"Object";return p.call(f,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",F),o(t)}}function d(){}function g(){if(J===0){V=console.log,Q=console.info,K=console.warn,ie=console.error,xe=console.group,se=console.groupCollapsed,ee=console.groupEnd;var t={configurable:!0,enumerable:!0,value:d,writable:!0};Object.defineProperties(console,{info:t,log:t,warn:t,error:t,group:t,groupCollapsed:t,groupEnd:t})}J++}function j(){if(J--,J===0){var t={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:H({},t,{value:V}),info:H({},t,{value:Q}),warn:H({},t,{value:K}),error:H({},t,{value:ie}),group:H({},t,{value:xe}),groupCollapsed:H({},t,{value:se}),groupEnd:H({},t,{value:ee})})}0>J&&console.error("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}function A(t){if(ve===void 0)try{throw Error()}catch(p){var f=p.stack.trim().match(/\n( *(at )?)/);ve=f&&f[1]||"",oe=-1<p.stack.indexOf(` at`)?" (<anonymous>)":-1<p.stack.indexOf("@")?"@unknown:0:0":""}return` `+ve+t+oe}function c(t,f){if(!t||Ue)return"";var p=De.get(t);if(p!==void 0)return p;Ue=!0,p=Error.prepareStackTrace,Error.prepareStackTrace=void 0;var F=null;F=M.H,M.H=null,g();try{var z={DetermineComponentFrameRoot:function(){try{if(f){var X=function(){throw Error()};if(Object.defineProperty(X.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(X,[])}catch(W){var we=W}Reflect.construct(t,[],X)}else{try{X.call()}catch(W){we=W}t.call(X.prototype)}}else{try{throw Error()}catch(W){we=W}(X=t())&&typeof X.catch=="function"&&X.catch(function(){})}}catch(W){if(W&&we&&typeof W.stack=="string")return[W.stack,we.stack]}return[null,null]}};z.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var N=Object.getOwnPropertyDescriptor(z.DetermineComponentFrameRoot,"name");N&&N.configurable&&Object.defineProperty(z.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var y=z.DetermineComponentFrameRoot(),Z=y[0],le=y[1];if(Z&&le){var B=Z.split(` `),te=le.split(` `);for(y=N=0;N<B.length&&!B[N].includes("DetermineComponentFrameRoot");)N++;for(;y<te.length&&!te[y].includes("DetermineComponentFrameRoot");)y++;if(N===B.length||y===te.length)for(N=B.length-1,y=te.length-1;1<=N&&0<=y&&B[N]!==te[y];)y--;for(;1<=N&&0<=y;N--,y--)if(B[N]!==te[y]){if(N!==1||y!==1)do if(N--,y--,0>y||B[N]!==te[y]){var ye=` `+B[N].replace(" at new "," at ");return t.displayName&&ye.includes("<anonymous>")&&(ye=ye.replace("<anonymous>",t.displayName)),typeof t=="function"&&De.set(t,ye),ye}while(1<=N&&0<=y);break}}}finally{Ue=!1,M.H=F,j(),Error.prepareStackTrace=p}return B=(B=t?t.displayName||t.name:"")?A(B):"",typeof t=="function"&&De.set(t,B),B}function _(t){if(t==null)return"";if(typeof t=="function"){var f=t.prototype;return c(t,!(!f||!f.isReactComponent))}if(typeof t=="string")return A(t);switch(t){case D:return A("Suspense");case ne:return A("SuspenseList")}if(typeof t=="object")switch(t.$$typeof){case O:return t=c(t.render,!1),t;case ae:return _(t.type);case pe:f=t._payload,t=t._init;try{return _(t(f))}catch{}}return""}function P(){var t=M.A;return t===null?null:t.getOwner()}function q(t){if(Y.call(t,"key")){var f=Object.getOwnPropertyDescriptor(t,"key").get;if(f&&f.isReactWarning)return!1}return t.key!==void 0}function T(t,f){function p(){ft||(ft=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",f))}p.isReactWarning=!0,Object.defineProperty(t,"key",{get:p,configurable:!0})}function I(){var t=e(this.type);return pt[t]||(pt[t]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),t=this.props.ref,t!==void 0?t:null}function w(t,f,p,F,z,N){return p=N.ref,t={$$typeof:l,type:t,key:f,props:N,_owner:z},(p!==void 0?p:null)!==null?Object.defineProperty(t,"ref",{enumerable:!1,get:I}):Object.defineProperty(t,"ref",{enumerable:!1,value:null}),t._store={},Object.defineProperty(t._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(t,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.freeze&&(Object.freeze(t.props),Object.freeze(t)),t}function S(t,f,p,F,z,N){if(typeof t=="string"||typeof t=="function"||t===s||t===x||t===h||t===D||t===ne||t===qe||typeof t=="object"&&t!==null&&(t.$$typeof===pe||t.$$typeof===ae||t.$$typeof===$||t.$$typeof===m||t.$$typeof===O||t.$$typeof===U||t.getModuleId!==void 0)){var y=f.children;if(y!==void 0)if(F)if(me(y)){for(F=0;F<y.length;F++)k(y[F],t);Object.freeze&&Object.freeze(y)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else k(y,t)}else y="",(t===void 0||typeof t=="object"&&t!==null&&Object.keys(t).length===0)&&(y+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports."),t===null?F="null":me(t)?F="array":t!==void 0&&t.$$typeof===l?(F="<"+(e(t.type)||"Unknown")+" />",y=" Did you accidentally export a JSX literal instead of a component?"):F=typeof t,console.error("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",F,y);if(Y.call(f,"key")){y=e(t);var Z=Object.keys(f).filter(function(B){return B!=="key"});F=0<Z.length?"{key: someKey, "+Z.join(": ..., ")+": ...}":"{key: someKey}",ht[y+F]||(Z=0<Z.length?"{"+Z.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX: let props = %s; <%s {...props} /> React keys must be passed directly to JSX without using spread: let props = %s; <%s key={someKey} {...props} />`,F,y,Z,y),ht[y+F]=!0)}if(y=null,p!==void 0&&(r(p),y=""+p),q(f)&&(r(f.key),y=""+f.key),"key"in f){p={};for(var le in f)le!=="key"&&(p[le]=f[le])}else p=f;return y&&T(p,typeof t=="function"?t.displayName||t.name||"Unknown":t),w(t,y,N,z,P(),p)}function k(t,f){if(typeof t=="object"&&t&&t.$$typeof!==kt){if(me(t))for(var p=0;p<t.length;p++){var F=t[p];v(F)&&E(F,f)}else if(v(t))t._store&&(t._store.validated=1);else if(t===null||typeof t!="object"?p=null:(p=he&&t[he]||t["@@iterator"],p=typeof p=="function"?p:null),typeof p=="function"&&p!==t.entries&&(p=p.call(t),p!==t))for(;!(t=p.next()).done;)v(t.value)&&E(t.value,f)}}function v(t){return typeof t=="object"&&t!==null&&t.$$typeof===l}function E(t,f){if(t._store&&!t._store.validated&&t.key==null&&(t._store.validated=1,f=a(f),!mt[f])){mt[f]=!0;var p="";t&&t._owner!=null&&t._owner!==P()&&(p=null,typeof t._owner.tag=="number"?p=e(t._owner.type):typeof t._owner.name=="string"&&(p=t._owner.name),p=" It was passed a child from "+p+".");var F=M.getCurrentStack;M.getCurrentStack=function(){var z=_(t.type);return F&&(z+=F()||""),z},console.error('Each child in a list should have a unique "key" prop.%s%s See https://react.dev/link/warning-keys for more information.',f,p),M.getCurrentStack=F}}function a(t){var f="",p=P();return p&&(p=e(p.type))&&(f=` Check the render method of \``+p+"`."),f||(t=e(t))&&(f=` Check the top-level render call using <`+t+">."),f}var n=C,l=Symbol.for("react.transitional.element"),u=Symbol.for("react.portal"),s=Symbol.for("react.fragment"),h=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),m=Symbol.for("react.consumer"),$=Symbol.for("react.context"),O=Symbol.for("react.forward_ref"),D=Symbol.for("react.suspense"),ne=Symbol.for("react.suspense_list"),ae=Symbol.for("react.memo"),pe=Symbol.for("react.lazy"),qe=Symbol.for("react.offscreen"),he=Symbol.iterator,R=Symbol.for("react.client.reference"),M=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Y=Object.prototype.hasOwnProperty,H=Object.assign,U=Symbol.for("react.client.reference"),me=Array.isArray,J=0,V,Q,K,ie,xe,se,ee;d.__reactDisabledLog=!0;var ve,oe,Ue=!1,De=new(typeof WeakMap=="function"?WeakMap:Map),kt=Symbol.for("react.client.reference"),ft,pt={},ht={},mt={};ce.Fragment=s,ce.jsx=function(t,f,p,F,z){return S(t,f,p,!1,F,z)},ce.jsxs=function(t,f,p,F,z){return S(t,f,p,!0,F,z)}}()),ce}var We;function yt(){return We||(We=1,process.env.NODE_ENV==="production"?be.exports=xt():be.exports=vt()),be.exports}var i=yt();const Ge={default:"",gray:"text-gray-500 dark:text-gray-400",brown:"text-[#9F6B53] dark:text-[#B38B74]",orange:"text-[#D9730D] dark:text-[#E69A3C]",yellow:"text-[#CB912F] dark:text-[#EAB308]",green:"text-[#448361] dark:text-[#65A30D]",blue:"text-[#337EA9] dark:text-[#3B82F6]",purple:"text-[#9065B0] dark:text-[#A855F7]",pink:"text-[#C14C8A] dark:text-[#EC4899]",red:"text-[#D44C47] dark:text-[#EF4444]"},L=({richText:e})=>!Array.isArray(e)||e.length===0?null:i.jsx(i.Fragment,{children:e.length>0&&e.map((o,r)=>{var P,q;if(!o||!o.annotations||!o.text)return console.error("Invalid rich text item:",o),null;const{bold:d,italic:g,strikethrough:j,underline:A,code:c,color:_}=o.annotations;return i.jsx("span",{className:["notion-rich-text",Ge[_]||Ge.default,d?"font-bold":"",g?"italic":"",j?"line-through":"",A?"underline":"",c?"notion-rich-text--code font-mono bg-gray-200/80 text-red-500 px-1.5 rounded":""].filter(Boolean).join(" "),children:(q=(P=o==null?void 0:o.text)==null?void 0:P.link)!=null&&q.url?i.jsx("a",{href:o.text.link.url,className:"notion-rich-text--link text-primary dark:text-primary-300 hover:underline",target:"_blank",rel:"noopener noreferrer",children:o.text.content||""}):o.text.content||""},r)})}),_e=({block:e})=>{var d;const o=e.type==="heading_1"?1:e.type==="heading_2"?2:3,r=`h${o}`;return i.jsx(r,{className:`notion-heading notion-heading--h${o}`,children:i.jsx(L,{richText:((d=e[e.type])==null?void 0:d.rich_text)||[]})})},Fe=()=>i.jsx("hr",{className:"notion-divider border-t border-gray-300 dark:border-gray-600 my-5"}),je=({block:e})=>{const[o,r]=C.useState(!0),d=e.image.type==="external"?e.image.external.url:e.image.file.url;return i.jsxs("figure",{className:"notion-image my-5",children:[i.jsxs("div",{className:"notion-image__wrapper relative w-full mx-auto",children:[o&&i.jsx("div",{className:"notion-image__skeleton absolute inset-0 bg-zinc-100 dark:bg-zinc-600 animate-pulse rounded-lg"}),i.jsx("img",{src:d,alt:e.image.caption.map(g=>g.plain_text).join("")||"Image",className:`notion-image__img w-full mx-auto h-auto object-cover rounded-md transition-opacity duration-300 ${o?"opacity-0":"opacity-100"}`,loading:"lazy",onLoad:()=>r(!1)})]}),e.image.caption.length>0&&i.jsx("figcaption",{className:"notion-image__caption text-sm text-gray-600 dark:text-gray-400 mt-2",children:i.jsx(L,{richText:e.image.caption})})]})};var Ae={exports:{}},Ve;function bt(){return Ve||(Ve=1,function(e){var o=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{};/** * Prism: Lightweight, robust, elegant syntax highlighting * * @license MIT <https://opensource.org/licenses/MIT> * @author Lea Verou <https://lea.verou.me> * @namespace * @public */var r=function(d){var g=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,j=0,A={},c={manual:d.Prism&&d.Prism.manual,disableWorkerMessageHandler:d.Prism&&d.Prism.disableWorkerMessageHandler,util:{encode:function a(n){return n instanceof _?new _(n.type,a(n.content),n.alias):Array.isArray(n)?n.map(a):n.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(a){return Object.prototype.toString.call(a).slice(8,-1)},objId:function(a){return a.__id||Object.defineProperty(a,"__id",{value:++j}),a.__id},clone:function a(n,l){l=l||{};var u,s;switch(c.util.type(n)){case"Object":if(s=c.util.objId(n),l[s])return l[s];u={},l[s]=u;for(var h in n)n.hasOwnProperty(h)&&(u[h]=a(n[h],l));return u;case"Array":return s=c.util.objId(n),l[s]?l[s]:(u=[],l[s]=u,n.forEach(function(x,m){u[m]=a(x,l)}),u);default:return n}},getLanguage:function(a){for(;a;){var n=g.exec(a.className);if(n)return n[1].toLowerCase();a=a.parentElement}return"none"},setLanguage:function(a,n){a.className=a.className.replace(RegExp(g,"gi"),""),a.classList.add("language-"+n)},currentScript:function(){if(typeof document>"u")return null;if("currentScript"in document)return document.currentScript;try{throw new Error}catch(u){var a=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(u.stack)||[])[1];if(a){var n=document.getElementsByTagName("script");for(var l in n)if(n[l].src==a)return n[l]}return null}},isActive:function(a,n,l){for(var u="no-"+n;a;){var s=a.classList;if(s.contains(n))return!0;if(s.contains(u))return!1;a=a.parentElement}return!!l}},languages:{plain:A,plaintext:A,text:A,txt:A,extend:function(a,n){var l=c.util.clone(c.languages[a]);for(var u in n)l[u]=n[u];return l},insertBefore:function(a,n,l,u){u=u||c.languages;var s=u[a],h={};for(var x in s)if(s.hasOwnProperty(x)){if(x==n)for(var m in l)l.hasOwnProperty(m)&&(h[m]=l[m]);l.hasOwnProperty(x)||(h[x]=s[x])}var $=u[a];return u[a]=h,c.languages.DFS(c.languages,function(O,D){D===$&&O!=a&&(this[O]=h)}),h},DFS:function a(n,l,u,s){s=s||{};var h=c.util.objId;for(var x in n)if(n.hasOwnProperty(x)){l.call(n,x,n[x],u||x);var m=n[x],$=c.util.type(m);$==="Object"&&!s[h(m)]?(s[h(m)]=!0,a(m,l,null,s)):$==="Array"&&!s[h(m)]&&(s[h(m)]=!0,a(m,l,x,s))}}},plugins:{},highlightAll:function(a,n){c.highlightAllUnder(document,a,n)},highlightAllUnder:function(a,n,l){var u={callback:l,container:a,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};c.hooks.run("before-highlightall",u),u.elements=Array.prototype.slice.apply(u.container.querySelectorAll(u.selector)),c.hooks.run("before-all-elements-highlight",u);for(var s=0,h;h=u.elements[s++];)c.highlightElement(h,n===!0,u.callback)},highlightElement:function(a,n,l){var u=c.util.getLanguage(a),s=c.languages[u];c.util.setLanguage(a,u);var h=a.parentElement;h&&h.nodeName.toLowerCase()==="pre"&&c.util.setLanguage(h,u);var x=a.textContent,m={element:a,language:u,grammar:s,code:x};function $(D){m.highlightedCode=D,c.hooks.run("before-insert",m),m.element.innerHTML=m.highlightedCode,c.hooks.run("after-highlight",m),c.hooks.run("complete",m),l&&l.call(m.element)}if(c.hooks.run("before-sanity-check",m),h=m.element.parentElement,h&&h.nodeName.toLowerCase()==="pre"&&!h.hasAttribute("tabindex")&&h.setAttribute("tabindex","0"),!m.code){c.hooks.run("complete",m),l&&l.call(m.element);return}if(c.hooks.run("before-highlight",m),!m.grammar){$(c.util.encode(m.code));return}if(n&&d.Worker){var O=new Worker(c.filename);O.onmessage=function(D){$(D.data)},O.postMessage(JSON.stringify({language:m.language,code:m.code,immediateClose:!0}))}else $(c.highlight(m.code,m.grammar,m.language))},highlight:function(a,n,l){var u={code:a,grammar:n,language:l};if(c.hooks.run("before-tokenize",u),!u.grammar)throw new Error('The language "'+u.language+'" has no grammar.');return u.tokens=c.tokenize(u.code,u.grammar),c.hooks.run("after-tokenize",u),_.stringify(c.util.encode(u.tokens),u.language)},tokenize:function(a,n){var l=n.rest;if(l){for(var u in l)n[u]=l[u];delete n.rest}var s=new T;return I(s,s.head,a),q(a,s,n,s.head,0),S(s)},hooks:{all:{},add:function(a,n){var l=c.hooks.all;l[a]=l[a]||[],l[a].push(n)},run:function(a,n){var l=c.hooks.all[a];if(!(!l||!l.length))for(var u=0,s;s=l[u++];)s(n)}},Token:_};d.Prism=c;function _(a,n,l,u){this.type=a,this.content=n,this.alias=l,this.length=(u||"").length|0}_.stringify=function a(n,l){if(typeof n=="string")return n;if(Array.isArray(n)){var u="";return n.forEach(function($){u+=a($,l)}),u}var s={type:n.type,content:a(n.content,l),tag:"span",classes:["token",n.type],attributes:{},language:l},h=n.alias;h&&(Array.isArray(h)?Array.prototype.push.apply(s.classes,h):s.classes.push(h)),c.hooks.run("wrap",s);var x="";for(var m in s.attributes)x+=" "+m+'="'+(s.attributes[m]||"").replace(/"/g,"&quot;")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'"'+x+">"+s.content+"</"+s.tag+">"};function P(a,n,l,u){a.lastIndex=n;var s=a.exec(l);if(s&&u&&s[1]){var h=s[1].length;s.index+=h,s[0]=s[0].slice(h)}return s}function q(a,n,l,u,s,h){for(var x in l)if(!(!l.hasOwnProperty(x)||!l[x])){var m=l[x];m=Array.isArray(m)?m:[m];for(var $=0;$<m.length;++$){if(h&&h.cause==x+","+$)return;var O=m[$],D=O.inside,ne=!!O.lookbehind,ae=!!O.greedy,pe=O.alias;if(ae&&!O.pattern.global){var qe=O.pattern.toString().match(/[imsuy]*$/)[0];O.pattern=RegExp(O.pattern.source,qe+"g")}for(var he=O.pattern||O,R=u.next,M=s;R!==n.tail&&!(h&&M>=h.reach);M+=R.value.length,R=R.next){var Y=R.value;if(n.length>a.length)return;if(!(Y instanceof _)){var H=1,U;if(ae){if(U=P(he,M,a,ne),!U||U.index>=a.length)break;var Q=U.index,me=U.index+U[0].length,J=M;for(J+=R.value.length;Q>=J;)R=R.next,J+=R.value.length;if(J-=R.value.length,M=J,R.value instanceof _)continue;for(var V=R;V!==n.tail&&(J<me||typeof V.value=="string");V=V.next)H++,J+=V.value.length;H--,Y=a.slice(M,J),U.index-=M}else if(U=P(he,0,Y,ne),!U)continue;var Q=U.index,K=U[0],ie=Y.slice(0,Q),xe=Y.slice(Q+K.length),se=M+Y.length;h&&se>h.reach&&(h.reach=se);var ee=R.prev;ie&&(ee=I(n,ee,ie),M+=ie.length),w(n,ee,H);var ve=new _(x,D?c.tokenize(K,D):K,pe,K);if(R=I(n,ee,ve),xe&&I(n,R,xe),H>1){var oe={cause:x+","+$,reach:se};q(a,n,l,R.prev,M,oe),h&&oe.reach>h.reach&&(h.reach=oe.reach)}}}}}}function T(){var a={value:null,prev:null,next:null},n={value:null,prev:a,next:null};a.next=n,this.head=a,this.tail=n,this.length=0}function I(a,n,l){var u=n.next,s={value:l,prev:n,next:u};return n.next=s,u.prev=s,a.length++,s}function w(a,n,l){for(var u=n.next,s=0;s<l&&u!==a.tail;s++)u=u.next;n.next=u,u.prev=n,a.length-=s}function S(a){for(var n=[],l=a.head.next;l!==a.tail;)n.push(l.value),l=l.next;return n}if(!d.document)return d.addEventListener&&(c.disableWorkerMessageHandler||d.addEventListener("message",function(a){var n=JSON.parse(a.data),l=n.language,u=n.code,s=n.immediateClose;d.postMessage(c.highlight(u,c.languages[l],l)),s&&d.close()},!1)),c;var k=c.util.currentScript();k&&(c.filename=k.src,k.hasAttribute("data-manual")&&(c.manual=!0));function v(){c.manual||c.highlightAll()}if(!c.manual){var E=document.readyState;E==="loading"||E==="interactive"&&k&&k.defer?document.addEventListener("DOMContentLoaded",v):window.requestAnimationFrame?window.requestAnimationFrame(v):window.setTimeout(v,16)}return c}(o);e.exports&&(e.exports=r),typeof He<"u"&&(He.Prism=r),r.languages.markup={comment:{pattern:/<!--(?:(?!<!--)[\s\S])*?-->/,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/<!DOCTYPE(?:[^>"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|<!--(?:[^-]|-(?!->))*-->)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^<!|>$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},r.languages.markup.tag.inside["attr-value"].inside.entity=r.languages.markup.entity,r.languages.markup.doctype.inside["internal-subset"].inside=r.languages.markup,r.hooks.add("wrap",function(d){d.type==="entity"&&(d.attributes.title=d.content.replace(/&amp;/,"&"))}),Object.defineProperty(r.languages.markup.tag,"addInlined",{value:function(g,j){var A={};A["language-"+j]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:r.languages[j]},A.cdata=/^<!\[CDATA\[|\]\]>$/i;var c={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:A}};c["language-"+j]={pattern:/[\s\S]+/,inside:r.languages[j]};var _={};_[g]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return g}),"i"),lookbehind:!0,greedy:!0,inside:c},r.languages.insertBefore("markup","cdata",_)}}),Object.defineProperty(r.languages.markup.tag,"addAttribute",{value:function(d,g){r.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+d+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[g,"language-"+g],inside:r.languages[g]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),r.languages.html=r.languages.markup,r.languages.mathml=r.languages.markup,r.languages.svg=r.languages.markup,r.languages.xml=r.languages.extend("markup",{}),r.languages.ssml=r.languages.xml,r.languages.atom=r.languages.xml,r.languages.rss=r.languages.xml,function(d){var g=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;d.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+g.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+g.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+g.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+g.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:g,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},d.languages.css.atrule.inside.rest=d.languages.css;var j=d.languages.markup;j&&(j.tag.addInlined("style","css"),j.tag.addAttribute("style","css"))}(r),r.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},r.languages.javascript=r.languages.extend("clike",{"class-name":[r.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),r.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,r.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:r.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:r.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:r.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:r.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:r.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),r.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:r.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),r.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),r.languages.markup&&(r.languages.markup.tag.addInlined("script","javascript"),r.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),r.languages.js=r.languages.javascript,function(){if(typeof r>"u"||typeof document>"u")return;Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var d="Loading…",g=function(k,v){return"✖ Error "+k+" while fetching file: "+v},j="✖ Error: File does not exist or is empty",A={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},c="data-src-status",_="loading",P="loaded",q="failed",T="pre[data-src]:not(["+c+'="'+P+'"]):not(['+c+'="'+_+'"])';function I(k,v,E){var a=new XMLHttpRequest;a.open("GET",k,!0),a.onreadystatechange=function(){a.readyState==4&&(a.status<400&&a.responseText?v(a.responseText):a.status>=400?E(g(a.status,a.statusText)):E(j))},a.send(null)}function w(k){var v=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(k||"");if(v){var E=Number(v[1]),a=v[2],n=v[3];return a?n?[E,Number(n)]:[E,void 0]:[E,E]}}r.hooks.add("before-highlightall",function(k){k.selector+=", "+T}),r.hooks.add("before-sanity-check",function(k){var v=k.element;if(v.matches(T)){k.code="",v.setAttribute(c,_);var E=v.appendChild(document.createElement("CODE"));E.textContent=d;var a=v.getAttribute("data-src"),n=k.language;if(n==="none"){var l=(/\.(\w+)$/.exec(a)||[,"none"])[1];n=A[l]||l}r.util.setLanguage(E,n),r.util.setLanguage(v,n);var u=r.plugins.autoloader;u&&u.loadLanguages(n),I(a,function(s){v.setAttribute(c,P);var h=w(v.getAttribute("data-range"));if(h){var x=s.split(/\r\n?|\n/g),m=h[0],$=h[1]==null?x.length:h[1];m<0&&(m+=x.length),m=Math.max(0,Math.min(m-1,x.length)),$<0&&($+=x.length),$=Math.max(0,Math.min($,x.length)),s=x.slice(m,$).join(` `),v.hasAttribute("data-start")||v.setAttribute("data-start",String(m+1))}E.textContent=s,r.highlightElement(E)},function(s){v.setAttribute(c,q),E.textContent=s})}}),r.plugins.fileHighlight={highlight:function(v){for(var E=(v||document).querySelectorAll(T),a=0,n;n=E[a++];)r.highlightElement(n)}};var S=!1;r.fileHighlight=function(){S||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),S=!0),r.plugins.fileHighlight.highlight.apply(this,arguments)}}()}(Ae)),Ae.exports}var wt=bt();Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),Prism.languages.js=Prism.languages.javascript;var Xe={},Qe;function _t(){return Qe||(Qe=1,function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var o=e.languages.extend("typescript",{});delete o["class-name"],e.languages.typescript["class-name"].inside=o,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:o}}}}),e.languages.ts=e.languages.typescript}(Prism)),Xe}_t(),function(e){var o=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+o.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+o.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+o.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+o.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:o,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var r=e.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))}(Prism),Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json;const Ee=({block:e})=>{const o=C.useRef(null),r=e.code.rich_text.map(g=>g.text.content).join(""),d=e.code.language.toLowerCase()||"plaintext";return C.useEffect(()=>{o.current&&wt.highlightElement(o.current)},[e.code.rich_text]),i.jsxs("div",{className:"notion-code my-5 bg-gray-900 dark:bg-gray-800 rounded-lg shadow-md overflow-hidden",children:[i.jsxs("div",{className:"notion-code__header flex items-center justify-between bg-gray-800 dark:bg-gray-700 px-4 py-2",children:[i.jsx("span",{className:"notion-code__language text-sm text-gray-300",children:d}),i.jsxs("div",{className:"notion-code__controls flex gap-1",children:[i.jsx("span",{className:"w-2.5 h-2.5 bg-red-500 rounded-full"}),i.jsx("span",{className:"w-2.5 h-2.5 bg-yellow-500 rounded-full"}),i.jsx("span",{className:"w-2.5 h-2.5 bg-green-500 rounded-full"})]})]}),i.jsx("pre",{className:"notion-code__body p-4 overflow-x-auto",children:i.jsx("code",{ref:o,className:`language-${d} font-mono text-sm text-white`,children:r})}),e.code.caption.length>0&&i.jsx("div",{className:"notion-code__caption px-4 py-2 bg-gray-800 dark:bg-gray-700 text-sm text-gray-400",children:i.jsx(L,{richText:e.code.caption})})]})},ke=({block:e})=>i.jsx("blockquote",{className:"notion-quote border-l-4 border-gray-300 dark:border-gray-600 pl-4 my-5",children:i.jsx(L,{richText:e.quote.rich_text})}),Te=({block:e})=>i.jsxs("div",{children:[i.jsx("li",{className:"notion-bulleted-list-item list-disc list-inside p-2",children:i.jsx(L,{richText:e.bulleted_list_item.rich_text})}),e.has_children&&e.children&&i.jsx("div",{className:"notion-paragraph__children ml-4",children:i.jsx(re,{children:e.children})})]}),$e=({block:e})=>i.jsx("li",{className:"notion-list__item notion-list__item--numbered list-decimal list-inside my-2",children:i.jsx(L,{richText:e.numbered_list_item.rich_text})}),Se=({block:e})=>i.jsxs("div",{className:"notion-todo flex items-start gap-2 my-2",children:[i.jsx("input",{type:"checkbox",checked:e.to_do.checked,disabled:!0,className:"notion-todo__checkbox w-5 h-5 rounded border-gray-400 dark:border-gray-600 cursor-not-allowed"}),i.jsxs("div",{className:"notion-todo__content flex-1",children:[i.jsx(L,{richText:e.to_do.rich_text}),e.to_do.children&&e.to_do.children.length>0&&i.jsx("div",{className:"notion-todo__children ml-6",children:i.jsx(re,{children:e.to_do.children})})]})]}),Ne=({block:e})=>{var o,r;return i.jsxs("div",{className:"notion-callout bg-gray-100 dark:bg-gray-800 p-4 rounded-md flex items-start my-5",children:[((o=e.callout.icon)==null?void 0:o.type)==="emoji"&&i.jsx("span",{className:"notion-callout__icon text-xl mr-3",children:e.callout.icon.emoji}),((r=e.callout.icon)==null?void 0:r.type)==="external"&&i.jsx("img",{src:e.callout.icon.external.url,alt:"icon",className:"notion-callout__icon w-6 h-6 mr-3"}),i.jsx("div",{className:"notion-callout__content text-gray-700 dark:text-gray-200",children:i.jsx(L,{richText:e.callout.rich_text})})]})},Ce=({block:e})=>i.jsx("a",{href:e.bookmark.url,className:"notion-bookmark block p-2 bg-gray-100 rounded-md text-primary hover:underline my-4 dark:text-primary-300",target:"_blank",rel:"noopener noreferrer",children:e.bookmark.caption.length>0?i.jsx(L,{richText:e.bookmark.caption}):e.bookmark.url}),Pe=({block:e})=>!e||!e.table_row||!Array.isArray(e.table_row.cells)?(console.error("Invalid table row block:",e),null):i.jsx("tr",{className:"notion-table__row border-b border-gray-200 dark:border-gray-700",children:e.table_row.cells.map((o,r)=>i.jsx("td",{className:"notion-table__cell px-3 py-2 border-r border-gray-200 dark:border-gray-700",children:o.map((d,g)=>i.jsx(L,{richText:[d]},g))},r))}),Oe=({block:e})=>!e||!e.children||!Array.isArray(e.children)?(console.error("Invalid table block:",e),null):i.jsx("table",{className:"notion-table w-full border-collapse my-5 border border-gray-300 dark:border-gray-600",children:i.jsx("tbody",{children:e.children.map((o,r)=>i.jsx(Pe,{block:o},r))})}),Re=({block:e})=>i.jsx("div",{className:"notion-child-page bg-gray-100 dark:bg-gray-800 p-3 rounded-md my-5",children:i.jsx("h3",{className:"notion-child-page__title text-gray-900 dark:text-gray-100 font-semibold",children:e.child_page.title})}),Me=({block:e})=>i.jsx("div",{className:"notion-child-database bg-gray-100 dark:bg-gray-800 p-3 rounded-md my-5",children:i.jsx("h3",{className:"notion-child-database__title text-gray-900 dark:text-gray-100 font-semibold",children:e.child_database.title})}),re=({children:e,className:o})=>!Array.isArray(e)||e.length===0?null:i.jsx("div",{className:`notion-children ml-4 ${o}`,children:e.map(r=>{switch(r.type){case"paragraph":return i.jsx(Le,{block:r},r.id);case"heading_1":case"heading_2":case"heading_3":return i.jsx(_e,{block:r},r.id);case"divider":return i.jsx(Fe,{},r.id);case"image":return i.jsx(je,{block:r},r.id);case"code":return i.jsx(Ee,{block:r},r.id);case"quote":return i.jsx(ke,{block:r},r.id);case"bulleted_list_item":return i.jsx(Te,{block:r},r.id);case"numbered_list_item":return i.jsx($e,{block:r},r.id);case"to_do":return i.jsx(Se,{block:r},r.id);case"callout":return i.jsx(Ne,{block:r},r.id);case"bookmark":return i.jsx(Ce,{block:r},r.id);case"table":return i.jsx(Oe,{block:r},r.id);case"child_page":return i.jsx(Re,{block:r},r.id);case"child_database":return i.jsx(Me,{block:r},r.id);default:return null}})}),Le=({block:e})=>!e||e.type!=="paragraph"||!e.paragraph||!Array.isArray(e.paragraph.rich_text)?(console.error("Invalid paragraph block:",e),null):i.jsxs("div",{className:"notion-paragraph",children:[i.jsx("p",{className:"notion-paragraph__text text-base leading-relaxed mb-4",children:i.jsx(L,{richText:e.paragraph.rich_text})}),e.has_children&&e.children&&i.jsx("div",{className:"notion-paragraph__children ml-4",children:i.jsx(re,{children:e.children})})]}),Ke=({block:e})=>i.jsxs("div",{className:"notion-embed my-5",children:[i.jsx("iframe",{src:e.embed.url,title:"Embed content",className:"notion-embed__iframe w-full h-96 rounded-md shadow-md"}),e.embed.caption.length>0&&i.jsx("div",{className:"notion-embed__caption text-sm mt-2",children:i.jsx(L,{richText:e.embed.caption})})]}),et=({block:e})=>i.jsx("div",{className:"notion-file my-4",children:i.jsx("a",{href:e.file.type==="external"?e.file.external.url:e.file.file.url,className:"notion-file__link text-primary hover:underline dark:text-primary-300",target:"_blank",rel:"noopener noreferrer",children:e.file.caption.length>0?i.jsx(L,{richText:e.file.caption}):"Download File"})}),tt=({block:e})=>i.jsxs("div",{className:"notion-video my-5",children:[i.jsx("video",{controls:!0,className:"w-full",children:i.jsx("source",{src:e.video.type==="external"?e.video.external.url:e.video.file.url})}),e.video.caption.length>0&&i.jsx("div",{className:"notion-video__caption text-sm mt-2",children:i.jsx(L,{richText:e.video.caption})})]}),rt=({block:e})=>i.jsxs("div",{className:"notion-audio my-5",children:[i.jsx("audio",{controls:!0,className:"notion-audio__player w-full",children:i.jsx("source",{src:e.audio.type==="external"?e.audio.external.url:e.audio.file.url})}),e.audio.caption.length>0&&i.jsx("div",{className:"notion-audio__caption text-sm mt-2",children:i.jsx(L,{richText:e.audio.caption})})]}),nt=({block:e})=>{const o=e.pdf.type==="external"?e.pdf.external.url:e.pdf.file.url;return i.jsxs("div",{className:"notion-pdf my-5",children:[i.jsx("embed",{src:o,type:"application/pdf",className:"notion-pdf__viewer w-full h-96 border border-gray-300 dark:border-gray-700 rounded-md"}),e.pdf.caption.length>0&&i.jsx("div",{className:"notion-pdf__caption text-sm mt-2",children:i.jsx(L,{richText:e.pdf.caption})})]})};var ze=function(){return(ze=Object.assign||function(e){for(var o,r=1,d=arguments.length;r<d;r++)for(var g in o=arguments[r])Object.prototype.hasOwnProperty.call(o,g)&&(e[g]=o[g]);return e}).apply(this,arguments)},de,ge,Ie=C.createContext(void 0),at="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.9/MathJax.js?config=TeX-MML-AM_CHTML",it="https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-mml-chtml.js",Ft=function(T){var o=T.config,r=T.version,r=r===void 0?3:r,d=T.src,d=d===void 0?r===2?at:it:d,g=T.onStartup,j=T.onLoad,_=T.asyncLoad,A=_!==void 0&&_,c=T.onError,_=T.typesettingOptions,P=T.renderMode,P=P===void 0?"post":P,q=T.hideUntilTypeset,T=T.children,w=C.useContext(Ie);if((w==null?void 0:w.version)!==void 0&&(w==null?void 0:w.version)!==r)throw Error("Cannot nest MathJaxContexts with different versions. MathJaxContexts should not be nested at all but if they are, they cannot have different versions. Stick with one version of MathJax in your app and avoid using more than one MathJaxContext.");if(r===2&&ge!==void 0||r===3&&de!==void 0)throw Error("Cannot use MathJax versions 2 and 3 simultaneously in the same app due to how MathJax is set up in the browser; either you have multiple MathJaxContexts with different versions or you have mounted and unmounted MathJaxContexts with different versions. Please stick with one version of MathJax in your app. File an issue in the project Github page if you need this feature.");var I=C.useRef(w),w=C.useRef((w==null?void 0:w.version)||null);if(w.current===null)w.current=r;else if(w.current!==r)throw Error("Cannot change version of MathJax in a MathJaxContext after it has mounted. Reload the page with a new version when this must happen.");var S=d||(r===2?at:it);function k(v,E){o&&(window.MathJax=o);var a=document.createElement("script");a.type="text/javascript",a.src=S,a.async=A,a.addEventListener("load",function(){var n=window.MathJax;g&&g(n),v(n),j&&j()}),a.addEventListener("error",function(n){return E(n)}),document.getElementsByTagName("head")[0].appendChild(a)}return I.current===void 0&&(w={typesettingOptions:_,renderMode:P,hideUntilTypeset:q},