rme 0.3.5 → 0.4.0

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 ADDED
File without changes
package/dist/index.d.ts CHANGED
@@ -4,14 +4,13 @@ export { CreateThemeOptions, createTheme } from '@drl990114/codemirror-themes';
4
4
  import { LanguageSupport, LanguageDescription } from '@codemirror/language';
5
5
  import { SearchQuery } from '@codemirror/search';
6
6
  import { Compartment, Extension } from '@codemirror/state';
7
- import { EditorView, EditorViewConfig } from '@codemirror/view';
7
+ import { EditorViewConfig, EditorView } from '@codemirror/view';
8
8
  import { ProsemirrorNode, EditorView as EditorView$1 } from '@rme-sdk/pm';
9
9
  import * as react from 'react';
10
- import react__default, { ErrorInfo, CSSProperties, ComponentType, ReactNode, MouseEvent, JSX, FC } from 'react';
10
+ import react__default, { ErrorInfo, CSSProperties, ComponentType, FC, ReactNode, MouseEvent, JSX } from 'react';
11
11
  import { RemirrorEventListenerProps, Extension as Extension$1, RemirrorManager as RemirrorManager$1, AnyExtension as AnyExtension$1 } from '@rme-sdk/main';
12
- import * as _rme_sdk_core from '@rme-sdk/core';
13
12
  import { AnyExtension, RemirrorManager, DelayedPromiseCreator, ProsemirrorAttributes, NodeExtension, EditorView as EditorView$2, ApplySchemaAttributes, NodeSpecOverride, NodeExtensionSpec, PrimitiveSelection, CommandFunction, ExtensionCommandReturn, InputRule as InputRule$1, KeyBindings, ProsemirrorPlugin, ProsemirrorNode as ProsemirrorNode$1, CommandDecoratorMessageProps, CoreIcon } from '@rme-sdk/core';
14
- import { Node, Schema, NodeType, Mark, NodeRange } from '@rme-sdk/pm/model';
13
+ import { Node, NodeType, Schema, Mark } from '@rme-sdk/pm/model';
15
14
  import { ReactFrameworkOutput } from '@rme-sdk/react-core';
16
15
  import { InputRule } from '@rme-sdk/pm/inputrules';
17
16
  import { PasteRule } from '@rme-sdk/pm/paste-rules';
@@ -21,7 +20,6 @@ import { NodeViewComponentProps } from '@rme-sdk/react';
21
20
  export { useCommands, useHelpers, useKeymap, useRemirrorContext } from '@rme-sdk/react';
22
21
  import * as styled_components from 'styled-components';
23
22
  import * as styled_components_dist_types from 'styled-components/dist/types';
24
- import { IndentListOptions, DedentListOptions, UnwrapListOptions, ToggleCollapsedOptions } from '@rme-sdk/prosemirror-flat-list';
25
23
 
26
24
  type LoadLanguage = (lang: string) => Promise<LanguageSupport> | LanguageSupport | void;
27
25
 
