Classes, data attributes and custom properties

Everything a stylesheet can address. Selectors start at .tiptap.
Pro ExtensionAlphaPilot program

Classes

ClassElement
tiptap-chartThe root of a chart in the editor, with role="figure" and an aria-label from the description or the title
tiptap-chart-viewportAround the canvas; scrolls while the chart is zoomed in
tiptap-chart-zoom-boxBetween viewport and canvas; takes the room of the zoomed picture
tiptap-chart-canvasThe box the picture takes in the text
tiptap-chart-stageThe element the Renderer draws into; scaled down when minRenderWidth applies
tiptap-chart-captionBelow the chart: the description, while the spec has caption: true
tiptap-chart-text-inputThe field a double click opens over a text of the chart, to rename it (Text in the picture)
tiptap-chart-attributionBelow the picture: the link the Renderer's rules ask for, hidden while there is none (Rules of your Renderer)
tiptap-chart-errorThe message shown when drawing failed
tiptap-chart-unavailableWhat unavailable returns, shown when no Renderer here draws the chart
tiptap-diagram-inputThe Quick Input chart syntax is typed into
tiptap-diagram-input-placeholderIn the Quick Input, below a first line that names the type: the example rows of the placeholder option, until a row is typed
tiptap-chart-resize-handleA handle that resizes the chart, with resizable; shown while the chart is selected

Data attributes

On a chart

On .tiptap-chart:

AttributeValues
data-tt-chart-typeThe chart's spec.type: line, bar, radar, sankey … or a type you registered
data-tt-chart-rendererThe id of the Renderer drawing it
data-tt-chart-stateidle, empty, loading, ready, unavailable, error
data-tt-chart-sourcenone, linked, detached
data-tt-chart-readonlyPresent while the data is read-only
data-tt-chart-legendtop, right, bottom, left, none
data-tt-chart-selectedPresent while the chart is selected
data-tt-chart-zoomfit, or the zoom factor, such as 1.5 (setZoom)
data-tt-chart-maximizedPresent while the chart is laid over the window (setMaximized)
data-tt-chart-borderPresent while the spec has border: true
data-tt-chart-hiddenPresent while only the table the chart follows is shown; the chart is not displayed
data-tt-chart-panningPresent while the zoomed picture is dragged (setPan)
data-tt-chart-sizedPresent while the spec has a size
data-tt-chart-alignleft or right for a sized chart that does not stand centered (setDiagramAlign)
data-tt-chart-resizingPresent while a handle is dragged

On a resize handle

ElementAttributeValues
.tiptap-chart-resize-handledata-tt-chart-resizeleft, right, bottom, bottom-left, bottom-right

On the Quick Input

On .tiptap-diagram-input:

AttributeValues
data-tt-diagram-input-typeThe chart type the box becomes
data-tt-chart-delimitercomma, semicolon, pipe, tab, none: the delimiter what was typed is split at, chosen with setDiagramInputDelimiter or detected
data-tt-chart-placeholderWhile the box is empty: the text of the placeholder option, shown by ::before

In the HTML output and on other Nodes

AttributeElement
data-tt-chart-specThe Chart Spec as JSON, on figure[data-type="chart"]
data-tt-chart-linkThe Data Source as JSON, on figure[data-type="chart"]
data-tt-chart-synced-atWhen the data was last taken from its Data Source, as an ISO time, on figure[data-type="chart"]
data-tt-chart-rendererThe chosen Renderer, on figure[data-type="chart"]
data-tt-chart-delimiterThe delimiter the data was typed with, on figure[data-type="chart"]
data-tt-diagram-inputOn a table used as a chart's input
data-tt-chart-table-idOn a table a chart follows
data-tt-chart-image-sourceOn an image made from a chart with keepData
data-tt-attributionOn the <a> an exported SVG of a chart or a diagram carries when its Renderer asks for an attribution

Custom properties

Chart

