Aller au contenu
SurfaceDocs
ENCommencer
DocsRéférence du Model

types · types

Interfaces, valeurs et contrats nommés de types.

Les types ci-dessous définissent les objets nommés et leurs relations. Les propriétés héritées sont incluses dans les tableaux. Les types dérivés d’un schéma renvoient à sa structure; une déclaration TypeScript ne remplace pas les contrôles sémantiques du compilateur.

CanvasLeafNodeKind

Closed native object kinds; rendering libraries do not extend this contract.

export type CanvasLeafNodeKind = 'text' | 'rect' | 'ellipse' | 'triangle' | 'line' | 'image';
type CanvasLeafNodeKind = "text" | "rect" | "ellipse" | "triangle" | "line" | "image";

CanvasNodeKind

Closed native leaves, containers and attached connections.

export type CanvasNodeKind = CanvasLeafNodeKind | 'group' | 'frame' | 'connector';
type CanvasNodeKind = CanvasLeafNodeKind | "group" | "frame" | "connector";

CanvasStrokeType

Frame stroke styles shared by shapes and text blocks.

export type CanvasStrokeType = 'none' | 'solid' | 'dashed' | 'dotted';
type CanvasStrokeType = "none" | "solid" | "dashed" | "dotted";

CanvasNodeBase

Geometry is expressed in document units, independently of the viewport zoom.

Champ Options / valeurs attendues Description
id string Requis. Identité stable de l’objet; ne pas utiliser son titre comme identifiant.
x number Requis. Coordonnée horizontale dans le repère du contenu parent.
y number Requis. Coordonnée verticale dans le repère du contenu parent.
width number Requis. Largeur de l’élément dans l’unité du contrat parent.
height number Requis. Hauteur de l’élément dans l’unité du contrat parent.
rotation number Requis. Rotation de l’élément selon l’unité et les limites du format natif.
opacity number Requis. Opacité de présentation dans l’intervalle admis.
locked boolean Requis. Empêche les opérations d’édition ordinaires sur l’élément concerné.
strokeType CanvasStrokeType Requis. Définit « stroke Type » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
strokeColor string Requis. Couleur du trait au format admis par le contenu natif.
strokeWidth number Requis. Épaisseur du trait selon les limites de la politique graphique.
parentId string | null Requis. Définit « parent Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
pinned boolean Requis. Définit « pinned » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasNodeBase extends CanvasHierarchy {
  id: string;
  x: number;
  y: number;
  width: number;
  height: number;
  rotation: number;
  opacity: number;
  locked: boolean;
  strokeType: CanvasStrokeType;
  strokeColor: string;
  strokeWidth: number;
}

CanvasTextNode

Text paint, frame stroke and background alpha remain independent values.

Champ Options / valeurs attendues Description
kind "text" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
text string Requis. Définit « text » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
richText ProseMirrorSurfaceDocument | undefined Facultatif. Native document grammar owns the retained paragraphs, lists and marks.
fontFamily string Requis. Famille typographique choisie dans les valeurs admises par la politique.
fontSize number Requis. Définit « font Size » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
fontWeight 400 | 700 Requis. Définit « font Weight » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
fontStyle "normal" | "italic" Requis. Définit « font Style » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
underline boolean Requis. Définit « underline » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
textAlign "left" | "right" | "center" Requis. Alignement du texte dans son conteneur.
lineHeight number Requis. Définit « line Height » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
letterSpacing number Requis. Définit « letter Spacing » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
textColor string Requis. Définit « text Color » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
backgroundColor string Requis. Définit « background Color » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
backgroundOpacity number Requis. Définit « background Opacity » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
id string Requis. Identité stable de l’objet; ne pas utiliser son titre comme identifiant.
x number Requis. Coordonnée horizontale dans le repère du contenu parent.
y number Requis. Coordonnée verticale dans le repère du contenu parent.
width number Requis. Largeur de l’élément dans l’unité du contrat parent.
height number Requis. Hauteur de l’élément dans l’unité du contrat parent.
rotation number Requis. Rotation de l’élément selon l’unité et les limites du format natif.
opacity number Requis. Opacité de présentation dans l’intervalle admis.
locked boolean Requis. Empêche les opérations d’édition ordinaires sur l’élément concerné.
strokeType CanvasStrokeType Requis. Définit « stroke Type » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
strokeColor string Requis. Couleur du trait au format admis par le contenu natif.
strokeWidth number Requis. Épaisseur du trait selon les limites de la politique graphique.
parentId string | null Requis. Définit « parent Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
pinned boolean Requis. Définit « pinned » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasTextNode extends CanvasNodeBase {
  kind: 'text';
  text: string;
  /** Native document grammar owns the retained paragraphs, lists and marks. */
  richText?: ProseMirrorSurfaceDocument;
  fontFamily: string;
  fontSize: number;
  fontWeight: 400 | 700;
  fontStyle: 'normal' | 'italic';
  underline: boolean;
  textAlign: 'left' | 'center' | 'right';
  lineHeight: number;
  letterSpacing: number;
  textColor: string;
  backgroundColor: string;
  backgroundOpacity: number;
}

CanvasShapeNode

Closed filled primitives; a line uses the same world geometry and frame stroke.

