@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.
Files changed (45) hide show
  1. package/dist/assets/{LpTable-Ckoi05Am.css → LpTable-DfSwPCJ-.css} +21 -8
  2. package/dist/chunks/LpModalNav-B7W9VAne.js +142 -0
  3. package/dist/component-names.d.ts +1 -1
  4. package/dist/components/LpActionBar.vue.d.ts +1 -1
  5. package/dist/components/LpAddressInput.vue.d.ts +3 -3
  6. package/dist/components/LpAppShell.vue.d.ts +4 -1
  7. package/dist/components/LpAutocomplete.vue.d.ts +1 -1
  8. package/dist/components/LpBadge.vue.d.ts +2 -2
  9. package/dist/components/LpCodeBlock.vue.d.ts +1 -1
  10. package/dist/components/LpColorPicker.vue.d.ts +9 -4
  11. package/dist/components/LpDropzone.vue.d.ts +4 -4
  12. package/dist/components/LpFileTree.vue.d.ts +4 -4
  13. package/dist/components/LpFormField.vue.d.ts +1 -1
  14. package/dist/components/LpLaneNode.vue.d.ts +11 -0
  15. package/dist/components/LpLightbox.vue.d.ts +2 -2
  16. package/dist/components/LpLogViewer.vue.d.ts +1 -1
  17. package/dist/components/LpMapPicker.vue.d.ts +1 -1
  18. package/dist/components/LpMediaGallery.vue.d.ts +1 -1
  19. package/dist/components/LpModalNav.vue.d.ts +74 -0
  20. package/dist/components/LpModalNav.vue.js +4 -0
  21. package/dist/components/LpPie.vue.d.ts +22 -4
  22. package/dist/components/LpPopover.vue.d.ts +1 -1
  23. package/dist/components/LpProgress.vue.d.ts +2 -2
  24. package/dist/components/LpRollingText.vue.d.ts +3 -3
  25. package/dist/components/LpSelect.vue.d.ts +6 -6
  26. package/dist/components/LpShift.vue.d.ts +1 -1
  27. package/dist/components/LpShortcutsDialog.vue.d.ts +1 -1
  28. package/dist/components/LpSidebar.vue.d.ts +7 -1
  29. package/dist/components/LpSidebarNav.vue.d.ts +2 -2
  30. package/dist/components/LpSlider.vue.d.ts +2 -2
  31. package/dist/components/LpSparkline.vue.d.ts +2 -2
  32. package/dist/components/LpTable.vue.d.ts +9 -9
  33. package/dist/components/LpTable.vue.js +7 -4
  34. package/dist/components/LpTabs.vue.d.ts +1 -1
  35. package/dist/components/LpThemeSwitcher.vue.d.ts +1 -1
  36. package/dist/components/LpTilt.vue.d.ts +1 -1
  37. package/dist/components/LpTooltip.vue.d.ts +1 -1
  38. package/dist/components/LpTopologyCanvas.vue.d.ts +1 -1
  39. package/dist/index.d.ts +1 -0
  40. package/dist/index.js +72 -70
  41. package/package.json +1 -1
  42. package/src/component-names.ts +1 -0
  43. package/src/components/LpModalNav.vue +177 -0
  44. package/src/components/LpTable.vue +22 -2
  45. 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-d139c3bb],
15
- .lp-row-leave-active[data-v-d139c3bb] {
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-d139c3bb] {
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-d139c3bb],
24
- .lp-row-leave-to[data-v-d139c3bb] {
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-d139c3bb],
41
- .lp-row-leave-active[data-v-d139c3bb],
42
- .lp-row-move[data-v-d139c3bb] {
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: any;
62
- setPoint: any;
63
- tiles: any;
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: any) => any;
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?: "danger" | "action" | "outline" | "success" | "warning" | "neutral" | "brand" | undefined;
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?: "danger" | "action" | "outline" | "success" | "warning" | "neutral" | "brand" | undefined;
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: any;
86
- hsv: any;
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: any;
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: any;
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;
@@ -49,8 +49,8 @@ declare const __VLS_export: import('vue').DefineComponent<{
49
49
  }>, {
50
50
  center: LatLon;
51
51
  height: string;
52
- tiles: TileSource;
53
52
  zoom: number;
53
+ tiles: TileSource;
54
54
  locatable: boolean;
55
55
  zoomInLabel: string;
56
56
  zoomOutLabel: string;
@@ -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
+ };
@@ -0,0 +1,4 @@
1
+ import { _ as _sfc_main } from "../chunks/LpModalNav-B7W9VAne.js";
2
+ export {
3
+ _sfc_main as default
4
+ };
@@ -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: any;
170
- active: any;
171
- selection: any;
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: any;
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
- } & __VLS_EmitsToProps<__VLS_NormalizeEmits<{
24
- (e: "update:modelValue", value: V | V[] | undefined): void;
25
- (e: "change", value: V): void;
26
- (e: "update:searchTerm", value: string): void;
27
- }>>> & import('vue').PublicProps & (typeof globalThis extends {
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;
@@ -15,7 +15,7 @@ type __VLS_Props = {
15
15
  disabled?: boolean;
16
16
  };
17
17
  declare var __VLS_1: {
18
- resizing: any;
18
+ resizing: boolean;
19
19
  };
20
20
  type __VLS_Slots = {} & {
21
21
  default?: (props: typeof __VLS_1) => any;