PropertyDefault
--tt-chart-padding12px
--tt-chart-border1px solid transparent
--tt-chart-radius8px
--tt-chart-backgroundtransparent; a spec's background sets it on that chart
--tt-chart-border-color#d4d4d8, the frame of a chart with border: true
--tt-chart-border-width1px
--tt-chart-caption-color#71717a
--tt-chart-caption-size0.875em
--tt-chart-caption-aligncenter
--tt-chart-text-input-border1px solid #6a00f5, around the field for a chart's text
--tt-chart-text-input-backgroundCanvas
--tt-chart-attribution-color#71717a
--tt-chart-attribution-size0.75em
--tt-chart-aspect-ratio16 / 9; a chart with a size sets it to its ratio
--tt-chart-max-height480px; not applied to a chart with a size
--tt-chart-widthSet on a chart with a size: its share of the column, such as 50%
--tt-chart-handle-color#6a00f5, the fill of a resize handle
--tt-chart-handle-border#ffffff
--tt-chart-handle-radius4px
--tt-chart-selected-outline2px solid #6a00f5
--tt-chart-loading-opacity0.5
--tt-chart-error-color#e5484d
--tt-chart-unavailable-color#71717a
--tt-chart-maximized-inset0: the distance of a maximized chart from the edges of the window, as for inset
--tt-chart-maximized-z-index50
--tt-chart-maximized-background--tt-chart-background, or Canvas when that is unset
  • A maximized chart is position: fixed.
  • If an ancestor of the editor sets transform, filter or contain, a maximized chart is placed relative to that ancestor instead of the window.

Drawing

Read by every Renderer when a chart is drawn.

PropertyDefault
--tt-chart-series-1 … --tt-chart-series-8#6a00f5, #00a3a3, #f59e0b, #e5484d, #3b82f6, #16a34a, #d946ef, #64748b
--tt-chart-axis-color#9ca3af
--tt-chart-grid-color#e5e7eb
--tt-chart-label-color#4b5563
--tt-chart-title-color#111827
--tt-chart-font-familyArial, Helvetica, "Liberation Sans", sans-serif
--tt-chart-font-size12px
--tt-chart-title-size16px
--tt-chart-title-weight600
--tt-chart-legend-gap16px
--tt-chart-legend-marker-size10px
  • Sizes are pixels, written with or without px. Other units are not converted.
  • A palette in the Chart Spec overrides the series colors for that chart.

Fonts in exports and Word

  • An exported image can only use fonts installed on the machine that exports it.
  • A web font the page loaded is not available to an exported image.
  • A native Word chart names a single typeface: the first family of --tt-chart-font-family that Word ships with (WORD_FONTS), a generic family as its Word counterpart, or fallbackFont ('Arial').
  • wordFontFor(fontFamily) tells whether Word will draw a different face than the page.

Quick Input

PropertyDefault
--tt-diagram-input-radius8px
--tt-diagram-input-background#f4f4f5
--tt-diagram-input-colorinherit
--tt-diagram-input-font-familyui-monospace, monospace
--tt-diagram-input-delimiter-color#6a00f5
--tt-diagram-input-placeholder-color#a1a1aa
--tt-diagram-input-placeholder-linesSet on an empty box to the number of lines of its placeholder
--tt-diagram-input-cell-background#f4f4f5

Highlighted source

In the Quick Input, in a Mermaid diagram's code view, and in any element with the class tiptap-diagram-source, such as a source editor of your own. The option sourceHighlighting turns it off.

ClassPartColor propertyLight default
tiptap-diagram-source-keywordThe diagram or chart type, statement words--tt-diagram-source-keyword#1e40af
tiptap-diagram-source-labelLabels in shapes, quotes and the first column--tt-diagram-source-label#3f6212
tiptap-diagram-source-numberNumbers--tt-diagram-source-number#7c2d12
tiptap-diagram-source-operatorArrows, delimiters, brackets, colons--tt-diagram-source-operator#52525b
tiptap-diagram-source-commentComments (%%)--tt-diagram-source-comment#4b4b53
  • The dark value of each is derived as for every default color, and each is at 4.5:1 or more against the input background in both schemes.
  • To make one part colorless, set its property to inherit.

Diagrams

A diagram (the flowDiagram Node, see Diagrams) follows the same pattern with its own names.

Diagram classes

ClassElement
tiptap-flow-diagramThe root of a diagram in the editor, with role="figure" and an aria-label from the description or the title
tiptap-flow-diagram-viewportAround the canvas; scrolls while the diagram is zoomed in
tiptap-flow-diagram-zoom-boxBetween viewport and canvas; takes the room of the zoomed picture
tiptap-flow-diagram-canvasHolds the drawn diagram as an <img>
tiptap-flow-diagram-codeThe source text, shown instead of the picture while the view is code
tiptap-flow-diagram-captionBelow the diagram: the title
tiptap-flow-diagram-attributionBelow the picture: the link the Diagram Renderer's rules ask for, hidden while there is none
tiptap-flow-diagram-errorThe message shown when drawing failed
tiptap-flow-diagram-unavailableWhat unavailable returns, shown when no Renderer here draws the diagram
tiptap-flow-diagram-resize-handleA handle that resizes the diagram, with resizable; shown while the diagram is selected
tiptap-flow-diagram-label-inputThe field a double click opens over a shape of a Mermaid flowchart, for its text

