@jimka/typescript-ui 0.1.0 → 0.1.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/README.md +5 -18
- package/dist/lib/AbstractBooleanInput-C6CidMMX.js +2 -0
- package/dist/lib/AbstractBooleanInput-C6CidMMX.js.map +1 -0
- package/dist/lib/AbstractInput-CfjW_HM2.js +2 -0
- package/dist/lib/AbstractInput-CfjW_HM2.js.map +1 -0
- package/dist/lib/AnimatedDropdown-BFz-DO7R.js +2 -0
- package/dist/lib/AnimatedDropdown-BFz-DO7R.js.map +1 -0
- package/dist/lib/Border-5Ki2DCWz.js +2 -0
- package/dist/lib/Border-5Ki2DCWz.js.map +1 -0
- package/dist/lib/BoxLayout-8ryMD4j5.js +2 -0
- package/dist/lib/BoxLayout-8ryMD4j5.js.map +1 -0
- package/dist/lib/Button-Cdq2ySPL.js +2 -0
- package/dist/lib/Button-Cdq2ySPL.js.map +1 -0
- package/dist/lib/Card-AKIUAWYS.js +2 -0
- package/dist/lib/Card-AKIUAWYS.js.map +1 -0
- package/dist/lib/ComboBox-e_YVsWBr.js +2 -0
- package/dist/lib/ComboBox-e_YVsWBr.js.map +1 -0
- package/dist/lib/Component-Bs6TvaGZ.js +2 -0
- package/dist/lib/Component-Bs6TvaGZ.js.map +1 -0
- package/dist/lib/Container-CzyZeMyZ.js +2 -0
- package/dist/lib/Container-CzyZeMyZ.js.map +1 -0
- package/dist/lib/DOM-DeF_dWe2.js +2 -0
- package/dist/lib/DOM-DeF_dWe2.js.map +1 -0
- package/dist/lib/DragManager-c6M_mE3e.js +2 -0
- package/dist/lib/DragManager-c6M_mE3e.js.map +1 -0
- package/dist/lib/FieldDecorator-Bl0h9UEF.js +2 -0
- package/dist/lib/FieldDecorator-Bl0h9UEF.js.map +1 -0
- package/dist/lib/Fit-CUS1JXy3.js +2 -0
- package/dist/lib/Fit-CUS1JXy3.js.map +1 -0
- package/dist/lib/Glyph-6Ki3A1_a.js +2 -0
- package/dist/lib/Glyph-6Ki3A1_a.js.map +1 -0
- package/dist/lib/Grid-D8luwRPI.js +2 -0
- package/dist/lib/Grid-D8luwRPI.js.map +1 -0
- package/dist/lib/GridConstraints-CzC0w4i-.js +2 -0
- package/dist/lib/GridConstraints-CzC0w4i-.js.map +1 -0
- package/dist/lib/HBox-BWMf9h6r.js +2 -0
- package/dist/lib/HBox-BWMf9h6r.js.map +1 -0
- package/dist/lib/Header-CQjomjo0.js +2 -0
- package/dist/lib/Header-CQjomjo0.js.map +1 -0
- package/dist/lib/IconText-BXJK0MOq.js +2 -0
- package/dist/lib/IconText-BXJK0MOq.js.map +1 -0
- package/dist/lib/LayoutSerialization-C_zcwaN3.js +2 -0
- package/dist/lib/LayoutSerialization-C_zcwaN3.js.map +1 -0
- package/dist/lib/LayoutSizes-XdhpAOmc.js +2 -0
- package/dist/lib/LayoutSizes-XdhpAOmc.js.map +1 -0
- package/dist/lib/List-BgxnLWnl.js +2 -0
- package/dist/lib/List-BgxnLWnl.js.map +1 -0
- package/dist/lib/Menu-BdnwRY0M.js +2 -0
- package/dist/lib/Menu-BdnwRY0M.js.map +1 -0
- package/dist/lib/MenuButton-D15cSbMf.js +2 -0
- package/dist/lib/MenuButton-D15cSbMf.js.map +1 -0
- package/dist/lib/Panel-DApa7vA6.js +2 -0
- package/dist/lib/Panel-DApa7vA6.js.map +1 -0
- package/dist/lib/Position-DJKB0N3l.js +2 -0
- package/dist/lib/Position-DJKB0N3l.js.map +1 -0
- package/dist/lib/ProgressSpinner-CNYcsBhw.js +2 -0
- package/dist/lib/ProgressSpinner-CNYcsBhw.js.map +1 -0
- package/dist/lib/RadioButton-CepkneSA.js +2 -0
- package/dist/lib/RadioButton-CepkneSA.js.map +1 -0
- package/dist/lib/RovingTabIndex-D-zOuptw.js +2 -0
- package/dist/lib/RovingTabIndex-D-zOuptw.js.map +1 -0
- package/dist/lib/Scrollbar-DQdCdj94.js +2 -0
- package/dist/lib/Scrollbar-DQdCdj94.js.map +1 -0
- package/dist/lib/Slider-DvDdVvRm.js +2 -0
- package/dist/lib/Slider-DvDdVvRm.js.map +1 -0
- package/dist/lib/Spacer-BqiPiCqz.js +2 -0
- package/dist/lib/Spacer-BqiPiCqz.js.map +1 -0
- package/dist/lib/TabButton-DqYDfN7P.js +2 -0
- package/dist/lib/TabButton-DqYDfN7P.js.map +1 -0
- package/dist/lib/Text-DJoUHukb.js +2 -0
- package/dist/lib/Text-DJoUHukb.js.map +1 -0
- package/dist/lib/Tooltip-5BR7yYEX.js +3 -0
- package/dist/lib/Tooltip-5BR7yYEX.js.map +1 -0
- package/dist/lib/VBox-CdV9VGxR.js +2 -0
- package/dist/lib/VBox-CdV9VGxR.js.map +1 -0
- package/dist/lib/VirtualRowView-C18j90n5.js +2 -0
- package/dist/lib/VirtualRowView-C18j90n5.js.map +1 -0
- package/dist/lib/VirtualScroller-BKMvTisA.js +2 -0
- package/dist/lib/VirtualScroller-BKMvTisA.js.map +1 -0
- package/dist/lib/component/button.es.js +1 -1
- package/dist/lib/component/button.es.js.map +1 -1
- package/dist/lib/component/chart.es.js +1 -1
- package/dist/lib/component/chart.es.js.map +1 -1
- package/dist/lib/component/container.es.js +1 -1
- package/dist/lib/component/container.es.js.map +1 -1
- package/dist/lib/component/diagram.es.js +1 -1
- package/dist/lib/component/diagram.es.js.map +1 -1
- package/dist/lib/component/display.es.js +1 -1
- package/dist/lib/component/display.es.js.map +1 -1
- package/dist/lib/component/editor.es.js +3 -1
- package/dist/lib/component/editor.es.js.map +1 -1
- package/dist/lib/component/input.es.js +1 -1
- package/dist/lib/component/input.es.js.map +1 -1
- package/dist/lib/component/list.es.js +1 -1
- package/dist/lib/component/list.es.js.map +1 -1
- package/dist/lib/component/menubar.es.js +1 -1
- package/dist/lib/component/menubar.es.js.map +1 -1
- package/dist/lib/component/table.es.js +2 -2
- package/dist/lib/component/table.es.js.map +1 -1
- package/dist/lib/component/tree.es.js +1 -1
- package/dist/lib/component/tree.es.js.map +1 -1
- package/dist/lib/core.es.js +1 -1
- package/dist/lib/core.es.js.map +1 -1
- package/dist/lib/layout.es.js +1 -1
- package/dist/lib/overlay.es.js +1 -1
- package/dist/lib/overlay.es.js.map +1 -1
- package/dist/lib/primitive.es.js +1 -1
- package/dist/lib/router.es.js +2 -0
- package/dist/lib/router.es.js.map +1 -0
- package/dist/lib/types/component/container/SplitGutter.d.ts +1 -1
- package/dist/lib/types/component/container/WindowBorder.d.ts +1 -1
- package/dist/lib/types/component/display/Markdown.d.ts +10 -0
- package/dist/lib/types/component/display/index.d.ts +1 -1
- package/dist/lib/types/component/editor/MarkdownEditor.d.ts +6 -0
- package/dist/lib/types/component/editor/markdownTableTransformer.d.ts +2 -0
- package/dist/lib/types/core/DOM.d.ts +6 -0
- package/dist/lib/types/overlay/AbstractWindow.d.ts +1 -1
- package/dist/lib/types/router/RoutePattern.d.ts +18 -0
- package/dist/lib/types/router/Router.d.ts +36 -0
- package/dist/lib/types/router/index.d.ts +2 -0
- package/dist/lib/validation.es.js +1 -1
- package/llms.txt +8 -4
- package/package.json +6 -1
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
import{n as e,u as t}from"../Position-B-WfZYAJ.js";import{_ as n,f as r,h as i,m as a,n as o,t as s,y as c}from"../Component-BR2f0Itb.js";import{t as l}from"../ListenerBag-WPdKuuds.js";import{t as ee}from"../Card-UF0fq8cQ.js";import{EditorView as u,drawSelection as te,highlightActiveLine as ne,highlightActiveLineGutter as re,keymap as ie,lineNumbers as ae}from"@codemirror/view";import{Compartment as d,EditorState as f}from"@codemirror/state";import{defaultKeymap as oe,history as se,historyKeymap as ce}from"@codemirror/commands";import{HighlightStyle as le,bracketMatching as ue,indentOnInput as de,indentRange as fe,syntaxHighlighting as pe}from"@codemirror/language";import{tags as p}from"@lezer/highlight";import{$createParagraphNode as me,$getSelection as m,$isRangeSelection as h,FORMAT_TEXT_COMMAND as g,createEditor as he}from"lexical";import{$convertFromMarkdownString as _,$convertToMarkdownString as v,BOLD_STAR as ge,CODE as y,HEADING as b,INLINE_CODE as x,ITALIC_STAR as S,LINK as C,ORDERED_LIST as w,QUOTE as T,UNORDERED_LIST as E,registerMarkdownShortcuts as D}from"@lexical/markdown";import{$createHeadingNode as O,$createQuoteNode as k,HeadingNode as A,QuoteNode as j,registerRichText as M}from"@lexical/rich-text";import{INSERT_ORDERED_LIST_COMMAND as N,INSERT_UNORDERED_LIST_COMMAND as P,ListItemNode as F,ListNode as I,registerList as L}from"@lexical/list";import{$toggleLink as _e,LinkNode as R}from"@lexical/link";import{$createCodeNode as ve,CodeHighlightNode as ye,CodeNode as be}from"@lexical/code";import{createEmptyHistoryState as xe,registerHistory as Se}from"@lexical/history";import{mergeRegister as Ce}from"@lexical/utils";import{$setBlocksType as we}from"@lexical/selection";var z=new Map;function registerLanguage(e){z.set(e.id,e)}function getLanguage(e){return z.get(e)}function listLanguages(){return Array.from(z.values())}function formatWithPrettier(e,t){return async(n,r)=>{let[{formatWithCursor:i},a]=await Promise.all([import(`prettier/standalone`),t()]);return i(n,{parser:e,plugins:a,cursorOffset:r})}}var formatWithSql=async(e,t)=>{let{format:n}=await import(`sql-formatter`),r=n(e);return{formatted:r,cursorOffset:Math.min(t,r.length)}};async function loadBabelPlugins(){let[e,t]=await Promise.all([import(`prettier/plugins/babel`),import(`prettier/plugins/estree`)]);return[e,t]}registerLanguage({id:`javascript`,label:`JavaScript / TypeScript`,loadExtension:async()=>{let{javascript:e}=await import(`@codemirror/lang-javascript`);return e({typescript:!0})},loadFormatter:async()=>formatWithPrettier(`babel-ts`,loadBabelPlugins)}),registerLanguage({id:`json`,label:`JSON`,loadExtension:async()=>{let{json:e}=await import(`@codemirror/lang-json`);return e()},loadFormatter:async()=>formatWithPrettier(`json`,loadBabelPlugins)}),registerLanguage({id:`html`,label:`HTML`,loadExtension:async()=>{let{html:e}=await import(`@codemirror/lang-html`);return e()},loadFormatter:async()=>formatWithPrettier(`html`,async()=>[await import(`prettier/plugins/html`)])}),registerLanguage({id:`sql`,label:`SQL`,loadExtension:async()=>{let{sql:e}=await import(`@codemirror/lang-sql`);return e()},loadFormatter:async()=>formatWithSql}),registerLanguage({id:`markdown`,label:`Markdown`,loadExtension:async()=>{let{markdown:e}=await import(`@codemirror/lang-markdown`);return e()},loadFormatter:async()=>formatWithPrettier(`markdown`,async()=>[await import(`prettier/plugins/markdown`)])});var B=`#2563eb`,V=`#16a34a`,H=`#6b7280`,Te=`#d97706`,Ee=`#7c3aed`,De=`#0891b2`,Oe=`#be185d`;function codeEditorTheme(e){return[u.theme({"&":{height:`100%`,color:`var(--ts-ui-text-color, #1a1a1a)`,backgroundColor:`var(--ts-ui-input-bg, #ffffff)`},".cm-content":{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,caretColor:`var(--ts-ui-indicator-focus, #2563eb)`,cursor:`text`},".cm-gutters":{color:`var(--ts-ui-text-color, #1a1a1a)`,backgroundColor:`var(--ts-ui-input-bg, #ffffff)`,borderRight:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`},"&.cm-focused .cm-cursor":{borderLeftColor:`var(--ts-ui-indicator-focus, #2563eb)`},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground":{backgroundColor:`var(--ts-ui-indicator-selection, rgba(37, 99, 235, 0.25))`},".cm-activeLine, .cm-activeLineGutter":{backgroundColor:`rgba(127, 127, 127, 0.08)`}},{dark:e}),pe(le.define([{tag:p.keyword,color:B},{tag:[p.string,p.special(p.string)],color:V},{tag:p.comment,color:H,fontStyle:`italic`},{tag:[p.number,p.bool,p.null],color:Te},{tag:[p.definition(p.variableName),p.function(p.variableName)],color:Ee},{tag:p.typeName,color:De},{tag:[p.propertyName,p.attributeName],color:Oe},{tag:p.tagName,color:B},{tag:[p.heading,p.heading1,p.heading2,p.heading3,p.heading4,p.heading5,p.heading6],color:B,fontWeight:`bold`},{tag:p.strong,fontWeight:`bold`},{tag:p.emphasis,fontStyle:`italic`},{tag:p.monospace,color:V},{tag:[p.link,p.url],color:B,textDecoration:`underline`},{tag:[p.quote,p.contentSeparator],color:H},{tag:p.processingInstruction,color:H}]))]}var ke=300,Ae=.16,je=`var(--ts-ui-validation-error-border, #dc2626)`;function buildReadOnlyExtension(e){return f.readOnly.of(e)}var CodeEditor=class extends s{_view=null;_flashOverlay=null;_langCompartment=new d;_readOnlyCompartment=new d;_themeCompartment=new d;_listeners=new l;_unsubscribeTheme;_onWheelClaim=e=>this.claimScrollableWheel(e);constructor(e,t){super(t),e!==void 0&&this._options.value===void 0&&(this._options.value=e),this._unsubscribeTheme=o.onThemeChange(()=>this.onThemeChange()),this.applyListeners(t?.listeners),this.onFirstLayout(()=>this.mount())}applyOptions(e){return super.applyOptions(e),e.value!==void 0&&(this._options.value=e.value),e.language!==void 0&&(this._options.language=e.language),e.readOnly!==void 0&&(this._options.readOnly=e.readOnly),this}getValue(){return this._view?this._view.state.doc.toString():this._options.value??``}setValue(e){return this._options.value=e,this._view&&this._view.dispatch({changes:{from:0,to:this._view.state.doc.length,insert:e}}),this}getLanguage(){return this._options.language??null}setLanguage(e){if(this._options.language=e??void 0,!this._view)return this;if(!e)return this._view.dispatch({effects:this._langCompartment.reconfigure([])}),this;let t=getLanguage(e);return t&&t.loadExtension().then(t=>{this._view&&this.getLanguage()===e&&this._view.dispatch({effects:this._langCompartment.reconfigure(t)})}),this}getReadOnly(){return this._options.readOnly??!1}setReadOnly(e){return this._options.readOnly=e,this._view&&this._view.dispatch({effects:this._readOnlyCompartment.reconfigure(buildReadOnlyExtension(e))}),this}focus(e=!1){return this._view?(this._view.focus(),this):super.focus(e)}moveCursorToEnd(){if(this._view){let e=this._view.state.doc.length;this._view.dispatch({selection:{anchor:e},scrollIntoView:!0})}return this}async format(){let e=this.getLanguage(),t=e?getLanguage(e):void 0;if(!t?.loadFormatter){this.reindentFallback();return}let n=await(await t.loadFormatter())(this.getValue(),this._view?this._view.state.selection.main.head:0);this._options.value=n.formatted,this._view&&this._view.dispatch({changes:{from:0,to:this._view.state.doc.length,insert:n.formatted},selection:{anchor:Math.min(n.cursorOffset,n.formatted.length)}})}reindentFallback(){this._view&&this._view.dispatch({changes:fe(this._view.state,0,this._view.state.doc.length)})}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,t){this._listeners.fire(e,...t?[t]:[])}dispose(){this._unsubscribeTheme(),this._view&&c.removeSubtreeListener(this,`wheel`,this._onWheelClaim),this._view?.destroy()}claimScrollableWheel(e){let t=this._view?.scrollDOM;if(!t)return;let n=t.scrollWidth>t.clientWidth,r=t.scrollHeight>t.clientHeight,i=e.deltaX!==0||e.shiftKey&&e.deltaY!==0;(e.deltaY!==0&&!e.shiftKey&&r||i&&n)&&a(e)}mount(){if(this._view)return;let e=this.getElement();if(!e)return;let n=o.getTheme().colorScheme===`dark`,r=[se(),ie.of([...oe,...ce]),te(),ae(),ne(),re(),de(),ue(),this._readOnlyCompartment.of(buildReadOnlyExtension(this.getReadOnly())),this._themeCompartment.of(codeEditorTheme(n)),this._langCompartment.of([]),u.updateListener.of(e=>{e.docChanged&&(this._options.value=e.state.doc.toString(),this.emit(`change`,{value:this._options.value}))}),u.domEventHandlers({beforeinput:()=>this.onEditIntent(),paste:()=>this.onEditIntent(),drop:()=>this.onEditIntent()})],i=f.create({doc:this._options.value??``,extensions:r});this._view=t.sink.mountView(e,e=>new u({parent:e,state:i})),this._view&&(this.mountFlashOverlay(e),c.addSubtreeListener(this,`wheel`,this._onWheelClaim,{passive:!1}));let a=this.getLanguage();a&&this.setLanguage(a)}mountFlashOverlay(e){let n=this.trackHandle(t.sink.createElement(`div`));t.sink.apply(n,{style:{position:`absolute`,inset:`0`,pointerEvents:`none`,zIndex:`300`,backgroundColor:je,opacity:`0`}}),t.sink.appendChild(e,n),this._flashOverlay=n}onThemeChange(){if(!this._view)return;let e=o.getTheme().colorScheme===`dark`;this._view.dispatch({effects:this._themeCompartment.reconfigure(codeEditorTheme(e))})}onEditIntent(){return this.getReadOnly()&&this.signalReadOnlyEdit(),!1}signalReadOnlyEdit(){this.emit(`readonlyedit`),this.flashReadOnly()}flashReadOnly(){this._flashOverlay&&i.play(this._flashOverlay,{from:{opacity:String(Ae)},to:{opacity:`0`},durationMs:ke,properties:[`opacity`]})}},U=r(CodeEditor),W=[b,T,y,E,w,ge,S,x,C],Me=[A,j,I,F,R,be,ye],G=`ts-ui-mde-heading`,K=`ts-ui-mde-quote`,q=`ts-ui-mde-code`,J=`ts-ui-mde-inline-code`,Y=`ts-ui-mde-list`,X=`ts-ui-mde-link`,Z=`ts-ui-mde-bold`,Q=`ts-ui-mde-italic`,$=!1;function ensureMarkdownEditorClassRules(){$||($=!0,new n({scope:`class`,name:G,styles:{fontWeight:`600`}}),new n({scope:`class`,name:K,styles:{borderLeft:`3px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,paddingLeft:`1em`,marginLeft:`0`}}),new n({scope:`class`,name:q,styles:{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,background:`rgba(127, 127, 127, 0.16)`,borderRadius:`var(--ts-ui-border-radius, 3px)`,padding:`0.6em 0.8em`,whiteSpace:`pre-wrap`}}),new n({scope:`class`,name:J,styles:{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,background:`rgba(127, 127, 127, 0.16)`,borderRadius:`var(--ts-ui-border-radius, 3px)`,padding:`0.1em 0.3em`}}),new n({scope:`class`,name:Y,styles:{paddingLeft:`1.5em`}}),new n({scope:`class`,name:X,styles:{color:`var(--ts-ui-indicator-focus, #2563eb)`}}),new n({scope:`class`,name:Z,styles:{fontWeight:`700`}}),new n({scope:`class`,name:Q,styles:{fontStyle:`italic`}}))}var Ne={heading:{h1:G,h2:G,h3:G,h4:G,h5:G,h6:G},quote:K,code:q,list:{ul:Y,ol:Y},text:{bold:Z,italic:Q,code:J},link:X},Pe=300;function reportEditorError(e){throw e}function createBlockNode(e){switch(e){case`quote`:return k();case`code`:return ve();case`paragraph`:return me();default:return O(e)}}var WysiwygSurface=class extends s{_contentEditable=!1;_onReady;constructor(t){super(),this._onReady=t,this.setContentEditable(!0),this.setOverflow(`auto`),this.setPadding(new e(4,6,4,6)),this.setCursor(`text`),this.onFirstLayout(()=>this._onReady())}init(e){super.init(e);let n=e??this.getElement();return n&&t.sink.apply(n,{setAttr:{contenteditable:this._contentEditable?`true`:`false`}}),this}setContentEditable(e){return this._contentEditable=e,this.setElementAttribute(`contenteditable`,e?`true`:`false`),this}getContentEditable(){return this._contentEditable}mount(e){if(e.getRootElement())return;let n=this.getElement();n&&(ensureMarkdownEditorClassRules(),t.sink.mountView(n,t=>(e.setRootElement(t),t)))}},MarkdownEditor=class extends s{_editor=null;_unregister=null;_listeners=new l;_card;_wysiwyg;_codeEditor;constructor(e,t){super(t),e!==void 0&&this._options.value===void 0&&(this._options.value=e),this._card=new ee,this.setLayoutManager(this._card),this._wysiwyg=new WysiwygSurface(()=>this.mountWysiwyg()),this._codeEditor=new U(this._options.value??``,{language:`markdown`,readOnly:this._options.readOnly??!1,listeners:{change:e=>this.handleCodeChange(e)}}),this.addComponent(this._wysiwyg),this.addComponent(this._codeEditor),this._card.setVisibleComponentId(this.getMode()===`source`?this._codeEditor.getId():this._wysiwyg.getId()),this.applyListeners(t?.listeners)}applyOptions(e){return super.applyOptions(e),e.value!==void 0&&(this._options.value=e.value),e.readOnly!==void 0&&(this._options.readOnly=e.readOnly),e.mode!==void 0&&(this._options.mode=e.mode),this}getMode(){return this._options.mode??`wysiwyg`}setMode(e){if(this.getMode()===e)return this;let t=this.getValue();return this._options.mode=e,e===`source`?(this._codeEditor.setValue(t),this._card.setVisibleComponentId(this._codeEditor.getId())):(this.ensureEditor().update(()=>_(t,W),{discrete:!0}),this._card.setVisibleComponentId(this._wysiwyg.getId())),this}getValue(){if(this.getMode()===`source`)return this._codeEditor.getValue();let e=this._editor;return e?e.read(()=>v(W)):this._options.value??``}setValue(e){return this.getMode()===`source`?(this._codeEditor.setValue(e),this):(this.ensureEditor().update(()=>_(e,W),{discrete:!0}),this)}getReadOnly(){return this._options.readOnly??!1}setReadOnly(e){return this._options.readOnly=e,this._editor?.setEditable(!e),this._codeEditor.setReadOnly(e),this}focus(e=!1){return this.getMode()===`source`?this._codeEditor.focus(e):this.ensureEditor().focus(),this}toggleBold(){return this.ensureEditor().dispatchCommand(g,`bold`),this}toggleItalic(){return this.ensureEditor().dispatchCommand(g,`italic`),this}toggleInlineCode(){return this.ensureEditor().dispatchCommand(g,`code`),this}toggleUnorderedList(){return this.ensureEditor().dispatchCommand(P,void 0),this}toggleOrderedList(){return this.ensureEditor().dispatchCommand(N,void 0),this}toggleLink(e){return this.ensureEditor().update(()=>{h(m())&&_e(e)},{discrete:!0}),this}setBlockType(e){return this.ensureEditor().update(()=>{let t=m();h(t)&&we(t,()=>createBlockNode(e))},{discrete:!0}),this}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,t){this._listeners.fire(e,t)}setContentEditable(e){return this._wysiwyg.setContentEditable(e),this}getContentEditable(){return this._wysiwyg.getContentEditable()}dispose(){this._unregister?.(),this._editor?.setRootElement(null),this._codeEditor.dispose()}ensureEditor(){if(!this._editor){let e=he({nodes:Me,theme:Ne,onError:reportEditorError});e.update(()=>_(this._options.value??``,W),{discrete:!0}),e.setEditable(!(this._options.readOnly??!1)),this._unregister=Ce(M(e),L(e),Se(e,xe(),Pe),D(e,W),e.registerUpdateListener(()=>this.handleChange())),this._editor=e}return this._editor}mountWysiwyg(){this._wysiwyg.mount(this.ensureEditor())}handleChange(){let e=this._editor;if(!e)return;let t=e.read(()=>v(W));t!==this._options.value&&(this._options.value=t,this.emit(`change`,{value:t}))}handleCodeChange(e){e.value!==this._options.value&&(this._options.value=e.value,this.emit(`change`,{value:e.value}))}},Fe=r(MarkdownEditor);export{U as CodeEditor,Fe as MarkdownEditor,getLanguage,listLanguages,registerLanguage};
|
|
1
|
+
import{t as e}from"../DOM-DeF_dWe2.js";import{n as t}from"../Position-DJKB0N3l.js";import{_ as n,f as r,h as i,m as a,n as o,t as s,y as c}from"../Component-Bs6TvaGZ.js";import{t as l}from"../ListenerBag-WPdKuuds.js";import{t as u}from"../Card-AKIUAWYS.js";import{EditorView as d,drawSelection as ee,highlightActiveLine as te,highlightActiveLineGutter as ne,keymap as re,lineNumbers as ie}from"@codemirror/view";import{Compartment as f,EditorState as p}from"@codemirror/state";import{defaultKeymap as ae,history as oe,historyKeymap as se,indentWithTab as ce}from"@codemirror/commands";import{HighlightStyle as le,bracketMatching as ue,indentOnInput as de,indentRange as fe,syntaxHighlighting as pe}from"@codemirror/language";import{tags as m}from"@lezer/highlight";import{$createParagraphNode as me,$getRoot as he,$getSelection as h,$isRangeSelection as g,FORMAT_TEXT_COMMAND as _,createEditor as ge}from"lexical";import{$convertFromMarkdownString as v,$convertToMarkdownString as y,BOLD_STAR as _e,CODE as ve,HEADING as ye,INLINE_CODE as be,ITALIC_STAR as xe,LINK as Se,ORDERED_LIST as Ce,QUOTE as we,UNORDERED_LIST as Te,registerMarkdownShortcuts as b}from"@lexical/markdown";import{$createHeadingNode as x,$createQuoteNode as S,HeadingNode as C,QuoteNode as w,registerRichText as T}from"@lexical/rich-text";import{INSERT_ORDERED_LIST_COMMAND as E,INSERT_UNORDERED_LIST_COMMAND as D,ListItemNode as O,ListNode as Ee,registerList as De}from"@lexical/list";import{$toggleLink as Oe,LinkNode as ke}from"@lexical/link";import{$createCodeNode as Ae,CodeHighlightNode as je,CodeNode as Me}from"@lexical/code";import{createEmptyHistoryState as Ne,registerHistory as Pe}from"@lexical/history";import{$createTableCellNode as Fe,$createTableNode as Ie,$createTableRowNode as Le,$deleteTableColumnAtSelection as Re,$deleteTableRowAtSelection as ze,$getTableCellNodeFromLexicalNode as Be,$insertTableColumnAtSelection as Ve,$insertTableRowAtSelection as He,$isTableCellNode as k,$isTableNode as Ue,$isTableRowNode as We,INSERT_TABLE_COMMAND as A,TableCellHeaderStates as j,TableCellNode as M,TableNode as N,TableRowNode as P,registerTableCellUnmergeTransform as Ge,registerTablePlugin as Ke,registerTableSelectionObserver as qe}from"@lexical/table";import{mergeRegister as Je}from"@lexical/utils";import{$setBlocksType as Ye}from"@lexical/selection";var F=new Map;function registerLanguage(e){F.set(e.id,e)}function getLanguage(e){return F.get(e)}function listLanguages(){return Array.from(F.values())}function formatWithPrettier(e,t){return async(n,r)=>{let[{formatWithCursor:i},a]=await Promise.all([import(`prettier/standalone`),t()]);return i(n,{parser:e,plugins:a,cursorOffset:r})}}var formatWithSql=async(e,t)=>{let{format:n}=await import(`sql-formatter`),r=n(e);return{formatted:r,cursorOffset:Math.min(t,r.length)}};async function loadBabelPlugins(){let[e,t]=await Promise.all([import(`prettier/plugins/babel`),import(`prettier/plugins/estree`)]);return[e,t]}registerLanguage({id:`javascript`,label:`JavaScript / TypeScript`,loadExtension:async()=>{let{javascript:e}=await import(`@codemirror/lang-javascript`);return e({typescript:!0})},loadFormatter:async()=>formatWithPrettier(`babel-ts`,loadBabelPlugins)}),registerLanguage({id:`json`,label:`JSON`,loadExtension:async()=>{let{json:e}=await import(`@codemirror/lang-json`);return e()},loadFormatter:async()=>formatWithPrettier(`json`,loadBabelPlugins)}),registerLanguage({id:`html`,label:`HTML`,loadExtension:async()=>{let{html:e}=await import(`@codemirror/lang-html`);return e()},loadFormatter:async()=>formatWithPrettier(`html`,async()=>[await import(`prettier/plugins/html`)])}),registerLanguage({id:`sql`,label:`SQL`,loadExtension:async()=>{let{sql:e}=await import(`@codemirror/lang-sql`);return e()},loadFormatter:async()=>formatWithSql}),registerLanguage({id:`markdown`,label:`Markdown`,loadExtension:async()=>{let{markdown:e}=await import(`@codemirror/lang-markdown`);return e()},loadFormatter:async()=>formatWithPrettier(`markdown`,async()=>[await import(`prettier/plugins/markdown`)])});var I=`#2563eb`,L=`#16a34a`,R=`#6b7280`,Xe=`#d97706`,Ze=`#7c3aed`,Qe=`#0891b2`,$e=`#be185d`;function codeEditorTheme(e){return[d.theme({"&":{height:`100%`,color:`var(--ts-ui-text-color, #1a1a1a)`,backgroundColor:`var(--ts-ui-input-bg, #ffffff)`},".cm-content":{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,caretColor:`var(--ts-ui-indicator-focus, #2563eb)`,cursor:`text`},".cm-gutters":{color:`var(--ts-ui-text-color, #1a1a1a)`,backgroundColor:`var(--ts-ui-input-bg, #ffffff)`,borderRight:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`},"&.cm-focused .cm-cursor":{borderLeftColor:`var(--ts-ui-indicator-focus, #2563eb)`},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground":{backgroundColor:`var(--ts-ui-indicator-selection, rgba(37, 99, 235, 0.25))`},".cm-activeLine, .cm-activeLineGutter":{backgroundColor:`rgba(127, 127, 127, 0.08)`}},{dark:e}),pe(le.define([{tag:m.keyword,color:I},{tag:[m.string,m.special(m.string)],color:L},{tag:m.comment,color:R,fontStyle:`italic`},{tag:[m.number,m.bool,m.null],color:Xe},{tag:[m.definition(m.variableName),m.function(m.variableName)],color:Ze},{tag:m.typeName,color:Qe},{tag:[m.propertyName,m.attributeName],color:$e},{tag:m.tagName,color:I},{tag:[m.heading,m.heading1,m.heading2,m.heading3,m.heading4,m.heading5,m.heading6],color:I,fontWeight:`bold`},{tag:m.strong,fontWeight:`bold`},{tag:m.emphasis,fontStyle:`italic`},{tag:m.monospace,color:L},{tag:[m.link,m.url],color:I,textDecoration:`underline`},{tag:[m.quote,m.contentSeparator],color:R},{tag:m.processingInstruction,color:R}]))]}var et=300,tt=.16,nt=`var(--ts-ui-validation-error-border, #dc2626)`;function buildReadOnlyExtension(e){return p.readOnly.of(e)}var CodeEditor=class extends s{_view=null;_flashOverlay=null;_langCompartment=new f;_readOnlyCompartment=new f;_themeCompartment=new f;_listeners=new l;_unsubscribeTheme;_onWheelClaim=e=>this.claimScrollableWheel(e);constructor(e,t){super(t),e!==void 0&&this._options.value===void 0&&(this._options.value=e),this._unsubscribeTheme=o.onThemeChange(()=>this.onThemeChange()),this.applyListeners(t?.listeners),this.onFirstLayout(()=>this.mount())}applyOptions(e){return super.applyOptions(e),e.value!==void 0&&(this._options.value=e.value),e.language!==void 0&&(this._options.language=e.language),e.readOnly!==void 0&&(this._options.readOnly=e.readOnly),this}getValue(){return this._view?this._view.state.doc.toString():this._options.value??``}setValue(e){return this._options.value=e,this._view&&this._view.dispatch({changes:{from:0,to:this._view.state.doc.length,insert:e}}),this}getLanguage(){return this._options.language??null}setLanguage(e){if(this._options.language=e??void 0,!this._view)return this;if(!e)return this._view.dispatch({effects:this._langCompartment.reconfigure([])}),this;let t=getLanguage(e);return t&&t.loadExtension().then(t=>{this._view&&this.getLanguage()===e&&this._view.dispatch({effects:this._langCompartment.reconfigure(t)})}),this}getReadOnly(){return this._options.readOnly??!1}setReadOnly(e){return this._options.readOnly=e,this._view&&this._view.dispatch({effects:this._readOnlyCompartment.reconfigure(buildReadOnlyExtension(e))}),this}focus(e=!1){return this._view?(this._view.focus(),this):super.focus(e)}moveCursorToEnd(){if(this._view){let e=this._view.state.doc.length;this._view.dispatch({selection:{anchor:e},scrollIntoView:!0})}return this}async format(){let e=this.getLanguage(),t=e?getLanguage(e):void 0;if(!t?.loadFormatter){this.reindentFallback();return}let n=await(await t.loadFormatter())(this.getValue(),this._view?this._view.state.selection.main.head:0);this._options.value=n.formatted,this._view&&this._view.dispatch({changes:{from:0,to:this._view.state.doc.length,insert:n.formatted},selection:{anchor:Math.min(n.cursorOffset,n.formatted.length)}})}reindentFallback(){this._view&&this._view.dispatch({changes:fe(this._view.state,0,this._view.state.doc.length)})}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,t){this._listeners.fire(e,...t?[t]:[])}dispose(){this._unsubscribeTheme(),this._view&&c.removeSubtreeListener(this,`wheel`,this._onWheelClaim),this._view?.destroy()}claimScrollableWheel(e){let t=this._view?.scrollDOM;if(!t)return;let n=t.scrollWidth>t.clientWidth,r=t.scrollHeight>t.clientHeight,i=e.deltaX!==0||e.shiftKey&&e.deltaY!==0;(e.deltaY!==0&&!e.shiftKey&&r||i&&n)&&a(e)}mount(){if(this._view)return;let t=this.getElement();if(!t)return;let n=o.getTheme().colorScheme===`dark`,r=[oe(),re.of([...ae,...se,ce]),ee(),ie(),te(),ne(),de(),ue(),this._readOnlyCompartment.of(buildReadOnlyExtension(this.getReadOnly())),this._themeCompartment.of(codeEditorTheme(n)),this._langCompartment.of([]),d.updateListener.of(e=>{e.docChanged&&(this._options.value=e.state.doc.toString(),this.emit(`change`,{value:this._options.value}))}),d.domEventHandlers({beforeinput:()=>this.onEditIntent(),paste:()=>this.onEditIntent(),drop:()=>this.onEditIntent()})],i=p.create({doc:this._options.value??``,extensions:r});this._view=e.sink.mountView(t,e=>new d({parent:e,state:i})),this._view&&(this.mountFlashOverlay(t),c.addSubtreeListener(this,`wheel`,this._onWheelClaim,{passive:!1}));let a=this.getLanguage();a&&this.setLanguage(a)}mountFlashOverlay(t){let n=this.trackHandle(e.sink.createElement(`div`));e.sink.apply(n,{style:{position:`absolute`,inset:`0`,pointerEvents:`none`,zIndex:`300`,backgroundColor:nt,opacity:`0`}}),e.sink.appendChild(t,n),this._flashOverlay=n}onThemeChange(){if(!this._view)return;let e=o.getTheme().colorScheme===`dark`;this._view.dispatch({effects:this._themeCompartment.reconfigure(codeEditorTheme(e))})}onEditIntent(){return this.getReadOnly()&&this.signalReadOnlyEdit(),!1}signalReadOnlyEdit(){this.emit(`readonlyedit`),this.flashReadOnly()}flashReadOnly(){this._flashOverlay&&i.play(this._flashOverlay,{from:{opacity:String(tt)},to:{opacity:`0`},durationMs:et,properties:[`opacity`]})}},z=r(CodeEditor),rt=/\|/;function splitTableRow(e){let t=e.trim();t.startsWith(`|`)&&(t=t.slice(1)),t.endsWith(`|`)&&!t.endsWith(`\\|`)&&(t=t.slice(0,-1));let n=[],r=``;for(let e=0;e<t.length;e+=1){let i=t[e];i===`\\`&&t[e+1]===`|`?(r+=`|`,e+=1):i===`|`?(n.push(r.trim()),r=``):r+=i}return n.push(r.trim()),n}function parseDelimiterRow(e){let t=splitTableRow(e),n=[];for(let e of t){if(!/^:?-+:?$/.test(e))return null;let t=e.startsWith(`:`),r=e.endsWith(`:`);t&&r?n.push(`center`):t?n.push(`left`):r?n.push(`right`):n.push(``)}return n}function formatDelimiterRow(e){return`| `+e.map(e=>{switch(e){case`left`:return`:---`;case`center`:return`:---:`;case`right`:return`---:`;default:return`---`}}).join(` | `)+` |`}function escapeCellText(e){return e.trim().replace(/\|/g,`\\|`).replace(/\n/g,`\\n`)}function createTableTransformer(e){return{dependencies:[N,P,M],regExpStart:rt,type:`multiline-element`,handleImportAfterStartMatch:({lines:t,rootNode:n,startLineIndex:r})=>{let i=t[r+1];if(i===void 0)return null;let a=parseDelimiterRow(i);if(a===null)return null;let o=splitTableRow(t[r]),s=o.length;if(a.length!==s)return null;let c=[o],l=r+1;for(let e=r+2;e<t.length;e+=1){let n=t[e];if(n.trim()===``)break;c.push(splitTableRow(n)),l=e}let u=Ie();return c.forEach((t,n)=>{let r=Le();for(let i=0;i<s;i+=1){let o=Fe(n===0?j.ROW:j.NO_STATUS);v((t[i]??``).replace(/\\n/g,`
|
|
2
|
+
`),e(),o),o.setFormat(a[i]??``),r.append(o)}u.append(r)}),n.append(u),[!0,l]},replace:()=>!1,export:t=>{if(!Ue(t))return null;let n=t.getChildren().filter(We);if(n.length===0)return null;let renderRow=t=>`| `+t.getChildren().filter(k).map(t=>escapeCellText(y(e(),t))).join(` | `)+` |`,r=n[0],i=r.getChildren().filter(k).map(e=>e.getFormatType()),a=[renderRow(r),formatDelimiterRow(i)];for(let e=1;e<n.length;e+=1)a.push(renderRow(n[e]));return a.join(`
|
|
3
|
+
`)}}}var B=[createTableTransformer(()=>B),ye,we,ve,Te,Ce,_e,xe,be,Se],it=[C,w,Ee,O,ke,Me,je,N,P,M],V=`ts-ui-mde-heading`,H=`ts-ui-mde-quote`,U=`ts-ui-mde-code`,W=`ts-ui-mde-inline-code`,G=`ts-ui-mde-list`,K=`ts-ui-mde-link`,q=`ts-ui-mde-bold`,J=`ts-ui-mde-italic`,Y=`ts-ui-mde-table`,at=`ts-ui-mde-table-row`,X=`ts-ui-mde-table-cell`,Z=`ts-ui-mde-table-cell-header`,Q=`ts-ui-mde-table-cell-selected`,$=!1;function ensureMarkdownEditorClassRules(){$||($=!0,new n({scope:`class`,name:V,styles:{fontWeight:`600`}}),new n({scope:`class`,name:H,styles:{borderLeft:`3px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,paddingLeft:`1em`,marginLeft:`0`}}),new n({scope:`class`,name:U,styles:{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,background:`rgba(127, 127, 127, 0.16)`,borderRadius:`var(--ts-ui-border-radius, 3px)`,padding:`0.6em 0.8em`,whiteSpace:`pre-wrap`,display:`block`,margin:`1em 0`}}),new n({scope:`class`,name:W,styles:{fontFamily:`var(--ts-ui-font-mono, ui-monospace, SFMono-Regular, Menlo, Consolas, monospace)`,background:`rgba(127, 127, 127, 0.16)`,borderRadius:`var(--ts-ui-border-radius, 3px)`,padding:`0.1em 0.3em`}}),new n({scope:`class`,name:G,styles:{paddingLeft:`1.5em`}}),new n({scope:`class`,name:K,styles:{color:`var(--ts-ui-indicator-focus, #2563eb)`}}),new n({scope:`class`,name:q,styles:{fontWeight:`700`}}),new n({scope:`class`,name:J,styles:{fontStyle:`italic`}}),new n({scope:`class`,name:Y,styles:{borderCollapse:`collapse`}}),new n({scope:`class`,name:X,styles:{border:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,padding:`0.3em 0.6em`}}),new n({scope:`class`,name:Z,styles:{border:`1px solid var(--ts-ui-border-color, rgba(127, 127, 127, 0.4))`,padding:`0.3em 0.6em`,fontWeight:`600`}}),new n({scope:`selector`,name:`.${X} > p`,styles:{margin:`0`}}),new n({scope:`class`,name:Q,styles:{backgroundColor:`var(--ts-ui-table-row-selected, rgba(30, 100, 200, 0.15))`}}))}var ot={heading:{h1:V,h2:V,h3:V,h4:V,h5:V,h6:V},quote:H,code:U,list:{ul:G,ol:G},text:{bold:q,italic:J,code:W},link:K,table:Y,tableRow:at,tableCell:X,tableCellHeader:Z,tableCellSelected:Q},st=300;function reportEditorError(e){throw e}function createBlockNode(e){switch(e){case`quote`:return S();case`code`:return Ae();case`paragraph`:return me();default:return x(e)}}function $selectionIsInTableCell(){let e=h();return g(e)?Be(e.anchor.getNode())!==null:!1}var WysiwygSurface=class extends s{_contentEditable=!1;_onReady;constructor(e){super(),this._onReady=e,this.setContentEditable(!0),this.setOverflow(`auto`),this.setPadding(new t(4,6,4,6)),this.setCursor(`text`),this.onFirstLayout(()=>this._onReady())}init(t){super.init(t);let n=t??this.getElement();return n&&e.sink.apply(n,{setAttr:{contenteditable:this._contentEditable?`true`:`false`}}),this}setContentEditable(e){return this._contentEditable=e,this.setElementAttribute(`contenteditable`,e?`true`:`false`),this}getContentEditable(){return this._contentEditable}mount(t){if(t.getRootElement())return;let n=this.getElement();n&&(ensureMarkdownEditorClassRules(),e.sink.mountView(n,e=>(t.setRootElement(e),e)))}},MarkdownEditor=class extends s{_editor=null;_unregister=null;_unregisterTableView=null;_listeners=new l;_card;_wysiwyg;_codeEditor;constructor(e,t){super(t),e!==void 0&&this._options.value===void 0&&(this._options.value=e),this._card=new u,this.setLayoutManager(this._card),this._wysiwyg=new WysiwygSurface(()=>this.mountWysiwyg()),this._codeEditor=new z(this._options.value??``,{language:`markdown`,readOnly:this._options.readOnly??!1,listeners:{change:e=>this.handleCodeChange(e)}}),this.addComponent(this._wysiwyg),this.addComponent(this._codeEditor),this._card.setVisibleComponentId(this.getMode()===`source`?this._codeEditor.getId():this._wysiwyg.getId()),this.applyListeners(t?.listeners)}applyOptions(e){return super.applyOptions(e),e.value!==void 0&&(this._options.value=e.value),e.readOnly!==void 0&&(this._options.readOnly=e.readOnly),e.mode!==void 0&&(this._options.mode=e.mode),this}getMode(){return this._options.mode??`wysiwyg`}setMode(e){if(this.getMode()===e)return this;let t=this.getValue();return this._options.mode=e,e===`source`?(this._codeEditor.setValue(t),this._card.setVisibleComponentId(this._codeEditor.getId())):(this.ensureEditor().update(()=>v(t,B),{discrete:!0}),this._card.setVisibleComponentId(this._wysiwyg.getId())),this}getValue(){if(this.getMode()===`source`)return this._codeEditor.getValue();let e=this._editor;return e?e.read(()=>y(B)):this._options.value??``}setValue(e){return this.getMode()===`source`?(this._codeEditor.setValue(e),this):(this.ensureEditor().update(()=>v(e,B),{discrete:!0}),this)}getReadOnly(){return this._options.readOnly??!1}setReadOnly(e){return this._options.readOnly=e,this._editor?.setEditable(!e),this._codeEditor.setReadOnly(e),this}focus(e=!1){return this.getMode()===`source`?this._codeEditor.focus(e):this.ensureEditor().focus(),this}toggleBold(){return this.ensureEditor().dispatchCommand(_,`bold`),this}toggleItalic(){return this.ensureEditor().dispatchCommand(_,`italic`),this}toggleInlineCode(){return this.ensureEditor().dispatchCommand(_,`code`),this}toggleUnorderedList(){return this.ensureEditor().dispatchCommand(D,void 0),this}toggleOrderedList(){return this.ensureEditor().dispatchCommand(E,void 0),this}toggleLink(e){return this.ensureEditor().update(()=>{g(h())&&Oe(e)},{discrete:!0}),this}setBlockType(e){return this.ensureEditor().update(()=>{let t=h();g(t)&&Ye(t,()=>createBlockNode(e))},{discrete:!0}),this}insertTable(e,t){let n=this.ensureEditor();return n.update(()=>{g(h())||he().selectEnd()},{discrete:!0}),n.dispatchCommand(A,{columns:String(t),rows:String(e),includeHeaders:{rows:!0,columns:!1}}),this}insertTableRow(e=!0){return this.ensureEditor().update(()=>{$selectionIsInTableCell()&&He(e)},{discrete:!0}),this}deleteTableRow(){return this.ensureEditor().update(()=>{$selectionIsInTableCell()&&ze()},{discrete:!0}),this}insertTableColumn(e=!0){return this.ensureEditor().update(()=>{$selectionIsInTableCell()&&Ve(e)},{discrete:!0}),this}deleteTableColumn(){return this.ensureEditor().update(()=>{$selectionIsInTableCell()&&Re()},{discrete:!0}),this}on(e,t){return this._listeners.add(e,t),this}off(e,t){return this._listeners.remove(e,t),this}emit(e,t){this._listeners.fire(e,t)}setContentEditable(e){return this._wysiwyg.setContentEditable(e),this}getContentEditable(){return this._wysiwyg.getContentEditable()}dispose(){this._unregisterTableView?.(),this._unregister?.(),this._editor?.setRootElement(null),this._codeEditor.dispose()}ensureEditor(){if(!this._editor){let e=ge({nodes:it,theme:ot,onError:reportEditorError});e.update(()=>v(this._options.value??``,B),{discrete:!0}),e.setEditable(!(this._options.readOnly??!1)),this._unregister=Je(T(e),De(e),Ke(e),Ge(e),Pe(e,Ne(),st),b(e,B),e.registerUpdateListener(()=>this.handleChange())),this._editor=e}return this._editor}mountWysiwyg(){let e=this.ensureEditor();this._wysiwyg.mount(e),e.getRootElement()&&!this._unregisterTableView&&(this._unregisterTableView=qe(e,!0))}handleChange(){let e=this._editor;if(!e)return;let t=e.read(()=>y(B));t!==this._options.value&&(this._options.value=t,this.emit(`change`,{value:t}))}handleCodeChange(e){e.value!==this._options.value&&(this._options.value=e.value,this.emit(`change`,{value:e.value}))}},ct=r(MarkdownEditor);export{z as CodeEditor,ct as MarkdownEditor,getLanguage,listLanguages,registerLanguage};
|
|
2
4
|
//# sourceMappingURL=editor.es.js.map
|