Skip to content

GradientEditorStop ​

GradientEditorStop создаёт полиморфную точку градиента и сообщает состояние выбора и перетаскивания. В интерактивном режиме используется роль ARIA slider, а положение передаётся в процентах через атрибуты ARIA.

Размещайте интерактивные точки на полосе градиента. Стрелки изменяют положение на positionStep, а с Shift — с шагом в десять раз больше. Home и End перемещают точку к границам. Delete и Backspace вызывают remove, если точку разрешено удалить.

Обработанные клавиши не передаются выше, поэтому сочетания редактора для удаления и перемещения не запускаются. Tab последовательно переводит фокус между точками.

Установите interactive="false", если компонент служит обёрткой для сложной строки точки. Действия слота и атрибуты data-selected и data-dragging сохраняются, но строка не попадает в порядок обхода ползунков клавишей Tab.

vue
<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

PropDefaultType
stop*—GradientStop
index*—number
active*—boolean
draggingfalseboolean | undefined
interactivetrueboolean | undefined
removabletrueboolean | undefined
positionStep1number | undefined
label—string | undefined
asChild
Change 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.
falseboolean | undefined
as
The element or component this component should render as. Can be overwritten by `asChild`.
"div"Component | AsTag | undefined

Events

EventPayloadDescription
select[index: number]
updatePosition[index: number, position: number]
updateColor[index: number, hex: string]
updateOpacity[index: number, opacity: number]
remove[index: number]

Slots

SlotPropsDescription
defaultGradientEditorStopSlotProps

См. также ​

Released under the MIT License.