@leavepulse/ui 0.43.2 → 0.43.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/component-names.d.ts +1 -0
  2. package/dist/components/LayoutCanvas.vue.d.ts +28 -0
  3. package/dist/components/LayoutNode.vue.d.ts +40 -0
  4. package/dist/components/LpActionBar.vue.d.ts +84 -0
  5. package/dist/components/LpAddressInput.vue.d.ts +70 -0
  6. package/dist/components/LpAlert.vue.d.ts +44 -0
  7. package/dist/components/LpAppShell.vue.d.ts +123 -0
  8. package/dist/components/LpAutocomplete.vue.d.ts +50 -0
  9. package/dist/components/LpAvatar.vue.d.ts +34 -0
  10. package/dist/components/LpBadge.vue.d.ts +20 -0
  11. package/dist/components/LpBreadcrumbs.vue.d.ts +32 -0
  12. package/dist/components/LpButton.vue.d.ts +113 -0
  13. package/dist/components/LpCalendar.vue.d.ts +29 -0
  14. package/dist/components/LpCard.vue.d.ts +60 -0
  15. package/dist/components/LpChart.vue.d.ts +130 -0
  16. package/dist/components/LpCheckbox.vue.d.ts +32 -0
  17. package/dist/components/LpCodeBlock.vue.d.ts +58 -0
  18. package/dist/components/LpColorPicker.vue.d.ts +124 -0
  19. package/dist/components/LpCommandPalette.vue.d.ts +206 -0
  20. package/dist/components/LpConfirmDialog.vue.d.ts +59 -0
  21. package/dist/components/LpContextMenu.vue.d.ts +44 -0
  22. package/dist/components/LpDatePicker.vue.d.ts +33 -0
  23. package/dist/components/LpDisclosure.vue.d.ts +47 -0
  24. package/dist/components/LpDivider.vue.d.ts +17 -0
  25. package/dist/components/LpDrawer.vue.d.ts +170 -0
  26. package/dist/components/LpDropdownMenu.vue.d.ts +23 -0
  27. package/dist/components/LpDropzone.vue.d.ts +90 -0
  28. package/dist/components/LpEmptyState.vue.d.ts +28 -0
  29. package/dist/components/LpFileTree.vue.d.ts +126 -0
  30. package/dist/components/LpFileTreeNode.vue.d.ts +62 -0
  31. package/dist/components/LpFormField.vue.d.ts +24 -0
  32. package/dist/components/LpIcon.vue.d.ts +9 -0
  33. package/dist/components/LpImageEditor.vue.d.ts +106 -0
  34. package/dist/components/LpInfraNode.vue.d.ts +65 -0
  35. package/dist/components/LpInput.vue.d.ts +80 -0
  36. package/dist/components/LpLaneNode.vue.d.ts +24 -0
  37. package/dist/components/LpLightbox.vue.d.ts +62 -0
  38. package/dist/components/LpLink.vue.d.ts +93 -0
  39. package/dist/components/LpLogViewer.vue.d.ts +153 -0
  40. package/dist/components/LpMapPicker.vue.d.ts +59 -0
  41. package/dist/components/LpMediaGallery.vue.d.ts +80 -0
  42. package/dist/components/LpModal.vue.d.ts +66 -0
  43. package/dist/components/LpModalNav.vue.d.ts +66 -0
  44. package/dist/components/LpNotificationBell.vue.d.ts +85 -0
  45. package/dist/components/LpNumberField.vue.d.ts +21 -0
  46. package/dist/components/LpNumberFlow.vue.d.ts +35 -0
  47. package/dist/components/LpOtpInput.vue.d.ts +39 -0
  48. package/dist/components/LpPagination.vue.d.ts +35 -0
  49. package/dist/components/LpPasswordInput.vue.d.ts +36 -0
  50. package/dist/components/LpPhoneInput.vue.d.ts +49 -0
  51. package/dist/components/LpPie.vue.d.ts +196 -0
  52. package/dist/components/LpPopover.vue.d.ts +34 -0
  53. package/dist/components/LpProgress.vue.d.ts +66 -0
  54. package/dist/components/LpRadio.vue.d.ts +18 -0
  55. package/dist/components/LpRadioGroup.vue.d.ts +26 -0
  56. package/dist/components/LpRollingText.vue.d.ts +33 -0
  57. package/dist/components/LpScrollArea.vue.d.ts +28 -0
  58. package/dist/components/LpSection.vue.d.ts +120 -0
  59. package/dist/components/LpSegmented.vue.d.ts +30 -0
  60. package/dist/components/LpSelect.vue.d.ts +47 -0
  61. package/dist/components/LpServiceNode.vue.d.ts +14 -0
  62. package/dist/components/LpShift.vue.d.ts +36 -0
  63. package/dist/components/LpShortcutsDialog.vue.d.ts +24 -0
  64. package/dist/components/LpSidebar.vue.d.ts +146 -0
  65. package/dist/components/LpSidebarNav.vue.d.ts +54 -0
  66. package/dist/components/LpSkeleton.vue.d.ts +16 -0
  67. package/dist/components/LpSlider.vue.d.ts +30 -0
  68. package/dist/components/LpSparkline.vue.d.ts +48 -0
  69. package/dist/components/LpStat.vue.d.ts +69 -0
  70. package/dist/components/LpStepper.vue.d.ts +36 -0
  71. package/dist/components/LpSwitch.vue.d.ts +42 -0
  72. package/dist/components/LpTable.vue.d.ts +124 -0
  73. package/dist/components/LpTableOfContents.vue.d.ts +19 -0
  74. package/dist/components/LpTabs.vue.d.ts +47 -0
  75. package/dist/components/LpTextarea.vue.d.ts +22 -0
  76. package/dist/components/LpThemeSwitcher.vue.d.ts +47 -0
  77. package/dist/components/LpTilt.vue.d.ts +31 -0
  78. package/dist/components/LpTimeField.vue.d.ts +24 -0
  79. package/dist/components/LpToaster.vue.d.ts +3 -0
  80. package/dist/components/LpTooltip.vue.d.ts +58 -0
  81. package/dist/components/LpTopologyCanvas.vue.d.ts +205 -0
  82. package/dist/components/LpUptimeBar.vue.d.ts +46 -0
  83. package/dist/components/LpWaypointEdge.vue.d.ts +33 -0
  84. package/dist/components/actionBar.d.ts +19 -0
  85. package/dist/components/address.d.ts +107 -0
  86. package/dist/components/chart.d.ts +180 -0
  87. package/dist/components/codeHighlight.d.ts +8 -0
  88. package/dist/components/color.d.ts +65 -0
  89. package/dist/components/commandSearch.d.ts +14 -0
  90. package/dist/components/countries-data.d.ts +2 -0
  91. package/dist/components/countries.d.ts +20 -0
  92. package/dist/components/dropdown.d.ts +29 -0
  93. package/dist/components/fileTree.d.ts +79 -0
  94. package/dist/components/lightbox.d.ts +24 -0
  95. package/dist/components/modalDepth.d.ts +11 -0
  96. package/dist/components/sidebar.d.ts +42 -0
  97. package/dist/composables/easing.d.ts +46 -0
  98. package/dist/composables/useAsyncTask.d.ts +18 -0
  99. package/dist/composables/useClipboard.d.ts +46 -0
  100. package/dist/composables/useFormDraft.d.ts +67 -0
  101. package/dist/composables/useGlass.d.ts +9 -0
  102. package/dist/composables/useHotkeys.d.ts +101 -0
  103. package/dist/composables/useInputFilter.d.ts +14 -0
  104. package/dist/composables/useMergedClass.d.ts +42 -0
  105. package/dist/composables/usePillTransition.d.ts +21 -0
  106. package/dist/composables/useReveal.d.ts +26 -0
  107. package/dist/composables/useRovingFocus.d.ts +49 -0
  108. package/dist/composables/useSettled.d.ts +26 -0
  109. package/dist/composables/useShift.d.ts +35 -0
  110. package/dist/composables/useTilt.d.ts +23 -0
  111. package/dist/composables/useToast.d.ts +41 -0
  112. package/dist/composables/useZoomPan.d.ts +58 -0
  113. package/dist/icons.d.ts +1 -0
  114. package/dist/index.d.ts +162 -0
  115. package/dist/layout/registry.d.ts +26 -0
  116. package/dist/layout/tree.d.ts +75 -0
  117. package/dist/layout/useLayout.d.ts +39 -0
  118. package/dist/theme/backdrop.d.ts +9 -0
  119. package/dist/theme/config.d.ts +16 -0
  120. package/dist/theme/define.d.ts +12 -0
  121. package/dist/theme/presets.d.ts +20 -0
  122. package/dist/theme/tokens.d.ts +75 -0
  123. package/dist/theme/useTheme.d.ts +46 -0
  124. package/package.json +2 -2
