@estiva-app/ui 0.57.2 → 0.57.3
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/SuggestionMenu.d.ts.map +1 -1
- package/dist/editor.js +20 -0
- package/dist/editor.js.map +2 -2
- package/dist/index.js +8 -1
- package/dist/index.js.map +2 -2
- package/dist/suggestionPopup.d.ts +1 -1
- package/dist/suggestionPopup.d.ts.map +1 -1
- package/package.json +1 -1
- package/registry.json +1 -1
- package/src/ComposerTriggers.mdx +4 -0
- package/src/ComposerTriggers.test.tsx +75 -1
- package/src/SuggestionMenu.tsx +11 -1
- package/src/suggestionPopup.tsx +29 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SuggestionMenu.d.ts","sourceRoot":"","sources":["../src/SuggestionMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiF,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAC/H,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAA;AAGjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC7B;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,CAAC,EAAE,CAAA;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAA;CAC7C;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,gEAAgE;IAChE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAClC,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAA;IACjB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7C,8BAA8B;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;IAC5B,wBAAwB;IACxB,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,iBAAiB,CAAA;IACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAC3B,MAAM,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAA;CACnC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"SuggestionMenu.d.ts","sourceRoot":"","sources":["../src/SuggestionMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiF,KAAK,SAAS,EAAE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAC/H,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,QAAQ,CAAA;AAGjF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,SAAS,CAAA;IACnB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,IAAI,CAAC,EAAE,SAAS,CAAA;IAChB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAA;CAC7B;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,CAAC,EAAE,CAAA;IACnB,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,oDAAoD;AACpD,MAAM,WAAW,oBAAoB;IACnC,iFAAiF;IACjF,SAAS,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO,CAAA;CAC7C;AAED,MAAM,WAAW,mBAAmB,CAAC,CAAC;IACpC,gEAAgE;IAChE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IACpB,8EAA8E;IAC9E,aAAa,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAClC,6CAA6C;IAC7C,SAAS,EAAE,MAAM,CAAA;IACjB,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAA;IACb,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,EAAE,SAAS,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7C,8BAA8B;IAC9B,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAA;IAC5B,wBAAwB;IACxB,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,iBAAiB,CAAA;IACnC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAA;IAC3B,MAAM,CAAC,EAAE,GAAG,CAAC,oBAAoB,CAAC,CAAA;CACnC;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,sCAmIvJ"}
|
package/dist/editor.js
CHANGED
|
@@ -283,6 +283,7 @@ function SelectionToolbar({ editor, marks = ["bold", "italic", "underline"], lin
|
|
|
283
283
|
// src/suggestionPopup.tsx
|
|
284
284
|
import { forwardRef, useRef as useRef2, useImperativeHandle } from "react";
|
|
285
285
|
import { ReactRenderer } from "@tiptap/react";
|
|
286
|
+
import { exitSuggestion } from "@tiptap/suggestion";
|
|
286
287
|
import { SuggestionMenu } from "@estiva-app/ui";
|
|
287
288
|
import { jsx as jsx2 } from "react/jsx-runtime";
|
|
288
289
|
var openCount = 0;
|
|
@@ -320,14 +321,32 @@ function suggestionPopup(options) {
|
|
|
320
321
|
let last = null;
|
|
321
322
|
let unsubscribe;
|
|
322
323
|
let counted = false;
|
|
324
|
+
let unlisten;
|
|
323
325
|
const count = (shown) => {
|
|
324
326
|
if (shown === counted) return;
|
|
325
327
|
counted = shown;
|
|
326
328
|
openCount = shown ? openCount + 1 : Math.max(0, openCount - 1);
|
|
327
329
|
};
|
|
330
|
+
const listen = (props) => {
|
|
331
|
+
const { view } = props.editor;
|
|
332
|
+
const dom = view.dom;
|
|
333
|
+
const onBlur = () => {
|
|
334
|
+
if (dom.contains(document.activeElement) || !last) return;
|
|
335
|
+
const from = last.range.from;
|
|
336
|
+
count(false);
|
|
337
|
+
for (const plugin of view.state.plugins) {
|
|
338
|
+
const state = plugin.getState(view.state);
|
|
339
|
+
if (state?.active && state.range?.from === from && plugin.spec.key) exitSuggestion(view, plugin.spec.key);
|
|
340
|
+
}
|
|
341
|
+
};
|
|
342
|
+
dom.addEventListener("blur", onBlur);
|
|
343
|
+
unlisten = () => dom.removeEventListener("blur", onBlur);
|
|
344
|
+
};
|
|
328
345
|
const exit = () => {
|
|
329
346
|
unsubscribe?.();
|
|
330
347
|
unsubscribe = void 0;
|
|
348
|
+
unlisten?.();
|
|
349
|
+
unlisten = void 0;
|
|
331
350
|
last = null;
|
|
332
351
|
if (counted) lastClose = Date.now();
|
|
333
352
|
count(false);
|
|
@@ -345,6 +364,7 @@ function suggestionPopup(options) {
|
|
|
345
364
|
document.body.appendChild(container);
|
|
346
365
|
container.appendChild(component.element);
|
|
347
366
|
last = props;
|
|
367
|
+
listen(props);
|
|
348
368
|
const { subscribe, refresh } = options;
|
|
349
369
|
if (subscribe && refresh) {
|
|
350
370
|
unsubscribe = subscribe(() => {
|