@myissue/vue-website-page-builder 3.5.66 → 3.5.68

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
@@ -107,6 +107,7 @@ export declare function buildProductSectionHtml(products: ReadonlyArray<PageBuil
107
107
 
108
108
  declare interface BuildProductSectionStyleOptions {
109
109
  cardStyle?: ProductCardStyle;
110
+ cardDesign?: ProductCardDesign;
110
111
  roundedImages?: boolean;
111
112
  openInNewTab?: boolean;
112
113
  buttonStyle?: ProductButtonStyle;
@@ -159,6 +160,8 @@ export declare interface InsertProductsOptions {
159
160
  layout?: ProductGridLayout;
160
161
  mobileColumns?: ProductMobileColumns;
161
162
  cardStyle?: ProductCardStyle;
163
+ /** Layout/typography preset for product cards */
164
+ cardDesign?: ProductCardDesign;
162
165
  /** Adds rounded corners to product images */
163
166
  roundedImages?: boolean;
164
167
  /** Adds target="_blank" rel="noopener noreferrer" to product links */
@@ -230,6 +233,12 @@ export declare interface PageBuilderConfig {
230
233
  };
231
234
  autoSave?: boolean;
232
235
  notifications?: boolean;
236
+ /**
237
+ * When `true`, TipTap editors hide the H1 control and do not allow creating
238
+ * level-1 headings (H2–H6 remain available). Defaults to `false` when omitted.
239
+ * Useful when the host page already owns the single page `<h1>` outside the builder.
240
+ */
241
+ disableH1?: boolean;
233
242
  /**
234
243
  * Default canvas font and, optionally, the restricted set of fonts shown in
235
244
  * the font-family picker.
@@ -551,7 +560,12 @@ export declare class PageBuilderService {
551
560
  hasButtons: boolean;
552
561
  hasLinks: boolean;
553
562
  };
554
- updateSelectedProductSection(options: ProductSectionOptions): Promise<void>;
563
+ updateSelectedProductSection(options: ProductSectionOptions, applyOptions?: {
564
+ persist?: boolean;
565
+ }): Promise<void>;
566
+ /** Prefer the live canvas section; getElement can point at a detached remount leftover. */
567
+ private resolveLiveSelectedProductSection;
568
+ private findProductSectionByComponentId;
555
569
  /**
556
570
  * Returns true when the global page wrapper has the full-width class applied.
557
571
  */
@@ -565,6 +579,12 @@ export declare class PageBuilderService {
565
579
  isSelectedElementImage(): boolean;
566
580
  setImageSettingsModalOpen(open: boolean): void;
567
581
  isImageSettingsModalOpen(): boolean;
582
+ /**
583
+ * Closes Image Settings after flushing live DOM changes.
584
+ * Remounts once so Pinia matches the canvas, then re-selects the same image
585
+ * (autosave remounts during the panel would drop selection mid-edit).
586
+ */
587
+ closeImageSettingsModal(): Promise<void>;
568
588
  private findImageAspectClass;
569
589
  private removeImageAspectClasses;
570
590
  handleImageObjectFit(userSelection?: string): void;
@@ -1078,8 +1098,15 @@ export declare class PageBuilderService {
1078
1098
  addTheme(components: string): Promise<void>;
1079
1099
  /**
1080
1100
  * Replaces the entire page with a theme template (clears existing sections first).
1101
+ * Also resets Page Design global classes/styles so theme layouts are not mixed
1102
+ * with leftover page-wide font/color/background settings.
1081
1103
  */
1082
1104
  replaceTheme(themeHtml: string): Promise<void>;
1105
+ /**
1106
+ * Clears #pagebuilder Page Design classes/styles and runtime pageSettings so a
1107
+ * full-page theme is not overridden by previous global page styles.
1108
+ */
1109
+ private resetPageDesignSettingsForThemeReplace;
1083
1110
  getPageMeta(): PageMeta;
1084
1111
  setPageMeta(partial: Partial<PageMeta>): Promise<void>;
1085
1112
  analyzeSEO(): Promise<SEOSummary>;
@@ -1281,6 +1308,9 @@ export declare type PassedComponentHtmlWarning = {
1281
1308
 
1282
1309
  declare type ProductButtonStyle = 'text' | 'button' | (string & {});
1283
1310
 
1311
+ /** Product card layout/typography preset (orthogonal to border/shadow Card style). */
1312
+ export declare type ProductCardDesign = 'classic' | 'modern' | 'minimal' | (string & {});
1313
+
1284
1314
  export declare type ProductCardStyle = 'minimal' | 'bordered' | 'shadow' | 'elevated' | (string & {});
1285
1315
 
1286
1316
  export declare type ProductGridLayout = 'grid-1' | 'grid-2' | 'grid-3' | 'grid-4' | 'grid-6' | (string & {});
@@ -1291,6 +1321,8 @@ export declare interface ProductSectionOptions {
1291
1321
  layout: ProductGridLayout;
1292
1322
  mobileColumns?: ProductMobileColumns;
1293
1323
  cardStyle?: ProductCardStyle;
1324
+ /** Layout/typography preset for product cards */
1325
+ cardDesign?: ProductCardDesign;
1294
1326
  roundedImages?: boolean;
1295
1327
  openInNewTab?: boolean;
1296
1328
  /** Product CTA appearance: plain text link or button style */
@@ -1556,6 +1588,7 @@ export declare const usePageBuilderStateStore: StoreDefinition<"pageBuilderState
1556
1588
  } | undefined;
1557
1589
  autoSave?: boolean | undefined;
1558
1590
  notifications?: boolean | undefined;
1591
+ disableH1?: boolean | undefined;
1559
1592
  fontFamily?: string | undefined;
1560
1593
  elementFonts?: {
1561
1594
  h1?: string | undefined;