Champ Options / valeurs attendues Description
kind "rect" | "ellipse" | "triangle" | "line" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
fill string Requis. Remplissage graphique défini par la variante de peinture admise.
id string Requis. Identité stable de l’objet; ne pas utiliser son titre comme identifiant.
x number Requis. Coordonnée horizontale dans le repère du contenu parent.
y number Requis. Coordonnée verticale dans le repère du contenu parent.
width number Requis. Largeur de l’élément dans l’unité du contrat parent.
height number Requis. Hauteur de l’élément dans l’unité du contrat parent.
rotation number Requis. Rotation de l’élément selon l’unité et les limites du format natif.
opacity number Requis. Opacité de présentation dans l’intervalle admis.
locked boolean Requis. Empêche les opérations d’édition ordinaires sur l’élément concerné.
strokeType CanvasStrokeType Requis. Définit « stroke Type » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
strokeColor string Requis. Couleur du trait au format admis par le contenu natif.
strokeWidth number Requis. Épaisseur du trait selon les limites de la politique graphique.
parentId string | null Requis. Définit « parent Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
pinned boolean Requis. Définit « pinned » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasShapeNode extends CanvasNodeBase {
  kind: 'rect' | 'ellipse' | 'triangle' | 'line';
  fill: string;
}

CanvasImageNode

Images reference canonical media, never arbitrary URLs or temporary object URLs.

Champ Options / valeurs attendues Description
kind "image" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
mediaId string Requis. Définit « media Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
id string Requis. Identité stable de l’objet; ne pas utiliser son titre comme identifiant.
x number Requis. Coordonnée horizontale dans le repère du contenu parent.
y number Requis. Coordonnée verticale dans le repère du contenu parent.
width number Requis. Largeur de l’élément dans l’unité du contrat parent.
height number Requis. Hauteur de l’élément dans l’unité du contrat parent.
rotation number Requis. Rotation de l’élément selon l’unité et les limites du format natif.
opacity number Requis. Opacité de présentation dans l’intervalle admis.
locked boolean Requis. Empêche les opérations d’édition ordinaires sur l’élément concerné.
strokeType CanvasStrokeType Requis. Définit « stroke Type » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
strokeColor string Requis. Couleur du trait au format admis par le contenu natif.
strokeWidth number Requis. Épaisseur du trait selon les limites de la politique graphique.
parentId string | null Requis. Définit « parent Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
pinned boolean Requis. Définit « pinned » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasImageNode extends CanvasNodeBase {
  kind: 'image';
  mediaId: string;
}

CanvasLeafNode

Native Canvas object union, independent of Surface Canvas serialization.

export type CanvasLeafNode = CanvasTextNode | CanvasShapeNode | CanvasImageNode;

CanvasHierarchy

Hierarchy uses local coordinates; no implicit Surface Canvas transform is durable.

Champ Options / valeurs attendues Description
parentId string | null Requis. Définit « parent Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
pinned boolean Requis. Définit « pinned » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasHierarchy {
  parentId: string | null;
  pinned: boolean;
}

CanvasLayout

Closed deterministic layout over canonical measured object dimensions.

Champ Options / valeurs attendues Description
kind "free" | "row" | "column" | "grid" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
gap number Requis. Définit « gap » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
padding number Requis. Définit « padding » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
columns number Requis. Colonnes ordonnées et leurs sources de valeurs autorisées.
align "center" | "start" | "end" Requis. Définit « align » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sizing "fixed" | "hug" Requis. Définit « sizing » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasLayout {
  kind: 'free' | 'row' | 'column' | 'grid';
  gap: number;
  padding: number;
  columns: number;
  align: 'start' | 'center' | 'end';
  sizing: 'fixed' | 'hug';
}

CanvasContainerNode

A persistent container is an ordinary native object, not a serialized renderer group.

Champ Options / valeurs attendues Description
kind "group" | "frame" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
name string Requis. Nom lisible de l’élément dans le contexte qui le présente.
fill string Requis. Remplissage graphique défini par la variante de peinture admise.
layout CanvasLayout Requis. Algorithme ou structure d’agencement, configuré par les propriétés de la variante.
id string Requis. Identité stable de l’objet; ne pas utiliser son titre comme identifiant.
x number Requis. Coordonnée horizontale dans le repère du contenu parent.
y number Requis. Coordonnée verticale dans le repère du contenu parent.
width number Requis. Largeur de l’élément dans l’unité du contrat parent.
height number Requis. Hauteur de l’élément dans l’unité du contrat parent.
rotation number Requis. Rotation de l’élément selon l’unité et les limites du format natif.
opacity number Requis. Opacité de présentation dans l’intervalle admis.
locked boolean Requis. Empêche les opérations d’édition ordinaires sur l’élément concerné.
strokeType CanvasStrokeType Requis. Définit « stroke Type » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
strokeColor string Requis. Couleur du trait au format admis par le contenu natif.
strokeWidth number Requis. Épaisseur du trait selon les limites de la politique graphique.
parentId string | null Requis. Définit « parent Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
pinned boolean Requis. Définit « pinned » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasContainerNode extends CanvasNodeBase, CanvasHierarchy {
  kind: 'group' | 'frame';
  name: string;
  fill: string;
  layout: CanvasLayout;
}

CanvasConnectorEndpoint

Exact bounding-box port of a native same-page object, never a fuzzy title/reference.

