openpencil/packages/docs/programmable/sdk/api/composables/use-constraints.md
Danila Poyarkov d19c05f48e feat(editor): add resize constraints
- Add SDK-owned mixed constraint state, pin controls, and undo-aware updates
- Apply Figma constraint modes recursively during frame resize previews and commits
- Document and test the control, multi-selection behavior, and resize geometry
2026-07-17 18:32:58 +03:00

1.1 KiB

title description
useConstraints Read and update resize constraints for eligible frame children.

useConstraints

useConstraints() provides selection-derived horizontal and vertical constraint state plus undo-aware actions.

import { useConstraints } from '@open-pencil/vue'

const constraints = useConstraints()
constraints.setAxis('horizontal', 'STRETCH')
constraints.togglePin('vertical', 'trailing', false)
  • active requires every selected node to be an eligible child of a frame-like container.
  • horizontal and vertical return MIN, CENTER, MAX, STRETCH, SCALE, or MIXED.
  • Multi-selection updates are grouped into one undo entry.
  • Normal auto-layout children are excluded; absolutely positioned children remain eligible.

Use constraintPins() and toggleConstraintPin() to build a custom accessible pin diagram without duplicating mode mapping.