Websites v4 docs v5.2.5
    Preparing search index...

    Type Alias SectionSchema<T, C>

    SectionSchema: SerializableSectionSchema & {
        clientComponent: C;
        defaultLayoutConfig?: DefaultLayoutConfig;
        icon: () => React.ReactNode;
        initialConfig: () => T;
        itemSettings?: ConfigSetting[];
        settingsSummary?: (agencyData: { subdomain?: string }) => React.ReactNode;
        variantDefaultLayoutConfig?: { [key: string]: DefaultLayoutConfig };
        variantInitialConfig?: { [variantName: string]: () => Partial<T> };
        variantItemSettings?: { [key: string]: ConfigSetting[] };
    }

    Type Parameters

    Type Declaration

    • clientComponent: C
    • OptionaldefaultLayoutConfig?: DefaultLayoutConfig
    • icon: () => React.ReactNode
    • initialConfig: () => T
    • OptionalitemSettings?: ConfigSetting[]
    • OptionalsettingsSummary?: (agencyData: { subdomain?: string }) => React.ReactNode
    • OptionalvariantDefaultLayoutConfig?: { [key: string]: DefaultLayoutConfig }
    • OptionalvariantInitialConfig?: { [variantName: string]: () => Partial<T> }

      Optional config-generating functions keyed by variant name. When the user switches a section to a variant that has an entry here, the section's configuration is regenerated from this function (preserving only the section id and the newly selected variant).

      Use this when a variant needs a substantially different set of default elements or settings to the one produced by initialConfig.

      variantInitialConfig: {
      feefo: () => ({
      elements: [{ id: uuid(), type: ElementType.Heading, html: 'Reviews', level: 2 }],
      }),
      }
    • OptionalvariantItemSettings?: { [key: string]: ConfigSetting[] }