prosemirror-slash-menu 0.4.5 → 0.4.6
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/dist/actions.d.ts +4 -3
- package/dist/actions.d.ts.map +1 -0
- package/dist/cases.d.ts +1 -0
- package/dist/cases.d.ts.map +1 -0
- package/dist/enums.d.ts +1 -0
- package/dist/enums.d.ts.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.es.js +1 -1
- package/dist/index.js +1 -1
- package/dist/keyHandlers.d.ts +1 -0
- package/dist/keyHandlers.d.ts.map +1 -0
- package/dist/plugin.d.ts +2 -1
- package/dist/plugin.d.ts.map +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils.d.ts +1 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +15 -23
package/dist/actions.d.ts
CHANGED
|
@@ -6,11 +6,12 @@ export declare const nextItem: (state: SlashMenuState) => SlashMenuState;
|
|
|
6
6
|
export declare const prevItem: (state: SlashMenuState) => SlashMenuState;
|
|
7
7
|
export declare const filterItems: (state: SlashMenuState, filter: string) => {
|
|
8
8
|
filter: string;
|
|
9
|
-
selected:
|
|
9
|
+
selected: import("./types").ItemId;
|
|
10
10
|
filteredElements: import("./types").MenuElement[];
|
|
11
11
|
open: boolean;
|
|
12
|
-
subMenuId?:
|
|
12
|
+
subMenuId?: import("./types").ItemId;
|
|
13
13
|
elements: import("./types").MenuElement[];
|
|
14
14
|
ignoredKeys: string[];
|
|
15
|
-
callbackOnClose?: (
|
|
15
|
+
callbackOnClose?: () => void;
|
|
16
16
|
};
|
|
17
|
+
//# sourceMappingURL=actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAW,MAAM,SAAS,CAAC;AAEjE,eAAO,MAAM,SAAS,GAAI,cAAc,cAAc,mBAMrD,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,OAAO,cAAc,EAAE,MAAM,aAAa,mBAYrE,CAAC;AAEF,eAAO,MAAM,YAAY,GACvB,OAAO,cAAc,EACrB,MAAM,aAAa,EACnB,cAAc,cAAc,mBAsB7B,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,OAAO,cAAc,mBAI7C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,OAAO,cAAc,mBAI7C,CAAC;AACF,eAAO,MAAM,WAAW,GAAI,OAAO,cAAc,EAAE,QAAQ,MAAM;;;;;;;;;CAEhE,CAAC"}
|
package/dist/cases.d.ts
CHANGED
|
@@ -13,3 +13,4 @@ export declare enum SlashCases {
|
|
|
13
13
|
Catch = "Catch"
|
|
14
14
|
}
|
|
15
15
|
export declare const getCase: (state: SlashMenuState, event: KeyboardEvent, view: EditorView, ignoredKeys: string[], customConditions?: OpeningConditions, shouldOpenInSelection?: boolean) => SlashCases;
|
|
16
|
+
//# sourceMappingURL=cases.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cases.d.ts","sourceRoot":"","sources":["../src/cases.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE5D,oBAAY,UAAU;IACpB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AA4CD,eAAO,MAAM,OAAO,GAClB,OAAO,cAAc,EACrB,OAAO,aAAa,EACpB,MAAM,UAAU,EAChB,aAAa,MAAM,EAAE,EACrB,mBAAmB,iBAAiB,EACpC,wBAAwB,OAAO,KAC9B,UA2CF,CAAC"}
|
package/dist/enums.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"AAAA,oBAAY,cAAc;IACxB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;CAC5B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SlashMenuPlugin, SlashMenuKey } from "./plugin";
|
|
2
2
|
import { dispatchWithMeta, getElementById, defaultIgnoredKeys } from "./utils";
|
|
3
|
-
import { SlashMenuState, SlashMenuMeta, SubMenu, MenuElement, MenuItem, ItemId, CommandItem, ItemType } from "./types";
|
|
4
3
|
import { SlashMetaTypes } from "./enums";
|
|
5
|
-
export { SlashMenuPlugin, SlashMenuKey, SlashMetaTypes, dispatchWithMeta, getElementById, defaultIgnoredKeys,
|
|
4
|
+
export { SlashMenuPlugin, SlashMenuKey, SlashMetaTypes, dispatchWithMeta, getElementById, defaultIgnoredKeys, };
|
|
5
|
+
export type { SlashMenuState, SlashMenuMeta, SubMenu, MenuElement, MenuItem, ItemId, CommandItem, ItemType, OpeningConditions, } from "./types";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,kBAAkB,GACnB,CAAC;AACF,YAAY,EACV,cAAc,EACd,aAAa,EACb,OAAO,EACP,WAAW,EACX,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,EACR,iBAAiB,GAClB,MAAM,SAAS,CAAC"}
|
package/dist/index.es.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{PluginKey as e,Plugin as t}from"prosemirror-state";const n=e=>"submenu"===e.type?[e.id,...e.elements.map(
|
|
1
|
+
import{PluginKey as e,Plugin as t}from"prosemirror-state";const n=e=>"submenu"===e.type?[e.id,...e.elements.map(e=>n(e))].flat():[e.id],r=e=>{const t=(e=>e.filteredElements.map(e=>n(e)).flat())(e);return t.length!==new Set(t).size},s=e=>"submenu"===e.type?[e,...e.elements.map(e=>s(e))].flat():[e],o=(e,t)=>(e=>e.elements.map(e=>s(e)).flat())(t).find(t=>t.id===e),l=(e,t,n="root")=>{let r="root";return t.forEach(t=>{if("submenu"===t.type){t.id===e&&(r=n);const s=t.elements.map(e=>e.id);r=s.includes(e)?t.id:l(e,t.elements,t.id)}t.id===e&&(r=n)}),r},a=(e,t,n)=>e.dispatch(e.state.tr.setMeta(t,n)),u=["Unidentified","Alt","AltGraph","CapsLock","Control","Fn","FnLock","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","Hyper","Meta","NumLock","PageDown","PageUp","Pause","PrintScreen","Redo","ScrollLock","Shift","Super","Symbol","SymbolLock","Enter","Tab","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Home","PageDown","PageUp","Backspace","Clear","Copy","CrSel","Cut","Delete","EraseEof","ExSel","Insert","Paste","Redo","Undo","Accept","Again","Attn","Cancel","ContextMenu","Escape","Execute","Find","Finish","Help","Pause","Play","Props","Select","ZoomIn","ZoomOut","BrightnessDown","BrightnessUp","Eject","LogOff","Power","PowerOff","PrintScreen","Hibernate","Standby","WakeUp","AllCandidates","Alphanumeric","CodeInput","Compose","Convert","Dead","FinalMode","GroupFirst","GroupLast","GroupNext","GroupPrevious","ModeChange","NextCandidate","NonConvert","PreviousCandidate","Process","SingleCandidate","HangulMode","HanjaMode","JunjaMode","Eisu","Hankaku","Hiragana","HiraganaKatakana","KanaMode","KanjiMode","Katakana","Romaji","Zenkaku","ZenkakuHanaku"];var i;!function(e){e.OpenMenu="openMenu",e.CloseMenu="closeMenu",e.Execute="Execute",e.NextItem="NextItem",e.PrevItem="PrevItem",e.inputChange="InputChange",e.addChar="addChar",e.removeChar="removeChar",e.Ignore="Ignore",e.Catch="Catch"}(i||(i={}));const c=e=>{const t=(e=>{const t=l(e.selected,e.filteredElements),n=o(t,e);if("root"===t){const t=e.filteredElements.findIndex(t=>t.id===e.selected)+1;if(t<e.filteredElements.length)return e.filteredElements[t].id}if(n&&"submenu"===n.type){const t=n.elements.findIndex(t=>t.id===e.selected)+1;if(t<n.elements.length)return n.elements[t].id}})(e);return t?{...e,selected:t}:e},d=e=>{const t=(e=>{const t=l(e.selected,e.filteredElements),n=o(t,e);if("root"===t){const t=e.filteredElements.findIndex(t=>t.id===e.selected)-1;if(t>=0)return e.filteredElements[t].id}if(n&&"submenu"===n.type){const t=n.elements.findIndex(t=>t.id===e.selected)-1;if(t>=0)return n.elements[t].id}})(e);return t?{...e,selected:t}:e};var p;!function(e){e.open="open",e.close="close",e.execute="execute",e.nextItem="nextItem",e.prevItem="prevItem",e.openSubMenu="openSubMenu",e.closeSubMenu="closeSubMenu",e.inputChange="inputChange"}(p||(p={}));const m=new e("slash-menu-plugin"),f=(e,n,s,f,h,y)=>{const C={selected:e[0].id,open:!1,filter:"",ignoredKeys:n?[...u,...n]:u,filteredElements:e.filter(e=>!e.locked),elements:e};if(r(C))throw new Error("Menu elements must have unique id's!");return new t({key:m,props:{handleKeyDown(e,t){const n=e.state,r=m.getState(n);if(!r)return!1;const l=((e,t,n,r,s,l)=>{const a=s||((e=!1)=>({shouldOpen:(t,n,r)=>{const s=r.state,o=s.selection.from<0||s.selection.from>s.doc.content.size?null:s.doc.resolve(s.selection.from),l=o?.parent,a="paragraph"===l?.type.name,u=a&&2===l?.nodeSize,i=s.selection.$head.parentOffset,c=s.selection.$head.parent.textContent.slice(i-1,i),d=" "===c||""===c||" "===c;return!t.open&&"/"===n.key&&a&&(u||d||s.selection.from!==s.selection.to&&e)},shouldClose:(e,t)=>e.open&&("/"===t.key||"Escape"===t.key||"Backspace"===t.key)&&0===e.filter.length}))(l),u=o(e.selected,e);if(a.shouldOpen(e,t,n))return i.OpenMenu;if(a.shouldClose(e,t,n))return i.CloseMenu;if(e.open){if("ArrowDown"===t.key)return i.NextItem;if("ArrowUp"===t.key)return i.PrevItem;if("Enter"===t.key||"Tab"===t.key||"ArrowRight"===t.key&&"submenu"===u?.type)return i.Execute;if("Escape"===t.key||"Backspace"===t.key&&0===e.filter.length||"ArrowLeft"===t.key&&e.subMenuId)return i.CloseMenu;if(e.filter.length>0&&"Backspace"===t.key)return i.removeChar;if(!r.includes(t.key))return i.addChar;if("ArrowLeft"===t.key||"ArrowRight"===t.key)return i.Catch}return i.Ignore})(r,t,e,C.ignoredKeys,s,f);switch(l){case i.OpenMenu:return a(e,m,{type:p.open}),!h;case i.CloseMenu:{if(!r.open)return!1;const{subMenuId:s}=r;if(s){const t=o(s,C),n=t?.callbackOnClose;t?.locked?a(e,m,{type:p.close}):(n&&n(),a(e,m,{type:p.closeSubMenu,element:o(s,C)}))}else"/"===t.key?e.dispatch(n.tr.insertText("/").setMeta(m,{type:p.close})):a(e,m,{type:p.close});return!0}case i.Execute:{const t=o(r.selected,r);return!!t&&("command"===t.type&&(t.command(e),a(e,m,{type:p.execute})),"submenu"===t.type&&a(e,m,{type:p.openSubMenu,element:t}),!0)}case i.NextItem:return a(e,m,{type:p.nextItem}),!0;case i.PrevItem:return a(e,m,{type:p.prevItem}),!0;case i.addChar:return a(e,m,{type:p.inputChange,filter:r.filter+t.key}),!h;case i.removeChar:{const t=1===r.filter.length?"":r.filter.slice(0,-1);return a(e,m,{type:p.inputChange,filter:t}),!h}case i.Catch:return!0;case i.Ignore:default:return!1}}},state:{init:()=>C,apply(e,t){const n=e.getMeta(m);switch(n?.type){case p.open:return{...C,open:!0};case p.close:{const t=(e=>{const t=e.callbackOnClose;return t&&t(),e})(C);return y?.(e,t),t}case p.execute:return C;case p.openSubMenu:return((e,t)=>{const n=t.element;return"submenu"===n?.type?{...e,open:!0,filteredElements:n.elements,selected:n.elements[0].id,subMenuId:n.id}:e})(t,n);case p.closeSubMenu:return((e,t,n)=>{const r=t.element,s=r.callbackOnClose;if(s&&s(),"submenu"===r?.type){const t=l(r.id,n.filteredElements);if("root"===t)return{...n,open:!0};const s=o(t,n);return"submenu"!==s?.type?e:{...e,filteredElements:s.elements,selected:s.elements[0].id,subMenuId:t}}return e})(t,n,C);case p.nextItem:return c(t);case p.prevItem:return d(t);case p.inputChange:{const e=n.filter?((e,t)=>{const n=new RegExp(`${t.toLowerCase().replace(/\s/g,"\\s")}`);if(e.subMenuId&&"root"!==e.subMenuId)return o(e.subMenuId,e).elements.filter(e=>null!==e.label.toLowerCase().match(n));return e.elements.filter(e=>null!==e.label.toLowerCase().match(n)&&!e.locked)})(t,n.filter):C.elements,r=e?.[0]?.id;return{...t,selected:r||t.selected,filteredElements:e,filter:n.filter||""}}default:return t}}},initialState:C})};export{m as SlashMenuKey,f as SlashMenuPlugin,p as SlashMetaTypes,u as defaultIgnoredKeys,a as dispatchWithMeta,o as getElementById};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("prosemirror-state");const t=e=>"submenu"===e.type?[e.id,...e.elements.map(
|
|
1
|
+
"use strict";var e=require("prosemirror-state");const t=e=>"submenu"===e.type?[e.id,...e.elements.map(e=>t(e))].flat():[e.id],n=e=>{const n=(e=>e.filteredElements.map(e=>t(e)).flat())(e);return n.length!==new Set(n).size},s=e=>"submenu"===e.type?[e,...e.elements.map(e=>s(e))].flat():[e],r=(e,t)=>(e=>e.elements.map(e=>s(e)).flat())(t).find(t=>t.id===e),o=(e,t,n="root")=>{let s="root";return t.forEach(t=>{if("submenu"===t.type){t.id===e&&(s=n);const r=t.elements.map(e=>e.id);s=r.includes(e)?t.id:o(e,t.elements,t.id)}t.id===e&&(s=n)}),s},a=(e,t,n)=>e.dispatch(e.state.tr.setMeta(t,n)),l=["Unidentified","Alt","AltGraph","CapsLock","Control","Fn","FnLock","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","F16","F17","F18","F19","F20","F21","F22","F23","F24","Hyper","Meta","NumLock","PageDown","PageUp","Pause","PrintScreen","Redo","ScrollLock","Shift","Super","Symbol","SymbolLock","Enter","Tab","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","End","Home","PageDown","PageUp","Backspace","Clear","Copy","CrSel","Cut","Delete","EraseEof","ExSel","Insert","Paste","Redo","Undo","Accept","Again","Attn","Cancel","ContextMenu","Escape","Execute","Find","Finish","Help","Pause","Play","Props","Select","ZoomIn","ZoomOut","BrightnessDown","BrightnessUp","Eject","LogOff","Power","PowerOff","PrintScreen","Hibernate","Standby","WakeUp","AllCandidates","Alphanumeric","CodeInput","Compose","Convert","Dead","FinalMode","GroupFirst","GroupLast","GroupNext","GroupPrevious","ModeChange","NextCandidate","NonConvert","PreviousCandidate","Process","SingleCandidate","HangulMode","HanjaMode","JunjaMode","Eisu","Hankaku","Hiragana","HiraganaKatakana","KanaMode","KanjiMode","Katakana","Romaji","Zenkaku","ZenkakuHanaku"];var u;!function(e){e.OpenMenu="openMenu",e.CloseMenu="closeMenu",e.Execute="Execute",e.NextItem="NextItem",e.PrevItem="PrevItem",e.inputChange="InputChange",e.addChar="addChar",e.removeChar="removeChar",e.Ignore="Ignore",e.Catch="Catch"}(u||(u={}));const i=e=>{const t=(e=>{const t=o(e.selected,e.filteredElements),n=r(t,e);if("root"===t){const t=e.filteredElements.findIndex(t=>t.id===e.selected)+1;if(t<e.filteredElements.length)return e.filteredElements[t].id}if(n&&"submenu"===n.type){const t=n.elements.findIndex(t=>t.id===e.selected)+1;if(t<n.elements.length)return n.elements[t].id}})(e);return t?{...e,selected:t}:e},p=e=>{const t=(e=>{const t=o(e.selected,e.filteredElements),n=r(t,e);if("root"===t){const t=e.filteredElements.findIndex(t=>t.id===e.selected)-1;if(t>=0)return e.filteredElements[t].id}if(n&&"submenu"===n.type){const t=n.elements.findIndex(t=>t.id===e.selected)-1;if(t>=0)return n.elements[t].id}})(e);return t?{...e,selected:t}:e};var c;exports.SlashMetaTypes=void 0,(c=exports.SlashMetaTypes||(exports.SlashMetaTypes={})).open="open",c.close="close",c.execute="execute",c.nextItem="nextItem",c.prevItem="prevItem",c.openSubMenu="openSubMenu",c.closeSubMenu="closeSubMenu",c.inputChange="inputChange";const d=new e.PluginKey("slash-menu-plugin");exports.SlashMenuKey=d,exports.SlashMenuPlugin=(t,s,c,m,f,h)=>{const y={selected:t[0].id,open:!1,filter:"",ignoredKeys:s?[...l,...s]:l,filteredElements:t.filter(e=>!e.locked),elements:t};if(n(y))throw new Error("Menu elements must have unique id's!");return new e.Plugin({key:d,props:{handleKeyDown(e,t){const n=e.state,s=d.getState(n);if(!s)return!1;const o=((e,t,n,s,o,a)=>{const l=o||((e=!1)=>({shouldOpen:(t,n,s)=>{const r=s.state,o=r.selection.from<0||r.selection.from>r.doc.content.size?null:r.doc.resolve(r.selection.from),a=o?.parent,l="paragraph"===a?.type.name,u=l&&2===a?.nodeSize,i=r.selection.$head.parentOffset,p=r.selection.$head.parent.textContent.slice(i-1,i),c=" "===p||""===p||" "===p;return!t.open&&"/"===n.key&&l&&(u||c||r.selection.from!==r.selection.to&&e)},shouldClose:(e,t)=>e.open&&("/"===t.key||"Escape"===t.key||"Backspace"===t.key)&&0===e.filter.length}))(a),i=r(e.selected,e);if(l.shouldOpen(e,t,n))return u.OpenMenu;if(l.shouldClose(e,t,n))return u.CloseMenu;if(e.open){if("ArrowDown"===t.key)return u.NextItem;if("ArrowUp"===t.key)return u.PrevItem;if("Enter"===t.key||"Tab"===t.key||"ArrowRight"===t.key&&"submenu"===i?.type)return u.Execute;if("Escape"===t.key||"Backspace"===t.key&&0===e.filter.length||"ArrowLeft"===t.key&&e.subMenuId)return u.CloseMenu;if(e.filter.length>0&&"Backspace"===t.key)return u.removeChar;if(!s.includes(t.key))return u.addChar;if("ArrowLeft"===t.key||"ArrowRight"===t.key)return u.Catch}return u.Ignore})(s,t,e,y.ignoredKeys,c,m);switch(o){case u.OpenMenu:return a(e,d,{type:exports.SlashMetaTypes.open}),!f;case u.CloseMenu:{if(!s.open)return!1;const{subMenuId:o}=s;if(o){const t=r(o,y),n=t?.callbackOnClose;t?.locked?a(e,d,{type:exports.SlashMetaTypes.close}):(n&&n(),a(e,d,{type:exports.SlashMetaTypes.closeSubMenu,element:r(o,y)}))}else"/"===t.key?e.dispatch(n.tr.insertText("/").setMeta(d,{type:exports.SlashMetaTypes.close})):a(e,d,{type:exports.SlashMetaTypes.close});return!0}case u.Execute:{const t=r(s.selected,s);return!!t&&("command"===t.type&&(t.command(e),a(e,d,{type:exports.SlashMetaTypes.execute})),"submenu"===t.type&&a(e,d,{type:exports.SlashMetaTypes.openSubMenu,element:t}),!0)}case u.NextItem:return a(e,d,{type:exports.SlashMetaTypes.nextItem}),!0;case u.PrevItem:return a(e,d,{type:exports.SlashMetaTypes.prevItem}),!0;case u.addChar:return a(e,d,{type:exports.SlashMetaTypes.inputChange,filter:s.filter+t.key}),!f;case u.removeChar:{const t=1===s.filter.length?"":s.filter.slice(0,-1);return a(e,d,{type:exports.SlashMetaTypes.inputChange,filter:t}),!f}case u.Catch:return!0;case u.Ignore:default:return!1}}},state:{init:()=>y,apply(e,t){const n=e.getMeta(d);switch(n?.type){case exports.SlashMetaTypes.open:return{...y,open:!0};case exports.SlashMetaTypes.close:{const t=(e=>{const t=e.callbackOnClose;return t&&t(),e})(y);return h?.(e,t),t}case exports.SlashMetaTypes.execute:return y;case exports.SlashMetaTypes.openSubMenu:return((e,t)=>{const n=t.element;return"submenu"===n?.type?{...e,open:!0,filteredElements:n.elements,selected:n.elements[0].id,subMenuId:n.id}:e})(t,n);case exports.SlashMetaTypes.closeSubMenu:return((e,t,n)=>{const s=t.element,a=s.callbackOnClose;if(a&&a(),"submenu"===s?.type){const t=o(s.id,n.filteredElements);if("root"===t)return{...n,open:!0};const a=r(t,n);return"submenu"!==a?.type?e:{...e,filteredElements:a.elements,selected:a.elements[0].id,subMenuId:t}}return e})(t,n,y);case exports.SlashMetaTypes.nextItem:return i(t);case exports.SlashMetaTypes.prevItem:return p(t);case exports.SlashMetaTypes.inputChange:{const e=n.filter?((e,t)=>{const n=new RegExp(`${t.toLowerCase().replace(/\s/g,"\\s")}`);if(e.subMenuId&&"root"!==e.subMenuId)return r(e.subMenuId,e).elements.filter(e=>null!==e.label.toLowerCase().match(n));return e.elements.filter(e=>null!==e.label.toLowerCase().match(n)&&!e.locked)})(t,n.filter):y.elements,s=e?.[0]?.id;return{...t,selected:s||t.selected,filteredElements:e,filter:n.filter||""}}default:return t}}},initialState:y})},exports.defaultIgnoredKeys=l,exports.dispatchWithMeta=a,exports.getElementById=r;
|
package/dist/keyHandlers.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyHandlers.d.ts","sourceRoot":"","sources":["../src/keyHandlers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AA8CzC,eAAO,MAAM,WAAW;oBA3CD,UAAU,SAAS,cAAc;sBAmBhD,UAAU,SACT,cAAc,gBACP,cAAc,SACrB,aAAa;CAwBrB,CAAC"}
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Plugin, PluginKey, Transaction } from "prosemirror-state";
|
|
2
2
|
import { MenuElement, OpeningConditions, SlashMenuState } from "./types";
|
|
3
3
|
export declare const SlashMenuKey: PluginKey<SlashMenuState>;
|
|
4
|
-
export declare const SlashMenuPlugin: (menuElements: MenuElement[], ignoredKeys?: string[], customConditions?: OpeningConditions, openInSelection?: boolean, inlineFilter?: boolean, onMenuClose?: (
|
|
4
|
+
export declare const SlashMenuPlugin: (menuElements: MenuElement[], ignoredKeys?: string[], customConditions?: OpeningConditions, openInSelection?: boolean, inlineFilter?: boolean, onMenuClose?: (tr: Transaction, state: SlashMenuState) => void) => Plugin<SlashMenuState>;
|
|
5
|
+
//# sourceMappingURL=plugin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAiBnE,OAAO,EACL,WAAW,EACX,iBAAiB,EAEjB,cAAc,EAEf,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,YAAY,2BAAqD,CAAC;AAC/E,eAAO,MAAM,eAAe,GAC1B,cAAc,WAAW,EAAE,EAC3B,cAAc,MAAM,EAAE,EACtB,mBAAmB,iBAAiB,EACpC,kBAAkB,OAAO,EACzB,eAAe,OAAO,EACtB,cAAc,CAAC,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,KAAK,IAAI,2BAyK/D,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACrC,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;AAC7C,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,SAAS,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,OAAO,CAAC;IACzC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,WAAW,WAAY,SAAQ,QAAQ;IAC3C,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;CACrC;AAGD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,OAAO,CAAC;AAEhD,MAAM,WAAW,OAAQ,SAAQ,QAAQ;IACvC,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,WAAW,EAAE,CAAC;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,CACV,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,UAAU,KACb,OAAO,CAAC;IACb,WAAW,EAAE,CACX,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,aAAa,EACpB,IAAI,EAAE,UAAU,KACb,OAAO,CAAC;CACd"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -12,3 +12,4 @@ export declare const getPreviousItemId: (state: SlashMenuState) => ItemId | unde
|
|
|
12
12
|
export declare const dispatchWithMeta: (view: EditorView, key: PluginKey, meta: SlashMenuMeta) => void;
|
|
13
13
|
export declare const getFilteredItems: (state: SlashMenuState, input: string) => MenuElement[];
|
|
14
14
|
export declare const defaultIgnoredKeys: string[];
|
|
15
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,cAAc,EAEf,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,aAAa,GAAI,MAAM,WAAW,KAAG,MAAM,EAOvD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,QAAQ,cAAc,aACkB,CAAC;AAE1E,eAAO,MAAM,eAAe,GAAI,QAAQ,cAAc,KAAG,OAGxD,CAAC;AAMF,eAAO,MAAM,cAAc,GAAI,OAAO,cAAc,kBACU,CAAC;AAE/D,eAAO,MAAM,cAAc,GAAI,IAAI,MAAM,EAAE,OAAO,cAAc,4BAE/D,CAAC;AACF,eAAO,MAAM,UAAU,GACrB,IAAI,MAAM,EACV,UAAU,WAAW,EAAE,EACvB,UAAS,MAAM,GAAG,MAAe,KAChC,MAAM,GAAG,MAaX,CAAC;AACF,eAAO,MAAM,aAAa,GAAI,OAAO,cAAc,KAAG,MAAM,GAAG,SAmB9D,CAAC;AACF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,cAAc,KACpB,MAAM,GAAG,SAmBX,CAAC;AACF,eAAO,MAAM,gBAAgB,GAC3B,MAAM,UAAU,EAChB,KAAK,SAAS,EACd,MAAM,aAAa,SAC+B,CAAC;AAErD,eAAO,MAAM,gBAAgB,GAAI,OAAO,cAAc,EAAE,OAAO,MAAM,kBAYpE,CAAC;AAEF,eAAO,MAAM,kBAAkB,UA2H9B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "prosemirror-slash-menu",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.6",
|
|
4
4
|
"description": "Slash menu for ProseMirror",
|
|
5
|
+
"source": "src/index.ts",
|
|
5
6
|
"main": "dist/index.js",
|
|
6
7
|
"module": "dist/index.es.js",
|
|
7
8
|
"types": "dist/index.d.ts",
|
|
8
9
|
"repository": {
|
|
9
10
|
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/emergence-engineering/
|
|
11
|
+
"url": "git+https://github.com/emergence-engineering/emergence-tools.git",
|
|
12
|
+
"directory": "packages/prosemirror-slash-menu"
|
|
11
13
|
},
|
|
12
14
|
"files": [
|
|
13
15
|
"dist/**/*"
|
|
@@ -18,16 +20,15 @@
|
|
|
18
20
|
"slash",
|
|
19
21
|
"menu"
|
|
20
22
|
],
|
|
21
|
-
"license": "
|
|
23
|
+
"license": "MIT",
|
|
22
24
|
"bugs": {
|
|
23
|
-
"url": "https://github.com/emergence-engineering/
|
|
25
|
+
"url": "https://github.com/emergence-engineering/emergence-tools/issues"
|
|
24
26
|
},
|
|
25
|
-
"homepage": "https://github.com/emergence-engineering/prosemirror-slash-menu#readme",
|
|
26
|
-
"
|
|
27
|
+
"homepage": "https://github.com/emergence-engineering/emergence-tools/tree/main/packages/prosemirror-slash-menu#readme",
|
|
28
|
+
"peerDependencies": {
|
|
27
29
|
"prosemirror-model": "^1.19.3",
|
|
28
30
|
"prosemirror-state": "^1.4.3",
|
|
29
|
-
"prosemirror-view": "^1.31.4"
|
|
30
|
-
"rimraf": "^6.0.1"
|
|
31
|
+
"prosemirror-view": "^1.31.4"
|
|
31
32
|
},
|
|
32
33
|
"devDependencies": {
|
|
33
34
|
"@typescript-eslint/eslint-plugin": "^5.46.1",
|
|
@@ -40,34 +41,25 @@
|
|
|
40
41
|
"eslint-plugin-jsx-a11y": "^6.6.1",
|
|
41
42
|
"eslint-plugin-prettier": "^4.2.1",
|
|
42
43
|
"eslint-plugin-react": "^7.31.11",
|
|
43
|
-
"nodemon": "^2.0.22",
|
|
44
|
-
"np": "^8.0.2",
|
|
45
|
-
"npm-check": "^6.0.1",
|
|
46
|
-
"npm-run-all": "^4.1.5",
|
|
47
44
|
"prettier": "^2.8.8",
|
|
45
|
+
"prosemirror-model": "^1.19.3",
|
|
46
|
+
"prosemirror-state": "^1.4.3",
|
|
47
|
+
"prosemirror-view": "^1.31.4",
|
|
48
|
+
"rimraf": "^6.0.1",
|
|
48
49
|
"rollup": "^3.24.0",
|
|
49
50
|
"rollup-plugin-minification": "^0.2.0",
|
|
50
|
-
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
51
51
|
"rollup-plugin-typescript2": "^0.34.1",
|
|
52
52
|
"typescript": "^5.1.6"
|
|
53
53
|
},
|
|
54
54
|
"engines": {
|
|
55
|
-
"node": ">=
|
|
56
|
-
"npm": ">=7"
|
|
55
|
+
"node": ">=18"
|
|
57
56
|
},
|
|
58
57
|
"scripts": {
|
|
59
58
|
"prebuild": "rimraf dist",
|
|
60
59
|
"build": "rollup -c --bundleConfigAsCjs",
|
|
61
|
-
"rebuild": "rollup -c --bundleConfigAsCjs",
|
|
62
60
|
"dev": "rollup -c -w --bundleConfigAsCjs",
|
|
63
|
-
"yalc:watch": "nodemon --watch dist --exec 'yalc push'",
|
|
64
|
-
"dev:watch": "pnpm-run-all --parallel dev yalc:watch",
|
|
65
61
|
"format": "eslint src --ext .ts --fix",
|
|
66
|
-
"version": "pnpm run format && git add -A src",
|
|
67
|
-
"postversion": "git push && git push --tags",
|
|
68
62
|
"lint": "tsc --noEmit && eslint src --ext .ts",
|
|
69
|
-
"test": "echo \"no test specified\" && exit 0"
|
|
70
|
-
"upgrade-interactive": "npm-check --update",
|
|
71
|
-
"publish:np": "np"
|
|
63
|
+
"test": "echo \"no test specified\" && exit 0"
|
|
72
64
|
}
|
|
73
65
|
}
|