feat(svelte): add labelStyle prop for edges

This commit is contained in:
moklick
2023-05-16 12:33:09 +02:00
parent 470b2ee571
commit 56bcf2f652
9 changed files with 18 additions and 6 deletions
@@ -1,5 +1,5 @@
<script lang="ts"> <script lang="ts">
import EdgeLabelRenderer from '$lib/components/EdgeLabelRenderer/EdgeLabelRenderer.svelte'; import { EdgeLabelRenderer } from '$lib/components/EdgeLabelRenderer';
import type { BaseEdgeProps } from './types'; import type { BaseEdgeProps } from './types';
type $$Props = BaseEdgeProps; type $$Props = BaseEdgeProps;
@@ -9,10 +9,12 @@
export let label: $$Props['label'] = undefined; export let label: $$Props['label'] = undefined;
export let labelX: $$Props['labelX'] = undefined; export let labelX: $$Props['labelX'] = undefined;
export let labelY: $$Props['labelY'] = undefined; export let labelY: $$Props['labelY'] = undefined;
export let labelStyle: $$Props['labelStyle'] = undefined;
export let markerStart: $$Props['markerStart'] = undefined; export let markerStart: $$Props['markerStart'] = undefined;
export let markerEnd: $$Props['markerEnd'] = undefined; export let markerEnd: $$Props['markerEnd'] = undefined;
export let style: $$Props['style'] = undefined; export let style: $$Props['style'] = undefined;
export let interactionWidth: $$Props['interactionWidth'] = 20; export let interactionWidth: $$Props['interactionWidth'] = 20;
</script> </script>
<path <path
@@ -40,6 +42,7 @@
<div <div
class="svelte-flow__edge-label" class="svelte-flow__edge-label"
style:transform={`translate(-50%, -50%) translate(${labelX}px,${labelY}px)`} style:transform={`translate(-50%, -50%) translate(${labelX}px,${labelY}px)`}
style={labelStyle}
> >
{label} {label}
</div> </div>
@@ -1,6 +1,9 @@
import type { EdgeProps } from '$lib/types'; import type { EdgeProps } from '$lib/types';
export type BaseEdgeProps = Pick<EdgeProps, 'interactionWidth' | 'label' | 'style'> & { export type BaseEdgeProps = Pick<
EdgeProps,
'interactionWidth' | 'label' | 'labelStyle' | 'style'
> & {
id?: string; id?: string;
path: string; path: string;
labelX?: number; labelX?: number;
@@ -24,6 +24,7 @@
export let animated: $$Props['animated'] = false; export let animated: $$Props['animated'] = false;
export let selected: $$Props['selected'] = false; export let selected: $$Props['selected'] = false;
export let label: $$Props['label'] = undefined; export let label: $$Props['label'] = undefined;
export let labelStyle: $$Props['labelStyle'] = undefined;
export let markerStart: $$Props['markerStart'] = undefined; export let markerStart: $$Props['markerStart'] = undefined;
export let markerEnd: $$Props['markerEnd'] = undefined; export let markerEnd: $$Props['markerEnd'] = undefined;
export let sourceHandleId: $$Props['sourceHandleId'] = undefined; export let sourceHandleId: $$Props['sourceHandleId'] = undefined;
@@ -66,6 +67,7 @@
{animated} {animated}
{selected} {selected}
{label} {label}
{labelStyle}
{data} {data}
{style} {style}
{sourceHandleId} {sourceHandleId}
@@ -22,6 +22,7 @@
{labelY} {labelY}
id={$$props.id} id={$$props.id}
label={$$props.label} label={$$props.label}
labelStyle={$$props.labelStyle}
markerStart={$$props.markerStart} markerStart={$$props.markerStart}
markerEnd={$$props.markerEnd} markerEnd={$$props.markerEnd}
interactionWidth={$$props.interactionWidth} interactionWidth={$$props.interactionWidth}
@@ -22,6 +22,7 @@
{labelY} {labelY}
id={$$props.id} id={$$props.id}
label={$$props.label} label={$$props.label}
labelStyle={$$props.labelStyle}
markerStart={$$props.markerStart} markerStart={$$props.markerStart}
markerEnd={$$props.markerEnd} markerEnd={$$props.markerEnd}
interactionWidth={$$props.interactionWidth} interactionWidth={$$props.interactionWidth}
@@ -23,6 +23,7 @@
{labelY} {labelY}
id={$$props.id} id={$$props.id}
label={$$props.label} label={$$props.label}
labelStyle={$$props.labelStyle}
markerStart={$$props.markerStart} markerStart={$$props.markerStart}
markerEnd={$$props.markerEnd} markerEnd={$$props.markerEnd}
interactionWidth={$$props.interactionWidth} interactionWidth={$$props.interactionWidth}
@@ -20,6 +20,7 @@
{labelY} {labelY}
id={$$props.id} id={$$props.id}
label={$$props.label} label={$$props.label}
labelStyle={$$props.labelStyle}
markerStart={$$props.markerStart} markerStart={$$props.markerStart}
markerEnd={$$props.markerEnd} markerEnd={$$props.markerEnd}
interactionWidth={$$props.interactionWidth} interactionWidth={$$props.interactionWidth}
+2
View File
@@ -12,6 +12,7 @@ import type { Node } from '$lib/types';
export type DefaultEdge<EdgeData = any> = BaseEdge<EdgeData> & { export type DefaultEdge<EdgeData = any> = BaseEdge<EdgeData> & {
label?: string; label?: string;
labelStyle?: string;
style?: string; style?: string;
class?: string; class?: string;
sourceNode?: Node; sourceNode?: Node;
@@ -67,6 +68,7 @@ export type EdgeProps = Pick<
| 'animated' | 'animated'
| 'selected' | 'selected'
| 'label' | 'label'
| 'labelStyle'
| 'interactionWidth' | 'interactionWidth'
| 'markerStart' | 'markerStart'
| 'markerEnd' | 'markerEnd'
@@ -101,9 +101,7 @@
source: '5', source: '5',
target: '7', target: '7',
label: 'label with styled bg', label: 'label with styled bg',
//labelBgPadding: [8, 4], labelStyle: 'background: #FFCC00; color: #fff; opacity: 0.7',
// labelBgBorderRadius: 4,
// labelBgStyle: { fill: '#FFCC00', color: '#fff', fillOpacity: 0.7 },
markerEnd: { markerEnd: {
type: MarkerType.ArrowClosed, type: MarkerType.ArrowClosed,
}, },
@@ -125,7 +123,7 @@
source: '5', source: '5',
target: '6', target: '6',
label: 'hi', label: 'hi',
// labelStyle: 'fill: red; font-weight: 700', labelStyle: 'background: red; font-weight: 700; padding: 5px;',
style: 'stroke: #ffcc0', style: 'stroke: #ffcc0',
markerEnd: { markerEnd: {
type: MarkerType.Arrow, type: MarkerType.Arrow,