@@ -693,16 +691,6 @@ interface ImageExtensionAttributes {
693
691
  */
694
692
  declare function isImageFileType(file: File): boolean;
695
693
 
696
- /**
697
- * @public @group Schema
698
- */
699
- interface ListAttributes {
700
- kind?: string;
701
- order?: number | null;
702
- checked?: boolean;
703
- collapsed?: boolean;
704
- }
705
-
706
694
  declare abstract class MarkdownNodeExtension {
707
695
  abstract fromMarkdown: () => readonly ParserRule[];
708
696
  abstract toMarkdown: NodeSerializerSpec;
@@ -721,17 +709,7 @@ declare class LineListExtension extends NodeExtension {
721
709
  createNodeSpec(): NodeExtensionSpec;
722
710
  createKeymap(): KeyBindings;
723
711
  createExternalPlugins(): ProsemirrorPlugin[];
724
- createCommands(): {
725
- readonly indentList: (props?: IndentListOptions) => _rme_sdk_core.CommandFunction<object>;
726
- readonly dedentList: (props?: DedentListOptions) => _rme_sdk_core.CommandFunction<object>;
727
- readonly unwrapList: (options?: UnwrapListOptions) => _rme_sdk_core.CommandFunction<object>;
728
- readonly wrapInList: (getAttrs: ListAttributes | ((range: NodeRange) => ListAttributes | null)) => _rme_sdk_core.CommandFunction<object>;
729
- readonly moveList: (direction: 'up' | 'down') => _rme_sdk_core.CommandFunction<object>;
730
- readonly splitList: () => _rme_sdk_core.CommandFunction<object>;
731
- readonly protectCollapsed: () => _rme_sdk_core.CommandFunction<object>;
732
- readonly toggleCollapsed: (props?: ToggleCollapsedOptions) => _rme_sdk_core.CommandFunction<object>;
733
- readonly toggleList: (attrs: ListAttributes) => _rme_sdk_core.CommandFunction<object>;
734
- };
712
+ createCommands(): ExtensionCommandReturn;
735
713
  fromMarkdown(): readonly [{
736
714
  readonly type: ParserRuleType.free;
737
715
  readonly token: "list_item_open";
package/dist/index.mjs CHANGED
@@ -1750,10 +1750,10 @@ ${n}`);return bu(i,o)}function xu(e,t){if(t.length===0||e.length===0)return;let
1750
1750
  border-radius: 4px;
1751
1751
  border: 1px solid ${e=>e.theme.slashMenuBorderColor};
1752
1752
  z-index: 1000;
1753
- `;import{PositionerPortal as tb,useCommands as ob,useMultiPositioner as rb}from"@rme-sdk/react";import{useEffect as nb}from"react";import{useCommands as Vg}from"@rme-sdk/react";import{useRef as Fg,useState as $g}from"react";import{useTranslation as zg}from"react-i18next";import{Dropdown as Kg}from"zens";import{jsx as No}from"react/jsx-runtime";var Wg=e=>{let{positioner:t}=e,o=Vg(),{t:r}=zg(),[n,i]=$g(!1),s=Fg(null),a=[{key:"insertColumnBefore",label:r("table.insertColumnBefore")},{key:"insertColumnAfter",label:r("table.insertColumnAfter")},{key:"insertRowBefore",label:r("table.insertRowBefore")},{key:"insertRowAfter",label:r("table.insertRowAfter")},{type:"divider"},{key:"deleteColumn",label:r("table.deleteColumn"),danger:!0},{key:"deleteRow",label:r("table.deleteRow"),danger:!0}],l=f=>{switch(f.key){case"insertColumnBefore":o.addTableColumnBefore();break;case"insertColumnAfter":o.addTableColumnAfter();break;case"insertRowBefore":o.addTableRowBefore();break;case"insertRowAfter":o.addTableRowAfter();break;case"deleteColumn":o.deleteTableColumn();break;case"deleteRow":o.deleteTableRow();break}},{ref:c,key:d,x:m,y:p}=t;return No("div",{ref:c,style:{position:"absolute",left:m,top:p,width:20,height:20,zIndex:1},children:No(Kg,{menu:{items:a,onClick:l},trigger:["click"],raw:!0,open:n,onOpenChange:i,triggerRef:s,getPopupContainer:()=>document.body,children:No("div",{ref:s,onMouseDown:f=>{f.preventDefault()},onClick:()=>i(!n),style:{cursor:"pointer"},children:No("i",{className:"ri-equalizer-line"})})})},d)},la=Wg;import{useCommands as Ug}from"@rme-sdk/react";import qg from"styled-components";import{Tooltip as Gg}from"zens";import{jsx as Jr}from"react/jsx-runtime";var jg=qg.div`
1753
+ `;import{PositionerPortal as tb,useCommands as ob,useMultiPositioner as rb}from"@rme-sdk/react";import{useEffect as nb}from"react";import{useCommands as Vg}from"@rme-sdk/react";import{useRef as Fg,useState as $g}from"react";import{useTranslation as zg}from"react-i18next";import{Dropdown as Kg}from"zens";import{jsx as No}from"react/jsx-runtime";var Wg=e=>{let{positioner:t}=e,o=Vg(),{t:r}=zg(),[n,i]=$g(!1),s=Fg(null),a=[{key:"insertColumnBefore",label:r("table.insertColumnBefore")},{key:"insertColumnAfter",label:r("table.insertColumnAfter")},{key:"insertRowBefore",label:r("table.insertRowBefore")},{key:"insertRowAfter",label:r("table.insertRowAfter")},{type:"divider"},{key:"deleteColumn",label:r("table.deleteColumn"),danger:!0},{key:"deleteRow",label:r("table.deleteRow"),danger:!0}],l=f=>{switch(f.key){case"insertColumnBefore":o.addTableColumnBefore?.();break;case"insertColumnAfter":o.addTableColumnAfter?.();break;case"insertRowBefore":o.addTableRowBefore?.();break;case"insertRowAfter":o.addTableRowAfter?.();break;case"deleteColumn":o.deleteTableColumn?.();break;case"deleteRow":o.deleteTableRow?.();break}},{ref:c,key:d,x:m,y:p}=t;return No("div",{ref:c,style:{position:"absolute",left:m,top:p,width:20,height:20,zIndex:1},children:No(Kg,{menu:{items:a,onClick:l},trigger:["click"],raw:!0,open:n,onOpenChange:i,triggerRef:s,getPopupContainer:()=>document.body,children:No("div",{ref:s,onMouseDown:f=>{f.preventDefault()},onClick:()=>i(!n),style:{cursor:"pointer"},children:No("i",{className:"ri-equalizer-line"})})})},d)},la=Wg;import{useCommands as Ug}from"@rme-sdk/react";import qg from"styled-components";import{Tooltip as Gg}from"zens";import{jsx as Jr}from"react/jsx-runtime";var jg=qg.div`
1754
1754
  position: absolute;
1755
1755
  color: ${e=>e.theme.dangerColor};
1756
- `;function Qg(e){let{positioner:t}=e,o=Ug(),{ref:r,key:n,x:i,y:s}=t;return Jr(jg,{ref:r,style:{left:i-15+t.width/2,top:s+t.height,width:20,height:20},onMouseDown:a=>{a.preventDefault(),o.deleteTable()},children:Jr(Gg,{title:"delete",children:Jr("i",{className:"ri-delete-bin-line"})})},n)}var ca=Qg;import{Positioner as Ro,hasStateChanged as Xg,isPositionVisible as Yg}from"@rme-sdk/extension-positioner";import{findParentNodeOfType as ma,isElementDomNode as Zr}from"@rme-sdk/main";function Jg(e){return ma({selection:e,types:"table"})}function Zg(e){return ma({selection:e,types:["tableHeaderCell","tableCell"]})}var pa={y:-999999,x:-999999,width:0,height:0},da={...pa,left:-999999,top:-999999,bottom:-999999,right:-999999},eb={...pa,rect:{...da,toJSON:()=>da},visible:!1},ua=Ro.create({hasChanged:Xg,getActive(e){let{state:t,view:o}=e,{selection:r}=t,n=Jg(r);if(!n)return Ro.EMPTY;let i=Zg(r);if(!i)return Ro.EMPTY;let{pos:s}=i,a=o.nodeDOM(n.pos),l=o.nodeDOM(s);if(!Zr(a)||!Zr(l))return Ro.EMPTY;let c=a.getBoundingClientRect(),d=l.getBoundingClientRect();return[{pos:n.pos,rect:new DOMRect(c.x,c.y,c.width,c.height)},{pos:s,rect:new DOMRect(d.x,c.y,d.width,c.height)}]},getID(e){return`${e.pos}`},getPosition(e){let{view:t,data:o}=e,r=t.nodeDOM(o.pos);if(!Zr(r))return eb;let n=r.getBoundingClientRect(),i=t.dom.getBoundingClientRect(),s=n.width,a=t.dom.scrollLeft+n.left-i.left,l=t.dom.scrollTop+n.top-i.top,c=n.height,d=new DOMRect(n.x,n.y,s,c);return{x:a,y:l,width:s,height:c,rect:d,visible:Yg(d,t.dom)}}});import{Fragment as ha,jsx as Tt}from"react/jsx-runtime";var ib=({positioner:e})=>{let t=rb(e,[]),{forceUpdatePositioners:o}=ob();if(nb(()=>{o()},[o]),t.length===0)return null;let r=[ca,la];return Tt(ha,{children:t.map((n,i)=>{let s=r[i];return Tt(s,{positioner:n},n.key)})})},sb=()=>Tt(ha,{children:Tt(tb,{children:Tt(ib,{positioner:ua})})}),fa=sb;import{isString as pb}from"@rme-sdk/core";import{useCallback as ub}from"react";import fb from"styled-components";import{Ariakit as hb,Tooltip as gb}from"zens";import{useHelpers as lb}from"@rme-sdk/react-core";import{useMemo as ga}from"react";import{t as cb}from"i18next";import{isArray as mA,isEqual as pA,isFunction as ab,isString as uA}from"@rme-sdk/core";function Io(e,t){return ab(e)?e(t):e}var ba=({commandName:e,active:t,enabled:o,attrs:r})=>{let{getCommandOptions:n}=lb(),i=n(e),{description:s,label:a,icon:l,shortcut:c}=i||{},d=ga(()=>({active:t,attrs:r,enabled:o,t:cb}),[t,r,o]);return ga(()=>({description:Io(s,d),label:Io(a,d),icon:Io(l,d),shortcut:""}),[d,s,a,l])};import{isString as db}from"@rme-sdk/core";import{jsx as mb}from"react/jsx-runtime";var ya=({icon:e})=>db(e)?mb("i",{className:e}):e;import{jsx as en}from"react/jsx-runtime";var _=({commandName:e,active:t=!1,enabled:o,attrs:r,onSelect:n,onChange:i,icon:s,displayShortcut:a=!0,"aria-label":l,label:c,...d})=>{let m=ub(x=>{n(),i?.(x)},[n,i]),p=ba({commandName:e,active:t,enabled:o,attrs:r}),f=null;p.icon&&(f=pb(p.icon)?p.icon:p.icon.name);let u=l??p.label??"",y=c??u,b=a&&p.shortcut?` (${p.shortcut})`:"";return en(gb,{title:`${y}${b}`,children:en(bb,{"aria-label":u,disabled:!o,...d,value:e,onClick:m,children:en(ya,{icon:s??f})})})},bb=fb(hb.ToolbarItem)`
1756
+ `;function Qg(e){let{positioner:t}=e,o=Ug(),{ref:r,key:n,x:i,y:s}=t;return Jr(jg,{ref:r,style:{left:i-15+t.width/2,top:s+t.height,width:20,height:20},onMouseDown:a=>{a.preventDefault(),o.deleteTable?.()},children:Jr(Gg,{title:"delete",children:Jr("i",{className:"ri-delete-bin-line"})})},n)}var ca=Qg;import{Positioner as Ro,hasStateChanged as Xg,isPositionVisible as Yg}from"@rme-sdk/extension-positioner";import{findParentNodeOfType as ma,isElementDomNode as Zr}from"@rme-sdk/main";function Jg(e){return ma({selection:e,types:"table"})}function Zg(e){return ma({selection:e,types:["tableHeaderCell","tableCell"]})}var pa={y:-999999,x:-999999,width:0,height:0},da={...pa,left:-999999,top:-999999,bottom:-999999,right:-999999},eb={...pa,rect:{...da,toJSON:()=>da},visible:!1},ua=Ro.create({hasChanged:Xg,getActive(e){let{state:t,view:o}=e,{selection:r}=t,n=Jg(r);if(!n)return Ro.EMPTY;let i=Zg(r);if(!i)return Ro.EMPTY;let{pos:s}=i,a=o.nodeDOM(n.pos),l=o.nodeDOM(s);if(!Zr(a)||!Zr(l))return Ro.EMPTY;let c=a.getBoundingClientRect(),d=l.getBoundingClientRect();return[{pos:n.pos,rect:new DOMRect(c.x,c.y,c.width,c.height)},{pos:s,rect:new DOMRect(d.x,c.y,d.width,c.height)}]},getID(e){return`${e.pos}`},getPosition(e){let{view:t,data:o}=e,r=t.nodeDOM(o.pos);if(!Zr(r))return eb;let n=r.getBoundingClientRect(),i=t.dom.getBoundingClientRect(),s=n.width,a=t.dom.scrollLeft+n.left-i.left,l=t.dom.scrollTop+n.top-i.top,c=n.height,d=new DOMRect(n.x,n.y,s,c);return{x:a,y:l,width:s,height:c,rect:d,visible:Yg(d,t.dom)}}});import{Fragment as ha,jsx as Tt}from"react/jsx-runtime";var ib=({positioner:e})=>{let t=rb(e,[]),o=ob();if(nb(()=>{o.forceUpdatePositioners&&o.forceUpdatePositioners()},[o]),t.length===0)return null;let r=[ca,la];return Tt(ha,{children:t.map((n,i)=>{let s=r[i];return Tt(s,{positioner:n},n.key)})})},sb=()=>Tt(ha,{children:Tt(tb,{children:Tt(ib,{positioner:ua})})}),fa=sb;import{isString as pb}from"@rme-sdk/core";import{useCallback as ub}from"react";import fb from"styled-components";import{Ariakit as hb,Tooltip as gb}from"zens";import{useHelpers as lb}from"@rme-sdk/react-core";import{useMemo as ga}from"react";import{t as cb}from"i18next";import{isArray as mA,isEqual as pA,isFunction as ab,isString as uA}from"@rme-sdk/core";function Io(e,t){return ab(e)?e(t):e}var ba=({commandName:e,active:t,enabled:o,attrs:r})=>{let{getCommandOptions:n}=lb(),i=n(e),{description:s,label:a,icon:l,shortcut:c}=i||{},d=ga(()=>({active:t,attrs:r,enabled:o,t:cb}),[t,r,o]);return ga(()=>({description:Io(s,d),label:Io(a,d),icon:Io(l,d),shortcut:""}),[d,s,a,l])};import{isString as db}from"@rme-sdk/core";import{jsx as mb}from"react/jsx-runtime";var ya=({icon:e})=>db(e)?mb("i",{className:e}):e;import{jsx as en}from"react/jsx-runtime";var _=({commandName:e,active:t=!1,enabled:o,attrs:r,onSelect:n,onChange:i,icon:s,displayShortcut:a=!0,"aria-label":l,label:c,...d})=>{let m=ub(x=>{n(),i?.(x)},[n,i]),p=ba({commandName:e,active:t,enabled:o,attrs:r}),f=null;p.icon&&(f=pb(p.icon)?p.icon:p.icon.name);let u=l??p.label??"",y=c??u,b=a&&p.shortcut?` (${p.shortcut})`:"";return en(gb,{title:`${y}${b}`,children:en(bb,{"aria-label":u,disabled:!o,...d,value:e,onClick:m,children:en(ya,{icon:s??f})})})},bb=fb(hb.ToolbarItem)`
1757
1757
  display: flex;
1758
1758
  flex-direction: column;
1759
1759
  align-items: center;
@@ -1768,7 +1768,7 @@ ${n}`);return bu(i,o)}function xu(e,t){if(t.length===0||e.length===0)return;let
1768
1768
  &:hover {
1769
1769
  background-color: ${e=>e.theme.hoverColor};
1770
1770
  }
1771
- `;import Aa from"styled-components";import{Ariakit as La}from"zens";import{useActive as yb,useCommands as xb}from"@rme-sdk/react-core";import{useCallback as kb}from"react";import{t as Cb}from"i18next";import{jsx as wb}from"react/jsx-runtime";var xa=({attrs:e={},...t})=>{let{insertHorizontalRule:o}=xb(),r=kb(()=>{o.enabled(e)&&o(e)},[o,e]),n=yb().codeMirror(),i=o.enabled(e);return wb(_,{...t,label:Cb("toolbar.separator"),icon:"ri-separator",commandName:"insertHorizontalRule",active:n,enabled:i,attrs:e,onSelect:r})};import{useCommands as Eb,useHelpers as Sb}from"@rme-sdk/react-core";import{t as Tb}from"i18next";import{useCallback as vb}from"react";import{jsx as Mb}from"react/jsx-runtime";var ka=e=>{let{redo:t}=Eb(),{redoDepth:o}=Sb(!0),r=vb(()=>{t.enabled()&&t()},[t]),n=o()>0;return Mb(_,{...e,label:Tb("toolbar.redo"),icon:"ri-arrow-go-forward-fill",commandName:"redo",active:!1,enabled:n,onSelect:r})};import{useActive as Pb,useCommands as Nb}from"@rme-sdk/react-core";import{useCallback as Rb}from"react";import{t as Ib}from"i18next";import{jsx as Ab}from"react/jsx-runtime";var Ca=({...e})=>{let{toggleBlockquote:t}=Nb(),o=Rb(()=>{t.enabled()&&t()},[t]),r=Pb().blockquote(),n=t.enabled();return Ab(_,{...e,label:Ib("toolbar.blockquote"),icon:"ri-double-quotes-r",commandName:"toggleBlockquote",active:r,enabled:n,onSelect:o})};import{useActive as Lb,useCommands as _b}from"@rme-sdk/react-core";import{useCallback as Bb}from"react";import{t as Ob}from"i18next";import{jsx as Hb}from"react/jsx-runtime";var wa=e=>{let{toggleStrong:t}=_b(),o=Bb(()=>{t.enabled()&&t()},[t]),r=Lb().mdStrong(),n=t.enabled();return Hb(_,{...e,label:Ob("toolbar.bold"),icon:"ri-bold",commandName:"toggleStrong",active:r,enabled:n,onSelect:o})};import{useActive as Db,useCommands as Vb}from"@rme-sdk/react-core";import{useCallback as Fb}from"react";import{t as $b}from"i18next";import{jsx as zb}from"react/jsx-runtime";var Ea=e=>{let{toggleList:t}=Vb(),o=Fb(()=>{t&&t({})},[t]),r=Db().list();return zb(_,{...e,label:$b("toolbar.bulletList"),icon:"ri-list-unordered",commandName:"toggleList",active:r,enabled:!0,onSelect:o})};import{useActive as Kb,useCommands as Wb}from"@rme-sdk/react-core";import{useCallback as Ub}from"react";import{t as qb}from"i18next";import{jsx as Gb}from"react/jsx-runtime";var Sa=({attrs:e={},...t})=>{let{createCodeMirror:o}=Wb(),r=Ub(()=>{o.enabled(e)&&o(e)},[o,e]),n=Kb().codeMirror(),i=o.enabled(e);return Gb(_,{...t,label:qb("toolbar.codeBlock"),icon:"ri-code-box-line",commandName:"createCodeMirror",active:n,enabled:i,attrs:e,onSelect:r})};import{useActive as jb,useCommands as Qb}from"@rme-sdk/react-core";import{useCallback as Xb}from"react";import{t as Yb}from"i18next";import{jsx as Jb}from"react/jsx-runtime";var Ta=e=>{let{toggleCodeText:t}=Qb(),o=Xb(()=>{t.enabled()&&t()},[t]),r=jb().mdCodeText(),n=t.enabled();return Jb(_,{...e,label:Yb("toolbar.codeText"),icon:"ri-code-line",commandName:"toggleCodeText",active:r,enabled:n,onSelect:o})};import{useActive as Zb,useCommands as ey}from"@rme-sdk/react-core";import{useCallback as ty}from"react";import{t as oy}from"i18next";import{jsx as ry}from"react/jsx-runtime";var va=({attrs:e,...t})=>{let{toggleHeading:o}=ey(),r=ty(()=>{o.enabled(e)&&o(e)},[o,e]),n=Zb().heading(e),i=o.enabled(e);return ry(_,{...t,label:oy("toolbar.heading"),icon:"ri-heading",commandName:"toggleHeading",active:n,enabled:i,attrs:e,onSelect:r})};import{useActive as ny,useCommands as iy}from"@rme-sdk/react-core";import{useCallback as sy}from"react";import{t as ay}from"i18next";import{jsx as ly}from"react/jsx-runtime";var Ma=e=>{let{toggleEmphasis:t}=iy(),o=sy(()=>{t.enabled()&&t()},[t]),r=ny().mdEm(),n=t.enabled();return ly(_,{...e,label:ay("toolbar.italic"),icon:"ri-italic",commandName:"toggleEmphasis",active:r,enabled:n,onSelect:o})};import{useActive as cy,useCommands as dy}from"@rme-sdk/react-core";import{useCallback as my}from"react";import{t as py}from"i18next";import{jsx as uy}from"react/jsx-runtime";var Pa=e=>{let{toggleList:t}=dy(),o=my(()=>{t&&t({kind:"ordered"})},[t]),r=cy().list();return uy(_,{...e,label:py("toolbar.orderedList"),icon:"ri-list-ordered",commandName:"toggleList",active:r,enabled:!0,onSelect:o})};import{useActive as fy,useCommands as hy}from"@rme-sdk/react-core";import{useCallback as gy}from"react";import{t as by}from"i18next";import{jsx as yy}from"react/jsx-runtime";var Na=e=>{let{toggleList:t}=hy(),o=gy(()=>{t&&t({kind:"task"})},[t]),r=fy().list();return yy(_,{...e,label:by("toolbar.taskList"),icon:"ri-list-check-3",commandName:"toggleList",active:r,enabled:!0,onSelect:o})};import{useCommands as xy,useHelpers as ky}from"@rme-sdk/react-core";import{t as Cy}from"i18next";import{useCallback as wy}from"react";import{jsx as Ey}from"react/jsx-runtime";var Ra=e=>{let{undo:t}=xy(),{undoDepth:o}=ky(!0),r=wy(()=>{t.enabled()&&t()},[t]),n=o()>0;return Ey(_,{...e,label:Cy("toolbar.undo"),icon:"ri-arrow-go-back-fill",commandName:"undo",active:!1,enabled:n,onSelect:r})};import{jsx as D,jsxs as Ty}from"react/jsx-runtime";var _a=e=>{let{prevActions:t=null,nextActions:o=null}=e;return Ty(Sy,{className:e.className,style:e.style,children:[t,D(Ra,{}),D(ka,{}),D(Ia,{render:D("div",{})}),D(va,{}),D(wa,{}),D(Ma,{}),D(Ca,{}),D(Sa,{}),D(Ta,{}),D(xa,{}),D(Ia,{render:D("div",{})}),D(Ea,{}),D(Pa,{}),D(Na,{}),o]})},Sy=Aa(La.Toolbar)`
1771
+ `;import Aa from"styled-components";import{Ariakit as La}from"zens";import{useActive as yb,useCommands as xb}from"@rme-sdk/react-core";import{useCallback as kb}from"react";import{t as Cb}from"i18next";import{jsx as wb}from"react/jsx-runtime";var xa=({attrs:e={},...t})=>{let r=xb().insertHorizontalRule,n=kb(()=>{r?.enabled()&&r()},[r]),i=yb().horizontalRule(),s=r?.enabled()??!1;return wb(_,{...t,label:Cb("toolbar.separator"),icon:"ri-separator",commandName:"insertHorizontalRule",active:i,enabled:s,attrs:e,onSelect:n})};import{useCommands as Eb,useHelpers as Sb}from"@rme-sdk/react-core";import{t as Tb}from"i18next";import{useCallback as vb}from"react";import{jsx as Mb}from"react/jsx-runtime";var ka=e=>{let{redo:t}=Eb(),{redoDepth:o}=Sb(!0),r=vb(()=>{t.enabled()&&t()},[t]),n=o()>0;return Mb(_,{...e,label:Tb("toolbar.redo"),icon:"ri-arrow-go-forward-fill",commandName:"redo",active:!1,enabled:n,onSelect:r})};import{useActive as Pb,useCommands as Nb}from"@rme-sdk/react-core";import{useCallback as Rb}from"react";import{t as Ib}from"i18next";import{jsx as Ab}from"react/jsx-runtime";var Ca=({...e})=>{let{toggleBlockquote:t}=Nb(),o=Rb(()=>{t.enabled()&&t()},[t]),r=Pb().blockquote(),n=t.enabled();return Ab(_,{...e,label:Ib("toolbar.blockquote"),icon:"ri-double-quotes-r",commandName:"toggleBlockquote",active:r,enabled:n,onSelect:o})};import{useActive as Lb,useCommands as _b}from"@rme-sdk/react-core";import{useCallback as Bb}from"react";import{t as Ob}from"i18next";import{jsx as Hb}from"react/jsx-runtime";var wa=e=>{let{toggleStrong:t}=_b(),o=Bb(()=>{t.enabled()&&t()},[t]),r=Lb().mdStrong(),n=t.enabled();return Hb(_,{...e,label:Ob("toolbar.bold"),icon:"ri-bold",commandName:"toggleStrong",active:r,enabled:n,onSelect:o})};import{useActive as Db,useCommands as Vb}from"@rme-sdk/react-core";import{useCallback as Fb}from"react";import{t as $b}from"i18next";import{jsx as zb}from"react/jsx-runtime";var Ea=e=>{let{toggleList:t}=Vb(),o=Fb(()=>{t&&t({})},[t]),r=Db().list();return zb(_,{...e,label:$b("toolbar.bulletList"),icon:"ri-list-unordered",commandName:"toggleList",active:r,enabled:!0,onSelect:o})};import{useActive as Kb,useCommands as Wb}from"@rme-sdk/react-core";import{useCallback as Ub}from"react";import{t as qb}from"i18next";import{jsx as Gb}from"react/jsx-runtime";var Sa=({attrs:e={},...t})=>{let{createCodeMirror:o}=Wb(),r=Ub(()=>{o.enabled(e)&&o(e)},[o,e]),n=Kb().codeMirror(),i=o.enabled(e);return Gb(_,{...t,label:qb("toolbar.codeBlock"),icon:"ri-code-box-line",commandName:"createCodeMirror",active:n,enabled:i,attrs:e,onSelect:r})};import{useActive as jb,useCommands as Qb}from"@rme-sdk/react-core";import{useCallback as Xb}from"react";import{t as Yb}from"i18next";import{jsx as Jb}from"react/jsx-runtime";var Ta=e=>{let{toggleCodeText:t}=Qb(),o=Xb(()=>{t.enabled()&&t()},[t]),r=jb().mdCodeText(),n=t.enabled();return Jb(_,{...e,label:Yb("toolbar.codeText"),icon:"ri-code-line",commandName:"toggleCodeText",active:r,enabled:n,onSelect:o})};import{useActive as Zb,useCommands as ey}from"@rme-sdk/react-core";import{useCallback as ty}from"react";import{t as oy}from"i18next";import{jsx as ry}from"react/jsx-runtime";var va=({attrs:e,...t})=>{let{toggleHeading:o}=ey(),r=ty(()=>{o.enabled(e)&&o(e)},[o,e]),n=Zb().heading(e),i=o.enabled(e);return ry(_,{...t,label:oy("toolbar.heading"),icon:"ri-heading",commandName:"toggleHeading",active:n,enabled:i,attrs:e,onSelect:r})};import{useActive as ny,useCommands as iy}from"@rme-sdk/react-core";import{useCallback as sy}from"react";import{t as ay}from"i18next";import{jsx as ly}from"react/jsx-runtime";var Ma=e=>{let{toggleEmphasis:t}=iy(),o=sy(()=>{t.enabled()&&t()},[t]),r=ny().mdEm(),n=t.enabled();return ly(_,{...e,label:ay("toolbar.italic"),icon:"ri-italic",commandName:"toggleEmphasis",active:r,enabled:n,onSelect:o})};import{useActive as cy,useCommands as dy}from"@rme-sdk/react-core";import{useCallback as my}from"react";import{t as py}from"i18next";import{jsx as uy}from"react/jsx-runtime";var Pa=e=>{let{toggleList:t}=dy(),o=my(()=>{t&&t({kind:"ordered"})},[t]),r=cy().list();return uy(_,{...e,label:py("toolbar.orderedList"),icon:"ri-list-ordered",commandName:"toggleList",active:r,enabled:!0,onSelect:o})};import{useActive as fy,useCommands as hy}from"@rme-sdk/react-core";import{useCallback as gy}from"react";import{t as by}from"i18next";import{jsx as yy}from"react/jsx-runtime";var Na=e=>{let{toggleList:t}=hy(),o=gy(()=>{t&&t({kind:"task"})},[t]),r=fy().list();return yy(_,{...e,label:by("toolbar.taskList"),icon:"ri-list-check-3",commandName:"toggleList",active:r,enabled:!0,onSelect:o})};import{useCommands as xy,useHelpers as ky}from"@rme-sdk/react-core";import{t as Cy}from"i18next";import{useCallback as wy}from"react";import{jsx as Ey}from"react/jsx-runtime";var Ra=e=>{let{undo:t}=xy(),{undoDepth:o}=ky(!0),r=wy(()=>{t.enabled()&&t()},[t]),n=o()>0;return Ey(_,{...e,label:Cy("toolbar.undo"),icon:"ri-arrow-go-back-fill",commandName:"undo",active:!1,enabled:n,onSelect:r})};import{jsx as D,jsxs as Ty}from"react/jsx-runtime";var _a=e=>{let{prevActions:t=null,nextActions:o=null}=e;return Ty(Sy,{className:e.className,style:e.style,children:[t,D(Ra,{}),D(ka,{}),D(Ia,{render:D("div",{})}),D(va,{}),D(wa,{}),D(Ma,{}),D(Ca,{}),D(Sa,{}),D(Ta,{}),D(xa,{}),D(Ia,{render:D("div",{})}),D(Ea,{}),D(Pa,{}),D(Na,{}),o]})},Sy=Aa(La.Toolbar)`
1772
1772
  display: flex;
1773
1773
  flex-wrap: wrap;
1774
1774
  max-width: 100%;
package/package.json CHANGED
@@ -1,8 +1,20 @@
1
1
  {
2
2
  "name": "rme",
3
- "version": "0.3.5",
3
+ "version": "0.4.0",
4
4
  "type": "module",
5
- "license": "MIT",
5
+ "scripts": {
6
+ "build": "yarn clear && yarn build-esbuild && yarn types",
7
+ "dev": "node ./esbuild.config.dev.mjs",
8
+ "build-esbuild": "node esbuild.config.prod.mjs",
9
+ "types": "node ./node_modules/rollup/dist/bin/rollup -c rollup.config.types.js",
10
+ "prettier": "prettier --config ./.prettierrc.json --write \"src/**/*{.js,.jsx,.ts,.tsx,.css}\"",
11
+ "clear": "rimraf dist",
12
+ "test": "vitest run",
13
+ "test:dev": "vitest dev",
14
+ "test:coverage": "vitest run --coverage",
15
+ "prepublishOnly": "yarn build"
16
+ },
17
+ "license": "AGPL-3.0",
6
18
  "keywords": [
7
19
  "react",
8
20
  "react-component"
@@ -16,6 +28,7 @@
16
28
  "devDependencies": {
17
29
  "@anatine/esbuild-decorators": "^0.2.19",
18
30
  "@hyrious/esbuild-plugin-commonjs": "^0.2.6",
31
+ "@rme-sdk/core-types": "^1.5.0",
19
32
  "@rollup/plugin-alias": "^5.1.1",
20
33
  "@rollup/plugin-commonjs": "28.0.1",
21
34
  "@rollup/plugin-json": "^6.1.0",
@@ -62,6 +75,7 @@
62
75
  "eslint-plugin-prettier": "^5.5.4",
63
76
  "eslint-plugin-react": "7.37.2",
64
77
  "eslint-plugin-react-hooks": "^5.2.0",
78
+ "jest-remirror": "^3.0.3",
65
79
  "jsdom": "^25.0.1",
66
80
  "lint-staged": "15.2.10",
67
81
  "postcss": "^8.5.6",
@@ -82,9 +96,7 @@
82
96
  "url": "^0.11.4",
83
97
  "vite": "^5.4.21",
84
98
  "vitest": "^3.2.4",
85
- "webdriverio": "^9.20.0",
86
- "@rme-sdk/core-types": "1.5.0",
87
- "jest-remirror": "3.0.3"
99
+ "webdriverio": "^9.20.0"
88
100
  },
89
101
  "browserslist": {
90
102
  "production": [
@@ -119,6 +131,24 @@
119
131
  "@lezer/highlight": "^1.2.3",
120
132
  "@lezer/javascript": "^1.5.4",
121
133
  "@ocavue/utils": "^0.7.1",
134
+ "@rme-sdk/core": "^1.5.0",
135
+ "@rme-sdk/core-utils": "^1.5.0",
136
+ "@rme-sdk/dev": "^1.5.1",
137
+ "@rme-sdk/extension-codemirror6": "^1.5.0",
138
+ "@rme-sdk/extension-count": "^1.5.0",
139
+ "@rme-sdk/extension-hard-break": "^1.5.0",
140
+ "@rme-sdk/extension-heading": "^1.5.0",
141
+ "@rme-sdk/extension-positioner": "^1.5.0",
142
+ "@rme-sdk/extension-tables": "^1.5.0",
143
+ "@rme-sdk/icons": "^1.5.0",
144
+ "@rme-sdk/main": "^1.5.0",
145
+ "@rme-sdk/pm": "^1.5.0",
146
+ "@rme-sdk/preset-core": "^1.5.0",
147
+ "@rme-sdk/prosemirror-flat-list": "^1.5.0",
148
+ "@rme-sdk/react": "^1.5.1",
149
+ "@rme-sdk/react-components": "^1.5.1",
150
+ "@rme-sdk/react-core": "^1.5.1",
151
+ "@rme-sdk/types": "^1.5.0",
122
152
  "@uiw/react-codemirror": "^4.25.2",
123
153
  "antd": "^6.1.3",
124
154
  "codemirror-lang-latex": "^0.2.0",
@@ -158,35 +188,6 @@
158
188
  "svgmoji": "^3.2.0",
159
189
  "void-elements": "^3.1.0",
160
190
  "yjs": "^13.6.27",
161
- "zens": "^0.2.1",
162
- "@rme-sdk/core": "1.5.0",
163
- "@rme-sdk/core-utils": "1.5.0",
164
- "@rme-sdk/extension-codemirror6": "1.5.0",
165
- "@rme-sdk/extension-hard-break": "1.5.0",
166
- "@rme-sdk/extension-count": "1.5.0",
167
- "@rme-sdk/extension-heading": "1.5.0",
168
- "@rme-sdk/extension-positioner": "1.5.0",
169
- "@rme-sdk/icons": "1.5.0",
170
- "@rme-sdk/extension-tables": "1.5.0",
171
- "@rme-sdk/main": "1.5.0",
172
- "@rme-sdk/prosemirror-flat-list": "1.5.0",
173
- "@rme-sdk/preset-core": "1.5.0",
174
- "@rme-sdk/pm": "1.5.0",
175
- "@rme-sdk/react": "1.5.0",
176
- "@rme-sdk/react-components": "1.5.0",
177
- "@rme-sdk/react-core": "1.5.0",
178
- "@rme-sdk/types": "1.5.0",
179
- "@rme-sdk/dev": "1.5.0"
180
- },
181
- "scripts": {
182
- "build": "pnpm clear && pnpm build-esbuild && pnpm types",
183
- "dev": "node ./esbuild.config.dev.mjs",
184
- "build-esbuild": "node esbuild.config.prod.mjs",
185
- "types": "node ./node_modules/rollup/dist/bin/rollup -c rollup.config.types.js",
186
- "prettier": "prettier --config ./.prettierrc.json --write \"src/**/*{.js,.jsx,.ts,.tsx,.css}\"",
187
- "clear": "rimraf dist",
188
- "test": "vitest run",
189
- "test:dev": "vitest dev",
190
- "test:coverage": "vitest run --coverage"
191
+ "zens": "^0.2.1"
191
192
  }
192
- }
193
+ }
package/LICENSE DELETED
@@ -1,21 +0,0 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2024 drl990114
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.