Champ Options / valeurs attendues Description
nodeId string Requis. Définit « node Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
port "center" | "north" | "east" | "south" | "west" Requis. Définit « port » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasConnectorEndpoint {
  nodeId: string;
  port: 'north' | 'east' | 'south' | 'west' | 'center';
}

CanvasConnectorNode

Attached native connection; its geometry is derived by the shared operation engine.

Champ Options / valeurs attendues Description
kind "connector" Requis. Sélectionne la variante et les propriétés admises dans cette branche.
source CanvasConnectorEndpoint Requis. Définit « source » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
target CanvasConnectorEndpoint Requis. Définit « target » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
routing "straight" | "orthogonal" Requis. Définit « routing » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
label string Requis. Libellé destiné à l’usager dans l’interface.
fontFamily string Requis. Famille typographique choisie dans les valeurs admises par la politique.
fontSize number Requis. Définit « font Size » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
fontWeight 400 | 700 Requis. Définit « font Weight » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
fontStyle "normal" | "italic" Requis. Définit « font Style » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
textColor string Requis. Définit « text Color » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
startArrow "none" | "arrow" Requis. Définit « start Arrow » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
endArrow "none" | "arrow" Requis. Définit « end Arrow » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
id string Requis. Identité stable de l’objet; ne pas utiliser son titre comme identifiant.
x number Requis. Coordonnée horizontale dans le repère du contenu parent.
y number Requis. Coordonnée verticale dans le repère du contenu parent.
width number Requis. Largeur de l’élément dans l’unité du contrat parent.
height number Requis. Hauteur de l’élément dans l’unité du contrat parent.
rotation number Requis. Rotation de l’élément selon l’unité et les limites du format natif.
opacity number Requis. Opacité de présentation dans l’intervalle admis.
locked boolean Requis. Empêche les opérations d’édition ordinaires sur l’élément concerné.
strokeType CanvasStrokeType Requis. Définit « stroke Type » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
strokeColor string Requis. Couleur du trait au format admis par le contenu natif.
strokeWidth number Requis. Épaisseur du trait selon les limites de la politique graphique.
parentId string | null Requis. Définit « parent Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
pinned boolean Requis. Définit « pinned » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasConnectorNode extends CanvasNodeBase, CanvasHierarchy {
  kind: 'connector';
  source: CanvasConnectorEndpoint;
  target: CanvasConnectorEndpoint;
  routing: 'straight' | 'orthogonal';
  label: string;
  fontFamily: string;
  fontSize: number;
  fontWeight: 400 | 700;
  fontStyle: 'normal' | 'italic';
  textColor: string;
  startArrow: 'none' | 'arrow';
  endArrow: 'none' | 'arrow';
}

CanvasNode

Portable native node union, independent of renderer serialization.

export type CanvasNode = CanvasLeafNode | CanvasContainerNode | CanvasConnectorNode;

CanvasPage

Page array order and node array order are canonical back-to-front order.

Champ Options / valeurs attendues Description
id string Requis. Identité stable de l’objet; ne pas utiliser son titre comme identifiant.
width number Requis. Largeur de l’élément dans l’unité du contrat parent.
height number Requis. Hauteur de l’élément dans l’unité du contrat parent.
background string Requis. Définit « background » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
nodes CanvasNode[] Requis. Définit « nodes » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasPage {
  id: string;
  width: number;
  height: number;
  background: string;
  nodes: CanvasNode[];
}

CanvasDocument

Complete canonical content accepted by every Surface host and server.

Champ Options / valeurs attendues Description
type "surface_canvas" Requis. Définit « type » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
schema_version 6 Requis. Définit « schema_version » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
mode "pages" | "whiteboard" Requis. Définit « mode » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
pages CanvasPage[] Requis. Pages du document Canvas ou de l’objet concerné, avec leurs identités stables.
resourceKind "scene" | "component" | "library" Requis. Définit « resource Kind » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
componentDefinition CanvasComponentDefinition | null Requis. Définit « component Definition » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
libraryDefinition CanvasLibraryDefinition | null Requis. Définit « library Definition » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
instances CanvasComponentInstance[] Requis. Définit « instances » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
assets CanvasAssetBinding[] Requis. Each image address binds one immutable authorized Asset Revision.
sourceRegions CanvasSourceRegion[] Requis. Définit « source Regions » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
dataObjects CanvasDataObject[] Requis. Définit « data Objects » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasDocument {
  type: 'surface_canvas';
  schema_version: 6;
  mode: 'pages' | 'whiteboard';
  pages: CanvasPage[];
  resourceKind: 'scene' | 'component' | 'library';
  componentDefinition: CanvasComponentDefinition | null;
  libraryDefinition: CanvasLibraryDefinition | null;
  instances: CanvasComponentInstance[];
  /** Each image address binds one immutable authorized Asset Revision. */
  assets: CanvasAssetBinding[];
  sourceRegions: CanvasSourceRegion[];
  dataObjects: CanvasDataObject[];
}

CanvasSourceRegionPreview

Read-only preparation completes a draft without mutating the saved destination subtree.

