@leavepulse/ui 0.12.0
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/LICENSE +21 -0
- package/README.md +61 -0
- 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/LpAlert.vue.d.ts +44 -0
- package/dist/components/LpAppShell.vue.d.ts +83 -0
- package/dist/components/LpAutocomplete.vue.d.ts +50 -0
- package/dist/components/LpAvatar.vue.d.ts +20 -0
- package/dist/components/LpBadge.vue.d.ts +47 -0
- package/dist/components/LpBreadcrumbs.vue.d.ts +14 -0
- package/dist/components/LpButton.vue.d.ts +113 -0
- package/dist/components/LpCalendar.vue.d.ts +20 -0
- package/dist/components/LpCard.vue.d.ts +29 -0
- package/dist/components/LpCheckbox.vue.d.ts +28 -0
- package/dist/components/LpCodeBlock.vue.d.ts +39 -0
- package/dist/components/LpCommandPalette.vue.d.ts +42 -0
- package/dist/components/LpConfirmDialog.vue.d.ts +32 -0
- package/dist/components/LpContextMenu.vue.d.ts +30 -0
- package/dist/components/LpDatePicker.vue.d.ts +25 -0
- package/dist/components/LpDisclosure.vue.d.ts +37 -0
- package/dist/components/LpDivider.vue.d.ts +17 -0
- package/dist/components/LpDrawer.vue.d.ts +88 -0
- package/dist/components/LpDropdownMenu.vue.d.ts +23 -0
- package/dist/components/LpEmptyState.vue.d.ts +18 -0
- package/dist/components/LpFormField.vue.d.ts +21 -0
- package/dist/components/LpIcon.vue.d.ts +8 -0
- package/dist/components/LpInfraNode.vue.d.ts +21 -0
- package/dist/components/LpInput.vue.d.ts +68 -0
- package/dist/components/LpLaneNode.vue.d.ts +24 -0
- package/dist/components/LpLink.vue.d.ts +27 -0
- package/dist/components/LpLogViewer.vue.d.ts +92 -0
- package/dist/components/LpModal.vue.d.ts +43 -0
- package/dist/components/LpNotificationBell.vue.d.ts +51 -0
- package/dist/components/LpNumberField.vue.d.ts +14 -0
- package/dist/components/LpOtpInput.vue.d.ts +27 -0
- package/dist/components/LpPagination.vue.d.ts +25 -0
- package/dist/components/LpPasswordInput.vue.d.ts +28 -0
- package/dist/components/LpPhoneInput.vue.d.ts +37 -0
- package/dist/components/LpPopover.vue.d.ts +34 -0
- package/dist/components/LpProgress.vue.d.ts +12 -0
- package/dist/components/LpRadio.vue.d.ts +18 -0
- package/dist/components/LpRadioGroup.vue.d.ts +26 -0
- package/dist/components/LpScrollArea.vue.d.ts +24 -0
- package/dist/components/LpSegmented.vue.d.ts +24 -0
- package/dist/components/LpSelect.vue.d.ts +45 -0
- package/dist/components/LpServiceNode.vue.d.ts +14 -0
- package/dist/components/LpSidebar.vue.d.ts +85 -0
- package/dist/components/LpSidebarNav.vue.d.ts +34 -0
- package/dist/components/LpSkeleton.vue.d.ts +6 -0
- package/dist/components/LpSlider.vue.d.ts +23 -0
- package/dist/components/LpStat.vue.d.ts +22 -0
- package/dist/components/LpStepper.vue.d.ts +10 -0
- package/dist/components/LpSwitch.vue.d.ts +11 -0
- package/dist/components/LpTable.vue.d.ts +63 -0
- package/dist/components/LpTableOfContents.vue.d.ts +19 -0
- package/dist/components/LpTabs.vue.d.ts +45 -0
- package/dist/components/LpTextarea.vue.d.ts +17 -0
- package/dist/components/LpThemeSwitcher.vue.d.ts +40 -0
- package/dist/components/LpToaster.vue.d.ts +3 -0
- package/dist/components/LpTooltip.vue.d.ts +19 -0
- package/dist/components/LpTopologyCanvas.vue.d.ts +154 -0
- package/dist/components/LpUptimeBar.vue.d.ts +30 -0
- package/dist/components/codeHighlight.d.ts +8 -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/sidebar.d.ts +18 -0
- package/dist/composables/useInputFilter.d.ts +14 -0
- package/dist/composables/usePillTransition.d.ts +9 -0
- package/dist/composables/useToast.d.ts +39 -0
- package/dist/countries-data-9rgqJWHo.js +203 -0
- package/dist/icons.d.ts +1 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +100 -0
- package/dist/index.js +17600 -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/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 +72 -0
- package/dist/theme/useTheme.d.ts +36 -0
- package/package.json +93 -0
- package/src/canvas.css +67 -0
- package/src/component-names.ts +65 -0
- package/src/components/LayoutCanvas.vue +76 -0
- package/src/components/LayoutNode.vue +248 -0
- package/src/components/LpAlert.vue +59 -0
- package/src/components/LpAppShell.vue +210 -0
- package/src/components/LpAutocomplete.vue +244 -0
- package/src/components/LpAvatar.vue +67 -0
- package/src/components/LpBadge.vue +32 -0
- package/src/components/LpBreadcrumbs.vue +35 -0
- package/src/components/LpButton.vue +111 -0
- package/src/components/LpCalendar.vue +134 -0
- package/src/components/LpCard.vue +71 -0
- package/src/components/LpCheckbox.vue +44 -0
- package/src/components/LpCodeBlock.vue +298 -0
- package/src/components/LpCommandPalette.vue +323 -0
- package/src/components/LpConfirmDialog.vue +49 -0
- package/src/components/LpContextMenu.vue +111 -0
- package/src/components/LpDatePicker.vue +117 -0
- package/src/components/LpDisclosure.vue +92 -0
- package/src/components/LpDivider.vue +20 -0
- package/src/components/LpDrawer.vue +402 -0
- package/src/components/LpDropdownMenu.vue +54 -0
- package/src/components/LpEmptyState.vue +21 -0
- package/src/components/LpFormField.vue +31 -0
- package/src/components/LpIcon.vue +49 -0
- package/src/components/LpInfraNode.vue +108 -0
- package/src/components/LpInput.vue +147 -0
- package/src/components/LpLaneNode.vue +48 -0
- package/src/components/LpLink.vue +48 -0
- package/src/components/LpLogViewer.vue +569 -0
- package/src/components/LpModal.vue +123 -0
- package/src/components/LpNotificationBell.vue +238 -0
- package/src/components/LpNumberField.vue +56 -0
- package/src/components/LpOtpInput.vue +81 -0
- package/src/components/LpPagination.vue +165 -0
- package/src/components/LpPasswordInput.vue +50 -0
- package/src/components/LpPhoneInput.vue +241 -0
- package/src/components/LpPopover.vue +42 -0
- package/src/components/LpProgress.vue +30 -0
- package/src/components/LpRadio.vue +28 -0
- package/src/components/LpRadioGroup.vue +43 -0
- package/src/components/LpScrollArea.vue +82 -0
- package/src/components/LpSegmented.vue +83 -0
- package/src/components/LpSelect.vue +0 -0
- package/src/components/LpServiceNode.vue +57 -0
- package/src/components/LpSidebar.vue +200 -0
- package/src/components/LpSidebarNav.vue +118 -0
- package/src/components/LpSkeleton.vue +16 -0
- package/src/components/LpSlider.vue +53 -0
- package/src/components/LpStat.vue +90 -0
- package/src/components/LpStepper.vue +46 -0
- package/src/components/LpSwitch.vue +19 -0
- package/src/components/LpTable.vue +252 -0
- package/src/components/LpTableOfContents.vue +183 -0
- package/src/components/LpTabs.vue +120 -0
- package/src/components/LpTextarea.vue +39 -0
- package/src/components/LpThemeSwitcher.vue +168 -0
- package/src/components/LpToaster.vue +216 -0
- package/src/components/LpTooltip.vue +30 -0
- package/src/components/LpTopologyCanvas.vue +370 -0
- package/src/components/LpUptimeBar.vue +126 -0
- package/src/components/codeHighlight.ts +137 -0
- package/src/components/countries-data.ts +207 -0
- package/src/components/countries.ts +67 -0
- package/src/components/dropdown.ts +64 -0
- package/src/components/sidebar.ts +26 -0
- package/src/composables/useInputFilter.ts +89 -0
- package/src/composables/usePillTransition.ts +19 -0
- package/src/composables/useToast.ts +92 -0
- package/src/icons.ts +11 -0
- package/src/index.css +21 -0
- package/src/index.ts +146 -0
- package/src/layout/registry.ts +44 -0
- package/src/layout/tree.ts +288 -0
- package/src/layout/useLayout.ts +134 -0
- package/src/nuxt.ts +22 -0
- package/src/theme/config.ts +48 -0
- package/src/theme/define.ts +50 -0
- package/src/theme/presets.ts +279 -0
- package/src/theme/tokens.ts +151 -0
- package/src/theme/useTheme.ts +288 -0
- package/src/tokens/scrollbar.css +138 -0
- package/src/tokens/tokens.css +333 -0
- package/src/tokens/utilities.css +23 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export interface Command {
|
|
2
|
+
id: string;
|
|
3
|
+
label: string;
|
|
4
|
+
/** Second line under the label. */
|
|
5
|
+
description?: string;
|
|
6
|
+
icon?: string;
|
|
7
|
+
/** Right-aligned hint, e.g. "⌘P". */
|
|
8
|
+
shortcut?: string;
|
|
9
|
+
/** Extra search terms not shown but matched against the query. */
|
|
10
|
+
keywords?: string[];
|
|
11
|
+
/** Section heading this command sits under. */
|
|
12
|
+
group?: string;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Hidden from the default (empty-query) list — only surfaces once the user
|
|
16
|
+
* types something it matches. For rarely-used or destructive actions (prune,
|
|
17
|
+
* decommission, …) that shouldn't clutter the palette but stay reachable.
|
|
18
|
+
*/
|
|
19
|
+
hidden?: boolean;
|
|
20
|
+
onSelect?: () => void;
|
|
21
|
+
}
|
|
22
|
+
type __VLS_Props = {
|
|
23
|
+
open?: boolean;
|
|
24
|
+
commands: Command[];
|
|
25
|
+
placeholder?: string;
|
|
26
|
+
emptyText?: string;
|
|
27
|
+
/** Bind a global ⌘K / Ctrl-K toggle. */
|
|
28
|
+
hotkey?: boolean;
|
|
29
|
+
};
|
|
30
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
31
|
+
select: (command: Command) => any;
|
|
32
|
+
"update:open": (value: boolean) => any;
|
|
33
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
34
|
+
onSelect?: ((command: Command) => any) | undefined;
|
|
35
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
36
|
+
}>, {
|
|
37
|
+
placeholder: string;
|
|
38
|
+
emptyText: string;
|
|
39
|
+
hotkey: boolean;
|
|
40
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
41
|
+
declare const _default: typeof __VLS_export;
|
|
42
|
+
export default _default;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
open?: boolean;
|
|
3
|
+
title?: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
confirmLabel?: string;
|
|
6
|
+
cancelLabel?: string;
|
|
7
|
+
danger?: boolean;
|
|
8
|
+
};
|
|
9
|
+
declare var __VLS_10: {};
|
|
10
|
+
type __VLS_Slots = {} & {
|
|
11
|
+
default?: (props: typeof __VLS_10) => any;
|
|
12
|
+
};
|
|
13
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
14
|
+
cancel: () => any;
|
|
15
|
+
"update:open": (value: boolean) => any;
|
|
16
|
+
confirm: () => any;
|
|
17
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
18
|
+
onCancel?: (() => any) | undefined;
|
|
19
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
20
|
+
onConfirm?: (() => any) | undefined;
|
|
21
|
+
}>, {
|
|
22
|
+
confirmLabel: string;
|
|
23
|
+
cancelLabel: string;
|
|
24
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
25
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
26
|
+
declare const _default: typeof __VLS_export;
|
|
27
|
+
export default _default;
|
|
28
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
29
|
+
new (): {
|
|
30
|
+
$slots: S;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface ContextMenuItemDef {
|
|
2
|
+
label: string;
|
|
3
|
+
icon?: string;
|
|
4
|
+
/** Right-aligned hint, e.g. "⌘C". */
|
|
5
|
+
shortcut?: string;
|
|
6
|
+
danger?: boolean;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
separatorBefore?: boolean;
|
|
9
|
+
onSelect?: () => void;
|
|
10
|
+
/** Nested submenu. When present, onSelect is ignored. */
|
|
11
|
+
children?: ContextMenuItemDef[];
|
|
12
|
+
}
|
|
13
|
+
type __VLS_Props = {
|
|
14
|
+
items: ContextMenuItemDef[];
|
|
15
|
+
};
|
|
16
|
+
declare var __VLS_1: {}, __VLS_16: {};
|
|
17
|
+
type __VLS_Slots = {} & {
|
|
18
|
+
default?: (props: typeof __VLS_1) => any;
|
|
19
|
+
} & {
|
|
20
|
+
default?: (props: typeof __VLS_16) => any;
|
|
21
|
+
};
|
|
22
|
+
declare const __VLS_base: 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>;
|
|
23
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
24
|
+
declare const _default: typeof __VLS_export;
|
|
25
|
+
export default _default;
|
|
26
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
27
|
+
new (): {
|
|
28
|
+
$slots: S;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** Selected date "YYYY-MM-DD" (v-model). */
|
|
3
|
+
modelValue?: string;
|
|
4
|
+
placeholder?: string;
|
|
5
|
+
min?: string;
|
|
6
|
+
max?: string;
|
|
7
|
+
isDisabled?: (iso: string) => boolean;
|
|
8
|
+
clearable?: boolean;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
invalid?: boolean;
|
|
11
|
+
size?: "sm" | "md" | "lg";
|
|
12
|
+
/** Intl format for the displayed date. */
|
|
13
|
+
format?: Intl.DateTimeFormatOptions;
|
|
14
|
+
};
|
|
15
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
16
|
+
"update:modelValue": (value: string | undefined) => any;
|
|
17
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
18
|
+
"onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
|
|
19
|
+
}>, {
|
|
20
|
+
size: "sm" | "md" | "lg";
|
|
21
|
+
format: Intl.DateTimeFormatOptions;
|
|
22
|
+
placeholder: string;
|
|
23
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
24
|
+
declare const _default: typeof __VLS_export;
|
|
25
|
+
export default _default;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** Controlled open state. Omit to let the component own it (with `defaultOpen`). */
|
|
3
|
+
open?: boolean;
|
|
4
|
+
defaultOpen?: boolean;
|
|
5
|
+
/** Trigger label (or use the #trigger slot for richer content). */
|
|
6
|
+
label?: string;
|
|
7
|
+
/** Optional iconify name shown left of the label. */
|
|
8
|
+
icon?: string;
|
|
9
|
+
/**
|
|
10
|
+
* On open, smooth-scroll the block to the top of the nearest scroll
|
|
11
|
+
* container so its content isn't left below the fold. Fires immediately,
|
|
12
|
+
* in parallel with the expand.
|
|
13
|
+
*/
|
|
14
|
+
scrollIntoView?: boolean;
|
|
15
|
+
};
|
|
16
|
+
declare var __VLS_22: {}, __VLS_35: {};
|
|
17
|
+
type __VLS_Slots = {} & {
|
|
18
|
+
trigger?: (props: typeof __VLS_22) => any;
|
|
19
|
+
} & {
|
|
20
|
+
default?: (props: typeof __VLS_35) => any;
|
|
21
|
+
};
|
|
22
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
23
|
+
"update:open": (value: boolean) => any;
|
|
24
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
25
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
26
|
+
}>, {
|
|
27
|
+
defaultOpen: boolean;
|
|
28
|
+
scrollIntoView: boolean;
|
|
29
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
30
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
31
|
+
declare const _default: typeof __VLS_export;
|
|
32
|
+
export default _default;
|
|
33
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
34
|
+
new (): {
|
|
35
|
+
$slots: S;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
vertical?: boolean;
|
|
3
|
+
label?: string;
|
|
4
|
+
};
|
|
5
|
+
declare var __VLS_1: {};
|
|
6
|
+
type __VLS_Slots = {} & {
|
|
7
|
+
default?: (props: typeof __VLS_1) => any;
|
|
8
|
+
};
|
|
9
|
+
declare const __VLS_base: 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>;
|
|
10
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
11
|
+
declare const _default: typeof __VLS_export;
|
|
12
|
+
export default _default;
|
|
13
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
14
|
+
new (): {
|
|
15
|
+
$slots: S;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
type Direction = "top" | "bottom" | "left" | "right";
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
open?: boolean;
|
|
4
|
+
/** Edge the drawer attaches to. `side` is a back-compat alias (left/right). */
|
|
5
|
+
direction?: Direction;
|
|
6
|
+
side?: "left" | "right";
|
|
7
|
+
title?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
/** Size preset along the drawer's main axis (width for left/right, height for top/bottom). */
|
|
10
|
+
size?: "sm" | "md" | "lg" | "xl";
|
|
11
|
+
/** Explicit size override (any CSS length), wins over `size`. */
|
|
12
|
+
width?: string;
|
|
13
|
+
/** Drag-to-dismiss + click-outside. Set false to force a controlled close. */
|
|
14
|
+
dismissible?: boolean;
|
|
15
|
+
/** Fractions (0–1) or px strings the drawer snaps between, nearest edge first. */
|
|
16
|
+
snapPoints?: (number | string)[];
|
|
17
|
+
/** Show the drag handle (auto-on for bottom/top sheets). */
|
|
18
|
+
handle?: boolean;
|
|
19
|
+
/** Only the handle initiates a drag — frees inner content to scroll. */
|
|
20
|
+
handleOnly?: boolean;
|
|
21
|
+
/** Scale the [vaul-drawer-wrapper] background while open. */
|
|
22
|
+
scaleBackground?: boolean;
|
|
23
|
+
/** Drag fraction (0–1) past which a release dismisses. */
|
|
24
|
+
closeThreshold?: number;
|
|
25
|
+
/**
|
|
26
|
+
* Auto-tag interactive descendants (input, textarea, select, button, links,
|
|
27
|
+
* [contenteditable]) with data-vaul-no-drag so a drag can't start on them —
|
|
28
|
+
* you can select text / use controls without dragging the drawer. On by
|
|
29
|
+
* default; the drawer still drags from empty space, the handle and header.
|
|
30
|
+
*/
|
|
31
|
+
noDragControls?: boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Mark the entire body as non-draggable: the drawer then only drags from the
|
|
34
|
+
* handle/header. Stronger than noDragControls — use for form-heavy drawers.
|
|
35
|
+
*/
|
|
36
|
+
noDragContent?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Open by dragging in from the screen edge (Discord-style). Renders an
|
|
39
|
+
* invisible edge strip; a pull from it drags a preview panel that follows
|
|
40
|
+
* the finger, and a release past `edgeOpenThreshold` opens the drawer. Only
|
|
41
|
+
* meaningful for left/right drawers.
|
|
42
|
+
*/
|
|
43
|
+
edgeOpen?: boolean;
|
|
44
|
+
/** Width (px) of the edge grab strip. */
|
|
45
|
+
edgeSize?: number;
|
|
46
|
+
/** Fraction (0–1) of the panel width the pull must reach to open on release. */
|
|
47
|
+
edgeOpenThreshold?: number;
|
|
48
|
+
/**
|
|
49
|
+
* Let the user drag the inner edge to resize the panel (horizontal drawers
|
|
50
|
+
* only — e.g. a logs panel whose long lines overflow). The new size is kept
|
|
51
|
+
* for the session. Min/max bound the drag.
|
|
52
|
+
*/
|
|
53
|
+
resizable?: boolean;
|
|
54
|
+
/** Min main-axis size while resizing (any CSS length). Default 22rem. */
|
|
55
|
+
minSize?: string;
|
|
56
|
+
/** Max main-axis size while resizing (any CSS length). Default 96vw. */
|
|
57
|
+
maxSize?: string;
|
|
58
|
+
};
|
|
59
|
+
declare var __VLS_37: {}, __VLS_62: {}, __VLS_64: {};
|
|
60
|
+
type __VLS_Slots = {} & {
|
|
61
|
+
title?: (props: typeof __VLS_37) => any;
|
|
62
|
+
} & {
|
|
63
|
+
default?: (props: typeof __VLS_62) => any;
|
|
64
|
+
} & {
|
|
65
|
+
footer?: (props: typeof __VLS_64) => any;
|
|
66
|
+
};
|
|
67
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
68
|
+
"update:open": (value: boolean) => any;
|
|
69
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
70
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
71
|
+
}>, {
|
|
72
|
+
size: "sm" | "md" | "lg" | "xl";
|
|
73
|
+
side: "left" | "right";
|
|
74
|
+
dismissible: boolean;
|
|
75
|
+
noDragControls: boolean;
|
|
76
|
+
edgeSize: number;
|
|
77
|
+
edgeOpenThreshold: number;
|
|
78
|
+
minSize: string;
|
|
79
|
+
maxSize: string;
|
|
80
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
81
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
82
|
+
declare const _default: typeof __VLS_export;
|
|
83
|
+
export default _default;
|
|
84
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
85
|
+
new (): {
|
|
86
|
+
$slots: S;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export interface MenuItem {
|
|
2
|
+
label: string;
|
|
3
|
+
icon?: string;
|
|
4
|
+
danger?: boolean;
|
|
5
|
+
separatorBefore?: boolean;
|
|
6
|
+
onSelect?: () => void;
|
|
7
|
+
}
|
|
8
|
+
type __VLS_Props = {
|
|
9
|
+
items: MenuItem[];
|
|
10
|
+
};
|
|
11
|
+
declare var __VLS_14: {};
|
|
12
|
+
type __VLS_Slots = {} & {
|
|
13
|
+
trigger?: (props: typeof __VLS_14) => any;
|
|
14
|
+
};
|
|
15
|
+
declare const __VLS_base: 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>;
|
|
16
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
17
|
+
declare const _default: typeof __VLS_export;
|
|
18
|
+
export default _default;
|
|
19
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
20
|
+
new (): {
|
|
21
|
+
$slots: S;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
icon?: string;
|
|
3
|
+
title: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
};
|
|
6
|
+
declare var __VLS_6: {};
|
|
7
|
+
type __VLS_Slots = {} & {
|
|
8
|
+
default?: (props: typeof __VLS_6) => any;
|
|
9
|
+
};
|
|
10
|
+
declare const __VLS_base: 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>;
|
|
11
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
12
|
+
declare const _default: typeof __VLS_export;
|
|
13
|
+
export default _default;
|
|
14
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
15
|
+
new (): {
|
|
16
|
+
$slots: S;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
label?: string;
|
|
3
|
+
hint?: string;
|
|
4
|
+
error?: string;
|
|
5
|
+
required?: boolean;
|
|
6
|
+
};
|
|
7
|
+
declare var __VLS_7: {
|
|
8
|
+
id: string;
|
|
9
|
+
};
|
|
10
|
+
type __VLS_Slots = {} & {
|
|
11
|
+
default?: (props: typeof __VLS_7) => any;
|
|
12
|
+
};
|
|
13
|
+
declare const __VLS_base: 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>;
|
|
14
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
15
|
+
declare const _default: typeof __VLS_export;
|
|
16
|
+
export default _default;
|
|
17
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
18
|
+
new (): {
|
|
19
|
+
$slots: S;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** iconify name, e.g. "lucide:check". Bare names assume the lucide set. */
|
|
3
|
+
name: string;
|
|
4
|
+
size?: number | string;
|
|
5
|
+
};
|
|
6
|
+
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>;
|
|
7
|
+
declare const _default: typeof __VLS_export;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export interface InfraNodeData {
|
|
2
|
+
name: string;
|
|
3
|
+
role: string;
|
|
4
|
+
overlay?: string;
|
|
5
|
+
online?: boolean;
|
|
6
|
+
kind?: string;
|
|
7
|
+
project?: string;
|
|
8
|
+
/** Control-plane firewall rule count on this host (badge when > 0). */
|
|
9
|
+
firewallCount?: number;
|
|
10
|
+
/** Service count on this host (badge when defined — services toggle on). */
|
|
11
|
+
serviceCount?: number;
|
|
12
|
+
/** Fade the node back (search miss / not part of the focused node's graph). */
|
|
13
|
+
dimmed?: boolean;
|
|
14
|
+
}
|
|
15
|
+
type __VLS_Props = {
|
|
16
|
+
data: InfraNodeData;
|
|
17
|
+
selected?: boolean;
|
|
18
|
+
};
|
|
19
|
+
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>;
|
|
20
|
+
declare const _default: typeof __VLS_export;
|
|
21
|
+
export default _default;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
declare const _default: typeof __VLS_export;
|
|
2
|
+
export default _default;
|
|
3
|
+
declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
|
|
4
|
+
modelValue?: string;
|
|
5
|
+
size?: "sm" | "md" | "lg" | undefined;
|
|
6
|
+
invalid?: boolean;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
type?: string;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
label?: string;
|
|
11
|
+
hint?: string;
|
|
12
|
+
error?: string;
|
|
13
|
+
icon?: string;
|
|
14
|
+
/**
|
|
15
|
+
* RegExp/string the whole value must match to be valid. Validation only —
|
|
16
|
+
* never blocks typing; a non-matching non-empty value shows the invalid
|
|
17
|
+
* style + aria-invalid. A bare string is anchored, like HTML `pattern`.
|
|
18
|
+
*/
|
|
19
|
+
pattern?: RegExp | string;
|
|
20
|
+
/**
|
|
21
|
+
* One-char RegExp of allowed characters (e.g. /[0-9]/). Hard-blocks
|
|
22
|
+
* disallowed input/paste at the source — cursor- and IME-safe.
|
|
23
|
+
*/
|
|
24
|
+
restrict?: RegExp;
|
|
25
|
+
}, {
|
|
26
|
+
focus: (options?: FocusOptions) => void | undefined;
|
|
27
|
+
blur: () => void | undefined;
|
|
28
|
+
select: () => void | undefined;
|
|
29
|
+
input: import('vue').Ref<HTMLInputElement | null, HTMLInputElement | null>;
|
|
30
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
31
|
+
"update:modelValue": (value: string) => any;
|
|
32
|
+
}, string, import('vue').PublicProps, Readonly<{
|
|
33
|
+
modelValue?: string;
|
|
34
|
+
size?: "sm" | "md" | "lg" | undefined;
|
|
35
|
+
invalid?: boolean;
|
|
36
|
+
placeholder?: string;
|
|
37
|
+
type?: string;
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
label?: string;
|
|
40
|
+
hint?: string;
|
|
41
|
+
error?: string;
|
|
42
|
+
icon?: string;
|
|
43
|
+
/**
|
|
44
|
+
* RegExp/string the whole value must match to be valid. Validation only —
|
|
45
|
+
* never blocks typing; a non-matching non-empty value shows the invalid
|
|
46
|
+
* style + aria-invalid. A bare string is anchored, like HTML `pattern`.
|
|
47
|
+
*/
|
|
48
|
+
pattern?: RegExp | string;
|
|
49
|
+
/**
|
|
50
|
+
* One-char RegExp of allowed characters (e.g. /[0-9]/). Hard-blocks
|
|
51
|
+
* disallowed input/paste at the source — cursor- and IME-safe.
|
|
52
|
+
*/
|
|
53
|
+
restrict?: RegExp;
|
|
54
|
+
}> & Readonly<{
|
|
55
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
56
|
+
}>, {
|
|
57
|
+
size: "sm" | "md" | "lg";
|
|
58
|
+
type: string;
|
|
59
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
|
|
60
|
+
leading?: (props: {}) => any;
|
|
61
|
+
} & {
|
|
62
|
+
trailing?: (props: {}) => any;
|
|
63
|
+
}>;
|
|
64
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
65
|
+
new (): {
|
|
66
|
+
$slots: S;
|
|
67
|
+
};
|
|
68
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom Vue Flow node for a project SWIMLANE on LpTopologyCanvas: a sized
|
|
3
|
+
* background zone that groups the nodes of one project (overlay network). It is
|
|
4
|
+
* a NODE (not an overlay) so Vue Flow transforms it with pan/zoom for free.
|
|
5
|
+
*
|
|
6
|
+
* Purely decorative: the lane never intercepts pointer events (pan/drag pass
|
|
7
|
+
* through to the canvas), is non-selectable / non-draggable (set on the node
|
|
8
|
+
* object by the canvas), and sits below real nodes via a low z-index. The label
|
|
9
|
+
* tab stays clickable-looking but is inert. Tailwind utilities only so styles
|
|
10
|
+
* reach consumer apps via @source.
|
|
11
|
+
*/
|
|
12
|
+
export interface LaneNodeData {
|
|
13
|
+
label: string;
|
|
14
|
+
/** Optional accent colour token for the lane border + label. */
|
|
15
|
+
accent?: string;
|
|
16
|
+
width: number;
|
|
17
|
+
height: number;
|
|
18
|
+
}
|
|
19
|
+
type __VLS_Props = {
|
|
20
|
+
data: LaneNodeData;
|
|
21
|
+
};
|
|
22
|
+
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>;
|
|
23
|
+
declare const _default: typeof __VLS_export;
|
|
24
|
+
export default _default;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
href?: string;
|
|
3
|
+
external?: boolean;
|
|
4
|
+
muted?: boolean;
|
|
5
|
+
/**
|
|
6
|
+
* "default" — plain hover underline.
|
|
7
|
+
* "reveal" — an underline bar that grows in from the left on hover
|
|
8
|
+
* (origin-left scale-x 0→1). The LeavePulse landing "monitoring" link feel;
|
|
9
|
+
* good for inline prose links and nav items that want a bit of motion.
|
|
10
|
+
*/
|
|
11
|
+
variant?: "default" | "reveal";
|
|
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
|
+
variant: "default" | "reveal";
|
|
19
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
20
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
21
|
+
declare const _default: typeof __VLS_export;
|
|
22
|
+
export default _default;
|
|
23
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
24
|
+
new (): {
|
|
25
|
+
$slots: S;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { ContextMenuItemDef } from './LpContextMenu.vue';
|
|
2
|
+
export type LogLevel = "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "success";
|
|
3
|
+
export interface LogLine {
|
|
4
|
+
/** Body of the line. */
|
|
5
|
+
message: string;
|
|
6
|
+
level?: LogLevel;
|
|
7
|
+
/** Epoch ms, ISO string, or pre-formatted label — shown in the time column. */
|
|
8
|
+
time?: number | string;
|
|
9
|
+
/** Short origin tag (service / module), rendered as a dim chip. */
|
|
10
|
+
source?: string;
|
|
11
|
+
}
|
|
12
|
+
type __VLS_Props = {
|
|
13
|
+
lines: LogLine[];
|
|
14
|
+
/** Show the timestamp column. */
|
|
15
|
+
showTime?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Show the per-line level chip (INFO/WARN/…). On by default. Turn off for
|
|
18
|
+
* raw streams (e.g. docker logs) where most lines have no real level and a
|
|
19
|
+
* blanket "INFO" chip is just noise — the tonal level RAIL still renders, so
|
|
20
|
+
* errors/warnings stay visually distinct.
|
|
21
|
+
*/
|
|
22
|
+
showLevel?: boolean;
|
|
23
|
+
/** Show 1-based gutter line numbers. */
|
|
24
|
+
lineNumbers?: boolean;
|
|
25
|
+
/** Wrap long lines instead of scrolling horizontally. */
|
|
26
|
+
wrap?: boolean;
|
|
27
|
+
/** Case-insensitive substring to highlight in message bodies. */
|
|
28
|
+
highlight?: string;
|
|
29
|
+
/** When set with `highlight`, hide every line that doesn't match. */
|
|
30
|
+
filterMatches?: boolean;
|
|
31
|
+
/** Collapse consecutive identical lines into one, badged with a ×N count. */
|
|
32
|
+
compact?: boolean;
|
|
33
|
+
/** Pin to the bottom as new lines arrive (until the user scrolls up). */
|
|
34
|
+
tail?: boolean;
|
|
35
|
+
/** Fixed height. Anything CSS-valid; defaults to a comfortable terminal. */
|
|
36
|
+
height?: string;
|
|
37
|
+
emptyLabel?: string;
|
|
38
|
+
/**
|
|
39
|
+
* When true, a "loading older…" row is shown pinned at the top — set it while
|
|
40
|
+
* fetching a previous page in response to `reach-top`, clear it when done.
|
|
41
|
+
*/
|
|
42
|
+
loadingOlder?: boolean;
|
|
43
|
+
/**
|
|
44
|
+
* When true, the viewer emits `reach-top` as the user scrolls near the top so
|
|
45
|
+
* the consumer can prepend older history (infinite scroll-back). The viewer
|
|
46
|
+
* preserves the scroll position across a prepend so the view doesn't jump.
|
|
47
|
+
*/
|
|
48
|
+
loadOlder?: boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Right-click row menu: built-in copy actions (+ "filter by" when the line
|
|
51
|
+
* has a source/level). Set false to disable; the row keeps the native menu.
|
|
52
|
+
*/
|
|
53
|
+
rowMenu?: boolean;
|
|
54
|
+
/** Extra menu items per line, appended below the built-ins with a divider. */
|
|
55
|
+
extraRowItems?: (line: LogLine, index: number) => ContextMenuItemDef[];
|
|
56
|
+
/**
|
|
57
|
+
* Recognise common log formats inside each `message` and lift the level,
|
|
58
|
+
* timestamp and [source] out of the text into the dedicated columns. When a
|
|
59
|
+
* line already carries an explicit `level`/`time`/`source`, those win and
|
|
60
|
+
* the message is left untouched. Off by default (raw). Handles e.g.:
|
|
61
|
+
* "2025-01-02T03:04:05.123Z INFO [auth] user logged in"
|
|
62
|
+
* "[2025-01-02 03:04:05] WARN: disk almost full"
|
|
63
|
+
* "ERROR something broke"
|
|
64
|
+
* so a duplicate level word / timestamp doesn't repeat in the message body.
|
|
65
|
+
*/
|
|
66
|
+
parse?: boolean;
|
|
67
|
+
};
|
|
68
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
69
|
+
filter: (by: {
|
|
70
|
+
source?: string;
|
|
71
|
+
level?: LogLevel;
|
|
72
|
+
}) => any;
|
|
73
|
+
"reach-top": () => any;
|
|
74
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
75
|
+
onFilter?: ((by: {
|
|
76
|
+
source?: string;
|
|
77
|
+
level?: LogLevel;
|
|
78
|
+
}) => any) | undefined;
|
|
79
|
+
"onReach-top"?: (() => any) | undefined;
|
|
80
|
+
}>, {
|
|
81
|
+
height: string;
|
|
82
|
+
wrap: boolean;
|
|
83
|
+
lineNumbers: boolean;
|
|
84
|
+
showTime: boolean;
|
|
85
|
+
showLevel: boolean;
|
|
86
|
+
tail: boolean;
|
|
87
|
+
emptyLabel: string;
|
|
88
|
+
rowMenu: boolean;
|
|
89
|
+
parse: boolean;
|
|
90
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
91
|
+
declare const _default: typeof __VLS_export;
|
|
92
|
+
export default _default;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
open?: boolean;
|
|
3
|
+
title?: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
/**
|
|
6
|
+
* Max content width preset. sm≈24rem … xl≈42rem, 2xl≈56rem, 3xl≈72rem,
|
|
7
|
+
* full≈96vw (near-fullscreen, for dense catalogues).
|
|
8
|
+
*/
|
|
9
|
+
size?: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full";
|
|
10
|
+
/** Explicit width override (any CSS length), wins over `size`. */
|
|
11
|
+
width?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Let the body fill the available height as a flex column instead of
|
|
14
|
+
* scrolling itself. Use for dense dashboards that own their inner scroll
|
|
15
|
+
* regions (e.g. multi-pane catalogues) — the panes scroll, not the modal.
|
|
16
|
+
*/
|
|
17
|
+
fillBody?: boolean;
|
|
18
|
+
};
|
|
19
|
+
declare var __VLS_33: {}, __VLS_52: {}, __VLS_60: {}, __VLS_62: {};
|
|
20
|
+
type __VLS_Slots = {} & {
|
|
21
|
+
title?: (props: typeof __VLS_33) => any;
|
|
22
|
+
} & {
|
|
23
|
+
default?: (props: typeof __VLS_52) => any;
|
|
24
|
+
} & {
|
|
25
|
+
default?: (props: typeof __VLS_60) => any;
|
|
26
|
+
} & {
|
|
27
|
+
footer?: (props: typeof __VLS_62) => any;
|
|
28
|
+
};
|
|
29
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
30
|
+
"update:open": (value: boolean) => any;
|
|
31
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
32
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
33
|
+
}>, {
|
|
34
|
+
size: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full";
|
|
35
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
36
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
37
|
+
declare const _default: typeof __VLS_export;
|
|
38
|
+
export default _default;
|
|
39
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
40
|
+
new (): {
|
|
41
|
+
$slots: S;
|
|
42
|
+
};
|
|
43
|
+
};
|