@leavepulse/ui 0.34.0 → 0.35.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/dist/assets/{LpTable-Ckoi05Am.css → LpTable-DfSwPCJ-.css} +21 -8
- package/dist/chunks/LpModalNav-B7W9VAne.js +142 -0
- package/dist/component-names.d.ts +1 -1
- package/dist/components/LpActionBar.vue.d.ts +1 -1
- package/dist/components/LpAddressInput.vue.d.ts +3 -3
- package/dist/components/LpAppShell.vue.d.ts +4 -1
- package/dist/components/LpAutocomplete.vue.d.ts +1 -1
- package/dist/components/LpBadge.vue.d.ts +2 -2
- package/dist/components/LpCodeBlock.vue.d.ts +1 -1
- package/dist/components/LpColorPicker.vue.d.ts +9 -4
- package/dist/components/LpDropzone.vue.d.ts +4 -4
- package/dist/components/LpFileTree.vue.d.ts +4 -4
- package/dist/components/LpFormField.vue.d.ts +1 -1
- package/dist/components/LpLaneNode.vue.d.ts +11 -0
- package/dist/components/LpLightbox.vue.d.ts +2 -2
- package/dist/components/LpLogViewer.vue.d.ts +1 -1
- package/dist/components/LpMapPicker.vue.d.ts +1 -1
- package/dist/components/LpMediaGallery.vue.d.ts +1 -1
- package/dist/components/LpModalNav.vue.d.ts +74 -0
- package/dist/components/LpModalNav.vue.js +4 -0
- package/dist/components/LpPie.vue.d.ts +22 -4
- package/dist/components/LpPopover.vue.d.ts +1 -1
- package/dist/components/LpProgress.vue.d.ts +2 -2
- package/dist/components/LpRollingText.vue.d.ts +3 -3
- package/dist/components/LpSelect.vue.d.ts +6 -6
- package/dist/components/LpShift.vue.d.ts +1 -1
- package/dist/components/LpShortcutsDialog.vue.d.ts +1 -1
- package/dist/components/LpSidebar.vue.d.ts +7 -1
- package/dist/components/LpSidebarNav.vue.d.ts +2 -2
- package/dist/components/LpSlider.vue.d.ts +2 -2
- package/dist/components/LpSparkline.vue.d.ts +2 -2
- package/dist/components/LpTable.vue.d.ts +9 -9
- package/dist/components/LpTable.vue.js +7 -4
- package/dist/components/LpTabs.vue.d.ts +1 -1
- package/dist/components/LpThemeSwitcher.vue.d.ts +1 -1
- package/dist/components/LpTilt.vue.d.ts +1 -1
- package/dist/components/LpTooltip.vue.d.ts +1 -1
- package/dist/components/LpTopologyCanvas.vue.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +72 -70
- package/package.json +1 -1
- package/src/component-names.ts +1 -0
- package/src/components/LpModalNav.vue +177 -0
- package/src/components/LpTable.vue +22 -2
- package/src/index.ts +1 -0
|
@@ -11,21 +11,34 @@
|
|
|
11
11
|
* fade before closing the gap and the whole list lurches at the end instead of
|
|
12
12
|
* gliding.
|
|
13
13
|
*/
|
|
14
|
-
.lp-row-enter-active[data-v-
|
|
15
|
-
.lp-row-leave-active[data-v-
|
|
14
|
+
.lp-row-enter-active[data-v-1fada8e7],
|
|
15
|
+
.lp-row-leave-active[data-v-1fada8e7] {
|
|
16
16
|
transition:
|
|
17
17
|
opacity var(--duration-fast) var(--ease-emphasized),
|
|
18
18
|
transform var(--duration-fast) var(--ease-emphasized);
|
|
19
19
|
}
|
|
20
|
-
.lp-row-move[data-v-
|
|
20
|
+
.lp-row-move[data-v-1fada8e7] {
|
|
21
21
|
transition: transform var(--duration-medium) var(--ease-emphasized);
|
|
22
22
|
}
|
|
23
|
-
.lp-row-enter-from[data-v-
|
|
24
|
-
.lp-row-leave-to[data-v-
|
|
23
|
+
.lp-row-enter-from[data-v-1fada8e7],
|
|
24
|
+
.lp-row-leave-to[data-v-1fada8e7] {
|
|
25
25
|
opacity: 0;
|
|
26
26
|
transform: translateX(-0.5rem);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
/*
|
|
30
|
+
* The empty-state row leaves at once, without the fade. It and the first real
|
|
31
|
+
* rows would otherwise share the table for the length of the animation, and a
|
|
32
|
+
* row of blank height sits above them — the table jumps once on every load.
|
|
33
|
+
*
|
|
34
|
+
* `position: absolute` is what a list would use here, but a positioned `<tr>`
|
|
35
|
+
* drops out of the table layout entirely. Nothing sits below this row to be
|
|
36
|
+
* dragged around, so simply not animating its exit costs nothing.
|
|
37
|
+
*/
|
|
38
|
+
.lp-row-empty.lp-row-leave-active[data-v-1fada8e7] {
|
|
39
|
+
display: none;
|
|
40
|
+
}
|
|
41
|
+
|
|
29
42
|
/*
|
|
30
43
|
* The leaving row stays in the flow. Taking it out with `position: absolute` is
|
|
31
44
|
* the usual trick for a list, but a `<tr>` positioned that way loses the table's
|
|
@@ -37,9 +50,9 @@
|
|
|
37
50
|
/* A filter that redraws the list is information, not decoration: with motion
|
|
38
51
|
turned down the rows change without animating rather than not changing. */
|
|
39
52
|
@media (prefers-reduced-motion: reduce) {
|
|
40
|
-
.lp-row-enter-active[data-v-
|
|
41
|
-
.lp-row-leave-active[data-v-
|
|
42
|
-
.lp-row-move[data-v-
|
|
53
|
+
.lp-row-enter-active[data-v-1fada8e7],
|
|
54
|
+
.lp-row-leave-active[data-v-1fada8e7],
|
|
55
|
+
.lp-row-move[data-v-1fada8e7] {
|
|
43
56
|
transition: none;
|
|
44
57
|
}
|
|
45
58
|
}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { defineComponent, ref, computed, openBlock, createBlock, createSlots, withCtx, createElementVNode, renderSlot, normalizeProps, guardReactiveProps, createCommentVNode, normalizeClass, createVNode, createTextVNode, toDisplayString } from "vue";
|
|
2
|
+
import { _ as _sfc_main$3 } from "./LpButton-5VXXCjwF.js";
|
|
3
|
+
import { _ as _sfc_main$4 } from "./LpIcon-CCnX5_2j.js";
|
|
4
|
+
import { _ as _sfc_main$1 } from "./LpModal-DAqXzsm-.js";
|
|
5
|
+
import { _ as _sfc_main$2 } from "./LpSidebar-DcYavim2.js";
|
|
6
|
+
const _hoisted_1 = { class: "flex items-center gap-2" };
|
|
7
|
+
const _hoisted_2 = { class: "flex min-h-0 flex-1 gap-4" };
|
|
8
|
+
const _hoisted_3 = { class: "flex min-h-0 min-w-0 flex-1 flex-col" };
|
|
9
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
10
|
+
__name: "LpModalNav",
|
|
11
|
+
props: {
|
|
12
|
+
open: { type: Boolean },
|
|
13
|
+
modelValue: {},
|
|
14
|
+
items: {},
|
|
15
|
+
sections: {},
|
|
16
|
+
title: {},
|
|
17
|
+
description: {},
|
|
18
|
+
size: { default: "2xl" },
|
|
19
|
+
width: {},
|
|
20
|
+
navWidth: { default: "13rem" },
|
|
21
|
+
searchable: { type: Boolean },
|
|
22
|
+
searchPlaceholder: {},
|
|
23
|
+
loading: { type: Boolean },
|
|
24
|
+
mobileBreakpoint: { default: "lg" },
|
|
25
|
+
navLabel: { default: "Sections" },
|
|
26
|
+
fillBody: { type: Boolean, default: true }
|
|
27
|
+
},
|
|
28
|
+
emits: ["update:open", "update:modelValue"],
|
|
29
|
+
setup(__props, { emit: __emit }) {
|
|
30
|
+
const props = __props;
|
|
31
|
+
const emit = __emit;
|
|
32
|
+
const navOpen = ref(false);
|
|
33
|
+
const active = computed({
|
|
34
|
+
get: () => props.modelValue ?? "",
|
|
35
|
+
set: (v) => emit("update:modelValue", v)
|
|
36
|
+
});
|
|
37
|
+
const hasNav = computed(
|
|
38
|
+
() => Boolean(props.items?.length || props.sections?.length)
|
|
39
|
+
);
|
|
40
|
+
const TRIGGER_VISIBILITY = {
|
|
41
|
+
sm: "sm:hidden",
|
|
42
|
+
md: "md:hidden",
|
|
43
|
+
lg: "lg:hidden",
|
|
44
|
+
xl: "xl:hidden"
|
|
45
|
+
};
|
|
46
|
+
const triggerClass = computed(() => TRIGGER_VISIBILITY[props.mobileBreakpoint]);
|
|
47
|
+
return (_ctx, _cache) => {
|
|
48
|
+
return openBlock(), createBlock(_sfc_main$1, {
|
|
49
|
+
open: __props.open,
|
|
50
|
+
title: __props.title,
|
|
51
|
+
description: __props.description,
|
|
52
|
+
size: __props.size,
|
|
53
|
+
width: __props.width,
|
|
54
|
+
"fill-body": __props.fillBody,
|
|
55
|
+
"onUpdate:open": _cache[3] || (_cache[3] = ($event) => emit("update:open", $event))
|
|
56
|
+
}, createSlots({
|
|
57
|
+
title: withCtx(() => [
|
|
58
|
+
createElementVNode("div", _hoisted_1, [
|
|
59
|
+
hasNav.value ? (openBlock(), createBlock(_sfc_main$3, {
|
|
60
|
+
key: 0,
|
|
61
|
+
variant: "ghost",
|
|
62
|
+
size: "sm",
|
|
63
|
+
square: "",
|
|
64
|
+
"aria-label": __props.navLabel,
|
|
65
|
+
class: normalizeClass(triggerClass.value),
|
|
66
|
+
onClick: _cache[0] || (_cache[0] = ($event) => navOpen.value = true)
|
|
67
|
+
}, {
|
|
68
|
+
default: withCtx(() => [
|
|
69
|
+
createVNode(_sfc_main$4, {
|
|
70
|
+
name: "lucide:menu",
|
|
71
|
+
size: 18
|
|
72
|
+
})
|
|
73
|
+
]),
|
|
74
|
+
_: 1
|
|
75
|
+
}, 8, ["aria-label", "class"])) : createCommentVNode("", true),
|
|
76
|
+
renderSlot(_ctx.$slots, "title", {}, () => [
|
|
77
|
+
createTextVNode(toDisplayString(__props.title), 1)
|
|
78
|
+
])
|
|
79
|
+
])
|
|
80
|
+
]),
|
|
81
|
+
default: withCtx(() => [
|
|
82
|
+
createElementVNode("div", _hoisted_2, [
|
|
83
|
+
hasNav.value ? (openBlock(), createBlock(_sfc_main$2, {
|
|
84
|
+
key: 0,
|
|
85
|
+
modelValue: active.value,
|
|
86
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => active.value = $event),
|
|
87
|
+
open: navOpen.value,
|
|
88
|
+
"onUpdate:open": _cache[2] || (_cache[2] = ($event) => navOpen.value = $event),
|
|
89
|
+
variant: "panel",
|
|
90
|
+
items: __props.items,
|
|
91
|
+
sections: __props.sections,
|
|
92
|
+
width: __props.navWidth,
|
|
93
|
+
searchable: __props.searchable,
|
|
94
|
+
"search-placeholder": __props.searchPlaceholder,
|
|
95
|
+
loading: __props.loading,
|
|
96
|
+
responsive: "",
|
|
97
|
+
"mobile-breakpoint": __props.mobileBreakpoint,
|
|
98
|
+
class: "shrink-0"
|
|
99
|
+
}, createSlots({ _: 2 }, [
|
|
100
|
+
_ctx.$slots.navHeader ? {
|
|
101
|
+
name: "header",
|
|
102
|
+
fn: withCtx(() => [
|
|
103
|
+
renderSlot(_ctx.$slots, "navHeader")
|
|
104
|
+
]),
|
|
105
|
+
key: "0"
|
|
106
|
+
} : void 0,
|
|
107
|
+
_ctx.$slots.navItem ? {
|
|
108
|
+
name: "item",
|
|
109
|
+
fn: withCtx((slotProps) => [
|
|
110
|
+
renderSlot(_ctx.$slots, "navItem", normalizeProps(guardReactiveProps(slotProps)))
|
|
111
|
+
]),
|
|
112
|
+
key: "1"
|
|
113
|
+
} : void 0,
|
|
114
|
+
_ctx.$slots.navFooter ? {
|
|
115
|
+
name: "footer",
|
|
116
|
+
fn: withCtx(() => [
|
|
117
|
+
renderSlot(_ctx.$slots, "navFooter")
|
|
118
|
+
]),
|
|
119
|
+
key: "2"
|
|
120
|
+
} : void 0
|
|
121
|
+
]), 1032, ["modelValue", "open", "items", "sections", "width", "searchable", "search-placeholder", "loading", "mobile-breakpoint"])) : createCommentVNode("", true),
|
|
122
|
+
createElementVNode("div", _hoisted_3, [
|
|
123
|
+
renderSlot(_ctx.$slots, "default")
|
|
124
|
+
])
|
|
125
|
+
])
|
|
126
|
+
]),
|
|
127
|
+
_: 2
|
|
128
|
+
}, [
|
|
129
|
+
_ctx.$slots.footer ? {
|
|
130
|
+
name: "footer",
|
|
131
|
+
fn: withCtx(() => [
|
|
132
|
+
renderSlot(_ctx.$slots, "footer")
|
|
133
|
+
]),
|
|
134
|
+
key: "0"
|
|
135
|
+
} : void 0
|
|
136
|
+
]), 1032, ["open", "title", "description", "size", "width", "fill-body"]);
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
export {
|
|
141
|
+
_sfc_main as _
|
|
142
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const COMPONENT_NAMES: readonly ["LayoutCanvas", "LayoutNode", "LpActionBar", "LpAddressInput", "LpAlert", "LpAppShell", "LpAutocomplete", "LpAvatar", "LpBadge", "LpBreadcrumbs", "LpButton", "LpCalendar", "LpCard", "LpChart", "LpCheckbox", "LpCodeBlock", "LpColorPicker", "LpCommandPalette", "LpConfirmDialog", "LpContextMenu", "LpDatePicker", "LpDisclosure", "LpDivider", "LpDrawer", "LpDropdownMenu", "LpDropzone", "LpEmptyState", "LpFileTree", "LpFileTreeNode", "LpFormField", "LpIcon", "LpImageEditor", "LpInfraNode", "LpInput", "LpLaneNode", "LpLightbox", "LpLink", "LpLogViewer", "LpMapPicker", "LpMediaGallery", "LpModal", "LpNotificationBell", "LpNumberField", "LpNumberFlow", "LpOtpInput", "LpPagination", "LpPasswordInput", "LpPhoneInput", "LpPie", "LpPopover", "LpProgress", "LpRadio", "LpRadioGroup", "LpRollingText", "LpScrollArea", "LpSection", "LpSegmented", "LpSelect", "LpServiceNode", "LpShift", "LpShortcutsDialog", "LpSidebar", "LpSidebarNav", "LpSkeleton", "LpSlider", "LpSparkline", "LpStat", "LpStepper", "LpSwitch", "LpTable", "LpTableOfContents", "LpTabs", "LpTextarea", "LpThemeSwitcher", "LpTilt", "LpToaster", "LpTooltip", "LpTopologyCanvas", "LpUptimeBar", "LpWaypointEdge"];
|
|
1
|
+
export declare const COMPONENT_NAMES: readonly ["LayoutCanvas", "LayoutNode", "LpActionBar", "LpAddressInput", "LpAlert", "LpAppShell", "LpAutocomplete", "LpAvatar", "LpBadge", "LpBreadcrumbs", "LpButton", "LpCalendar", "LpCard", "LpChart", "LpCheckbox", "LpCodeBlock", "LpColorPicker", "LpCommandPalette", "LpConfirmDialog", "LpContextMenu", "LpDatePicker", "LpDisclosure", "LpDivider", "LpDrawer", "LpDropdownMenu", "LpDropzone", "LpEmptyState", "LpFileTree", "LpFileTreeNode", "LpFormField", "LpIcon", "LpImageEditor", "LpInfraNode", "LpInput", "LpLaneNode", "LpLightbox", "LpLink", "LpLogViewer", "LpMapPicker", "LpMediaGallery", "LpModal", "LpModalNav", "LpNotificationBell", "LpNumberField", "LpNumberFlow", "LpOtpInput", "LpPagination", "LpPasswordInput", "LpPhoneInput", "LpPie", "LpPopover", "LpProgress", "LpRadio", "LpRadioGroup", "LpRollingText", "LpScrollArea", "LpSection", "LpSegmented", "LpSelect", "LpServiceNode", "LpShift", "LpShortcutsDialog", "LpSidebar", "LpSidebarNav", "LpSkeleton", "LpSlider", "LpSparkline", "LpStat", "LpStepper", "LpSwitch", "LpTable", "LpTableOfContents", "LpTabs", "LpTextarea", "LpThemeSwitcher", "LpTilt", "LpToaster", "LpTooltip", "LpTopologyCanvas", "LpUptimeBar", "LpWaypointEdge"];
|
|
@@ -70,8 +70,8 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
70
70
|
onDismiss?: (() => any) | undefined;
|
|
71
71
|
}>, {
|
|
72
72
|
width: "contained" | "full";
|
|
73
|
-
variant: "default" | "danger";
|
|
74
73
|
open: boolean;
|
|
74
|
+
variant: "default" | "danger";
|
|
75
75
|
actions: ActionBarAction[];
|
|
76
76
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
77
77
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -58,9 +58,9 @@ declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
|
|
|
58
58
|
debounce: number;
|
|
59
59
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
|
|
60
60
|
map?: (props: {
|
|
61
|
-
point:
|
|
62
|
-
setPoint:
|
|
63
|
-
tiles:
|
|
61
|
+
point: LatLon | undefined;
|
|
62
|
+
setPoint: (next: LatLon) => Promise<void>;
|
|
63
|
+
tiles: TileSource;
|
|
64
64
|
}) => any;
|
|
65
65
|
}>;
|
|
66
66
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -101,7 +101,10 @@ declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
|
|
|
101
101
|
} & {
|
|
102
102
|
'sidebar-footer'?: (props: {}) => any;
|
|
103
103
|
} & {
|
|
104
|
-
'sidebar-item'?: (props:
|
|
104
|
+
'sidebar-item'?: (props: {
|
|
105
|
+
item: SidebarItem;
|
|
106
|
+
active: boolean;
|
|
107
|
+
}) => any;
|
|
105
108
|
} & {
|
|
106
109
|
'header-title'?: (props: {}) => any;
|
|
107
110
|
} & {
|
|
@@ -40,9 +40,9 @@ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {
|
|
|
40
40
|
size: "sm" | "md" | "lg";
|
|
41
41
|
filter: boolean;
|
|
42
42
|
placeholder: string;
|
|
43
|
+
loading: boolean;
|
|
43
44
|
clearable: boolean;
|
|
44
45
|
emptyText: string;
|
|
45
|
-
loading: boolean;
|
|
46
46
|
loadingText: string;
|
|
47
47
|
minChars: number;
|
|
48
48
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
declare const _default: typeof __VLS_export;
|
|
2
2
|
export default _default;
|
|
3
3
|
declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
|
|
4
|
-
tone?: "
|
|
4
|
+
tone?: "action" | "outline" | "danger" | "success" | "warning" | "neutral" | "brand" | undefined;
|
|
5
5
|
/** `sm` is the one that does not disturb a text-sm line it sits on. */
|
|
6
6
|
size?: "sm" | "md" | "lg" | undefined;
|
|
7
7
|
dot?: boolean;
|
|
8
8
|
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
9
|
-
tone?: "
|
|
9
|
+
tone?: "action" | "outline" | "danger" | "success" | "warning" | "neutral" | "brand" | undefined;
|
|
10
10
|
/** `sm` is the one that does not disturb a text-sm line it sits on. */
|
|
11
11
|
size?: "sm" | "md" | "lg" | undefined;
|
|
12
12
|
dot?: boolean;
|
|
@@ -49,8 +49,8 @@ declare const __VLS_export: import('vue').DefineComponent<{
|
|
|
49
49
|
"onUpdate:locked"?: ((value: boolean) => any) | undefined;
|
|
50
50
|
}>, {
|
|
51
51
|
lang: CodeLang;
|
|
52
|
-
lineNumbers: boolean;
|
|
53
52
|
wrap: boolean;
|
|
53
|
+
lineNumbers: boolean;
|
|
54
54
|
locked: boolean;
|
|
55
55
|
lockToggle: boolean;
|
|
56
56
|
copyable: boolean;
|
|
@@ -82,8 +82,13 @@ type __VLS_Props = {
|
|
|
82
82
|
copyToast?: string | false;
|
|
83
83
|
};
|
|
84
84
|
declare var __VLS_56: {
|
|
85
|
-
color:
|
|
86
|
-
hsv:
|
|
85
|
+
color: string;
|
|
86
|
+
hsv: {
|
|
87
|
+
h: number;
|
|
88
|
+
s: number;
|
|
89
|
+
v: number;
|
|
90
|
+
a: number;
|
|
91
|
+
};
|
|
87
92
|
};
|
|
88
93
|
type __VLS_Slots = {} & {
|
|
89
94
|
default?: (props: typeof __VLS_56) => any;
|
|
@@ -98,10 +103,10 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
98
103
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
99
104
|
}>, {
|
|
100
105
|
size: "sm" | "md" | "lg";
|
|
101
|
-
modelValue: string;
|
|
102
106
|
format: ColorFormat;
|
|
103
|
-
side: "top" | "right" | "bottom" | "left";
|
|
104
107
|
align: "start" | "center" | "end";
|
|
108
|
+
modelValue: string;
|
|
109
|
+
side: "top" | "right" | "bottom" | "left";
|
|
105
110
|
alpha: boolean;
|
|
106
111
|
swatches: readonly string[];
|
|
107
112
|
recent: boolean;
|
|
@@ -71,16 +71,16 @@ declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
|
|
|
71
71
|
cause: "type" | "size";
|
|
72
72
|
}[]) => any) | undefined;
|
|
73
73
|
}>, {
|
|
74
|
-
icon: string;
|
|
75
|
-
hint: string;
|
|
76
74
|
title: string;
|
|
77
75
|
animate: boolean;
|
|
76
|
+
icon: string;
|
|
77
|
+
accept: string;
|
|
78
78
|
multiple: boolean;
|
|
79
|
+
hint: string;
|
|
79
80
|
tone: "sunken" | "flush" | "soft";
|
|
80
|
-
accept: string;
|
|
81
81
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
|
|
82
82
|
default?: (props: {
|
|
83
|
-
over:
|
|
83
|
+
over: boolean;
|
|
84
84
|
}) => any;
|
|
85
85
|
}>;
|
|
86
86
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -53,11 +53,11 @@ declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
|
|
|
53
53
|
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
54
54
|
expand: (node: FileNode) => any;
|
|
55
55
|
select: (node: FileNode) => any;
|
|
56
|
-
open: (node: FileNode) => any;
|
|
57
56
|
summary: (summary: FileTreeSummary) => any;
|
|
57
|
+
open: (node: FileNode) => any;
|
|
58
|
+
collapse: (node: FileNode) => any;
|
|
58
59
|
"update:selected": (id: string) => any;
|
|
59
60
|
"update:expanded": (ids: string[]) => any;
|
|
60
|
-
collapse: (node: FileNode) => any;
|
|
61
61
|
"update:checked": (ids: string[]) => any;
|
|
62
62
|
}, string, import('vue').PublicProps, Readonly<{
|
|
63
63
|
nodes: FileNode[];
|
|
@@ -92,11 +92,11 @@ declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
|
|
|
92
92
|
}> & Readonly<{
|
|
93
93
|
onExpand?: ((node: FileNode) => any) | undefined;
|
|
94
94
|
onSelect?: ((node: FileNode) => any) | undefined;
|
|
95
|
-
onOpen?: ((node: FileNode) => any) | undefined;
|
|
96
95
|
onSummary?: ((summary: FileTreeSummary) => any) | undefined;
|
|
96
|
+
onOpen?: ((node: FileNode) => any) | undefined;
|
|
97
|
+
onCollapse?: ((node: FileNode) => any) | undefined;
|
|
97
98
|
"onUpdate:selected"?: ((id: string) => any) | undefined;
|
|
98
99
|
"onUpdate:expanded"?: ((ids: string[]) => any) | undefined;
|
|
99
|
-
onCollapse?: ((node: FileNode) => any) | undefined;
|
|
100
100
|
"onUpdate:checked"?: ((ids: string[]) => any) | undefined;
|
|
101
101
|
}>, {
|
|
102
102
|
sort: boolean;
|
|
@@ -12,7 +12,7 @@ declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
|
|
|
12
12
|
required?: boolean;
|
|
13
13
|
}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
|
|
14
14
|
default?: (props: {
|
|
15
|
-
id:
|
|
15
|
+
id: string;
|
|
16
16
|
}) => any;
|
|
17
17
|
} & {
|
|
18
18
|
hint?: (props: {}) => any;
|
|
@@ -1,3 +1,14 @@
|
|
|
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
|
+
*/
|
|
1
12
|
export interface LaneNodeData {
|
|
2
13
|
label: string;
|
|
3
14
|
/** Optional accent colour token for the lane border + label. */
|
|
@@ -44,13 +44,13 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
44
44
|
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
45
45
|
"onUpdate:index"?: ((value: number) => any) | undefined;
|
|
46
46
|
}>, {
|
|
47
|
-
open: boolean;
|
|
48
47
|
loop: boolean;
|
|
48
|
+
open: boolean;
|
|
49
|
+
maxZoom: number;
|
|
49
50
|
index: number;
|
|
50
51
|
copyable: boolean;
|
|
51
52
|
rotatable: boolean;
|
|
52
53
|
downloadable: boolean;
|
|
53
|
-
maxZoom: number;
|
|
54
54
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
55
55
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
56
56
|
declare const _default: typeof __VLS_export;
|
|
@@ -141,9 +141,9 @@ declare const __VLS_export: import('vue').DefineComponent<{
|
|
|
141
141
|
"onReach-top"?: (() => any) | undefined;
|
|
142
142
|
}>, {
|
|
143
143
|
height: string;
|
|
144
|
+
wrap: boolean;
|
|
144
145
|
emptyLabel: string;
|
|
145
146
|
lineNumbers: boolean;
|
|
146
|
-
wrap: boolean;
|
|
147
147
|
showTime: boolean;
|
|
148
148
|
showLevel: boolean;
|
|
149
149
|
tail: boolean;
|
|
@@ -63,11 +63,11 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
|
63
63
|
lg?: number;
|
|
64
64
|
xl?: number;
|
|
65
65
|
};
|
|
66
|
+
gap: 0 | 0.5 | 1 | 1.5 | 2 | 3 | 4;
|
|
66
67
|
ariaLabel: string;
|
|
67
68
|
aspect: "square" | "video" | "auto";
|
|
68
69
|
rotatable: boolean;
|
|
69
70
|
downloadable: boolean;
|
|
70
|
-
gap: 0 | 0.5 | 1 | 1.5 | 2 | 3 | 4;
|
|
71
71
|
openable: boolean;
|
|
72
72
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
73
73
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { SidebarItem, SidebarSection } from './sidebar';
|
|
2
|
+
export type { SidebarItem, SidebarSection } from './sidebar';
|
|
3
|
+
type Breakpoint = "sm" | "md" | "lg" | "xl";
|
|
4
|
+
type __VLS_Props = {
|
|
5
|
+
open?: boolean;
|
|
6
|
+
/** Active section id (v-model). */
|
|
7
|
+
modelValue?: string;
|
|
8
|
+
/** Flat sections, or grouped ones — the shapes LpSidebar already takes. */
|
|
9
|
+
items?: SidebarItem[];
|
|
10
|
+
sections?: SidebarSection[];
|
|
11
|
+
title?: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Defaults wider than `LpModal`'s `md`: the rail comes out of the content's
|
|
15
|
+
* width, and at `md` what is left is too narrow to be worth splitting.
|
|
16
|
+
*/
|
|
17
|
+
size?: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full";
|
|
18
|
+
width?: string;
|
|
19
|
+
/** Width of the nav rail (any CSS length). */
|
|
20
|
+
navWidth?: string;
|
|
21
|
+
/** Put a filter above the nav — see LpSidebar's `searchable`. */
|
|
22
|
+
searchable?: boolean;
|
|
23
|
+
searchPlaceholder?: string;
|
|
24
|
+
/** Skeleton rows in place of the nav while the sections load. */
|
|
25
|
+
loading?: boolean;
|
|
26
|
+
/** Breakpoint below which the rail becomes a drawer. */
|
|
27
|
+
mobileBreakpoint?: Breakpoint;
|
|
28
|
+
/** Label for the button that opens that drawer. */
|
|
29
|
+
navLabel?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Let the body fill the height instead of scrolling itself. On by default,
|
|
32
|
+
* unlike a plain modal: the rail is only a full-height column if the two
|
|
33
|
+
* of them agree on a height to fill.
|
|
34
|
+
*/
|
|
35
|
+
fillBody?: boolean;
|
|
36
|
+
};
|
|
37
|
+
declare var __VLS_24: {}, __VLS_33: {}, __VLS_36: {
|
|
38
|
+
item: SidebarItem;
|
|
39
|
+
active: boolean;
|
|
40
|
+
}, __VLS_39: {}, __VLS_41: {}, __VLS_44: {};
|
|
41
|
+
type __VLS_Slots = {} & {
|
|
42
|
+
title?: (props: typeof __VLS_24) => any;
|
|
43
|
+
} & {
|
|
44
|
+
navHeader?: (props: typeof __VLS_33) => any;
|
|
45
|
+
} & {
|
|
46
|
+
navItem?: (props: typeof __VLS_36) => any;
|
|
47
|
+
} & {
|
|
48
|
+
navFooter?: (props: typeof __VLS_39) => any;
|
|
49
|
+
} & {
|
|
50
|
+
default?: (props: typeof __VLS_41) => any;
|
|
51
|
+
} & {
|
|
52
|
+
footer?: (props: typeof __VLS_44) => any;
|
|
53
|
+
};
|
|
54
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
55
|
+
"update:modelValue": (value: string) => any;
|
|
56
|
+
"update:open": (value: boolean) => any;
|
|
57
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
58
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
59
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
60
|
+
}>, {
|
|
61
|
+
size: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full";
|
|
62
|
+
fillBody: boolean;
|
|
63
|
+
mobileBreakpoint: Breakpoint;
|
|
64
|
+
navWidth: string;
|
|
65
|
+
navLabel: string;
|
|
66
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
67
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
68
|
+
declare const _default: typeof __VLS_export;
|
|
69
|
+
export default _default;
|
|
70
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
71
|
+
new (): {
|
|
72
|
+
$slots: S;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
@@ -152,8 +152,8 @@ declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
|
|
|
152
152
|
}>, {
|
|
153
153
|
size: number;
|
|
154
154
|
type: "pie" | "donut";
|
|
155
|
-
duration: number;
|
|
156
155
|
animate: boolean;
|
|
156
|
+
duration: number;
|
|
157
157
|
emptyLabel: string;
|
|
158
158
|
innerRatio: number;
|
|
159
159
|
maxSlices: number;
|
|
@@ -166,9 +166,27 @@ declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
|
|
|
166
166
|
hoverOffset: number;
|
|
167
167
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
|
|
168
168
|
center?: (props: {
|
|
169
|
-
total:
|
|
170
|
-
active:
|
|
171
|
-
|
|
169
|
+
total: number;
|
|
170
|
+
active: {
|
|
171
|
+
d: string;
|
|
172
|
+
lift: string;
|
|
173
|
+
label: string;
|
|
174
|
+
value: number;
|
|
175
|
+
color: string;
|
|
176
|
+
fraction: number;
|
|
177
|
+
isOther: boolean;
|
|
178
|
+
count: number;
|
|
179
|
+
} | null;
|
|
180
|
+
selection: {
|
|
181
|
+
d: string;
|
|
182
|
+
lift: string;
|
|
183
|
+
label: string;
|
|
184
|
+
value: number;
|
|
185
|
+
color: string;
|
|
186
|
+
fraction: number;
|
|
187
|
+
isOther: boolean;
|
|
188
|
+
count: number;
|
|
189
|
+
}[];
|
|
172
190
|
}) => any;
|
|
173
191
|
}>;
|
|
174
192
|
type __VLS_WithSlots<T, S> = T & {
|
|
@@ -20,9 +20,9 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_PublicProps, {}, {
|
|
|
20
20
|
}, string, import('vue').PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
21
21
|
"onUpdate:open"?: ((value: boolean | undefined) => any) | undefined;
|
|
22
22
|
}>, {
|
|
23
|
+
align: "start" | "center" | "end";
|
|
23
24
|
side: "top" | "right" | "bottom" | "left";
|
|
24
25
|
sideOffset: number;
|
|
25
|
-
align: "start" | "center" | "end";
|
|
26
26
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
27
27
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
28
28
|
declare const _default: typeof __VLS_export;
|
|
@@ -52,11 +52,11 @@ type __VLS_Props = {
|
|
|
52
52
|
};
|
|
53
53
|
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
54
54
|
size: number;
|
|
55
|
+
max: number;
|
|
55
56
|
value: number;
|
|
56
|
-
variant: "bar" | "ring";
|
|
57
57
|
duration: number;
|
|
58
|
+
variant: "bar" | "ring";
|
|
58
59
|
tone: "brand" | "action" | "danger" | "accent" | "auto";
|
|
59
|
-
max: number;
|
|
60
60
|
animateOnMount: boolean;
|
|
61
61
|
warnAt: number;
|
|
62
62
|
dangerAt: number;
|
|
@@ -12,16 +12,16 @@ type __VLS_Props = {
|
|
|
12
12
|
align?: "start" | "center" | "end";
|
|
13
13
|
};
|
|
14
14
|
declare var __VLS_7: {
|
|
15
|
-
value:
|
|
15
|
+
value: string | number;
|
|
16
16
|
};
|
|
17
17
|
type __VLS_Slots = {} & {
|
|
18
18
|
default?: (props: typeof __VLS_7) => any;
|
|
19
19
|
};
|
|
20
20
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
21
|
+
mode: "slide" | "flip";
|
|
22
|
+
direction: "up" | "down";
|
|
21
23
|
align: "start" | "center" | "end";
|
|
22
24
|
duration: number;
|
|
23
|
-
direction: "up" | "down";
|
|
24
|
-
mode: "slide" | "flip";
|
|
25
25
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
26
26
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
27
27
|
declare const _default: typeof __VLS_export;
|
|
@@ -5,7 +5,7 @@ export interface SelectOption<V extends SelectValue = SelectValue> {
|
|
|
5
5
|
description?: string;
|
|
6
6
|
}
|
|
7
7
|
declare const __VLS_export: <V extends SelectValue = string>(__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<{
|
|
8
|
-
props: __VLS_PrettifyLocal<{
|
|
8
|
+
props: import('vue').PublicProps & __VLS_PrettifyLocal<{
|
|
9
9
|
modelValue?: V | V[] | undefined;
|
|
10
10
|
options: SelectOption<V>[];
|
|
11
11
|
placeholder?: string;
|
|
@@ -20,11 +20,11 @@ declare const __VLS_export: <V extends SelectValue = string>(__VLS_props: NonNul
|
|
|
20
20
|
loadingText?: string;
|
|
21
21
|
/** Trigger height, keyed to --size-control-*. Default "md". */
|
|
22
22
|
size?: "sm" | "md" | "lg";
|
|
23
|
-
} &
|
|
24
|
-
(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
}
|
|
23
|
+
} & {
|
|
24
|
+
onChange?: ((value: V) => any) | undefined;
|
|
25
|
+
"onUpdate:modelValue"?: ((value: V | V[] | undefined) => any) | undefined;
|
|
26
|
+
"onUpdate:searchTerm"?: ((value: string) => any) | undefined;
|
|
27
|
+
}> & (typeof globalThis extends {
|
|
28
28
|
__VLS_PROPS_FALLBACK: infer P;
|
|
29
29
|
} ? P : {});
|
|
30
30
|
expose: (exposed: {}) => void;
|