FloatingObject
Adds generic floating objects with an independently editable text root. Layout-provider support is required; Word uses a separate anchor model.
Adds generic floating objects with an independently editable text root. Layout-provider support is required; Word uses a separate anchor model.
@quirekit/extension-floating-object · AGPL-3.0-only
Editor compatibility
Layer:Shared document capability
| Editor | Status | Assembly and boundaries |
|---|---|---|
| Classic | Requires integration | Connect the services, targets and lifecycle described on this page and validate the selected View and document model. Core contracts are reusable, but there is no universal product installation without host ports. |
| Block | Unverified | A complete integration and verification path for this entry has not been established for this product. A public Core export does not imply product presentation, controls or file support. |
“Supported” means the product assembly above exists; interaction, host services and file formats retain their own conditions. See status and integration rules. Licensing is shown separately.
Installation
pnpm add @quirekit/extension-floating-object@alpha
Install in Editor extensions. The host supplies a view, container and persistence; see Quick start.
import { FloatingObject } from '@quirekit/extension-floating-object'
Use compatible versions available from your distribution source. This site uses the Alpha workspace. License labels come from package metadata; see support and licensing.
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 · Requires integration
Connect the services, targets and lifecycle described on this page and validate the selected View and document model. Core contracts are reusable, but there is no universal product installation without host ports.
Block · Unverified
A complete integration and verification path for this entry has not been established for this product. A public Core export does not imply product presentation, controls or file support.
Configuration
These are extension-level defaults. Presets can override them; they are distinct from current document attributes. See configuration.
width
Default persisted object width.
Type:number
Default:240
minHeight
Default persisted minimum object height.
Type:number
Default:96
minimumWidth
Smallest width accepted by commands and provider compilation.
Type:number
Default:96
minimumHeight
Smallest minimum height accepted by commands and provider compilation.
Type:number
Default:48
movementStep
Deterministic keyboard nudge step.
Type:number
Default:8
HTMLAttributes
HTML attributes merged into source-order fallback markup.
Type:Record<string, unknown>
Default:{}
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 |
|---|---|
setFloatingObject | setFloatingObject(attributes?: Partial<FloatingObjectAttributes> | undefined) |
selectFloatingObject | selectFloatingObject() |
enterFloatingObject | enterFloatingObject() |
leaveFloatingObject | leaveFloatingObject() |
moveFloatingObject | moveFloatingObject(move: FloatingObjectMove) |
resizeFloatingObject | resizeFloatingObject(resize: FloatingObjectResize) |
restoreFloatingObjectGeometry | restoreFloatingObjectGeometry(snapshot: FloatingObjectRestore) |
These are parameter signatures. See commands and controls to connect UI while retaining one transaction/history authority.
Next steps
Return to all plugins, or read configuration to distinguish options, attributes and commands.
See extension development for custom capabilities and Build a product for complete hosting.