@myissue/vue-website-page-builder 3.5.15 → 3.5.16

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/index.d.ts CHANGED
@@ -230,6 +230,8 @@ export declare class PageBuilderService {
230
230
  private _pendingPageSettings;
231
231
  private _lastKnownPageSettings;
232
232
  private isPageBuilderMissingOnStart;
233
+ private canvasClickCaptureListener;
234
+ private canvasDblClickCaptureListener;
233
235
  private elementsWithListeners;
234
236
  private translate;
235
237
  constructor(pageBuilderStateStore: ReturnType<typeof usePageBuilderStateStore>);
@@ -362,6 +364,19 @@ export declare class PageBuilderService {
362
364
  * @returns {Promise<void>}
363
365
  */
364
366
  toggleTipTapModal(status: boolean): Promise<void>;
367
+ /**
368
+ * Toggles direct, in-canvas rich text editing for the selected element.
369
+ * @param {boolean} status - Whether to enable inline Tiptap editing.
370
+ * @returns {Promise<void>}
371
+ */
372
+ toggleInlineTipTapEditor(status: boolean): Promise<void>;
373
+ /**
374
+ * Restores normal builder selection after an inline TipTap editor has been torn down.
375
+ * @param {HTMLElement | null} element - The element that was edited inline.
376
+ * @param {boolean} shouldAutoSave - Whether to autosave the restored element HTML.
377
+ * @returns {Promise<void>}
378
+ */
379
+ finishInlineTipTapEditor(element: HTMLElement | null, shouldAutoSave?: boolean): Promise<void>;
365
380
  /**
366
381
  * Wraps an element in a div if it's an excluded tag and adjacent to an image.
367
382
  * @param {HTMLElement} element - The element to potentially wrap.
@@ -416,6 +431,13 @@ export declare class PageBuilderService {
416
431
  * @private
417
432
  */
418
433
  private addListenersToEditableElements;
434
+ private attachCanvasInlineEditListeners;
435
+ findEditableElementFromEventTarget(target: EventTarget | null): HTMLElement | null;
436
+ private handleCanvasClickCapture;
437
+ private handleCanvasDoubleClickCapture;
438
+ openInlineTipTapFromEvent(e: Event): Promise<void>;
439
+ private hasInlineTipTapElement;
440
+ finishActiveInlineTipTapEditorFromDom(nextElement?: HTMLElement | null): Promise<void>;
419
441
  /**
420
442
  * Handles the click event for editable elements, setting the element as selected.
421
443
  * @param {Event} e - The click event.
@@ -423,6 +445,21 @@ export declare class PageBuilderService {
423
445
  * @private
424
446
  */
425
447
  private handleElementClick;
448
+ /**
449
+ * Opens inline rich-text editing when a valid text element is double-clicked.
450
+ * @param {Event} e - The double-click event.
451
+ * @param {HTMLElement} element - The double-clicked element.
452
+ * @private
453
+ */
454
+ private handleElementDoubleClick;
455
+ private openInlineTipTapForElement;
456
+ /**
457
+ * Selects an editable builder element and syncs builder state.
458
+ * @param {HTMLElement} element - The element to select.
459
+ * @param {boolean} shouldAutoSave - Whether to autosave after selection.
460
+ * @returns {Promise<void>}
461
+ */
462
+ selectEditableElement(element: HTMLElement, shouldAutoSave?: boolean): Promise<void>;
426
463
  private getHistoryBaseKey;
427
464
  private initializeHistory;
428
465
  /**
@@ -697,11 +734,17 @@ export declare class PageBuilderService {
697
734
  * @returns {boolean} True if it is an iframe, false otherwise.
698
735
  */
699
736
  ElOrFirstChildIsIframe(): boolean;
737
+ /**
738
+ * Checks whether an element can be edited with inline TipTap (no images/div-only children).
739
+ * @param {HTMLElement | null | undefined} element - The element to validate.
740
+ * @returns {boolean} True when inline rich-text editing is allowed.
741
+ */
742
+ isValidTextElement(element: HTMLElement | null | undefined): boolean;
700
743
  /**
701
744
  * Checks if the selected element is a valid text container (i.e., does not contain images or divs).
702
- * @returns {boolean | undefined} True if it's a valid text element, otherwise undefined.
745
+ * @returns {boolean} True if it's a valid text element, otherwise false.
703
746
  */
704
- isSelectedElementValidText(): false | undefined;
747
+ isSelectedElementValidText(): boolean;
705
748
  /**
706
749
  * Generates a preview of the current page design.
707
750
  */
@@ -910,6 +953,7 @@ declare interface PageBuilderState {
910
953
  componentArrayAddMethod: string | null;
911
954
  localStorageItemName: string | null;
912
955
  showModalTipTap: boolean;
956
+ inlineTipTapEditor: boolean;
913
957
  menuRight: boolean;
914
958
  borderStyle: string | null;
915
959
  borderWidth: string | null;
@@ -1089,6 +1133,7 @@ export declare const usePageBuilderStateStore: StoreDefinition<"pageBuilderState
1089
1133
  getComponentArrayAddMethod(state: PageBuilderState): string | null;
1090
1134
  getLocalStorageItemName(state: PageBuilderState): string | null;
1091
1135
  getShowModalTipTap(state: PageBuilderState): boolean;
1136
+ getInlineTipTapEditor(state: PageBuilderState): boolean;
1092
1137
  getMenuRight(state: PageBuilderState): boolean;
1093
1138
  getBorderStyle(state: PageBuilderState): string | null;
1094
1139
  getBorderWidth(state: PageBuilderState): string | null;
@@ -1157,6 +1202,7 @@ export declare const usePageBuilderStateStore: StoreDefinition<"pageBuilderState
1157
1202
  componentArrayAddMethod: string | null;
1158
1203
  localStorageItemName: string | null;
1159
1204
  showModalTipTap: boolean;
1205
+ inlineTipTapEditor: boolean;
1160
1206
  menuRight: boolean;
1161
1207
  borderStyle: string | null;
1162
1208
  borderWidth: string | null;
@@ -1310,6 +1356,7 @@ export declare const usePageBuilderStateStore: StoreDefinition<"pageBuilderState
1310
1356
  setComponentArrayAddMethod(payload: string | null): void;
1311
1357
  setLocalStorageItemName(payload: string | null): void;
1312
1358
  setShowModalTipTap(payload: boolean): void;
1359
+ setInlineTipTapEditor(payload: boolean): void;
1313
1360
  setMenuRight(payload: boolean): void;
1314
1361
  setBorderStyle(payload: string | null): void;
1315
1362
  setBorderWidth(payload: string | null): void;