react-text-forge 1.3.0 → 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -386,6 +386,7 @@ const deserialize = (html) => {
386
386
  return null;
387
387
  }
388
388
  const children = Array.from(node.childNodes).map(deserializeNode).flat().filter(Boolean);
389
+ const validChildren = children.length > 0 ? children : [{ text: "" }];
389
390
  const styles = {
390
391
  bold: node.querySelector("strong") !== null,
391
392
  italic: node.querySelector("em") !== null,
@@ -403,33 +404,33 @@ const deserialize = (html) => {
403
404
  };
404
405
  switch (node.nodeName) {
405
406
  case "P":
406
- return jsx("element", { type: "paragraph" }, children);
407
+ return jsx("element", { type: "paragraph" }, validChildren);
407
408
  case "PRE":
408
- return jsx("element", { type: "code" }, children);
409
+ return jsx("element", { type: "code" }, validChildren);
409
410
  case "UL":
410
- return jsx("element", { type: "bullet-list" }, children);
411
+ return jsx("element", { type: "bullet-list" }, validChildren);
411
412
  case "OL":
412
- return jsx("element", { type: "numbered-list" }, children);
413
+ return jsx("element", { type: "numbered-list" }, validChildren);
413
414
  case "LI":
414
- return jsx("element", { type: "list-item" }, children);
415
+ return jsx("element", { type: "list-item" }, validChildren);
415
416
  case "H1":
416
- return jsx("element", { type: "h1" }, children);
417
+ return jsx("element", { type: "h1" }, validChildren);
417
418
  case "H2":
418
- return jsx("element", { type: "h2" }, children);
419
+ return jsx("element", { type: "h2" }, validChildren);
419
420
  case "BLOCKQUOTE":
420
- return jsx("element", { type: "blockquote" }, children);
421
+ return jsx("element", { type: "blockquote" }, validChildren);
421
422
  case "IMG":
422
423
  return jsx("element", { type: "image", url: node.getAttribute("src") });
423
424
  case "TABLE":
424
- return jsx("element", { type: "table" }, children);
425
+ return jsx("element", { type: "table" }, validChildren);
425
426
  case "TR":
426
- return jsx("element", { type: "table-row" }, children);
427
+ return jsx("element", { type: "table-row" }, validChildren);
427
428
  case "TD":
428
- return jsx("element", { type: "table-cell" }, children);
429
+ return jsx("element", { type: "table-cell" }, validChildren);
429
430
  case "A":
430
- return jsx("element", { type: "link", url: node.getAttribute("href") }, children);
431
+ return jsx("element", { type: "link", url: node.getAttribute("href") }, validChildren);
431
432
  default:
432
- return children.map((child) => {
433
+ return validChildren.map((child) => {
433
434
  if (typeof child === "string") {
434
435
  return jsx("text", styles, child);
435
436
  }
@@ -2935,6 +2936,28 @@ const Toolbar = ({ activeMarks }) => {
2935
2936
  format
2936
2937
  ) : null;
2937
2938
  }
2939
+ if (format === "undo" || format === "redo") {
2940
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "rtf dropdown tool", style: { display: "flex", padding: 0 }, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Tooltip, { text: allButtons.find((button) => button.format === format).tooltip, position: "bottom", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2941
+ "button",
2942
+ {
2943
+ ref: (el) => buttonsRef.current[format] = el,
2944
+ className: `rtf tool`,
2945
+ style: { display: "inline-block" },
2946
+ onMouseDown: (event) => {
2947
+ event.preventDefault();
2948
+ if (format === "undo") {
2949
+ editor.undo();
2950
+ } else if (format === "redo") {
2951
+ editor.redo();
2952
+ } else {
2953
+ console.error("Type d'action inconnu !");
2954
+ }
2955
+ },
2956
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Images, { format, imageColor: editor.history[format + "s"].length === 0 ? `color-mix(in srgb, ${imageColor} 40%, ${isDarkColor(imageColor) ? "white" : "black"})` : imageColor })
2957
+ },
2958
+ format
2959
+ ) }) }, format);
2960
+ }
2938
2961
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
2939
2962
  FormatButton,
