# ClassicWordContentControl

Adds Pro content-control authoring UI, normally supplied through the professional preset's Word-kit seams.

Adds Pro content-control authoring UI, normally supplied through the professional preset's Word-kit seams.

`@quirekit/classic-pro` · **Commercial**

## Editor compatibility
Layer：**Classic product integration**
| Editor | Status | Assembly and boundaries |
| --- | --- | --- |
| Classic | Supported | [createClassicWordProPreset](/en/plugins/reference/create-classic-word-pro-preset) — Use createClassicWordProPreset for professional product capabilities. Review UI also follows the review feature. Do not add duplicate community or professional extensions. |
| Block | Unsupported | Block does not consume Classic product contributions, plugins or paginated assembly. Use shared capabilities and Block adapters instead of copying this entry's Classic configuration. |

“Supported” means the product assembly above exists; interaction, host services and file formats retain their own conditions. See [status and integration rules](/en/plugins/compatibility). Licensing is shown separately.

## Installation

The current `@quirekit/classic-pro` manifest is private. This site uses workspace source; external projects need the relevant distribution package rather than assuming public npm availability.

This entry is a commercial component. Obtain distribution access and authorization first; installation commands require that distribution source.

Use the [professional Word preset](/en/plugins/reference/create-classic-word-pro-preset). Individual adapters support custom assembly or replacement without duplicate names.

```ts
import { ClassicWordContentControl } from '@quirekit/classic-pro'
```

Use compatible versions available from your distribution source. This site uses the Alpha workspace. License labels come from package metadata; see [support and licensing](/en/support).

## Integration by editor

These snippets use an existing host element named element. The host owns container sizing and persistence; call instance.destroy() on teardown. Avoid duplicating preset capabilities and supply required host ports before installation.

### Classic

Use createClassicWordProPreset for professional product capabilities. Review UI also follows the review feature. Do not add duplicate community or professional extensions.

[createClassicWordProPreset](/en/plugins/reference/create-classic-word-pro-preset)

```ts
import { createClassicEditor } from '@quirekit/classic-editor'
import '@quirekit/classic-editor/styles.css'
import { createClassicWordDefaultDocument } from '@quirekit/classic-docx'
import '@quirekit/classic-docx/styles.css'
import { createClassicWordProPreset } from '@quirekit/classic-pro'
import '@quirekit/classic-pro/styles.css'

const instance = createClassicEditor({
  element,
  preset: createClassicWordProPreset(),
  document: createClassicWordDefaultDocument(),
})
```

### Block

Block does not consume Classic product contributions, plugins or paginated assembly. Use shared capabilities and Block adapters instead of copying this entry's Classic configuration.

## Configuration

These are extension-level defaults. Presets can override them; they are distinct from current document attributes. See [configuration](/en/plugins/configuration).

### ribbon

Whether the capability contributes its Insert-ribbon control.

Type：`boolean`

Default：`false`

### displayMode

Initial editor-only chrome policy; never written to Word attributes.

Type：`"alwaysShow" | "automatic" | "hide"`

Default：`"automatic"`

### authoringMode

Initial transient template/fill mode; never written to Word attributes.

Type：`"fill" | "template"`

Default：`"template"`

### resolveProtectedFillMode

Host bridge resolving whether persisted policy forces fill interaction.

Type：`(state: EditorState): boolean`

Default：`() => false`

## Commands and runtime

These commands are supplied directly by this extension. Availability depends on the installed schema, selection and protection policy; query editor.can() first.

| Command | Parameter signature |
| --- | --- |
| `setWordContentControlAuthoringMode` | `setWordContentControlAuthoringMode(mode: WordContentControlAuthoringMode)` |
| `moveToWordContentControl` | `moveToWordContentControl(direction: WordContentControlTraversalDirection)` |
| `insertWordInlineCheckbox` | `insertWordInlineCheckbox(options?: InsertWordInlineCheckboxOptions \| undefined)` |
| `setWordInlineCheckboxChecked` | `setWordInlineCheckboxChecked(checked: boolean)` |
| `toggleWordInlineCheckbox` | `toggleWordInlineCheckbox()` |
| `toggleWordInlineCheckboxAtPosition` | `toggleWordInlineCheckboxAtPosition(options: ToggleWordInlineCheckboxAtPositionOptions)` |
| `configureWordInlineCheckbox` | `configureWordInlineCheckbox(options: ConfigureWordInlineCheckboxOptions)` |
| `insertWordInlineDropDownList` | `insertWordInlineDropDownList(options?: InsertWordInlineListOptions \| undefined)` |
| `insertWordInlineComboBox` | `insertWordInlineComboBox(options?: InsertWordInlineListOptions \| undefined)` |
| `selectWordInlineListItem` | `selectWordInlineListItem(value: string)` |
| `setWordInlineComboBoxText` | `setWordInlineComboBoxText(value: string)` |
| `configureWordInlineList` | `configureWordInlineList(options: ConfigureWordInlineListOptions)` |
| `insertWordInlineDate` | `insertWordInlineDate(options?: InsertWordInlineDateOptions \| undefined)` |
| `setWordInlineDateValue` | `setWordInlineDateValue(value: string)` |
| `configureWordInlineDate` | `configureWordInlineDate(options: ConfigureWordInlineDateOptions)` |
| `insertWordInlinePictureContentControl` | `insertWordInlinePictureContentControl(options: InsertWordInlinePictureContentControlOptions)` |
| `setWordInlineContentControlDisplayMode` | `setWordInlineContentControlDisplayMode(mode: WordInlineContentControlDisplayMode)` |
| `setWordInlineContentControlHoveredId` | `setWordInlineContentControlHoveredId(controlId: string \| null)` |
| `fillWordContentControls` | `fillWordContentControls(options: FillWordContentControlsOptions)` |
| `insertWordFormField` | `insertWordFormField(options: InsertWordFormFieldOptions)` |
| `insertWordInlineContentControl` | `insertWordInlineContentControl(options?: InsertWordInlineContentControlOptions \| undefined)` |
| `exitWordInlineContentControl` | `exitWordInlineContentControl(options: ExitWordInlineContentControlOptions)` |
| `updateWordInlineContentControl` | `updateWordInlineContentControl(options: UpdateWordInlineContentControlOptions)` |
| `unwrapWordInlineContentControl` | `unwrapWordInlineContentControl()` |
| `deleteWordInlineContentControl` | `deleteWordInlineContentControl()` |

These are parameter signatures. See [commands and controls](/en/build/commands) to connect UI while retaining one transaction/history authority.

## Next steps

Return to [all plugins](/en/plugins), or read [configuration](/en/plugins/configuration) to distinguish options, attributes and commands.

Continue with [Classic quick start](/en/classic/quick-start) and [configuration/lifetime](/en/classic/configuration). See [product plugin development](/en/build/product-plugin) for your own UI and services.
