@contentful/field-editor-markdown 1.2.0 → 1.2.1
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.
- package/CHANGELOG.md +6 -0
- package/dist/field-editor-markdown.cjs.development.js +7 -3
- package/dist/field-editor-markdown.cjs.development.js.map +1 -1
- package/dist/field-editor-markdown.cjs.production.min.js +2 -2
- package/dist/field-editor-markdown.cjs.production.min.js.map +1 -1
- package/dist/field-editor-markdown.esm.js +7 -3
- package/dist/field-editor-markdown.esm.js.map +1 -1
- package/package.json +2 -2
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
margin: ${a.spacingM} auto;
|
|
133
133
|
display: block;
|
|
134
134
|
}
|
|
135
|
-
`,framed:o.css({height:"100%",maxHeight:"500px",overflowY:"auto"}),zen:o.css({maxWidth:"650px",margin:"0 auto",border:"none !important"}),rtl:o.css({direction:"rtl"})};function L(e){const{Embedly:t,children:a,...l}=e;return"embedly-card"===e.className&&t?n.createElement(t,{url:e.href}):n.createElement("a",{...l,target:"_blank",rel:"noopener noreferrer"},a)}const M=n.memo(e=>{var t;const a=o.cx(T.root,void 0!==e.minHeight?o.css({minHeight:e.minHeight}):void 0,"default"===e.mode?T.framed:T.zen,"rtl"===e.direction?T.rtl:void 0),l=n.useMemo(()=>r.sanitize(e.value).replace(/href="mailto:[^"]*&/g,(function(e){return e.replace(/&/g,"&")})),[e.value]);return n.createElement("div",{className:a,"data-test-id":"markdown-preview"},n.createElement(s,{options:{overrides:{a:{component:L,props:{Embedly:null==(t=e.previewComponents)?void 0:t.embedly}}}}},l))});M.displayName="MarkdownPreview";const H={root:o.css({display:"flex",zIndex:10,flexDirection:"row",justifyContent:"flex-end",overflow:"hidden",marginBottom:"-1px",fontSize:a.fontSizeM}),tab:o.css({cursor:"pointer",color:a.gray700,padding:a.spacingXs,minWidth:"70px",border:"1px solid "+a.gray400,borderTopLeftRadius:a.borderRadiusSmall,borderTopRightRadius:a.borderRadiusSmall,marginLeft:a.spacingXs,textAlign:"center",backgroundColor:a.gray100,borderBottomColor:a.gray100,outline:"none","&:focus":{boxShadow:a.boxShadowHeavy},transition:`all ${a.transitionEasingDefault} ${a.transitionDurationShort}`}),inactiveTab:o.css({background:a.gray200,borderBottomColor:a.gray400,"&:hover":{background:a.gray300}})};function B(e){return n.createElement("div",{className:o.cx(H.tab,{[H.inactiveTab]:!1===e.isActive}),onClick:()=>{e.onSelect(e.name)},onKeyDown:t=>{13===t.keyCode&&e.onSelect(e.name)},tabIndex:0,role:"tab","aria-controls":e.name,"aria-selected":!0===e.isActive,"data-test-id":e.testId},e.children)}function F(e){return n.createElement("div",{className:H.root},n.createElement(B,{name:"editor",onSelect:e.onSelect,isActive:"editor"===e.active,testId:"markdown-tab-md"},"Editor"),n.createElement(B,{name:"preview",onSelect:e.onSelect,isActive:"preview"===e.active,testId:"markdown-tab-preview"},"Preview"))}const A=u(window,"navigator.userAgent",""),D=u(window,"navigator.platform","");let R="Ctrl";function V(){return R}function $(e){if("string"!=typeof e)return e;if(!e.match(/^([+-]?(?:\d+|\d*\.\d+))([a-z]*|%)$/))throw new Error("Couldn't match unit in given string");return parseFloat(e)}function P(e){return t=>{t.lineStartsWith(e)?t.removeFromLineBeginning(e.length):t.insertAtLineBeginning(e)}}function O(e,t,n){return()=>{if(e.usePrimarySelection(),e.getSelection()){const n=e.getSelectedText();if(n.startsWith(t)&&n.endsWith(t)){const a=t.length,l=n.slice(a,n.length-a);e.replaceSelectedText(l)}else e.wrapSelection(t)}else e.insertAtCursor(t+n+t),e.selectBackwards(t.length,n.length)}}(/(iphone os|ipad|iphone|ipod)/i.test(A)&&!window.MSStream||/mac(68k|ppc|intel)/i.test(D))&&(R="Cmd");const U=P("> "),X=P(" ");function
|
|
135
|
+
`,framed:o.css({height:"100%",maxHeight:"500px",overflowY:"auto"}),zen:o.css({maxWidth:"650px",margin:"0 auto",border:"none !important"}),rtl:o.css({direction:"rtl"})};function L(e){const{Embedly:t,children:a,...l}=e;return"embedly-card"===e.className&&t?n.createElement(t,{url:e.href}):n.createElement("a",{...l,target:"_blank",rel:"noopener noreferrer"},a)}const M=n.memo(e=>{var t;const a=o.cx(T.root,void 0!==e.minHeight?o.css({minHeight:e.minHeight}):void 0,"default"===e.mode?T.framed:T.zen,"rtl"===e.direction?T.rtl:void 0),l=n.useMemo(()=>r.sanitize(e.value).replace(/href="mailto:[^"]*&/g,(function(e){return e.replace(/&/g,"&")})),[e.value]);return n.createElement("div",{className:a,"data-test-id":"markdown-preview"},n.createElement(s,{options:{overrides:{a:{component:L,props:{Embedly:null==(t=e.previewComponents)?void 0:t.embedly}}}}},l))});M.displayName="MarkdownPreview";const H={root:o.css({display:"flex",zIndex:10,flexDirection:"row",justifyContent:"flex-end",overflow:"hidden",marginBottom:"-1px",fontSize:a.fontSizeM}),tab:o.css({cursor:"pointer",color:a.gray700,padding:a.spacingXs,minWidth:"70px",border:"1px solid "+a.gray400,borderTopLeftRadius:a.borderRadiusSmall,borderTopRightRadius:a.borderRadiusSmall,marginLeft:a.spacingXs,textAlign:"center",backgroundColor:a.gray100,borderBottomColor:a.gray100,outline:"none","&:focus":{boxShadow:a.boxShadowHeavy},transition:`all ${a.transitionEasingDefault} ${a.transitionDurationShort}`}),inactiveTab:o.css({background:a.gray200,borderBottomColor:a.gray400,"&:hover":{background:a.gray300}})};function B(e){return n.createElement("div",{className:o.cx(H.tab,{[H.inactiveTab]:!1===e.isActive}),onClick:()=>{e.onSelect(e.name)},onKeyDown:t=>{13===t.keyCode&&e.onSelect(e.name)},tabIndex:0,role:"tab","aria-controls":e.name,"aria-selected":!0===e.isActive,"data-test-id":e.testId},e.children)}function F(e){return n.createElement("div",{className:H.root},n.createElement(B,{name:"editor",onSelect:e.onSelect,isActive:"editor"===e.active,testId:"markdown-tab-md"},"Editor"),n.createElement(B,{name:"preview",onSelect:e.onSelect,isActive:"preview"===e.active,testId:"markdown-tab-preview"},"Preview"))}const A=u(window,"navigator.userAgent",""),D=u(window,"navigator.platform","");let R="Ctrl";function V(){return R}function $(e){if("string"!=typeof e)return e;if(!e.match(/^([+-]?(?:\d+|\d*\.\d+))([a-z]*|%)$/))throw new Error("Couldn't match unit in given string");return parseFloat(e)}function P(e){return t=>{t.lineStartsWith(e)?t.removeFromLineBeginning(e.length):t.insertAtLineBeginning(e)}}function O(e,t,n){return()=>{if(e.usePrimarySelection(),e.getSelection()){const n=e.getSelectedText();if(n.startsWith(t)&&n.endsWith(t)){const a=t.length,l=n.slice(a,n.length-a);e.replaceSelectedText(l)}else e.wrapSelection(t)}else e.insertAtCursor(t+n+t),e.selectBackwards(t.length,n.length)}}(/(iphone os|ipad|iphone|ipod)/i.test(A)&&!window.MSStream||/mac(68k|ppc|intel)/i.test(D))&&(R="Cmd");const U=P("> "),X=P(" ");function W(e){return{bold:O(e,"__","text in bold"),italic:O(e,"*","text in italic"),strike:O(e,"~~","striked out"),quote:j(e,U),code:j(e,X),link:function(t,n,a){e.usePrimarySelection(),e.replaceSelectedText(n?"["+n+"]("+t+(a?' "'+a+'"':"")+")":"<"+t+">","around")},h1:Z(e,1),h2:Z(e,2),h3:Z(e,3),ul:j(e,K,!0),ol:j(e,G,!0),undo:function(){e.cmd("undo")},redo:function(){e.cmd("redo")},hr:function(){e.moveIfNotEmpty();const t=e.getNl();e.insertAtCursor(t+"---"+t+t)},indent:function(){e.insertAtLineBeginning(e.getIndentation())},dedent:function(){const t=e.getIndentation();e.lineStartsWith(t)&&e.removeFromLineBeginning(t.length)},table:function(t){const n=e.getNl();e.moveIfNotEmpty(),e.insertAtCursor(n);const a=e.getCurrentLineNumber();e.insertAtCursor(function(e,t){const n=new Array(11),a=" "+n.join(" ")+" |",l=" "+n.join("-")+" |";let o="|",i="|";f(t,()=>{o+=a,i+=l});const r=g(e).map(()=>o.replace(/\| {5}/g,"| Cell"));return[o.replace(/\| {7}/g,"| Header"),i].concat(r)}(t.rows,t.cols).join(n)),e.insertAtCursor(n+n),e.restoreCursor(2,a)}}}function j(e,t,n){return()=>{e.usePrimarySelection();const a=e.getSelection();a?(function(n,a){const l=[n.anchor.line,n.head.line],o=p(l),i=h(l);g(i||0,void 0!==o?o+1:void 0).forEach((n,a)=>{((n,a)=>{e.moveToLineBeginning(n),t(e,a)})(n,a+1)})}(a),e.moveToLineEnd()):(!n||_(e)||e.lineStartsWith("- ")||function(e){const t=e.getCurrentLineNumber(),n=e.isLineEmpty(t);let a=n?2:4;t>0&&e.isLineEmpty(t-1)&&(a-=1),(!(t<e.getLinesCount()-1)||e.isLineEmpty(t+1))&&(a-=1),e.moveToLineEnd(),e.insertAtCursor(e.getNl(a)),e.restoreCursor(0,n?t:t+2)}(e),t(e))}}function _(e){const t=e.getCurrentLine().match(/^(\d+\. )/);return t?t[1]:null}function K(e){if(e.lineStartsWith("- "))e.removeFromLineBeginning(2);else{const t=_(e);t&&e.removeFromLineBeginning(t.length),e.insertAtLineBeginning("- ")}}function G(e,t){const n=_(e);n?e.removeFromLineBeginning(n.length):(e.lineStartsWith("- ")&&e.removeFromLineBeginning(2),e.insertAtLineBeginning((t||1)+". "))}function Z(e,t){return()=>{const n=e.getCurrentCharacter(),a=function(e){const t=e.getCurrentLine().match(/^( {0,3})(#{1,6}) /);if(!t)return null;const n=t[1],a=t[2];return e.select(l(0),l(a.length)),e.getSelection();function l(t){return{line:e.getCurrentLineNumber(),ch:n.length+t}}}(e),l=b("#",t);if(!a)return e.moveToLineBeginning(),e.insertAtCursor(l+" "),void e.restoreCursor(n+l.length+1);if(e.getSelectedText()===l){e.extendSelectionBy(1);const t=e.getSelectionLength();return e.removeSelectedText(),void e.restoreCursor(n-t)}const o=l.length-e.getSelectionLength();e.replaceSelectedText(l),e.restoreCursor(n+o)}}const Y={root:o.css`
|
|
136
136
|
border: 1px solid ${a.gray400};
|
|
137
137
|
border-width: 0 1px;
|
|
138
138
|
overflow-y: auto;
|
|
@@ -212,5 +212,5 @@
|
|
|
212
212
|
.CodeMirror-lines {
|
|
213
213
|
cursor: not-allowed;
|
|
214
214
|
}
|
|
215
|
-
`},Q=n.memo(e=>{const a=t.useRef(null),[l,i]=t.useState(null);t.useEffect(()=>{a.current&&i(function(e,t){const n=function(e,t){const{direction:n,fixedHeight:a,height:l,readOnly:o}=t||{};let i=!1;const r={min:l?$(l):300,max:500,shift:50},s=c(e,{direction:n,readOnly:o,mode:"markdown",lineNumbers:!1,undoDepth:200,matchBrackets:!0,lineWrapping:!0,lineSeparator:null,theme:"elegant",tabSize:2,indentWithTabs:!1,indentUnit:2,autoRefresh:!0,spellcheck:!0,inputStyle:"contenteditable"});return s.setSize("100%",r.min),a||s.on("change",d((function(){const e=s.heightAtLine(s.lastLine(),"local")+r.shift;let t=e;e<r.min&&(t=r.min),e>r.max&&(t=r.max),s.setSize("100%",t)}),150)),s.setOption("extraKeys",{Tab:function(){v(I())},Enter:"newlineAndIndentContinueMarkdownList",Esc:()=>{s.getInputField().blur()}}),{destroy:function(){s.toTextArea()},disable:function(){s.setOption("readOnly","nocursor")},enable:function(){s.setOption("readOnly",!1)},attachEvent:function(e,t,n){n&&(t=d(t,n)),s.on(e,t)},addKeyShortcuts:function(e){const t=V();s.addKeyMap(m(e,(e,n,a)=>{e[t+"-"+a]=n},{}))},setValue:function(e){if(e=e||"",N()===e)return;const t=y(),n=q();s.setValue(e),h(n,t,!0),i||(s.clearHistory(),i=!0)},cmd:u,moveToLineBeginning:p,moveIfNotEmpty:function(){if(S()<1)return;const e=y()+1;s.lastLine()<e&&(g(),E(z())),p(e)},restoreCursor:h,moveToLineEnd:g,usePrimarySelection:function(){u("singleSelection")},focus:function(){s.focus()},select:b,selectBackwards:function(e,t){function n(e){return{line:y(),ch:q()+e}}b(n(-e-t),n(-e))},selectAll:()=>s.execCommand("selectAll"),extendSelectionBy:function(e){function t(e,t){const n=C();return n?{line:n[e].line,ch:n[e].ch+t}:{line:0,ch:0}}b(t("anchor",0),t("head",e))},insertAtCursor:E,insertAtLineBeginning:function(e){const t=q();p(),E(e),h(t+e.length),s.focus()},wrapSelection:function(e){const t=e+w()+e,n=C();n&&(s.replaceRange(t,n.anchor,null==n?void 0:n.head),s.focus())},removeFromLineBeginning:function(e){const t=y();s.replaceRange("",{line:t,ch:0},{line:t,ch:e}),s.focus()},removeSelectedText:function(){s.replaceSelection(""),s.focus()},replaceSelectedText:v,getCursor:function(){return s.getCursor()},setCursor:function(e){s.setCursor(e)},getSelection:C,getLine:k,isLineEmpty:function(e){const t=f(e);return t>-1&&k(t).length<1&&t<s.lineCount()},getSelectedText:w,getSelectionLength:function(){return w().length},getCurrentLine:x,getCurrentLineNumber:y,getCurrentCharacter:q,getCurrentLineLength:S,lineStartsWith:function(e){return x().startsWith(e)},getIndentation:I,getNl:z,getValue:N,getLinesCount:function(){return s.lineCount()},getHistorySize:function(e){const t=s.historySize();return e?t[e]:t},setReadOnly:e=>s.setOption("readOnly",e),getHistory:()=>s.getHistory(),setHistory:e=>s.setHistory(e),setFullsize:()=>{s.setSize("100%","100%"),s.refresh()},refresh:()=>s.refresh()};function u(e){s.execCommand(e),s.focus()}function p(e){s.setCursor({line:f(e),ch:0}),s.focus()}function h(e,t,n){s.setCursor(f(t),e,{scroll:!n}),n||s.focus()}function g(e){s.setCursor({line:f(e),ch:S()}),s.focus()}function f(e){return 0===e||void 0!==e&&e>0?e:y()}function b(e,t){s.setSelection(e,t),s.focus()}function E(e){s.replaceRange(e,s.getCursor()),s.focus()}function v(e,t){s.replaceSelection(e,t),s.focus()}function C(){const e=s.listSelections();return!s.somethingSelected()||!e||e.length<1?null:e[0]}function k(e){return s.getLine(e)||""}function w(){return C()?s.getSelection():""}function x(){return k(y())}function y(){return s.getCursor().line}function q(){return s.getCursor().ch}function S(){return x().length}function I(){return T(" ",s.getOption("indentUnit")??0)}function z(e=1){return e<1?"":T("\n",e)}function N(){return s.getValue()||""}function T(e,t){return new Array(t+1).join(e)}}(e,t),a={actions:j(n),history:{hasUndo:function(){return n.getHistorySize("undo")>0},hasRedo:function(){return n.getHistorySize("redo")>0}},events:{onScroll:function(e){n.attachEvent("scroll",e,150)},onChange:function(e){n.attachEvent("change",function(e){return(t,a)=>{e(n.getValue(),t,a)}}(e),0)},onPaste:function(e){n.attachEvent("paste",e,0)}},insert:n.insertAtCursor,focus:n.focus,getContent:n.getValue,destroy:n.destroy,setContent:n.setValue,getSelectedText:n.getSelectedText,usePrimarySelection:n.usePrimarySelection,setReadOnly:n.setReadOnly,selectBackwards:n.selectBackwards,getCursor:n.getCursor,setCursor:n.setCursor,clear:()=>n.setValue(""),selectAll:n.selectAll,setFullsize:n.setFullsize,refresh:n.refresh};return n.addKeyShortcuts({B:a.actions.bold,I:a.actions.italic}),a}(a.current,Object.assign({},{direction:e.direction,readOnly:!0},"zen"===e.mode?{fixedHeight:!0,height:"100%"}:{},void 0!==e.minHeight?{height:e.minHeight}:{})))},[]),t.useEffect(()=>{l&&e.onReady(l)},[l]);const r=o.cx(Y.root,void 0!==e.minHeight?o.css({minHeight:e.minHeight}):void 0,"default"===e.mode?Y.framed:Y.zen,e.disabled&&Y.disabled);return n.createElement("div",{className:r,ref:a,"data-test-id":"markdown-textarea",style:{display:e.visible?"block":"none"}})});Q.displayName="MarkdownTextarea";const J=e=>{const t=t=>{e.onSelect(t)};return n.createElement(i.Menu,null,n.createElement(i.Menu.Trigger,null,e.children),n.createElement(i.Menu.List,null,n.createElement(i.Menu.Item,{testId:"markdown-action-button-heading-h1",onClick:()=>t("h1")},"Heading 1"),n.createElement(i.Menu.Item,{testId:"markdown-action-button-heading-h2",onClick:()=>t("h2")},"Heading 2"),n.createElement(i.Menu.Item,{testId:"markdown-action-button-heading-h3",onClick:()=>t("h3")},"Heading 3")))},ee=o.css({position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",border:"0"}),te=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M1411 541l-355 355 355 355 144-144q29-31 70-14 39 17 39 59v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39 14-69l144-144-355-355-355 355 144 144q31 30 14 69-17 40-59 40H192q-26 0-45-19t-19-45v-448q0-42 40-59 39-17 69 14l144 144 355-355-355-355-144 144q-19 19-45 19-12 0-24-5-40-17-40-59V192q0-26 19-45t45-19h448q42 0 59 40 17 39-14 69L541 381l355 355 355-355-144-144q-31-30-14-69 17-40 59-40h448q26 0 45 19t19 45v448q0 42-39 59-13 5-25 5-26 0-45-19z"}),n.createElement("span",{className:ee},e)),ne=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M1760 896q14 0 23 9t9 23v64q0 14-9 23t-23 9H32q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h1728zM483 832q-28-35-51-80-48-98-48-188 0-181 134-309 133-127 393-127 50 0 167 19 66 12 177 48 10 38 21 118 14 123 14 183 0 18-5 45l-12 3-84-6-14-2q-50-149-103-205-88-91-210-91-114 0-182 59-67 58-67 146 0 73 66 140t279 129q69 20 173 66 58 28 95 52H483zm507 256h411q7 39 7 92 0 111-41 212-23 56-71 104-37 35-109 81-80 48-153 66-80 21-203 21-114 0-195-23l-140-40q-57-16-72-28-8-8-8-22v-13q0-108-2-156-1-30 0-68l2-37v-44l102-2q15 34 30 71t22.5 56 12.5 27q35 57 80 94 43 36 105 57 59 22 132 22 64 0 139-27 77-26 122-86 47-61 47-129 0-84-81-157-34-29-137-71z"}),n.createElement("span",{className:ee},e)),ae=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M352 832q0 14-9 23L55 1143q-9 9-23 9-13 0-22.5-9.5T0 1120V544q0-13 9.5-22.5T32 512q14 0 23 9l288 288q9 9 9 23zm1440 480v192q0 13-9.5 22.5t-22.5 9.5H32q-13 0-22.5-9.5T0 1504v-192q0-13 9.5-22.5T32 1280h1728q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5H672q-13 0-22.5-9.5T640 1120V928q0-13 9.5-22.5T672 896h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5T1760 768H672q-13 0-22.5-9.5T640 736V544q0-13 9.5-22.5T672 512h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5T1760 384H32q-13 0-22.5-9.5T0 352V160q0-13 9.5-22.5T32 128h1728q13 0 22.5 9.5t9.5 22.5z"}),n.createElement("span",{className:ee},e)),le=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M384 544v576q0 13-9.5 22.5T352 1152q-14 0-23-9L41 855q-9-9-9-23t9-23l288-288q9-9 23-9 13 0 22.5 9.5T384 544zm1408 768v192q0 13-9.5 22.5t-22.5 9.5H32q-13 0-22.5-9.5T0 1504v-192q0-13 9.5-22.5T32 1280h1728q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5H672q-13 0-22.5-9.5T640 1120V928q0-13 9.5-22.5T672 896h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5T1760 768H672q-13 0-22.5-9.5T640 736V544q0-13 9.5-22.5T672 512h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5T1760 384H32q-13 0-22.5-9.5T0 352V160q0-13 9.5-22.5T32 128h1728q13 0 22.5 9.5t9.5 22.5z"}),n.createElement("span",{className:ee},e)),oe=({label:e,...t})=>n.createElement("svg",{width:18,height:14,viewBox:"0 0 2304 1792",...t},n.createElement("path",{d:"M640 1632l384-192v-314l-384 164v342zm-64-454l404-173-404-173-404 173zm1088 454l384-192v-314l-384 164v342zm-64-454l404-173-404-173-404 173zm-448-293l384-165V454l-384 164v267zm-64-379l441-189-441-189-441 189zm1088 518v416q0 36-19 67t-52 47l-448 224q-25 14-57 14t-57-14l-448-224q-4-2-7-4-2 2-7 4l-448 224q-25 14-57 14t-57-14L71 1554q-33-16-52-47t-19-67v-416q0-38 21.5-70T78 906l434-186V320q0-38 21.5-70t56.5-48l448-192q23-10 50-10t50 10l448 192q35 16 56.5 48t21.5 70v400l434 186q36 16 57 48t21 70z"}),n.createElement("span",{className:ee},e)),ie=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M576 1376v-192q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384V800q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zM576 608V416q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384V800q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768V416q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384V800q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384V416q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm128-320v1088q0 66-47 113t-113 47H224q-66 0-113-47t-47-113V288q0-66 47-113t113-47h1344q66 0 113 47t47 113z"}),n.createElement("span",{className:ee},e)),re=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M1360 1307l35 159q3 12-3 22.5t-17 14.5l-5 1q-4 2-10.5 3.5t-16 4.5-21.5 5.5-25.5 5-30 5-33.5 4.5-36.5 3-38.5 1q-234 0-409-130.5T511 1054h-95q-13 0-22.5-9.5T384 1022V909q0-13 9.5-22.5T416 877h66q-2-57 1-105h-67q-14 0-23-9t-9-23V626q0-14 9-23t23-9h98q67-210 243.5-338T1158 128q102 0 194 23 11 3 20 15 6 11 3 24l-43 159q-3 13-14 19.5t-24 2.5l-4-1q-4-1-11.5-2.5L1261 364l-22.5-3.5-26-3-29-2.5-29.5-1q-126 0-226 64T778 594h468q16 0 25 12 10 12 7 26l-24 114q-5 26-32 26H734q-3 37 0 105h459q15 0 25 12 9 12 6 27l-24 112q-2 11-11 18.5t-20 7.5H782q48 117 149.5 185.5T1160 1308q18 0 36-1.5t33.5-3.5 29.5-4.5 24.5-5 18.5-4.5l12-3 5-2q13-5 26 2 12 7 15 21z"}),n.createElement("span",{className:ee},e)),se=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M1792 1248v320q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h96V960H960v192h96q40 0 68 28t28 68v320q0 40-28 68t-68 28H736q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h96V960H320v192h96q40 0 68 28t28 68v320q0 40-28 68t-68 28H96q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h96V960q0-52 38-90t90-38h512V640h-96q-40 0-68-28t-28-68V224q0-40 28-68t68-28h320q40 0 68 28t28 68v320q0 40-28 68t-68 28h-96v192h512q52 0 90 38t38 90v192h96q40 0 68 28t28 68z"}),n.createElement("span",{className:ee},e)),ce=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M1664 896q0 156-61 298t-164 245-245 164-298 61q-172 0-327-72.5T305 1387q-7-10-6.5-22.5t8.5-20.5l137-138q10-9 25-9 16 2 23 12 73 95 179 147t225 52q104 0 198.5-40.5T1258 1258t109.5-163.5T1408 896t-40.5-198.5T1258 534t-163.5-109.5T896 384q-98 0-188 35.5T548 521l137 138q31 30 14 69-17 40-59 40H192q-26 0-45-19t-19-45V256q0-42 40-59 39-17 69 14l130 129q107-101 244.5-156.5T896 128q156 0 298 61t245 164 164 245 61 298z"}),n.createElement("span",{className:ee},e)),de=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M1664 256v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39 14-69l138-138q-148-137-349-137-104 0-198.5 40.5T534 534 424.5 697.5 384 896t40.5 198.5T534 1258t163.5 109.5T896 1408q119 0 225-52t179-147q7-10 23-12 15 0 25 9l137 138q9 8 9.5 20.5t-7.5 22.5q-109 132-264 204.5T896 1664q-156 0-298-61t-245-164-164-245-61-298 61-298 164-245 245-164 298-61q147 0 284.5 55.5T1425 340l130-129q29-31 70-14 39 17 39 59z"}),n.createElement("span",{className:ee},e)),me=e=>e.canAddNew?n.createElement(ue,{...e}):n.createElement(i.Button,{isDisabled:e.disabled,startIcon:n.createElement(E.AssetIcon,null),testId:"markdownEditor.linkExistingAssets",size:"small",variant:"secondary",onClick:()=>{e.onSelectExisting()}},"Insert media"),ue=e=>n.createElement(i.Menu,{placement:"bottom-end"},n.createElement(i.Menu.Trigger,null,n.createElement(i.Button,{endIcon:n.createElement(E.ChevronDownIcon,null),isDisabled:e.disabled,startIcon:n.createElement(E.AssetIcon,null),testId:"markdownEditor.insertMediaDropdownTrigger",size:"small",variant:"secondary"},"Insert media")),n.createElement(i.Menu.List,null,n.createElement(i.Menu.Item,{testId:"markdownEditor.uploadAssetsAndLink",onClick:()=>e.onAddNew()},"Add new media and link"),n.createElement(i.Menu.Item,{testId:"markdownEditor.linkExistingAssets",onClick:()=>e.onSelectExisting()},"Link existing media"))),pe={root:o.css({position:"relative",zIndex:Number(a.zIndexWorkbenchHeader),border:"1px solid "+a.gray400,backgroundColor:a.gray100,padding:a.spacingXs,borderTopLeftRadius:a.borderRadiusSmall}),button:o.css({height:"30px",width:"36px",marginLeft:a.spacing2Xs,marginRight:a.spacing2Xs}),icon:o.css({fill:a.gray700,verticalAlign:"middle"}),zenButton:o.css({marginLeft:a.spacingXs}),zenButtonPressed:o.css({backgroundColor:a.gray400}),tooltip:o.css({zIndex:Number(a.zIndexTooltip)})},he=n.forwardRef((e,t)=>{const{tooltip:a,onClick:l,children:r,className:s,variant:c="transparent",tooltipPlace:d="top",isDisabled:m=!1,...u}=e;return n.createElement(i.Tooltip,{className:pe.tooltip,placement:d,content:a},n.createElement(i.IconButton,{...u,ref:t,className:o.cx(pe.button,s),isDisabled:m,onClick:l,variant:c,size:"small",icon:r,"aria-label":a}))});function ge(e){const t="zen"===e.mode?"bottom":"top";return n.createElement(n.Fragment,null,n.createElement(J,{onSelect:t=>{t&&e.actions.headings[t]&&e.actions.headings[t]()}},n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-heading",tooltip:"Headings",tooltipPlace:t},n.createElement(E.HeadingIcon,{"aria-label":"Headings",className:pe.icon}))),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-bold",tooltip:"Bold",tooltipPlace:t,onClick:e.actions.simple.bold},n.createElement(E.FormatBoldIcon,{"aria-label":"Bold",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-italic",tooltip:"Italic",tooltipPlace:t,onClick:e.actions.simple.italic},n.createElement(E.FormatItalicIcon,{"aria-label":"Italic",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-quote",tooltip:"Quote",tooltipPlace:t,onClick:e.actions.simple.quote},n.createElement(E.QuoteIcon,{"aria-label":"Quote",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-ul",tooltip:"Unordered list",tooltipPlace:t,onClick:e.actions.simple.ul},n.createElement(E.ListBulletedIcon,{"aria-label":"Unordered list",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-ol",tooltip:"Ordered list",tooltipPlace:t,onClick:e.actions.simple.ol},n.createElement(E.ListNumberedIcon,{"aria-label":"Ordered list",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-link",tooltip:"Link",tooltipPlace:t,onClick:e.actions.insertLink},n.createElement(E.LinkIcon,{"aria-label":"Link",className:pe.icon})))}function fe(e){const t="zen"===e.mode?"bottom":"top";return n.createElement(n.Fragment,null,n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-strike",tooltip:"Strike out",tooltipPlace:t,onClick:e.actions.simple.strike},n.createElement(ne,{label:"Strike out",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-code",tooltip:"Code block",tooltipPlace:t,onClick:e.actions.simple.code},n.createElement(E.CodeIcon,{"aria-label":"Code block",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-hr",tooltip:"Horizontal rule",tooltipPlace:t,onClick:e.actions.simple.hr},n.createElement(E.HorizontalRuleIcon,{"aria-label":"Horizontal rule",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-indent",tooltip:"Increase indentation",tooltipPlace:t,onClick:e.actions.simple.indent},n.createElement(ae,{label:"Increase indentation",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-dedent",tooltip:"Decrease indentation",tooltipPlace:t,onClick:e.actions.simple.dedent},n.createElement(le,{label:"Decrease indentation",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-embed",tooltip:"Embed external content",tooltipPlace:t,onClick:e.actions.embedExternalContent},n.createElement(oe,{label:"Embed external content",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-table",tooltip:"Insert table",tooltipPlace:t,onClick:e.actions.insertTable},n.createElement(ie,{label:"Insert table",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-special",tooltip:"Insert special character",tooltipPlace:t,onClick:e.actions.insertSpecialCharacter},n.createElement(re,{label:"Insert special character",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-organizeLinks",tooltip:"Organize links",tooltipPlace:t,onClick:e.actions.organizeLinks},n.createElement(se,{label:"Organize links",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-undo",tooltip:"Undo",tooltipPlace:t,onClick:e.actions.history.undo},n.createElement(ce,{label:"Undo",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-redo",tooltip:"Redo",tooltipPlace:t,onClick:e.actions.history.redo},n.createElement(de,{label:"Redo",className:pe.icon})))}function be(e){const[t,a]=n.useState(!1);return n.createElement("div",{className:pe.root},n.createElement(i.Flex,{justifyContent:"space-between"},n.createElement(i.Flex,null,n.createElement(ge,{...e}),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-toggle-additional",tooltip:t?"Hide additional actions":"More actions",onClick:()=>{a(!t)}},n.createElement(E.MoreHorizontalIcon,{className:pe.icon}))),n.createElement(i.Flex,null,n.createElement(me,{disabled:e.disabled,onSelectExisting:e.actions.linkExistingMedia,onAddNew:e.actions.addNewMedia,canAddNew:e.canUploadAssets}),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-zen",variant:"secondary",onClick:e.actions.openZenMode,className:pe.zenButton,tooltip:"Expand"},n.createElement(te,{label:"Expand",className:pe.icon})))),t&&n.createElement(i.Flex,{justifyContent:"space-between",marginTop:"spacingXs"},n.createElement(i.Flex,null,n.createElement(fe,{...e}))))}function Ee(e){return n.createElement("div",{className:pe.root},n.createElement(i.Flex,{justifyContent:"space-between"},n.createElement(i.Flex,null,n.createElement(ge,{...e}),n.createElement(fe,{...e})),n.createElement(i.Flex,null,n.createElement(me,{disabled:e.disabled,onSelectExisting:e.actions.linkExistingMedia,onAddNew:e.actions.addNewMedia,canAddNew:e.canUploadAssets}),n.createElement(i.IconButton,{testId:"markdown-action-button-zen-close",variant:"secondary",size:"small",className:o.cx(pe.zenButton,pe.zenButtonPressed),onClick:()=>{e.actions.closeZenMode()},icon:n.createElement(te,{label:"Collapse",className:pe.icon}),"aria-label":"Collapse"}))))}he.displayName="ToolbarButton";const ve=n.memo(e=>n.createElement("zen"===e.mode?Ee:be,{...e}));var Ce;ve.displayName="MarkdownToolbar",function(e){e.cheatsheet="markdown-cheatsheet",e.insertLink="markdown-insertLink",e.insertSpecialCharacter="markdown-insertSpecialCharacter",e.insertTable="markdown-insertTable",e.embedExternalContent="markdown-embedExternalContent",e.confirmInsertAsset="markdown-confirmInsertAsset",e.zenMode="markdown-zenMode"}(Ce||(Ce={}));const ke={flexColumnContainer:o.css({display:"flex",flexWrap:"nowrap"}),flexColumn:o.css({flexGrow:1}),verticalDivider:o.css({borderRight:"1px solid "+a.gray500,paddingRight:a.spacing3Xl,marginRight:a.spacing2Xl}),preview:o.css({display:"inline-block",paddingRight:a.spacingL,width:"50%"}),unOrderedListPreview:o.css({listStyleType:"disc",marginLeft:a.spacingS}),orderedListPreview:o.css({listStyleType:"decimal",marginLeft:a.spacingS}),markup:o.css({display:"inline-block",color:a.gray600,paddingLeft:a.spacingL,width:"50%"}),h1:o.css({fontSize:a.fontSize2Xl}),h2:o.css({fontSize:a.fontSizeXl}),h3:o.css({fontSize:a.fontSizeL}),helpItem:o.css({marginBottom:a.spacingS,display:"flex",alignItems:"flex-end",height:a.spacingXl}),helpLink:o.css({margin:"auto"}),flexRowContainer:o.css({display:"flex",width:"100%",justifyContent:"center",marginTop:a.spacingXl})},we=()=>n.createElement(i.ModalContent,{testId:"markdown-cheatsheet-dialog-content"},n.createElement("div",{className:ke.flexColumnContainer},n.createElement("div",{className:o.cx(ke.flexColumn,ke.verticalDivider)},n.createElement("div",{className:ke.helpItem},n.createElement(i.Heading,{marginBottom:"none",as:"h1",className:o.cx(ke.preview,ke.h1)},"H1"),n.createElement("div",{className:ke.markup},"# heading")),n.createElement("div",{className:ke.helpItem},n.createElement(i.Heading,{marginBottom:"none",as:"h2",className:o.cx(ke.preview,ke.h2)},"H2"),n.createElement("div",{className:ke.markup},"## heading")),n.createElement("div",{className:ke.helpItem},n.createElement(i.Heading,{marginBottom:"none",as:"h3",className:o.cx(ke.preview,ke.h3)},"H3"),n.createElement("div",{className:ke.markup},"### heading")),n.createElement("div",{className:ke.helpItem},n.createElement("strong",{className:ke.preview},"bold"),n.createElement("div",{className:ke.markup},"__text__")),n.createElement("div",{className:ke.helpItem},n.createElement("em",{className:ke.preview},"italic"),n.createElement("div",{className:ke.markup},"*text*")),n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},"strikethrough"),n.createElement("div",{className:ke.markup},"~~text~~")),n.createElement("div",{className:ke.helpItem},n.createElement(i.TextLink,{as:"button",className:ke.preview},"Link"),n.createElement("div",{className:ke.markup},"[text](url)"))),n.createElement("div",{className:ke.flexColumn},n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},"Image"),n.createElement("div",{className:ke.markup},"")),n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},"Unordered list"),n.createElement("div",{className:ke.markup},"* list item")),n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},n.createElement("div",null,"Ordered list")),n.createElement("div",{className:ke.markup},"1. list item")),n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},n.createElement("div",null,"Blockquote")),n.createElement("div",{className:ke.markup},"> quote")),n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},"code span"),n.createElement("div",{className:ke.markup},"`code here`")),n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},"code block"),n.createElement("div",{className:ke.markup},"```code here```")))),n.createElement("div",{className:ke.flexRowContainer},n.createElement(i.TextLink,{className:ke.helpLink,href:"https://help.github.com/en/github/writing-on-github/basic-writing-and-formatting-syntax",target:"_blank",rel:"noopener noreferrer"},"View the full GitHub-flavored Markdown syntax help (opens in a new window)"))),xe=e=>e.openCurrent({title:"Markdown formatting help",width:"large",minHeight:"415px",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,parameters:{type:Ce.cheatsheet}}),ye=({onClose:e,assets:t,locale:a})=>{const l=t.length;return n.createElement(n.Fragment,null,n.createElement(i.ModalContent,{testId:"confirm-insert-asset"},n.createElement(i.Paragraph,null,1===l?"Link asset with missing file for locale "+a:"Link assets with missing files for locale "+a),n.createElement(i.Paragraph,null,1===l?"Do you want to link to the file in its fallback locale?":"Do you want to link to the files in their fallback locales?"),n.createElement(i.EntityList,null,t.map(({title:e,description:t,thumbnailUrl:a,thumbnailAltText:l})=>n.createElement(i.EntityList.Item,{key:a,title:e,thumbnailUrl:a+"?w=46&h=46&fit=thumb",thumbnailAltText:l,description:t})))),n.createElement(i.ModalControls,null,n.createElement(i.Button,{onClick:()=>e(!1),variant:"secondary",size:"small"},"Cancel"),n.createElement(i.Button,{testId:"confirm-insert-asset",onClick:()=>e(!0),variant:"positive",size:"small"},"Confirm")))},qe=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-/]))?$/;function Se(e){return qe.test(e)}const Ie={widthFiledGroup:o.css({display:"flex",flexWrap:"nowrap",alignItems:"flex-start"}),radioButtonGroup:o.css({display:"inline-flex",alignItems:"flex-start",paddingTop:a.spacingXl}),radioButton:o.css({marginLeft:a.spacingM})},ze=(e,t)=>"percent"!==t||e<=100,Ne=({onClose:e})=>{const a=t.useRef(null),[l,o]=t.useState("https://"),[r,s]=t.useState("percent"),[c,d]=t.useState(!0),[m,u]=t.useState("100"),[p,h]=t.useState(!1);return t.useEffect(()=>{var e;null!=(e=a.current)&&e.focus&&a.current.focus()},[a]),n.createElement(n.Fragment,null,n.createElement(i.ModalContent,{testId:"embed-external-dialog"},n.createElement(i.Form,null,n.createElement(i.FormControl,{id:"external-link-url-field",isRequired:!0,isInvalid:!c},n.createElement(i.FormControl.Label,null,"Content URL"),n.createElement(i.TextInput,{name:"external-link-url",value:l,onChange:e=>{const t=e.target.value;o(t),d(Se(t))},testId:"external-link-url-field",placeholder:"https://example.com",ref:a}),n.createElement(i.FormControl.HelpText,null,"Include protocol (e.g. https://)"),!c&&n.createElement(i.FormControl.ValidationMessage,null,"URL is invalid")),n.createElement(i.TextLink,{href:"http://embed.ly/providers",target:"_blank",rel:"noopener noreferrer"},"Supported sources"),n.createElement("div",{className:Ie.widthFiledGroup},n.createElement(i.FormControl,{id:"embedded-content-width",isRequired:!0,isInvalid:!ze(Number(m),r)},n.createElement(i.FormControl.Label,null,"Width"),n.createElement(i.TextInput,{value:m,name:"embedded-content-width",testId:"embedded-content-width",type:"number",width:"small",onChange:e=>u(e.target.value)}),!ze(Number(m),r)&&n.createElement(i.FormControl.ValidationMessage,null,"Should be equal or less then 100")),n.createElement("div",{className:Ie.radioButtonGroup},n.createElement(i.Radio,{id:"unit-option-percent",value:"percent",isChecked:"percent"===r,onChange:()=>s("percent"),className:Ie.radioButton},"percent"),n.createElement(i.Radio,{id:"unit-option-pixels",value:"pixels",isChecked:"px"===r,onChange:()=>s("px"),className:Ie.radioButton},"pixels"))),n.createElement(i.Checkbox,{id:"attach-social-checkbox",name:"attach-social-checkbox",value:"Yes",isChecked:p,onChange:()=>h(!p),testId:"attach-social-checkbox"},"Attach social sharing links to this element"),n.createElement(i.Text,{as:"p",fontColor:"gray500",marginTop:"spacingXs"},"To enable this embedded content in your application make sure to add the ",n.createElement(i.TextLink,{href:"http://embed.ly/docs/products/cards",target:"_blank",rel:"noopener noreferrer"},"Embedly's platform.js")," on your development environment"))),n.createElement(i.ModalControls,null,n.createElement(i.Button,{testId:"emded-external-cancel",onClick:()=>e(!1),variant:"secondary",size:"small"},"Cancel"),n.createElement(i.Button,{testId:"embed-external-confirm",onClick:()=>e((({url:e,width:t,selectedUnit:n,attachSocial:a})=>['<a href="'+e+'" class="embedly-card" ','data-card-width="'+t+{percent:"%",px:"px"}[n]+'" ','data-card-controls="'+(a?"1":"0")+'"',">Embedded content: "+e+"</a>"].join(""))({url:l,width:Number(m),selectedUnit:r,attachSocial:p})),variant:"positive",size:"small"},"Insert")))},Te=({selectedText:e,onClose:a})=>{const l=t.useRef(null),[o,r]=t.useState(e||""),[s,c]=t.useState(""),[d,m]=t.useState(!1),[u,p]=t.useState(""),h=e=>a(e),g=Se(s);return t.useEffect(()=>{var e;null!=l&&null!=(e=l.current)&&e.focus&&l.current.focus()},[l]),n.createElement(n.Fragment,null,n.createElement(i.ModalContent,{testId:"insert-link-modal"},n.createElement(i.Form,{onSubmit:()=>h({url:s,text:o,title:u})},n.createElement(i.FormControl,{id:"link-text-field",isDisabled:Boolean(e)},n.createElement(i.FormControl.Label,null,"Link text"),n.createElement(i.TextInput,{name:"link-text",value:o,onChange:e=>{r(e.target.value)},testId:"link-text-field"})),n.createElement(i.FormControl,{id:"target-url-field",isInvalid:d&&!g},n.createElement(i.FormControl.Label,null,"Target URL"),n.createElement(i.TextInput,{name:"target-url",value:s,onChange:e=>{c(e.target.value),m(!0)},placeholder:"https://",maxLength:2100,testId:"target-url-field",ref:l}),n.createElement(i.FormControl.HelpText,null,"Include protocol (e.g. https://)"),d&&!g&&n.createElement(i.FormControl.ValidationMessage,null,"Invalid URL")),n.createElement(i.FormControl,{id:"link-title-field"},n.createElement(i.FormControl.Label,null,"Link title"),n.createElement(i.TextInput,{name:"link-title",value:u,onChange:e=>{p(e.target.value)},testId:"link-title-field"}),n.createElement(i.FormControl.HelpText,null,"Extra link information, usually shown as a tooltip on mouse hover")))),n.createElement(i.ModalControls,null,n.createElement(i.Button,{testId:"insert-link-cancel",onClick:()=>a(!1),variant:"secondary",size:"small"},"Cancel"),n.createElement(i.Button,{testId:"insert-link-confirm",onClick:()=>{h({url:s,text:o,title:u})},isDisabled:!g,variant:"positive",size:"small"},"Insert")))},Le=({onClose:e})=>{const a=t.useRef(null),[l,o]=t.useState(2),[r,s]=t.useState(1),c=v(l,2,100),d=v(r,1,100);return t.useEffect(()=>{var e;null!=(e=a.current)&&e.focus&&a.current.focus()},[a]),n.createElement(n.Fragment,null,n.createElement(i.ModalContent,{testId:"insert-table-modal"},n.createElement(i.Form,null,n.createElement(i.FormControl,{id:"insert-table-rows-number-field",isRequired:!0,isInvalid:!c},n.createElement(i.FormControl.Label,null,"Number of rows"),n.createElement(i.TextInput,{name:"rows",value:l.toString(),onChange:e=>o(Number(e.target.value)),testId:"insert-table-rows-number-field",min:2,max:100,pattern:"[1-9][0-9]*",type:"number",width:"small",autoComplete:"off",ref:a}),!c&&n.createElement(i.FormControl.ValidationMessage,null,"Should be between 2 and 100")),n.createElement(i.FormControl,{id:"insert-table-columns-number-field",isRequired:!0,isInvalid:!d},n.createElement(i.FormControl.Label,null,"Number of columns"),n.createElement(i.TextInput,{name:"columns",value:r.toString(),onChange:e=>s(Number(e.target.value)),testId:"insert-table-columns-number-field",min:1,max:100,pattern:"[1-9][0-9]*",type:"number",width:"small",autoComplete:"off"}),!d&&n.createElement(i.FormControl.ValidationMessage,null,"Should be between 1 and 100")))),n.createElement(i.ModalControls,null,n.createElement(i.Button,{testId:"insert-table-cancel",onClick:()=>e(!1),variant:"secondary",size:"small"},"Cancel"),n.createElement(i.Button,{testId:"insert-table-confirm",onClick:()=>e({rows:l,cols:r}),variant:"positive",size:"small",isDisabled:!c||!d},"Insert")))},Me=[{code:180,desc:"acute accent"},{code:38,desc:"ampersand"},{code:166,desc:"broken vertical bar"},{code:8226,desc:"bullet"},{code:184,desc:"cedilla"},{code:162,desc:"cent"},{code:169,desc:"copyright"},{code:176,desc:"degree"},{code:247,desc:"division"},{code:189,desc:"fraction half"},{code:188,desc:"fraction quarter"},{code:190,desc:"fraction three quarters"},{code:62,desc:"greater than"},{code:161,desc:"inverted exclamation mark"},{code:191,desc:"inverted question mark"},{code:171,desc:"left-pointing double angle quotation mark"},{code:60,desc:"less than"},{code:175,desc:"macron"},{code:181,desc:"micro"},{code:160,desc:"non-breaking space"},{code:172,desc:"not"},{code:182,desc:"paragraph"},{code:177,desc:"plus-minus"},{code:34,desc:"quotation mark"},{code:174,desc:"registered"},{code:187,desc:"right-pointing double angle quotation mark"},{code:167,desc:"section"},{code:168,desc:"umlaut/diaeresis"},{code:215,desc:"multiplication"},{code:8482,desc:"trade mark"},{code:8364,desc:"euro"},{code:163,desc:"pound"},{code:165,desc:"yen"},{code:8222,desc:"double low-9 quotation mark"},{code:710,desc:"modifier circumflex accent"},{code:8224,desc:"dagger"},{code:8225,desc:"double dagger"},{code:8230,desc:"horizontal ellipsis"},{code:8220,desc:"left double quotation mark"},{code:8249,desc:"single left-pointing angle quotation mark"},{code:8216,desc:"left single quotation mark"},{code:183,desc:"middle dot"},{code:8212,desc:"em dash"},{code:8211,desc:"en dash"},{code:8240,desc:"per mille"},{code:8250,desc:"single right-pointing angle quotation mark"},{code:8217,desc:"right single quotation mark"},{code:8218,desc:"single low-9 quotation mark"},{code:170,desc:"feminine ordinal indicator"},{code:186,desc:"masculine ordinal indicator"},{code:8221,desc:"right double quotation mark"},{code:732,desc:"small tilde"},{code:9829,desc:"black heart"},{code:9830,desc:"diamond"}],He={buttonPanel:o.css({display:"flex",flexWrap:"wrap"}),charButton:o.css({border:"1px solid "+a.gray500,width:"4.1rem",height:"4.1rem",fontSize:a.fontSizeXl,marginTop:a.spacing2Xs,marginRight:a.spacing2Xs}),selectedCharButton:o.css({backgroundColor:a.gray100}),tooltip:o.css({zIndex:1e3}),button:o.css({marginTop:a.spacingM,marginRight:a.spacingS})},Be=({onClose:e})=>{const[a,l]=t.useState(Me[0]);return n.createElement(n.Fragment,null,n.createElement(i.ModalContent,{testId:"insert-special-character-modal"},n.createElement(i.Flex,{flexDirection:"column",alignItems:"center"},n.createElement(i.Text,{as:"div",lineHeight:"lineHeight3Xl",fontSize:"fontSize3Xl",marginBottom:"spacingS"},String.fromCharCode(a.code)),n.createElement(i.Text,{as:"div",marginBottom:"spacingS"},a.desc)),n.createElement("div",{className:He.buttonPanel},Me.map(e=>n.createElement("div",{key:e.code},n.createElement(i.Tooltip,{className:He.tooltip,content:e.desc},n.createElement(i.Button,{testId:"special-character-button",isActive:e.code===a.code,className:He.charButton,variant:"transparent",onClick:()=>l(e)},String.fromCharCode(e.code))))))),n.createElement(i.ModalControls,null,n.createElement(i.Button,{testId:"insert-character-cancel",className:He.button,onClick:()=>e(!1),variant:"secondary",size:"small"},"Cancel"),n.createElement(i.Button,{className:He.button,testId:"insert-character-confirm",onClick:()=>e(String.fromCharCode(a.code)),variant:"positive",size:"small"},"Insert selected")))},Fe={root:o.css({position:"fixed",left:0,right:0,top:0,bottom:0}),topSplit:o.css({position:"fixed",top:0,height:"48px",left:0,right:0}),bottomSplit:o.css({position:"fixed",bottom:0,left:0,right:0,height:"36px"}),editorSplit:o.css({width:"50%",position:"fixed",top:"48px",left:0,bottom:"36px",overflowX:"hidden",overflowY:"scroll"}),editorSplitFullscreen:o.css({left:0,right:0,width:"100%"}),previewSplit:o.css({width:"50%",position:"fixed",top:"48px",right:0,bottom:"36px",overflowX:"hidden",overflowY:"scroll"}),separator:o.css({position:"fixed",top:"48px",bottom:"36px",width:"1px",background:a.gray400,left:"50%"}),button:o.css({position:"fixed",cursor:"pointer",zIndex:105,top:"49%",height:"30px",backgroundColor:a.gray100,border:"1px solid "+a.gray400,padding:0}),hideButton:o.css({left:"50%"}),showButton:o.css({right:0,borderRightWidth:0}),icon:o.css({verticalAlign:"middle"})},Ae=e=>{const[t,a]=n.useState(e.initialValue??""),[l,i]=n.useState(!0),[r,s]=n.useState(null);n.useEffect(()=>{var t,n;null==(t=e.sdk)||null==(n=t.window)||n.updateHeight("100%")},[]),n.useEffect(()=>{setTimeout(()=>{null==r||r.setFullsize(),null==r||r.refresh()},150)},[r]);const c=n.useMemo(()=>Ge({sdk:e.sdk,editor:r,locale:e.locale}),[r]);c.closeZenMode=()=>{e.onClose({value:t,cursor:null==r?void 0:r.getCursor()})};const d=e.sdk.locales.direction[e.locale]??"ltr";return n.createElement("div",{className:Fe.root,"data-test-id":"zen-mode-markdown-editor"},n.createElement("div",{className:Fe.topSplit},n.createElement(ve,{mode:"zen",disabled:!1,canUploadAssets:!1,actions:c})),n.createElement("div",{className:o.cx(Fe.editorSplit,{[Fe.editorSplitFullscreen]:!1===l})},n.createElement(Q,{mode:"zen",visible:!0,disabled:!1,direction:d,onReady:t=>{t.setContent(e.initialValue??""),t.setReadOnly(!1),s(t),t.focus(),t.events.onChange(t=>{a(t),e.saveValueToSDK(t)})}})),l&&n.createElement("div",{className:Fe.previewSplit},n.createElement(M,{direction:d,mode:"zen",value:t,previewComponents:e.previewComponents})),l&&n.createElement("div",{className:Fe.separator}),l&&n.createElement("button",{className:o.cx(Fe.button,Fe.hideButton),"aria-label":"Hide preview",onClick:()=>{i(!1)}},n.createElement(E.ChevronRightIcon,{variant:"muted",size:"tiny",className:Fe.icon})),!l&&n.createElement("button",{className:o.cx(Fe.button,Fe.showButton),"aria-label":"Show preview",onClick:()=>{i(!0)}},n.createElement(E.ChevronLeftIcon,{variant:"muted",size:"tiny",className:Fe.icon})),n.createElement("div",{className:Fe.bottomSplit},n.createElement(I,null,n.createElement(S,{onClick:()=>{xe(e.sdk.dialogs)}}))))};function De(e){return(e=(e=e||"").replace(/^ *('|"|\()*/,"")).replace(/('|"|\))* *$/,"")}function Re(e){return e.split(" ").shift()}function Ve(e){const t=e.split(" ");return t.shift(),t.join(" ")}const $e={inline:function(e){return{match:e[0],text:e[1],href:Re(e[2]),title:De(Ve(e[2]))}},ref:function(e){return{match:e[0],text:e[1],id:e[2]}},label:function(e){return{match:e[0],id:e[1],href:Re(e[2]),title:De(Ve(e[2]))}}},Pe={inline:/\[([^\r\n[\]]+)]\(([^\r\n)]+)\)/,ref:/\[([^\r\n[\]]+)] ?\[([^\r\n[\]]+)]/,label:/^ {0,3}\[([^\r\n[\]]+)]:\s+(.+)$/},Oe=je("inline"),Ue=je("ref"),Xe=je("label");function je(e){return t=>function(e,t){const n=[],a=new RegExp(Pe[t].source,"g"+("label"===t?"m":""));let l=a.exec(e);for(;l;)n.push(l),a.lastIndex=l.index+l[0].length,l=a.exec(e);return n}(t,e).map($e[e])}function We(e){return C(e)&&w(e.title)&&e.title.length>0}function _e(e,t){let n="["+t+"]: "+e.href;return We(e)&&(n+=' "'+e.title+'"'),n}function Ke(e,t){return"["+e.text+"]["+t+"]"}function Ge(e){const{sdk:t,editor:n,locale:a}=e,l=async e=>{if(e){const{links:o,fallbacks:i}=await async function(e,t){const n=e.filter(e=>!u(e,["fields","file",t.localeCode])),a=e.map(e=>function(e,{localeCode:t,fallbackCode:n,defaultLocaleCode:a}){const l=u(e,["fields","file",t]),o=n?u(e,["fields","file",n]):null,i=u(e,["fields","file",a]),r=l||o||i;if(C(r)&&r.url){const i=u(e,["fields","title",t])||u(e,["fields","title",n||""])||u(e,["fields","title",a])||function(e){return e?e.trim().replace(/\s{2,}/g," "):e}((s=r.fileName,s.replace(/\.\w+$/g,"")).replace(/_/g," ")),c=function(e){const t={images:"images.ctfassets.net",assets:"assets.ctfassets.net",downloads:"downloads.ctfassets.net",videos:"videos.ctfassets.net"};return e.replace(/(images|assets|downloads|videos).contentful.com/,(e,n)=>t[n])}(r.url);return{title:i,asset:e,url:c,isLocalized:Boolean(l),isFallback:Boolean(o),asMarkdown:``}}var s;return null}(e,t)).filter(e=>null!==e);return n.length>0?{fallbacks:a.filter(({isLocalized:e})=>!e).map(({title:e,isFallback:n,asset:a})=>{const l=n?t.fallbackCode:t.defaultLocaleCode;return{title:e,thumbnailUrl:a.fields.file[l].url,thumbnailAltText:e,description:n?`Fallback locale (${l})`:`Default locale (${l})`,asset:a}}),links:a}:{links:a}}(e,{localeCode:a,defaultLocaleCode:t.locales.default,fallbackCode:t.locales.fallbacks[a]});if(o&&o.length>0){if(i&&!await(n=t.dialogs,l={locale:a,assets:i},n.openCurrent({title:"Confirm using fallback assets",width:"medium",minHeight:"270px",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,parameters:{type:Ce.confirmInsertAsset,...l}})))throw Error("User decided to not use fallbacks");return o.map(e=>e.asMarkdown).join("\n\n")}}var n,l;return""};return{headings:{h1:()=>{null==n||n.actions.h1()},h2:()=>{null==n||n.actions.h2()},h3:()=>{null==n||n.actions.h3()}},simple:{italic:()=>{null==n||n.actions.italic()},bold:()=>{null==n||n.actions.bold()},quote:()=>{null==n||n.actions.quote()},ol:()=>{null==n||n.actions.ol()},ul:()=>{null==n||n.actions.ul()},strike:()=>{null==n||n.actions.strike()},code:()=>{null==n||n.actions.code()},hr:()=>{null==n||n.actions.hr()},indent:()=>{null==n||n.actions.indent()},dedent:()=>{null==n||n.actions.dedent()}},history:{undo:()=>{null==n||n.actions.undo()},redo:()=>{null==n||n.actions.redo()}},insertLink:async()=>{if(!n)return;n.usePrimarySelection();const e=n.getSelectedText(),a=await(l=t.dialogs,o={selectedText:e},l.openCurrent({title:"Insert link",width:"large",minHeight:"410px",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,parameters:{type:Ce.insertLink,...o}}));var l,o;a&&n.actions.link(a.url,e||a.text,a.title)},insertSpecialCharacter:async()=>{if(!n)return;const e=await(a=t.dialogs,a.openCurrent({title:"Insert special character",width:"large",minHeight:"600px",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,parameters:{type:Ce.insertSpecialCharacter}}));var a;e&&n.insert(e)},insertTable:async()=>{if(!n)return;const e=await(a=t.dialogs,a.openCurrent({title:"Insert table",width:"medium",minHeight:"260px",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,parameters:{type:Ce.insertTable}}));var a;e&&n.actions.table(e)},organizeLinks:()=>{if(!n)return;let e=n.getContent();e&&(e=function(e){let t=function(e){w(e)&&(e=Xe(e));const t=e.map(e=>e.id).map(e=>parseInt(e,10)).filter(e=>x(e)&&e>0);return t.length>0&&p(t)||0}(e);return y(Oe(e),n=>{t+=1,e=e.replace(n.match,Ke(n,t)),e+="\n"+_e(n,t)}),e}(e),e=function(e){const t=function(e){const t={},n={};return y(Xe(e),e=>{const a=t[e.href],l=k({},e);a?We(l)&&!We(a)&&(a.title=l.title):t[l.href]=l,n[l.id]=a||l}),{byHref:t,byOldId:n}}(e),n={},a=[],l=[];let o=1;return y(Ue(e),e=>{const i=t.byOldId[e.id];if(!i)return;const r=i.href;let s=n[r];s||(n[r]=s=o,o+=1,a.push(k({newId:s},i))),l.push(k({newId:s},e))}),y(Xe(e),t=>{e=e.replace(t.match,"")}),e=e.replace(/[\r\n\s]*$/,""),e+="\n\n",y(l,t=>{e=e.replace(t.match,Ke(t,t.newId))}),y(a,t=>{e+="\n"+_e(t,t.newId)}),e}(e),n.setContent(e),t.notifier.success("All your links are now references at the bottom of your document."))},embedExternalContent:async()=>{if(!n)return;const e=await(a=t.dialogs,a.openCurrent({title:"Embed external content",width:"large",minHeight:"435px",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,parameters:{type:Ce.embedExternalContent}}));var a;e&&n.insert(e)},addNewMedia:async()=>{if(n)try{const{entity:e}=await t.navigator.openNewAsset({slideIn:{waitForClose:!0}}),a=await l([e]);n.insert(a)}finally{n.focus()}},linkExistingMedia:async()=>{if(n)try{const e=await t.dialogs.selectMultipleAssets({locale:a}),o=await l(e);n.insert(o)}finally{n.focus()}},openZenMode:async()=>{if(!n)return;const a=await(l=t.dialogs,o={initialValue:n.getContent(),locale:e.locale},l.openCurrent({width:"zen",shouldCloseOnEscapePress:!1,minHeight:"100vh",shouldCloseOnOverlayClick:!1,parameters:{type:Ce.zenMode,initialValue:o.initialValue,locale:o.locale}}));var l,o;n.setContent(a.value),a.cursor&&n.setCursor(a.cursor),n.focus()},closeZenMode:()=>{}}}const Ze={container:o.css({display:"flex",flexDirection:"column",fontFamily:a.fontStackPrimary})};function Ye(e){const[t,a]=n.useState(e.initialValue??""),[l,o]=n.useState("editor"),[i,r]=n.useState(null),[s,c]=n.useState(!1);n.useEffect(()=>{i&&e.onReady&&(e.onReady(i),setTimeout(()=>{i.refresh()},1))},[i]),n.useEffect(()=>{e.sdk.access.can("create","Asset").then(e=>{c(e)})},[]),n.useEffect(()=>{i&&i.setReadOnly(e.disabled)},[i,e.disabled]);const d=null===i||e.disabled||"editor"!==l,m=e.sdk.locales.direction[e.sdk.field.locale]??"ltr",u=n.useMemo(()=>Ge({sdk:e.sdk,editor:i,locale:e.sdk.field.locale}),[i]),p=n.useCallback(()=>{xe(e.sdk.dialogs)},[]);return n.createElement("div",{className:Ze.container,"data-test-id":"markdown-editor"},n.createElement(F,{active:l,onSelect:e=>{o(e)}}),n.createElement(ve,{mode:"default",disabled:d,canUploadAssets:s,actions:u}),n.createElement(Q,{minHeight:e.minHeight,mode:"default",visible:"editor"===l,disabled:d,direction:m,onReady:t=>{t.setContent(e.initialValue??""),t.setReadOnly(e.disabled),r(t),t.events.onChange(t=>{const n=t.replace(/^\s+$/gm,"");e.saveValueToSDK(n),a(t)})}}),"preview"===l&&n.createElement(M,{direction:m,minHeight:e.minHeight,mode:"default",value:t,previewComponents:e.previewComponents}),n.createElement(I,null,n.createElement(S,{onClick:p})),n.createElement(N,{sdk:e.sdk,value:t}))}exports.MarkdownEditor=function(e){return n.createElement(l.FieldConnector,{throttle:300,field:e.sdk.field,isInitiallyDisabled:e.isInitiallyDisabled},({value:t,disabled:a,setValue:l,externalReset:o})=>n.createElement(Ye,{...e,key:"markdown-editor-"+o,initialValue:t,disabled:a,saveValueToSDK:l}))},exports.MarkdownPreview=M,exports.openMarkdownDialog=(e,t)=>a=>{var o,i,r,s,c,d,m;if((null==(o=a.parameters)?void 0:o.type)===Ce.cheatsheet)return l.ModalDialogLauncher.openDialog(a,()=>n.createElement(we,null));if((null==(i=a.parameters)?void 0:i.type)===Ce.insertLink){const e=a.parameters.selectedText;return l.ModalDialogLauncher.openDialog(a,({onClose:t})=>n.createElement(Te,{selectedText:e,onClose:t}))}if((null==(r=a.parameters)?void 0:r.type)===Ce.insertSpecialCharacter)return l.ModalDialogLauncher.openDialog(a,({onClose:e})=>n.createElement(Be,{onClose:e}));if((null==(s=a.parameters)?void 0:s.type)===Ce.insertTable)return l.ModalDialogLauncher.openDialog(a,({onClose:e})=>n.createElement(Le,{onClose:e}));if((null==(c=a.parameters)?void 0:c.type)===Ce.embedExternalContent)return l.ModalDialogLauncher.openDialog(a,({onClose:e})=>n.createElement(Ne,{onClose:e}));if((null==(d=a.parameters)?void 0:d.type)===Ce.confirmInsertAsset){const e=a.parameters.locale,t=a.parameters.assets;return l.ModalDialogLauncher.openDialog(a,({onClose:a})=>n.createElement(ye,{onClose:a,locale:e,assets:t}))}if((null==(m=a.parameters)?void 0:m.type)===Ce.zenMode){const o=a.parameters.initialValue,i=a.parameters.locale;return l.ModalDialogLauncher.openDialog(a,({onClose:a})=>n.createElement(Ae,{saveValueToSDK:t=>{var n,a;return t?null==e||null==(a=e.field)?void 0:a.setValue(t):null==e||null==(n=e.field)?void 0:n.removeValue()},onClose:a,initialValue:o,locale:i,sdk:e,previewComponents:t}))}return Promise.reject()},exports.renderMarkdownDialog=e=>{const t=e.parameters.invocation;if(t.type===Ce.cheatsheet)return e.window.startAutoResizer(),n.createElement(we,null);if(t.type===Ce.insertLink){const a=t.selectedText;return e.window.startAutoResizer(),n.createElement(Te,{selectedText:a,onClose:e.close})}if(t.type===Ce.insertSpecialCharacter)return e.window.startAutoResizer(),n.createElement(Be,{onClose:e.close});if(t.type===Ce.insertTable)return e.window.startAutoResizer(),n.createElement(Le,{onClose:e.close});if(t.type===Ce.embedExternalContent)return e.window.startAutoResizer(),n.createElement(Ne,{onClose:e.close});if(t.type===Ce.confirmInsertAsset){const a=t.locale,l=t.assets;return e.window.startAutoResizer(),n.createElement(ye,{onClose:e.close,locale:a,assets:l})}if(t.type===Ce.zenMode){const a=t.locale,l=t.initialValue;return e.window.updateHeight("100%"),n.createElement(Ae,{onClose:e.close,saveValueToSDK:()=>{},initialValue:l,locale:a,sdk:e})}return n.createElement("div",null)};
|
|
215
|
+
`},Q=n.memo(e=>{const a=t.useRef(null),[l,i]=t.useState(null);t.useEffect(()=>{a.current&&i(function(e,t){const n=function(e,t){const{direction:n,fixedHeight:a,height:l,readOnly:o}=t||{};let i=!1;const r={min:l?$(l):300,max:500,shift:50},s=c(e,{direction:n,readOnly:o,mode:"markdown",lineNumbers:!1,undoDepth:200,matchBrackets:!0,lineWrapping:!0,lineSeparator:null,theme:"elegant",tabSize:2,indentWithTabs:!1,indentUnit:2,autoRefresh:!0,spellcheck:!0,inputStyle:"contenteditable"});return s.setSize("100%",r.min),a||s.on("change",d((function(){const e=s.heightAtLine(s.lastLine(),"local")+r.shift;let t=e;e<r.min&&(t=r.min),e>r.max&&(t=r.max),s.setSize("100%",t)}),150)),s.setOption("extraKeys",{Tab:function(){v(I())},Enter:"newlineAndIndentContinueMarkdownList",Esc:()=>{s.getInputField().blur()}}),{destroy:function(){s.toTextArea()},disable:function(){s.setOption("readOnly","nocursor")},enable:function(){s.setOption("readOnly",!1)},attachEvent:function(e,t,n){n&&(t=d(t,n)),s.on(e,t)},addKeyShortcuts:function(e){const t=V();s.addKeyMap(m(e,(e,n,a)=>{e[t+"-"+a]=n},{}))},setValue:function(e){if(e=e||"",N()===e)return;const t=y(),n=q();s.setValue(e),h(n,t,!0),i||(s.clearHistory(),i=!0)},cmd:u,moveToLineBeginning:p,moveIfNotEmpty:function(){if(S()<1)return;const e=y()+1;s.lastLine()<e&&(g(),E(z())),p(e)},restoreCursor:h,moveToLineEnd:g,usePrimarySelection:function(){u("singleSelection")},focus:function(){s.focus()},select:b,selectBackwards:function(e,t){function n(e){return{line:y(),ch:q()+e}}b(n(-e-t),n(-e))},selectAll:()=>s.execCommand("selectAll"),extendSelectionBy:function(e){function t(e,t){const n=C();return n?{line:n[e].line,ch:n[e].ch+t}:{line:0,ch:0}}b(t("anchor",0),t("head",e))},insertAtCursor:E,insertAtLineBeginning:function(e){const t=q();p(),E(e),h(t+e.length),s.focus()},wrapSelection:function(e){const t=e+w()+e,n=C();n&&(s.replaceRange(t,n.anchor,null==n?void 0:n.head),s.focus())},removeFromLineBeginning:function(e){const t=y();s.replaceRange("",{line:t,ch:0},{line:t,ch:e}),s.focus()},removeSelectedText:function(){s.replaceSelection(""),s.focus()},replaceSelectedText:v,getCursor:function(){return s.getCursor()},setCursor:function(e){s.setCursor(e)},getSelection:C,getLine:k,isLineEmpty:function(e){const t=f(e);return t>-1&&k(t).length<1&&t<s.lineCount()},getSelectedText:w,getSelectionLength:function(){return w().length},getCurrentLine:x,getCurrentLineNumber:y,getCurrentCharacter:q,getCurrentLineLength:S,lineStartsWith:function(e){return x().startsWith(e)},getIndentation:I,getNl:z,getValue:N,getLinesCount:function(){return s.lineCount()},getHistorySize:function(e){const t=s.historySize();return e?t[e]:t},setReadOnly:e=>s.setOption("readOnly",e),getHistory:()=>s.getHistory(),setHistory:e=>s.setHistory(e),setFullsize:()=>{s.setSize("100%","100%"),s.refresh()},refresh:()=>s.refresh()};function u(e){s.execCommand(e),s.focus()}function p(e){s.setCursor({line:f(e),ch:0}),s.focus()}function h(e,t,n){s.setCursor(f(t),e,{scroll:!n}),n||s.focus()}function g(e){s.setCursor({line:f(e),ch:S()}),s.focus()}function f(e){return 0===e||void 0!==e&&e>0?e:y()}function b(e,t){s.setSelection(e,t),s.focus()}function E(e){s.replaceRange(e,s.getCursor()),s.focus()}function v(e,t){s.replaceSelection(e,t),s.focus()}function C(){const e=s.listSelections();return!s.somethingSelected()||!e||e.length<1?null:e[0]}function k(e){return s.getLine(e)||""}function w(){return C()?s.getSelection():""}function x(){return k(y())}function y(){return s.getCursor().line}function q(){return s.getCursor().ch}function S(){return x().length}function I(){return T(" ",s.getOption("indentUnit")??0)}function z(e=1){return e<1?"":T("\n",e)}function N(){return s.getValue()||""}function T(e,t){return new Array(t+1).join(e)}}(e,t),a={actions:W(n),history:{hasUndo:function(){return n.getHistorySize("undo")>0},hasRedo:function(){return n.getHistorySize("redo")>0}},events:{onScroll:function(e){n.attachEvent("scroll",e,150)},onChange:function(e){n.attachEvent("change",function(e){return(t,a)=>{e(n.getValue(),t,a)}}(e),0)},onPaste:function(e){n.attachEvent("paste",e,0)}},insert:n.insertAtCursor,focus:n.focus,getContent:n.getValue,destroy:n.destroy,setContent:n.setValue,getSelectedText:n.getSelectedText,usePrimarySelection:n.usePrimarySelection,setReadOnly:n.setReadOnly,selectBackwards:n.selectBackwards,getCursor:n.getCursor,setCursor:n.setCursor,clear:()=>n.setValue(""),selectAll:n.selectAll,setFullsize:n.setFullsize,refresh:n.refresh};return n.addKeyShortcuts({B:a.actions.bold,I:a.actions.italic}),a}(a.current,Object.assign({},{direction:e.direction,readOnly:!0},"zen"===e.mode?{fixedHeight:!0,height:"100%"}:{},void 0!==e.minHeight?{height:e.minHeight}:{})))},[]),t.useEffect(()=>{l&&e.onReady(l)},[l]);const r=o.cx(Y.root,void 0!==e.minHeight?o.css({minHeight:e.minHeight}):void 0,"default"===e.mode?Y.framed:Y.zen,e.disabled&&Y.disabled);return n.createElement("div",{className:r,ref:a,"data-test-id":"markdown-textarea",style:{display:e.visible?"block":"none"}})});Q.displayName="MarkdownTextarea";const J=e=>{const t=t=>{e.onSelect(t)};return n.createElement(i.Menu,null,n.createElement(i.Menu.Trigger,null,e.children),n.createElement(i.Menu.List,null,n.createElement(i.Menu.Item,{testId:"markdown-action-button-heading-h1",onClick:()=>t("h1")},"Heading 1"),n.createElement(i.Menu.Item,{testId:"markdown-action-button-heading-h2",onClick:()=>t("h2")},"Heading 2"),n.createElement(i.Menu.Item,{testId:"markdown-action-button-heading-h3",onClick:()=>t("h3")},"Heading 3")))},ee=o.css({position:"absolute",width:"1px",height:"1px",padding:"0",margin:"-1px",overflow:"hidden",clip:"rect(0, 0, 0, 0)",border:"0"}),te=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M1411 541l-355 355 355 355 144-144q29-31 70-14 39 17 39 59v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39 14-69l144-144-355-355-355 355 144 144q31 30 14 69-17 40-59 40H192q-26 0-45-19t-19-45v-448q0-42 40-59 39-17 69 14l144 144 355-355-355-355-144 144q-19 19-45 19-12 0-24-5-40-17-40-59V192q0-26 19-45t45-19h448q42 0 59 40 17 39-14 69L541 381l355 355 355-355-144-144q-31-30-14-69 17-40 59-40h448q26 0 45 19t19 45v448q0 42-39 59-13 5-25 5-26 0-45-19z"}),n.createElement("span",{className:ee},e)),ne=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M1760 896q14 0 23 9t9 23v64q0 14-9 23t-23 9H32q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h1728zM483 832q-28-35-51-80-48-98-48-188 0-181 134-309 133-127 393-127 50 0 167 19 66 12 177 48 10 38 21 118 14 123 14 183 0 18-5 45l-12 3-84-6-14-2q-50-149-103-205-88-91-210-91-114 0-182 59-67 58-67 146 0 73 66 140t279 129q69 20 173 66 58 28 95 52H483zm507 256h411q7 39 7 92 0 111-41 212-23 56-71 104-37 35-109 81-80 48-153 66-80 21-203 21-114 0-195-23l-140-40q-57-16-72-28-8-8-8-22v-13q0-108-2-156-1-30 0-68l2-37v-44l102-2q15 34 30 71t22.5 56 12.5 27q35 57 80 94 43 36 105 57 59 22 132 22 64 0 139-27 77-26 122-86 47-61 47-129 0-84-81-157-34-29-137-71z"}),n.createElement("span",{className:ee},e)),ae=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M352 832q0 14-9 23L55 1143q-9 9-23 9-13 0-22.5-9.5T0 1120V544q0-13 9.5-22.5T32 512q14 0 23 9l288 288q9 9 9 23zm1440 480v192q0 13-9.5 22.5t-22.5 9.5H32q-13 0-22.5-9.5T0 1504v-192q0-13 9.5-22.5T32 1280h1728q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5H672q-13 0-22.5-9.5T640 1120V928q0-13 9.5-22.5T672 896h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5T1760 768H672q-13 0-22.5-9.5T640 736V544q0-13 9.5-22.5T672 512h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5T1760 384H32q-13 0-22.5-9.5T0 352V160q0-13 9.5-22.5T32 128h1728q13 0 22.5 9.5t9.5 22.5z"}),n.createElement("span",{className:ee},e)),le=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M384 544v576q0 13-9.5 22.5T352 1152q-14 0-23-9L41 855q-9-9-9-23t9-23l288-288q9-9 23-9 13 0 22.5 9.5T384 544zm1408 768v192q0 13-9.5 22.5t-22.5 9.5H32q-13 0-22.5-9.5T0 1504v-192q0-13 9.5-22.5T32 1280h1728q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5t-22.5 9.5H672q-13 0-22.5-9.5T640 1120V928q0-13 9.5-22.5T672 896h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5T1760 768H672q-13 0-22.5-9.5T640 736V544q0-13 9.5-22.5T672 512h1088q13 0 22.5 9.5t9.5 22.5zm0-384v192q0 13-9.5 22.5T1760 384H32q-13 0-22.5-9.5T0 352V160q0-13 9.5-22.5T32 128h1728q13 0 22.5 9.5t9.5 22.5z"}),n.createElement("span",{className:ee},e)),oe=({label:e,...t})=>n.createElement("svg",{width:18,height:14,viewBox:"0 0 2304 1792",...t},n.createElement("path",{d:"M640 1632l384-192v-314l-384 164v342zm-64-454l404-173-404-173-404 173zm1088 454l384-192v-314l-384 164v342zm-64-454l404-173-404-173-404 173zm-448-293l384-165V454l-384 164v267zm-64-379l441-189-441-189-441 189zm1088 518v416q0 36-19 67t-52 47l-448 224q-25 14-57 14t-57-14l-448-224q-4-2-7-4-2 2-7 4l-448 224q-25 14-57 14t-57-14L71 1554q-33-16-52-47t-19-67v-416q0-38 21.5-70T78 906l434-186V320q0-38 21.5-70t56.5-48l448-192q23-10 50-10t50 10l448 192q35 16 56.5 48t21.5 70v400l434 186q36 16 57 48t21 70z"}),n.createElement("span",{className:ee},e)),ie=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M576 1376v-192q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384V800q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zM576 608V416q0-14-9-23t-23-9H224q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384V800q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384v-192q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm-512-768V416q0-14-9-23t-23-9H736q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm512 384V800q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm0-384V416q0-14-9-23t-23-9h-320q-14 0-23 9t-9 23v192q0 14 9 23t23 9h320q14 0 23-9t9-23zm128-320v1088q0 66-47 113t-113 47H224q-66 0-113-47t-47-113V288q0-66 47-113t113-47h1344q66 0 113 47t47 113z"}),n.createElement("span",{className:ee},e)),re=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M1360 1307l35 159q3 12-3 22.5t-17 14.5l-5 1q-4 2-10.5 3.5t-16 4.5-21.5 5.5-25.5 5-30 5-33.5 4.5-36.5 3-38.5 1q-234 0-409-130.5T511 1054h-95q-13 0-22.5-9.5T384 1022V909q0-13 9.5-22.5T416 877h66q-2-57 1-105h-67q-14 0-23-9t-9-23V626q0-14 9-23t23-9h98q67-210 243.5-338T1158 128q102 0 194 23 11 3 20 15 6 11 3 24l-43 159q-3 13-14 19.5t-24 2.5l-4-1q-4-1-11.5-2.5L1261 364l-22.5-3.5-26-3-29-2.5-29.5-1q-126 0-226 64T778 594h468q16 0 25 12 10 12 7 26l-24 114q-5 26-32 26H734q-3 37 0 105h459q15 0 25 12 9 12 6 27l-24 112q-2 11-11 18.5t-20 7.5H782q48 117 149.5 185.5T1160 1308q18 0 36-1.5t33.5-3.5 29.5-4.5 24.5-5 18.5-4.5l12-3 5-2q13-5 26 2 12 7 15 21z"}),n.createElement("span",{className:ee},e)),se=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M1792 1248v320q0 40-28 68t-68 28h-320q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h96V960H960v192h96q40 0 68 28t28 68v320q0 40-28 68t-68 28H736q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h96V960H320v192h96q40 0 68 28t28 68v320q0 40-28 68t-68 28H96q-40 0-68-28t-28-68v-320q0-40 28-68t68-28h96V960q0-52 38-90t90-38h512V640h-96q-40 0-68-28t-28-68V224q0-40 28-68t68-28h320q40 0 68 28t28 68v320q0 40-28 68t-68 28h-96v192h512q52 0 90 38t38 90v192h96q40 0 68 28t28 68z"}),n.createElement("span",{className:ee},e)),ce=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M1664 896q0 156-61 298t-164 245-245 164-298 61q-172 0-327-72.5T305 1387q-7-10-6.5-22.5t8.5-20.5l137-138q10-9 25-9 16 2 23 12 73 95 179 147t225 52q104 0 198.5-40.5T1258 1258t109.5-163.5T1408 896t-40.5-198.5T1258 534t-163.5-109.5T896 384q-98 0-188 35.5T548 521l137 138q31 30 14 69-17 40-59 40H192q-26 0-45-19t-19-45V256q0-42 40-59 39-17 69 14l130 129q107-101 244.5-156.5T896 128q156 0 298 61t245 164 164 245 61 298z"}),n.createElement("span",{className:ee},e)),de=({label:e,...t})=>n.createElement("svg",{width:14,height:14,viewBox:"0 0 1792 1792",...t},n.createElement("path",{d:"M1664 256v448q0 26-19 45t-45 19h-448q-42 0-59-40-17-39 14-69l138-138q-148-137-349-137-104 0-198.5 40.5T534 534 424.5 697.5 384 896t40.5 198.5T534 1258t163.5 109.5T896 1408q119 0 225-52t179-147q7-10 23-12 15 0 25 9l137 138q9 8 9.5 20.5t-7.5 22.5q-109 132-264 204.5T896 1664q-156 0-298-61t-245-164-164-245-61-298 61-298 164-245 245-164 298-61q147 0 284.5 55.5T1425 340l130-129q29-31 70-14 39 17 39 59z"}),n.createElement("span",{className:ee},e)),me=e=>e.canAddNew?n.createElement(ue,{...e}):n.createElement(i.Button,{isDisabled:e.disabled,startIcon:n.createElement(E.AssetIcon,null),testId:"markdownEditor.linkExistingAssets",size:"small",variant:"secondary",onClick:()=>{e.onSelectExisting()}},"Insert media"),ue=e=>n.createElement(i.Menu,{placement:"bottom-end"},n.createElement(i.Menu.Trigger,null,n.createElement(i.Button,{endIcon:n.createElement(E.ChevronDownIcon,null),isDisabled:e.disabled,startIcon:n.createElement(E.AssetIcon,null),testId:"markdownEditor.insertMediaDropdownTrigger",size:"small",variant:"secondary"},"Insert media")),n.createElement(i.Menu.List,null,n.createElement(i.Menu.Item,{testId:"markdownEditor.uploadAssetsAndLink",onClick:()=>e.onAddNew()},"Add new media and link"),n.createElement(i.Menu.Item,{testId:"markdownEditor.linkExistingAssets",onClick:()=>e.onSelectExisting()},"Link existing media"))),pe={root:o.css({position:"relative",zIndex:Number(a.zIndexWorkbenchHeader),border:"1px solid "+a.gray400,backgroundColor:a.gray100,padding:a.spacingXs,borderTopLeftRadius:a.borderRadiusSmall,overflow:"hidden"}),button:o.css({height:"30px",width:"36px",marginLeft:a.spacing2Xs,marginRight:a.spacing2Xs}),icon:o.css({fill:a.gray700,verticalAlign:"middle"}),zenButton:o.css({marginLeft:a.spacingXs}),zenButtonPressed:o.css({backgroundColor:a.gray400}),tooltip:o.css({zIndex:Number(a.zIndexTooltip)})},he=n.forwardRef((e,t)=>{const{tooltip:a,onClick:l,children:r,className:s,variant:c="transparent",tooltipPlace:d="top",isDisabled:m=!1,...u}=e;return n.createElement(i.Tooltip,{className:pe.tooltip,placement:d,content:a},n.createElement(i.IconButton,{...u,ref:t,className:o.cx(pe.button,s),isDisabled:m,onClick:l,variant:c,size:"small",icon:r,"aria-label":a}))});function ge(e){const t="zen"===e.mode?"bottom":"top";return n.createElement(n.Fragment,null,n.createElement(J,{onSelect:t=>{t&&e.actions.headings[t]&&e.actions.headings[t]()}},n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-heading",tooltip:"Headings",tooltipPlace:t},n.createElement(E.HeadingIcon,{"aria-label":"Headings",className:pe.icon}))),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-bold",tooltip:"Bold",tooltipPlace:t,onClick:e.actions.simple.bold},n.createElement(E.FormatBoldIcon,{"aria-label":"Bold",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-italic",tooltip:"Italic",tooltipPlace:t,onClick:e.actions.simple.italic},n.createElement(E.FormatItalicIcon,{"aria-label":"Italic",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-quote",tooltip:"Quote",tooltipPlace:t,onClick:e.actions.simple.quote},n.createElement(E.QuoteIcon,{"aria-label":"Quote",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-ul",tooltip:"Unordered list",tooltipPlace:t,onClick:e.actions.simple.ul},n.createElement(E.ListBulletedIcon,{"aria-label":"Unordered list",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-ol",tooltip:"Ordered list",tooltipPlace:t,onClick:e.actions.simple.ol},n.createElement(E.ListNumberedIcon,{"aria-label":"Ordered list",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-link",tooltip:"Link",tooltipPlace:t,onClick:e.actions.insertLink},n.createElement(E.LinkIcon,{"aria-label":"Link",className:pe.icon})))}function fe(e){const t="zen"===e.mode?"bottom":"top";return n.createElement(n.Fragment,null,n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-strike",tooltip:"Strike out",tooltipPlace:t,onClick:e.actions.simple.strike},n.createElement(ne,{label:"Strike out",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-code",tooltip:"Code block",tooltipPlace:t,onClick:e.actions.simple.code},n.createElement(E.CodeIcon,{"aria-label":"Code block",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-hr",tooltip:"Horizontal rule",tooltipPlace:t,onClick:e.actions.simple.hr},n.createElement(E.HorizontalRuleIcon,{"aria-label":"Horizontal rule",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-indent",tooltip:"Increase indentation",tooltipPlace:t,onClick:e.actions.simple.indent},n.createElement(ae,{label:"Increase indentation",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-dedent",tooltip:"Decrease indentation",tooltipPlace:t,onClick:e.actions.simple.dedent},n.createElement(le,{label:"Decrease indentation",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-embed",tooltip:"Embed external content",tooltipPlace:t,onClick:e.actions.embedExternalContent},n.createElement(oe,{label:"Embed external content",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-table",tooltip:"Insert table",tooltipPlace:t,onClick:e.actions.insertTable},n.createElement(ie,{label:"Insert table",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-special",tooltip:"Insert special character",tooltipPlace:t,onClick:e.actions.insertSpecialCharacter},n.createElement(re,{label:"Insert special character",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-organizeLinks",tooltip:"Organize links",tooltipPlace:t,onClick:e.actions.organizeLinks},n.createElement(se,{label:"Organize links",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-undo",tooltip:"Undo",tooltipPlace:t,onClick:e.actions.history.undo},n.createElement(ce,{label:"Undo",className:pe.icon})),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-redo",tooltip:"Redo",tooltipPlace:t,onClick:e.actions.history.redo},n.createElement(de,{label:"Redo",className:pe.icon})))}function be(e){const[t,a]=n.useState(!1);return n.createElement("div",{className:pe.root},n.createElement(i.Flex,{justifyContent:"space-between",flexWrap:"wrap"},n.createElement(i.Flex,{flexWrap:"wrap"},n.createElement(ge,{...e}),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-toggle-additional",tooltip:t?"Hide additional actions":"More actions",onClick:()=>{a(!t)}},n.createElement(E.MoreHorizontalIcon,{className:pe.icon}))),n.createElement(i.Flex,null,n.createElement(me,{disabled:e.disabled,onSelectExisting:e.actions.linkExistingMedia,onAddNew:e.actions.addNewMedia,canAddNew:e.canUploadAssets}),n.createElement(he,{isDisabled:e.disabled,testId:"markdown-action-button-zen",variant:"secondary",onClick:e.actions.openZenMode,className:pe.zenButton,tooltip:"Expand"},n.createElement(te,{label:"Expand",className:pe.icon})))),t&&n.createElement(i.Flex,{justifyContent:"space-between",marginTop:"spacingXs"},n.createElement(i.Flex,null,n.createElement(fe,{...e}))))}function Ee(e){return n.createElement("div",{className:pe.root},n.createElement(i.Flex,{justifyContent:"space-between"},n.createElement(i.Flex,null,n.createElement(ge,{...e}),n.createElement(fe,{...e})),n.createElement(i.Flex,null,n.createElement(me,{disabled:e.disabled,onSelectExisting:e.actions.linkExistingMedia,onAddNew:e.actions.addNewMedia,canAddNew:e.canUploadAssets}),n.createElement(i.IconButton,{testId:"markdown-action-button-zen-close",variant:"secondary",size:"small",className:o.cx(pe.zenButton,pe.zenButtonPressed),onClick:()=>{e.actions.closeZenMode()},icon:n.createElement(te,{label:"Collapse",className:pe.icon}),"aria-label":"Collapse"}))))}he.displayName="ToolbarButton";const ve=n.memo(e=>n.createElement("zen"===e.mode?Ee:be,{...e}));var Ce;ve.displayName="MarkdownToolbar",function(e){e.cheatsheet="markdown-cheatsheet",e.insertLink="markdown-insertLink",e.insertSpecialCharacter="markdown-insertSpecialCharacter",e.insertTable="markdown-insertTable",e.embedExternalContent="markdown-embedExternalContent",e.confirmInsertAsset="markdown-confirmInsertAsset",e.zenMode="markdown-zenMode"}(Ce||(Ce={}));const ke={flexColumnContainer:o.css({display:"flex",flexWrap:"nowrap"}),flexColumn:o.css({flexGrow:1}),verticalDivider:o.css({borderRight:"1px solid "+a.gray500,paddingRight:a.spacing3Xl,marginRight:a.spacing2Xl}),preview:o.css({display:"inline-block",paddingRight:a.spacingL,width:"50%"}),unOrderedListPreview:o.css({listStyleType:"disc",marginLeft:a.spacingS}),orderedListPreview:o.css({listStyleType:"decimal",marginLeft:a.spacingS}),markup:o.css({display:"inline-block",color:a.gray600,paddingLeft:a.spacingL,width:"50%"}),h1:o.css({fontSize:a.fontSize2Xl}),h2:o.css({fontSize:a.fontSizeXl}),h3:o.css({fontSize:a.fontSizeL}),helpItem:o.css({marginBottom:a.spacingS,display:"flex",alignItems:"flex-end",height:a.spacingXl}),helpLink:o.css({margin:"auto"}),flexRowContainer:o.css({display:"flex",width:"100%",justifyContent:"center",marginTop:a.spacingXl})},we=()=>n.createElement(i.ModalContent,{testId:"markdown-cheatsheet-dialog-content"},n.createElement("div",{className:ke.flexColumnContainer},n.createElement("div",{className:o.cx(ke.flexColumn,ke.verticalDivider)},n.createElement("div",{className:ke.helpItem},n.createElement(i.Heading,{marginBottom:"none",as:"h1",className:o.cx(ke.preview,ke.h1)},"H1"),n.createElement("div",{className:ke.markup},"# heading")),n.createElement("div",{className:ke.helpItem},n.createElement(i.Heading,{marginBottom:"none",as:"h2",className:o.cx(ke.preview,ke.h2)},"H2"),n.createElement("div",{className:ke.markup},"## heading")),n.createElement("div",{className:ke.helpItem},n.createElement(i.Heading,{marginBottom:"none",as:"h3",className:o.cx(ke.preview,ke.h3)},"H3"),n.createElement("div",{className:ke.markup},"### heading")),n.createElement("div",{className:ke.helpItem},n.createElement("strong",{className:ke.preview},"bold"),n.createElement("div",{className:ke.markup},"__text__")),n.createElement("div",{className:ke.helpItem},n.createElement("em",{className:ke.preview},"italic"),n.createElement("div",{className:ke.markup},"*text*")),n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},"strikethrough"),n.createElement("div",{className:ke.markup},"~~text~~")),n.createElement("div",{className:ke.helpItem},n.createElement(i.TextLink,{as:"button",className:ke.preview},"Link"),n.createElement("div",{className:ke.markup},"[text](url)"))),n.createElement("div",{className:ke.flexColumn},n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},"Image"),n.createElement("div",{className:ke.markup},"")),n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},"Unordered list"),n.createElement("div",{className:ke.markup},"* list item")),n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},n.createElement("div",null,"Ordered list")),n.createElement("div",{className:ke.markup},"1. list item")),n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},n.createElement("div",null,"Blockquote")),n.createElement("div",{className:ke.markup},"> quote")),n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},"code span"),n.createElement("div",{className:ke.markup},"`code here`")),n.createElement("div",{className:ke.helpItem},n.createElement("div",{className:ke.preview},"code block"),n.createElement("div",{className:ke.markup},"```code here```")))),n.createElement("div",{className:ke.flexRowContainer},n.createElement(i.TextLink,{className:ke.helpLink,href:"https://help.github.com/en/github/writing-on-github/basic-writing-and-formatting-syntax",target:"_blank",rel:"noopener noreferrer"},"View the full GitHub-flavored Markdown syntax help (opens in a new window)"))),xe=e=>e.openCurrent({title:"Markdown formatting help",width:"large",minHeight:"415px",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,parameters:{type:Ce.cheatsheet}}),ye=({onClose:e,assets:t,locale:a})=>{const l=t.length;return n.createElement(n.Fragment,null,n.createElement(i.ModalContent,{testId:"confirm-insert-asset"},n.createElement(i.Paragraph,null,1===l?"Link asset with missing file for locale "+a:"Link assets with missing files for locale "+a),n.createElement(i.Paragraph,null,1===l?"Do you want to link to the file in its fallback locale?":"Do you want to link to the files in their fallback locales?"),n.createElement(i.EntityList,null,t.map(({title:e,description:t,thumbnailUrl:a,thumbnailAltText:l})=>n.createElement(i.EntityList.Item,{key:a,title:e,thumbnailUrl:a+"?w=46&h=46&fit=thumb",thumbnailAltText:l,description:t})))),n.createElement(i.ModalControls,null,n.createElement(i.Button,{onClick:()=>e(!1),variant:"secondary",size:"small"},"Cancel"),n.createElement(i.Button,{testId:"confirm-insert-asset",onClick:()=>e(!0),variant:"positive",size:"small"},"Confirm")))},qe=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-/]))?$/;function Se(e){return qe.test(e)}const Ie={widthFiledGroup:o.css({display:"flex",flexWrap:"nowrap",alignItems:"flex-start"}),radioButtonGroup:o.css({display:"inline-flex",alignItems:"flex-start",paddingTop:a.spacingXl}),radioButton:o.css({marginLeft:a.spacingM})},ze=(e,t)=>"percent"!==t||e<=100,Ne=({onClose:e})=>{const a=t.useRef(null),[l,o]=t.useState("https://"),[r,s]=t.useState("percent"),[c,d]=t.useState(!0),[m,u]=t.useState("100"),[p,h]=t.useState(!1);return t.useEffect(()=>{var e;null!=(e=a.current)&&e.focus&&a.current.focus()},[a]),n.createElement(n.Fragment,null,n.createElement(i.ModalContent,{testId:"embed-external-dialog"},n.createElement(i.Form,null,n.createElement(i.FormControl,{id:"external-link-url-field",isRequired:!0,isInvalid:!c},n.createElement(i.FormControl.Label,null,"Content URL"),n.createElement(i.TextInput,{name:"external-link-url",value:l,onChange:e=>{const t=e.target.value;o(t),d(Se(t))},testId:"external-link-url-field",placeholder:"https://example.com",ref:a}),n.createElement(i.FormControl.HelpText,null,"Include protocol (e.g. https://)"),!c&&n.createElement(i.FormControl.ValidationMessage,null,"URL is invalid")),n.createElement(i.TextLink,{href:"http://embed.ly/providers",target:"_blank",rel:"noopener noreferrer"},"Supported sources"),n.createElement("div",{className:Ie.widthFiledGroup},n.createElement(i.FormControl,{id:"embedded-content-width",isRequired:!0,isInvalid:!ze(Number(m),r)},n.createElement(i.FormControl.Label,null,"Width"),n.createElement(i.TextInput,{value:m,name:"embedded-content-width",testId:"embedded-content-width",type:"number",width:"small",onChange:e=>u(e.target.value)}),!ze(Number(m),r)&&n.createElement(i.FormControl.ValidationMessage,null,"Should be equal or less then 100")),n.createElement("div",{className:Ie.radioButtonGroup},n.createElement(i.Radio,{id:"unit-option-percent",value:"percent",isChecked:"percent"===r,onChange:()=>s("percent"),className:Ie.radioButton},"percent"),n.createElement(i.Radio,{id:"unit-option-pixels",value:"pixels",isChecked:"px"===r,onChange:()=>s("px"),className:Ie.radioButton},"pixels"))),n.createElement(i.Checkbox,{id:"attach-social-checkbox",name:"attach-social-checkbox",value:"Yes",isChecked:p,onChange:()=>h(!p),testId:"attach-social-checkbox"},"Attach social sharing links to this element"),n.createElement(i.Text,{as:"p",fontColor:"gray500",marginTop:"spacingXs"},"To enable this embedded content in your application make sure to add the ",n.createElement(i.TextLink,{href:"http://embed.ly/docs/products/cards",target:"_blank",rel:"noopener noreferrer"},"Embedly's platform.js")," on your development environment"))),n.createElement(i.ModalControls,null,n.createElement(i.Button,{testId:"emded-external-cancel",onClick:()=>e(!1),variant:"secondary",size:"small"},"Cancel"),n.createElement(i.Button,{testId:"embed-external-confirm",onClick:()=>e((({url:e,width:t,selectedUnit:n,attachSocial:a})=>['<a href="'+e+'" class="embedly-card" ','data-card-width="'+t+{percent:"%",px:"px"}[n]+'" ','data-card-controls="'+(a?"1":"0")+'"',">Embedded content: "+e+"</a>"].join(""))({url:l,width:Number(m),selectedUnit:r,attachSocial:p})),variant:"positive",size:"small"},"Insert")))},Te=({selectedText:e,onClose:a})=>{const l=t.useRef(null),[o,r]=t.useState(e||""),[s,c]=t.useState(""),[d,m]=t.useState(!1),[u,p]=t.useState(""),h=e=>a(e),g=Se(s);return t.useEffect(()=>{var e;null!=l&&null!=(e=l.current)&&e.focus&&l.current.focus()},[l]),n.createElement(n.Fragment,null,n.createElement(i.ModalContent,{testId:"insert-link-modal"},n.createElement(i.Form,{onSubmit:()=>h({url:s,text:o,title:u})},n.createElement(i.FormControl,{id:"link-text-field",isDisabled:Boolean(e)},n.createElement(i.FormControl.Label,null,"Link text"),n.createElement(i.TextInput,{name:"link-text",value:o,onChange:e=>{r(e.target.value)},testId:"link-text-field"})),n.createElement(i.FormControl,{id:"target-url-field",isInvalid:d&&!g},n.createElement(i.FormControl.Label,null,"Target URL"),n.createElement(i.TextInput,{name:"target-url",value:s,onChange:e=>{c(e.target.value),m(!0)},placeholder:"https://",maxLength:2100,testId:"target-url-field",ref:l}),n.createElement(i.FormControl.HelpText,null,"Include protocol (e.g. https://)"),d&&!g&&n.createElement(i.FormControl.ValidationMessage,null,"Invalid URL")),n.createElement(i.FormControl,{id:"link-title-field"},n.createElement(i.FormControl.Label,null,"Link title"),n.createElement(i.TextInput,{name:"link-title",value:u,onChange:e=>{p(e.target.value)},testId:"link-title-field"}),n.createElement(i.FormControl.HelpText,null,"Extra link information, usually shown as a tooltip on mouse hover")))),n.createElement(i.ModalControls,null,n.createElement(i.Button,{testId:"insert-link-cancel",onClick:()=>a(!1),variant:"secondary",size:"small"},"Cancel"),n.createElement(i.Button,{testId:"insert-link-confirm",onClick:()=>{h({url:s,text:o,title:u})},isDisabled:!g,variant:"positive",size:"small"},"Insert")))},Le=({onClose:e})=>{const a=t.useRef(null),[l,o]=t.useState(2),[r,s]=t.useState(1),c=v(l,2,100),d=v(r,1,100);return t.useEffect(()=>{var e;null!=(e=a.current)&&e.focus&&a.current.focus()},[a]),n.createElement(n.Fragment,null,n.createElement(i.ModalContent,{testId:"insert-table-modal"},n.createElement(i.Form,null,n.createElement(i.FormControl,{id:"insert-table-rows-number-field",isRequired:!0,isInvalid:!c},n.createElement(i.FormControl.Label,null,"Number of rows"),n.createElement(i.TextInput,{name:"rows",value:l.toString(),onChange:e=>o(Number(e.target.value)),testId:"insert-table-rows-number-field",min:2,max:100,pattern:"[1-9][0-9]*",type:"number",width:"small",autoComplete:"off",ref:a}),!c&&n.createElement(i.FormControl.ValidationMessage,null,"Should be between 2 and 100")),n.createElement(i.FormControl,{id:"insert-table-columns-number-field",isRequired:!0,isInvalid:!d},n.createElement(i.FormControl.Label,null,"Number of columns"),n.createElement(i.TextInput,{name:"columns",value:r.toString(),onChange:e=>s(Number(e.target.value)),testId:"insert-table-columns-number-field",min:1,max:100,pattern:"[1-9][0-9]*",type:"number",width:"small",autoComplete:"off"}),!d&&n.createElement(i.FormControl.ValidationMessage,null,"Should be between 1 and 100")))),n.createElement(i.ModalControls,null,n.createElement(i.Button,{testId:"insert-table-cancel",onClick:()=>e(!1),variant:"secondary",size:"small"},"Cancel"),n.createElement(i.Button,{testId:"insert-table-confirm",onClick:()=>e({rows:l,cols:r}),variant:"positive",size:"small",isDisabled:!c||!d},"Insert")))},Me=[{code:180,desc:"acute accent"},{code:38,desc:"ampersand"},{code:166,desc:"broken vertical bar"},{code:8226,desc:"bullet"},{code:184,desc:"cedilla"},{code:162,desc:"cent"},{code:169,desc:"copyright"},{code:176,desc:"degree"},{code:247,desc:"division"},{code:189,desc:"fraction half"},{code:188,desc:"fraction quarter"},{code:190,desc:"fraction three quarters"},{code:62,desc:"greater than"},{code:161,desc:"inverted exclamation mark"},{code:191,desc:"inverted question mark"},{code:171,desc:"left-pointing double angle quotation mark"},{code:60,desc:"less than"},{code:175,desc:"macron"},{code:181,desc:"micro"},{code:160,desc:"non-breaking space"},{code:172,desc:"not"},{code:182,desc:"paragraph"},{code:177,desc:"plus-minus"},{code:34,desc:"quotation mark"},{code:174,desc:"registered"},{code:187,desc:"right-pointing double angle quotation mark"},{code:167,desc:"section"},{code:168,desc:"umlaut/diaeresis"},{code:215,desc:"multiplication"},{code:8482,desc:"trade mark"},{code:8364,desc:"euro"},{code:163,desc:"pound"},{code:165,desc:"yen"},{code:8222,desc:"double low-9 quotation mark"},{code:710,desc:"modifier circumflex accent"},{code:8224,desc:"dagger"},{code:8225,desc:"double dagger"},{code:8230,desc:"horizontal ellipsis"},{code:8220,desc:"left double quotation mark"},{code:8249,desc:"single left-pointing angle quotation mark"},{code:8216,desc:"left single quotation mark"},{code:183,desc:"middle dot"},{code:8212,desc:"em dash"},{code:8211,desc:"en dash"},{code:8240,desc:"per mille"},{code:8250,desc:"single right-pointing angle quotation mark"},{code:8217,desc:"right single quotation mark"},{code:8218,desc:"single low-9 quotation mark"},{code:170,desc:"feminine ordinal indicator"},{code:186,desc:"masculine ordinal indicator"},{code:8221,desc:"right double quotation mark"},{code:732,desc:"small tilde"},{code:9829,desc:"black heart"},{code:9830,desc:"diamond"}],He={buttonPanel:o.css({display:"flex",flexWrap:"wrap"}),charButton:o.css({border:"1px solid "+a.gray500,width:"4.1rem",height:"4.1rem",fontSize:a.fontSizeXl,marginTop:a.spacing2Xs,marginRight:a.spacing2Xs}),selectedCharButton:o.css({backgroundColor:a.gray100}),tooltip:o.css({zIndex:1e3}),button:o.css({marginTop:a.spacingM,marginRight:a.spacingS})},Be=({onClose:e})=>{const[a,l]=t.useState(Me[0]);return n.createElement(n.Fragment,null,n.createElement(i.ModalContent,{testId:"insert-special-character-modal"},n.createElement(i.Flex,{flexDirection:"column",alignItems:"center"},n.createElement(i.Text,{as:"div",lineHeight:"lineHeight3Xl",fontSize:"fontSize3Xl",marginBottom:"spacingS"},String.fromCharCode(a.code)),n.createElement(i.Text,{as:"div",marginBottom:"spacingS"},a.desc)),n.createElement("div",{className:He.buttonPanel},Me.map(e=>n.createElement("div",{key:e.code},n.createElement(i.Tooltip,{className:He.tooltip,content:e.desc},n.createElement(i.Button,{testId:"special-character-button",isActive:e.code===a.code,className:He.charButton,variant:"transparent",onClick:()=>l(e)},String.fromCharCode(e.code))))))),n.createElement(i.ModalControls,null,n.createElement(i.Button,{testId:"insert-character-cancel",className:He.button,onClick:()=>e(!1),variant:"secondary",size:"small"},"Cancel"),n.createElement(i.Button,{className:He.button,testId:"insert-character-confirm",onClick:()=>e(String.fromCharCode(a.code)),variant:"positive",size:"small"},"Insert selected")))},Fe={root:o.css({position:"fixed",left:0,right:0,top:0,bottom:0}),topSplit:o.css({position:"fixed",top:0,height:"48px",left:0,right:0}),bottomSplit:o.css({position:"fixed",bottom:0,left:0,right:0,height:"36px"}),editorSplit:o.css({width:"50%",position:"fixed",top:"48px",left:0,bottom:"36px",overflowX:"hidden",overflowY:"scroll"}),editorSplitFullscreen:o.css({left:0,right:0,width:"100%"}),previewSplit:o.css({width:"50%",position:"fixed",top:"48px",right:0,bottom:"36px",overflowX:"hidden",overflowY:"scroll"}),separator:o.css({position:"fixed",top:"48px",bottom:"36px",width:"1px",background:a.gray400,left:"50%"}),button:o.css({position:"fixed",cursor:"pointer",zIndex:105,top:"49%",height:"30px",backgroundColor:a.gray100,border:"1px solid "+a.gray400,padding:0}),hideButton:o.css({left:"50%"}),showButton:o.css({right:0,borderRightWidth:0}),icon:o.css({verticalAlign:"middle"})},Ae=e=>{const[t,a]=n.useState(e.initialValue??""),[l,i]=n.useState(!0),[r,s]=n.useState(null);n.useEffect(()=>{var t,n;null==(t=e.sdk)||null==(n=t.window)||n.updateHeight("100%")},[]),n.useEffect(()=>{setTimeout(()=>{null==r||r.setFullsize(),null==r||r.refresh()},150)},[r]);const c=n.useMemo(()=>Ge({sdk:e.sdk,editor:r,locale:e.locale}),[r]);c.closeZenMode=()=>{e.onClose({value:t,cursor:null==r?void 0:r.getCursor()})};const d=e.sdk.locales.direction[e.locale]??"ltr";return n.createElement("div",{className:Fe.root,"data-test-id":"zen-mode-markdown-editor"},n.createElement("div",{className:Fe.topSplit},n.createElement(ve,{mode:"zen",disabled:!1,canUploadAssets:!1,actions:c})),n.createElement("div",{className:o.cx(Fe.editorSplit,{[Fe.editorSplitFullscreen]:!1===l})},n.createElement(Q,{mode:"zen",visible:!0,disabled:!1,direction:d,onReady:t=>{t.setContent(e.initialValue??""),t.setReadOnly(!1),s(t),t.focus(),t.events.onChange(t=>{a(t),e.saveValueToSDK(t)})}})),l&&n.createElement("div",{className:Fe.previewSplit},n.createElement(M,{direction:d,mode:"zen",value:t,previewComponents:e.previewComponents})),l&&n.createElement("div",{className:Fe.separator}),l&&n.createElement("button",{className:o.cx(Fe.button,Fe.hideButton),"aria-label":"Hide preview",onClick:()=>{i(!1)}},n.createElement(E.ChevronRightIcon,{variant:"muted",size:"tiny",className:Fe.icon})),!l&&n.createElement("button",{className:o.cx(Fe.button,Fe.showButton),"aria-label":"Show preview",onClick:()=>{i(!0)}},n.createElement(E.ChevronLeftIcon,{variant:"muted",size:"tiny",className:Fe.icon})),n.createElement("div",{className:Fe.bottomSplit},n.createElement(I,null,n.createElement(S,{onClick:()=>{xe(e.sdk.dialogs)}}))))};function De(e){return(e=(e=e||"").replace(/^ *('|"|\()*/,"")).replace(/('|"|\))* *$/,"")}function Re(e){return e.split(" ").shift()}function Ve(e){const t=e.split(" ");return t.shift(),t.join(" ")}const $e={inline:function(e){return{match:e[0],text:e[1],href:Re(e[2]),title:De(Ve(e[2]))}},ref:function(e){return{match:e[0],text:e[1],id:e[2]}},label:function(e){return{match:e[0],id:e[1],href:Re(e[2]),title:De(Ve(e[2]))}}},Pe={inline:/\[([^\r\n[\]]+)]\(([^\r\n)]+)\)/,ref:/\[([^\r\n[\]]+)] ?\[([^\r\n[\]]+)]/,label:/^ {0,3}\[([^\r\n[\]]+)]:\s+(.+)$/},Oe=We("inline"),Ue=We("ref"),Xe=We("label");function We(e){return t=>function(e,t){const n=[],a=new RegExp(Pe[t].source,"g"+("label"===t?"m":""));let l=a.exec(e);for(;l;)n.push(l),a.lastIndex=l.index+l[0].length,l=a.exec(e);return n}(t,e).map($e[e])}function je(e){return C(e)&&w(e.title)&&e.title.length>0}function _e(e,t){let n="["+t+"]: "+e.href;return je(e)&&(n+=' "'+e.title+'"'),n}function Ke(e,t){return"["+e.text+"]["+t+"]"}function Ge(e){const{sdk:t,editor:n,locale:a}=e,l=async e=>{if(e){const{links:o,fallbacks:i}=await async function(e,t){const n=e.filter(e=>!u(e,["fields","file",t.localeCode])),a=e.map(e=>function(e,{localeCode:t,fallbackCode:n,defaultLocaleCode:a}){const l=u(e,["fields","file",t]),o=n?u(e,["fields","file",n]):null,i=u(e,["fields","file",a]),r=l||o||i;if(C(r)&&r.url){const i=u(e,["fields","title",t])||u(e,["fields","title",n||""])||u(e,["fields","title",a])||function(e){return e?e.trim().replace(/\s{2,}/g," "):e}((s=r.fileName,s.replace(/\.\w+$/g,"")).replace(/_/g," ")),c=function(e){const t={images:"images.ctfassets.net",assets:"assets.ctfassets.net",downloads:"downloads.ctfassets.net",videos:"videos.ctfassets.net"};return e.replace(/(images|assets|downloads|videos).contentful.com/,(e,n)=>t[n])}(r.url);return{title:i,asset:e,url:c,isLocalized:Boolean(l),isFallback:Boolean(o),asMarkdown:``}}var s;return null}(e,t)).filter(e=>null!==e);return n.length>0?{fallbacks:a.filter(({isLocalized:e})=>!e).map(({title:e,isFallback:n,asset:a})=>{const l=n?t.fallbackCode:t.defaultLocaleCode;return{title:e,thumbnailUrl:a.fields.file[l].url,thumbnailAltText:e,description:n?`Fallback locale (${l})`:`Default locale (${l})`,asset:a}}),links:a}:{links:a}}(e,{localeCode:a,defaultLocaleCode:t.locales.default,fallbackCode:t.locales.fallbacks[a]});if(o&&o.length>0){if(i&&!await(n=t.dialogs,l={locale:a,assets:i},n.openCurrent({title:"Confirm using fallback assets",width:"medium",minHeight:"270px",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,parameters:{type:Ce.confirmInsertAsset,...l}})))throw Error("User decided to not use fallbacks");return o.map(e=>e.asMarkdown).join("\n\n")}}var n,l;return""};return{headings:{h1:()=>{null==n||n.actions.h1()},h2:()=>{null==n||n.actions.h2()},h3:()=>{null==n||n.actions.h3()}},simple:{italic:()=>{null==n||n.actions.italic()},bold:()=>{null==n||n.actions.bold()},quote:()=>{null==n||n.actions.quote()},ol:()=>{null==n||n.actions.ol()},ul:()=>{null==n||n.actions.ul()},strike:()=>{null==n||n.actions.strike()},code:()=>{null==n||n.actions.code()},hr:()=>{null==n||n.actions.hr()},indent:()=>{null==n||n.actions.indent()},dedent:()=>{null==n||n.actions.dedent()}},history:{undo:()=>{null==n||n.actions.undo()},redo:()=>{null==n||n.actions.redo()}},insertLink:async()=>{if(!n)return;n.usePrimarySelection();const e=n.getSelectedText(),a=await(l=t.dialogs,o={selectedText:e},l.openCurrent({title:"Insert link",width:"large",minHeight:"410px",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,parameters:{type:Ce.insertLink,...o}}));var l,o;a&&n.actions.link(a.url,e||a.text,a.title)},insertSpecialCharacter:async()=>{if(!n)return;const e=await(a=t.dialogs,a.openCurrent({title:"Insert special character",width:"large",minHeight:"600px",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,parameters:{type:Ce.insertSpecialCharacter}}));var a;e&&n.insert(e)},insertTable:async()=>{if(!n)return;const e=await(a=t.dialogs,a.openCurrent({title:"Insert table",width:"medium",minHeight:"260px",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,parameters:{type:Ce.insertTable}}));var a;e&&n.actions.table(e)},organizeLinks:()=>{if(!n)return;let e=n.getContent();e&&(e=function(e){let t=function(e){w(e)&&(e=Xe(e));const t=e.map(e=>e.id).map(e=>parseInt(e,10)).filter(e=>x(e)&&e>0);return t.length>0&&p(t)||0}(e);return y(Oe(e),n=>{t+=1,e=e.replace(n.match,Ke(n,t)),e+="\n"+_e(n,t)}),e}(e),e=function(e){const t=function(e){const t={},n={};return y(Xe(e),e=>{const a=t[e.href],l=k({},e);a?je(l)&&!je(a)&&(a.title=l.title):t[l.href]=l,n[l.id]=a||l}),{byHref:t,byOldId:n}}(e),n={},a=[],l=[];let o=1;return y(Ue(e),e=>{const i=t.byOldId[e.id];if(!i)return;const r=i.href;let s=n[r];s||(n[r]=s=o,o+=1,a.push(k({newId:s},i))),l.push(k({newId:s},e))}),y(Xe(e),t=>{e=e.replace(t.match,"")}),e=e.replace(/[\r\n\s]*$/,""),e+="\n\n",y(l,t=>{e=e.replace(t.match,Ke(t,t.newId))}),y(a,t=>{e+="\n"+_e(t,t.newId)}),e}(e),n.setContent(e),t.notifier.success("All your links are now references at the bottom of your document."))},embedExternalContent:async()=>{if(!n)return;const e=await(a=t.dialogs,a.openCurrent({title:"Embed external content",width:"large",minHeight:"435px",shouldCloseOnEscapePress:!0,shouldCloseOnOverlayClick:!0,parameters:{type:Ce.embedExternalContent}}));var a;e&&n.insert(e)},addNewMedia:async()=>{if(n)try{const{entity:e}=await t.navigator.openNewAsset({slideIn:{waitForClose:!0}}),a=await l([e]);n.insert(a)}finally{n.focus()}},linkExistingMedia:async()=>{if(n)try{const e=await t.dialogs.selectMultipleAssets({locale:a}),o=await l(e);n.insert(o)}finally{n.focus()}},openZenMode:async()=>{if(!n)return;const a=await(l=t.dialogs,o={initialValue:n.getContent(),locale:e.locale},l.openCurrent({width:"zen",shouldCloseOnEscapePress:!1,minHeight:"100vh",shouldCloseOnOverlayClick:!1,parameters:{type:Ce.zenMode,initialValue:o.initialValue,locale:o.locale}}));var l,o;n.setContent(a.value),a.cursor&&n.setCursor(a.cursor),n.focus()},closeZenMode:()=>{}}}const Ze={container:o.css({display:"flex",flexDirection:"column",fontFamily:a.fontStackPrimary})};function Ye(e){const[t,a]=n.useState(e.initialValue??""),[l,o]=n.useState("editor"),[i,r]=n.useState(null),[s,c]=n.useState(!1);n.useEffect(()=>{i&&e.onReady&&(e.onReady(i),setTimeout(()=>{i.refresh()},1))},[i]),n.useEffect(()=>{e.sdk.access.can("create","Asset").then(e=>{c(e)})},[]),n.useEffect(()=>{i&&i.setReadOnly(e.disabled)},[i,e.disabled]);const d=null===i||e.disabled||"editor"!==l,m=e.sdk.locales.direction[e.sdk.field.locale]??"ltr",u=n.useMemo(()=>Ge({sdk:e.sdk,editor:i,locale:e.sdk.field.locale}),[i]),p=n.useCallback(()=>{xe(e.sdk.dialogs)},[]);return n.createElement("div",{className:Ze.container,"data-test-id":"markdown-editor"},n.createElement(F,{active:l,onSelect:e=>{o(e)}}),n.createElement(ve,{mode:"default",disabled:d,canUploadAssets:s,actions:u}),n.createElement(Q,{minHeight:e.minHeight,mode:"default",visible:"editor"===l,disabled:d,direction:m,onReady:t=>{t.setContent(e.initialValue??""),t.setReadOnly(e.disabled),r(t),t.events.onChange(t=>{const n=t.replace(/^\s+$/gm,"");e.saveValueToSDK(n),a(t)})}}),"preview"===l&&n.createElement(M,{direction:m,minHeight:e.minHeight,mode:"default",value:t,previewComponents:e.previewComponents}),n.createElement(I,null,n.createElement(S,{onClick:p})),n.createElement(N,{sdk:e.sdk,value:t}))}exports.MarkdownEditor=function(e){return n.createElement(l.FieldConnector,{throttle:300,field:e.sdk.field,isInitiallyDisabled:e.isInitiallyDisabled},({value:t,disabled:a,setValue:l,externalReset:o})=>n.createElement(Ye,{...e,key:"markdown-editor-"+o,initialValue:t,disabled:a,saveValueToSDK:l}))},exports.MarkdownPreview=M,exports.openMarkdownDialog=(e,t)=>a=>{var o,i,r,s,c,d,m;if((null==(o=a.parameters)?void 0:o.type)===Ce.cheatsheet)return l.ModalDialogLauncher.openDialog(a,()=>n.createElement(we,null));if((null==(i=a.parameters)?void 0:i.type)===Ce.insertLink){const e=a.parameters.selectedText;return l.ModalDialogLauncher.openDialog(a,({onClose:t})=>n.createElement(Te,{selectedText:e,onClose:t}))}if((null==(r=a.parameters)?void 0:r.type)===Ce.insertSpecialCharacter)return l.ModalDialogLauncher.openDialog(a,({onClose:e})=>n.createElement(Be,{onClose:e}));if((null==(s=a.parameters)?void 0:s.type)===Ce.insertTable)return l.ModalDialogLauncher.openDialog(a,({onClose:e})=>n.createElement(Le,{onClose:e}));if((null==(c=a.parameters)?void 0:c.type)===Ce.embedExternalContent)return l.ModalDialogLauncher.openDialog(a,({onClose:e})=>n.createElement(Ne,{onClose:e}));if((null==(d=a.parameters)?void 0:d.type)===Ce.confirmInsertAsset){const e=a.parameters.locale,t=a.parameters.assets;return l.ModalDialogLauncher.openDialog(a,({onClose:a})=>n.createElement(ye,{onClose:a,locale:e,assets:t}))}if((null==(m=a.parameters)?void 0:m.type)===Ce.zenMode){const o=a.parameters.initialValue,i=a.parameters.locale;return l.ModalDialogLauncher.openDialog(a,({onClose:a})=>n.createElement(Ae,{saveValueToSDK:t=>{var n,a;return t?null==e||null==(a=e.field)?void 0:a.setValue(t):null==e||null==(n=e.field)?void 0:n.removeValue()},onClose:a,initialValue:o,locale:i,sdk:e,previewComponents:t}))}return Promise.reject()},exports.renderMarkdownDialog=e=>{const t=e.parameters.invocation;if(t.type===Ce.cheatsheet)return e.window.startAutoResizer(),n.createElement(we,null);if(t.type===Ce.insertLink){const a=t.selectedText;return e.window.startAutoResizer(),n.createElement(Te,{selectedText:a,onClose:e.close})}if(t.type===Ce.insertSpecialCharacter)return e.window.startAutoResizer(),n.createElement(Be,{onClose:e.close});if(t.type===Ce.insertTable)return e.window.startAutoResizer(),n.createElement(Le,{onClose:e.close});if(t.type===Ce.embedExternalContent)return e.window.startAutoResizer(),n.createElement(Ne,{onClose:e.close});if(t.type===Ce.confirmInsertAsset){const a=t.locale,l=t.assets;return e.window.startAutoResizer(),n.createElement(ye,{onClose:e.close,locale:a,assets:l})}if(t.type===Ce.zenMode){const a=t.locale,l=t.initialValue;return e.window.updateHeight("100%"),n.createElement(Ae,{onClose:e.close,saveValueToSDK:()=>{},initialValue:l,locale:a,sdk:e})}return n.createElement("div",null)};
|
|
216
216
|
//# sourceMappingURL=field-editor-markdown.cjs.production.min.js.map
|