Champ Options / valeurs attendues Description
contract "SurfaceCanvasDerivedRegionPreview@1" Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée.
surfaceId string Requis. Définit « surface Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
revisionId string Requis. Définit « revision Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
version number Requis. Version déclarée du contenu ou de la publication; elle identifie l’interprétation applicable.
graphWatermark number Requis. Définit « graph Watermark » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
region CanvasSourceRegion Requis. Définit « region » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
querySelection { readonly complete: true; readonly sources: readonly SurfaceRevisionReference[]; } | null Requis. Définit « query Selection » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasSourceRegionPreview {
  readonly contract: 'SurfaceCanvasDerivedRegionPreview@1';
  readonly surfaceId: string;
  readonly revisionId: string;
  readonly version: number;
  readonly graphWatermark: number;
  readonly region: CanvasSourceRegion;
  readonly querySelection: {
    readonly complete: true;
    readonly sources: readonly SurfaceRevisionReference[];
  } | null;
}

CanvasSourceObservation

Freshness observes native heads and snapshots, never an inferred deletion or automatic pin replacement.

Champ Options / valeurs attendues Description
contract "SurfaceCanvasDerivedSourcesObservation@1" Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée.
surfaceId string Requis. Définit « surface Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
revisionId string Requis. Définit « revision Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
version number Requis. Version déclarée du contenu ou de la publication; elle identifie l’interprétation applicable.
graphWatermark number Requis. Définit « graph Watermark » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
regions readonly { readonly key: string; readonly citations: readonly { readonly reference: SurfaceRevisionReference; readonly anchorId: string | null; readonly currentRevisionId: string; readonly state: "same-head" | "head-advanced"; }[]; readonly querySnapshot: "none" | "same-graph" | "graph-advanced"; }[] Requis. Définit « regions » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasSourceObservation {
  readonly contract: 'SurfaceCanvasDerivedSourcesObservation@1';
  readonly surfaceId: string;
  readonly revisionId: string;
  readonly version: number;
  readonly graphWatermark: number;
  readonly regions: readonly {
    readonly key: string;
    readonly citations: readonly {
      readonly reference: SurfaceRevisionReference;
      readonly anchorId: string | null;
      readonly currentRevisionId: string;
      readonly state: 'same-head' | 'head-advanced';
    }[];
    readonly querySnapshot: 'none' | 'same-graph' | 'graph-advanced';
  }[];
}

CanvasPolicy

Model-owned editing policy; font names are references to qualified client assets.

Champ Options / valeurs attendues Description
contract "CanvasPolicy@7" Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée.
objects CanvasNodeKind[] Requis. Objets natifs de la page, avec types, identités et géométrie.
fontFamilies string[] Requis. Définit « font Families » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
minimumPages number Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
maximumPages number Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
pageOperations ("delete" | "add" | "move" | "duplicate" | "insert")[] Requis. Définit « page Operations » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
objectOrderOperations ("bring-forward" | "send-backward" | "bring-to-front" | "send-to-back")[] Requis. Définit « object Order Operations » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
textPaintProperties ("text-color" | "text-background-color" | "text-background-opacity")[] Requis. Définit « text Paint Properties » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
borderStyles CanvasStrokeType[] Requis. Définit « border Styles » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
borderWeightRange { minimum: number; maximum: number; } Requis. Définit « border Weight Range » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
protectedNodeIds string[] Requis. Définit « protected Node Ids » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
protectedPageIds string[] Requis. Définit « protected Page Ids » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
hierarchyOperations ("group" | "ungroup" | "reparent")[] Requis. Définit « hierarchy Operations » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
layouts ("free" | "row" | "column" | "grid")[] Requis. Définit « layouts » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
maximumDepth number Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
modes ("pages" | "whiteboard")[] Requis. Définit « modes » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
connectorRoutings ("straight" | "orthogonal")[] Requis. Définit « connector Routings » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
resourceKind "scene" | "component" | "library" Requis. Définit « resource Kind » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
componentOperations ("define" | "library-edit" | "instance-create" | "instance-update" | "instance-edit" | "instance-detach")[] Requis. Définit « component Operations » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
componentSources CanvasComponentSourcePolicy[] Requis. Définit « component Sources » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
maximumInstances number Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
assetSources { modelId: string; assetDefinitionPaths: string[]; }[] Requis. Définit « asset Sources » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
maximumAssets number Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
fontCatalogue CanvasFontCatalogueReference Requis. Définit « font Catalogue » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
maximumComponentDepth number Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
maximumComponentDependencies number Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
visualData { kinds: ("table" | "chart")[]; modes: ("snapshot" | "live")[]; operations: ("create" | "configure" | "refresh" | "remove")[]; maximumObjects: number; maximumRows: number; maximumColumns: number; } | undefined Facultatif. Absence denies semantic visual data; this declaration grants neither source access nor Field writes.
derivedSources { operations: ("bind" | "refresh" | "remove")[]; maximumRegions: number; } | undefined Facultatif. Absence grants no source-region operation; ordinary Source8 and DataProtection checks still apply.
export { formats: ("png" | "jpeg" | "svg" | "pdf")[]; maxPages: number; maxPixels: number; maxArtifactBytes: number; } | undefined Facultatif. Politique d’export des contenus concernés.
export interface CanvasPolicy {
  contract: 'CanvasPolicy@7';
  objects: CanvasNodeKind[];
  fontFamilies: string[];
  minimumPages: number;
  maximumPages: number;
  pageOperations: ('add' | 'duplicate' | 'insert' | 'move' | 'delete')[];
  objectOrderOperations: ('bring-forward' | 'send-backward' | 'bring-to-front' | 'send-to-back')[];
  textPaintProperties: ('text-color' | 'text-background-color' | 'text-background-opacity')[];
  borderStyles: CanvasStrokeType[];
  borderWeightRange: { minimum: number; maximum: number };
  protectedNodeIds: string[];
  protectedPageIds: string[];
  hierarchyOperations: ('group' | 'ungroup' | 'reparent')[];
  layouts: CanvasLayout['kind'][];
  maximumDepth: number;
  modes: ('pages' | 'whiteboard')[];
  connectorRoutings: CanvasConnectorNode['routing'][];
  resourceKind: 'scene' | 'component' | 'library';
  componentOperations: (
    | 'define'
    | 'library-edit'
    | 'instance-create'
    | 'instance-update'
    | 'instance-edit'
    | 'instance-detach'
  )[];
  componentSources: CanvasComponentSourcePolicy[];
  maximumInstances: number;
  assetSources: { modelId: string; assetDefinitionPaths: string[] }[];
  maximumAssets: number;
  fontCatalogue: CanvasFontCatalogueReference;
  maximumComponentDepth: number;
  maximumComponentDependencies: number;
  /** Absence denies semantic visual data; this declaration grants neither source access nor Field writes. */
  visualData?: {
    kinds: ('table' | 'chart')[];
    modes: ('snapshot' | 'live')[];
    operations: ('create' | 'configure' | 'refresh' | 'remove')[];
    maximumObjects: number;
    maximumRows: number;
    maximumColumns: number;
  };
  /** Absence grants no source-region operation; ordinary Source8 and DataProtection checks still apply. */
  derivedSources?: {
    operations: ('bind' | 'refresh' | 'remove')[];
    maximumRegions: number;
  };
  export?: {
    formats: ('png' | 'jpeg' | 'svg' | 'pdf')[];
    maxPages: number;
    maxPixels: number;
    maxArtifactBytes: number;
  };
}

