@leavepulse/ui 0.43.2 → 0.43.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/component-names.d.ts +1 -0
- package/dist/components/LayoutCanvas.vue.d.ts +28 -0
- package/dist/components/LayoutNode.vue.d.ts +40 -0
- package/dist/components/LpActionBar.vue.d.ts +84 -0
- package/dist/components/LpAddressInput.vue.d.ts +70 -0
- package/dist/components/LpAlert.vue.d.ts +44 -0
- package/dist/components/LpAppShell.vue.d.ts +123 -0
- package/dist/components/LpAutocomplete.vue.d.ts +50 -0
- package/dist/components/LpAvatar.vue.d.ts +34 -0
- package/dist/components/LpBadge.vue.d.ts +20 -0
- package/dist/components/LpBreadcrumbs.vue.d.ts +32 -0
- package/dist/components/LpButton.vue.d.ts +113 -0
- package/dist/components/LpCalendar.vue.d.ts +29 -0
- package/dist/components/LpCard.vue.d.ts +60 -0
- package/dist/components/LpChart.vue.d.ts +130 -0
- package/dist/components/LpCheckbox.vue.d.ts +32 -0
- package/dist/components/LpCodeBlock.vue.d.ts +58 -0
- package/dist/components/LpColorPicker.vue.d.ts +124 -0
- package/dist/components/LpCommandPalette.vue.d.ts +206 -0
- package/dist/components/LpConfirmDialog.vue.d.ts +59 -0
- package/dist/components/LpContextMenu.vue.d.ts +44 -0
- package/dist/components/LpDatePicker.vue.d.ts +33 -0
- package/dist/components/LpDisclosure.vue.d.ts +47 -0
- package/dist/components/LpDivider.vue.d.ts +17 -0
- package/dist/components/LpDrawer.vue.d.ts +170 -0
- package/dist/components/LpDropdownMenu.vue.d.ts +23 -0
- package/dist/components/LpDropzone.vue.d.ts +90 -0
- package/dist/components/LpEmptyState.vue.d.ts +28 -0
- package/dist/components/LpFileTree.vue.d.ts +126 -0
- package/dist/components/LpFileTreeNode.vue.d.ts +62 -0
- package/dist/components/LpFormField.vue.d.ts +24 -0
- package/dist/components/LpIcon.vue.d.ts +9 -0
- package/dist/components/LpImageEditor.vue.d.ts +106 -0
- package/dist/components/LpInfraNode.vue.d.ts +65 -0
- package/dist/components/LpInput.vue.d.ts +80 -0
- package/dist/components/LpLaneNode.vue.d.ts +24 -0
- package/dist/components/LpLightbox.vue.d.ts +62 -0
- package/dist/components/LpLink.vue.d.ts +93 -0
- package/dist/components/LpLogViewer.vue.d.ts +153 -0
- package/dist/components/LpMapPicker.vue.d.ts +59 -0
- package/dist/components/LpMediaGallery.vue.d.ts +80 -0
- package/dist/components/LpModal.vue.d.ts +66 -0
- package/dist/components/LpModalNav.vue.d.ts +66 -0
- package/dist/components/LpNotificationBell.vue.d.ts +85 -0
- package/dist/components/LpNumberField.vue.d.ts +21 -0
- package/dist/components/LpNumberFlow.vue.d.ts +35 -0
- package/dist/components/LpOtpInput.vue.d.ts +39 -0
- package/dist/components/LpPagination.vue.d.ts +35 -0
- package/dist/components/LpPasswordInput.vue.d.ts +36 -0
- package/dist/components/LpPhoneInput.vue.d.ts +49 -0
- package/dist/components/LpPie.vue.d.ts +196 -0
- package/dist/components/LpPopover.vue.d.ts +34 -0
- package/dist/components/LpProgress.vue.d.ts +66 -0
- package/dist/components/LpRadio.vue.d.ts +18 -0
- package/dist/components/LpRadioGroup.vue.d.ts +26 -0
- package/dist/components/LpRollingText.vue.d.ts +33 -0
- package/dist/components/LpScrollArea.vue.d.ts +28 -0
- package/dist/components/LpSection.vue.d.ts +120 -0
- package/dist/components/LpSegmented.vue.d.ts +30 -0
- package/dist/components/LpSelect.vue.d.ts +47 -0
- package/dist/components/LpServiceNode.vue.d.ts +14 -0
- package/dist/components/LpShift.vue.d.ts +36 -0
- package/dist/components/LpShortcutsDialog.vue.d.ts +24 -0
- package/dist/components/LpSidebar.vue.d.ts +146 -0
- package/dist/components/LpSidebarNav.vue.d.ts +54 -0
- package/dist/components/LpSkeleton.vue.d.ts +16 -0
- package/dist/components/LpSlider.vue.d.ts +30 -0
- package/dist/components/LpSparkline.vue.d.ts +48 -0
- package/dist/components/LpStat.vue.d.ts +69 -0
- package/dist/components/LpStepper.vue.d.ts +36 -0
- package/dist/components/LpSwitch.vue.d.ts +42 -0
- package/dist/components/LpTable.vue.d.ts +124 -0
- package/dist/components/LpTableOfContents.vue.d.ts +19 -0
- package/dist/components/LpTabs.vue.d.ts +47 -0
- package/dist/components/LpTextarea.vue.d.ts +22 -0
- package/dist/components/LpThemeSwitcher.vue.d.ts +47 -0
- package/dist/components/LpTilt.vue.d.ts +31 -0
- package/dist/components/LpTimeField.vue.d.ts +24 -0
- package/dist/components/LpToaster.vue.d.ts +3 -0
- package/dist/components/LpTooltip.vue.d.ts +58 -0
- package/dist/components/LpTopologyCanvas.vue.d.ts +205 -0
- package/dist/components/LpUptimeBar.vue.d.ts +46 -0
- package/dist/components/LpWaypointEdge.vue.d.ts +33 -0
- package/dist/components/actionBar.d.ts +19 -0
- package/dist/components/address.d.ts +107 -0
- package/dist/components/chart.d.ts +180 -0
- package/dist/components/codeHighlight.d.ts +8 -0
- package/dist/components/color.d.ts +65 -0
- package/dist/components/commandSearch.d.ts +14 -0
- package/dist/components/countries-data.d.ts +2 -0
- package/dist/components/countries.d.ts +20 -0
- package/dist/components/dropdown.d.ts +29 -0
- package/dist/components/fileTree.d.ts +79 -0
- package/dist/components/lightbox.d.ts +24 -0
- package/dist/components/modalDepth.d.ts +11 -0
- package/dist/components/sidebar.d.ts +42 -0
- package/dist/composables/easing.d.ts +46 -0
- package/dist/composables/useAsyncTask.d.ts +18 -0
- package/dist/composables/useClipboard.d.ts +46 -0
- package/dist/composables/useFormDraft.d.ts +67 -0
- package/dist/composables/useGlass.d.ts +9 -0
- package/dist/composables/useHotkeys.d.ts +101 -0
- package/dist/composables/useInputFilter.d.ts +14 -0
- package/dist/composables/useMergedClass.d.ts +42 -0
- package/dist/composables/usePillTransition.d.ts +21 -0
- package/dist/composables/useReveal.d.ts +26 -0
- package/dist/composables/useRovingFocus.d.ts +49 -0
- package/dist/composables/useSettled.d.ts +26 -0
- package/dist/composables/useShift.d.ts +35 -0
- package/dist/composables/useTilt.d.ts +23 -0
- package/dist/composables/useToast.d.ts +41 -0
- package/dist/composables/useZoomPan.d.ts +58 -0
- package/dist/icons.d.ts +1 -0
- package/dist/index.d.ts +162 -0
- package/dist/layout/registry.d.ts +26 -0
- package/dist/layout/tree.d.ts +75 -0
- package/dist/layout/useLayout.d.ts +39 -0
- package/dist/theme/backdrop.d.ts +9 -0
- package/dist/theme/config.d.ts +16 -0
- package/dist/theme/define.d.ts +12 -0
- package/dist/theme/presets.d.ts +20 -0
- package/dist/theme/tokens.d.ts +75 -0
- package/dist/theme/useTheme.d.ts +46 -0
- package/package.json +2 -2
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { type ContextMenuItemDef } from "./LpContextMenu.vue";
|
|
2
|
+
export interface TableColumn<Row> {
|
|
3
|
+
key: string;
|
|
4
|
+
label: string;
|
|
5
|
+
align?: "left" | "right" | "center";
|
|
6
|
+
width?: string;
|
|
7
|
+
/** Allow clicking the header to sort by this column. */
|
|
8
|
+
sortable?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Offer "show only these values" in the header's menu, built from the values
|
|
11
|
+
* actually present in the rows. For a column that holds a small vocabulary —
|
|
12
|
+
* a type, a state, a site — where the question is "just the mains leads,
|
|
13
|
+
* please". Pointless on a column of unique values, so it is opt-in.
|
|
14
|
+
*/
|
|
15
|
+
filterable?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* How a raw cell value reads in that filter list. `power_ac` is the stored
|
|
18
|
+
* vocabulary; the menu should say what the column itself says.
|
|
19
|
+
*/
|
|
20
|
+
valueLabel?: (value: unknown) => string;
|
|
21
|
+
/** Keep this column out of the show/hide list — an actions column has no
|
|
22
|
+
* name to offer and nothing to gain from being hidden. */
|
|
23
|
+
alwaysVisible?: boolean;
|
|
24
|
+
}
|
|
25
|
+
export interface SortState {
|
|
26
|
+
key: string;
|
|
27
|
+
dir: "asc" | "desc";
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* What a server-backed table asks for. `hidden` mirrors the header filter: the
|
|
31
|
+
* values unticked per column, so a value the server has never sent before shows
|
|
32
|
+
* up instead of being silently excluded.
|
|
33
|
+
*/
|
|
34
|
+
export interface TableQuery {
|
|
35
|
+
page: number;
|
|
36
|
+
pageSize: number;
|
|
37
|
+
sort: SortState | null;
|
|
38
|
+
hidden: Record<string, unknown[]>;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* One page of a server-backed table. `facets` are the distinct values of the
|
|
42
|
+
* filterable columns across the whole result — one page cannot know them, and a
|
|
43
|
+
* filter built from twenty-five rows would offer whatever happened to be on it.
|
|
44
|
+
*/
|
|
45
|
+
export interface TablePage<Row> {
|
|
46
|
+
rows: Row[];
|
|
47
|
+
total: number;
|
|
48
|
+
facets?: Record<string, unknown[]>;
|
|
49
|
+
}
|
|
50
|
+
declare const _default: typeof __VLS_export;
|
|
51
|
+
export default _default;
|
|
52
|
+
declare const __VLS_export: <T extends Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
53
|
+
props: import("vue").PublicProps & __VLS_PrettifyLocal<{
|
|
54
|
+
columns: TableColumn<T>[];
|
|
55
|
+
/** The rows, for a table that holds its data. Ignored when `load` is set. */
|
|
56
|
+
rows?: T[];
|
|
57
|
+
/**
|
|
58
|
+
* Fetch the rows instead of being handed them: paging, sorting and the
|
|
59
|
+
* header filters then happen on the server. Debounced and abortable, the
|
|
60
|
+
* same way as the command palette's `search` — a stale page never lands
|
|
61
|
+
* over a fresher one.
|
|
62
|
+
*/
|
|
63
|
+
load?: (query: TableQuery, signal: AbortSignal) => TablePage<T> | Promise<TablePage<T>>;
|
|
64
|
+
/** Rows per page with `load`. */
|
|
65
|
+
pageSize?: number;
|
|
66
|
+
/** Wait after a sort or filter change before `load` runs. */
|
|
67
|
+
debounce?: number;
|
|
68
|
+
loadingLabel?: string;
|
|
69
|
+
errorLabel?: string;
|
|
70
|
+
/** Stable id per row — required for selection; falls back to index otherwise. */
|
|
71
|
+
rowKey?: keyof T | ((row: T) => string | number);
|
|
72
|
+
emptyLabel?: string;
|
|
73
|
+
emptyIcon?: string;
|
|
74
|
+
/** Render a leading checkbox column; selection binds via v-model:selected. */
|
|
75
|
+
selectable?: boolean;
|
|
76
|
+
/** Selected row keys (v-model:selected). */
|
|
77
|
+
selected?: (string | number)[];
|
|
78
|
+
/** Active sort (v-model:sort). When set, the parent owns ordering (server
|
|
79
|
+
* side); otherwise the table sorts its own rows client-side. */
|
|
80
|
+
sort?: SortState | null;
|
|
81
|
+
/** Pin the header while the body scrolls. Pair with a height on the wrapper. */
|
|
82
|
+
stickyHeader?: boolean;
|
|
83
|
+
/** Per-row right-click menu. Return [] (or omit the prop) to disable it for
|
|
84
|
+
* a row; the row then keeps the browser's native context menu. */
|
|
85
|
+
rowMenu?: (row: T) => ContextMenuItemDef[];
|
|
86
|
+
/** Wording for the header's right-click menu. Passed in because the kit
|
|
87
|
+
* carries no translations: an app that leaves these alone gets English. */
|
|
88
|
+
sortAscLabel?: string;
|
|
89
|
+
sortDescLabel?: string;
|
|
90
|
+
sortClearLabel?: string;
|
|
91
|
+
/** Wording for the value filter and the column chooser. */
|
|
92
|
+
filterLabel?: string;
|
|
93
|
+
showAllLabel?: string;
|
|
94
|
+
columnsLabel?: string;
|
|
95
|
+
} & {
|
|
96
|
+
"onUpdate:selected"?: ((value: (string | number)[]) => any) | undefined;
|
|
97
|
+
"onUpdate:sort"?: ((value: SortState | null) => any) | undefined;
|
|
98
|
+
onRowClick?: ((row: T) => any) | undefined;
|
|
99
|
+
}> & (typeof globalThis extends {
|
|
100
|
+
__VLS_PROPS_FALLBACK: infer P;
|
|
101
|
+
} ? P : {});
|
|
102
|
+
expose: (exposed: import("vue").ShallowUnwrapRef<{
|
|
103
|
+
reload: () => void;
|
|
104
|
+
}>) => void;
|
|
105
|
+
attrs: any;
|
|
106
|
+
slots: {
|
|
107
|
+
[x: `cell-${string}`]: ((props: {
|
|
108
|
+
row: T;
|
|
109
|
+
value: unknown;
|
|
110
|
+
}) => any) | undefined;
|
|
111
|
+
};
|
|
112
|
+
emit: {
|
|
113
|
+
(e: "update:selected", value: (string | number)[]): void;
|
|
114
|
+
(e: "update:sort", value: SortState | null): void;
|
|
115
|
+
(e: "rowClick", row: T): void;
|
|
116
|
+
};
|
|
117
|
+
}>) => import("vue").VNode & {
|
|
118
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
119
|
+
};
|
|
120
|
+
type __VLS_PrettifyLocal<T> = (T extends any ? {
|
|
121
|
+
[K in keyof T]: T[K];
|
|
122
|
+
} : {
|
|
123
|
+
[K in keyof T as K]: T[K];
|
|
124
|
+
}) & {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface TocLink {
|
|
2
|
+
id: string;
|
|
3
|
+
text: string;
|
|
4
|
+
depth?: number;
|
|
5
|
+
children?: TocLink[];
|
|
6
|
+
}
|
|
7
|
+
type __VLS_Props = {
|
|
8
|
+
links: TocLink[];
|
|
9
|
+
/** Heading shown above the list. */
|
|
10
|
+
title?: string;
|
|
11
|
+
/** px offset from the top used as the scroll-spy trigger line. */
|
|
12
|
+
offset?: number;
|
|
13
|
+
};
|
|
14
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
15
|
+
title: string;
|
|
16
|
+
offset: number;
|
|
17
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
declare const _default: typeof __VLS_export;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface TabItem {
|
|
2
|
+
value: string;
|
|
3
|
+
label: string;
|
|
4
|
+
/** Optional iconify name (e.g. "lucide:palette"), shown left of the label. */
|
|
5
|
+
icon?: string;
|
|
6
|
+
}
|
|
7
|
+
type __VLS_Props = {
|
|
8
|
+
modelValue?: string;
|
|
9
|
+
items: TabItem[];
|
|
10
|
+
/**
|
|
11
|
+
* "contained" (default) wraps the triggers in a bordered, filled bar.
|
|
12
|
+
* "plain" drops the container chrome — a flat row of tabs with only the
|
|
13
|
+
* sliding pill marking the active one (for nav bars over a custom surface).
|
|
14
|
+
* "underline" is a flat row over a hairline baseline, marking the active
|
|
15
|
+
* tab with a sliding bottom bar instead of a pill (page-section nav style).
|
|
16
|
+
*/
|
|
17
|
+
variant?: "contained" | "plain" | "underline";
|
|
18
|
+
/** Tint the active pill + label with the brand colour (nav-bar style). */
|
|
19
|
+
accent?: boolean;
|
|
20
|
+
/** Stretch the bar to full width with equal-share triggers. */
|
|
21
|
+
block?: boolean;
|
|
22
|
+
};
|
|
23
|
+
declare var __VLS_49: {
|
|
24
|
+
value: string;
|
|
25
|
+
}, __VLS_51: {};
|
|
26
|
+
type __VLS_Slots = {} & {
|
|
27
|
+
panel?: (props: typeof __VLS_49) => any;
|
|
28
|
+
} & {
|
|
29
|
+
default?: (props: typeof __VLS_51) => any;
|
|
30
|
+
};
|
|
31
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
32
|
+
"update:modelValue": (value: string) => any;
|
|
33
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
34
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
35
|
+
}>, {
|
|
36
|
+
block: boolean;
|
|
37
|
+
variant: "contained" | "plain" | "underline";
|
|
38
|
+
accent: boolean;
|
|
39
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
40
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
41
|
+
declare const _default: typeof __VLS_export;
|
|
42
|
+
export default _default;
|
|
43
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
44
|
+
new (): {
|
|
45
|
+
$slots: S;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
modelValue?: string;
|
|
3
|
+
placeholder?: string;
|
|
4
|
+
rows?: number;
|
|
5
|
+
invalid?: boolean;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
label?: string;
|
|
8
|
+
hint?: string;
|
|
9
|
+
error?: string;
|
|
10
|
+
/**
|
|
11
|
+
* Marks the label with the required indicator; the attribute still reaches
|
|
12
|
+
* the <textarea> for native validation.
|
|
13
|
+
*/
|
|
14
|
+
required?: boolean;
|
|
15
|
+
};
|
|
16
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
17
|
+
"update:modelValue": (value: string) => any;
|
|
18
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
19
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
20
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
declare const _default: typeof __VLS_export;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { TokenSet } from "../theme/tokens";
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
/** Active theme NAME (v-model). Falls back to the first theme. */
|
|
4
|
+
modelValue?: string;
|
|
5
|
+
/** Themes to offer. Defaults to all built-in presets. */
|
|
6
|
+
themes?: TokenSet[];
|
|
7
|
+
/**
|
|
8
|
+
* Themes the LEFT-click cycles through — names from `themes`, or TokenSets.
|
|
9
|
+
* Defaults to the full list (cycle everything). Pass two, e.g.
|
|
10
|
+
* `:cycle-themes="['Dark', 'Light']"`, for a quick dark/light toggle while
|
|
11
|
+
* the right-click menu still offers every theme.
|
|
12
|
+
*/
|
|
13
|
+
cycleThemes?: (string | TokenSet)[];
|
|
14
|
+
/**
|
|
15
|
+
* Trigger style:
|
|
16
|
+
* - "swatch" (default): a square showing the active theme's brand colour.
|
|
17
|
+
* - "icon": a sun/moon icon following the active theme's mode.
|
|
18
|
+
* - "pill": swatch + the theme name in a pill (always shows the label).
|
|
19
|
+
*/
|
|
20
|
+
variant?: "swatch" | "icon" | "pill";
|
|
21
|
+
/** Show the active theme's name next to the trigger (forced on for "pill"). */
|
|
22
|
+
showLabel?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* Default theme applied on mount when nothing is cached yet — the theme NAME
|
|
25
|
+
* (must be in `themes`) or a TokenSet. Lets a consuming app pick its default
|
|
26
|
+
* declaratively (<LpThemeSwitcher :default="'Violet'">) with no separate
|
|
27
|
+
* bootstrap plugin; a previously saved choice still wins over it.
|
|
28
|
+
*/
|
|
29
|
+
default?: string | TokenSet;
|
|
30
|
+
/** Animate theme changes with the circular reveal. On by default. */
|
|
31
|
+
transition?: boolean;
|
|
32
|
+
size?: "sm" | "md" | "lg";
|
|
33
|
+
"aria-label"?: string;
|
|
34
|
+
};
|
|
35
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
36
|
+
change: (theme: TokenSet) => any;
|
|
37
|
+
"update:modelValue": (name: string) => any;
|
|
38
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
39
|
+
onChange?: ((theme: TokenSet) => any) | undefined;
|
|
40
|
+
"onUpdate:modelValue"?: ((name: string) => any) | undefined;
|
|
41
|
+
}>, {
|
|
42
|
+
size: "sm" | "md" | "lg";
|
|
43
|
+
transition: boolean;
|
|
44
|
+
variant: "swatch" | "icon" | "pill";
|
|
45
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
46
|
+
declare const _default: typeof __VLS_export;
|
|
47
|
+
export default _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** Max rotation toward the pointer, in degrees. */
|
|
3
|
+
max?: number;
|
|
4
|
+
/** Upward lift on hover, in px. */
|
|
5
|
+
lift?: number;
|
|
6
|
+
/** Scale on hover. */
|
|
7
|
+
scale?: number;
|
|
8
|
+
/** Render a pointer-tracking glare highlight over the content. */
|
|
9
|
+
glare?: boolean;
|
|
10
|
+
/** Perspective depth for the 3D stage, in px. Lower = stronger. */
|
|
11
|
+
perspective?: number;
|
|
12
|
+
};
|
|
13
|
+
declare var __VLS_1: {};
|
|
14
|
+
type __VLS_Slots = {} & {
|
|
15
|
+
default?: (props: typeof __VLS_1) => any;
|
|
16
|
+
};
|
|
17
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
18
|
+
scale: number;
|
|
19
|
+
max: number;
|
|
20
|
+
perspective: number;
|
|
21
|
+
lift: number;
|
|
22
|
+
glare: boolean;
|
|
23
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
24
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
25
|
+
declare const _default: typeof __VLS_export;
|
|
26
|
+
export default _default;
|
|
27
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
28
|
+
new (): {
|
|
29
|
+
$slots: S;
|
|
30
|
+
};
|
|
31
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** Selected time "HH:mm" (v-model). */
|
|
3
|
+
modelValue?: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
invalid?: boolean;
|
|
6
|
+
size?: "sm" | "md" | "lg";
|
|
7
|
+
/** 24 or 12-hour clock, independent of the browser locale. */
|
|
8
|
+
hourCycle?: 12 | 24;
|
|
9
|
+
/** Locale for segment order and the AM/PM marker in 12-hour mode. */
|
|
10
|
+
locale?: string;
|
|
11
|
+
/** Show the clock icon at the start of the field. */
|
|
12
|
+
icon?: boolean;
|
|
13
|
+
};
|
|
14
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
15
|
+
"update:modelValue": (value: string | undefined) => any;
|
|
16
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
17
|
+
"onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
|
|
18
|
+
}>, {
|
|
19
|
+
size: "sm" | "md" | "lg";
|
|
20
|
+
icon: boolean;
|
|
21
|
+
hourCycle: 12 | 24;
|
|
22
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
23
|
+
declare const _default: typeof __VLS_export;
|
|
24
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
content?: string;
|
|
3
|
+
sideOffset?: number;
|
|
4
|
+
/** Which edge to prefer; flips automatically when there is no room. */
|
|
5
|
+
side?: "top" | "right" | "bottom" | "left";
|
|
6
|
+
/**
|
|
7
|
+
* The tip names the control rather than describing it — for a trigger with
|
|
8
|
+
* no visible text of its own. Sets the accessible name instead of only
|
|
9
|
+
* adding a description.
|
|
10
|
+
*/
|
|
11
|
+
label?: boolean;
|
|
12
|
+
/** Milliseconds before the tip appears on hover. */
|
|
13
|
+
delay?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Show on any focus, not just keyboard focus. Off by default: a tip that
|
|
16
|
+
* pops up after every mouse click on the trigger is noise.
|
|
17
|
+
*/
|
|
18
|
+
showOnPointerFocus?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Track the pointer instead of anchoring to the trigger's edge.
|
|
21
|
+
*
|
|
22
|
+
* For a trigger that is large or oddly shaped — a chart slice, a canvas, a
|
|
23
|
+
* map region — where the element's bounding box says little about what the
|
|
24
|
+
* pointer is actually over: anchored to the box, the tip can appear far from
|
|
25
|
+
* the thing it describes. Following the cursor keeps it next to the reading.
|
|
26
|
+
*/
|
|
27
|
+
followCursor?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Suppress the tip. For a trigger whose tip only applies to part of it — a
|
|
30
|
+
* chart wrapper where the pointer may be over a mark or over empty canvas —
|
|
31
|
+
* so an empty panel never opens over the gaps.
|
|
32
|
+
*
|
|
33
|
+
* This also FORCES CLOSED a tip that is already showing. reka's own
|
|
34
|
+
* `disabled` does not: it stops managing the tooltip where it stands, so one
|
|
35
|
+
* that was open when the flag flipped stayed on screen for good — outliving
|
|
36
|
+
* the pointer, letting a second chart open its own beside it, and surviving
|
|
37
|
+
* a scroll that should have dismissed it.
|
|
38
|
+
*/
|
|
39
|
+
disabled?: boolean;
|
|
40
|
+
};
|
|
41
|
+
declare var __VLS_24: {}, __VLS_38: {};
|
|
42
|
+
type __VLS_Slots = {} & {
|
|
43
|
+
default?: (props: typeof __VLS_24) => any;
|
|
44
|
+
} & {
|
|
45
|
+
content?: (props: typeof __VLS_38) => any;
|
|
46
|
+
};
|
|
47
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
48
|
+
delay: number;
|
|
49
|
+
side: "top" | "right" | "bottom" | "left";
|
|
50
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
51
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
52
|
+
declare const _default: typeof __VLS_export;
|
|
53
|
+
export default _default;
|
|
54
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
55
|
+
new (): {
|
|
56
|
+
$slots: S;
|
|
57
|
+
};
|
|
58
|
+
};
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { type Connection } from "@vue-flow/core";
|
|
2
|
+
import { type InfraNodeData } from "./LpInfraNode.vue";
|
|
3
|
+
import { type ServiceNodeData } from "./LpServiceNode.vue";
|
|
4
|
+
export type EdgeObserved = "applied" | "pending" | "drift";
|
|
5
|
+
export interface TopologyNode {
|
|
6
|
+
id: string;
|
|
7
|
+
position: {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
};
|
|
11
|
+
/** Host/group nodes use InfraNodeData; service nodes use ServiceNodeData. */
|
|
12
|
+
data: InfraNodeData | ServiceNodeData;
|
|
13
|
+
/**
|
|
14
|
+
* Node kind: "infra" (a host card, default), "service" (a small service node
|
|
15
|
+
* placed inside a host frame), or "group" (a host frame that contains
|
|
16
|
+
* services). Services set `parent` to their group's id.
|
|
17
|
+
*/
|
|
18
|
+
type?: "infra" | "service" | "group";
|
|
19
|
+
/** For service nodes: the id of the host-frame group node they live in. */
|
|
20
|
+
parent?: string;
|
|
21
|
+
/** For group nodes: pixel size of the frame, and an optional label. */
|
|
22
|
+
width?: number;
|
|
23
|
+
height?: number;
|
|
24
|
+
label?: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Edge semantics, encoded with both colour AND line style so the two kinds read
|
|
28
|
+
* apart at a glance (and for colour-blind users): "network" = a transport wire
|
|
29
|
+
* between hosts (solid, brand-cyan); "structural" = a depends_on relation
|
|
30
|
+
* between services (dotted, violet, thinner). Inferred from `kind` when omitted
|
|
31
|
+
* (`depends_on` → structural, everything else → network).
|
|
32
|
+
*/
|
|
33
|
+
export type EdgeCategory = "network" | "structural";
|
|
34
|
+
export interface TopologyEdge {
|
|
35
|
+
id: string;
|
|
36
|
+
source: string;
|
|
37
|
+
target: string;
|
|
38
|
+
/** transport label shown on the edge (e.g. "wg", "cloudflared"). */
|
|
39
|
+
kind?: string;
|
|
40
|
+
/** Semantic class driving colour + dash. Inferred from `kind` if omitted. */
|
|
41
|
+
category?: EdgeCategory;
|
|
42
|
+
observed?: EdgeObserved;
|
|
43
|
+
/**
|
|
44
|
+
* Push the edge into the background, matching the node data's `dimmed`. A
|
|
45
|
+
* focus highlight has to fade the edges too — dimming only the nodes leaves
|
|
46
|
+
* every unrelated line at full strength.
|
|
47
|
+
*/
|
|
48
|
+
dimmed?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Points the edge should curve through, when the host's layout knows where
|
|
51
|
+
* the gaps are. Requires `edgeType: "waypoints"`; ignored otherwise.
|
|
52
|
+
*/
|
|
53
|
+
waypoints?: {
|
|
54
|
+
x: number;
|
|
55
|
+
y: number;
|
|
56
|
+
}[];
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* A background swimlane: a sized zone (one per project / overlay network) drawn
|
|
60
|
+
* beneath the nodes. The consumer computes the geometry; the canvas renders it
|
|
61
|
+
* as a non-interactive Vue Flow node so it pans/zooms in lockstep with the
|
|
62
|
+
* graph. Lanes are layered below real nodes and never intercept pointer events.
|
|
63
|
+
*/
|
|
64
|
+
export interface TopologyLane {
|
|
65
|
+
id: string;
|
|
66
|
+
label: string;
|
|
67
|
+
x: number;
|
|
68
|
+
y: number;
|
|
69
|
+
width: number;
|
|
70
|
+
height: number;
|
|
71
|
+
/** Optional accent colour token for the lane border + label. */
|
|
72
|
+
accent?: string;
|
|
73
|
+
}
|
|
74
|
+
/** Canvas viewport transform — for restoring a saved pan/zoom. */
|
|
75
|
+
export interface CanvasViewport {
|
|
76
|
+
x: number;
|
|
77
|
+
y: number;
|
|
78
|
+
zoom: number;
|
|
79
|
+
}
|
|
80
|
+
type __VLS_Props = {
|
|
81
|
+
nodes: TopologyNode[];
|
|
82
|
+
edges: TopologyEdge[];
|
|
83
|
+
/** Allow drag-to-connect (emits `connect`). Default false (read-only). */
|
|
84
|
+
connectable?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Desktop-style marquee selection: drag on empty canvas to rubber-band a
|
|
87
|
+
* box and select every node inside; the selected set then drags together.
|
|
88
|
+
* Hold Shift to add to the selection. Panning moves to a right-drag / the
|
|
89
|
+
* space bar so left-drag is free for selecting. Default false (left-drag
|
|
90
|
+
* pans, the classic read-only behaviour). Emits `selection-change`.
|
|
91
|
+
*/
|
|
92
|
+
selectable?: boolean;
|
|
93
|
+
/** Show the edge-type legend (Network / Depends-on / Pending / Drift). */
|
|
94
|
+
legend?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Where the legend sits. Defaults to bottom-left: hosts commonly float a
|
|
97
|
+
* toolbar across the top, which would cover a top-anchored legend, and the
|
|
98
|
+
* minimap owns the bottom-right.
|
|
99
|
+
*/
|
|
100
|
+
legendPosition?: "top-left" | "top-right" | "bottom-left" | "bottom-right";
|
|
101
|
+
/**
|
|
102
|
+
* Edge shape. The default bezier bulges away from the straight line between
|
|
103
|
+
* its ends, which suits a free-form graph and cuts through everything in a
|
|
104
|
+
* LAYERED one — a long edge crosses the cards standing between its columns.
|
|
105
|
+
* `smoothstep` routes orthogonally through the gaps instead.
|
|
106
|
+
*/
|
|
107
|
+
edgeType?: "default" | "smoothstep" | "step" | "straight" | "waypoints";
|
|
108
|
+
/** Rename legend rows to match what this graph's edges actually mean. */
|
|
109
|
+
legendLabels?: Partial<Record<"network" | "structural" | "pending" | "drift", string>>;
|
|
110
|
+
/**
|
|
111
|
+
* Background swimlanes drawn beneath the nodes (one per project / overlay).
|
|
112
|
+
* Non-interactive; pan/zoom with the graph. Empty = no lanes.
|
|
113
|
+
*/
|
|
114
|
+
lanes?: TopologyLane[];
|
|
115
|
+
/**
|
|
116
|
+
* Minimap and zoom controls. On by default — a full-page map needs both —
|
|
117
|
+
* but a graph embedded at a few hundred pixels has nothing to navigate, and
|
|
118
|
+
* the overlays then cover a real share of the picture.
|
|
119
|
+
*/
|
|
120
|
+
minimap?: boolean;
|
|
121
|
+
controls?: boolean;
|
|
122
|
+
};
|
|
123
|
+
declare function applyViewport(v: CanvasViewport): Promise<void>;
|
|
124
|
+
declare var __VLS_29: {};
|
|
125
|
+
type __VLS_Slots = {} & {
|
|
126
|
+
'legend-extra'?: (props: typeof __VLS_29) => any;
|
|
127
|
+
};
|
|
128
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
129
|
+
fitView: import("@vue-flow/core").FitView;
|
|
130
|
+
setViewport: typeof applyViewport;
|
|
131
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
132
|
+
connect: (value: Connection) => any;
|
|
133
|
+
"node-select": (id: string) => any;
|
|
134
|
+
"node-activate": (id: string) => any;
|
|
135
|
+
"node-contextmenu": (value: {
|
|
136
|
+
id: string;
|
|
137
|
+
x: number;
|
|
138
|
+
y: number;
|
|
139
|
+
}) => any;
|
|
140
|
+
"edge-contextmenu": (value: {
|
|
141
|
+
id: string;
|
|
142
|
+
x: number;
|
|
143
|
+
y: number;
|
|
144
|
+
}) => any;
|
|
145
|
+
"pane-click": () => any;
|
|
146
|
+
"selection-change": (ids: string[]) => any;
|
|
147
|
+
"update:nodes": (value: TopologyNode[]) => any;
|
|
148
|
+
"node-drag-stop": (value: {
|
|
149
|
+
id: string;
|
|
150
|
+
position: {
|
|
151
|
+
x: number;
|
|
152
|
+
y: number;
|
|
153
|
+
};
|
|
154
|
+
}) => any;
|
|
155
|
+
"viewport-change": (value: {
|
|
156
|
+
zoom: number;
|
|
157
|
+
x: number;
|
|
158
|
+
y: number;
|
|
159
|
+
}) => any;
|
|
160
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
161
|
+
onConnect?: ((value: Connection) => any) | undefined;
|
|
162
|
+
"onNode-select"?: ((id: string) => any) | undefined;
|
|
163
|
+
"onNode-activate"?: ((id: string) => any) | undefined;
|
|
164
|
+
"onNode-contextmenu"?: ((value: {
|
|
165
|
+
id: string;
|
|
166
|
+
x: number;
|
|
167
|
+
y: number;
|
|
168
|
+
}) => any) | undefined;
|
|
169
|
+
"onEdge-contextmenu"?: ((value: {
|
|
170
|
+
id: string;
|
|
171
|
+
x: number;
|
|
172
|
+
y: number;
|
|
173
|
+
}) => any) | undefined;
|
|
174
|
+
"onPane-click"?: (() => any) | undefined;
|
|
175
|
+
"onSelection-change"?: ((ids: string[]) => any) | undefined;
|
|
176
|
+
"onUpdate:nodes"?: ((value: TopologyNode[]) => any) | undefined;
|
|
177
|
+
"onNode-drag-stop"?: ((value: {
|
|
178
|
+
id: string;
|
|
179
|
+
position: {
|
|
180
|
+
x: number;
|
|
181
|
+
y: number;
|
|
182
|
+
};
|
|
183
|
+
}) => any) | undefined;
|
|
184
|
+
"onViewport-change"?: ((value: {
|
|
185
|
+
zoom: number;
|
|
186
|
+
x: number;
|
|
187
|
+
y: number;
|
|
188
|
+
}) => any) | undefined;
|
|
189
|
+
}>, {
|
|
190
|
+
legend: boolean;
|
|
191
|
+
controls: boolean;
|
|
192
|
+
connectable: boolean;
|
|
193
|
+
selectable: boolean;
|
|
194
|
+
legendPosition: "top-left" | "top-right" | "bottom-left" | "bottom-right";
|
|
195
|
+
lanes: TopologyLane[];
|
|
196
|
+
minimap: boolean;
|
|
197
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
198
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
199
|
+
declare const _default: typeof __VLS_export;
|
|
200
|
+
export default _default;
|
|
201
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
202
|
+
new (): {
|
|
203
|
+
$slots: S;
|
|
204
|
+
};
|
|
205
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export type UptimeStatus = "operational" | "degraded" | "down" | "maintenance" | "empty";
|
|
2
|
+
export interface UptimeSegment {
|
|
3
|
+
/** Health of this slice. `empty` renders a faded placeholder (no data). */
|
|
4
|
+
status: UptimeStatus;
|
|
5
|
+
/** Optional rich tooltip body; falls back to a humanised status. */
|
|
6
|
+
label?: string;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
10
|
+
declare const __VLS_export: import("vue").DefineComponent<{
|
|
11
|
+
/** Oldest → newest. Each entry is one slice of the timeline. */
|
|
12
|
+
segments: UptimeSegment[];
|
|
13
|
+
/** Caption shown under the left edge (oldest point). */
|
|
14
|
+
startLabel?: string;
|
|
15
|
+
/** Caption shown under the right edge (newest point). */
|
|
16
|
+
endLabel?: string;
|
|
17
|
+
/** Show the computed uptime % above the bar. */
|
|
18
|
+
showUptime?: boolean;
|
|
19
|
+
/** Override the headline shown next to the uptime %. */
|
|
20
|
+
title?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Per-status colours. Any CSS colour (hex, rgb, `var(--token)`). Unset
|
|
23
|
+
* statuses fall back to the theme tokens below. Pass e.g.
|
|
24
|
+
* `{ degraded: '#ffb84d' }` to recolour just one state.
|
|
25
|
+
*/
|
|
26
|
+
colors?: Partial<Record<UptimeStatus, string>>;
|
|
27
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
28
|
+
/** Oldest → newest. Each entry is one slice of the timeline. */
|
|
29
|
+
segments: UptimeSegment[];
|
|
30
|
+
/** Caption shown under the left edge (oldest point). */
|
|
31
|
+
startLabel?: string;
|
|
32
|
+
/** Caption shown under the right edge (newest point). */
|
|
33
|
+
endLabel?: string;
|
|
34
|
+
/** Show the computed uptime % above the bar. */
|
|
35
|
+
showUptime?: boolean;
|
|
36
|
+
/** Override the headline shown next to the uptime %. */
|
|
37
|
+
title?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Per-status colours. Any CSS colour (hex, rgb, `var(--token)`). Unset
|
|
40
|
+
* statuses fall back to the theme tokens below. Pass e.g.
|
|
41
|
+
* `{ degraded: '#ffb84d' }` to recolour just one state.
|
|
42
|
+
*/
|
|
43
|
+
colors?: Partial<Record<UptimeStatus, string>>;
|
|
44
|
+
}> & Readonly<{}>, {
|
|
45
|
+
showUptime: boolean;
|
|
46
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An edge that curves THROUGH a list of waypoints.
|
|
3
|
+
*
|
|
4
|
+
* The built-in shapes each fail one way in a layered graph: a bezier bulges off
|
|
5
|
+
* the line between its ends and cuts through whatever stands between the
|
|
6
|
+
* columns, and orthogonal routing clears the cards but draws the graph as a
|
|
7
|
+
* grid of right angles. Given the gaps a layout already knows about, a curve
|
|
8
|
+
* threaded through them is both — clear of the cards and still a curve.
|
|
9
|
+
*
|
|
10
|
+
* Waypoints ride on the edge's `data.waypoints`; with none, this is a plain
|
|
11
|
+
* bezier, so the type is safe to use for every edge in a graph.
|
|
12
|
+
*/
|
|
13
|
+
import { Position } from "@vue-flow/core";
|
|
14
|
+
type __VLS_Props = {
|
|
15
|
+
id: string;
|
|
16
|
+
sourceX: number;
|
|
17
|
+
sourceY: number;
|
|
18
|
+
targetX: number;
|
|
19
|
+
targetY: number;
|
|
20
|
+
sourcePosition?: Position;
|
|
21
|
+
targetPosition?: Position;
|
|
22
|
+
data?: {
|
|
23
|
+
waypoints?: {
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
}[];
|
|
27
|
+
};
|
|
28
|
+
markerEnd?: string;
|
|
29
|
+
style?: Record<string, unknown>;
|
|
30
|
+
};
|
|
31
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
32
|
+
declare const _default: typeof __VLS_export;
|
|
33
|
+
export default _default;
|