react-text-forge 0.0.1 → 1.0.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.
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(g,l){typeof exports=="object"&&typeof module<"u"?module.exports=l(require("react"),require("slate"),require("slate-react"),require("slate-history"),require("react-color")):typeof define=="function"&&define.amd?define(["react","slate","slate-react","slate-history","react-color"],l):(g=typeof globalThis<"u"?globalThis:g||self,g.ReactTextForge=l(g.React,g.Slate,g.SlateReact,g.SlateHistory,g.ReactColor))})(this,function(g,l,U,c2,l2){"use strict";var G={exports:{}},_={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.js
|
|
4
4
|
*
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var
|
|
9
|
+
*/var J;function r2(){if(J)return _;J=1;var e=Symbol.for("react.transitional.element"),o=Symbol.for("react.fragment");function t(s,n,i){var d=null;if(i!==void 0&&(d=""+i),n.key!==void 0&&(d=""+n.key),"key"in n){i={};for(var m in n)m!=="key"&&(i[m]=n[m])}else i=n;return n=i.ref,{$$typeof:e,type:s,key:d,ref:n!==void 0?n:null,props:i}}return _.Fragment=o,_.jsx=t,_.jsxs=t,_}var B={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react-jsx-runtime.development.js
|
|
12
12
|
*
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var
|
|
17
|
+
*/var X;function a2(){return X||(X=1,process.env.NODE_ENV!=="production"&&function(){function e(r){if(r==null)return null;if(typeof r=="function")return r.$$typeof===E?null:r.displayName||r.name||null;if(typeof r=="string")return r;switch(r){case F:return"Fragment";case z:return"Profiler";case M:return"StrictMode";case D:return"Suspense";case O:return"SuspenseList";case b:return"Activity"}if(typeof r=="object")switch(typeof r.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),r.$$typeof){case w:return"Portal";case P:return(r.displayName||"Context")+".Provider";case j:return(r._context.displayName||"Context")+".Consumer";case S:var p=r.render;return r=r.displayName,r||(r=p.displayName||p.name||"",r=r!==""?"ForwardRef("+r+")":"ForwardRef"),r;case H:return p=r.displayName||null,p!==null?p:e(r.type)||"Memo";case V:p=r._payload,r=r._init;try{return e(r(p))}catch{}}return null}function o(r){return""+r}function t(r){try{o(r);var p=!1}catch{p=!0}if(p){p=console;var k=p.error,y=typeof Symbol=="function"&&Symbol.toStringTag&&r[Symbol.toStringTag]||r.constructor.name||"Object";return k.call(p,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",y),o(r)}}function s(r){if(r===F)return"<>";if(typeof r=="object"&&r!==null&&r.$$typeof===V)return"<...>";try{var p=e(r);return p?"<"+p+">":"<...>"}catch{return"<...>"}}function n(){var r=R.A;return r===null?null:r.getOwner()}function i(){return Error("react-stack-top-frame")}function d(r){if(Q.call(r,"key")){var p=Object.getOwnPropertyDescriptor(r,"key").get;if(p&&p.isReactWarning)return!1}return r.key!==void 0}function m(r,p){function k(){e2||(e2=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",p))}k.isReactWarning=!0,Object.defineProperty(r,"key",{get:k,configurable:!0})}function h(){var r=e(this.type);return t2[r]||(t2[r]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),r=this.props.ref,r!==void 0?r:null}function f(r,p,k,y,A,N,q,Y){return k=N.ref,r={$$typeof:x,type:r,key:p,props:N,_owner:A},(k!==void 0?k:null)!==null?Object.defineProperty(r,"ref",{enumerable:!1,get:h}):Object.defineProperty(r,"ref",{enumerable:!1,value:null}),r._store={},Object.defineProperty(r._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(r,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(r,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:q}),Object.defineProperty(r,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:Y}),Object.freeze&&(Object.freeze(r.props),Object.freeze(r)),r}function a(r,p,k,y,A,N,q,Y){var L=p.children;if(L!==void 0)if(y)if(N2(L)){for(y=0;y<L.length;y++)C(L[y]);Object.freeze&&Object.freeze(L)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else C(L);if(Q.call(p,"key")){L=e(r);var I=Object.keys(p).filter(function(z2){return z2!=="key"});y=0<I.length?"{key: someKey, "+I.join(": ..., ")+": ...}":"{key: someKey}",n2[L+y]||(I=0<I.length?"{"+I.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
18
|
let props = %s;
|
|
19
19
|
<%s {...props} />
|
|
20
20
|
React keys must be passed directly to JSX without using spread:
|
|
21
21
|
let props = %s;
|
|
22
|
-
<%s key={someKey} {...props} />`,n,o,d,o),M[o+n]=!0)}if(o=null,t!==void 0&&(b(t),o=""+t),T(r)&&(b(r.key),o=""+r.key),"key"in r){t={};for(var x in r)x!=="key"&&(t[x]=r[x])}else t=r;return o&&v(t,typeof e=="function"?e.displayName||e.name||"Unknown":e),V(e,o,u,i,a(),t,S,h)}function y(e){typeof e=="object"&&e!==null&&e.$$typeof===N&&e._store&&(e._store.validated=1)}var p=f,N=Symbol.for("react.transitional.element"),G=Symbol.for("react.portal"),k=Symbol.for("react.fragment"),X=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),H=Symbol.for("react.consumer"),Z=Symbol.for("react.context"),Q=Symbol.for("react.forward_ref"),K=Symbol.for("react.suspense"),ee=Symbol.for("react.suspense_list"),re=Symbol.for("react.memo"),C=Symbol.for("react.lazy"),te=Symbol.for("react.activity"),ne=Symbol.for("react.client.reference"),O=p.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Y=Object.prototype.hasOwnProperty,oe=Array.isArray,A=console.createTask?console.createTask:function(){return null};p={"react-stack-bottom-frame":function(e){return e()}};var F,I={},D=p["react-stack-bottom-frame"].bind(p,s)(),L=A(_(s)),M={};E.Fragment=k,E.jsx=function(e,r,t,n,i){var u=1e4>O.recentlyCreatedOwnerStacks++;return g(e,r,t,!1,n,i,u?Error("react-stack-top-frame"):D,u?A(_(e)):L)},E.jsxs=function(e,r,t,n,i){var u=1e4>O.recentlyCreatedOwnerStacks++;return g(e,r,t,!0,n,i,u?Error("react-stack-top-frame"):D,u?A(_(e)):L)}}()),E}var w;function U(){return w||(w=1,process.env.NODE_ENV==="production"?l.exports=W():l.exports=$()),l.exports}var J=U();function q(){const[c,R]=f.useState("Jhon");return J.jsxs("div",{children:["helloworl ",c]})}return q});
|
|
22
|
+
<%s key={someKey} {...props} />`,y,L,I,L),n2[L+y]=!0)}if(L=null,k!==void 0&&(t(k),L=""+k),d(p)&&(t(p.key),L=""+p.key),"key"in p){k={};for(var W in p)W!=="key"&&(k[W]=p[W])}else k=p;return L&&m(k,typeof r=="function"?r.displayName||r.name||"Unknown":r),f(r,L,N,A,n(),k,q,Y)}function C(r){typeof r=="object"&&r!==null&&r.$$typeof===x&&r._store&&(r._store.validated=1)}var v=g,x=Symbol.for("react.transitional.element"),w=Symbol.for("react.portal"),F=Symbol.for("react.fragment"),M=Symbol.for("react.strict_mode"),z=Symbol.for("react.profiler"),j=Symbol.for("react.consumer"),P=Symbol.for("react.context"),S=Symbol.for("react.forward_ref"),D=Symbol.for("react.suspense"),O=Symbol.for("react.suspense_list"),H=Symbol.for("react.memo"),V=Symbol.for("react.lazy"),b=Symbol.for("react.activity"),E=Symbol.for("react.client.reference"),R=v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Q=Object.prototype.hasOwnProperty,N2=Array.isArray,$=console.createTask?console.createTask:function(){return null};v={"react-stack-bottom-frame":function(r){return r()}};var e2,t2={},o2=v["react-stack-bottom-frame"].bind(v,i)(),s2=$(s(i)),n2={};B.Fragment=F,B.jsx=function(r,p,k,y,A){var N=1e4>R.recentlyCreatedOwnerStacks++;return a(r,p,k,!1,y,A,N?Error("react-stack-top-frame"):o2,N?$(s(r)):s2)},B.jsxs=function(r,p,k,y,A){var N=1e4>R.recentlyCreatedOwnerStacks++;return a(r,p,k,!0,y,A,N?Error("react-stack-top-frame"):o2,N?$(s(r)):s2)}}()),B}var Z;function i2(){return Z||(Z=1,process.env.NODE_ENV==="production"?G.exports=r2():G.exports=a2()),G.exports}var c=i2();const d2=({attributes:e,children:o,element:t})=>{const s=g.useRef(null),n=t.language||"plaintext";return c.jsx("pre",{...e,children:c.jsx("code",{ref:s,className:`hljs ${n} language-${n}`,children:o})})},u={isMarkActive(e,o){const t=l.Editor.marks(e);return t?t[o]===!0:!1},toggleMark(e,o){u.isMarkActive(e,o)?l.Editor.removeMark(e,o):(l.Editor.addMark(e,o,!0),o==="subscript"?l.Editor.removeMark(e,"superscript"):o==="superscript"&&l.Editor.removeMark(e,"subscript"))},isBlockActive(e,o){const[t]=l.Editor.nodes(e,{match:s=>s.type===o});return!!t},isSelectionInList(e){const[o]=l.Editor.nodes(e,{match:t=>t.type==="bullet-list"||t.type==="numbered-list"});return!!o},toggleBlock(e,o,t=null){const s=u.isBlockActive(e,o),n=o==="bullet-list"||o==="numbered-list";if((o==="h1"||o==="h2")&&l.Editor.removeMark(e,"fontSize"),n&&u.isSelectionInList(e)&&!t){l.Transforms.unwrapNodes(e,{match:d=>n&&!l.Editor.isEditor(d)&&l.Element.isElement(d)&&(d.type==="bullet-list"||d.type==="numbered-list"),split:!0}),l.Transforms.setNodes(e,{type:"paragraph"});return}if(t){l.Transforms.setNodes(e,{listStyleType:t});const d=l.Editor.range(e,e.selection).anchor.path;let m=d;d.length===3?m=m.slice(0,1):d.length===4&&(m=m.slice(0,2)),l.Transforms.setNodes(e,{type:o},{at:m})}else{l.Transforms.unwrapNodes(e,{match:m=>n&&!l.Editor.isEditor(m)&&l.Element.isElement(m)&&m.type===o,split:!0});const d={type:s?"paragraph":n?"list-item":o};if(l.Transforms.setNodes(e,d),!s&&n){const m={type:o,children:[]};l.Transforms.wrapNodes(e,m)}}},isAlignActive(e,o){const[t]=l.Editor.nodes(e,{match:s=>s.align===o});return!!t},toggleAlign(e,o){const t=u.isAlignActive(e,o);["alignLeft","center","right"].forEach(s=>{l.Transforms.unsetNodes(e,{align:s})}),t||l.Transforms.setNodes(e,{align:o})},canIndent(e,o){const[t]=l.Editor.nodes(e,{match:s=>s.type==="list-item"});if(t){const[,s]=t;if(o==="indent")return!(s.length>2);if(s.length>2)return!0}return!1},handleIndent(e){const[o]=l.Editor.nodes(e,{match:t=>t.type==="list-item"});if(o){const[,t]=o,s=l.Editor.above(e,{match:n=>["bullet-list","numbered-list"].includes(n.type)})[0].type;try{const n=l.Path.parent(l.Path.parent(t)),i=l.Editor.node(e,n);if(l.Element.isElement(i[0])&&i[0].type===s)return;const d={type:s,children:[]},m=[t[0],t[1]+1];l.Transforms.insertNodes(e,d,{at:m});const h={...l.Editor.node(e,t)[0]},f=[t[0],t[1]+1,0];l.Transforms.insertNodes(e,h,{at:f}),l.Transforms.removeNodes(e,{at:t}),l.Transforms.setNodes(e,{type:"list-item"},{at:[t[0],t[1],0]})}catch(n){console.error("Error indenting list item:",n)}}},handleOutdent(e){const[o]=l.Editor.nodes(e,{match:t=>t.type==="list-item"});if(o){const[,t]=o,s=l.Editor.above(e,{match:n=>["bullet-list","numbered-list"].includes(n.type)})[0].type;try{const n=l.Path.parent(t),i=l.Editor.node(e,n);l.Element.isElement(i)&&i.type===s?l.Transforms.liftNodes(e,{at:t}):l.Transforms.unwrapNodes(e,{at:n,match:d=>l.Element.isElement(d)&&d.type===s,split:!0}),l.Transforms.setNodes(e,{type:"list-item"},{at:t})}catch(n){console.error("Error dedenting list item:",n)}}},isLinkActive(e){const{selection:o}=e;if(!o)return!1;const[t]=l.Editor.nodes(e,{match:s=>!l.Editor.isEditor(s)&&l.Node.isNode(s)&&s.type==="link"});return!!t},updateLink(e,o,t){const s=t?"_blank":"_self",n=t?"noopener noreferrer":"";if(u.isLinkActive(e))l.Transforms.setNodes(e,{href:o,target:s,rel:n},{match:i=>i.type==="link"});else{const{selection:i}=e;if(!i||l.Range.isCollapsed(i))return;const d={text:o};l.Range.isCollapsed(i)?l.Transforms.insertNodes(e,{type:"link",href:o,target:s,rel:n,children:[d]}):l.Transforms.setNodes(e,{type:"link",href:o,target:s,rel:n},{match:m=>l.Text.isText(m),split:!0}),l.Transforms.removeNodes(e,{match:m=>m.type==="paragraph"&&m.children.length===0})}},removeLink(e){if(e.selection){const{selection:o}=e,[t,s]=l.Editor.node(e,o);if(t&&t.type==="link"){const n=t.text,i=l.Path.parent(s),d=l.Node.get(e,i);l.Transforms.insertNodes(e,{type:d.type!=="list-item"?d.type:"paragraph",text:n},{at:s,match:m=>l.Text.isText(m)}),l.Transforms.removeNodes(e,{at:s})}else console.warn("No link found at the current selection.")}else console.warn("No selection found. Cannot remove link.")},applyTextColor(e,o){const{selection:t}=e;t&&l.Editor.addMark(e,"color",o)},applyBackgroundTextColor(e,o){const{selection:t}=e;t&&l.Editor.addMark(e,"bgColor",o)},applyFontSize(e,o){const{selection:t}=e;t&&l.Editor.addMark(e,"fontSize",o)},applyFontFamily(e,o){const{selection:t}=e;t&&l.Editor.addMark(e,"fontFamily",o)},handleCode(e,o){const{selection:t}=e;if(t){const[s]=l.Editor.nodes(e,{match:n=>n.type==="paragraph"});if(s){const[,n]=s,i=s[0].children.map(m=>m.text).join(""),d={type:"code",language:o,children:[{text:i}]};l.Transforms.setNodes(e,d,{at:n}),l.Transforms.select(e,n)}else{const[n]=l.Editor.nodes(e,{match:i=>i.type==="code"});if(n){const[,i]=n;if(o==="init"){const m={type:"paragraph",children:[{text:n[0].children.map(h=>h.text).join("")}]};l.Transforms.setNodes(e,m,{at:i}),l.Transforms.unsetNodes(e,"language",{at:i}),l.Transforms.select(e,i)}else l.Transforms.setNodes(e,{language:o},{at:i}),l.Transforms.select(e,i)}}}},insertImage(e,o){const t={type:"image",url:o,children:[{text:""}]},s={type:"paragraph",children:[{text:""}]};l.Transforms.insertNodes(e,t),l.Transforms.insertNodes(e,s)},handleFileChange(e,o){if(e.target.files[0]){const s=e.target.files[0];if(s){const n=new Image,i=new FileReader;i.onload=d=>{s.type==="image/svg+xml"?this.insertImage(o,d.target.result):(n.src=d.target.result,n.onload=()=>{const h=document.createElement("canvas"),f=h.getContext("2d"),a=800,C=600;let v=n.width,x=n.height;v>x?v>a&&(x*=a/v,v=a):x>C&&(v*=C/x,x=C),h.width=v,h.height=x,f.drawImage(n,0,0,v,x);const w=h.toDataURL("image/jpeg");this.insertImage(o,w)},n.onerror=()=>{console.error("Failed to load image.")})},i.onerror=()=>{console.error("Failed to read file.")},i.readAsDataURL(s)}}},insertTable(e,o,t){const s={type:"table",children:Array.from({length:o},()=>({type:"table-row",children:Array.from({length:t},()=>({type:"table-cell",children:[{text:""}]}))}))};l.Transforms.insertNodes(e,s)},isSelectionInTable(e){const[o]=l.Editor.nodes(e,{match:t=>t.type==="table"});return!!o},getTableFromSelection(e){const[o]=l.Editor.nodes(e,{match:t=>t.type==="table"});return o?o[0]:null},addRow(e){var t;const o=u.getTableFromSelection(e);if(o){const s=(t=e.selection)==null?void 0:t.anchor.path,n=s[1],i={type:"table-row",children:o.children[n].children.map(m=>({...m,children:[{text:""}]}))},d=[s.slice(0,1),n+1];l.Transforms.insertNodes(e,i,{at:d})}},addColumn(e){var t;const o=u.getTableFromSelection(e);if(o){const s=(t=e.selection)==null?void 0:t.anchor.path;if(l.Node.get(e,s)){const i=s[s.length-2];i!==void 0?o.children.forEach((d,m)=>{const h={type:"table-cell",children:[{text:""}]},f=[...s.slice(0,1),m,i+1];f[f.length-1]<=d.children.length?l.Transforms.insertNodes(e,h,{at:f}):console.warn(`Cannot insert at path ${f}. Row does not have enough cells.`)}):console.error("Column index is undefined, unable to find the selected cell in the row.")}else console.error("Selected cell not found.")}},deleteRow(e){var t;if(u.getTableFromSelection(e)){const s=(t=e.selection)==null?void 0:t.anchor.path,n=s[1];if(n!==void 0){const i=[s[0],n];l.Transforms.removeNodes(e,{at:i})}else console.error("Selected row index is undefined.")}},deleteColumn(e){var t;const o=u.getTableFromSelection(e);if(o){const s=(t=e.selection)==null?void 0:t.anchor.path,n=l.Node.get(e,s),i=s[s.length-1];let d=-1;o.children[i].children.forEach((m,h)=>{m.children[0]===n&&(d=h)}),d!==-1&&o.children.forEach((m,h)=>{if(m.children.length>d){const f=[s[0],h,d];l.Node.get(e,f)?l.Transforms.removeNodes(e,{at:f}):console.error(`Invalid path: ${f}`)}})}},deleteTable(e){var t;if(u.getTableFromSelection(e)){const s=(t=e.selection)==null?void 0:t.anchor.path.slice(0,1);s.length>0?l.Transforms.removeNodes(e,{at:s}):console.error("Table path is invalid.")}else console.error("No table selected.")}},m2=({attributes:e,children:o,element:t})=>{const s={textAlign:t.align||"left"};return c.jsx("p",{style:s,...e,children:o})},u2=({attributes:e,children:o,leaf:t})=>{let s=[];t.bold&&s.push("strong"),t.italic&&s.push("em"),t.underline&&s.push("u"),t.strikethrough&&s.push("del"),t.subscript&&!t.superscript&&s.push("sub"),!t.subscript&&t.superscript&&s.push("sup"),t.bgColor&&s.push("mark");const n={color:t.color||void 0,fontSize:t.fontSize||void 0,backgroundColor:t.bgColor||void 0,fontFamily:t.fontFamily||void 0},i=d=>{d.stopPropagation(),t.target==="_blank"?(window.open(t.href,t.target,t.rel?{rel:t.rel}:void 0),d.preventDefault()):window.location.href=t.href};return t.href?c.jsx("a",{...e,href:t.href,target:t.target||"_self",rel:t.rel||"noopener noreferrer",style:n,onClick:i,children:s.length===0?o:s.reduceRight((d,m)=>g.createElement(m,{...e},d),o)}):s.length===0?c.jsx("span",{...e,style:n,children:o}):s.reduceRight((d,m)=>g.createElement(m,{...e,style:n},d),o)},g2=({attributes:e,children:o,element:t})=>{const s={textAlign:t.align||"left",listStyleType:t.listStyleType||"disc"};switch(t.type){case"bullet-list":return c.jsx("ul",{style:s,...e,children:o});case"numbered-list":return c.jsx("ol",{style:s,...e,children:o});case"list-item":return c.jsx("li",{style:s,...e,children:o});default:return c.jsx("p",{style:s,...e,children:o})}},h2=({attributes:e,children:o})=>c.jsx("blockquote",{...e,style:{borderLeft:"4px solid #ccc",paddingLeft:"10px",color:"#666",margin:"20px 0"},children:o}),p2=({onChange:e,selectedType:o})=>{const t=[{value:"disc",label:"Disque"},{value:"circle",label:"Cercle"},{value:"square",label:"Carré"},{value:"'✔'",label:"Check"},{value:"'✘'",label:"Croix"},{value:"'➢'",label:"Petite flèche"},{value:"'➔'",label:"Flèche épaisse"}];return c.jsx("ul",{className:"dropdown-menu",children:t.map(s=>c.jsx("li",{value:s.value,onClick:()=>e(s.value),className:`${o&&s.value===o?"tool--active":""}`,children:s.label},s.value))})},f2=({onChange:e,selectedType:o})=>{const t=[{value:"decimal",label:"Décimal"},{value:"upper-roman",label:"Lettres Romaines majuscules"},{value:"lower-roman",label:"Lettres Romaines minuscules"},{value:"upper-greek",label:"Lettres Grecques majuscules"},{value:"lower-greek",label:"Lettres Grecques minuscules"}];return c.jsx("ul",{className:"dropdown-menu",children:t.map(s=>c.jsx("li",{value:s.value,onClick:()=>e(s.value),className:`${o&&s.value===o?"tool--active":""}`,children:s.label},s.value))})},T={addColumnGrey:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Edit%20/%20Add_Column'%3e%3cpath%20id='Vector'%20d='M5%2017H8M8%2017H11M8%2017V14M8%2017V20M14%2021H15C16.1046%2021%2017%2020.1046%2017%2019V5C17%203.89543%2016.1046%203%2015%203H13C11.8954%203%2011%203.89543%2011%205V11'%20stroke='%23c0c0c0'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e",addColumn:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Edit%20/%20Add_Column'%3e%3cpath%20id='Vector'%20d='M5%2017H8M8%2017H11M8%2017V14M8%2017V20M14%2021H15C16.1046%2021%2017%2020.1046%2017%2019V5C17%203.89543%2016.1046%203%2015%203H13C11.8954%203%2011%203.89543%2011%205V11'%20stroke='%23000000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e",addRowGrey:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Edit%20/%20Add_Row'%3e%3cpath%20id='Vector'%20d='M3%2014V15C3%2016.1046%203.89543%2017%205%2017L19%2017C20.1046%2017%2021%2016.1046%2021%2015L21%2013C21%2011.8954%2020.1046%2011%2019%2011H13M10%208H7M7%208H4M7%208V5M7%208V11'%20stroke='%23c0c0c0'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e",addRow:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Edit%20/%20Add_Row'%3e%3cpath%20id='Vector'%20d='M3%2014V15C3%2016.1046%203.89543%2017%205%2017L19%2017C20.1046%2017%2021%2016.1046%2021%2015L21%2013C21%2011.8954%2020.1046%2011%2019%2011H13M10%208H7M7%208H4M7%208V5M7%208V11'%20stroke='%23000000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e",bgColor:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23000000'%20d='M86.6%209.4C74.1-3.1%2053.9-3.1%2041.4%209.4s-12.5%2032.8%200%2045.3L122.7%20136%2030.6%20228.1c-37.5%2037.5-37.5%2098.3%200%20135.8L148.1%20481.4c37.5%2037.5%2098.3%2037.5%20135.8%200L474.3%20290.9c28.1-28.1%2028.1-73.7%200-101.8L322.9%2037.7c-28.1-28.1-73.7-28.1-101.8%200L168%2090.7%2086.6%209.4zM168%20181.3l49.4%2049.4c12.5%2012.5%2032.8%2012.5%2045.3%200s12.5-32.8%200-45.3L213.3%20136l53.1-53.1c3.1-3.1%208.2-3.1%2011.3%200L429.1%20234.3c3.1%203.1%203.1%208.2%200%2011.3L386.7%20288%2067.5%20288c1.4-5.4%204.2-10.4%208.4-14.6L168%20181.3z'/%3e%3c/svg%3e",blockCode:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%20fill='none'%3e%3cpath%20fill='%23000000'%20fill-rule='evenodd'%20d='M2%206a3%203%200%200%201%203-3h14a3%203%200%200%201%203%203v12a3%203%200%200%201-3%203H5a3%203%200%200%201-3-3V6zm5%201a1%201%200%200%200%200%202h5a1%201%200%201%200%200-2H7zm8%200a1%201%200%201%200%200%202h2a1%201%200%201%200%200-2h-2zm-8%204a1%201%200%201%200%200%202h1a1%201%200%201%200%200-2H7zm4%200a1%201%200%201%200%200%202h6a1%201%200%201%200%200-2h-6zm-4%204a1%201%200%201%200%200%202h5a1%201%200%201%200%200-2H7zm8%200a1%201%200%201%200%200%202h2a1%201%200%201%200%200-2h-2z'%20clip-rule='evenodd'/%3e%3c/svg%3e",blockquote:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23000000'%20d='M448%20296c0%2066.3-53.7%20120-120%20120l-8%200c-17.7%200-32-14.3-32-32s14.3-32%2032-32l8%200c30.9%200%2056-25.1%2056-56l0-8-64%200c-35.3%200-64-28.7-64-64l0-64c0-35.3%2028.7-64%2064-64l64%200c35.3%200%2064%2028.7%2064%2064l0%2032%200%2032%200%2072zm-256%200c0%2066.3-53.7%20120-120%20120l-8%200c-17.7%200-32-14.3-32-32s14.3-32%2032-32l8%200c30.9%200%2056-25.1%2056-56l0-8-64%200c-35.3%200-64-28.7-64-64l0-64c0-35.3%2028.7-64%2064-64l64%200c35.3%200%2064%2028.7%2064%2064l0%2032%200%2032%200%2072z'/%3e%3c/svg%3e",bold:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20384%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M0%2064C0%2046.3%2014.3%2032%2032%2032l48%200%2016%200%20128%200c70.7%200%20128%2057.3%20128%20128c0%2031.3-11.3%2060.1-30%2082.3c37.1%2022.4%2062%2063.1%2062%20109.7c0%2070.7-57.3%20128-128%20128L96%20480l-16%200-48%200c-17.7%200-32-14.3-32-32s14.3-32%2032-32l16%200%200-160L48%2096%2032%2096C14.3%2096%200%2081.7%200%2064zM224%20224c35.3%200%2064-28.7%2064-64s-28.7-64-64-64L112%2096l0%20128%20112%200zM112%20288l0%20128%20144%200c35.3%200%2064-28.7%2064-64s-28.7-64-64-64l-32%200-112%200z'/%3e%3c/svg%3e",bulletList:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M64%20144a48%2048%200%201%200%200-96%2048%2048%200%201%200%200%2096zM192%2064c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l288%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32L192%2064zm0%20160c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l288%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-288%200zm0%20160c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l288%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-288%200zM64%20464a48%2048%200%201%200%200-96%2048%2048%200%201%200%200%2096zm48-208a48%2048%200%201%200%20-96%200%2048%2048%200%201%200%2096%200z'/%3e%3c/svg%3e",center:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M352%2064c0-17.7-14.3-32-32-32L128%2032c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l192%200c17.7%200%2032-14.3%2032-32zm96%20128c0-17.7-14.3-32-32-32L32%20160c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l384%200c17.7%200%2032-14.3%2032-32zM0%20448c0%2017.7%2014.3%2032%2032%2032l384%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32L32%20416c-17.7%200-32%2014.3-32%2032zM352%20320c0-17.7-14.3-32-32-32l-192%200c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l192%200c17.7%200%2032-14.3%2032-32z'/%3e%3c/svg%3e",color:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23000000'%20d='M512%20256c0%20.9%200%201.8%200%202.7c-.4%2036.5-33.6%2061.3-70.1%2061.3L344%20320c-26.5%200-48%2021.5-48%2048c0%203.4%20.4%206.7%201%209.9c2.1%2010.2%206.5%2020%2010.8%2029.9c6.1%2013.8%2012.1%2027.5%2012.1%2042c0%2031.8-21.6%2060.7-53.4%2062c-3.5%20.1-7%20.2-10.6%20.2C114.6%20512%200%20397.4%200%20256S114.6%200%20256%200S512%20114.6%20512%20256zM128%20288a32%2032%200%201%200%20-64%200%2032%2032%200%201%200%2064%200zm0-96a32%2032%200%201%200%200-64%2032%2032%200%201%200%200%2064zM288%2096a32%2032%200%201%200%20-64%200%2032%2032%200%201%200%2064%200zm96%2096a32%2032%200%201%200%200-64%2032%2032%200%201%200%200%2064z'/%3e%3c/svg%3e",deleteColumnGrey:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Edit%20/%20Delete_Column'%3e%3cpath%20id='Vector'%20d='M10%2021H9C7.89543%2021%207%2020.1046%207%2019V5C7%203.89543%207.89543%203%209%203H11C12.1046%203%2013%203.89543%2013%205V11M19%2016H13'%20stroke='%23c0c0c0'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e",deleteColumn:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Edit%20/%20Delete_Column'%3e%3cpath%20id='Vector'%20d='M10%2021H9C7.89543%2021%207%2020.1046%207%2019V5C7%203.89543%207.89543%203%209%203H11C12.1046%203%2013%203.89543%2013%205V11M19%2016H13'%20stroke='%23000000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e",deleteRowGrey:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Edit%20/%20Delete_Row'%3e%3cpath%20id='Vector'%20d='M14%2016H20M21%2010V9C21%207.89543%2020.1046%207%2019%207H5C3.89543%207%203%207.89543%203%209V11C3%2012.1046%203.89543%2013%205%2013H11'%20stroke='%23c0c0c0'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e",deleteRow:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Edit%20/%20Delete_Row'%3e%3cpath%20id='Vector'%20d='M14%2016H20M21%2010V9C21%207.89543%2020.1046%207%2019%207H5C3.89543%207%203%207.89543%203%209V11C3%2012.1046%203.89543%2013%205%2013H11'%20stroke='%23000000'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e",deleteTableGrey:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20fill='%23c0c0c0'%20width='800px'%20height='800px'%20viewBox='0%200%201920%201920'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1800%201740c0%2033-26.88%2060-60%2060H180c-33.12%200-60-27-60-60V180c0-33.12%2026.88-60%2060-60h1560c33.12%200%2060%2026.88%2060%2060v1560ZM1740%200H180C80.76%200%200%2080.76%200%20180v1560c0%2099.24%2080.76%20180%20180%20180h1560c99.24%200%20180-80.76%20180-180V180c0-99.24-80.76-180-180-180Zm-235.08%20245.388L960%20790.308l-544.92-544.92-169.68%20169.68%20544.92%20544.92-544.92%20544.92%20169.68%20169.68L960%201129.668l544.92%20544.92%20169.68-169.68-544.92-544.92%20544.92-544.92-169.68-169.68Z'%20fill-rule='evenodd'/%3e%3c/svg%3e",deleteTable:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Uploaded%20to:%20SVG%20Repo,%20www.svgrepo.com,%20Generator:%20SVG%20Repo%20Mixer%20Tools%20--%3e%3csvg%20fill='%23000000'%20width='800px'%20height='800px'%20viewBox='0%200%201920%201920'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1800%201740c0%2033-26.88%2060-60%2060H180c-33.12%200-60-27-60-60V180c0-33.12%2026.88-60%2060-60h1560c33.12%200%2060%2026.88%2060%2060v1560ZM1740%200H180C80.76%200%200%2080.76%200%20180v1560c0%2099.24%2080.76%20180%20180%20180h1560c99.24%200%20180-80.76%20180-180V180c0-99.24-80.76-180-180-180Zm-235.08%20245.388L960%20790.308l-544.92-544.92-169.68%20169.68%20544.92%20544.92-544.92%20544.92%20169.68%20169.68L960%201129.668l544.92%20544.92%20169.68-169.68-544.92-544.92%20544.92-544.92-169.68-169.68Z'%20fill-rule='evenodd'/%3e%3c/svg%3e",fontFamily:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23000000'%20d='M254%2052.8C249.3%2040.3%20237.3%2032%20224%2032s-25.3%208.3-30%2020.8L57.8%20416%2032%20416c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l96%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-1.8%200%2018-48%20159.6%200%2018%2048-1.8%200c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l96%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-25.8%200L254%2052.8zM279.8%20304l-111.6%200L224%20155.1%20279.8%20304z'/%3e%3c/svg%3e",href:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20640%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23000000'%20d='M579.8%20267.7c56.5-56.5%2056.5-148%200-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6%201.1c-14.4%2010.3-17.7%2030.3-7.4%2044.6s30.3%2017.7%2044.6%207.4l1.6-1.1c32.1-22.9%2076-19.3%20103.8%208.6c31.5%2031.5%2031.5%2082.5%200%20114L422.3%20334.8c-31.5%2031.5-82.5%2031.5-114%200c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4%206.9-34.4-7.4-44.6s-34.4-6.9-44.6%207.4l-1.1%201.6C206.5%20251.2%20213%20330%20263%20380c56.5%2056.5%20148%2056.5%20204.5%200L579.8%20267.7zM60.2%20244.3c-56.5%2056.5-56.5%20148%200%20204.5c50%2050%20128.8%2056.5%20186.3%2015.4l1.6-1.1c14.4-10.3%2017.7-30.3%207.4-44.6s-30.3-17.7-44.6-7.4l-1.6%201.1c-32.1%2022.9-76%2019.3-103.8-8.6C74%20372%2074%20321%20105.5%20289.5L217.7%20177.2c31.5-31.5%2082.5-31.5%20114%200c27.9%2027.9%2031.5%2071.8%208.6%20103.9l-1.1%201.6c-10.3%2014.4-6.9%2034.4%207.4%2044.6s34.4%206.9%2044.6-7.4l1.1-1.6C433.5%20260.8%20427%20182%20377%20132c-56.5-56.5-148-56.5-204.5%200L60.2%20244.3z'/%3e%3c/svg%3e",image:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23000000'%20d='M0%2096C0%2060.7%2028.7%2032%2064%2032l384%200c35.3%200%2064%2028.7%2064%2064l0%20320c0%2035.3-28.7%2064-64%2064L64%20480c-35.3%200-64-28.7-64-64L0%2096zM323.8%20202.5c-4.5-6.6-11.9-10.5-19.8-10.5s-15.4%203.9-19.8%2010.5l-87%20127.6L170.7%20297c-4.6-5.7-11.5-9-18.7-9s-14.2%203.3-18.7%209l-64%2080c-5.8%207.2-6.9%2017.1-2.9%2025.4s12.4%2013.6%2021.6%2013.6l96%200%2032%200%20208%200c8.9%200%2017.1-4.9%2021.2-12.8s3.6-17.4-1.4-24.7l-120-176zM112%20192a48%2048%200%201%200%200-96%2048%2048%200%201%200%200%2096z'/%3e%3c/svg%3e",indentGrey:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23c0c0c0'%20d='M0%2064C0%2046.3%2014.3%2032%2032%2032l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%2096C14.3%2096%200%2081.7%200%2064zM192%20192c0-17.7%2014.3-32%2032-32l192%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-192%200c-17.7%200-32-14.3-32-32zm32%2096l192%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-192%200c-17.7%200-32-14.3-32-32s14.3-32%2032-32zM0%20448c0-17.7%2014.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20480c-17.7%200-32-14.3-32-32zM127.8%20268.6L25.8%20347.9C15.3%20356.1%200%20348.6%200%20335.3L0%20176.7c0-13.3%2015.3-20.8%2025.8-12.6l101.9%2079.3c8.2%206.4%208.2%2018.9%200%2025.3z'/%3e%3c/svg%3e",indent:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23000000'%20d='M0%2064C0%2046.3%2014.3%2032%2032%2032l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%2096C14.3%2096%200%2081.7%200%2064zM192%20192c0-17.7%2014.3-32%2032-32l192%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-192%200c-17.7%200-32-14.3-32-32zm32%2096l192%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-192%200c-17.7%200-32-14.3-32-32s14.3-32%2032-32zM0%20448c0-17.7%2014.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20480c-17.7%200-32-14.3-32-32zM127.8%20268.6L25.8%20347.9C15.3%20356.1%200%20348.6%200%20335.3L0%20176.7c0-13.3%2015.3-20.8%2025.8-12.6l101.9%2079.3c8.2%206.4%208.2%2018.9%200%2025.3z'/%3e%3c/svg%3e",italic:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20384%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M128%2064c0-17.7%2014.3-32%2032-32l192%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-58.7%200L160%20416l64%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20480c-17.7%200-32-14.3-32-32s14.3-32%2032-32l58.7%200L224%2096l-64%200c-17.7%200-32-14.3-32-32z'/%3e%3c/svg%3e",left:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M288%2064c0%2017.7-14.3%2032-32%2032L32%2096C14.3%2096%200%2081.7%200%2064S14.3%2032%2032%2032l224%200c17.7%200%2032%2014.3%2032%2032zm0%20256c0%2017.7-14.3%2032-32%2032L32%20352c-17.7%200-32-14.3-32-32s14.3-32%2032-32l224%200c17.7%200%2032%2014.3%2032%2032zM0%20192c0-17.7%2014.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20224c-17.7%200-32-14.3-32-32zM448%20448c0%2017.7-14.3%2032-32%2032L32%20480c-17.7%200-32-14.3-32-32s14.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032z'/%3e%3c/svg%3e",numberedList:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M24%2056c0-13.3%2010.7-24%2024-24l32%200c13.3%200%2024%2010.7%2024%2024l0%20120%2016%200c13.3%200%2024%2010.7%2024%2024s-10.7%2024-24%2024l-80%200c-13.3%200-24-10.7-24-24s10.7-24%2024-24l16%200%200-96-8%200C34.7%2080%2024%2069.3%2024%2056zM86.7%20341.2c-6.5-7.4-18.3-6.9-24%201.2L51.5%20357.9c-7.7%2010.8-22.7%2013.3-33.5%205.6s-13.3-22.7-5.6-33.5l11.1-15.6c23.7-33.2%2072.3-35.6%2099.2-4.9c21.3%2024.4%2020.8%2060.9-1.1%2084.7L86.8%20432l33.2%200c13.3%200%2024%2010.7%2024%2024s-10.7%2024-24%2024l-88%200c-9.5%200-18.2-5.6-22-14.4s-2.1-18.9%204.3-25.9l72-78c5.3-5.8%205.4-14.6%20.3-20.5zM224%2064l256%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-256%200c-17.7%200-32-14.3-32-32s14.3-32%2032-32zm0%20160l256%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-256%200c-17.7%200-32-14.3-32-32s14.3-32%2032-32zm0%20160l256%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-256%200c-17.7%200-32-14.3-32-32s14.3-32%2032-32z'/%3e%3c/svg%3e",outdentGrey:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23c0c0c0'%20d='M0%2064C0%2046.3%2014.3%2032%2032%2032l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%2096C14.3%2096%200%2081.7%200%2064zM192%20192c0-17.7%2014.3-32%2032-32l192%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-192%200c-17.7%200-32-14.3-32-32zm32%2096l192%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-192%200c-17.7%200-32-14.3-32-32s14.3-32%2032-32zM0%20448c0-17.7%2014.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20480c-17.7%200-32-14.3-32-32zM.2%20268.6c-8.2-6.4-8.2-18.9%200-25.3l101.9-79.3c10.5-8.2%2025.8-.7%2025.8%2012.6l0%20158.6c0%2013.3-15.3%2020.8-25.8%2012.6L.2%20268.6z'/%3e%3c/svg%3e",outdent:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23000000'%20d='M0%2064C0%2046.3%2014.3%2032%2032%2032l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%2096C14.3%2096%200%2081.7%200%2064zM192%20192c0-17.7%2014.3-32%2032-32l192%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-192%200c-17.7%200-32-14.3-32-32zm32%2096l192%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-192%200c-17.7%200-32-14.3-32-32s14.3-32%2032-32zM0%20448c0-17.7%2014.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20480c-17.7%200-32-14.3-32-32zM.2%20268.6c-8.2-6.4-8.2-18.9%200-25.3l101.9-79.3c10.5-8.2%2025.8-.7%2025.8%2012.6l0%20158.6c0%2013.3-15.3%2020.8-25.8%2012.6L.2%20268.6z'/%3e%3c/svg%3e",redoGrey:"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'%20standalone='no'?%3e%3csvg%20xmlns:dc='http://purl.org/dc/elements/1.1/'%20xmlns:cc='http://creativecommons.org/ns%23'%20xmlns:rdf='http://www.w3.org/1999/02/22-rdf-syntax-ns%23'%20xmlns:svg='http://www.w3.org/2000/svg'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:sodipodi='http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd'%20xmlns:inkscape='http://www.inkscape.org/namespaces/inkscape'%20inkscape:version='1.0%20(4035a4fb49,%202020-05-01)'%20sodipodi:docname='redo--grey.svg'%20id='svg856'%20version='1.1'%20viewBox='0%200%20512%20512'%3e%3cmetadata%20id='metadata862'%3e%3crdf:RDF%3e%3ccc:Work%20rdf:about=''%3e%3cdc:format%3eimage/svg+xml%3c/dc:format%3e%3cdc:type%20rdf:resource='http://purl.org/dc/dcmitype/StillImage'%20/%3e%3c/cc:Work%3e%3c/rdf:RDF%3e%3c/metadata%3e%3cdefs%20id='defs860'%20/%3e%3csodipodi:namedview%20inkscape:current-layer='svg856'%20inkscape:window-maximized='1'%20inkscape:window-y='-8'%20inkscape:window-x='-8'%20inkscape:cy='262.97976'%20inkscape:cx='209.07679'%20inkscape:zoom='0.71777344'%20showgrid='false'%20id='namedview858'%20inkscape:window-height='961'%20inkscape:window-width='1280'%20inkscape:pageshadow='2'%20inkscape:pageopacity='0'%20guidetolerance='10'%20gridtolerance='10'%20objecttolerance='10'%20borderopacity='1'%20bordercolor='%23666666'%20pagecolor='%23ffffff'%20/%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20id='path854'%20d='m%20447.525,224%20h%208.5%20c%2013.3,0%2024,-10.7%2024,-24%20V%2072%20c%200,-9.7%20-5.8,-18.5%20-14.8,-22.2%20-9,-3.7%20-19.3,-1.7%20-26.2,5.2%20l%20-41.6,41.6%20c%20-87.6,-86.5%20-228.7,-86.2%20-315.8,1%20-87.5,87.5%20-87.5,229.3%200,316.8%2087.5,87.5%20229.3,87.5%20316.8,0%2012.5,-12.5%2012.5,-32.8%200,-45.3%20-12.5,-12.5%20-32.8,-12.5%20-45.3,0%20-62.5,62.5%20-163.8,62.5%20-226.3,0%20-62.5,-62.5%20-62.5,-163.8%200,-226.3%2062.2,-62.2%20162.7,-62.5%20225.3,-1%20l%20-41.1,41.2%20c%20-6.9,6.9%20-8.9,17.2%20-5.2,26.2%203.7,9%2012.5,14.8%2022.2,14.8%20z'%20fill='%23c0c0c0'%20/%3e%3c/svg%3e",redo:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M463.5%20224l8.5%200c13.3%200%2024-10.7%2024-24l0-128c0-9.7-5.8-18.5-14.8-22.2s-19.3-1.7-26.2%205.2L413.4%2096.6c-87.6-86.5-228.7-86.2-315.8%201c-87.5%2087.5-87.5%20229.3%200%20316.8s229.3%2087.5%20316.8%200c12.5-12.5%2012.5-32.8%200-45.3s-32.8-12.5-45.3%200c-62.5%2062.5-163.8%2062.5-226.3%200s-62.5-163.8%200-226.3c62.2-62.2%20162.7-62.5%20225.3-1L327%20183c-6.9%206.9-8.9%2017.2-5.2%2026.2s12.5%2014.8%2022.2%2014.8l119.5%200z'/%3e%3c/svg%3e",right:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M448%2064c0%2017.7-14.3%2032-32%2032L192%2096c-17.7%200-32-14.3-32-32s14.3-32%2032-32l224%200c17.7%200%2032%2014.3%2032%2032zm0%20256c0%2017.7-14.3%2032-32%2032l-224%200c-17.7%200-32-14.3-32-32s14.3-32%2032-32l224%200c17.7%200%2032%2014.3%2032%2032zM0%20192c0-17.7%2014.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20224c-17.7%200-32-14.3-32-32zM448%20448c0%2017.7-14.3%2032-32%2032L32%20480c-17.7%200-32-14.3-32-32s14.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032z'/%3e%3c/svg%3e",size:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20576%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23000000'%20d='M64%20128l0-32%2064%200%200%20320-32%200c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l128%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-32%200%200-320%2064%200%200%2032c0%2017.7%2014.3%2032%2032%2032s32-14.3%2032-32l0-48c0-26.5-21.5-48-48-48L160%2032%2048%2032C21.5%2032%200%2053.5%200%2080l0%2048c0%2017.7%2014.3%2032%2032%2032s32-14.3%2032-32zM502.6%2041.4c-12.5-12.5-32.8-12.5-45.3%200l-64%2064c-9.2%209.2-11.9%2022.9-6.9%2034.9s16.6%2019.8%2029.6%2019.8l32%200%200%20192-32%200c-12.9%200-24.6%207.8-29.6%2019.8s-2.2%2025.7%206.9%2034.9l64%2064c12.5%2012.5%2032.8%2012.5%2045.3%200l64-64c9.2-9.2%2011.9-22.9%206.9-34.9s-16.6-19.8-29.6-19.8l-32%200%200-192%2032%200c12.9%200%2024.6-7.8%2029.6-19.8s2.2-25.7-6.9-34.9l-64-64z'/%3e%3c/svg%3e",strikethrough:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M161.3%20144c3.2-17.2%2014-30.1%2033.7-38.6c21.1-9%2051.8-12.3%2088.6-6.5c11.9%201.9%2048.8%209.1%2060.1%2012c17.1%204.5%2034.6-5.6%2039.2-22.7s-5.6-34.6-22.7-39.2c-14.3-3.8-53.6-11.4-66.6-13.4c-44.7-7-88.3-4.2-123.7%2010.9c-36.5%2015.6-64.4%2044.8-71.8%2087.3c-.1%20.6-.2%201.1-.2%201.7c-2.8%2023.9%20.5%2045.6%2010.1%2064.6c4.5%209%2010.2%2016.9%2016.7%2023.9L32%20224c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l448%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-209.9%200-.4-.1-1.1-.3c-36-10.8-65.2-19.6-85.2-33.1c-9.3-6.3-15-12.6-18.2-19.1c-3.1-6.1-5.2-14.6-3.8-27.4zM348.9%20337.2c2.7%206.5%204.4%2015.8%201.9%2030.1c-3%2017.6-13.8%2030.8-33.9%2039.4c-21.1%209-51.7%2012.3-88.5%206.5c-18-2.9-49.1-13.5-74.4-22.1c-5.6-1.9-11-3.7-15.9-5.4c-16.8-5.6-34.9%203.5-40.5%2020.3s3.5%2034.9%2020.3%2040.5c3.6%201.2%207.9%202.7%2012.7%204.3c0%200%200%200%200%200s0%200%200%200c24.9%208.5%2063.6%2021.7%2087.6%2025.6c0%200%200%200%200%200l.2%200c44.7%207%2088.3%204.2%20123.7-10.9c36.5-15.6%2064.4-44.8%2071.8-87.3c3.6-21%202.7-40.4-3.1-58.1l-75.7%200c7%205.6%2011.4%2011.2%2013.9%2017.2z'/%3e%3c/svg%3e",subscript:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M32%2064C14.3%2064%200%2078.3%200%2096s14.3%2032%2032%2032l15.3%200%2089.6%20128L47.3%20384%2032%20384c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l32%200c10.4%200%2020.2-5.1%2026.2-13.6L176%20311.8l85.8%20122.6c6%208.6%2015.8%2013.6%2026.2%2013.6l32%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-15.3%200L215.1%20256l89.6-128%2015.3%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-32%200c-10.4%200-20.2%205.1-26.2%2013.6L176%20200.2%2090.2%2077.6C84.2%2069.1%2074.4%2064%2064%2064L32%2064zM480%20320c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32%2016c-15.8%207.9-22.2%2027.1-14.3%2042.9C393%20361.5%20404.3%20368%20416%20368l0%2080c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l32%200%2032%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l0-128z'/%3e%3c/svg%3e",superscript:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M480%2032c0-11.1-5.7-21.4-15.2-27.2s-21.2-6.4-31.1-1.4l-32%2016c-15.8%207.9-22.2%2027.1-14.3%2042.9C393%2073.5%20404.3%2080%20416%2080l0%2080c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l32%200%2032%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l0-128zM32%2064C14.3%2064%200%2078.3%200%2096s14.3%2032%2032%2032l15.3%200%2089.6%20128L47.3%20384%2032%20384c-17.7%200-32%2014.3-32%2032s14.3%2032%2032%2032l32%200c10.4%200%2020.2-5.1%2026.2-13.6L176%20311.8l85.8%20122.6c6%208.6%2015.8%2013.6%2026.2%2013.6l32%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-15.3%200L215.1%20256l89.6-128%2015.3%200c17.7%200%2032-14.3%2032-32s-14.3-32-32-32l-32%200c-10.4%200-20.2%205.1-26.2%2013.6L176%20200.2%2090.2%2077.6C84.2%2069.1%2074.4%2064%2064%2064L32%2064z'/%3e%3c/svg%3e",table:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23000000'%20d='M64%20256l0-96%20160%200%200%2096L64%20256zm0%2064l160%200%200%2096L64%20416l0-96zm224%2096l0-96%20160%200%200%2096-160%200zM448%20256l-160%200%200-96%20160%200%200%2096zM64%2032C28.7%2032%200%2060.7%200%2096L0%20416c0%2035.3%2028.7%2064%2064%2064l384%200c35.3%200%2064-28.7%2064-64l0-320c0-35.3-28.7-64-64-64L64%2032z'/%3e%3c/svg%3e",underline:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20448%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M16%2064c0-17.7%2014.3-32%2032-32l96%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-16%200%200%20128c0%2053%2043%2096%2096%2096s96-43%2096-96l0-128-16%200c-17.7%200-32-14.3-32-32s14.3-32%2032-32l96%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032l-16%200%200%20128c0%2088.4-71.6%20160-160%20160s-160-71.6-160-160L64%2096%2048%2096C30.3%2096%2016%2081.7%2016%2064zM0%20448c0-17.7%2014.3-32%2032-32l384%200c17.7%200%2032%2014.3%2032%2032s-14.3%2032-32%2032L32%20480c-17.7%200-32-14.3-32-32z'/%3e%3c/svg%3e",undoGrey:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20fill='%23c0c0c0'%20d='M48.5%20224L40%20224c-13.3%200-24-10.7-24-24L16%2072c0-9.7%205.8-18.5%2014.8-22.2s19.3-1.7%2026.2%205.2L98.6%2096.6c87.6-86.5%20228.7-86.2%20315.8%201c87.5%2087.5%2087.5%20229.3%200%20316.8s-229.3%2087.5-316.8%200c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200c62.5%2062.5%20163.8%2062.5%20226.3%200s62.5-163.8%200-226.3c-62.2-62.2-162.7-62.5-225.3-1L185%20183c6.9%206.9%208.9%2017.2%205.2%2026.2s-12.5%2014.8-22.2%2014.8L48.5%20224z'/%3e%3c/svg%3e",undo:"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20512%20512'%3e%3c!--!Font%20Awesome%20Free%206.7.2%20by%20@fontawesome%20-%20https://fontawesome.com%20License%20-%20https://fontawesome.com/license/free%20Copyright%202025%20Fonticons,%20Inc.--%3e%3cpath%20d='M48.5%20224L40%20224c-13.3%200-24-10.7-24-24L16%2072c0-9.7%205.8-18.5%2014.8-22.2s19.3-1.7%2026.2%205.2L98.6%2096.6c87.6-86.5%20228.7-86.2%20315.8%201c87.5%2087.5%2087.5%20229.3%200%20316.8s-229.3%2087.5-316.8%200c-12.5-12.5-12.5-32.8%200-45.3s32.8-12.5%2045.3%200c62.5%2062.5%20163.8%2062.5%20226.3%200s62.5-163.8%200-226.3c-62.2-62.2-162.7-62.5-225.3-1L185%20183c6.9%206.9%208.9%2017.2%205.2%2026.2s-12.5%2014.8-22.2%2014.8L48.5%20224z'/%3e%3c/svg%3e"},w2=({editor:e,format:o,isActive:t,onMouseDown:s})=>{const[n,i]=g.useState(!1),d=m=>{u.toggleBlock(e,o==="bulletList"?"bullet-list":"numbered-list",m),i(!1)};return c.jsxs(c.Fragment,{children:[c.jsxs("button",{className:`tool tool--${t?"active":"inactive"}`,children:[c.jsx("img",{onMouseDown:m=>{m.preventDefault(),s(o)},src:T[o],alt:o}),c.jsx("div",{className:"tool tool--arrow",onClick:()=>i(!n),children:n?"↑":"↓"})]}),n&&(o==="bulletList"?c.jsx(p2,{onChange:d}):c.jsx(f2,{onChange:d}))]})};function K({disabled:e=!1,elements:o,elementSelected:t,format:s,isOpen:n,setIsOpen:i,onClick:d}){const m=()=>{i(!n)},h=f=>{d(f),i(!1)};return c.jsxs("div",{className:"dropdown tool",children:[c.jsx("button",{onClick:m,className:"dropdown-toggle",disabled:e,children:c.jsx("img",{src:T[s],alt:s})}),n&&c.jsx("ul",{className:"dropdown-menu",children:o.map((f,a)=>c.jsx("li",{className:`${t&&f===t?"tool--active":""}`,onClick:()=>h(f),children:f},a))})]})}const v2=({disabled:e,sizeSelected:o,onSelectSize:t})=>{const[s,n]=g.useState(!1),i=["10px","12px","14px","16px","18px","20px","24px","28px","36px"];return c.jsx(K,{disabled:e,elements:i,elementSelected:o,format:"size",isOpen:s,setIsOpen:n,onClick:t})},x2=({fontFamilySelected:e,onSelectFontFamily:o})=>{const[t,s]=g.useState(!1),n=["Arial","Arial Black","Bookman","Comic Sans MS","Courier","Courier New","Garamond","Georgia","Helvetica","Impact","Palatino","Times","Times New Roman","Trebuchet MS","Verdana"];return c.jsx(K,{elements:n,elementSelected:e,format:"fontFamily",isOpen:t,setIsOpen:s,onClick:o})},b2=({activeBlock:e,editor:o,format:t,isActive:s,onMouseDown:n})=>{const[i,d]=g.useState(""),m=e==="h1"||e==="h2",h=a=>{u.applyFontSize(o,a)},f=a=>{u.applyFontFamily(o,a),d(a)};return t==="indent"||t==="outdent"?c.jsx("div",{style:{display:"flex"},children:c.jsx("button",{className:"tool",onClick:()=>t==="indent"?u.handleIndent(o):u.handleOutdent(o),disabled:!s,children:c.jsx("img",{src:s?T[t]:T[t+"Grey"],alt:"Indentation"})})}):t==="fontSize"?c.jsx(v2,{sizeSelected:s,onSelectSize:h,disabled:m}):t==="fontFamily"?c.jsx(x2,{fontFamilySelected:i,onSelectFontFamily:f}):t==="bulletList"||t==="numberedList"?c.jsx("div",{className:"dropdown",style:{display:"flex"},children:c.jsx(w2,{editor:o,format:t,isActive:s,onMouseDown:()=>{t=t==="bulletList"?"bullet-list":"numbered-list",u.toggleBlock(o,t)}})}):c.jsx("button",{onMouseDown:a=>{a.preventDefault(),n(t)},className:`tool tool--${s?"active":"inactive"}`,children:c.jsx("img",{src:T[t],alt:t})})},k2=({editor:e,onClose:o,initialUrl:t="",isOpenInNewTab:s})=>{const[n,i]=g.useState(""),[d,m]=g.useState(!1),h=()=>{n&&(u.updateLink(e,n,d),o())},f=()=>{u.removeLink(e),o()};return g.useEffect(()=>{i(t),m(s)},[t,s]),c.jsxs("div",{className:"link-form",children:[c.jsx("input",{type:"text",placeholder:"Enter URL",value:n,onChange:a=>i(a.target.value)}),c.jsxs("label",{children:[c.jsx("input",{type:"checkbox",checked:d,onChange:()=>m(!d)}),"Ouvrir dans un nouvel onglet"]}),c.jsxs("div",{className:"link-form-actions",children:[t?c.jsxs(c.Fragment,{children:[c.jsx("button",{onClick:h,children:"Modifier"}),c.jsx("button",{onClick:f,children:"Supprimer"})]}):c.jsx("button",{onClick:h,children:"Valider"}),c.jsx("button",{onClick:o,children:"Annuler"})]})]})};function C2({selectedColor:e,onSelectColor:o,onClose:t}){const[s,n]=g.useState("#ffffff"),i=h=>{n(h.hex)},d=()=>{s&&(o(s),t())},m=()=>{o(""),t()};return g.useEffect(()=>{e&&n(e)},[e]),c.jsxs("div",{className:"color-picker-popup",children:[c.jsx(l2.SketchPicker,{color:s,onChangeComplete:i}),c.jsxs("div",{className:"color-picker-actions",children:[c.jsx("button",{onClick:d,disabled:!s,children:"Appliquer"}),c.jsx("button",{onClick:m,children:"Annuler"})]})]})}const y2=({activeBlock:e,onChange:o})=>{const t=[{type:"paragraph",name:"Paragraphe"},{type:"h1",name:"Titre"},{type:"h2",name:"Sous-titre"}],s=n=>{const i=n.target.value;o(i)};return c.jsx("select",{value:e,onChange:s,children:t.map(n=>c.jsx("option",{value:n.type,children:n.name},n.type))})},L2=({editor:e,selectedLanguage:o,setSelectedLanguage:t})=>{const[s,n]=g.useState(!1),i={cs:"C#",cpp:"C++",css:"CSS",diff:"Diff",html:"HTML",java:"Java",javascript:"JavaScript",php:"PHP",python:"Python",ruby:"Ruby",typescript:"TypeScript",xml:"XML"},d=()=>{n(!s)},m=h=>{t(h),u.handleCode(e,h),n(!1)};return c.jsxs("div",{className:`dropdown tool ${o&&o!=="init"&&o!==""?"tool--active":""}`,children:[c.jsx("button",{className:"dropdown-toggle",onClick:d,children:c.jsx("img",{src:T.blockCode,alt:"Language Selector"})}),s&&c.jsxs("ul",{className:"dropdown-menu",children:[o&&c.jsx("li",{onClick:()=>m("init"),children:"Réinitialiser"}),Object.keys(i).map(h=>c.jsx("li",{onClick:()=>m(h),className:`${o&&h===o?"tool--active":""}`,style:{cursor:"pointer",padding:"5px 10px"},children:i[h]},h))]})]})},T2=({editor:e})=>c.jsxs("div",{className:"tool image-upload-container",children:[c.jsx("input",{id:"file-input",type:"file",accept:"image/*",onChange:o=>u.handleFileChange(o,e),className:"hidden-file-input"}),c.jsx("label",{htmlFor:"file-input",className:"image-upload-label",children:c.jsx("img",{src:T.image,alt:"Upload"})})]}),j2=({editor:e,onClose:o})=>{const[t,s]=g.useState(0),[n,i]=g.useState(0),d=(f,a)=>{s(f),i(a)},m=(f,a)=>{u.insertTable(e,f+1,a+1),o()},h=()=>{const f=[];for(let a=0;a<5;a++)for(let C=0;C<5;C++){const v=a<=t&&C<=n;f.push(c.jsx("div",{className:`grid-cell ${v?"hovered":""}`,onMouseEnter:()=>d(a,C),onClick:()=>m(a,C)},`${a}-${C}`))}return f};return c.jsxs("div",{className:"dropdown-menu table-grid-form",children:[c.jsx("div",{className:"grid-container",children:h()}),c.jsxs("div",{className:"table-size-indicator",children:["Tableau de ",t+1," lignes x ",n+1," colonnes"]})]})},F2=({editor:e})=>{const o=u.isSelectionInTable(e),[t,s]=g.useState(!1),n=()=>{s(!t)},i=[{name:"deleteTable",alt:"Supprimer le tableau",onClick:u.deleteTable},{name:"addRow",alt:"Ajouter une ligne",onClick:u.addRow},{name:"addColumn",alt:"Ajouter une colonne",onClick:u.addColumn},{name:"deleteRow",alt:"Supprimer une ligne",onClick:u.deleteRow},{name:"deleteColumn",alt:"Supprimer une colonne",onClick:u.deleteColumn}];return c.jsxs(c.Fragment,{children:[c.jsxs("div",{className:"dropdown tool",children:[c.jsx("button",{onClick:n,className:"dropdown-toggle",children:c.jsx("img",{src:T.blockCode,alt:"Tableau"})}),t&&c.jsx(j2,{editor:e,onClose:n})]}),i.map((d,m)=>c.jsx("button",{className:"tool",onClick:()=>d.onClick(e),disabled:!o,children:c.jsx("img",{src:o?T[d.name]:T[d.name+"Grey"],alt:d.name})},m))]})};function M2({editor:e}){return c.jsxs(c.Fragment,{children:[c.jsx("button",{className:"tool",onMouseDown:o=>{o.preventDefault(),e.undo()},children:c.jsx("img",{src:e.history.undos.length===0?T.undoGrey:T.undo,alt:"Annuler"})}),c.jsx("button",{className:"tool",onMouseDown:o=>{o.preventDefault(),e.redo()},children:c.jsx("img",{src:e.history.redos.length===0?T.redoGrey:T.redo,alt:"Rétablir"})})]})}function S2(e){const[o,t]=g.useState(""),[s,n]=g.useState(""),[i,d]=g.useState(!1),[m,h]=g.useState(""),[f,a]=g.useState(""),[C,v]=g.useState("paragraph"),[x,w]=g.useState(!1),[F,M]=g.useState(""),[z,j]=g.useState(!1),P=()=>{j(!z)},S=()=>{w(!x)};return{activeBlock:C,colorMode:s,setColorMode:n,openInNewTab:i,setOpenInNewTab:d,selectedBackgroundColor:f,setSelectedBackgroundColor:a,selectedColor:m,setSelectedColor:h,selectedLanguage:F,setSelectedLanguage:M,selectedLink:o,setSelectedLink:t,showColorPicker:x,showLinkForm:z,setShowLinkForm:j,detectCurrentLanguage:()=>{const{selection:b}=e;if(b){const[E]=l.Editor.nodes(e,{match:R=>R.type==="code"});M(E?E[0].language:null)}},toggleLinkForm:P,toggleColorPicker:S,handleColorChange:b=>{u.applyTextColor(e,b),S()},handleBackgroundColorChange:b=>{u.applyBackgroundTextColor(e,b),S()},handleBlockTypeChange:b=>{u.toggleBlock(e,b),v(b)}}}const E2=({editor:e,activeMarks:o})=>{const{activeBlock:t,colorMode:s,setColorMode:n,openInNewTab:i,setOpenInNewTab:d,selectedBackgroundColor:m,setSelectedBackgroundColor:h,selectedColor:f,setSelectedColor:a,selectedLanguage:C,setSelectedLanguage:v,selectedLink:x,setSelectedLink:w,showColorPicker:F,showLinkForm:M,setShowLinkForm:z,detectCurrentLanguage:j,toggleLinkForm:P,toggleColorPicker:S,handleColorChange:D,handleBackgroundColorChange:O,handleBlockTypeChange:H}=S2(e),V=["left","center","right"];return g.useEffect(()=>{j();const{selection:b}=e;if(b){const[E]=l.Editor.nodes(e,{match:R=>R.type==="link"});E?(d(E[0].target==="_blank"),w(E[0].href)):(d(!1),w(""))}},[e.selection]),c.jsxs("div",{className:"toolbar",children:[c.jsx(y2,{activeBlock:t,onChange:H}),Object.keys(o).map((b,E)=>c.jsx("div",{style:{display:"flex"},children:c.jsx(b2,{activeBlock:t,editor:e,format:b,isActive:o[b],onMouseDown:()=>{V.includes(b)?u.toggleAlign(e,b):b==="href"?P():b==="color"?(a(o[b]),n("color"),S()):b==="bgColor"?(h(o[b]),n("bgColor"),S()):u.toggleMark(e,b)}})},E)),c.jsx(F2,{editor:e}),c.jsx(T2,{editor:e}),c.jsx(L2,{editor:e,selectedLanguage:C,setSelectedLanguage:v}),c.jsx(M2,{editor:e}),M&&c.jsx(k2,{editor:e,onClose:()=>z(!1),initialUrl:x,isOpenInNewTab:i}),F&&c.jsx(C2,{selectedColor:s==="color"?f:m,onSelectColor:s==="color"?D:O,onClose:S})]})};return({value:e,setValue:o})=>{const[t]=g.useState(()=>c2.withHistory(U.withReact(l.createEditor()))),[s,n]=g.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}),i=g.useMemo(()=>JSON.parse(localStorage.getItem("content"))||[{type:"paragraph",children:[{text:"Un exemple de paragraphe."}]}],[]),d=g.useCallback(a=>{switch(a.element.type){case"code":return c.jsx(d2,{...a});case"bullet-list":case"numbered-list":case"list-item":return c.jsx(g2,{...a});case"h1":return c.jsx("h1",{...a.attributes,children:a.children});case"h2":return c.jsx("h2",{...a.attributes,children:a.children});case"blockquote":return c.jsx(h2,{...a});case"image":return c.jsx("img",{src:a.element.url,alt:"",...a.attributes});case"table":return c.jsx("table",{children:c.jsx("tbody",{children:a.children})});case"table-row":return c.jsx("tr",{children:a.children});case"table-cell":return c.jsx("td",{children:a.children});default:return c.jsx(m2,{...a})}},[]),m=g.useCallback(a=>c.jsx(u2,{...a}),[]),h=g.useCallback(()=>{const a=l.Editor.marks(t),C=u.isSelectionInList(t);n(v=>{const x={};for(const w in v)if(w==="bulletList"||w==="numberedList"){const F=w==="bulletList"?"bullet-list":w==="numberedList"?"numbered-list":"";x[w]=C&&u.isBlockActive(t,F)}else if(w==="left"||w==="center"||w==="right")x[w]=u.isAlignActive(t,w);else if(w==="indent"||w==="outdent")x[w]=u.canIndent(t,w);else if(w==="href"){const F=u.isLinkActive(t);let M="";if(F){const z=l.Editor.nodes(t,{match:j=>j.type==="link",mode:"highest"});for(const[j]of z)if(j&&j.href){M=j.href;break}M||console.error("No link node with URL property found")}x[w]=M}else w==="color"?x[w]=(a==null?void 0:a.color)||null:w==="fontSize"?x[w]=(a==null?void 0:a.fontSize)||null:x[w]=(a==null?void 0:a[w])===!0;return x})},[t]),f=a=>{a.shiftKey&&u.canIndent(t,"outdent")?(a.preventDefault(),u.handleOutdent(t)):u.canIndent(t,"indent")&&(a.preventDefault(),u.handleIndent(t))};return c.jsx("div",{className:"react-text-forge",children:c.jsxs(U.Slate,{editor:t,initialValue:i,value:e,onChange:a=>{if(h(),t.operations.some(v=>v.type!=="set_selection")){const v=JSON.stringify(a);o(a),localStorage.setItem("content",v)}},children:[c.jsx(E2,{editor:t,activeMarks:s}),c.jsx(U.Editable,{className:"editor",renderElement:d,renderLeaf:m,onKeyDown:a=>{if(a.key==="Tab"){f(a);return}if(a.ctrlKey)switch(a.key){case"=":{a.preventDefault(),u.toggleBlock(t,"code");break}case"b":{a.preventDefault(),u.toggleMark(t,"bold");break}case"i":{a.preventDefault(),u.toggleMark(t,"italic");break}case"u":{a.preventDefault(),u.toggleMark(t,"underline");break}case"s":{a.preventDefault(),u.toggleMark(t,"strikethrough");break}case"sub":{a.preventDefault(),u.toggleMark(t,"subscript");break}case"sup":{a.preventDefault(),u.toggleMark(t,"superscript");break}case"l":{a.preventDefault(),u.toggleBlock(t,"bulletList");break}case"n":{a.preventDefault(),u.toggleBlock(t,"numberedList");break}case"left":{a.preventDefault(),u.toggleMark(t,"left");break}case"center":{a.preventDefault(),u.toggleMark(t,"center");break}case"right":{a.preventDefault(),u.toggleMark(t,"right");break}}}})]})})}});
|
|
23
23
|
//# sourceMappingURL=react-text-forge.umd.cjs.map
|