@myissue/vue-website-page-builder 3.5.48 → 3.5.50

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
@@ -102,6 +102,8 @@ declare interface BuildProductSectionStyleOptions {
102
102
  cardStyle?: ProductCardStyle;
103
103
  roundedImages?: boolean;
104
104
  openInNewTab?: boolean;
105
+ buttonStyle?: ProductButtonStyle;
106
+ roundedButtons?: boolean;
105
107
  hidePrice?: boolean;
106
108
  hideImage?: boolean;
107
109
  hideButton?: boolean;
@@ -153,6 +155,10 @@ export declare interface InsertProductsOptions {
153
155
  roundedImages?: boolean;
154
156
  /** Adds target="_blank" rel="noopener noreferrer" to product links */
155
157
  openInNewTab?: boolean;
158
+ /** Product CTA appearance: plain text link or button style */
159
+ buttonStyle?: ProductButtonStyle;
160
+ /** Applies rounded/full corners when CTA button style is enabled */
161
+ roundedButtons?: boolean;
156
162
  /** Hides price and compare-at price when product data includes them */
157
163
  hidePrice?: boolean;
158
164
  /** Hides product photos when product data includes images */
@@ -307,6 +313,9 @@ export declare class PageBuilderService {
307
313
  private _pendingPageSettings;
308
314
  private _lastKnownPageSettings;
309
315
  private isPageBuilderMissingOnStart;
316
+ private hasCompletedBuilderMount;
317
+ private builderMountPromise;
318
+ private activeBuilderSessionToken;
310
319
  private canvasClickCaptureListener;
311
320
  private canvasDblClickCaptureListener;
312
321
  private elementsWithListeners;
@@ -364,12 +373,24 @@ export declare class PageBuilderService {
364
373
  * @returns {Promise<StartBuilderResult>} A result object indicating success or failure.
365
374
  */
366
375
  startBuilder(config: PageBuilderConfig, passedComponentsArray?: BuilderResourceData): Promise<StartBuilderResult>;
376
+ /**
377
+ * Whether PageBuilder.vue should run deferred mount on mount (DOM was missing at startBuilder).
378
+ *
379
+ * @param ownCanvas - The component's own #pagebuilder element (passed from PageBuilder.vue ref).
380
+ * Using this instead of document.querySelector ensures the correct canvas is checked when
381
+ * multiple PageBuilder instances exist on the same page (e.g. one always-visible + one in a
382
+ * modal). When the modal's canvas is empty while another instance already has content, the
383
+ * document.querySelector approach would miss the empty canvas entirely.
384
+ */
385
+ shouldCompleteBuilderMountOnMount(ownCanvas?: HTMLElement): boolean;
367
386
  /**
368
387
  * Completes the builder initialization process once the DOM is ready.
369
388
  * @param {BuilderResourceData} [passedComponentsArray] - Optional array of components to load.
370
389
  * @returns {Promise<void>}
371
390
  */
372
391
  completeBuilderInitialization(passedComponentsArray?: BuilderResourceData): Promise<void>;
392
+ private completeBuilderInitializationWithSession;
393
+ private runCompleteBuilderInitialization;
373
394
  /**
374
395
  * Converts an array of ComponentObject into a single HTML string.
375
396
  *
@@ -907,6 +928,12 @@ export declare class PageBuilderService {
907
928
  * Call this after programmatically inserting elements into the builder canvas.
908
929
  */
909
930
  refreshListeners(): Promise<void>;
931
+ /**
932
+ * Applies config-provided pageSettings.style to #pagebuilder when the element
933
+ * has no inline style attribute. Safe to call on every canvas refresh because
934
+ * the guard `!domStyle` means user-edited styles are never overwritten.
935
+ */
936
+ private reapplyConfigPageSettingsIfMissing;
910
937
  /**
911
938
  * Resumes editing from a draft saved in local storage.
912
939
  * @returns {Promise<void>}
@@ -997,6 +1024,7 @@ export declare class PageBuilderService {
997
1024
  * @private
998
1025
  */
999
1026
  private convertStyleObjectToString;
1027
+ private hasMeaningfulPageSettings;
1000
1028
  /**
1001
1029
  * Parses a string of HTML and extracts builder components and global page settings.
1002
1030
  * - This method expects an **HTML string** containing one or more `<section>...</section>` elements (such as the output from `getSavedPageHtml()` or a previously saved builder HTML string).
@@ -1155,6 +1183,8 @@ export declare interface PageSettings {
1155
1183
  [key: string]: unknown;
1156
1184
  }
1157
1185
 
1186
+ declare type ProductButtonStyle = 'text' | 'button' | (string & {});
1187
+
1158
1188
  export declare type ProductCardStyle = 'minimal' | 'bordered' | 'shadow' | 'elevated' | (string & {});
1159
1189
 
1160
1190
  export declare type ProductGridLayout = 'grid-1' | 'grid-2' | 'grid-3' | 'grid-4' | 'grid-6' | (string & {});
@@ -1167,6 +1197,10 @@ export declare interface ProductSectionOptions {
1167
1197
  cardStyle?: ProductCardStyle;
1168
1198
  roundedImages?: boolean;
1169
1199
  openInNewTab?: boolean;
1200
+ /** Product CTA appearance: plain text link or button style */
1201
+ buttonStyle?: ProductButtonStyle;
1202
+ /** Applies rounded/full corners when CTA button style is enabled */
1203
+ roundedButtons?: boolean;
1170
1204
  /** Hides price and compare-at price when product data includes them */
1171
1205
  hidePrice?: boolean;
1172
1206
  /** Hides product photos when product data includes images */