2940
2963
  {
@@ -137,7 +137,7 @@ function re({format:e,imageColor:t}){return(()=>{switch(e){case"addColumn":retur
137
137
  *
138
138
  * For any questions or suggestions, please contact: administrateur@nhumeria.fr
139
139
  */
140
- function ie(e,n){const[o,a]=r.useState(""),[l,s]=r.useState(""),[i,c]=r.useState(!1),[u,d]=r.useState(""),[p,g]=r.useState(""),[f,m]=r.useState("paragraph"),[h,b]=r.useState("");return{activeBlock:f,setActiveBlock:m,colorMode:l,setColorMode:s,openInNewTab:i,setOpenInNewTab:c,selectedBackgroundColor:p,setSelectedBackgroundColor:g,selectedColor:u,setSelectedColor:d,selectedLanguage:h,setSelectedLanguage:b,selectedLink:o,setSelectedLink:a,detectCurrentLanguage:()=>{const{selection:r}=e;if(r){const[r]=t.Editor.nodes(e,{match:e=>"code"===e.type});b(r?r[0].language:null)}},handleColorChange:t=>{H.applyTextColor(e,t),n(null)},handleBackgroundColorChange:t=>{H.applyBackgroundTextColor(e,t),n(null)},handleBlockTypeChange:t=>{H.toggleBlock(e,t),m(t)}}}function ce({selectedColor:e,onSelectColor:t,onClose:o}){const[l,s]=r.useState("#ffffff"),{theme:i}=X(),{editor:c,backgroundColor:u,borderColor:d,imageColor:p}=Q(),g={backgroundColor:u,color:p},f={backgroundColor:`color-mix(in srgb, ${u} 80%, ${U(u)?"white":"black"})`,color:U(u)?"#FFF":"#000"},m={backgroundColor:"#6c757d"!==u?"#6c757d":"color-mix(in srgb, #6c757d 30%, black)",color:U(u)?"#FFF":"#000"},h={default:{picker:{background:u,color:p,border:d}}};return r.useEffect(()=>{e&&s(e)},[e]),r.useEffect(()=>{const e=document.querySelectorAll(".sketch-picker input"),t=document.querySelectorAll(".sketch-picker label");e.forEach((e,r)=>{e.style.border="2px solid "+d,e.style.background=u,e.style.color=p,t[r].style.color=p})},[i]),R.jsxs("div",{onMouseLeave:o,className:"rtf color-picker-popup",children:[R.jsx(a.SketchPicker,{className:"rtf sketch-picker",styles:h,color:l,onChangeComplete:e=>{n.ReactEditor.focus(c),s(e.hex)}}),R.jsxs("div",{style:g,className:"rtf link-form-actions",children:[R.jsx("button",{className:"rtf",style:f,onClick:()=>{l&&(t(l),o())},disabled:!l,children:"Appliquer"}),R.jsx("button",{className:"rtf",style:m,onClick:()=>{t(""),o()},children:"Annuler"})]})]})}const ue=()=>{const{editor:e,backgroundColor:t,imageColor:r,setDropdownActive:n}=Q(),o=H.isBlockquoteActive(e);return R.jsx("button",{onMouseDown:t=>{t.preventDefault(),n(null),H.toggleBlockquote(e)},style:{backgroundColor:o?`color-mix(in srgb, ${t} 80%, ${U(t)?"white":"black"})`:""},className:"rtf tool",children:R.jsx(re,{format:"blockquote",imageColor:r})})},de=({text:e,children:t,position:n="top"})=>{var o;const[a,l]=r.useState(!1),{isDarkTheme:s,backgroundDarkColor:i,imageDarkColor:c}=X(),u=r.Children.count(t),d=r.Children.map(t,e=>e);return R.jsxs("div",{className:"tooltip-container",style:{display:1===u&&"none"===(null==(o=d[0].props.style)?void 0:o.display)?"none":"inline-block"},onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[t,a&&R.jsx("div",{style:{backgroundColor:s?"black":i,color:c,borderColor:c},className:`tooltip tooltip--${n} tooltip--visible`,role:"tooltip","aria-label":e,children:e})]})},pe=({activeMarks:e,format:o,isActive:a,tooltip:l})=>{const[s,i]=r.useState(""),{backgroundColor:c,editor:u,imageColor:d,dropdownActive:p,setDropdownActive:g}=Q(),{activeBlock:f,colorMode:m,setColorMode:h,openInNewTab:b,detectCurrentLanguage:y,handleColorChange:x,handleBackgroundColorChange:v,setOpenInNewTab:k,selectedBackgroundColor:w,setSelectedBackgroundColor:C,selectedColor:j,setSelectedColor:F,selectedLink:S,setSelectedLink:N}=ie(u,g),E="h1"===f||"h2"===f,A=["left","center","right"],L=()=>{setTimeout(()=>n.ReactEditor.focus(u),0)};return r.useEffect(()=>{y();const{selection:e}=u;if(e){const[e]=t.Editor.nodes(u,{match:e=>"link"===e.type});e?(k("_blank"===e[0].target),N(e[0].href)):(k(!1),N(""))}},[u.selection]),R.jsx(de,{text:l,position:"bottom",children:"indent"===o||"outdent"===o?R.jsx("div",{children:R.jsx("button",{title:l,className:"rtf tool",onClick:()=>{g(null),"indent"===o?H.handleIndent(u):H.handleOutdent(u)},disabled:!a,children:R.jsx(re,{format:o,imageColor:a?d:`color-mix(in srgb, ${d} 40%, black)`})})}):"fontSize"===o?R.jsx(ae,{disabled:E,onSelectSize:e=>{H.applyFontSize(u,e)},sizeSelected:a}):"fontFamily"===o?R.jsx(le,{fontFamilySelected:s,onSelectFontFamily:e=>{H.applyFontFamily(u,e),i(e)}}):"bulletList"===o||"numberedList"===o?R.jsx("div",{className:"rtf dropdown",children:R.jsx(ne,{format:o,isActive:a,onMouseDown:()=>{o="bulletList"===o?"bullet-list":"numbered-list",H.toggleBlock(u,o)}})}):"href"===o?R.jsxs("div",{className:"rtf dropdown",children:[R.jsx("button",{onMouseDown:e=>{e.preventDefault(),g("href"),L()},title:l,className:"rtf tool tool--"+(a?"active":"inactive"),children:R.jsx(re,{format:o,imageColor:d})}),"href"===p&&R.jsx(se,{onClose:()=>g(null),initialUrl:S,isOpenInNewTab:b})]}):"color"===o||"bgColor"===o?R.jsxs("div",{className:"rtf dropdown",children:[R.jsx("button",{title:l,onMouseDown:t=>{t.preventDefault(),L(),"color"===o?(g("color"),F(e[o]),h("color")):(g("bgColor"),C(e[o]),h("bgColor"))},className:"rtf tool tool--"+(a?"active":"inactive"),children:R.jsx(re,{format:o,imageColor:d})}),p===o&&R.jsx(ce,{selectedColor:"color"===m?j:w,onSelectColor:"color"===m?x:v,onClose:()=>g(null)})]}):"blockquote"===o?R.jsx(ue,{tooltip:l}):R.jsx("button",{onMouseDown:e=>{e.preventDefault(),g(null),A.includes(o)?H.toggleAlign(u,o):H.toggleMark(u,o)},title:l,style:{backgroundColor:a?`color-mix(in srgb, ${c} 80%, ${U(c)?"white":"black"})`:""},className:"rtf tool",children:R.jsx(re,{format:o,imageColor:d})})})},ge=r.forwardRef(({tooltip:e},t)=>{const{backgroundColor:n,imageColor:o}=Q(),{editor:a}=Q(),{activeBlock:l,setActiveBlock:s,handleBlockTypeChange:i}=ie(a);r.useEffect(()=>{s(H.getCurrentBlock(a,a.selection))},[a.selection]);const c={backgroundColor:n,color:o};return R.jsx(de,{text:e,position:"bottom",children:R.jsx("select",{ref:t,className:"rtf",value:l,onChange:e=>{const t=e.target.value;i(t)},style:c,children:[{type:"paragraph",name:"Paragraphe"},{type:"h1",name:"Titre"},{type:"h2",name:"Sous-titre"}].map(e=>R.jsx("option",{className:"rtf",value:e.type,children:e.name},e.type))})})}),fe=r.forwardRef((e,t)=>{const[n,o]=r.useState(!1),{backgroundColor:a,editor:l,imageColor:s,dropdownActive:i,setDropdownActive:c}=Q(),{selectedLanguage:u,setSelectedLanguage:d}=ie(l),p={backgroundColor:a,color:s},g={cs:"C#",cpp:"C++",css:"CSS",diff:"Diff",html:"HTML",java:"Java",javascript:"JavaScript",php:"PHP",python:"Python",ruby:"Ruby",typescript:"TypeScript",xml:"XML"},f=()=>{o(!n),c(!0!=!n?null:"code")},m=e=>{d(e),H.handleCode(l,e),o(!1)};return R.jsxs("div",{ref:t,className:"rtf dropdown tool "+(u&&"init"!==u&&""!==u?"tool--active":""),children:[R.jsx("button",{className:"rtf dropdown-toggle",onClick:f,children:R.jsx(re,{format:"blockCode",imageColor:s})}),n&&"code"===i&&R.jsxs("ul",{style:p,onMouseLeave:f,className:"rtf dropdown-menu",children:[u&&R.jsx("li",{onClick:()=>m("init"),children:"Réinitialiser"}),Object.keys(g).map(e=>R.jsx("li",{onClick:()=>m(e),style:{cursor:"pointer",padding:"5px 10px",backgroundColor:u&&e===u?`color-mix(in srgb, ${a} 80%, ${U(a)?"white":"black"})`:a},children:g[e]},e))]})]})}),me=r.forwardRef((e,t)=>{const{editor:r,imageColor:n,setDropdownActive:o}=Q();return R.jsxs("div",{className:"rtf tool image-upload-container",ref:t,children:[R.jsx("input",{id:"file-input",type:"file",accept:"image/*",onChange:e=>H.handleFileChange(e,r),className:"rtf hidden-file-input"}),R.jsx("label",{htmlFor:"file-input",className:"rtf image-upload-label",onClick:()=>o(null),children:R.jsx(re,{format:"image",imageColor:n})})]})}),he=({onClose:e})=>{const{editor:t,backgroundColor:n}=Q(),[o,a]=r.useState(0),[l,s]=r.useState(0),i={backgroundColor:n,color:U(n)?"#FFF":"#000"},c=(e,t)=>{a(e),s(t)},u=(r,n)=>{H.insertTable(t,r+1,n+1),e()};return R.jsxs("div",{style:i,className:"rtf dropdown-menu table-grid-form",children:[R.jsx("div",{className:"rtf grid-container",children:(()=>{const e=[];for(let t=0;t<5;t++)for(let r=0;r<5;r++){const n=t<=o&&r<=l;e.push(R.jsx("div",{className:"rtf grid-cell "+(n?"hovered":""),onMouseEnter:()=>c(t,r),onClick:()=>u(t,r)},`${t}-${r}`))}return e})()}),R.jsxs("div",{style:i,className:"rtf table-size-indicator",children:["Tableau de ",o+1," lignes x ",l+1," colonnes"]})]})},be=r.forwardRef(({allButtons:e,hiddenButtons:t},r)=>{const{editor:n,imageColor:o,setDropdownActive:a}=Q(),l=H.isSelectionInTable(n),s=[{name:"deleteTable",alt:"Supprimer le tableau",onClick:H.deleteTable},{name:"addRow",alt:"Ajouter une ligne",onClick:H.addRow},{name:"addColumn",alt:"Ajouter une colonne",onClick:H.addColumn},{name:"deleteRow",alt:"Supprimer une ligne",onClick:H.deleteRow},{name:"deleteColumn",alt:"Supprimer une colonne",onClick:H.deleteColumn}];return R.jsx(R.Fragment,{children:s.map((s,i)=>{var c,u;return R.jsx(de,{text:e.find(e=>e.format===s.name).tooltip,position:"bottom",children:R.jsx("button",{ref:e=>r.current[s.name]=e,className:"rtf tool",style:{display:t.includes(s.name)?"none":"inline-block"},onClick:()=>(e=>{a(null),e.onClick(n)})(s),disabled:!l,children:R.jsx(re,{format:s.name,imageColor:l?H.getTableFromSelection(n)?"addRow"===s.name?H.getTableFromSelection(n).children.length>=5?`color-mix(in srgb, ${o} 40%, ${U(o)?"white":"black"})`:o:"addColumn"===s.name?(null==(c=H.getTableFromSelection(n).children[0])?void 0:c.children.length)>=5?`color-mix(in srgb, ${o} 40%, ${U(o)?"white":"black"})`:o:"deleteColumn"===s.name?1===(null==(u=H.getTableFromSelection(n).children[0])?void 0:u.children.length)?`color-mix(in srgb, ${o} 40%, ${U(o)?"white":"black"})`:o:"deleteRow"===s.name&&1===H.getTableFromSelection(n).children.length?`color-mix(in srgb, ${o} 40%, ${U(o)?"white":"black"})`:o:o:`color-mix(in srgb, ${o} 40%, ${U(o)?"white":"black"})`})})},i)})})}),ye=({activeMarks:e})=>{const[t,n]=r.useState(!1),[o,a]=r.useState([]),l=r.useRef(null),s=r.useRef({}),i=r.useRef(null),{editor:c,imageColor:u,backgroundColor:d,dropdownActive:p,setDropdownActive:g}=Q(),f=[{format:"blockType",tooltip:"Insérer un bloc de texte"},{format:"bold",tooltip:"Gras (Ctrl+B)"},{format:"underline",tooltip:"Souligné (Ctrl+U)"},{format:"italic",tooltip:"Italique (Ctrl+I)"},{format:"strikethrough",tooltip:"Barré"},{format:"subscript",tooltip:"Indice"},{format:"superscript",tooltip:"Exposant"},{format:"blockquote",tooltip:"Citation"},{format:"color",tooltip:"Couleur du texte"},{format:"bgColor",tooltip:"Couleur de fond"},{format:"fontSize",tooltip:"Taille de texte"},{format:"fontFamily",tooltip:"Police d'écriture"},{format:"href",tooltip:"Insérer un lien (Ctrl+K)"},{format:"bulletList",tooltip:"Liste à puces (Ctrl+L)"},{format:"numberedList",tooltip:"Liste à puces (Ctrl+N)"},{format:"left",tooltip:"Gauche"},{format:"center",tooltip:"Centré"},{format:"right",tooltip:"Droite"},{format:"indent",tooltip:"Indenté"},{format:"outdent",tooltip:"Retrait"},{format:"table",tooltip:"Insérer un tableau"},{format:"deleteTable",tooltip:"Supprimer un tableau"},{format:"addRow",tooltip:"Insérer une ligne"},{format:"addColumn",tooltip:"Insérer une colonne"},{format:"deleteRow",tooltip:"Supprimer une ligne"},{format:"deleteColumn",tooltip:"Supprimer une colonne"},{format:"image",tooltip:"Insérer une image"},{format:"code",tooltip:"Bloc de code (Ctrl+E)"},{format:"undo",tooltip:"Annuler (Ctrl+Z)"},{format:"redo",tooltip:"Rétablir (Ctrl+Y)"}],[m,h]=r.useState(!1),[b,y]=r.useState(0),x=["deleteTable","addRow","addColumn","deleteRow","deleteColumn"],v=()=>{h(!m),g(!0!=!m?null:"table")};return r.useEffect(()=>{if(!l.current)return;const e=new ResizeObserver(()=>{(()=>{if(l.current){const e=l.current.clientWidth-15;let t=0;if(f.forEach((e,r)=>{const n=s.current[e.format];n&&(t+=(0===r?n.clientWidth:s.current[f[1].format].clientWidth)+5)}),t>e){let t=0;const r=[];f.forEach((n,o)=>{const a=s.current[n.format];a&&(t+=(0===o?a.clientWidth:s.current[f[1].format].clientWidth)+5,t<=e&&r.push(n.format))});const n=f.map(e=>e.format).filter(e=>!r.includes(e));a(n)}else a([])}})()});return e.observe(l.current),()=>{e.disconnect()}},[]),r.useEffect(()=>{i.current?y(i.current.clientHeight):y(0)},[t]),R.jsxs("div",{className:"rtf toolbar-container",style:{marginBottom:b},children:[R.jsxs("div",{className:"rtf toolbar",onClick:()=>{document.querySelector(".rtf.toolbar").blur()},ref:l,children:[R.jsx(ge,{ref:e=>s.current.blockType=e,tooltip:f.find(e=>"blockType"===e.format).tooltip}),Object.keys(e).map((t,r)=>R.jsx("div",{className:"rtf",ref:e=>s.current[t]=e,style:{display:o.includes(t)?"none":"inline-block"},children:R.jsx(pe,{activeMarks:e,format:t,isActive:e[t],tooltip:f.find(e=>e.format===t).tooltip})},r)),R.jsxs("div",{className:"rtf dropdown tool",style:{display:o.includes("table")?"none":"flex",padding:o.includes("table")?0:5},children:[R.jsx(de,{text:f.find(e=>"table"===e.format).tooltip,position:"bottom",children:R.jsx("button",{ref:e=>s.current.table=e,onClick:v,className:"rtf dropdown-toggle",children:R.jsx(re,{format:"table",imageColor:u})})}),m&&!o.includes("table")&&"table"===p&&R.jsx(he,{onClose:v})]}),R.jsx(be,{allButtons:f,hiddenButtons:o,ref:s}),R.jsx("div",{className:"rtf dropdown tool",style:{display:o.includes("image")?"none":"flex",padding:0},children:R.jsx(de,{text:f.find(e=>"image"===e.format).tooltip,position:"bottom",children:R.jsx(me,{ref:e=>s.current.image=e})})}),R.jsx("div",{className:"rtf dropdown tool",style:{display:o.includes("code")?"none":"flex",padding:0},children:R.jsx(de,{text:f.find(e=>"code"===e.format).tooltip,position:"bottom",children:R.jsx(fe,{ref:e=>s.current.code=e})})}),["undo","redo"].map(e=>R.jsx("div",{className:"rtf dropdown tool",style:{display:o.includes(e)?"none":"flex",padding:0},children:R.jsx(de,{text:f.find(t=>t.format===e).tooltip,position:"bottom",children:R.jsx("button",{ref:t=>s.current[e]=t,className:"rtf tool",style:{display:o.includes(e)?"none":"inline-block"},onMouseDown:t=>{t.preventDefault(),"undo"===e?c.undo():"redo"===e&&c.redo()},children:R.jsx(re,{format:e,imageColor:0===c.history[e+"s"].length?`color-mix(in srgb, ${u} 40%, ${U(u)?"white":"black"})`:u})},e)})},e)),o.length>0&&R.jsx(de,{text:"Voir plus",position:"bottom",children:R.jsx("button",{className:"rtf tool toolbar-more-button",onClick:()=>{n(e=>!e)},children:R.jsx(re,{format:"more",imageColor:u})})})]}),t&&R.jsx("div",{className:"rtf toolbar-modal",ref:i,style:{backgroundColor:d},onMouseLeave:()=>n(!1),children:o.map(t=>"image"===t||"code"===t||"table"===t||"deleteTable"===t||"addRow"===t||"addColumn"===t||"deleteRow"===t||"deleteColumn"===t?"image"===t?R.jsx(me,{ref:e=>s.current.image=e},t):"code"===t?R.jsx(fe,{ref:e=>s.current.code=e},t):"table"===t?R.jsxs("div",{className:"rtf dropdown tool",children:[R.jsx(de,{text:f.find(e=>e.format===t).tooltip,position:"bottom",children:R.jsx("button",{className:"rtf dropdown-toggle",ref:e=>s.current[t]=e,onClick:v,children:R.jsx(re,{format:t,imageColor:u})})}),m&&"table"===p&&R.jsx(he,{onClose:v})]},t):x.includes(t)?R.jsx(be,{allButtons:f,hiddenButtons:x.filter(e=>e!==t),ref:s},t):null:R.jsx(pe,{activeMarks:e,format:t,isActive:e[t],tooltip:f.find(e=>e.format===t).tooltip},t))})]})},xe=({toggleColor:e,fullScreen:t})=>{const{isDarkTheme:r,toggleTheme:n}=X();return R.jsxs("label",{className:"rtf toggle-switch",style:{right:t?55:20},children:[R.jsx("input",{className:"rtf",type:"checkbox",checked:r,onChange:n}),R.jsx("span",{className:"rtf slider round",style:{borderColor:e},children:R.jsx("span",{className:"rtf icon",style:{backgroundColor:e},children:R.jsx("span",{children:r?"🌙":"🌞"})})})]})};function ve({children:e}){const{editor:t,imageColor:n}=Q(),o=r.useId();return R.jsxs(R.Fragment,{children:[R.jsx("div",{className:"rtf tool table__tool",onClick:()=>{return e=o,void H.insertParagraphBeforeTable(t,e);var e},children:R.jsx(re,{format:"enter",imageColor:n})}),R.jsx("table",{className:"rtf","data-table-id":o,children:R.jsx("tbody",{children:e})}),R.jsx("div",{className:"rtf tool table__tool",onClick:()=>{H.insertParagraphAfterTable(t,o)},children:R.jsx(re,{format:"enter",imageColor:n})})]})}const ke=r.createContext({isFullscreen:!1,toggleFullscreen:()=>{}}),we=({children:e})=>{const[t,n]=r.useState(!1);return r.useEffect(()=>{const e=()=>{t&&window.innerWidth<768&&n(!1)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[t]),R.jsx(ke.Provider,{value:{isFullscreen:t,toggleFullscreen:()=>{n(!t)}},children:e})},Ce=()=>r.useContext(ke),je=({children:e})=>{const{isFullscreen:t}=Ce(),n=r.useRef(null);return r.useEffect(()=>(document.body.style.overflow=t?"hidden":"",()=>{document.body.style.overflow=""}),[t]),R.jsx("div",{ref:n,className:"rtf fullscreen-wrapper "+(t?"fullscreen-wrapper--active":""),children:e})},Fe=()=>{const{isFullscreen:e,toggleFullscreen:t}=Ce(),{backgroundColor:r,imageColor:n}=Q();return R.jsx("div",{className:"rtf fullscreen-button",children:R.jsx(de,{position:"bottom",text:e?"Quitter le mode plein écran (Esc)":"Passer en mode plein écran",children:R.jsx("button",{onClick:t,className:"rtf tool "+(e?"tool--active":""),style:{backgroundColor:e?`color-mix(in srgb, ${r} 80%, ${U(r)?"white":"black"})`:""},children:R.jsx(re,{format:"fullscreen"+(e?"Exit":""),imageColor:n})})})})};var Se,Ne={exports:{}};var Ee,Ae,Le=(Se||(Se=1,Ee=Ne,Ae=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,r=0,n={},o={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++r}),e.__id},clone:function e(t,r){var n,a;switch(r=r||{},o.util.type(t)){case"Object":if(a=o.util.objId(t),r[a])return r[a];for(var l in n={},r[a]=n,t)t.hasOwnProperty(l)&&(n[l]=e(t[l],r));return n;case"Array":return a=o.util.objId(t),r[a]?r[a]:(n=[],r[a]=n,t.forEach(function(t,o){n[o]=e(t,r)}),n);default:return t}},getLanguage:function(e){for(;e;){var r=t.exec(e.className);if(r)return r[1].toLowerCase();e=e.parentElement}return"none"},setLanguage:function(e,r){e.className=e.className.replace(RegExp(t,"gi"),""),e.classList.add("language-"+r)},currentScript:function(){if("undefined"==typeof document)return null;if(document.currentScript&&"SCRIPT"===document.currentScript.tagName)return document.currentScript;try{throw new Error}catch(n){var e=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(n.stack)||[])[1];if(e){var t=document.getElementsByTagName("script");for(var r in t)if(t[r].src==e)return t[r]}return null}},isActive:function(e,t,r){for(var n="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(n))return!1;e=e.parentElement}return!!r}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var r=o.util.clone(o.languages[e]);for(var n in t)r[n]=t[n];return r},insertBefore:function(e,t,r,n){var a=(n=n||o.languages)[e],l={};for(var s in a)if(a.hasOwnProperty(s)){if(s==t)for(var i in r)r.hasOwnProperty(i)&&(l[i]=r[i]);r.hasOwnProperty(s)||(l[s]=a[s])}var c=n[e];return n[e]=l,o.languages.DFS(o.languages,function(t,r){r===c&&t!=e&&(this[t]=l)}),l},DFS:function e(t,r,n,a){a=a||{};var l=o.util.objId;for(var s in t)if(t.hasOwnProperty(s)){r.call(t,s,t[s],n||s);var i=t[s],c=o.util.type(i);"Object"!==c||a[l(i)]?"Array"!==c||a[l(i)]||(a[l(i)]=!0,e(i,r,s,a)):(a[l(i)]=!0,e(i,r,null,a))}}},plugins:{},highlightAll:function(e,t){o.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,r){var n={callback:r,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};o.hooks.run("before-highlightall",n),n.elements=Array.prototype.slice.apply(n.container.querySelectorAll(n.selector)),o.hooks.run("before-all-elements-highlight",n);for(var a,l=0;a=n.elements[l++];)o.highlightElement(a,!0===t,n.callback)},highlightElement:function(t,r,n){var a=o.util.getLanguage(t),l=o.languages[a];o.util.setLanguage(t,a);var s=t.parentElement;s&&"pre"===s.nodeName.toLowerCase()&&o.util.setLanguage(s,a);var i={element:t,language:a,grammar:l,code:t.textContent};function c(e){i.highlightedCode=e,o.hooks.run("before-insert",i),i.element.innerHTML=i.highlightedCode,o.hooks.run("after-highlight",i),o.hooks.run("complete",i),n&&n.call(i.element)}if(o.hooks.run("before-sanity-check",i),(s=i.element.parentElement)&&"pre"===s.nodeName.toLowerCase()&&!s.hasAttribute("tabindex")&&s.setAttribute("tabindex","0"),!i.code)return o.hooks.run("complete",i),void(n&&n.call(i.element));if(o.hooks.run("before-highlight",i),i.grammar)if(r&&e.Worker){var u=new Worker(o.filename);u.onmessage=function(e){c(e.data)},u.postMessage(JSON.stringify({language:i.language,code:i.code,immediateClose:!0}))}else c(o.highlight(i.code,i.grammar,i.language));else c(o.util.encode(i.code))},highlight:function(e,t,r){var n={code:e,grammar:t,language:r};if(o.hooks.run("before-tokenize",n),!n.grammar)throw new Error('The language "'+n.language+'" has no grammar.');return n.tokens=o.tokenize(n.code,n.grammar),o.hooks.run("after-tokenize",n),a.stringify(o.util.encode(n.tokens),n.language)},tokenize:function(e,t){var r=t.rest;if(r){for(var n in r)t[n]=r[n];delete t.rest}var o=new i;return c(o,o.head,e),s(e,o,t,o.head,0),function(e){for(var t=[],r=e.head.next;r!==e.tail;)t.push(r.value),r=r.next;return t}(o)},hooks:{all:{},add:function(e,t){var r=o.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){var r=o.hooks.all[e];if(r&&r.length)for(var n,a=0;n=r[a++];)n(t)}},Token:a};function a(e,t,r,n){this.type=e,this.content=t,this.alias=r,this.length=0|(n||"").length}function l(e,t,r,n){e.lastIndex=t;var o=e.exec(r);if(o&&n&&o[1]){var a=o[1].length;o.index+=a,o[0]=o[0].slice(a)}return o}function s(e,t,r,n,i,d){for(var p in r)if(r.hasOwnProperty(p)&&r[p]){var g=r[p];g=Array.isArray(g)?g:[g];for(var f=0;f<g.length;++f){if(d&&d.cause==p+","+f)return;var m=g[f],h=m.inside,b=!!m.lookbehind,y=!!m.greedy,x=m.alias;if(y&&!m.pattern.global){var v=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,v+"g")}for(var k=m.pattern||m,w=n.next,C=i;w!==t.tail&&!(d&&C>=d.reach);C+=w.value.length,w=w.next){var j=w.value;if(t.length>e.length)return;if(!(j instanceof a)){var F,S=1;if(y){if(!(F=l(k,C,e,b))||F.index>=e.length)break;var N=F.index,E=F.index+F[0].length,A=C;for(A+=w.value.length;N>=A;)A+=(w=w.next).value.length;if(C=A-=w.value.length,w.value instanceof a)continue;for(var L=w;L!==t.tail&&(A<E||"string"==typeof L.value);L=L.next)S++,A+=L.value.length;S--,j=e.slice(C,A),F.index-=C}else if(!(F=l(k,0,j,b)))continue;N=F.index;var T=F[0],$=j.slice(0,N),M=j.slice(N+T.length),z=C+j.length;d&&z>d.reach&&(d.reach=z);var _=w.prev;if($&&(_=c(t,_,$),C+=$.length),u(t,_,S),w=c(t,_,new a(p,h?o.tokenize(T,h):T,x,T)),M&&c(t,w,M),S>1){var O={cause:p+","+f,reach:z};s(e,t,r,w.prev,C,O),d&&O.reach>d.reach&&(d.reach=O.reach)}}}}}}function i(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,r){var n=t.next,o={value:r,prev:t,next:n};return t.next=o,n.prev=o,e.length++,o}function u(e,t,r){for(var n=t.next,o=0;o<r&&n!==e.tail;o++)n=n.next;t.next=n,n.prev=t,e.length-=o}if(e.Prism=o,a.stringify=function e(t,r){if("string"==typeof t)return t;if(Array.isArray(t)){var n="";return t.forEach(function(t){n+=e(t,r)}),n}var a={type:t.type,content:e(t.content,r),tag:"span",classes:["token",t.type],attributes:{},language:r},l=t.alias;l&&(Array.isArray(l)?Array.prototype.push.apply(a.classes,l):a.classes.push(l)),o.hooks.run("wrap",a);var s="";for(var i in a.attributes)s+=" "+i+'="'+(a.attributes[i]||"").replace(/"/g,"&quot;")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+s+">"+a.content+"</"+a.tag+">"},!e.document)return e.addEventListener?(o.disableWorkerMessageHandler||e.addEventListener("message",function(t){var r=JSON.parse(t.data),n=r.language,a=r.code,l=r.immediateClose;e.postMessage(o.highlight(a,o.languages[n],n)),l&&e.close()},!1),o):o;var d=o.util.currentScript();function p(){o.manual||o.highlightAll()}if(d&&(o.filename=d.src,d.hasAttribute("data-manual")&&(o.manual=!0)),!o.manual){var g=document.readyState;"loading"===g||"interactive"===g&&d&&d.defer?document.addEventListener("DOMContentLoaded",p):window.requestAnimationFrame?window.requestAnimationFrame(p):window.setTimeout(p,16)}return o}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{}),Ee.exports&&(Ee.exports=Ae),void 0!==T&&(T.Prism=Ae),Ae.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]},Ae.languages.markup.tag.inside["attr-value"].inside.entity=Ae.languages.markup.entity,Ae.languages.markup.doctype.inside["internal-subset"].inside=Ae.languages.markup,Ae.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&amp;/,"&"))}),Object.defineProperty(Ae.languages.markup.tag,"addInlined",{value:function(e,t){var r={};r["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Ae.languages[t]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var n={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};n["language-"+t]={pattern:/[\s\S]+/,inside:Ae.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:n},Ae.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(Ae.languages.markup.tag,"addAttribute",{value:function(e,t){Ae.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:Ae.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Ae.languages.html=Ae.languages.markup,Ae.languages.mathml=Ae.languages.markup,Ae.languages.svg=Ae.languages.markup,Ae.languages.xml=Ae.languages.extend("markup",{}),Ae.languages.ssml=Ae.languages.xml,Ae.languages.atom=Ae.languages.xml,Ae.languages.rss=Ae.languages.xml,function(e){var t=/(?:"(?:\\(?:\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+"|"+t.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\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var r=e.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))}(Ae),Ae.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:/[{}[\];(),.:]/},Ae.languages.javascript=Ae.languages.extend("clike",{"class-name":[Ae.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}|\?\?=?|\?\.?|[~:]/}),Ae.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Ae.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:Ae.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:Ae.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Ae.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Ae.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:Ae.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Ae.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:Ae.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"}}),Ae.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Ae.languages.markup&&(Ae.languages.markup.tag.addInlined("script","javascript"),Ae.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")),Ae.languages.js=Ae.languages.javascript,function(){if(void 0!==Ae&&"undefined"!=typeof document){Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},t="data-src-status",r="loading",n="loaded",o="pre[data-src]:not(["+t+'="'+n+'"]):not(['+t+'="'+r+'"])';Ae.hooks.add("before-highlightall",function(e){e.selector+=", "+o}),Ae.hooks.add("before-sanity-check",function(a){var l=a.element;if(l.matches(o)){a.code="",l.setAttribute(t,r);var s=l.appendChild(document.createElement("CODE"));s.textContent="Loading…";var i=l.getAttribute("data-src"),c=a.language;if("none"===c){var u=(/\.(\w+)$/.exec(i)||[,"none"])[1];c=e[u]||u}Ae.util.setLanguage(s,c),Ae.util.setLanguage(l,c);var d=Ae.plugins.autoloader;d&&d.loadLanguages(c),function(e,t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){4==n.readyState&&(n.status<400&&n.responseText?t(n.responseText):n.status>=400?r("✖ Error "+n.status+" while fetching file: "+n.statusText):r("✖ Error: File does not exist or is empty"))},n.send(null)}(i,function(e){l.setAttribute(t,n);var r=function(e){var t=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(e||"");if(t){var r=Number(t[1]),n=t[2],o=t[3];return n?o?[r,Number(o)]:[r,void 0]:[r,r]}}(l.getAttribute("data-range"));if(r){var o=e.split(/\r\n?|\n/g),a=r[0],i=null==r[1]?o.length:r[1];a<0&&(a+=o.length),a=Math.max(0,Math.min(a-1,o.length)),i<0&&(i+=o.length),i=Math.max(0,Math.min(i,o.length)),e=o.slice(a,i).join("\n"),l.hasAttribute("data-start")||l.setAttribute("data-start",String(a+1))}s.textContent=e,Ae.highlightElement(s)},function(e){l.setAttribute(t,"failed"),s.textContent=e})}}),Ae.plugins.fileHighlight={highlight:function(e){for(var t,r=(e||document).querySelectorAll(o),n=0;t=r[n++];)Ae.highlightElement(t)}};var a=!1;Ae.fileHighlight=function(){a||(a=!0),Ae.plugins.fileHighlight.highlight.apply(this,arguments)}}}()),Ne.exports);const Te=$(Le);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 $e;$e||($e=1,Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function r(e){return e=e.replace(/<inner>/g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var n=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return n}),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(n),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:r(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:r(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:r(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:r(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(t){["url","bold","italic","strike","code-snippet"].forEach(function(r){t!==r&&(e.languages.markdown[t].inside.content.inside[r]=e.languages.markdown[r])})}),e.hooks.add("after-tokenize",function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var r=0,n=t.length;r<n;r++){var o=t[r];if("code"===o.type){var a=o.content[1],l=o.content[3];if(a&&l&&"code-language"===a.type&&"code-block"===l.type&&"string"==typeof a.content){var s=a.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),i="language-"+(s=(/[a-z][\w-]*/i.exec(s)||[""])[0].toLowerCase());l.alias?"string"==typeof l.alias?l.alias=[l.alias,i]:l.alias.push(i):l.alias=[i]}}else e(o.content)}}(e.tokens)}),e.hooks.add("wrap",function(t){if("code-block"===t.type){for(var r="",n=0,o=t.classes.length;n<o;n++){var a=t.classes[n],c=/language-(.+)/.exec(a);if(c){r=c[1];break}}var u,d=e.languages[r];if(d)t.content=e.highlight((u=t.content,u.replace(l,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(e,t){var r;if("#"===(t=t.toLowerCase())[0])return r="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),i(r);var n=s[t];return n||e})),d,r);else if(r&&"none"!==r&&e.plugins.autoloader){var p="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());t.attributes.id=p,e.plugins.autoloader.loadLanguages(r,function(){var t=document.getElementById(p);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[r],r))})}}});var l=RegExp(e.languages.markup.tag.pattern.source,"gi"),s={amp:"&",lt:"<",gt:">",quot:'"'},i=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(Prism),function(e){var t=/(?:"(?:\\(?:\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+"|"+t.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\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var r=e.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))}(Prism);
140
+ function ie(e,n){const[o,a]=r.useState(""),[l,s]=r.useState(""),[i,c]=r.useState(!1),[u,d]=r.useState(""),[p,g]=r.useState(""),[f,m]=r.useState("paragraph"),[h,b]=r.useState("");return{activeBlock:f,setActiveBlock:m,colorMode:l,setColorMode:s,openInNewTab:i,setOpenInNewTab:c,selectedBackgroundColor:p,setSelectedBackgroundColor:g,selectedColor:u,setSelectedColor:d,selectedLanguage:h,setSelectedLanguage:b,selectedLink:o,setSelectedLink:a,detectCurrentLanguage:()=>{const{selection:r}=e;if(r){const[r]=t.Editor.nodes(e,{match:e=>"code"===e.type});b(r?r[0].language:null)}},handleColorChange:t=>{H.applyTextColor(e,t),n(null)},handleBackgroundColorChange:t=>{H.applyBackgroundTextColor(e,t),n(null)},handleBlockTypeChange:t=>{H.toggleBlock(e,t),m(t)}}}function ce({selectedColor:e,onSelectColor:t,onClose:o}){const[l,s]=r.useState("#ffffff"),{theme:i}=X(),{editor:c,backgroundColor:u,borderColor:d,imageColor:p}=Q(),g={backgroundColor:u,color:p},f={backgroundColor:`color-mix(in srgb, ${u} 80%, ${U(u)?"white":"black"})`,color:U(u)?"#FFF":"#000"},m={backgroundColor:"#6c757d"!==u?"#6c757d":"color-mix(in srgb, #6c757d 30%, black)",color:U(u)?"#FFF":"#000"},h={default:{picker:{background:u,color:p,border:d}}};return r.useEffect(()=>{e&&s(e)},[e]),r.useEffect(()=>{const e=document.querySelectorAll(".sketch-picker input"),t=document.querySelectorAll(".sketch-picker label");e.forEach((e,r)=>{e.style.border="2px solid "+d,e.style.background=u,e.style.color=p,t[r].style.color=p})},[i]),R.jsxs("div",{onMouseLeave:o,className:"rtf color-picker-popup",children:[R.jsx(a.SketchPicker,{className:"rtf sketch-picker",styles:h,color:l,onChangeComplete:e=>{n.ReactEditor.focus(c),s(e.hex)}}),R.jsxs("div",{style:g,className:"rtf link-form-actions",children:[R.jsx("button",{className:"rtf",style:f,onClick:()=>{l&&(t(l),o())},disabled:!l,children:"Appliquer"}),R.jsx("button",{className:"rtf",style:m,onClick:()=>{t(""),o()},children:"Annuler"})]})]})}const ue=()=>{const{editor:e,backgroundColor:t,imageColor:r,setDropdownActive:n}=Q(),o=H.isBlockquoteActive(e);return R.jsx("button",{onMouseDown:t=>{t.preventDefault(),n(null),H.toggleBlockquote(e)},style:{backgroundColor:o?`color-mix(in srgb, ${t} 80%, ${U(t)?"white":"black"})`:""},className:"rtf tool",children:R.jsx(re,{format:"blockquote",imageColor:r})})},de=({text:e,children:t,position:n="top"})=>{var o;const[a,l]=r.useState(!1),{isDarkTheme:s,backgroundDarkColor:i,imageDarkColor:c}=X(),u=r.Children.count(t),d=r.Children.map(t,e=>e);return R.jsxs("div",{className:"tooltip-container",style:{display:1===u&&"none"===(null==(o=d[0].props.style)?void 0:o.display)?"none":"inline-block"},onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[t,a&&R.jsx("div",{style:{backgroundColor:s?"black":i,color:c,borderColor:c},className:`tooltip tooltip--${n} tooltip--visible`,role:"tooltip","aria-label":e,children:e})]})},pe=({activeMarks:e,format:o,isActive:a,tooltip:l})=>{const[s,i]=r.useState(""),{backgroundColor:c,editor:u,imageColor:d,dropdownActive:p,setDropdownActive:g}=Q(),{activeBlock:f,colorMode:m,setColorMode:h,openInNewTab:b,detectCurrentLanguage:y,handleColorChange:x,handleBackgroundColorChange:v,setOpenInNewTab:k,selectedBackgroundColor:w,setSelectedBackgroundColor:C,selectedColor:j,setSelectedColor:F,selectedLink:S,setSelectedLink:N}=ie(u,g),E="h1"===f||"h2"===f,A=["left","center","right"],L=()=>{setTimeout(()=>n.ReactEditor.focus(u),0)};return r.useEffect(()=>{y();const{selection:e}=u;if(e){const[e]=t.Editor.nodes(u,{match:e=>"link"===e.type});e?(k("_blank"===e[0].target),N(e[0].href)):(k(!1),N(""))}},[u.selection]),R.jsx(de,{text:l,position:"bottom",children:"indent"===o||"outdent"===o?R.jsx("div",{children:R.jsx("button",{title:l,className:"rtf tool",onClick:()=>{g(null),"indent"===o?H.handleIndent(u):H.handleOutdent(u)},disabled:!a,children:R.jsx(re,{format:o,imageColor:a?d:`color-mix(in srgb, ${d} 40%, black)`})})}):"fontSize"===o?R.jsx(ae,{disabled:E,onSelectSize:e=>{H.applyFontSize(u,e)},sizeSelected:a}):"fontFamily"===o?R.jsx(le,{fontFamilySelected:s,onSelectFontFamily:e=>{H.applyFontFamily(u,e),i(e)}}):"bulletList"===o||"numberedList"===o?R.jsx("div",{className:"rtf dropdown",children:R.jsx(ne,{format:o,isActive:a,onMouseDown:()=>{o="bulletList"===o?"bullet-list":"numbered-list",H.toggleBlock(u,o)}})}):"href"===o?R.jsxs("div",{className:"rtf dropdown",children:[R.jsx("button",{onMouseDown:e=>{e.preventDefault(),g("href"),L()},title:l,className:"rtf tool tool--"+(a?"active":"inactive"),children:R.jsx(re,{format:o,imageColor:d})}),"href"===p&&R.jsx(se,{onClose:()=>g(null),initialUrl:S,isOpenInNewTab:b})]}):"color"===o||"bgColor"===o?R.jsxs("div",{className:"rtf dropdown",children:[R.jsx("button",{title:l,onMouseDown:t=>{t.preventDefault(),L(),"color"===o?(g("color"),F(e[o]),h("color")):(g("bgColor"),C(e[o]),h("bgColor"))},className:"rtf tool tool--"+(a?"active":"inactive"),children:R.jsx(re,{format:o,imageColor:d})}),p===o&&R.jsx(ce,{selectedColor:"color"===m?j:w,onSelectColor:"color"===m?x:v,onClose:()=>g(null)})]}):"blockquote"===o?R.jsx(ue,{tooltip:l}):R.jsx("button",{onMouseDown:e=>{e.preventDefault(),g(null),A.includes(o)?H.toggleAlign(u,o):H.toggleMark(u,o)},title:l,style:{backgroundColor:a?`color-mix(in srgb, ${c} 80%, ${U(c)?"white":"black"})`:""},className:"rtf tool",children:R.jsx(re,{format:o,imageColor:d})})})},ge=r.forwardRef(({tooltip:e},t)=>{const{backgroundColor:n,imageColor:o}=Q(),{editor:a}=Q(),{activeBlock:l,setActiveBlock:s,handleBlockTypeChange:i}=ie(a);r.useEffect(()=>{s(H.getCurrentBlock(a,a.selection))},[a.selection]);const c={backgroundColor:n,color:o};return R.jsx(de,{text:e,position:"bottom",children:R.jsx("select",{ref:t,className:"rtf",value:l,onChange:e=>{const t=e.target.value;i(t)},style:c,children:[{type:"paragraph",name:"Paragraphe"},{type:"h1",name:"Titre"},{type:"h2",name:"Sous-titre"}].map(e=>R.jsx("option",{className:"rtf",value:e.type,children:e.name},e.type))})})}),fe=r.forwardRef((e,t)=>{const[n,o]=r.useState(!1),{backgroundColor:a,editor:l,imageColor:s,dropdownActive:i,setDropdownActive:c}=Q(),{selectedLanguage:u,setSelectedLanguage:d}=ie(l),p={backgroundColor:a,color:s},g={cs:"C#",cpp:"C++",css:"CSS",diff:"Diff",html:"HTML",java:"Java",javascript:"JavaScript",php:"PHP",python:"Python",ruby:"Ruby",typescript:"TypeScript",xml:"XML"},f=()=>{o(!n),c(!0!=!n?null:"code")},m=e=>{d(e),H.handleCode(l,e),o(!1)};return R.jsxs("div",{ref:t,className:"rtf dropdown tool "+(u&&"init"!==u&&""!==u?"tool--active":""),children:[R.jsx("button",{className:"rtf dropdown-toggle",onClick:f,children:R.jsx(re,{format:"blockCode",imageColor:s})}),n&&"code"===i&&R.jsxs("ul",{style:p,onMouseLeave:f,className:"rtf dropdown-menu",children:[u&&R.jsx("li",{onClick:()=>m("init"),children:"Réinitialiser"}),Object.keys(g).map(e=>R.jsx("li",{onClick:()=>m(e),style:{cursor:"pointer",padding:"5px 10px",backgroundColor:u&&e===u?`color-mix(in srgb, ${a} 80%, ${U(a)?"white":"black"})`:a},children:g[e]},e))]})]})}),me=r.forwardRef((e,t)=>{const{editor:r,imageColor:n,setDropdownActive:o}=Q();return R.jsxs("div",{className:"rtf tool image-upload-container",ref:t,children:[R.jsx("input",{id:"file-input",type:"file",accept:"image/*",onChange:e=>H.handleFileChange(e,r),className:"rtf hidden-file-input"}),R.jsx("label",{htmlFor:"file-input",className:"rtf image-upload-label",onClick:()=>o(null),children:R.jsx(re,{format:"image",imageColor:n})})]})}),he=({onClose:e})=>{const{editor:t,backgroundColor:n}=Q(),[o,a]=r.useState(0),[l,s]=r.useState(0),i={backgroundColor:n,color:U(n)?"#FFF":"#000"},c=(e,t)=>{a(e),s(t)},u=(r,n)=>{H.insertTable(t,r+1,n+1),e()};return R.jsxs("div",{style:i,className:"rtf dropdown-menu table-grid-form",children:[R.jsx("div",{className:"rtf grid-container",children:(()=>{const e=[];for(let t=0;t<5;t++)for(let r=0;r<5;r++){const n=t<=o&&r<=l;e.push(R.jsx("div",{className:"rtf grid-cell "+(n?"hovered":""),onMouseEnter:()=>c(t,r),onClick:()=>u(t,r)},`${t}-${r}`))}return e})()}),R.jsxs("div",{style:i,className:"rtf table-size-indicator",children:["Tableau de ",o+1," lignes x ",l+1," colonnes"]})]})},be=r.forwardRef(({allButtons:e,hiddenButtons:t},r)=>{const{editor:n,imageColor:o,setDropdownActive:a}=Q(),l=H.isSelectionInTable(n),s=[{name:"deleteTable",alt:"Supprimer le tableau",onClick:H.deleteTable},{name:"addRow",alt:"Ajouter une ligne",onClick:H.addRow},{name:"addColumn",alt:"Ajouter une colonne",onClick:H.addColumn},{name:"deleteRow",alt:"Supprimer une ligne",onClick:H.deleteRow},{name:"deleteColumn",alt:"Supprimer une colonne",onClick:H.deleteColumn}];return R.jsx(R.Fragment,{children:s.map((s,i)=>{var c,u;return R.jsx(de,{text:e.find(e=>e.format===s.name).tooltip,position:"bottom",children:R.jsx("button",{ref:e=>r.current[s.name]=e,className:"rtf tool",style:{display:t.includes(s.name)?"none":"inline-block"},onClick:()=>(e=>{a(null),e.onClick(n)})(s),disabled:!l,children:R.jsx(re,{format:s.name,imageColor:l?H.getTableFromSelection(n)?"addRow"===s.name?H.getTableFromSelection(n).children.length>=5?`color-mix(in srgb, ${o} 40%, ${U(o)?"white":"black"})`:o:"addColumn"===s.name?(null==(c=H.getTableFromSelection(n).children[0])?void 0:c.children.length)>=5?`color-mix(in srgb, ${o} 40%, ${U(o)?"white":"black"})`:o:"deleteColumn"===s.name?1===(null==(u=H.getTableFromSelection(n).children[0])?void 0:u.children.length)?`color-mix(in srgb, ${o} 40%, ${U(o)?"white":"black"})`:o:"deleteRow"===s.name&&1===H.getTableFromSelection(n).children.length?`color-mix(in srgb, ${o} 40%, ${U(o)?"white":"black"})`:o:o:`color-mix(in srgb, ${o} 40%, ${U(o)?"white":"black"})`})})},i)})})}),ye=({activeMarks:e})=>{const[t,n]=r.useState(!1),[o,a]=r.useState([]),l=r.useRef(null),s=r.useRef({}),i=r.useRef(null),{editor:c,imageColor:u,backgroundColor:d,dropdownActive:p,setDropdownActive:g}=Q(),f=[{format:"blockType",tooltip:"Insérer un bloc de texte"},{format:"bold",tooltip:"Gras (Ctrl+B)"},{format:"underline",tooltip:"Souligné (Ctrl+U)"},{format:"italic",tooltip:"Italique (Ctrl+I)"},{format:"strikethrough",tooltip:"Barré"},{format:"subscript",tooltip:"Indice"},{format:"superscript",tooltip:"Exposant"},{format:"blockquote",tooltip:"Citation"},{format:"color",tooltip:"Couleur du texte"},{format:"bgColor",tooltip:"Couleur de fond"},{format:"fontSize",tooltip:"Taille de texte"},{format:"fontFamily",tooltip:"Police d'écriture"},{format:"href",tooltip:"Insérer un lien (Ctrl+K)"},{format:"bulletList",tooltip:"Liste à puces (Ctrl+L)"},{format:"numberedList",tooltip:"Liste à puces (Ctrl+N)"},{format:"left",tooltip:"Gauche"},{format:"center",tooltip:"Centré"},{format:"right",tooltip:"Droite"},{format:"indent",tooltip:"Indenté"},{format:"outdent",tooltip:"Retrait"},{format:"table",tooltip:"Insérer un tableau"},{format:"deleteTable",tooltip:"Supprimer un tableau"},{format:"addRow",tooltip:"Insérer une ligne"},{format:"addColumn",tooltip:"Insérer une colonne"},{format:"deleteRow",tooltip:"Supprimer une ligne"},{format:"deleteColumn",tooltip:"Supprimer une colonne"},{format:"image",tooltip:"Insérer une image"},{format:"code",tooltip:"Bloc de code (Ctrl+E)"},{format:"undo",tooltip:"Annuler (Ctrl+Z)"},{format:"redo",tooltip:"Rétablir (Ctrl+Y)"}],[m,h]=r.useState(!1),[b,y]=r.useState(0),x=["deleteTable","addRow","addColumn","deleteRow","deleteColumn"],v=()=>{h(!m),g(!0!=!m?null:"table")};return r.useEffect(()=>{if(!l.current)return;const e=new ResizeObserver(()=>{(()=>{if(l.current){const e=l.current.clientWidth-15;let t=0;if(f.forEach((e,r)=>{const n=s.current[e.format];n&&(t+=(0===r?n.clientWidth:s.current[f[1].format].clientWidth)+5)}),t>e){let t=0;const r=[];f.forEach((n,o)=>{const a=s.current[n.format];a&&(t+=(0===o?a.clientWidth:s.current[f[1].format].clientWidth)+5,t<=e&&r.push(n.format))});const n=f.map(e=>e.format).filter(e=>!r.includes(e));a(n)}else a([])}})()});return e.observe(l.current),()=>{e.disconnect()}},[]),r.useEffect(()=>{i.current?y(i.current.clientHeight):y(0)},[t]),R.jsxs("div",{className:"rtf toolbar-container",style:{marginBottom:b},children:[R.jsxs("div",{className:"rtf toolbar",onClick:()=>{document.querySelector(".rtf.toolbar").blur()},ref:l,children:[R.jsx(ge,{ref:e=>s.current.blockType=e,tooltip:f.find(e=>"blockType"===e.format).tooltip}),Object.keys(e).map((t,r)=>R.jsx("div",{className:"rtf",ref:e=>s.current[t]=e,style:{display:o.includes(t)?"none":"inline-block"},children:R.jsx(pe,{activeMarks:e,format:t,isActive:e[t],tooltip:f.find(e=>e.format===t).tooltip})},r)),R.jsxs("div",{className:"rtf dropdown tool",style:{display:o.includes("table")?"none":"flex",padding:o.includes("table")?0:5},children:[R.jsx(de,{text:f.find(e=>"table"===e.format).tooltip,position:"bottom",children:R.jsx("button",{ref:e=>s.current.table=e,onClick:v,className:"rtf dropdown-toggle",children:R.jsx(re,{format:"table",imageColor:u})})}),m&&!o.includes("table")&&"table"===p&&R.jsx(he,{onClose:v})]}),R.jsx(be,{allButtons:f,hiddenButtons:o,ref:s}),R.jsx("div",{className:"rtf dropdown tool",style:{display:o.includes("image")?"none":"flex",padding:0},children:R.jsx(de,{text:f.find(e=>"image"===e.format).tooltip,position:"bottom",children:R.jsx(me,{ref:e=>s.current.image=e})})}),R.jsx("div",{className:"rtf dropdown tool",style:{display:o.includes("code")?"none":"flex",padding:0},children:R.jsx(de,{text:f.find(e=>"code"===e.format).tooltip,position:"bottom",children:R.jsx(fe,{ref:e=>s.current.code=e})})}),["undo","redo"].map(e=>R.jsx("div",{className:"rtf dropdown tool",style:{display:o.includes(e)?"none":"flex",padding:0},children:R.jsx(de,{text:f.find(t=>t.format===e).tooltip,position:"bottom",children:R.jsx("button",{ref:t=>s.current[e]=t,className:"rtf tool",style:{display:o.includes(e)?"none":"inline-block"},onMouseDown:t=>{t.preventDefault(),"undo"===e?c.undo():"redo"===e&&c.redo()},children:R.jsx(re,{format:e,imageColor:0===c.history[e+"s"].length?`color-mix(in srgb, ${u} 40%, ${U(u)?"white":"black"})`:u})},e)})},e)),o.length>0&&R.jsx(de,{text:"Voir plus",position:"bottom",children:R.jsx("button",{className:"rtf tool toolbar-more-button",onClick:()=>{n(e=>!e)},children:R.jsx(re,{format:"more",imageColor:u})})})]}),t&&R.jsx("div",{className:"rtf toolbar-modal",ref:i,style:{backgroundColor:d},onMouseLeave:()=>n(!1),children:o.map(t=>"image"===t||"code"===t||"table"===t||"deleteTable"===t||"addRow"===t||"addColumn"===t||"deleteRow"===t||"deleteColumn"===t?"image"===t?R.jsx(me,{ref:e=>s.current.image=e},t):"code"===t?R.jsx(fe,{ref:e=>s.current.code=e},t):"table"===t?R.jsxs("div",{className:"rtf dropdown tool",children:[R.jsx(de,{text:f.find(e=>e.format===t).tooltip,position:"bottom",children:R.jsx("button",{className:"rtf dropdown-toggle",ref:e=>s.current[t]=e,onClick:v,children:R.jsx(re,{format:t,imageColor:u})})}),m&&"table"===p&&R.jsx(he,{onClose:v})]},t):x.includes(t)?R.jsx(be,{allButtons:f,hiddenButtons:x.filter(e=>e!==t),ref:s},t):null:"undo"===t||"redo"===t?R.jsx("div",{className:"rtf dropdown tool",style:{display:"flex",padding:0},children:R.jsx(de,{text:f.find(e=>e.format===t).tooltip,position:"bottom",children:R.jsx("button",{ref:e=>s.current[t]=e,className:"rtf tool",style:{display:"inline-block"},onMouseDown:e=>{e.preventDefault(),"undo"===t?c.undo():"redo"===t&&c.redo()},children:R.jsx(re,{format:t,imageColor:0===c.history[t+"s"].length?`color-mix(in srgb, ${u} 40%, ${U(u)?"white":"black"})`:u})},t)})},t):R.jsx(pe,{activeMarks:e,format:t,isActive:e[t],tooltip:f.find(e=>e.format===t).tooltip},t))})]})},xe=({toggleColor:e,fullScreen:t})=>{const{isDarkTheme:r,toggleTheme:n}=X();return R.jsxs("label",{className:"rtf toggle-switch",style:{right:t?55:20},children:[R.jsx("input",{className:"rtf",type:"checkbox",checked:r,onChange:n}),R.jsx("span",{className:"rtf slider round",style:{borderColor:e},children:R.jsx("span",{className:"rtf icon",style:{backgroundColor:e},children:R.jsx("span",{children:r?"🌙":"🌞"})})})]})};function ve({children:e}){const{editor:t,imageColor:n}=Q(),o=r.useId();return R.jsxs(R.Fragment,{children:[R.jsx("div",{className:"rtf tool table__tool",onClick:()=>{return e=o,void H.insertParagraphBeforeTable(t,e);var e},children:R.jsx(re,{format:"enter",imageColor:n})}),R.jsx("table",{className:"rtf","data-table-id":o,children:R.jsx("tbody",{children:e})}),R.jsx("div",{className:"rtf tool table__tool",onClick:()=>{H.insertParagraphAfterTable(t,o)},children:R.jsx(re,{format:"enter",imageColor:n})})]})}const ke=r.createContext({isFullscreen:!1,toggleFullscreen:()=>{}}),we=({children:e})=>{const[t,n]=r.useState(!1);return r.useEffect(()=>{const e=()=>{t&&window.innerWidth<768&&n(!1)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[t]),R.jsx(ke.Provider,{value:{isFullscreen:t,toggleFullscreen:()=>{n(!t)}},children:e})},Ce=()=>r.useContext(ke),je=({children:e})=>{const{isFullscreen:t}=Ce(),n=r.useRef(null);return r.useEffect(()=>(document.body.style.overflow=t?"hidden":"",()=>{document.body.style.overflow=""}),[t]),R.jsx("div",{ref:n,className:"rtf fullscreen-wrapper "+(t?"fullscreen-wrapper--active":""),children:e})},Fe=()=>{const{isFullscreen:e,toggleFullscreen:t}=Ce(),{backgroundColor:r,imageColor:n}=Q();return R.jsx("div",{className:"rtf fullscreen-button",children:R.jsx(de,{position:"bottom",text:e?"Quitter le mode plein écran (Esc)":"Passer en mode plein écran",children:R.jsx("button",{onClick:t,className:"rtf tool "+(e?"tool--active":""),style:{backgroundColor:e?`color-mix(in srgb, ${r} 80%, ${U(r)?"white":"black"})`:""},children:R.jsx(re,{format:"fullscreen"+(e?"Exit":""),imageColor:n})})})})};var Se,Ne={exports:{}};var Ee,Ae,Le=(Se||(Se=1,Ee=Ne,Ae=function(e){var t=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,r=0,n={},o={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(t){return t instanceof a?new a(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).slice(8,-1)},objId:function(e){return e.__id||Object.defineProperty(e,"__id",{value:++r}),e.__id},clone:function e(t,r){var n,a;switch(r=r||{},o.util.type(t)){case"Object":if(a=o.util.objId(t),r[a])return r[a];for(var l in n={},r[a]=n,t)t.hasOwnProperty(l)&&(n[l]=e(t[l],r));return n;case"Array":return a=o.util.objId(t),r[a]?r[a]:(n=[],r[a]=n,t.forEach(function(t,o){n[o]=e(t,r)}),n);default:return t}},getLanguage:function(e){for(;e;){var r=t.exec(e.className);if(r)return r[1].toLowerCase();e=e.parentElement}return"none"},setLanguage:function(e,r){e.className=e.className.replace(RegExp(t,"gi"),""),e.classList.add("language-"+r)},currentScript:function(){if("undefined"==typeof document)return null;if(document.currentScript&&"SCRIPT"===document.currentScript.tagName)return document.currentScript;try{throw new Error}catch(n){var e=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(n.stack)||[])[1];if(e){var t=document.getElementsByTagName("script");for(var r in t)if(t[r].src==e)return t[r]}return null}},isActive:function(e,t,r){for(var n="no-"+t;e;){var o=e.classList;if(o.contains(t))return!0;if(o.contains(n))return!1;e=e.parentElement}return!!r}},languages:{plain:n,plaintext:n,text:n,txt:n,extend:function(e,t){var r=o.util.clone(o.languages[e]);for(var n in t)r[n]=t[n];return r},insertBefore:function(e,t,r,n){var a=(n=n||o.languages)[e],l={};for(var s in a)if(a.hasOwnProperty(s)){if(s==t)for(var i in r)r.hasOwnProperty(i)&&(l[i]=r[i]);r.hasOwnProperty(s)||(l[s]=a[s])}var c=n[e];return n[e]=l,o.languages.DFS(o.languages,function(t,r){r===c&&t!=e&&(this[t]=l)}),l},DFS:function e(t,r,n,a){a=a||{};var l=o.util.objId;for(var s in t)if(t.hasOwnProperty(s)){r.call(t,s,t[s],n||s);var i=t[s],c=o.util.type(i);"Object"!==c||a[l(i)]?"Array"!==c||a[l(i)]||(a[l(i)]=!0,e(i,r,s,a)):(a[l(i)]=!0,e(i,r,null,a))}}},plugins:{},highlightAll:function(e,t){o.highlightAllUnder(document,e,t)},highlightAllUnder:function(e,t,r){var n={callback:r,container:e,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};o.hooks.run("before-highlightall",n),n.elements=Array.prototype.slice.apply(n.container.querySelectorAll(n.selector)),o.hooks.run("before-all-elements-highlight",n);for(var a,l=0;a=n.elements[l++];)o.highlightElement(a,!0===t,n.callback)},highlightElement:function(t,r,n){var a=o.util.getLanguage(t),l=o.languages[a];o.util.setLanguage(t,a);var s=t.parentElement;s&&"pre"===s.nodeName.toLowerCase()&&o.util.setLanguage(s,a);var i={element:t,language:a,grammar:l,code:t.textContent};function c(e){i.highlightedCode=e,o.hooks.run("before-insert",i),i.element.innerHTML=i.highlightedCode,o.hooks.run("after-highlight",i),o.hooks.run("complete",i),n&&n.call(i.element)}if(o.hooks.run("before-sanity-check",i),(s=i.element.parentElement)&&"pre"===s.nodeName.toLowerCase()&&!s.hasAttribute("tabindex")&&s.setAttribute("tabindex","0"),!i.code)return o.hooks.run("complete",i),void(n&&n.call(i.element));if(o.hooks.run("before-highlight",i),i.grammar)if(r&&e.Worker){var u=new Worker(o.filename);u.onmessage=function(e){c(e.data)},u.postMessage(JSON.stringify({language:i.language,code:i.code,immediateClose:!0}))}else c(o.highlight(i.code,i.grammar,i.language));else c(o.util.encode(i.code))},highlight:function(e,t,r){var n={code:e,grammar:t,language:r};if(o.hooks.run("before-tokenize",n),!n.grammar)throw new Error('The language "'+n.language+'" has no grammar.');return n.tokens=o.tokenize(n.code,n.grammar),o.hooks.run("after-tokenize",n),a.stringify(o.util.encode(n.tokens),n.language)},tokenize:function(e,t){var r=t.rest;if(r){for(var n in r)t[n]=r[n];delete t.rest}var o=new i;return c(o,o.head,e),s(e,o,t,o.head,0),function(e){for(var t=[],r=e.head.next;r!==e.tail;)t.push(r.value),r=r.next;return t}(o)},hooks:{all:{},add:function(e,t){var r=o.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){var r=o.hooks.all[e];if(r&&r.length)for(var n,a=0;n=r[a++];)n(t)}},Token:a};function a(e,t,r,n){this.type=e,this.content=t,this.alias=r,this.length=0|(n||"").length}function l(e,t,r,n){e.lastIndex=t;var o=e.exec(r);if(o&&n&&o[1]){var a=o[1].length;o.index+=a,o[0]=o[0].slice(a)}return o}function s(e,t,r,n,i,d){for(var p in r)if(r.hasOwnProperty(p)&&r[p]){var g=r[p];g=Array.isArray(g)?g:[g];for(var f=0;f<g.length;++f){if(d&&d.cause==p+","+f)return;var m=g[f],h=m.inside,b=!!m.lookbehind,y=!!m.greedy,x=m.alias;if(y&&!m.pattern.global){var v=m.pattern.toString().match(/[imsuy]*$/)[0];m.pattern=RegExp(m.pattern.source,v+"g")}for(var k=m.pattern||m,w=n.next,C=i;w!==t.tail&&!(d&&C>=d.reach);C+=w.value.length,w=w.next){var j=w.value;if(t.length>e.length)return;if(!(j instanceof a)){var F,S=1;if(y){if(!(F=l(k,C,e,b))||F.index>=e.length)break;var N=F.index,E=F.index+F[0].length,A=C;for(A+=w.value.length;N>=A;)A+=(w=w.next).value.length;if(C=A-=w.value.length,w.value instanceof a)continue;for(var L=w;L!==t.tail&&(A<E||"string"==typeof L.value);L=L.next)S++,A+=L.value.length;S--,j=e.slice(C,A),F.index-=C}else if(!(F=l(k,0,j,b)))continue;N=F.index;var T=F[0],$=j.slice(0,N),M=j.slice(N+T.length),z=C+j.length;d&&z>d.reach&&(d.reach=z);var _=w.prev;if($&&(_=c(t,_,$),C+=$.length),u(t,_,S),w=c(t,_,new a(p,h?o.tokenize(T,h):T,x,T)),M&&c(t,w,M),S>1){var O={cause:p+","+f,reach:z};s(e,t,r,w.prev,C,O),d&&O.reach>d.reach&&(d.reach=O.reach)}}}}}}function i(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,r){var n=t.next,o={value:r,prev:t,next:n};return t.next=o,n.prev=o,e.length++,o}function u(e,t,r){for(var n=t.next,o=0;o<r&&n!==e.tail;o++)n=n.next;t.next=n,n.prev=t,e.length-=o}if(e.Prism=o,a.stringify=function e(t,r){if("string"==typeof t)return t;if(Array.isArray(t)){var n="";return t.forEach(function(t){n+=e(t,r)}),n}var a={type:t.type,content:e(t.content,r),tag:"span",classes:["token",t.type],attributes:{},language:r},l=t.alias;l&&(Array.isArray(l)?Array.prototype.push.apply(a.classes,l):a.classes.push(l)),o.hooks.run("wrap",a);var s="";for(var i in a.attributes)s+=" "+i+'="'+(a.attributes[i]||"").replace(/"/g,"&quot;")+'"';return"<"+a.tag+' class="'+a.classes.join(" ")+'"'+s+">"+a.content+"</"+a.tag+">"},!e.document)return e.addEventListener?(o.disableWorkerMessageHandler||e.addEventListener("message",function(t){var r=JSON.parse(t.data),n=r.language,a=r.code,l=r.immediateClose;e.postMessage(o.highlight(a,o.languages[n],n)),l&&e.close()},!1),o):o;var d=o.util.currentScript();function p(){o.manual||o.highlightAll()}if(d&&(o.filename=d.src,d.hasAttribute("data-manual")&&(o.manual=!0)),!o.manual){var g=document.readyState;"loading"===g||"interactive"===g&&d&&d.defer?document.addEventListener("DOMContentLoaded",p):window.requestAnimationFrame?window.requestAnimationFrame(p):window.setTimeout(p,16)}return o}("undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{}),Ee.exports&&(Ee.exports=Ae),void 0!==T&&(T.Prism=Ae),Ae.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]},Ae.languages.markup.tag.inside["attr-value"].inside.entity=Ae.languages.markup.entity,Ae.languages.markup.doctype.inside["internal-subset"].inside=Ae.languages.markup,Ae.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&amp;/,"&"))}),Object.defineProperty(Ae.languages.markup.tag,"addInlined",{value:function(e,t){var r={};r["language-"+t]={pattern:/(^<!\[CDATA\[)[\s\S]+?(?=\]\]>$)/i,lookbehind:!0,inside:Ae.languages[t]},r.cdata=/^<!\[CDATA\[|\]\]>$/i;var n={"included-cdata":{pattern:/<!\[CDATA\[[\s\S]*?\]\]>/i,inside:r}};n["language-"+t]={pattern:/[\s\S]+/,inside:Ae.languages[t]};var o={};o[e]={pattern:RegExp(/(<__[^>]*>)(?:<!\[CDATA\[(?:[^\]]|\](?!\]>))*\]\]>|(?!<!\[CDATA\[)[\s\S])*?(?=<\/__>)/.source.replace(/__/g,function(){return e}),"i"),lookbehind:!0,greedy:!0,inside:n},Ae.languages.insertBefore("markup","cdata",o)}}),Object.defineProperty(Ae.languages.markup.tag,"addAttribute",{value:function(e,t){Ae.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:Ae.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Ae.languages.html=Ae.languages.markup,Ae.languages.mathml=Ae.languages.markup,Ae.languages.svg=Ae.languages.markup,Ae.languages.xml=Ae.languages.extend("markup",{}),Ae.languages.ssml=Ae.languages.xml,Ae.languages.atom=Ae.languages.xml,Ae.languages.rss=Ae.languages.xml,function(e){var t=/(?:"(?:\\(?:\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+"|"+t.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\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var r=e.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))}(Ae),Ae.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:/[{}[\];(),.:]/},Ae.languages.javascript=Ae.languages.extend("clike",{"class-name":[Ae.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}|\?\?=?|\?\.?|[~:]/}),Ae.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Ae.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:Ae.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:Ae.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Ae.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Ae.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:Ae.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Ae.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:Ae.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"}}),Ae.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Ae.languages.markup&&(Ae.languages.markup.tag.addInlined("script","javascript"),Ae.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")),Ae.languages.js=Ae.languages.javascript,function(){if(void 0!==Ae&&"undefined"!=typeof document){Element.prototype.matches||(Element.prototype.matches=Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector);var e={js:"javascript",py:"python",rb:"ruby",ps1:"powershell",psm1:"powershell",sh:"bash",bat:"batch",h:"c",tex:"latex"},t="data-src-status",r="loading",n="loaded",o="pre[data-src]:not(["+t+'="'+n+'"]):not(['+t+'="'+r+'"])';Ae.hooks.add("before-highlightall",function(e){e.selector+=", "+o}),Ae.hooks.add("before-sanity-check",function(a){var l=a.element;if(l.matches(o)){a.code="",l.setAttribute(t,r);var s=l.appendChild(document.createElement("CODE"));s.textContent="Loading…";var i=l.getAttribute("data-src"),c=a.language;if("none"===c){var u=(/\.(\w+)$/.exec(i)||[,"none"])[1];c=e[u]||u}Ae.util.setLanguage(s,c),Ae.util.setLanguage(l,c);var d=Ae.plugins.autoloader;d&&d.loadLanguages(c),function(e,t,r){var n=new XMLHttpRequest;n.open("GET",e,!0),n.onreadystatechange=function(){4==n.readyState&&(n.status<400&&n.responseText?t(n.responseText):n.status>=400?r("✖ Error "+n.status+" while fetching file: "+n.statusText):r("✖ Error: File does not exist or is empty"))},n.send(null)}(i,function(e){l.setAttribute(t,n);var r=function(e){var t=/^\s*(\d+)\s*(?:(,)\s*(?:(\d+)\s*)?)?$/.exec(e||"");if(t){var r=Number(t[1]),n=t[2],o=t[3];return n?o?[r,Number(o)]:[r,void 0]:[r,r]}}(l.getAttribute("data-range"));if(r){var o=e.split(/\r\n?|\n/g),a=r[0],i=null==r[1]?o.length:r[1];a<0&&(a+=o.length),a=Math.max(0,Math.min(a-1,o.length)),i<0&&(i+=o.length),i=Math.max(0,Math.min(i,o.length)),e=o.slice(a,i).join("\n"),l.hasAttribute("data-start")||l.setAttribute("data-start",String(a+1))}s.textContent=e,Ae.highlightElement(s)},function(e){l.setAttribute(t,"failed"),s.textContent=e})}}),Ae.plugins.fileHighlight={highlight:function(e){for(var t,r=(e||document).querySelectorAll(o),n=0;t=r[n++];)Ae.highlightElement(t)}};var a=!1;Ae.fileHighlight=function(){a||(a=!0),Ae.plugins.fileHighlight.highlight.apply(this,arguments)}}}()),Ne.exports);const Te=$(Le);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 $e;$e||($e=1,Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python,Prism.languages.py=Prism.languages.python),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function r(e){return e=e.replace(/<inner>/g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var n=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return n}),a=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+a+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+a+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+a+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(n),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:r(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:r(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:r(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:r(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(t){["url","bold","italic","strike","code-snippet"].forEach(function(r){t!==r&&(e.languages.markdown[t].inside.content.inside[r]=e.languages.markdown[r])})}),e.hooks.add("after-tokenize",function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var r=0,n=t.length;r<n;r++){var o=t[r];if("code"===o.type){var a=o.content[1],l=o.content[3];if(a&&l&&"code-language"===a.type&&"code-block"===l.type&&"string"==typeof a.content){var s=a.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp"),i="language-"+(s=(/[a-z][\w-]*/i.exec(s)||[""])[0].toLowerCase());l.alias?"string"==typeof l.alias?l.alias=[l.alias,i]:l.alias.push(i):l.alias=[i]}}else e(o.content)}}(e.tokens)}),e.hooks.add("wrap",function(t){if("code-block"===t.type){for(var r="",n=0,o=t.classes.length;n<o;n++){var a=t.classes[n],c=/language-(.+)/.exec(a);if(c){r=c[1];break}}var u,d=e.languages[r];if(d)t.content=e.highlight((u=t.content,u.replace(l,"").replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(e,t){var r;if("#"===(t=t.toLowerCase())[0])return r="x"===t[1]?parseInt(t.slice(2),16):Number(t.slice(1)),i(r);var n=s[t];return n||e})),d,r);else if(r&&"none"!==r&&e.plugins.autoloader){var p="md-"+(new Date).valueOf()+"-"+Math.floor(1e16*Math.random());t.attributes.id=p,e.plugins.autoloader.loadLanguages(r,function(){var t=document.getElementById(p);t&&(t.innerHTML=e.highlight(t.textContent,e.languages[r],r))})}}});var l=RegExp(e.languages.markup.tag.pattern.source,"gi"),s={amp:"&",lt:"<",gt:">",quot:'"'},i=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(Prism),function(e){var t=/(?:"(?:\\(?:\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+"|"+t.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\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var r=e.languages.markup;r&&(r.tag.addInlined("style","css"),r.tag.addAttribute("style","css"))}(Prism);
141
141
  /**
142
142
  * @license
143
143
  * Copyright (c) 2025 Jahylis
@@ -158,4 +158,4 @@ function ie(e,n){const[o,a]=r.useState(""),[l,s]=r.useState(""),[i,c]=r.useState
158
158
  *
159
159
  * For any questions or suggestions, please contact: administrateur@nhumeria.fr
160
160
  */
161
- e.default=({value:e,setValue:a,fullScreen:s=!0,showTheme:i=!0,borderColor:c="#ccc",backgroundColor:u="#FFF",imageColor:d="#000",borderDarkColor:p="#1A1A1A",backgroundDarkColor:g="#444444",imageDarkColor:f="#ffffff",toggleColor:m="#2584aa",raccourcis:h=null})=>{const[b]=r.useState(()=>l.withDocxDeserializer(o.withHistory(n.withReact(t.createEditor())))),[y,x]=r.useState({bold:!1,underline:!1,italic:!1,strikethrough:!1,subscript:!1,superscript:!1,blockquote:!1,color:"",bgColor:"",fontSize:"",fontFamily:"",href:"",bulletList:!1,numberedList:!1,left:!1,center:!1,right:!1,indent:!1,outdent:!1}),v=r.useMemo(()=>e||[{type:"paragraph",children:[{text:""}]}],[]),k=r.useRef([]),w=r.useCallback(e=>{switch(e.element.type){case"code":return R.jsx(I,{...e});case"bullet-list":case"numbered-list":case"list-item":return R.jsx(Z,{...e});case"h1":return R.jsx("h1",{className:"rtf",...e.attributes,children:e.children});case"h2":return R.jsx("h2",{className:"rtf",...e.attributes,children:e.children});case"blockquote":return R.jsx(W,{...e});case"image":return R.jsx("img",{className:"rtf",src:e.element.url,alt:"",...e.attributes});case"table":return R.jsx(ve,{...e});case"table-row":return R.jsx("tr",{className:"rtf",children:e.children});case"table-cell":return R.jsx("td",{className:"rtf",children:e.children});default:return R.jsx(q,{...e})}},[]),C=r.useCallback(e=>R.jsx(V,{...e}),[]),j=r.useCallback(()=>{const e=t.Editor.marks(b),r=H.isSelectionInList(b);x(n=>{const o={};for(const a in n)if("bulletList"===a||"numberedList"===a){const e="bulletList"===a?"bullet-list":"numberedList"===a?"numbered-list":"";o[a]=r&&H.isBlockActive(b,e)}else if("left"===a||"center"===a||"right"===a)o[a]=H.isAlignActive(b,a);else if("indent"===a||"outdent"===a)o[a]=H.canIndent(b,a);else if("href"===a){let e="";if(H.isLinkActive(b)){const r=t.Editor.nodes(b,{match:e=>"link"===e.type,mode:"highest"});for(const[t]of r)if(t&&t.href){e=t.href;break}}o[a]=e}else o[a]="color"===a?(null==e?void 0:e.color)||null:"fontSize"===a?(null==e?void 0:e.fontSize)||null:!0===(null==e?void 0:e[a]);return o})},[b]);return r.useEffect(()=>{if(null!==h){const e=e=>{Object.keys(h).forEach(t=>{const r=t.split("+"),n=r.pop().toLowerCase(),o=r.map(e=>e.toLowerCase()),a={ctrl:e.ctrlKey,shift:e.shiftKey,alt:e.altKey,meta:e.metaKey},l=o.every(e=>a[e]),s=e.key.toLowerCase()===n;l&&s&&h[t](e)})};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}},[h]),r.useEffect(()=>{null==e&&t.Transforms.delete(b,{at:{anchor:t.Editor.start(b,[]),focus:t.Editor.end(b,[])}})},[e]),R.jsx(K,{showTheme:i,borderDarkColor:p,backgroundDarkColor:g,imageDarkColor:f,children:R.jsx(we,{children:R.jsx(je,{children:R.jsx(Y,{backgroundColor:u,borderColor:c,editor:b,imageColor:d,children:R.jsxs(n.Slate,{editor:b,initialValue:v,value:e,onChange:e=>{j();if(b.operations.some(e=>"set_selection"!==e.type)){const t=JSON.stringify(e);a(e),localStorage.setItem("content",t)}},children:[R.jsx(ye,{activeMarks:y}),R.jsx(n.Editable,{className:"rtf rtf__editor",decorate:([e,r])=>{const n=[];if(!t.Element.isElement(e))return n;const o=t.Node.string(e),a=r[0],l=k.current[a];if(l&&l.text==o)return l.ranges;const s=Te.tokenize(o,Te.languages.javascript);let i=0;for(const t of s){const e=i+t.length;"string"!=typeof t&&n.push({anchor:{path:r,offset:i},focus:{path:r,offset:e},className:`token ${t.type}`}),i=e}return k.current[a]={text:o,ranges:n},n},renderElement:w,renderLeaf:C,style:{borderColor:c,paddingBottom:i||s?35:10},onPaste:async e=>{if(H.isSelectionInCode(b)){const t=e.clipboardData.getData("text/plain");if(t){(t.includes("\n")||t.match(/^\s{2,}/gm))&&(e.preventDefault(),H.insertCodeBlock(b,t))}return}const t=e.clipboardData.getData("text/html");if(t){e.preventDefault();const r=(e=>{const t=e=>{if(e.nodeType===Node.TEXT_NODE){const t=e.textContent.trim();return""===t?null:t}if(e.nodeType!==Node.ELEMENT_NODE)return null;const r=Array.from(e.childNodes).map(t).flat().filter(Boolean),n={bold:"B"===e.nodeName||"STRONG"===e.nodeName||"bold"===e.style.fontWeight||"700"===e.style.fontWeight,italic:"I"===e.nodeName||"EM"===e.nodeName||"italic"===e.style.fontStyle,underline:"U"===e.nodeName||e.style.textDecoration&&e.style.textDecoration.includes("underline"),fontSize:e.style.fontSize||"FONT"===e.nodeName&&e.getAttribute("size"),fontFamily:e.style.fontFamily||"FONT"===e.nodeName&&e.getAttribute("face"),color:e.style.color||"FONT"===e.nodeName&&e.getAttribute("color"),align:e.getAttribute("align")};let o;switch(e.nodeName){case"P":o=A("element",{type:"paragraph",align:n.align,size:n.fontSize},r.length?r:[{text:""}]);break;case"PRE":o=A("element",{type:"code"},r.length?r:[{text:""}]);break;case"UL":o=A("element",{type:"bullet-list"},r);break;case"OL":o=A("element",{type:"numbered-list"},r);break;case"LI":o=A("element",{type:"list-item"},r.length?r:[{text:""}]);break;case"H1":o=A("element",{type:"h1"},r.length?r:[{text:""}]);break;case"H2":case"H3":case"H4":case"H5":case"H6":o=A("element",{type:"h2",align:n.align},r.length?r:[{text:""}]);break;case"BLOCKQUOTE":o=A("element",{type:"blockquote",align:n.align},r.length?r:[{text:""}]);break;case"IMG":o=A("element",{type:"image",url:e.getAttribute("src")});break;case"TABLE":o=A("element",{type:"table"},r);break;case"TR":o=A("element",{type:"table-row"},r);break;case"TD":o=A("element",{type:"table-cell"},r);break;case"A":o=A("element",{type:"link",url:e.getAttribute("href")},r.length?r:[{text:""}]);break;default:o=r.map(e=>"string"==typeof e?A("text",n,e):e).filter(Boolean)}return o};return Array.from(e.childNodes).map(t).flat().filter(Boolean)})((new DOMParser).parseFromString(t,"text/html").body);b.insertFragment(r)}},onKeyDown:e=>{if("Tab"!==e.key){if("Enter"!==e.key||e.ctrlKey||(H.isSelectionInTable(b)||H.isSelectionInCode(b)||H.isBlockquoteActive(b))&&(e.preventDefault(),b.insertText("\n")),e.ctrlKey)switch(e.key){case"=":e.preventDefault(),H.toggleBlock(b,"code");break;case"b":e.preventDefault(),H.toggleMark(b,"bold");break;case"i":e.preventDefault(),H.toggleMark(b,"italic");break;case"u":e.preventDefault(),H.toggleMark(b,"underline");break;case"s":e.preventDefault(),H.toggleMark(b,"strikethrough");break;case"sub":e.preventDefault(),H.toggleMark(b,"subscript");break;case"sup":e.preventDefault(),H.toggleMark(b,"superscript");break;case"l":e.preventDefault(),H.toggleBlock(b,"bulletList");break;case"n":e.preventDefault(),H.toggleBlock(b,"numberedList");break;case"left":e.preventDefault(),H.toggleMark(b,"left");break;case"center":e.preventDefault(),H.toggleMark(b,"center");break;case"right":e.preventDefault(),H.toggleMark(b,"right");break;case"Enter":{e.preventDefault();const{selection:r}=b;if(r){const[e]=t.Editor.nodes(b,{match:e=>t.Element.isElement(e)&&"paragraph"!==e.type});e&&t.Transforms.insertNodes(b,t.Transforms.insertNodes(b,{type:"paragraph",children:[{text:""}]}))}break}}}else(e=>{e.shiftKey&&H.canIndent(b,"outdent")?(e.preventDefault(),H.handleOutdent(b)):H.canIndent(b,"indent")&&(e.preventDefault(),H.handleIndent(b))})(e)}}),i&&R.jsx(xe,{toggleColor:m,fullScreen:s}),s&&R.jsx(Fe,{})]})})})})})},e.deserialize=e=>{const t=(new DOMParser).parseFromString(e,"text/html"),r=e=>{if(e.nodeType===Node.TEXT_NODE)return e.textContent;if(e.nodeType!==Node.ELEMENT_NODE)return null;const t=Array.from(e.childNodes).map(r).flat().filter(Boolean),n={bold:null!==e.querySelector("strong"),italic:null!==e.querySelector("em"),underline:null!==e.querySelector("u"),strikethrough:null!==e.querySelector("del"),subscript:null!==e.querySelector("sub"),superscript:null!==e.querySelector("sup"),bgColor:e.style.backgroundColor||e.querySelector("mark")&&e.querySelector("mark").style.backgroundColor,color:e.style.color,fontSize:e.style.fontSize,fontFamily:e.style.fontFamily,href:"A"===e.nodeName?e.getAttribute("href"):null,target:"A"===e.nodeName?e.getAttribute("target"):null,rel:"A"===e.nodeName?e.getAttribute("rel"):null};switch(e.nodeName){case"P":return A("element",{type:"paragraph"},t);case"PRE":return A("element",{type:"code"},t);case"UL":return A("element",{type:"bullet-list"},t);case"OL":return A("element",{type:"numbered-list"},t);case"LI":return A("element",{type:"list-item"},t);case"H1":return A("element",{type:"h1"},t);case"H2":return A("element",{type:"h2"},t);case"BLOCKQUOTE":return A("element",{type:"blockquote"},t);case"IMG":return A("element",{type:"image",url:e.getAttribute("src")});case"TABLE":return A("element",{type:"table"},t);case"TR":return A("element",{type:"table-row"},t);case"TD":return A("element",{type:"table-cell"},t);case"A":return A("element",{type:"link",url:e.getAttribute("href")},t);default:return t.map(e=>"string"==typeof e?A("text",n,e):e)}};return Array.from(t.body.childNodes).map(r).flat().filter(Boolean)},e.serialize=L,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
161
+ e.default=({value:e,setValue:a,fullScreen:s=!0,showTheme:i=!0,borderColor:c="#ccc",backgroundColor:u="#FFF",imageColor:d="#000",borderDarkColor:p="#1A1A1A",backgroundDarkColor:g="#444444",imageDarkColor:f="#ffffff",toggleColor:m="#2584aa",raccourcis:h=null})=>{const[b]=r.useState(()=>l.withDocxDeserializer(o.withHistory(n.withReact(t.createEditor())))),[y,x]=r.useState({bold:!1,underline:!1,italic:!1,strikethrough:!1,subscript:!1,superscript:!1,blockquote:!1,color:"",bgColor:"",fontSize:"",fontFamily:"",href:"",bulletList:!1,numberedList:!1,left:!1,center:!1,right:!1,indent:!1,outdent:!1}),v=r.useMemo(()=>e||[{type:"paragraph",children:[{text:""}]}],[]),k=r.useRef([]),w=r.useCallback(e=>{switch(e.element.type){case"code":return R.jsx(I,{...e});case"bullet-list":case"numbered-list":case"list-item":return R.jsx(Z,{...e});case"h1":return R.jsx("h1",{className:"rtf",...e.attributes,children:e.children});case"h2":return R.jsx("h2",{className:"rtf",...e.attributes,children:e.children});case"blockquote":return R.jsx(W,{...e});case"image":return R.jsx("img",{className:"rtf",src:e.element.url,alt:"",...e.attributes});case"table":return R.jsx(ve,{...e});case"table-row":return R.jsx("tr",{className:"rtf",children:e.children});case"table-cell":return R.jsx("td",{className:"rtf",children:e.children});default:return R.jsx(q,{...e})}},[]),C=r.useCallback(e=>R.jsx(V,{...e}),[]),j=r.useCallback(()=>{const e=t.Editor.marks(b),r=H.isSelectionInList(b);x(n=>{const o={};for(const a in n)if("bulletList"===a||"numberedList"===a){const e="bulletList"===a?"bullet-list":"numberedList"===a?"numbered-list":"";o[a]=r&&H.isBlockActive(b,e)}else if("left"===a||"center"===a||"right"===a)o[a]=H.isAlignActive(b,a);else if("indent"===a||"outdent"===a)o[a]=H.canIndent(b,a);else if("href"===a){let e="";if(H.isLinkActive(b)){const r=t.Editor.nodes(b,{match:e=>"link"===e.type,mode:"highest"});for(const[t]of r)if(t&&t.href){e=t.href;break}}o[a]=e}else o[a]="color"===a?(null==e?void 0:e.color)||null:"fontSize"===a?(null==e?void 0:e.fontSize)||null:!0===(null==e?void 0:e[a]);return o})},[b]);return r.useEffect(()=>{if(null!==h){const e=e=>{Object.keys(h).forEach(t=>{const r=t.split("+"),n=r.pop().toLowerCase(),o=r.map(e=>e.toLowerCase()),a={ctrl:e.ctrlKey,shift:e.shiftKey,alt:e.altKey,meta:e.metaKey},l=o.every(e=>a[e]),s=e.key.toLowerCase()===n;l&&s&&h[t](e)})};return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}}},[h]),r.useEffect(()=>{null==e&&t.Transforms.delete(b,{at:{anchor:t.Editor.start(b,[]),focus:t.Editor.end(b,[])}})},[e]),R.jsx(K,{showTheme:i,borderDarkColor:p,backgroundDarkColor:g,imageDarkColor:f,children:R.jsx(we,{children:R.jsx(je,{children:R.jsx(Y,{backgroundColor:u,borderColor:c,editor:b,imageColor:d,children:R.jsxs(n.Slate,{editor:b,initialValue:v,value:e,onChange:e=>{j();if(b.operations.some(e=>"set_selection"!==e.type)){const t=JSON.stringify(e);a(e),localStorage.setItem("content",t)}},children:[R.jsx(ye,{activeMarks:y}),R.jsx(n.Editable,{className:"rtf rtf__editor",decorate:([e,r])=>{const n=[];if(!t.Element.isElement(e))return n;const o=t.Node.string(e),a=r[0],l=k.current[a];if(l&&l.text==o)return l.ranges;const s=Te.tokenize(o,Te.languages.javascript);let i=0;for(const t of s){const e=i+t.length;"string"!=typeof t&&n.push({anchor:{path:r,offset:i},focus:{path:r,offset:e},className:`token ${t.type}`}),i=e}return k.current[a]={text:o,ranges:n},n},renderElement:w,renderLeaf:C,style:{borderColor:c,paddingBottom:i||s?35:10},onPaste:async e=>{if(H.isSelectionInCode(b)){const t=e.clipboardData.getData("text/plain");if(t){(t.includes("\n")||t.match(/^\s{2,}/gm))&&(e.preventDefault(),H.insertCodeBlock(b,t))}return}const t=e.clipboardData.getData("text/html");if(t){e.preventDefault();const r=(e=>{const t=e=>{if(e.nodeType===Node.TEXT_NODE){const t=e.textContent.trim();return""===t?null:t}if(e.nodeType!==Node.ELEMENT_NODE)return null;const r=Array.from(e.childNodes).map(t).flat().filter(Boolean),n={bold:"B"===e.nodeName||"STRONG"===e.nodeName||"bold"===e.style.fontWeight||"700"===e.style.fontWeight,italic:"I"===e.nodeName||"EM"===e.nodeName||"italic"===e.style.fontStyle,underline:"U"===e.nodeName||e.style.textDecoration&&e.style.textDecoration.includes("underline"),fontSize:e.style.fontSize||"FONT"===e.nodeName&&e.getAttribute("size"),fontFamily:e.style.fontFamily||"FONT"===e.nodeName&&e.getAttribute("face"),color:e.style.color||"FONT"===e.nodeName&&e.getAttribute("color"),align:e.getAttribute("align")};let o;switch(e.nodeName){case"P":o=A("element",{type:"paragraph",align:n.align,size:n.fontSize},r.length?r:[{text:""}]);break;case"PRE":o=A("element",{type:"code"},r.length?r:[{text:""}]);break;case"UL":o=A("element",{type:"bullet-list"},r);break;case"OL":o=A("element",{type:"numbered-list"},r);break;case"LI":o=A("element",{type:"list-item"},r.length?r:[{text:""}]);break;case"H1":o=A("element",{type:"h1"},r.length?r:[{text:""}]);break;case"H2":case"H3":case"H4":case"H5":case"H6":o=A("element",{type:"h2",align:n.align},r.length?r:[{text:""}]);break;case"BLOCKQUOTE":o=A("element",{type:"blockquote",align:n.align},r.length?r:[{text:""}]);break;case"IMG":o=A("element",{type:"image",url:e.getAttribute("src")});break;case"TABLE":o=A("element",{type:"table"},r);break;case"TR":o=A("element",{type:"table-row"},r);break;case"TD":o=A("element",{type:"table-cell"},r);break;case"A":o=A("element",{type:"link",url:e.getAttribute("href")},r.length?r:[{text:""}]);break;default:o=r.map(e=>"string"==typeof e?A("text",n,e):e).filter(Boolean)}return o};return Array.from(e.childNodes).map(t).flat().filter(Boolean)})((new DOMParser).parseFromString(t,"text/html").body);b.insertFragment(r)}},onKeyDown:e=>{if("Tab"!==e.key){if("Enter"!==e.key||e.ctrlKey||(H.isSelectionInTable(b)||H.isSelectionInCode(b)||H.isBlockquoteActive(b))&&(e.preventDefault(),b.insertText("\n")),e.ctrlKey)switch(e.key){case"=":e.preventDefault(),H.toggleBlock(b,"code");break;case"b":e.preventDefault(),H.toggleMark(b,"bold");break;case"i":e.preventDefault(),H.toggleMark(b,"italic");break;case"u":e.preventDefault(),H.toggleMark(b,"underline");break;case"s":e.preventDefault(),H.toggleMark(b,"strikethrough");break;case"sub":e.preventDefault(),H.toggleMark(b,"subscript");break;case"sup":e.preventDefault(),H.toggleMark(b,"superscript");break;case"l":e.preventDefault(),H.toggleBlock(b,"bulletList");break;case"n":e.preventDefault(),H.toggleBlock(b,"numberedList");break;case"left":e.preventDefault(),H.toggleMark(b,"left");break;case"center":e.preventDefault(),H.toggleMark(b,"center");break;case"right":e.preventDefault(),H.toggleMark(b,"right");break;case"Enter":{e.preventDefault();const{selection:r}=b;if(r){const[e]=t.Editor.nodes(b,{match:e=>t.Element.isElement(e)&&"paragraph"!==e.type});e&&t.Transforms.insertNodes(b,t.Transforms.insertNodes(b,{type:"paragraph",children:[{text:""}]}))}break}}}else(e=>{e.shiftKey&&H.canIndent(b,"outdent")?(e.preventDefault(),H.handleOutdent(b)):H.canIndent(b,"indent")&&(e.preventDefault(),H.handleIndent(b))})(e)}}),i&&R.jsx(xe,{toggleColor:m,fullScreen:s}),s&&R.jsx(Fe,{})]})})})})})},e.deserialize=e=>{const t=(new DOMParser).parseFromString(e,"text/html"),r=e=>{if(e.nodeType===Node.TEXT_NODE)return e.textContent;if(e.nodeType!==Node.ELEMENT_NODE)return null;const t=Array.from(e.childNodes).map(r).flat().filter(Boolean),n=t.length>0?t:[{text:""}],o={bold:null!==e.querySelector("strong"),italic:null!==e.querySelector("em"),underline:null!==e.querySelector("u"),strikethrough:null!==e.querySelector("del"),subscript:null!==e.querySelector("sub"),superscript:null!==e.querySelector("sup"),bgColor:e.style.backgroundColor||e.querySelector("mark")&&e.querySelector("mark").style.backgroundColor,color:e.style.color,fontSize:e.style.fontSize,fontFamily:e.style.fontFamily,href:"A"===e.nodeName?e.getAttribute("href"):null,target:"A"===e.nodeName?e.getAttribute("target"):null,rel:"A"===e.nodeName?e.getAttribute("rel"):null};switch(e.nodeName){case"P":return A("element",{type:"paragraph"},n);case"PRE":return A("element",{type:"code"},n);case"UL":return A("element",{type:"bullet-list"},n);case"OL":return A("element",{type:"numbered-list"},n);case"LI":return A("element",{type:"list-item"},n);case"H1":return A("element",{type:"h1"},n);case"H2":return A("element",{type:"h2"},n);case"BLOCKQUOTE":return A("element",{type:"blockquote"},n);case"IMG":return A("element",{type:"image",url:e.getAttribute("src")});case"TABLE":return A("element",{type:"table"},n);case"TR":return A("element",{type:"table-row"},n);case"TD":return A("element",{type:"table-cell"},n);case"A":return A("element",{type:"link",url:e.getAttribute("href")},n);default:return n.map(e=>"string"==typeof e?A("text",o,e):e)}};return Array.from(t.body.childNodes).map(r).flat().filter(Boolean)},e.serialize=L,Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})});
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "react-text-forge",
3
3
  "author": "Jahylis",
4
4
  "type": "module",
5
- "version": "1.3.0",
5
+ "version": "1.3.2",
6
6
  "license": "MIT",
7
7
  "main": "dist/react-text-forge.umd.js",
8
8
  "module": "dist/react-text-forge.js",