CanvasAssetBinding

A deterministic media address cannot be reassigned to different bytes behind a protected object.

Champ Options / valeurs attendues Description
mediaId string Requis. Définit « media Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
reference SurfaceAssetReference Requis. Définit « reference » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasAssetBinding {
  mediaId: string;
  reference: SurfaceAssetReference;
}

CanvasNodePatch

A kind-specific partial update cannot mutate an object’s stable identity or kind.

export type CanvasNodePatch =
  | Partial<Omit<CanvasTextNode, 'id' | 'kind'>>
  | Partial<Omit<CanvasShapeNode, 'id' | 'kind'>>
  | Partial<Omit<CanvasImageNode, 'id' | 'kind'>>
  | Partial<Omit<CanvasContainerNode, 'id' | 'kind'>>
  | Partial<Omit<CanvasConnectorNode, 'id' | 'kind'>>
  | Partial<CanvasHierarchy>;
type CanvasNodePatch = Partial<Omit<CanvasTextNode, "kind" | "id">> | Partial<Omit<CanvasShapeNode, "kind" | "id">> | Partial<Omit<CanvasImageNode, "kind" | "id">> | Partial<Omit<CanvasContainerNode, "kind" | "id">> | Partial<Omit<CanvasConnectorNode, "kind" | "id">> | Partial<CanvasHierarchy>;

CanvasOperation

Granular portable operations compiled into the canonical Change Set revision owner.

export type CanvasOperation =
  | { kind: 'content.copy'; copy: CanvasContentCopy }
  | { kind: 'document.semantic-order'; sourceRegionKeys: string[]; dataObjectIds: string[] }
  | { kind: 'data.object.set'; expectedObject: CanvasDataObject | null; object: CanvasDataObject }
  | { kind: 'data.object.remove'; expectedObject: CanvasDataObject }
  | {
      kind: 'source.region.replace';
      expectedRegion: CanvasSourceRegion | null;
      region: CanvasSourceRegion;
      expectedNodeIds: string[];
      nodes: CanvasNode[];
    }
  | { kind: 'source.region.remove'; expectedRegion: CanvasSourceRegion; expectedNodeIds: string[] }
  | {
      kind: 'source.region.copy';
      expectedRegion: CanvasSourceRegion;
      nodeMap: Record<string, string>;
      newRegionKey: string;
      targetPageId: string;
      parentId: string | null;
      x: number;
      y: number;
      index: number;
    }
  | { kind: 'asset.reference.add'; binding: CanvasAssetBinding }
  | { kind: 'asset.reference.remove'; mediaId: string }
  | { kind: 'component.define'; definition: CanvasComponentDefinition }
  | { kind: 'library.update'; definition: CanvasLibraryDefinition }
  | {
      kind: 'component.instance.create';
      pageId: string;
      instanceId: string;
      reference: CanvasComponentReference;
      nodeMap: Record<string, string>;
      parameters: Record<string, CanvasComponentValue>;
      variantKey: string | null;
      overrides: Record<string, CanvasNodePatch>;
      x: number;
      y: number;
      index: number;
    }
  | {
      kind: 'component.instance.update';
      instanceId: string;
      expectedReference: CanvasComponentReference;
      reference: CanvasComponentReference;
      nodeMap: Record<string, string>;
      parameters: Record<string, CanvasComponentValue>;
      variantKey: string | null;
      overrides: Record<string, CanvasNodePatch>;
    }
  | { kind: 'component.instance.detach'; instanceId: string }
  | { kind: 'component.instance.remove'; instanceId: string }
  | {
      kind: 'component.zone.replace';
      instanceId: string;
      zoneKey: string;
      expectedReference: CanvasComponentReference;
      expectedNodeIds: string[];
      nodes: CanvasNode[];
    }
  | { kind: 'document.mode'; mode: 'pages' | 'whiteboard' }
  | {
      kind: 'node.reparent';
      pageId: string;
      nodeId: string;
      parentId: string | null;
      index: number;
    }
  | { kind: 'layout.apply'; pageId: string; nodeId: string; layout: CanvasLayout }
  | { kind: 'page.add'; page: CanvasPage; index: number }
  | { kind: 'page.remove'; pageId: string }
  | {
      kind: 'page.update';
      pageId: string;
      patch: Partial<Pick<CanvasPage, 'width' | 'height' | 'background'>>;
    }
  | { kind: 'page.reorder'; pageIds: string[] }
  | { kind: 'node.add'; pageId: string; node: CanvasNode; index: number }
  | { kind: 'node.remove'; pageId: string; nodeId: string }
  | { kind: 'node.update'; pageId: string; nodeId: string; patch: CanvasNodePatch }
  | { kind: 'node.reorder'; pageId: string; nodeIds: string[] };
