GradientEditorStop
GradientEditorStop создаёт полиморфную точку градиента и сообщает состояние выбора и перетаскивания. В интерактивном режиме используется роль ARIA slider, а положение передаётся в процентах через атрибуты ARIA.
Размещайте интерактивные точки на полосе градиента. Стрелки изменяют положение на positionStep, а с Shift — с шагом в десять раз больше. Home и End перемещают точку к границам. Delete и Backspace вызывают remove, если точку разрешено удалить.
Обработанные клавиши не передаются выше, поэтому сочетания редактора для удаления и перемещения не запускаются. Tab последовательно переводит фокус между точками.
Установите interactive="false", если компонент служит обёрткой для сложной строки точки. Действия слота и атрибуты data-selected и data-dragging сохраняются, но строка не попадает в порядок обхода ползунков клавишей Tab.
<script setup lang="ts">
import type { GradientStop } from '@open-pencil/scene-graph'
import { GradientEditorStop } from '@open-pencil/vue'
const stop: GradientStop = {
color: { r: 0.4, g: 0.2, b: 0.9, a: 1 },
position: 0.5
}
</script>
<template>
<GradientEditorStop
:stop="stop"
:index="0"
active
label="Средняя точка градиента"
@update-position="(_index, position) => console.log(position)"
/>
</template>Сгенерированный справочник API
GradientEditorStop
Generated from packages/vue/src/primitives/GradientEditor/GradientEditorStop.vue
Props
| Prop | Default | Type |
|---|---|---|
stop* | — | GradientStop |
index* | — | number |
active* | — | boolean |
dragging | false | boolean | undefined |
interactive | true | boolean | undefined |
removable | true | boolean | undefined |
positionStep | 1 | number | undefined |
label | — | string | undefined |
asChildChange the default rendered element for the one passed as a child, merging their props and behavior.
Read our [Composition](https://www.reka-ui.com/docs/guides/composition) guide for more details. | false | boolean | undefined |
asThe element or component this component should render as. Can be overwritten by `asChild`. | "div" | Component | AsTag | undefined |
Events
| Event | Payload | Description |
|---|---|---|
select | [index: number] | |
updatePosition | [index: number, position: number] | |
updateColor | [index: number, hex: string] | |
updateOpacity | [index: number, opacity: number] | |
remove | [index: number] |
Slots
| Slot | Props | Description |
|---|---|---|
default | GradientEditorStopSlotProps |