Skip to content

Indent

This is the Indent extension. It allows you to increase or decrease the indentation of text blocks like paragraphs and headings.

Default Usage

Default usage of the indent extension with both increase and decrease indent buttons.

Vue
html
<template>
  <HLTextEditor :editor="editor">
    <template #header>
      <RTEControlIndent :editor="editor" />
    </template>
    <template #footer>
      <div>Footer</div>
    </template>
  </HLTextEditor>
</template>
<script setup lang="ts">
  import { ref } from 'vue'
  import {
    RequiredExtensions,
    Editor,
    HLTextEditor,
    RTEControlIndent,
    Indent,
  } from '@platform-ui/rte'

  const content = ref()
  const HTML = ref()

  const editor = new Editor({
    content:
      '<p>Click on this paragraph and use the indent buttons to adjust indentation.</p>',
    extensions: [Indent, RequiredExtensions.configure({})],
    onUpdate({ editor }) {
      content.value = editor.getText()
      HTML.value = editor.getHTML()
    },
  })
</script>

With Headings and Paragraphs

Indent works with both headings and paragraphs.

Vue
html
<template>
  <HLTextEditor :editor="editor">
    <template #header>
      <RTEControlIndent :editor="editor" />
    </template>
  </HLTextEditor>
</template>
<script setup lang="ts">
  import { ref } from 'vue'
  import {
    RequiredExtensions,
    Editor,
    HLTextEditor,
    RTEControlIndent,
    Indent,
  } from '@platform-ui/rte'

  const editor = new Editor({
    content:
      '<h1>Heading 1</h1><h2>Heading 2</h2><p>Paragraph text</p><p>Another paragraph</p>',
    extensions: [Indent, RequiredExtensions.configure({})],
    onUpdate({ editor }) {
      content.value = editor.getText()
      HTML.value = editor.getHTML()
    },
  })
</script>

Commands

js
// Increase indent
editor?.commands.increaseIndent()

// Decrease indent (outdent)
editor?.commands.decreaseIndent()

Props

PropTypeDefaultDescription
editor*Editor-The editor instance
type'indent' | 'outdent''indent'The type of indent control
indentTooltipLabelstringundefinedCustom tooltip label for indent button
outdentTooltipLabelstringundefinedCustom tooltip label for outdent button
tooltipPositionPlacement'top'The position of the tooltip
languageLanguage'en-US'The language for localization
ariaLabelstringnullAccessibility label

Notes

The RTEControlIndent component renders both increase and decrease indent buttons together. The component automatically:

  • Detects the current indent level and disables buttons at min/max limits
  • Disables indent controls for incompatible element types
  • Preserves font family when switching between different text blocks
  • Supports indent values from 40px to 960px in increments