type CanvasOperation = { kind: "content.copy"; copy: CanvasContentCopy; } | { kind: "document.semantic-order"; sourceRegionKeys: string[]; dataObjectIds: string[]; } | { kind: "data.object.set"; expectedObject: CanvasDataObject | null; object: CanvasDataObject; } | { kind: "data.object.remove"; expectedObject: CanvasDataObject; } | { kind: "source.region.replace"; expectedRegion: CanvasSourceRegion | null; region: CanvasSourceRegion; expectedNodeIds: string[]; nodes: CanvasNode[]; } | { kind: "source.region.remove"; expectedRegion: CanvasSourceRegion; expectedNodeIds: string[]; } | { kind: "source.region.copy"; expectedRegion: CanvasSourceRegion; nodeMap: Record<string, string>; newRegionKey: string; targetPageId: string; parentId: string | null; x: number; y: number; index: number; } | { kind: "asset.reference.add"; binding: CanvasAssetBinding; } | { kind: "asset.reference.remove"; mediaId: string; } | { kind: "component.define"; definition: CanvasComponentDefinition; } | { kind: "library.update"; definition: CanvasLibraryDefinition; } | { kind: "component.instance.create"; pageId: string; instanceId: string; reference: CanvasComponentReference; nodeMap: Record<string, string>; parameters: Record<string, CanvasComponentValue>; variantKey: string | null; overrides: Record<string, CanvasNodePatch>; x: number; y: number; index: number; } | { kind: "component.instance.update"; instanceId: string; expectedReference: CanvasComponentReference; reference: CanvasComponentReference; nodeMap: Record<string, string>; parameters: Record<string, CanvasComponentValue>; variantKey: string | null; overrides: Record<string, CanvasNodePatch>; } | { kind: "component.instance.detach"; instanceId: string; } | { kind: "component.instance.remove"; instanceId: string; } | { kind: "component.zone.replace"; instanceId: string; zoneKey: string; expectedReference: CanvasComponentReference; expectedNodeIds: string[]; nodes: CanvasNode[]; } | { kind: "document.mode"; mode: "pages" | "whiteboard"; } | { kind: "node.reparent"; pageId: string; nodeId: string; parentId: string | null; index: number; } | { kind: "layout.apply"; pageId: string; nodeId: string; layout: CanvasLayout; } | { kind: "page.add"; page: CanvasPage; index: number; } | { kind: "page.remove"; pageId: string; } | { kind: "page.update"; pageId: string; patch: Partial<Pick<CanvasPage, "width" | "height" | "background">>; } | { kind: "page.reorder"; pageIds: string[]; } | { kind: "node.add"; pageId: string; node: CanvasNode; index: number; } | { kind: "node.remove"; pageId: string; nodeId: string; } | { kind: "node.update"; pageId: string; nodeId: string; patch: CanvasNodePatch; } | { kind: "node.reorder"; pageId: string; nodeIds: string[]; };

CanvasComponentProperty

Only native scalar properties may be exposed; structural identity and protections are never parameters.

export type CanvasComponentProperty =
  | 'text'
  | 'label'
  | 'name'
  | 'fill'
  | 'textColor'
  | 'backgroundColor'
  | 'backgroundOpacity'
  | 'strokeColor'
  | 'strokeWidth'
  | 'fontSize'
  | 'fontWeight'
  | 'fontStyle'
  | 'underline'
  | 'textAlign'
  | 'lineHeight'
  | 'letterSpacing'
  | 'opacity'
  | 'x'
  | 'y'
  | 'width'
  | 'height';