Diagram data attributes

On .tiptap-flow-diagram:

AttributeValues
data-tt-flow-diagram-formatmermaid
data-tt-flow-diagram-kindA Mermaid kind such as flowchart, or unknown
data-tt-flow-diagram-viewdiagram or code
data-tt-flow-diagram-stateidle (the code view), empty, loading, ready, unavailable, error
data-tt-flow-diagram-rendererThe id of the Diagram Renderer drawing it
data-tt-flow-diagram-selectedPresent while the diagram is selected
data-tt-flow-diagram-zoomfit, or the zoom factor, such as 1.5 (setZoom)
data-tt-flow-diagram-maximizedPresent while the diagram is laid over the window (setMaximized)
data-tt-flow-diagram-panningPresent while the zoomed picture is dragged (setPan)
data-tt-flow-diagram-sizedPresent while the diagram has a size
data-tt-flow-diagram-alignleft or right for a sized diagram that does not stand centered (setDiagramAlign)
data-tt-flow-diagram-resizingPresent while a handle is dragged

On .tiptap-flow-diagram-resize-handle:

AttributeValues
data-tt-flow-diagram-resizeleft, right, bottom, bottom-left, bottom-right

In HTML, on figure[data-type="flow-diagram"]:

AttributeValue
data-tt-flow-diagram-formatThe format
data-tt-flow-diagram-descriptionThe description
data-tt-flow-diagram-viewcode, while the source is shown
data-tt-flow-diagram-optionsThe options as JSON

Diagram custom properties

PropertyDefault
--tt-flow-diagram-padding12px
--tt-flow-diagram-border1px solid transparent
--tt-flow-diagram-radius8px
--tt-flow-diagram-max-height640px, the tallest a diagram is drawn at its width; not applied to a diagram with a size
--tt-flow-diagram-widthSet on a diagram with a size: its share of the column
--tt-flow-diagram-aspect-ratioSet on a diagram with a size: its ratio. The picture fits into that shape
--tt-flow-diagram-handle-color#6a00f5, the fill of a resize handle
--tt-flow-diagram-handle-border#ffffff
--tt-flow-diagram-handle-radius4px
--tt-flow-diagram-code-radius8px
--tt-flow-diagram-code-background#f4f4f5
--tt-flow-diagram-code-colorinherit
--tt-flow-diagram-code-font-familyui-monospace, monospace
--tt-flow-diagram-empty-text"Empty diagram", a CSS string shown while the source is empty
--tt-flow-diagram-caption-color#71717a
--tt-flow-diagram-caption-size0.875em
--tt-flow-diagram-caption-aligncenter
--tt-flow-diagram-attribution-color#71717a
--tt-flow-diagram-attribution-size0.75em
--tt-flow-diagram-loading-opacity0.5
--tt-flow-diagram-error-color#e5484d
--tt-flow-diagram-unavailable-color#71717a
--tt-flow-diagram-selected-outline2px solid #6a00f5
--tt-flow-diagram-label-input-border1px solid #6a00f5, around the field for a shape's text
--tt-flow-diagram-label-input-backgroundCanvas

A maximized diagram uses --tt-chart-maximized-inset, --tt-chart-maximized-z-index and --tt-chart-maximized-background, so charts and diagrams leave the same room.

Diagram drawing

Read by the Diagram Renderer when a diagram is drawn, and by an export.

PropertyDefault
--tt-flow-diagram-backgroundtransparent
--tt-flow-diagram-node-color#f4eeff, the fill of a node
--tt-flow-diagram-node-border-color#6a00f5
--tt-flow-diagram-text-color#18181b
--tt-flow-diagram-line-color#52525b, edges and arrows
--tt-flow-diagram-group-color#fafafa, the fill of a subgraph or lane
--tt-flow-diagram-note-color#fff8db
--tt-flow-diagram-font-familyArial, Helvetica, "Liberation Sans", sans-serif
--tt-flow-diagram-font-size14px; pixels only