@@ -0,0 +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", "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", "LpTimeField", "LpToaster", "LpTooltip", "LpTopologyCanvas", "LpUptimeBar", "LpWaypointEdge"];
@@ -0,0 +1,28 @@
1
+ import { type Split } from "../layout/tree";
2
+ import type { BlockRegistry } from "../layout/registry";
3
+ type __VLS_Props = {
4
+ modelValue: Split;
5
+ edit?: boolean;
6
+ /** Catalogue mapping block ids to titles/icons for the tab bars. */
7
+ registry?: BlockRegistry;
8
+ };
9
+ type __VLS_Slots = {
10
+ block(props: {
11
+ block: string;
12
+ leafId: string;
13
+ edit: boolean;
14
+ }): unknown;
15
+ };
16
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
17
+ "update:modelValue": (value: Split) => any;
18
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
19
+ "onUpdate:modelValue"?: ((value: Split) => any) | undefined;
20
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
21
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
22
+ declare const _default: typeof __VLS_export;
23
+ export default _default;
24
+ type __VLS_WithSlots<T, S> = T & {
25
+ new (): {
26
+ $slots: S;
27
+ };
28
+ };
@@ -0,0 +1,40 @@
1
+ import type { LayoutNode, Side, Split } from "../layout/tree";
2
+ import type { BlockRegistry } from "../layout/registry";
3
+ type __VLS_Props = {
4
+ node: LayoutNode;
5
+ dragId: string | null;
6
+ edit: boolean;
7
+ registry?: BlockRegistry;
8
+ };
9
+ type __VLS_Slots = {
10
+ block(props: {
11
+ block: string;
12
+ leafId: string;
13
+ edit: boolean;
14
+ }): unknown;
15
+ };
16
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
17
+ dragstart: (id: string) => any;
18
+ dragend: () => any;
19
+ drop: (targetId: string, side: Side) => any;
20
+ "set-active": (leafId: string, index: number) => any;
21
+ "remove-block": (leafId: string, index: number) => any;
22
+ "reorder-tab": (leafId: string, from: number, to: number) => any;
23
+ resize: (parent: Split, index: number, deltaFraction: number) => any;
24
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
25
+ onDragstart?: ((id: string) => any) | undefined;
26
+ onDragend?: (() => any) | undefined;
27
+ onDrop?: ((targetId: string, side: Side) => any) | undefined;
28
+ "onSet-active"?: ((leafId: string, index: number) => any) | undefined;
29
+ "onRemove-block"?: ((leafId: string, index: number) => any) | undefined;
30
+ "onReorder-tab"?: ((leafId: string, from: number, to: number) => any) | undefined;
31
+ onResize?: ((parent: Split, index: number, deltaFraction: number) => any) | undefined;
32
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
33
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
34
+ declare const _default: typeof __VLS_export;
35
+ export default _default;
36
+ type __VLS_WithSlots<T, S> = T & {
37
+ new (): {
38
+ $slots: S;
39
+ };
40
+ };
@@ -0,0 +1,84 @@
1
+ export interface ActionBarAction {
2
+ label: string;
3
+ /** Leading icon (any name LpIcon takes). */
4
+ icon?: string;
5
+ /** Mirrors LpButton's variants; the default reads as the primary action. */
6
+ variant?: "solid" | "action" | "outline" | "soft" | "ghost" | "muted" | "light" | "danger";
7
+ disabled?: boolean;
8
+ /** Shows a spinner in place of the icon and blocks repeat clicks. */
9
+ loading?: boolean;
10
+ onClick?: () => void | Promise<void>;
11
+ }
12
+ type __VLS_Props = {
13
+ /** Shown or not (v-model:open, or a plain :open). */
14
+ open?: boolean;
15
+ /** Lead line — "You have unsaved changes". */
16
+ title?: string;
17
+ /** Second line, quieter. Long explanations belong here, not in the title. */
18
+ description?: string;
19
+ /** Leading icon. Omit for a bar that is purely text + buttons. */
20
+ icon?: string;
21
+ /**
22
+ * Buttons on the right, in reading order. The LAST one is the primary and
23
+ * gets the solid treatment unless it says otherwise — the confirming action
24
+ * sits closest to the edge the thumb and the eye finish on.
25
+ */
26
+ actions?: ActionBarAction[];
27
+ /** Adds a "✕" that emits `dismiss`. For notices, not for decisions. */
28
+ dismissible?: boolean;
29
+ /**
30
+ * Tone. `danger` for a destructive pending action; the default stays neutral
31
+ * because most of these bars are routine and a page edged in red for every
32
+ * unsaved field trains people to ignore red.
33
+ */
34
+ variant?: "default" | "danger";
35
+ /**
36
+ * How wide the bar runs.
37
+ *
38
+ * "contained" (the default) keeps it to the width of its own content, up to
39
+ * a cap, and centres it: a bar carrying six words and two buttons has no
40
+ * business spanning a 1920px display, and stretching it puts the buttons a
41
+ * screen away from the field you were editing.
42
+ *
43
+ * "full" spans the viewport edge to edge — for a cookie notice, which reads
44
+ * as part of the page frame rather than as a message about one thing on it.
45
+ * Its CONTENTS are still capped and centred, so the buttons stay beside the
46
+ * text instead of being flung to the far corner.
47
+ */
48
+ width?: "contained" | "full";
49
+ /**
50
+ * Cap for the bar (or, when `width="full"`, for the row inside it). Any CSS
51
+ * length. Defaults to a comfortable measure for a line of text and two or
52
+ * three buttons — wider for `full`, whose job is to span the page and whose
53
+ * contents therefore sit on the page's own measure, not a card's.
54
+ */
55
+ maxWidth?: string;
56
+ /** Accessible name for the landmark. Falls back to `title`. */
57
+ ariaLabel?: string;
58
+ };
59
+ declare var __VLS_18: {}, __VLS_20: {};
60
+ type __VLS_Slots = {} & {
61
+ default?: (props: typeof __VLS_18) => any;
62
+ } & {
63
+ actions?: (props: typeof __VLS_20) => any;
64
+ };
65
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
66
+ "update:open": (value: boolean) => any;
67
+ dismiss: () => any;
68
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
69
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
70
+ onDismiss?: (() => any) | undefined;
71
+ }>, {
72
+ width: "contained" | "full";
73
+ open: boolean;
74
+ variant: "default" | "danger";
75
+ actions: ActionBarAction[];
76
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
77
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
78
+ declare const _default: typeof __VLS_export;
79
+ export default _default;
80
+ type __VLS_WithSlots<T, S> = T & {
81
+ new (): {
82
+ $slots: S;
83
+ };
84
+ };
@@ -0,0 +1,70 @@
1
+ import { type AddressLabels, type AddressValue, type GeocodeProvider, type LatLon, type TileSource } from "./address";
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
4
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
5
+ /** The address. Bind with v-model. */
6
+ modelValue?: AddressValue;
7
+ /** Geocoder for suggestions and for the map's reverse lookup. */
8
+ provider?: GeocodeProvider;
9
+ /** Tile server handed to the built-in picker. */
10
+ tiles?: TileSource;
11
+ /** Restrict the country list (ISO2). Omit for every country. */
12
+ only?: string[];
13
+ /** Show the "apartment, suite" line. */
14
+ secondLine?: boolean;
15
+ /** Suggestions start after this many characters. */
16
+ minChars?: number;
17
+ /** Debounce before a suggestion request goes out. */
18
+ debounce?: number;
19
+ /** Accept-Language for the geocoder. */
20
+ language?: string;
21
+ disabled?: boolean;
22
+ size?: "sm" | "md" | "lg";
23
+ /** Hide the map button when picking a point makes no sense. */
24
+ hideMap?: boolean;
25
+ labels?: Partial<AddressLabels>;
26
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
27
+ "update:modelValue": (value: AddressValue) => any;
28
+ pick: (value: LatLon) => any;
29
+ }, string, import("vue").PublicProps, Readonly<{
30
+ /** The address. Bind with v-model. */
31
+ modelValue?: AddressValue;
32
+ /** Geocoder for suggestions and for the map's reverse lookup. */
33
+ provider?: GeocodeProvider;
34
+ /** Tile server handed to the built-in picker. */
35
+ tiles?: TileSource;
36
+ /** Restrict the country list (ISO2). Omit for every country. */
37
+ only?: string[];
38
+ /** Show the "apartment, suite" line. */
39
+ secondLine?: boolean;
40
+ /** Suggestions start after this many characters. */
41
+ minChars?: number;
42
+ /** Debounce before a suggestion request goes out. */
43
+ debounce?: number;
44
+ /** Accept-Language for the geocoder. */
45
+ language?: string;
46
+ disabled?: boolean;
47
+ size?: "sm" | "md" | "lg";
48
+ /** Hide the map button when picking a point makes no sense. */
49
+ hideMap?: boolean;
50
+ labels?: Partial<AddressLabels>;
51
+ }> & Readonly<{
52
+ "onUpdate:modelValue"?: ((value: AddressValue) => any) | undefined;
53
+ onPick?: ((value: LatLon) => any) | undefined;
54
+ }>, {
55
+ size: "sm" | "md" | "lg";
56
+ minChars: number;
57
+ tiles: TileSource;
58
+ debounce: number;
59
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
60
+ map?: (props: {
61
+ point: LatLon | undefined;
62
+ setPoint: (next: LatLon) => Promise<void>;
63
+ tiles: TileSource;
64
+ }) => any;
65
+ }>;
66
+ type __VLS_WithSlots<T, S> = T & {
67
+ new (): {
68
+ $slots: S;
69
+ };
70
+ };
@@ -0,0 +1,44 @@
1
+ import { type VariantProps } from "tailwind-variants";
2
+ declare const alert: import("tailwind-variants").TVReturnType<{
3
+ variant: {
4
+ info: string;
5
+ success: string;
6
+ warning: string;
7
+ danger: string;
8
+ };
9
+ }, undefined, string, {
10
+ variant: {
11
+ info: string;
12
+ success: string;
13
+ warning: string;
14
+ danger: string;
15
+ };
16
+ }, undefined, import("tailwind-variants").TVReturnType<{
17
+ variant: {
18
+ info: string;
19
+ success: string;
20
+ warning: string;
21
+ danger: string;
22
+ };
23
+ }, undefined, string, unknown, unknown, undefined>>;
24
+ type AlertVariants = VariantProps<typeof alert>;
25
+ type __VLS_Props = {
26
+ variant?: AlertVariants["variant"];
27
+ title?: string;
28
+ icon?: string;
29
+ };
30
+ declare var __VLS_6: {};
31
+ type __VLS_Slots = {} & {
32
+ default?: (props: typeof __VLS_6) => any;
33
+ };
34
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
35
+ variant: "info" | "danger" | "success" | "warning";
36
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
37
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
38
+ declare const _default: typeof __VLS_export;
39
+ export default _default;
40
+ type __VLS_WithSlots<T, S> = T & {
41
+ new (): {
42
+ $slots: S;
43
+ };
44
+ };
@@ -0,0 +1,123 @@
1
+ import type { SidebarItem, SidebarSection } from "./sidebar";
2
+ export type { SidebarItem, SidebarSection } from "./sidebar";
3
+ declare const _default: typeof __VLS_export;
4
+ export default _default;
5
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
6
+ /** Flat items, or sections for grouped nav. Forwarded to LpSidebar. */
7
+ items?: SidebarItem[];
8
+ sections?: SidebarSection[];
9
+ /** Folded nav groups (v-model:collapsed). Forwarded to LpSidebar. */
10
+ collapsed?: string[];
11
+ /** Fold long navs automatically; 0 disables. Forwarded to LpSidebar. */
12
+ autoCollapseAfter?: number;
13
+ /** Active item id (v-model) when not using a custom `isActive`. */
14
+ modelValue?: string;
15
+ /**
16
+ * The current route path. Enables the built-in prefix-match active test and
17
+ * the derived page title without the host wiring its own `isActive`. Pass
18
+ * `route.path`. Ignored when a custom `isActive` is provided.
19
+ */
20
+ path?: string;
21
+ /**
22
+ * Custom active test (router-driven nav). Overrides `path`/`modelValue`.
23
+ */
24
+ isActive?: (item: SidebarItem) => boolean;
25
+ /** Override the header title. Falls back to the active item's label. */
26
+ title?: string;
27
+ /** Mobile drawer open state (v-model:open). */
28
+ open?: boolean;
29
+ /** Tailwind breakpoint below which the rail becomes a drawer. */
30
+ mobileBreakpoint?: "sm" | "md" | "lg" | "xl";
31
+ /** Show the brand/header divider in the rail. */
32
+ divider?: boolean;
33
+ /** Max content width inside main (Tailwind class), or null to fill. */
34
+ contentClass?: string;
35
+ /**
36
+ * Full-bleed main: render the page slot directly into main with NO
37
+ * scroll-area wrapper and NO padding, so the page owns the whole region
38
+ * (for a canvas / map / graph that fills the viewport and pans internally).
39
+ */
40
+ fullBleed?: boolean;
41
+ /** Loading skeleton for the nav. */
42
+ loading?: boolean;
43
+ }, {
44
+ openDrawer: () => void;
45
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
46
+ select: (item: SidebarItem) => any;
47
+ "update:modelValue": (id: string) => any;
48
+ "update:open": (value: boolean) => any;
49
+ "update:collapsed": (keys: string[]) => any;
50
+ }, string, import("vue").PublicProps, Readonly<{
51
+ /** Flat items, or sections for grouped nav. Forwarded to LpSidebar. */
52
+ items?: SidebarItem[];
53
+ sections?: SidebarSection[];
54
+ /** Folded nav groups (v-model:collapsed). Forwarded to LpSidebar. */
55
+ collapsed?: string[];
56
+ /** Fold long navs automatically; 0 disables. Forwarded to LpSidebar. */
57
+ autoCollapseAfter?: number;
58
+ /** Active item id (v-model) when not using a custom `isActive`. */
59
+ modelValue?: string;
60
+ /**
61
+ * The current route path. Enables the built-in prefix-match active test and
62
+ * the derived page title without the host wiring its own `isActive`. Pass
63
+ * `route.path`. Ignored when a custom `isActive` is provided.
64
+ */
65
+ path?: string;
66
+ /**
67
+ * Custom active test (router-driven nav). Overrides `path`/`modelValue`.
68
+ */
69
+ isActive?: (item: SidebarItem) => boolean;
70
+ /** Override the header title. Falls back to the active item's label. */
71
+ title?: string;
72
+ /** Mobile drawer open state (v-model:open). */
73
+ open?: boolean;
74
+ /** Tailwind breakpoint below which the rail becomes a drawer. */
75
+ mobileBreakpoint?: "sm" | "md" | "lg" | "xl";
76
+ /** Show the brand/header divider in the rail. */
77
+ divider?: boolean;
78
+ /** Max content width inside main (Tailwind class), or null to fill. */
79
+ contentClass?: string;
80
+ /**
81
+ * Full-bleed main: render the page slot directly into main with NO
82
+ * scroll-area wrapper and NO padding, so the page owns the whole region
83
+ * (for a canvas / map / graph that fills the viewport and pans internally).
84
+ */
85
+ fullBleed?: boolean;
86
+ /** Loading skeleton for the nav. */
87
+ loading?: boolean;
88
+ }> & Readonly<{
89
+ onSelect?: ((item: SidebarItem) => any) | undefined;
90
+ "onUpdate:modelValue"?: ((id: string) => any) | undefined;
91
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
92
+ "onUpdate:collapsed"?: ((keys: string[]) => any) | undefined;
93
+ }>, {
94
+ contentClass: string;
95
+ mobileBreakpoint: "sm" | "md" | "lg" | "xl";
96
+ divider: boolean;
97
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
98
+ logo?: (props: {}) => any;
99
+ } & {
100
+ 'sidebar-actions'?: (props: {}) => any;
101
+ } & {
102
+ 'sidebar-footer'?: (props: {}) => any;
103
+ } & {
104
+ 'sidebar-item'?: (props: {
105
+ item: SidebarItem;
106
+ active: boolean;
107
+ }) => any;
108
+ } & {
109
+ 'header-title'?: (props: {}) => any;
110
+ } & {
111
+ 'header-actions'?: (props: {}) => any;
112
+ } & {
113
+ default?: (props: {}) => any;
114
+ } & {
115
+ default?: (props: {}) => any;
116
+ } & {
117
+ overlays?: (props: {}) => any;
118
+ }>;
119
+ type __VLS_WithSlots<T, S> = T & {
120
+ new (): {
121
+ $slots: S;
122
+ };
123
+ };
@@ -0,0 +1,50 @@
1
+ export interface AutocompleteOption {
2
+ value: string;
3
+ label?: string;
4
+ description?: string;
5
+ }
6
+ type __VLS_Props = {
7
+ /** The free text. This is the model — bind with v-model. */
8
+ modelValue?: string;
9
+ /** Suggestions. Strings or {value,label,description}. */
10
+ options?: (AutocompleteOption | string)[];
11
+ placeholder?: string;
12
+ disabled?: boolean;
13
+ clearable?: boolean;
14
+ size?: "sm" | "md" | "lg";
15
+ icon?: string;
16
+ invalid?: boolean;
17
+ emptyText?: string;
18
+ loading?: boolean;
19
+ loadingText?: string;
20
+ /**
21
+ * Filter suggestions client-side against the typed text. Off when the
22
+ * parent fetches matches itself (server-side) — then pass the already
23
+ * narrowed `options` and leave this false.
24
+ */
25
+ filter?: boolean;
26
+ /** Min chars before the list opens. 0 = open on focus. */
27
+ minChars?: number;
28
+ /** Validation RegExp/string for the whole value (see LpInput). */
29
+ pattern?: RegExp | string;
30
+ /** Allowed-character RegExp; hard-blocks other input (see LpInput). */
31
+ restrict?: RegExp;
32
+ };
33
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
34
+ select: (value: string) => any;
35
+ "update:modelValue": (value: string) => any;
36
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
37
+ onSelect?: ((value: string) => any) | undefined;
38
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
39
+ }>, {
40
+ filter: boolean;
41
+ size: "sm" | "md" | "lg";
42
+ placeholder: string;
43
+ loading: boolean;
44
+ clearable: boolean;
45
+ emptyText: string;
46
+ loadingText: string;
47
+ minChars: number;
48
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
49
+ declare const _default: typeof __VLS_export;
50
+ export default _default;
@@ -0,0 +1,34 @@
1
+ import { type ContextMenuItemDef } from "./LpContextMenu.vue";
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
4
+ declare const __VLS_export: import("vue").DefineComponent<{
5
+ src?: string;
6
+ alt?: string;
7
+ fallback?: string;
8
+ size?: "sm" | "md" | "lg" | "xs" | "xl" | undefined;
9
+ /** Explicit pixel size, wins over `size` — for avatars keyed to a layout. */
10
+ pixelSize?: number;
11
+ /** Silhouette: circle for people, soft/square for servers and projects. */
12
+ shape?: "circle" | "square" | "soft" | undefined;
13
+ /** Draws a hairline ring, for avatars laid over imagery or other avatars. */
14
+ ring?: boolean;
15
+ /** Right-click menu (e.g. account quick actions). Consumer-supplied. */
16
+ menuItems?: ContextMenuItemDef[];
17
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
18
+ src?: string;
19
+ alt?: string;
20
+ fallback?: string;
21
+ size?: "sm" | "md" | "lg" | "xs" | "xl" | undefined;
22
+ /** Explicit pixel size, wins over `size` — for avatars keyed to a layout. */
23
+ pixelSize?: number;
24
+ /** Silhouette: circle for people, soft/square for servers and projects. */
25
+ shape?: "circle" | "square" | "soft" | undefined;
26
+ /** Draws a hairline ring, for avatars laid over imagery or other avatars. */
27
+ ring?: boolean;
28
+ /** Right-click menu (e.g. account quick actions). Consumer-supplied. */
29
+ menuItems?: ContextMenuItemDef[];
30
+ }> & Readonly<{}>, {
31
+ size: "sm" | "md" | "lg" | "xs" | "xl";
32
+ shape: "circle" | "square" | "soft";
33
+ ring: boolean;
34
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,20 @@
1
+ declare const _default: typeof __VLS_export;
2
+ export default _default;
3
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
4
+ tone?: "action" | "outline" | "danger" | "success" | "warning" | "neutral" | "brand" | undefined;
5
+ /** `sm` is the one that does not disturb a text-sm line it sits on. */
6
+ size?: "sm" | "md" | "lg" | undefined;
7
+ dot?: boolean;
8
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
9
+ tone?: "action" | "outline" | "danger" | "success" | "warning" | "neutral" | "brand" | undefined;
10
+ /** `sm` is the one that does not disturb a text-sm line it sits on. */
11
+ size?: "sm" | "md" | "lg" | undefined;
12
+ dot?: boolean;
13
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
14
+ default?: (props: {}) => any;
15
+ }>;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -0,0 +1,32 @@
1
+ import type { Component } from "vue";
2
+ export interface Crumb {
3
+ label: string;
4
+ href?: string;
5
+ /** Destination for router links; passed straight to the `as` component. */
6
+ to?: string | Record<string, unknown>;
7
+ /** Leading icon, for crumbs that carry a glyph (a home root, a section). */
8
+ icon?: string;
9
+ }
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
12
+ declare const __VLS_export: import("vue").DefineComponent<{
13
+ items: Crumb[];
14
+ /**
15
+ * Root element/component for linked crumbs. Defaults to a native <a>;
16
+ * pass a router link component to keep client-side navigation.
17
+ */
18
+ as?: string | Component;
19
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
20
+ navigate: (item: Crumb, index: number) => any;
21
+ }, string, import("vue").PublicProps, Readonly<{
22
+ items: Crumb[];
23
+ /**
24
+ * Root element/component for linked crumbs. Defaults to a native <a>;
25
+ * pass a router link component to keep client-side navigation.
26
+ */
27
+ as?: string | Component;
28
+ }> & Readonly<{
29
+ onNavigate?: ((item: Crumb, index: number) => any) | undefined;
30
+ }>, {
31
+ as: string | Component;
32
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,113 @@
1
+ import { type VariantProps } from "tailwind-variants";
2
+ import { type Component } from "vue";
3
+ declare const button: import("tailwind-variants").TVReturnType<{
4
+ variant: {
5
+ solid: string;
6
+ action: string;
7
+ outline: string;
8
+ soft: string;
9
+ ghost: string;
10
+ muted: string;
11
+ light: string;
12
+ danger: string;
13
+ };
14
+ size: {
15
+ xs: string;
16
+ sm: string;
17
+ md: string;
18
+ lg: string;
19
+ };
20
+ block: {
21
+ true: string;
22
+ };
23
+ square: {
24
+ true: string;
25
+ };
26
+ glow: {
27
+ true: string;
28
+ };
29
+ }, undefined, string[], {
30
+ variant: {
31
+ solid: string;
32
+ action: string;
33
+ outline: string;
34
+ soft: string;
35
+ ghost: string;
36
+ muted: string;
37
+ light: string;
38
+ danger: string;
39
+ };
40
+ size: {
41
+ xs: string;
42
+ sm: string;
43
+ md: string;
44
+ lg: string;
45
+ };
46
+ block: {
47
+ true: string;
48
+ };
49
+ square: {
50
+ true: string;
51
+ };
52
+ glow: {
53
+ true: string;
54
+ };
55
+ }, undefined, import("tailwind-variants").TVReturnType<{
56
+ variant: {
57
+ solid: string;
58
+ action: string;
59
+ outline: string;
60
+ soft: string;
61
+ ghost: string;
62
+ muted: string;
63
+ light: string;
64
+ danger: string;
65
+ };
66
+ size: {
67
+ xs: string;
68
+ sm: string;
69
+ md: string;
70
+ lg: string;
71
+ };
72
+ block: {
73
+ true: string;
74
+ };
75
+ square: {
76
+ true: string;
77
+ };
78
+ glow: {
79
+ true: string;
80
+ };
81
+ }, undefined, string[], unknown, unknown, undefined>>;
82
+ type ButtonVariants = VariantProps<typeof button>;
83
+ type __VLS_Props = {
84
+ variant?: ButtonVariants["variant"];
85
+ size?: ButtonVariants["size"];
86
+ block?: boolean;
87
+ square?: boolean;
88
+ glow?: boolean;
89
+ /**
90
+ * Root element/component. Defaults to a native <button>. Pass a router link
91
+ * component (e.g. NuxtLink) or "a" to render a link-styled button; the kit
92
+ * stays DOM-agnostic, the consumer supplies the link component.
93
+ */
94
+ as?: string | Component;
95
+ type?: "button" | "submit" | "reset";
96
+ disabled?: boolean;
97
+ };
98
+ declare var __VLS_8: {};
99
+ type __VLS_Slots = {} & {
100
+ default?: (props: typeof __VLS_8) => any;
101
+ };
102
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
103
+ type: "button" | "submit" | "reset";
104
+ as: string | Component;
105
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
106
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
107
+ declare const _default: typeof __VLS_export;
108
+ export default _default;
109
+ type __VLS_WithSlots<T, S> = T & {
110
+ new (): {
111
+ $slots: S;
112
+ };
113
+ };