type CanvasComponentProperty = "text" | "label" | "name" | "width" | "fontSize" | "fontWeight" | "fontStyle" | "underline" | "textAlign" | "lineHeight" | "letterSpacing" | "textColor" | "backgroundColor" | "backgroundOpacity" | "x" | "y" | "height" | "opacity" | "strokeColor" | "strokeWidth" | "fill";

CanvasComponentValue

Parameter values are closed native scalars, not expressions, executable bindings or renderer state.

export type CanvasComponentValue = string | number | boolean;

CanvasComponentParameter

One typed exposed property may bind several exact native objects in the reusable subtree.

Champ Options / valeurs attendues Description
key string Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité.
label string Requis. Libellé destiné à l’usager dans l’interface.
type "number" | "boolean" | "text" | "color" Requis. Définit « type » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
default CanvasComponentValue Requis. Valeur initiale conforme au type déclaré; ne remplace pas une valeur déjà enregistrée.
minimum number | null Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
maximum number | null Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
options CanvasComponentValue[] Requis. Valeurs proposées et admises pour un choix déclaré.
bindings { nodeId: string; property: CanvasComponentProperty; }[] Requis. Définit « bindings » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasComponentParameter {
  key: string;
  label: string;
  type: 'text' | 'number' | 'boolean' | 'color';
  default: CanvasComponentValue;
  minimum: number | null;
  maximum: number | null;
  options: CanvasComponentValue[];
  bindings: { nodeId: string; property: CanvasComponentProperty }[];
}

CanvasComponentDefinition

Declarative reusable subtree owned by an ordinary versioned Canvas Surface.

Champ Options / valeurs attendues Description
contract "CanvasComponentDefinition@2" Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée.
name string Requis. Nom lisible de l’élément dans le contexte qui le présente.
description string Requis. Explication du rôle, du contenu ou de l’effet de cet élément.
pageId string Requis. Définit « page Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
rootNodeId string Requis. Définit « root Node Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
parameters CanvasComponentParameter[] Requis. Paramètres nommés de l’opération ou de la Query et valeurs associées.
variants { key: string; label: string; values: Record<string, CanvasComponentValue>; }[] Requis. Définit « variants » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
zones CanvasComponentZone[] Requis. Définit « zones » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasComponentDefinition {
  contract: 'CanvasComponentDefinition@2';
  name: string;
  description: string;
  pageId: string;
  rootNodeId: string;
  parameters: CanvasComponentParameter[];
  variants: { key: string; label: string; values: Record<string, CanvasComponentValue> }[];
  zones: CanvasComponentZone[];
}

CanvasComponentZone

A zone names one disjoint native container, not HTML, renderer objects or a second document.

Champ Options / valeurs attendues Description
key string Requis. Identifiant sémantique stable utilisé par les références; le modifier change l’identité.
label string Requis. Libellé destiné à l’usager dans l’interface.
rootNodeId string Requis. Définit « root Node Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
minimumChildren number Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
maximumChildren number Requis. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet.
allowedKinds CanvasNodeKind[] Requis. Définit « allowed Kinds » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasComponentZone {
  key: string;
  label: string;
  rootNodeId: string;
  minimumChildren: number;
  maximumChildren: number;
  allowedKinds: CanvasNodeKind[];
}

CanvasLibraryDefinition

A private/shared library is ordinary governed content; its references never confer source access.

Champ Options / valeurs attendues Description
contract "CanvasLibraryDefinition@1" Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée.
name string Requis. Nom lisible de l’élément dans le contexte qui le présente.
description string Requis. Explication du rôle, du contenu ou de l’effet de cet élément.
components { key: string; label: string; description: string; reference: CanvasComponentReference; }[] Requis. Définit « components » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasLibraryDefinition {
  contract: 'CanvasLibraryDefinition@1';
  name: string;
  description: string;
  components: {
    key: string;
    label: string;
    description: string;
    reference: CanvasComponentReference;
  }[];
}

CanvasComponentInstance

Version-bound native instance; object mappings preserve existing Anchors during explicit upgrades.

Champ Options / valeurs attendues Description
contract "CanvasComponentInstance@2" Requis. Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée.
id string Requis. Identité stable de l’objet; ne pas utiliser son titre comme identifiant.
pageId string Requis. Définit « page Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
reference CanvasComponentReference Requis. Définit « reference » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
nodeMap Record<string, string> Requis. Définit « node Map » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
parameters Record<string, CanvasComponentValue> Requis. Paramètres nommés de l’opération ou de la Query et valeurs associées.
variantKey string | null Requis. Référence par clé stable à la déclaration nommée correspondante; le compilateur contrôle son existence et sa compatibilité.
overrides Record<string, CanvasNodePatch> Requis. Définit « overrides » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
nodeOrigins Record<string, CanvasComponentNodeOrigin> Requis. Définit « node Origins » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
zoneContainers Record<string, string> Requis. Définit « zone Containers » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
zones Record<string, string[]> Requis. Définit « zones » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasComponentInstance {
  contract: 'CanvasComponentInstance@2';
  id: string;
  pageId: string;
  reference: CanvasComponentReference;
  nodeMap: Record<string, string>;
  parameters: Record<string, CanvasComponentValue>;
  variantKey: string | null;
  overrides: Record<string, CanvasNodePatch>;
  nodeOrigins: Record<string, CanvasComponentNodeOrigin>;
  zoneContainers: Record<string, string>;
  zones: Record<string, string[]>;
}

