Skip to content

PropertyGrid

PropertyGridRoot separates responsive property fields from optional intrinsic-width actions. It exposes structural data attributes without imposing column widths, gaps, or presentation.

vue
<script setup lang="ts">
import { 
PropertyGridRoot
} from '@open-pencil/vue'
</script> <template> <
PropertyGridRoot
:columns
="2">
<
label
>
Width <
input
type
="number" />
</
label
>
<
label
>
Height <
input
type
="number" />
</
label
>
<template #actions> <
button
type
="button" aria-label="Constrain proportions">Link</
button
>
</template> </PropertyGridRoot> </template>

Themes can target data-slot="fields", data-slot="actions", data-columns, and data-distribution. The wide-first distribution is semantic; consumers choose its exact ratio.

Generated API reference

PropertyGridRoot

Generated from packages/vue/src/primitives/PropertyGrid/PropertyGridRoot.vue

Props

PropDefaultType
columns
Number of field columns.
1PropertyGridColumns | undefined
distribution
Relative distribution of field columns.
"equal"PropertyGridDistribution | undefined

Slots

SlotPropsDescription
default
Property fields arranged by the consumer's visual theme.
anyProperty fields arranged by the consumer's visual theme.
actions
Optional intrinsic-width controls kept separate from the field grid.
anyOptional intrinsic-width controls kept separate from the field grid.

Released under the MIT License.