@blankdotpage/cake 0.1.39 → 0.1.41
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/cake/editor/cake-editor.d.ts +10 -0
- package/dist/cake/editor/cake-editor.d.ts.map +1 -1
- package/dist/cake/editor/cake-editor.js +123 -6
- package/dist/cake/test/harness.d.ts +1 -0
- package/dist/cake/test/harness.d.ts.map +1 -1
- package/dist/cake/test/harness.js +1 -1
- package/package.json +1 -1
|
@@ -82,6 +82,10 @@ export declare class CakeEditor {
|
|
|
82
82
|
private extensionsRoot;
|
|
83
83
|
private placeholderRoot;
|
|
84
84
|
private resizeObserver;
|
|
85
|
+
private contentResizeObserver;
|
|
86
|
+
private layoutMutationObserver;
|
|
87
|
+
private fontFaceSet;
|
|
88
|
+
private isDestroyed;
|
|
85
89
|
private lastFocusRect;
|
|
86
90
|
private verticalNavGoalX;
|
|
87
91
|
private lastRenderPerf;
|
|
@@ -110,6 +114,7 @@ export declare class CakeEditor {
|
|
|
110
114
|
private handleDragOverBound;
|
|
111
115
|
private handleDropBound;
|
|
112
116
|
private handleDragEndBound;
|
|
117
|
+
private handleFontsChangedBound;
|
|
113
118
|
private dragState;
|
|
114
119
|
private dropIndicator;
|
|
115
120
|
private textDragState;
|
|
@@ -158,6 +163,7 @@ export declare class CakeEditor {
|
|
|
158
163
|
end: number;
|
|
159
164
|
};
|
|
160
165
|
getActiveMarks(): string[];
|
|
166
|
+
private getMarksAtCursorOffset;
|
|
161
167
|
private getMarksInBlock;
|
|
162
168
|
private getMarksInParagraph;
|
|
163
169
|
setTextSelection(selection: {
|
|
@@ -225,6 +231,10 @@ export declare class CakeEditor {
|
|
|
225
231
|
private attachDragListeners;
|
|
226
232
|
private detachDragListeners;
|
|
227
233
|
private detachListeners;
|
|
234
|
+
private shouldScheduleOverlayForExternalLayoutChange;
|
|
235
|
+
private handleExternalLayoutChange;
|
|
236
|
+
private attachExternalLayoutObservers;
|
|
237
|
+
private handleFontsChanged;
|
|
228
238
|
private handleFocusIn;
|
|
229
239
|
private handleFocusOut;
|
|
230
240
|
private render;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cake-editor.d.ts","sourceRoot":"","sources":["../../../src/cake/editor/cake-editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAE1B,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAmBxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAcpE,KAAK,aAAa,GAAG;IACnB,SAAS,EAAE,WAAW,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACzD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAqCF,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,kBAAkB,CAGtB;IACJ,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,aAAa,CAMd;IACP,OAAO,CAAC,cAAc,CAOf;IACP,OAAO,CAAC,iBAAiB,CAElB;IACP,OAAO,CAAC,kBAAkB,CAEnB;IACP,OAAO,CAAC,iBAAiB,CAA6C;IACtE,OAAO,CAAC,kBAAkB,CAAgD;IAC1E,OAAO,CAAC,SAAS,CAKV;IACP,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,mBAAmB,CAAgD;IAC3E,OAAO,CAAC,mBAAmB,CAEpB;IACP,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,KAAK,KAAK,QAEhB;IACD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,8BAA8B,CAAuB;IAC7D,OAAO,CAAC,+BAA+B,CAAuB;IAC9D,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,uBAAuB,CAAuB;IACtD,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,6BAA6B,CAAuB;IAC5D,OAAO,CAAC,qBAAqB,CAA0B;IACvD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,0BAA0B,CAAuB;IACzD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,cAAc,CAAC,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAC,CAAqC;IACrE,OAAO,CAAC,iBAAiB,CAElB;IACP,OAAO,CAAC,0BAA0B,CAC7B;IACL,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,OAAO,CAKb;IAIF,OAAO,CAAC,eAAe,CAGP;IAEhB,iBAAiB,IAAI,UAAU,GAAG,IAAI;IAItC,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,sBAAsB,CAAqC;IACnE,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,2BAA2B,CAA0C;IAC7E,OAAO,CAAC,yBAAyB,CAAwC;IACzE,OAAO,CAAC,0BAA0B,CAAyC;IAC3E,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,iBAAiB,CAAgC;IACzD,OAAO,CAAC,iBAAiB,CAAgC;IACzD,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,sBAAsB,CAAqC;IACnE,OAAO,CAAC,sBAAsB,CAAqC;IACnE,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,kBAAkB,CAAiC;
|
|
1
|
+
{"version":3,"file":"cake-editor.d.ts","sourceRoot":"","sources":["../../../src/cake/editor/cake-editor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAE1B,KAAK,YAAY,EACjB,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,UAAU,EAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAmBxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAcpE,KAAK,aAAa,GAAG;IACnB,SAAS,EAAE,WAAW,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,WAAW,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACzD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACnD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAqCF,qBAAa,UAAU;IACrB,OAAO,CAAC,SAAS,CAAc;IAC/B,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,kBAAkB,CAGtB;IACJ,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,aAAa,CAMd;IACP,OAAO,CAAC,cAAc,CAOf;IACP,OAAO,CAAC,iBAAiB,CAElB;IACP,OAAO,CAAC,kBAAkB,CAEnB;IACP,OAAO,CAAC,iBAAiB,CAA6C;IACtE,OAAO,CAAC,kBAAkB,CAAgD;IAC1E,OAAO,CAAC,SAAS,CAKV;IACP,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,mBAAmB,CAAgD;IAC3E,OAAO,CAAC,mBAAmB,CAEpB;IACP,OAAO,CAAC,kBAAkB,CAA2B;IACrD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,kBAAkB,CAAyB;IACnD,OAAO,CAAC,MAAM,CAAgB;IAE9B,OAAO,KAAK,KAAK,GAEhB;IAED,OAAO,KAAK,KAAK,QAEhB;IACD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,8BAA8B,CAAuB;IAC7D,OAAO,CAAC,+BAA+B,CAAuB;IAC9D,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,uBAAuB,CAAuB;IACtD,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,6BAA6B,CAAuB;IAC5D,OAAO,CAAC,qBAAqB,CAA0B;IACvD,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,0BAA0B,CAAuB;IACzD,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,qBAAqB,CAAuB;IACpD,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,kBAAkB,CAAgC;IAC1D,OAAO,CAAC,cAAc,CAAC,CAA4B;IACnD,OAAO,CAAC,uBAAuB,CAAC,CAAqC;IACrE,OAAO,CAAC,iBAAiB,CAElB;IACP,OAAO,CAAC,0BAA0B,CAC7B;IACL,OAAO,CAAC,QAAQ,CAAU;IAC1B,OAAO,CAAC,iBAAiB,CAAU;IACnC,OAAO,CAAC,cAAc,CAA4B;IAClD,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,qBAAqB,CAA+B;IAC5D,OAAO,CAAC,sBAAsB,CAAiC;IAC/D,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,cAAc,CAA2B;IACjD,OAAO,CAAC,OAAO,CAKb;IAIF,OAAO,CAAC,eAAe,CAGP;IAEhB,iBAAiB,IAAI,UAAU,GAAG,IAAI;IAItC,OAAO,CAAC,0BAA0B;IAiBlC,OAAO,CAAC,sBAAsB,CAAqC;IACnE,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,2BAA2B,CAA0C;IAC7E,OAAO,CAAC,yBAAyB,CAAwC;IACzE,OAAO,CAAC,0BAA0B,CAAyC;IAC3E,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,iBAAiB,CAAgC;IACzD,OAAO,CAAC,iBAAiB,CAAgC;IACzD,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,OAAO,CAAC,gBAAgB,CAA+B;IACvD,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,sBAAsB,CAAqC;IACnE,OAAO,CAAC,sBAAsB,CAAqC;IACnE,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,OAAO,CAAC,oBAAoB,CAAmC;IAC/D,OAAO,CAAC,mBAAmB,CAAkC;IAC7D,OAAO,CAAC,eAAe,CAA8B;IACrD,OAAO,CAAC,kBAAkB,CAAiC;IAC3D,OAAO,CAAC,uBAAuB,CAAsC;IAGrE,OAAO,CAAC,SAAS,CAMD;IAChB,OAAO,CAAC,aAAa,CAA+B;IAGpD,OAAO,CAAC,aAAa,CAIL;IAEhB,OAAO,CAAC,kBAAkB,CAGV;IAMhB,OAAO,CAAC,mBAAmB,CAAyC;IACpE,OAAO,CAAC,wBAAwB,CAAS;IAIzC,OAAO,CAAC,aAAa,CAAK;IAG1B,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,aAAa;gBAMT,OAAO,EAAE,aAAa;IAiClC,iBAAiB,CAAC,UAAU,EAAE,aAAa,EAAE;IAS7C,6BAA6B,CAAC,KAAK,EAAE,qBAAqB,EAAE;IAgB5D,oBAAoB,CAAC,MAAM,EAAE,gBAAgB;IAwB7C,kBAAkB,CAChB,EAAE,EAAE,CACF,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,gBAAgB,KACtB,gBAAgB;IAMvB,mBAAmB,CACjB,EAAE,EAAE,CACF,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,gBAAgB,KACtB,iBAAiB;IAMxB,sBAAsB,CACpB,EAAE,EAAE,CACF,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,gBAAgB,KACtB,oBAAoB,GAAG,IAAI;IAMlC,uBAAuB,CACrB,EAAE,EAAE,CACF,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,KACtB,qBAAqB,GAAG,IAAI;IAMnC,sBAAsB,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,KAAK,GAAG,IAAI;IAKzD,uBAAuB,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI;IAK7D,cAAc,CACZ,EAAE,EAAE,CACF,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE,YAAY,KAChB,UAAU,GAAG,WAAW,GAAG,IAAI;IAMtC,mBAAmB,CACjB,EAAE,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,KAAK,WAAW,GAAG,IAAI;IAM/D,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE;IAS1C;;;;;OAKG;IACH,0BAA0B,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,OAAO;IAKhE;;;OAGG;IACH,uBAAuB;IAOvB,sBAAsB,CAAC,EAAE,EAAE,iBAAiB;IAK5C,qBAAqB,CAAC,EAAE,EAAE,gBAAgB;IAK1C,UAAU,CAAC,SAAS,EAAE,eAAe;IAKrC,OAAO;IAkBP,WAAW,CAAC,QAAQ,EAAE,OAAO;IAK7B,oBAAoB,CAAC,OAAO,EAAE,OAAO;IAKrC,QAAQ;IAIR,YAAY;IAIZ,OAAO;IAKP,gBAAgB;;;;IAQhB,cAAc,IAAI,MAAM,EAAE;IA8B1B,OAAO,CAAC,sBAAsB;IAuB9B,OAAO,CAAC,eAAe;IA2CvB,OAAO,CAAC,mBAAmB;IAoF3B,gBAAgB,CAAC,SAAS,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;IAgB1D,mBAAmB,CAAC,QAAQ,SAA2B;IAQvD,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;;IAcjD,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;IAyC1D,eAAe;IAIf,YAAY;IAIZ,YAAY;IAIZ,cAAc;IAId,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG;QAC/B,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB;IAeD,oBAAoB,IAAI;QACtB,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,GAAG,IAAI;IAsCR,wBAAwB,IAAI,KAAK,CAAC;QAChC,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IAmCF,QAAQ;IAIR,cAAc;IAId,eAAe;IAIf,QAAQ,CACN,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,KAAK,IAAI,GACtD,MAAM,IAAI;IAUb,iBAAiB,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,GAAG,MAAM,IAAI;IAUvE;;;OAGG;IACH,oBAAoB;IAOpB,eAAe;IAIf,UAAU,CAAC,IAAI,EAAE,MAAM;IAUvB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAyB5C,YAAY,CAAC,SAAS,EAAE,SAAS;IAUjC,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,SAAS,CAAA;KAAE;IAiBvE,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS;IAU3B,IAAI;IAIJ,QAAQ;IAWR,SAAS;IAKT,IAAI;IAgBJ,IAAI;IAeJ,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,OAAO;IAIlB,cAAc,CACZ,OAAO,EAAE,WAAW,EACpB,OAAO,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,GACnC,OAAO;IAwBV,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,mBAAmB;IAU3B,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,eAAe;IAwDvB,OAAO,CAAC,4CAA4C;IA2BpD,OAAO,CAAC,0BAA0B;IAalC,OAAO,CAAC,6BAA6B;IA+CrC,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,MAAM;IAuGd,OAAO,CAAC,mBAAmB;IA6B3B,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,qBAAqB;IA2H7B,OAAO,CAAC,uBAAuB;IA6B/B,OAAO,CAAC,oBAAoB;IAqB5B,OAAO,CAAC,8BAA8B;IA4CtC,OAAO,CAAC,gCAAgC;IA8CxC,OAAO,CAAC,WAAW;IAmNnB,OAAO,CAAC,aAAa;IA+QrB,OAAO,CAAC,0BAA0B;IAgClC,OAAO,CAAC,UAAU;IA8BlB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,WAAW;IAyCnB,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,gBAAgB;IAsCxB,OAAO,CAAC,WAAW;IAmDnB,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,oBAAoB;IAkB5B,OAAO,CAAC,wBAAwB;IAuGhC,OAAO,CAAC,mCAAmC;IA0C3C,OAAO,CAAC,aAAa;IAkBrB,OAAO,CAAC,SAAS;IAyCjB,OAAO,CAAC,gCAAgC;IAoDxC,OAAO,CAAC,+BAA+B;IAqEvC,OAAO,CAAC,aAAa;IAsBrB,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,mBAAmB;IAmF3B,OAAO,CAAC,gBAAgB;IAsCxB,OAAO,CAAC,uBAAuB;IAgG/B,OAAO,CAAC,6BAA6B;IA+BrC,OAAO,CAAC,2BAA2B;IA+BnC,OAAO,CAAC,+BAA+B;IA4BvC,OAAO,CAAC,6BAA6B;IAgCrC,OAAO,CAAC,8BAA8B;IAKtC,OAAO,CAAC,4BAA4B;IAKpC,OAAO,CAAC,6BAA6B;IAkDrC,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,gBAAgB;IAcxB,OAAO,CAAC,sBAAsB;IAyD9B,OAAO,CAAC,YAAY;IAiGpB,OAAO,CAAC,aAAa;IA+FrB,OAAO,CAAC,WAAW;IAcnB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,mBAAmB;IAsG3B,OAAO,CAAC,iCAAiC;IA6BzC,OAAO,CAAC,sBAAsB;IAW9B,OAAO,CAAC,8BAA8B;IAWtC,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,sBAAsB;IAQ9B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,iBAAiB;IA0BzB,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,sBAAsB;IAqE9B,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,WAAW;IAiBnB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,2BAA2B;IAanC,OAAO,CAAC,mBAAmB;IAuD3B,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,iBAAiB;IAuQzB,OAAO,CAAC,iBAAiB;IAiDzB,OAAO,CAAC,eAAe;IAqFvB,OAAO,CAAC,iBAAiB;IAiDzB,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,sBAAsB;IA8B9B,OAAO,CAAC,uBAAuB;IAkD/B,OAAO,CAAC,SAAS;IA0EjB,OAAO,CAAC,eAAe;IAqDvB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,UAAU;IAiKlB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,wBAAwB;CAsBjC"}
|
|
@@ -104,6 +104,10 @@ export class CakeEditor {
|
|
|
104
104
|
this.extensionsRoot = null;
|
|
105
105
|
this.placeholderRoot = null;
|
|
106
106
|
this.resizeObserver = null;
|
|
107
|
+
this.contentResizeObserver = null;
|
|
108
|
+
this.layoutMutationObserver = null;
|
|
109
|
+
this.fontFaceSet = null;
|
|
110
|
+
this.isDestroyed = false;
|
|
107
111
|
this.lastFocusRect = null;
|
|
108
112
|
this.verticalNavGoalX = null;
|
|
109
113
|
this.lastRenderPerf = null;
|
|
@@ -137,6 +141,7 @@ export class CakeEditor {
|
|
|
137
141
|
this.handleDragOverBound = this.handleDragOver.bind(this);
|
|
138
142
|
this.handleDropBound = this.handleDrop.bind(this);
|
|
139
143
|
this.handleDragEndBound = this.handleDragEnd.bind(this);
|
|
144
|
+
this.handleFontsChangedBound = this.handleFontsChanged.bind(this);
|
|
140
145
|
// Drag state for line moving
|
|
141
146
|
this.dragState = null;
|
|
142
147
|
this.dropIndicator = null;
|
|
@@ -293,6 +298,7 @@ export class CakeEditor {
|
|
|
293
298
|
return () => removeFromArray(this.uiComponents, component);
|
|
294
299
|
}
|
|
295
300
|
destroy() {
|
|
301
|
+
this.isDestroyed = true;
|
|
296
302
|
this.detachListeners();
|
|
297
303
|
this.extensionDisposers
|
|
298
304
|
.splice(0)
|
|
@@ -334,13 +340,32 @@ export class CakeEditor {
|
|
|
334
340
|
};
|
|
335
341
|
}
|
|
336
342
|
getActiveMarks() {
|
|
337
|
-
|
|
338
|
-
if (
|
|
339
|
-
|
|
343
|
+
const { start, end } = this.state.selection;
|
|
344
|
+
if (start === end) {
|
|
345
|
+
const affinity = this.state.selection.affinity ?? "forward";
|
|
346
|
+
return this.getMarksAtCursorOffset(start, affinity);
|
|
347
|
+
}
|
|
348
|
+
const selectionStart = Math.min(start, end);
|
|
349
|
+
const selectionEnd = Math.max(start, end);
|
|
350
|
+
let intersection = null;
|
|
351
|
+
// For ranged selections, a mark is active only if it applies to every
|
|
352
|
+
// selected cursor unit.
|
|
353
|
+
for (let cursor = selectionStart + 1; cursor <= selectionEnd; cursor++) {
|
|
354
|
+
const marks = this.getMarksAtCursorOffset(cursor, "backward");
|
|
355
|
+
if (intersection === null) {
|
|
356
|
+
intersection = marks;
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
intersection = intersection.filter((mark) => marks.includes(mark));
|
|
360
|
+
}
|
|
361
|
+
if (intersection.length === 0) {
|
|
362
|
+
return [];
|
|
363
|
+
}
|
|
340
364
|
}
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
365
|
+
return intersection ?? [];
|
|
366
|
+
}
|
|
367
|
+
getMarksAtCursorOffset(cursorOffset, affinity) {
|
|
368
|
+
// Traverse the document to find marks at cursor position.
|
|
344
369
|
let currentOffset = 0;
|
|
345
370
|
for (const block of this.state.doc.blocks) {
|
|
346
371
|
const result = this.getMarksInBlock(block, cursorOffset, currentOffset, affinity);
|
|
@@ -788,6 +813,7 @@ export class CakeEditor {
|
|
|
788
813
|
this.scheduleOverlayUpdate();
|
|
789
814
|
});
|
|
790
815
|
this.resizeObserver.observe(this.container);
|
|
816
|
+
this.attachExternalLayoutObservers();
|
|
791
817
|
this.container.addEventListener("click", this.handleClickBound);
|
|
792
818
|
this.container.addEventListener("keydown", this.handleKeyDownBound);
|
|
793
819
|
this.container.addEventListener("paste", this.handlePasteBound);
|
|
@@ -827,6 +853,15 @@ export class CakeEditor {
|
|
|
827
853
|
window.removeEventListener("resize", this.handleResizeBound);
|
|
828
854
|
this.resizeObserver?.disconnect();
|
|
829
855
|
this.resizeObserver = null;
|
|
856
|
+
this.contentResizeObserver?.disconnect();
|
|
857
|
+
this.contentResizeObserver = null;
|
|
858
|
+
this.layoutMutationObserver?.disconnect();
|
|
859
|
+
this.layoutMutationObserver = null;
|
|
860
|
+
if (this.fontFaceSet) {
|
|
861
|
+
this.fontFaceSet.removeEventListener("loadingdone", this.handleFontsChangedBound);
|
|
862
|
+
this.fontFaceSet.removeEventListener("loadingerror", this.handleFontsChangedBound);
|
|
863
|
+
this.fontFaceSet = null;
|
|
864
|
+
}
|
|
830
865
|
this.container.removeEventListener("click", this.handleClickBound);
|
|
831
866
|
this.container.removeEventListener("keydown", this.handleKeyDownBound);
|
|
832
867
|
this.container.removeEventListener("paste", this.handlePasteBound);
|
|
@@ -837,6 +872,88 @@ export class CakeEditor {
|
|
|
837
872
|
this.container.removeEventListener("pointerup", this.handlePointerUpBound);
|
|
838
873
|
this.detachDragListeners();
|
|
839
874
|
}
|
|
875
|
+
shouldScheduleOverlayForExternalLayoutChange() {
|
|
876
|
+
if (this.isDestroyed) {
|
|
877
|
+
return false;
|
|
878
|
+
}
|
|
879
|
+
if (this.isComposing) {
|
|
880
|
+
return false;
|
|
881
|
+
}
|
|
882
|
+
if (!this.overlayRoot || !this.contentRoot) {
|
|
883
|
+
return false;
|
|
884
|
+
}
|
|
885
|
+
const isRecentTouch = Date.now() - this.lastTouchTime < 2000;
|
|
886
|
+
const isTouchMode = (this.contentRoot.classList.contains("cake-touch-mode") ?? false) ||
|
|
887
|
+
this.isTouchDevice() ||
|
|
888
|
+
isRecentTouch;
|
|
889
|
+
if (isTouchMode) {
|
|
890
|
+
return false;
|
|
891
|
+
}
|
|
892
|
+
const selection = this.state.selection;
|
|
893
|
+
if (selection.start !== selection.end) {
|
|
894
|
+
return true;
|
|
895
|
+
}
|
|
896
|
+
return this.hasFocus();
|
|
897
|
+
}
|
|
898
|
+
handleExternalLayoutChange() {
|
|
899
|
+
// Placeholder positioning is independent of overlay visibility; the helper
|
|
900
|
+
// is already a no-op when no placeholder root exists.
|
|
901
|
+
this.syncPlaceholderPosition();
|
|
902
|
+
// Avoid scheduling expensive selection geometry work when there's nothing
|
|
903
|
+
// visible that would change (e.g. blurred + collapsed selection).
|
|
904
|
+
if (!this.shouldScheduleOverlayForExternalLayoutChange()) {
|
|
905
|
+
return;
|
|
906
|
+
}
|
|
907
|
+
this.scheduleOverlayUpdate();
|
|
908
|
+
}
|
|
909
|
+
attachExternalLayoutObservers() {
|
|
910
|
+
if (!this.contentRoot) {
|
|
911
|
+
return;
|
|
912
|
+
}
|
|
913
|
+
// Fonts and ancestor class toggles can change selection/caret geometry
|
|
914
|
+
// without triggering selectionchange, container resize, or window resize.
|
|
915
|
+
this.contentResizeObserver = new ResizeObserver(() => {
|
|
916
|
+
if (this.isDestroyed) {
|
|
917
|
+
return;
|
|
918
|
+
}
|
|
919
|
+
this.handleExternalLayoutChange();
|
|
920
|
+
});
|
|
921
|
+
this.contentResizeObserver.observe(this.contentRoot);
|
|
922
|
+
this.layoutMutationObserver = new MutationObserver(() => {
|
|
923
|
+
if (this.isDestroyed) {
|
|
924
|
+
return;
|
|
925
|
+
}
|
|
926
|
+
this.handleExternalLayoutChange();
|
|
927
|
+
});
|
|
928
|
+
// Observe class/style changes on the container's ancestor chain so toggling
|
|
929
|
+
// font-related classes (e.g. a wrapper "font-mono" class) forces a reflow.
|
|
930
|
+
//
|
|
931
|
+
// We intentionally avoid a document-wide observer to keep overhead low.
|
|
932
|
+
let node = this.container;
|
|
933
|
+
while (node) {
|
|
934
|
+
this.layoutMutationObserver.observe(node, {
|
|
935
|
+
attributes: true,
|
|
936
|
+
attributeFilter: ["class", "style"],
|
|
937
|
+
});
|
|
938
|
+
node = node.parentElement;
|
|
939
|
+
}
|
|
940
|
+
const fonts = document.fonts;
|
|
941
|
+
if (fonts && typeof fonts.addEventListener === "function") {
|
|
942
|
+
this.fontFaceSet = fonts;
|
|
943
|
+
fonts.addEventListener("loadingdone", this.handleFontsChangedBound);
|
|
944
|
+
fonts.addEventListener("loadingerror", this.handleFontsChangedBound);
|
|
945
|
+
void fonts.ready.then(() => this.handleFontsChanged()).catch(() => {
|
|
946
|
+
// Ignore font readiness failures; selection overlay should still work
|
|
947
|
+
// with fallback fonts and layout observers.
|
|
948
|
+
});
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
handleFontsChanged() {
|
|
952
|
+
if (this.isDestroyed) {
|
|
953
|
+
return;
|
|
954
|
+
}
|
|
955
|
+
this.handleExternalLayoutChange();
|
|
956
|
+
}
|
|
840
957
|
handleFocusIn() {
|
|
841
958
|
// Focus-in is a discrete event; update selection overlay immediately so
|
|
842
959
|
// selection/caret visuals don't lag behind across engines.
|
|
@@ -61,6 +61,7 @@ export interface TestHarnessOptions {
|
|
|
61
61
|
css?: string;
|
|
62
62
|
extensions?: CakeExtension[];
|
|
63
63
|
renderOverlays?: boolean;
|
|
64
|
+
mount?: HTMLElement;
|
|
64
65
|
}
|
|
65
66
|
export declare function createTestHarness(valueOrOptions: string | TestHarnessOptions): TestHarness;
|
|
66
67
|
//# sourceMappingURL=harness.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../src/cake/test/harness.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"harness.d.ts","sourceRoot":"","sources":["../../../src/cake/test/harness.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,7 +16,7 @@ export function createTestHarness(valueOrOptions) {
|
|
|
16
16
|
container.style.position = "absolute";
|
|
17
17
|
container.style.top = "0";
|
|
18
18
|
container.style.left = "0";
|
|
19
|
-
document.body.appendChild(container);
|
|
19
|
+
(options.mount ?? document.body).appendChild(container);
|
|
20
20
|
let styleElement = null;
|
|
21
21
|
const caretStyles = `
|
|
22
22
|
.cake-caret {
|