CanvasComponentNodeOrigin

Every nested node retains its exact defining Revision and complete outer-to-inner ownership chain.

Champ Options / valeurs attendues Description
reference CanvasComponentReference Requis. Définit « reference » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
sourceNodeId string Requis. Définit « source Node Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
chain CanvasComponentReference[] Requis. Définit « chain » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasComponentNodeOrigin {
  reference: CanvasComponentReference;
  sourceNodeId: string;
  chain: CanvasComponentReference[];
}

CanvasContentCopy

An explicit copy intent carries local identities and placement only, never source bodies, values or permission.

export type CanvasContentCopy =
  | {
      kind: 'selection';
      sourcePageId: string;
      rootNodeIds: string[];
      expectedNodeIds: string[];
      nodeMap: Record<string, string>;
      regionKeys: Record<string, string>;
      targetPageId: string;
      placements: { sourceNodeId: string; parentId: string | null; x: number; y: number }[];
      index: number;
    }
  | {
      kind: 'page';
      sourcePageId: string;
      expectedNodeIds: string[];
      nodeMap: Record<string, string>;
      regionKeys: Record<string, string>;
      newPageId: string;
      index: number;
    };
type CanvasContentCopy = { kind: "selection"; sourcePageId: string; rootNodeIds: string[]; expectedNodeIds: string[]; nodeMap: Record<string, string>; regionKeys: Record<string, string>; targetPageId: string; placements: { sourceNodeId: string; parentId: string | null; x: number; y: number; }[]; index: number; } | { kind: "page"; sourcePageId: string; expectedNodeIds: string[]; nodeMap: Record<string, string>; regionKeys: Record<string, string>; newPageId: string; index: number; };

CanvasContentCopyIntent

Local gesture metadata is an untrusted flat intent; only the native original-body owner can attest retained snapshots.

Champ Options / valeurs attendues Description
copy CanvasContentCopy Requis. Définit « copy » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
operationsBeforeCopy readonly CanvasOperation[] Requis. Définit « operations Before Copy » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasContentCopyIntent {
  readonly copy: CanvasContentCopy;
  readonly operationsBeforeCopy: readonly CanvasOperation[];
}

CanvasDiffOptions

Optional copy gestures retain their true position among authored edits without changing historical body contracts.

Champ Options / valeurs attendues Description
copies readonly CanvasContentCopyIntent[] Requis. Définit « copies » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasDiffOptions {
  readonly copies: readonly CanvasContentCopyIntent[];
}

CanvasComponentResolver

Only a server-authorized or explicitly read definition may satisfy a portable operation.

export type CanvasComponentResolver = (reference: CanvasComponentReference) => CanvasDocument;

CanvasComponentSourcePolicy

A declared source capability is not a grant; CP/Core still authorize each actual target.

Champ Options / valeurs attendues Description
modelId string Requis. Définit « model Id » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
componentDefinitionPaths string[] Requis. Chemin exact du type de définition concerné; chaque référence doit exister dans le Model et respecter le périmètre déclaré.
libraryDefinitionPaths string[] Requis. Chemin exact du type de définition concerné; chaque référence doit exister dans le Model et respecter le périmètre déclaré.
export interface CanvasComponentSourcePolicy {
  modelId: string;
  componentDefinitionPaths: string[];
  libraryDefinitionPaths: string[];
}

CanvasComponentUpdatePreview

Explicit update impact, never an automatic retargeting of removed objects or invalid parameters.

Champ Options / valeurs attendues Description
compatible boolean Requis. Définit « compatible » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
preservedNodeIds string[] Requis. Définit « preserved Node Ids » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
addedSourceNodeIds string[] Requis. Définit « added Source Node Ids » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
removedNodeIds string[] Requis. Définit « removed Node Ids » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
conflicts string[] Requis. Définit « conflicts » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options.
export interface CanvasComponentUpdatePreview {
  compatible: boolean;
  preservedNodeIds: string[];
  addedSourceNodeIds: string[];
  removedNodeIds: string[];
  conflicts: string[];
}

Toutes les références

Exemples appliqués : Un contenu visuel dans la fiche

Insérez l’éditeur Canvas, puis un Asset lorsqu’un support visuel distinct est nécessaire.

Configuration

Propriétés du composant NativeContent.props. Propriétés et valeurs admises.

{
  "recordProfileKey": "client",
  "contentKind": "canvas"
}

Variante et raccordement

Propriétés du composant NativeContent.props. Propriétés et valeurs admises.

{
  "recordProfileKey": "client",
  "contentKind": "asset"
}

Exemple de disposition UI

La disposition illustrative ci-dessous situe cette configuration dans l’app Clients/Soumissions. Chaque fragment s’insère à l’emplacement indiqué; ses références aux Fields, Queries et Actions correspondent aux déclarations du Model.

  1. Besoin du client
  2. Options
  3. Proposition retenue
  4. Sources
DISPOSITION ILLUSTRATIVEApp Clients / Soumissions
SurfaceClients / Atelier NordExemple
types · typesUn contenu visuel dans la fiche
Clients
01Besoin du clientAtelier Nord
02OptionsÉlément du projet
03Proposition retenueÉlément du projet
04SourcesÉlément du projet
Recherchez un concept, un champ ou une action.Esc