Set variable mode breakpoint

mode.setBreakpoint(breakpointId)

Set the breakpoint that drives a variable mode. Use this method to promote a manual mode to an automatic mode, move an automatic mode to a different breakpoint, or demote an automatic mode back to a manual mode.

  • Pass a BreakpointId to drive the mode automatically at the matching screen size.
  • Pass null to demote the mode to a manual mode.

Syntax

mode.setBreakpoint(breakpointId: BreakpointId | null): Promise<null>

Parameters

  • breakpointId: BreakpointId | null - The breakpoint to bind to the mode: "xxl" | "xl" | "large" | "main" | "medium" | "small" | "tiny". Pass null to demote the mode to a manual mode.

Returns

Promise<null>

A Promise that resolves to null once the breakpoint association is saved.

Example

// Get Collection
const collection = await webflow.getDefaultVariableCollection()
// Get Variable Mode
const variableMode = await collection?.getVariableModeByName(modeName)
try {
// Promote a manual mode to automatic, or move it to a different breakpoint
await variableMode?.setBreakpoint("small")
// Demote the mode back to a manual mode
await variableMode?.setBreakpoint(null)
} catch (err) {
if (err.cause?.tag === "VariableModeInvalid") {
// The breakpoint is already used by another mode, not enabled on the site, or invalid
console.warn(err.message)
} else {
throw err
}
}

A setBreakpoint call rejects with a VariableModeInvalid error when:

  • The breakpoint is already in use. Each breakpoint can drive only one automatic mode per collection, including the implicit base mode (Breakpoint "X" is already used by mode "Y").
  • The breakpoint isn’t enabled on the site (Breakpoint "X" is not enabled on this site).
  • The breakpoint ID is invalid ("X" is not a valid BreakpointId).

Catch these errors to recover gracefully and surface the message to the user.

Designer Ability

Designer AbilityLocaleBranchWorkflowSitemode
canModifyVariablesAnyMainCanvasDesign