@leavepulse/ui 0.42.0 → 0.43.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 (155) hide show
  1. package/dist/assets/{LpCommandPalette-Esv0a-gS.css → LpCommandPalette-s_kKuCRf.css} +21 -21
  2. package/dist/chunks/{LpAddressInput-CMjaPQVw.js → LpAddressInput-B-Zvxsn7.js} +1 -1
  3. package/dist/chunks/{LpAppShell-Bcv6EhqU.js → LpAppShell-BGQVIY-3.js} +1 -1
  4. package/dist/chunks/{LpConfirmDialog-BNAvOR24.js → LpConfirmDialog-Q-bxff8z.js} +1 -1
  5. package/dist/chunks/{LpDrawer-DgaS2s2i.js → LpDrawer-BZ6k3hvo.js} +3 -3
  6. package/dist/chunks/{LpLightbox-oLqyjOln.js → LpLightbox-2sYVMY-S.js} +12 -4
  7. package/dist/chunks/{LpMediaGallery-Cid7PGYx.js → LpMediaGallery-FF-NquIo.js} +1 -1
  8. package/dist/chunks/{LpModal-8bja5bWS.js → LpModal-Bt0pQCI_.js} +2 -2
  9. package/dist/chunks/{LpModalNav-w9kfwHqO.js → LpModalNav-YaifHrXC.js} +2 -2
  10. package/dist/chunks/{LpSidebar-DlTn5nXc.js → LpSidebar-ClBUwoEz.js} +1 -1
  11. package/dist/components/LpAddressInput.vue.js +1 -1
  12. package/dist/components/LpAppShell.vue.js +1 -1
  13. package/dist/components/LpCommandPalette.vue.js +19 -72
  14. package/dist/components/LpConfirmDialog.vue.js +1 -1
  15. package/dist/components/LpDrawer.vue.js +1 -1
  16. package/dist/components/LpLightbox.vue.js +1 -1
  17. package/dist/components/LpMediaGallery.vue.js +1 -1
  18. package/dist/components/LpModal.vue.js +1 -1
  19. package/dist/components/LpModalNav.vue.js +1 -1
  20. package/dist/components/LpShortcutsDialog.vue.js +1 -1
  21. package/dist/components/LpSidebar.vue.js +1 -1
  22. package/dist/components/commandSearch.js +66 -0
  23. package/dist/components/modalDepth.js +3 -2
  24. package/dist/index.js +13 -9
  25. package/package.json +3 -3
  26. package/src/components/LpCommandPalette.vue +18 -110
  27. package/src/components/LpDrawer.vue +3 -3
  28. package/src/components/LpLightbox.vue +11 -5
  29. package/src/components/LpModal.vue +2 -2
  30. package/src/components/commandSearch.ts +92 -0
  31. package/src/components/modalDepth.ts +4 -48
  32. package/src/index.ts +2 -0
  33. package/src/tokens/tokens.css +13 -19
  34. package/dist/component-names.d.ts +0 -1
  35. package/dist/components/LayoutCanvas.vue.d.ts +0 -28
  36. package/dist/components/LayoutNode.vue.d.ts +0 -40
  37. package/dist/components/LpActionBar.vue.d.ts +0 -84
  38. package/dist/components/LpAddressInput.vue.d.ts +0 -70
  39. package/dist/components/LpAlert.vue.d.ts +0 -44
  40. package/dist/components/LpAppShell.vue.d.ts +0 -123
  41. package/dist/components/LpAutocomplete.vue.d.ts +0 -50
  42. package/dist/components/LpAvatar.vue.d.ts +0 -34
  43. package/dist/components/LpBadge.vue.d.ts +0 -20
  44. package/dist/components/LpBreadcrumbs.vue.d.ts +0 -32
  45. package/dist/components/LpButton.vue.d.ts +0 -113
  46. package/dist/components/LpCalendar.vue.d.ts +0 -29
  47. package/dist/components/LpCard.vue.d.ts +0 -60
  48. package/dist/components/LpChart.vue.d.ts +0 -130
  49. package/dist/components/LpCheckbox.vue.d.ts +0 -32
  50. package/dist/components/LpCodeBlock.vue.d.ts +0 -58
  51. package/dist/components/LpColorPicker.vue.d.ts +0 -124
  52. package/dist/components/LpCommandPalette.vue.d.ts +0 -206
  53. package/dist/components/LpConfirmDialog.vue.d.ts +0 -59
  54. package/dist/components/LpContextMenu.vue.d.ts +0 -44
  55. package/dist/components/LpDatePicker.vue.d.ts +0 -33
  56. package/dist/components/LpDisclosure.vue.d.ts +0 -47
  57. package/dist/components/LpDivider.vue.d.ts +0 -17
  58. package/dist/components/LpDrawer.vue.d.ts +0 -170
  59. package/dist/components/LpDropdownMenu.vue.d.ts +0 -23
  60. package/dist/components/LpDropzone.vue.d.ts +0 -90
  61. package/dist/components/LpEmptyState.vue.d.ts +0 -28
  62. package/dist/components/LpFileTree.vue.d.ts +0 -126
  63. package/dist/components/LpFileTreeNode.vue.d.ts +0 -62
  64. package/dist/components/LpFormField.vue.d.ts +0 -24
  65. package/dist/components/LpIcon.vue.d.ts +0 -8
  66. package/dist/components/LpImageEditor.vue.d.ts +0 -106
  67. package/dist/components/LpInfraNode.vue.d.ts +0 -65
  68. package/dist/components/LpInput.vue.d.ts +0 -80
  69. package/dist/components/LpLaneNode.vue.d.ts +0 -24
  70. package/dist/components/LpLightbox.vue.d.ts +0 -62
  71. package/dist/components/LpLink.vue.d.ts +0 -93
  72. package/dist/components/LpLogViewer.vue.d.ts +0 -153
  73. package/dist/components/LpMapPicker.vue.d.ts +0 -59
  74. package/dist/components/LpMediaGallery.vue.d.ts +0 -80
  75. package/dist/components/LpModal.vue.d.ts +0 -66
  76. package/dist/components/LpModalNav.vue.d.ts +0 -66
  77. package/dist/components/LpNotificationBell.vue.d.ts +0 -85
  78. package/dist/components/LpNumberField.vue.d.ts +0 -21
  79. package/dist/components/LpNumberFlow.vue.d.ts +0 -35
  80. package/dist/components/LpOtpInput.vue.d.ts +0 -39
  81. package/dist/components/LpPagination.vue.d.ts +0 -35
  82. package/dist/components/LpPasswordInput.vue.d.ts +0 -36
  83. package/dist/components/LpPhoneInput.vue.d.ts +0 -49
  84. package/dist/components/LpPie.vue.d.ts +0 -196
  85. package/dist/components/LpPopover.vue.d.ts +0 -34
  86. package/dist/components/LpProgress.vue.d.ts +0 -66
  87. package/dist/components/LpRadio.vue.d.ts +0 -18
  88. package/dist/components/LpRadioGroup.vue.d.ts +0 -26
  89. package/dist/components/LpRollingText.vue.d.ts +0 -33
  90. package/dist/components/LpScrollArea.vue.d.ts +0 -28
  91. package/dist/components/LpSection.vue.d.ts +0 -120
  92. package/dist/components/LpSegmented.vue.d.ts +0 -30
  93. package/dist/components/LpSelect.vue.d.ts +0 -47
  94. package/dist/components/LpServiceNode.vue.d.ts +0 -14
  95. package/dist/components/LpShift.vue.d.ts +0 -36
  96. package/dist/components/LpShortcutsDialog.vue.d.ts +0 -24
  97. package/dist/components/LpSidebar.vue.d.ts +0 -146
  98. package/dist/components/LpSidebarNav.vue.d.ts +0 -54
  99. package/dist/components/LpSkeleton.vue.d.ts +0 -16
  100. package/dist/components/LpSlider.vue.d.ts +0 -30
  101. package/dist/components/LpSparkline.vue.d.ts +0 -48
  102. package/dist/components/LpStat.vue.d.ts +0 -69
  103. package/dist/components/LpStepper.vue.d.ts +0 -36
  104. package/dist/components/LpSwitch.vue.d.ts +0 -42
  105. package/dist/components/LpTable.vue.d.ts +0 -124
  106. package/dist/components/LpTableOfContents.vue.d.ts +0 -19
  107. package/dist/components/LpTabs.vue.d.ts +0 -47
  108. package/dist/components/LpTextarea.vue.d.ts +0 -22
  109. package/dist/components/LpThemeSwitcher.vue.d.ts +0 -47
  110. package/dist/components/LpTilt.vue.d.ts +0 -31
  111. package/dist/components/LpTimeField.vue.d.ts +0 -24
  112. package/dist/components/LpToaster.vue.d.ts +0 -3
  113. package/dist/components/LpTooltip.vue.d.ts +0 -58
  114. package/dist/components/LpTopologyCanvas.vue.d.ts +0 -205
  115. package/dist/components/LpUptimeBar.vue.d.ts +0 -46
  116. package/dist/components/LpWaypointEdge.vue.d.ts +0 -21
  117. package/dist/components/actionBar.d.ts +0 -19
  118. package/dist/components/address.d.ts +0 -107
  119. package/dist/components/chart.d.ts +0 -180
  120. package/dist/components/codeHighlight.d.ts +0 -8
  121. package/dist/components/color.d.ts +0 -65
  122. package/dist/components/countries-data.d.ts +0 -2
  123. package/dist/components/countries.d.ts +0 -20
  124. package/dist/components/dropdown.d.ts +0 -29
  125. package/dist/components/fileTree.d.ts +0 -79
  126. package/dist/components/lightbox.d.ts +0 -24
  127. package/dist/components/modalDepth.d.ts +0 -15
  128. package/dist/components/sidebar.d.ts +0 -42
  129. package/dist/composables/easing.d.ts +0 -46
  130. package/dist/composables/useAsyncTask.d.ts +0 -18
  131. package/dist/composables/useClipboard.d.ts +0 -46
  132. package/dist/composables/useFormDraft.d.ts +0 -67
  133. package/dist/composables/useGlass.d.ts +0 -9
  134. package/dist/composables/useHotkeys.d.ts +0 -101
  135. package/dist/composables/useInputFilter.d.ts +0 -14
  136. package/dist/composables/useMergedClass.d.ts +0 -42
  137. package/dist/composables/usePillTransition.d.ts +0 -21
  138. package/dist/composables/useReveal.d.ts +0 -26
  139. package/dist/composables/useRovingFocus.d.ts +0 -49
  140. package/dist/composables/useSettled.d.ts +0 -26
  141. package/dist/composables/useShift.d.ts +0 -35
  142. package/dist/composables/useTilt.d.ts +0 -23
  143. package/dist/composables/useToast.d.ts +0 -41
  144. package/dist/composables/useZoomPan.d.ts +0 -58
  145. package/dist/icons.d.ts +0 -1
  146. package/dist/index.d.ts +0 -160
  147. package/dist/layout/registry.d.ts +0 -26
  148. package/dist/layout/tree.d.ts +0 -75
  149. package/dist/layout/useLayout.d.ts +0 -39
  150. package/dist/theme/backdrop.d.ts +0 -9
  151. package/dist/theme/config.d.ts +0 -16
  152. package/dist/theme/define.d.ts +0 -12
  153. package/dist/theme/presets.d.ts +0 -20
  154. package/dist/theme/tokens.d.ts +0 -75
  155. package/dist/theme/useTheme.d.ts +0 -46
@@ -1,146 +0,0 @@
1
- import { SidebarItem, SidebarSection } from './sidebar';
2
- export type { SidebarItem, SidebarSection } from './sidebar';
3
- type __VLS_Props = {
4
- /** Active item id (v-model). Ignored when `isActive` is provided. */
5
- modelValue?: string;
6
- /** Flat items, or sections for grouped nav. */
7
- items?: SidebarItem[];
8
- sections?: SidebarSection[];
9
- /**
10
- * Custom active test — for router-driven nav where "active" is a path-prefix
11
- * match (e.g. /billing vs /billing-details), not a simple id compare. When
12
- * given it overrides the modelValue check. The consumer owns the routing.
13
- */
14
- isActive?: (item: SidebarItem) => boolean;
15
- /**
16
- * Put a filter field above the nav. A hundred-item sidebar is not read, it
17
- * is searched: past a screenful, scanning costs more than typing, and every
18
- * app that has one had built the same LpInput into the #header slot.
19
- *
20
- * Filtering is on `label` (and any `keywords` on the item), case- and
21
- * accent-insensitive. Sections whose items all fail drop out rather than
22
- * leaving a run of empty headings, and a collapsed section opens while a
23
- * query is active — a hidden match is the same as no match.
24
- */
25
- searchable?: boolean;
26
- /** Placeholder for that field. */
27
- searchPlaceholder?: string;
28
- /** The query, when the app wants to own it (v-model:search). */
29
- search?: string;
30
- /** Show a skeleton placeholder instead of the items. */
31
- loading?: boolean;
32
- /** Skeleton row count while loading. */
33
- skeletonRows?: number;
34
- /** Render the user/header skeleton row too (paired with a #header avatar). */
35
- skeletonHeader?: boolean;
36
- /**
37
- * Collapse to a swipeable drawer on phones. Off by default so existing
38
- * static-rail usage is unchanged.
39
- */
40
- responsive?: boolean;
41
- /** Drawer open state on mobile (v-model:open). Only used when `responsive`. */
42
- open?: boolean;
43
- /** Tailwind breakpoint below which the drawer takes over. */
44
- mobileBreakpoint?: "sm" | "md" | "lg" | "xl";
45
- /** Let a pull from the left screen edge drag the mobile drawer open. */
46
- edgeOpen?: boolean;
47
- /**
48
- * Draw a hairline rule between the #header (logo) and the nav. On by
49
- * default — it visually anchors the brand above the items. Pass false for a
50
- * flush, header-less look.
51
- */
52
- divider?: boolean;
53
- /**
54
- * Where this nav lives.
55
- *
56
- * `rail` is the app shell's edge: one hairline on the inner side, square
57
- * corners, the raised shell background.
58
- *
59
- * `panel` is a nav that sits inside a page next to the content it drives —
60
- * a settings index, a table picker. It is a card: boxed on all four sides
61
- * and rounded. Without it the rail's single border reads as a stray line
62
- * down the middle of the page, and a consumer cannot cancel it with a class
63
- * of their own.
64
- */
65
- variant?: "rail" | "panel";
66
- /**
67
- * Rail width. A plain `class` cannot set it — the component's own `w-60`
68
- * wins, and the kit does not merge conflicting Tailwind classes — so the
69
- * width is a prop. Any CSS length; a page-embedded nav usually wants to
70
- * match the column it lives in.
71
- */
72
- width?: string;
73
- /**
74
- * Which collapsible groups are folded away (v-model:collapsed). Leave it
75
- * unbound to let the sidebar fold long navs on its own — see
76
- * `autoCollapseAfter`.
77
- */
78
- collapsed?: string[];
79
- /**
80
- * Fold collapsible groups automatically once the nav has more than this
81
- * many rows, counting headings and items alike.
82
- *
83
- * The reason is the reader, not the pixels: a short nav is taken in at a
84
- * glance, a long one has to be searched, and searching a list you did not
85
- * choose to have is the part that grates. Past the threshold the groups
86
- * that are not today's work fold themselves, and the one holding the
87
- * current page always stays open.
88
- *
89
- * 0 turns it off — the app then owns the state through `collapsed`.
90
- */
91
- autoCollapseAfter?: number;
92
- };
93
- declare var __VLS_1: {}, __VLS_18: {
94
- item: SidebarItem;
95
- active: boolean;
96
- }, __VLS_20: {}, __VLS_22: {}, __VLS_32: {}, __VLS_49: {
97
- item: SidebarItem;
98
- active: boolean;
99
- }, __VLS_51: {}, __VLS_53: {};
100
- type __VLS_Slots = {} & {
101
- header?: (props: typeof __VLS_1) => any;
102
- } & {
103
- item?: (props: typeof __VLS_18) => any;
104
- } & {
105
- actions?: (props: typeof __VLS_20) => any;
106
- } & {
107
- footer?: (props: typeof __VLS_22) => any;
108
- } & {
109
- header?: (props: typeof __VLS_32) => any;
110
- } & {
111
- item?: (props: typeof __VLS_49) => any;
112
- } & {
113
- actions?: (props: typeof __VLS_51) => any;
114
- } & {
115
- footer?: (props: typeof __VLS_53) => any;
116
- };
117
- declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
118
- select: (item: SidebarItem) => any;
119
- "update:modelValue": (id: string) => any;
120
- "update:open": (value: boolean) => any;
121
- "update:collapsed": (keys: string[]) => any;
122
- "update:search": (value: string) => any;
123
- }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
124
- onSelect?: ((item: SidebarItem) => any) | undefined;
125
- "onUpdate:modelValue"?: ((id: string) => any) | undefined;
126
- "onUpdate:open"?: ((value: boolean) => any) | undefined;
127
- "onUpdate:collapsed"?: ((keys: string[]) => any) | undefined;
128
- "onUpdate:search"?: ((value: string) => any) | undefined;
129
- }>, {
130
- variant: "rail" | "panel";
131
- searchPlaceholder: string;
132
- skeletonRows: number;
133
- skeletonHeader: boolean;
134
- responsive: boolean;
135
- mobileBreakpoint: "sm" | "md" | "lg" | "xl";
136
- divider: boolean;
137
- autoCollapseAfter: number;
138
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
139
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
140
- declare const _default: typeof __VLS_export;
141
- export default _default;
142
- type __VLS_WithSlots<T, S> = T & {
143
- new (): {
144
- $slots: S;
145
- };
146
- };
@@ -1,54 +0,0 @@
1
- import { SidebarItem, SidebarSection } from './sidebar';
2
- declare const _default: typeof __VLS_export;
3
- export default _default;
4
- declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
5
- /** Normalised section list (LpSidebar collapses items/sections into this). */
6
- groups: SidebarSection[];
7
- /** Shared layoutId so the active pill flies between desktop/drawer renders. */
8
- pillId: string;
9
- itemActive: (item: SidebarItem) => boolean;
10
- loading?: boolean;
11
- skeletonRows?: number;
12
- skeletonHeader?: boolean;
13
- /**
14
- * Keys of the groups currently folded away. The owner holds this so the
15
- * choice can outlive the component (a setting, a stored preference) — the
16
- * nav itself only reports the intent to change it.
17
- */
18
- collapsedKeys?: string[];
19
- }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
20
- "toggle-section": (key: string, collapsed: boolean) => any;
21
- activate: (item: SidebarItem) => any;
22
- }, string, import('vue').PublicProps, Readonly<{
23
- /** Normalised section list (LpSidebar collapses items/sections into this). */
24
- groups: SidebarSection[];
25
- /** Shared layoutId so the active pill flies between desktop/drawer renders. */
26
- pillId: string;
27
- itemActive: (item: SidebarItem) => boolean;
28
- loading?: boolean;
29
- skeletonRows?: number;
30
- skeletonHeader?: boolean;
31
- /**
32
- * Keys of the groups currently folded away. The owner holds this so the
33
- * choice can outlive the component (a setting, a stored preference) — the
34
- * nav itself only reports the intent to change it.
35
- */
36
- collapsedKeys?: string[];
37
- }> & Readonly<{
38
- "onToggle-section"?: ((key: string, collapsed: boolean) => any) | undefined;
39
- onActivate?: ((item: SidebarItem) => any) | undefined;
40
- }>, {
41
- skeletonRows: number;
42
- skeletonHeader: boolean;
43
- collapsedKeys: string[];
44
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
45
- item?: (props: {
46
- item: SidebarItem;
47
- active: boolean;
48
- }) => any;
49
- }>;
50
- type __VLS_WithSlots<T, S> = T & {
51
- new (): {
52
- $slots: S;
53
- };
54
- };
@@ -1,16 +0,0 @@
1
- type __VLS_Props = {
2
- rounded?: "control" | "card" | "pill";
3
- };
4
- declare var __VLS_1: {};
5
- type __VLS_Slots = {} & {
6
- default?: (props: typeof __VLS_1) => any;
7
- };
8
- declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
9
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
10
- declare const _default: typeof __VLS_export;
11
- export default _default;
12
- type __VLS_WithSlots<T, S> = T & {
13
- new (): {
14
- $slots: S;
15
- };
16
- };
@@ -1,30 +0,0 @@
1
- declare const _default: typeof __VLS_export;
2
- export default _default;
3
- declare const __VLS_export: import('vue').DefineComponent<{
4
- modelValue?: number;
5
- min?: number;
6
- max?: number;
7
- step?: number;
8
- disabled?: boolean;
9
- /** Accessible name for the thumb when there's no visible label. */
10
- ariaLabel?: string;
11
- }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
12
- change: (value: number) => any;
13
- "update:modelValue": (value: number) => any;
14
- }, string, import('vue').PublicProps, Readonly<{
15
- modelValue?: number;
16
- min?: number;
17
- max?: number;
18
- step?: number;
19
- disabled?: boolean;
20
- /** Accessible name for the thumb when there's no visible label. */
21
- ariaLabel?: string;
22
- }> & Readonly<{
23
- onChange?: ((value: number) => any) | undefined;
24
- "onUpdate:modelValue"?: ((value: number) => any) | undefined;
25
- }>, {
26
- max: number;
27
- min: number;
28
- step: number;
29
- modelValue: number;
30
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -1,48 +0,0 @@
1
- type __VLS_Props = {
2
- /** Oldest → newest. `null` breaks the line, as in LpChart. */
3
- data: (number | null)[];
4
- /** Rendered size in px. The path scales to it; stroke width does not. */
5
- width?: number;
6
- height?: number;
7
- /** Any CSS colour. Defaults to the brand token. */
8
- color?: string;
9
- /** Named theme tones, for callers that don't want to spell a var(). */
10
- tone?: "brand" | "action" | "danger" | "accent" | "muted";
11
- /** Fill under the line. */
12
- area?: boolean;
13
- /** Curve tension, as in LpChart. 0 draws a polyline. */
14
- smooth?: number;
15
- /** Dot on the final point — "you are here" on a trend. */
16
- showLast?: boolean;
17
- /**
18
- * Pin the vertical range instead of fitting the data. Without it a flat
19
- * series fills the box with noise, and two sparklines in one column can't
20
- * be compared: each would be scaled to its own extremes.
21
- */
22
- min?: number;
23
- max?: number;
24
- /** Accessible description; falls back to a direction + latest value. */
25
- ariaLabel?: string;
26
- /**
27
- * Draw the line on from oldest to newest when it first appears. Turn it off
28
- * for a table that renders many at once — dozens of simultaneous sweeps
29
- * read as flicker.
30
- */
31
- animate?: boolean;
32
- /**
33
- * Draw time in ms. The stroke travels at a near-even rate (see
34
- * `--ease-travel`), so this is roughly how long the line is actually
35
- * watched being drawn — not a figure mostly spent easing out.
36
- */
37
- duration?: number;
38
- };
39
- declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
40
- width: number;
41
- height: number;
42
- animate: boolean;
43
- duration: number;
44
- smooth: number;
45
- tone: "brand" | "action" | "danger" | "accent" | "muted";
46
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
47
- declare const _default: typeof __VLS_export;
48
- export default _default;
@@ -1,69 +0,0 @@
1
- declare const _default: typeof __VLS_export;
2
- export default _default;
3
- declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
4
- label: string;
5
- /**
6
- * A string is printed as given; a NUMBER counts to its new value on
7
- * LpNumberFlow's digit wheels. A tile on a live dashboard is the one place
8
- * a figure changes while somebody is looking at it, and a value that cuts
9
- * from 41 to 43 says nothing about which way it moved.
10
- */
11
- value: string | number;
12
- /** Formatting for a numeric `value` — see LpNumberFlow. */
13
- compact?: boolean;
14
- grouped?: boolean;
15
- decimals?: number;
16
- prefix?: string;
17
- valueSuffix?: string;
18
- hint?: string;
19
- icon?: string;
20
- online?: boolean;
21
- /** Change vs. a previous period. Renders a coloured arrow + this text. A
22
- * number is shown with a sign; a string is shown verbatim (e.g. "+12%"). */
23
- delta?: number | string;
24
- /** Appended to a numeric delta, e.g. "%". Ignored for string deltas. */
25
- deltaSuffix?: string;
26
- /** Trend direction. "auto" derives it from a numeric delta's sign. */
27
- trend?: "auto" | "up" | "down" | "flat";
28
- /** For metrics where down is good (latency, errors): swaps the colours so a
29
- * downward trend reads as positive (action) and upward as danger. */
30
- invertTrend?: boolean;
31
- }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
32
- label: string;
33
- /**
34
- * A string is printed as given; a NUMBER counts to its new value on
35
- * LpNumberFlow's digit wheels. A tile on a live dashboard is the one place
36
- * a figure changes while somebody is looking at it, and a value that cuts
37
- * from 41 to 43 says nothing about which way it moved.
38
- */
39
- value: string | number;
40
- /** Formatting for a numeric `value` — see LpNumberFlow. */
41
- compact?: boolean;
42
- grouped?: boolean;
43
- decimals?: number;
44
- prefix?: string;
45
- valueSuffix?: string;
46
- hint?: string;
47
- icon?: string;
48
- online?: boolean;
49
- /** Change vs. a previous period. Renders a coloured arrow + this text. A
50
- * number is shown with a sign; a string is shown verbatim (e.g. "+12%"). */
51
- delta?: number | string;
52
- /** Appended to a numeric delta, e.g. "%". Ignored for string deltas. */
53
- deltaSuffix?: string;
54
- /** Trend direction. "auto" derives it from a numeric delta's sign. */
55
- trend?: "auto" | "up" | "down" | "flat";
56
- /** For metrics where down is good (latency, errors): swaps the colours so a
57
- * downward trend reads as positive (action) and upward as danger. */
58
- invertTrend?: boolean;
59
- }> & Readonly<{}>, {
60
- decimals: number;
61
- trend: "auto" | "up" | "down" | "flat";
62
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
63
- trend?: (props: {}) => any;
64
- }>;
65
- type __VLS_WithSlots<T, S> = T & {
66
- new (): {
67
- $slots: S;
68
- };
69
- };
@@ -1,36 +0,0 @@
1
- export interface Step {
2
- label: string;
3
- /** Stable id, for flows whose steps are addressed by name rather than order. */
4
- key?: string;
5
- /** Replaces the step number while the step is pending or current. */
6
- icon?: string;
7
- }
8
- declare const _default: typeof __VLS_export;
9
- export default _default;
10
- declare const __VLS_export: import('vue').DefineComponent<{
11
- steps: Step[];
12
- /**
13
- * The active step: an index, or a step `key` for keyed flows.
14
- */
15
- current: number | string;
16
- /**
17
- * Which steps count as done. Omit it and everything before `current` is
18
- * complete, which is the linear case. Pass keys (or indices) when a flow can
19
- * finish steps out of order — a verification that succeeds before its
20
- * prerequisite is filled in, say.
21
- */
22
- completed?: Array<string | number>;
23
- }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
24
- steps: Step[];
25
- /**
26
- * The active step: an index, or a step `key` for keyed flows.
27
- */
28
- current: number | string;
29
- /**
30
- * Which steps count as done. Omit it and everything before `current` is
31
- * complete, which is the linear case. Pass keys (or indices) when a flow can
32
- * finish steps out of order — a verification that succeeds before its
33
- * prerequisite is filled in, say.
34
- */
35
- completed?: Array<string | number>;
36
- }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
@@ -1,42 +0,0 @@
1
- declare const _default: typeof __VLS_export;
2
- export default _default;
3
- declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
4
- modelValue?: boolean;
5
- disabled?: boolean;
6
- label?: string;
7
- /** Secondary line under the label. */
8
- description?: string;
9
- /**
10
- * Where the text sits. `end` (default) reads like LpCheckbox: switch, then
11
- * text. `start` is the settings-row shape: text on the left, the switch
12
- * pushed to the right edge of the row.
13
- */
14
- labelPosition?: "start" | "end";
15
- }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
16
- "update:modelValue": (value: boolean) => any;
17
- }, string, import('vue').PublicProps, Readonly<{
18
- modelValue?: boolean;
19
- disabled?: boolean;
20
- label?: string;
21
- /** Secondary line under the label. */
22
- description?: string;
23
- /**
24
- * Where the text sits. `end` (default) reads like LpCheckbox: switch, then
25
- * text. `start` is the settings-row shape: text on the left, the switch
26
- * pushed to the right edge of the row.
27
- */
28
- labelPosition?: "start" | "end";
29
- }> & Readonly<{
30
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
31
- }>, {
32
- labelPosition: "start" | "end";
33
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
34
- default?: (props: {}) => any;
35
- } & {
36
- default?: (props: {}) => any;
37
- }>;
38
- type __VLS_WithSlots<T, S> = T & {
39
- new (): {
40
- $slots: S;
41
- };
42
- };
@@ -1,124 +0,0 @@
1
- import { ContextMenuItemDef } from './LpContextMenu.vue';
2
- export interface TableColumn<Row> {
3
- key: string;
4
- label: string;
5
- align?: "left" | "right" | "center";
6
- width?: string;
7
- /** Allow clicking the header to sort by this column. */
8
- sortable?: boolean;
9
- /**
10
- * Offer "show only these values" in the header's menu, built from the values
11
- * actually present in the rows. For a column that holds a small vocabulary —
12
- * a type, a state, a site — where the question is "just the mains leads,
13
- * please". Pointless on a column of unique values, so it is opt-in.
14
- */
15
- filterable?: boolean;
16
- /**
17
- * How a raw cell value reads in that filter list. `power_ac` is the stored
18
- * vocabulary; the menu should say what the column itself says.
19
- */
20
- valueLabel?: (value: unknown) => string;
21
- /** Keep this column out of the show/hide list — an actions column has no
22
- * name to offer and nothing to gain from being hidden. */
23
- alwaysVisible?: boolean;
24
- }
25
- export interface SortState {
26
- key: string;
27
- dir: "asc" | "desc";
28
- }
29
- /**
30
- * What a server-backed table asks for. `hidden` mirrors the header filter: the
31
- * values unticked per column, so a value the server has never sent before shows
32
- * up instead of being silently excluded.
33
- */
34
- export interface TableQuery {
35
- page: number;
36
- pageSize: number;
37
- sort: SortState | null;
38
- hidden: Record<string, unknown[]>;
39
- }
40
- /**
41
- * One page of a server-backed table. `facets` are the distinct values of the
42
- * filterable columns across the whole result — one page cannot know them, and a
43
- * filter built from twenty-five rows would offer whatever happened to be on it.
44
- */
45
- export interface TablePage<Row> {
46
- rows: Row[];
47
- total: number;
48
- facets?: Record<string, unknown[]>;
49
- }
50
- declare const _default: typeof __VLS_export;
51
- export default _default;
52
- declare const __VLS_export: <T extends Record<string, unknown>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
53
- props: import('vue').PublicProps & __VLS_PrettifyLocal<{
54
- columns: TableColumn<T>[];
55
- /** The rows, for a table that holds its data. Ignored when `load` is set. */
56
- rows?: T[];
57
- /**
58
- * Fetch the rows instead of being handed them: paging, sorting and the
59
- * header filters then happen on the server. Debounced and abortable, the
60
- * same way as the command palette's `search` — a stale page never lands
61
- * over a fresher one.
62
- */
63
- load?: (query: TableQuery, signal: AbortSignal) => TablePage<T> | Promise<TablePage<T>>;
64
- /** Rows per page with `load`. */
65
- pageSize?: number;
66
- /** Wait after a sort or filter change before `load` runs. */
67
- debounce?: number;
68
- loadingLabel?: string;
69
- errorLabel?: string;
70
- /** Stable id per row — required for selection; falls back to index otherwise. */
71
- rowKey?: keyof T | ((row: T) => string | number);
72
- emptyLabel?: string;
73
- emptyIcon?: string;
74
- /** Render a leading checkbox column; selection binds via v-model:selected. */
75
- selectable?: boolean;
76
- /** Selected row keys (v-model:selected). */
77
- selected?: (string | number)[];
78
- /** Active sort (v-model:sort). When set, the parent owns ordering (server
79
- * side); otherwise the table sorts its own rows client-side. */
80
- sort?: SortState | null;
81
- /** Pin the header while the body scrolls. Pair with a height on the wrapper. */
82
- stickyHeader?: boolean;
83
- /** Per-row right-click menu. Return [] (or omit the prop) to disable it for
84
- * a row; the row then keeps the browser's native context menu. */
85
- rowMenu?: (row: T) => ContextMenuItemDef[];
86
- /** Wording for the header's right-click menu. Passed in because the kit
87
- * carries no translations: an app that leaves these alone gets English. */
88
- sortAscLabel?: string;
89
- sortDescLabel?: string;
90
- sortClearLabel?: string;
91
- /** Wording for the value filter and the column chooser. */
92
- filterLabel?: string;
93
- showAllLabel?: string;
94
- columnsLabel?: string;
95
- } & {
96
- "onUpdate:selected"?: ((value: (string | number)[]) => any) | undefined;
97
- "onUpdate:sort"?: ((value: SortState | null) => any) | undefined;
98
- onRowClick?: ((row: T) => any) | undefined;
99
- }> & (typeof globalThis extends {
100
- __VLS_PROPS_FALLBACK: infer P;
101
- } ? P : {});
102
- expose: (exposed: import('vue').ShallowUnwrapRef<{
103
- reload: () => void;
104
- }>) => void;
105
- attrs: any;
106
- slots: {
107
- [x: `cell-${string}`]: ((props: {
108
- row: T;
109
- value: unknown;
110
- }) => any) | undefined;
111
- };
112
- emit: {
113
- (e: "update:selected", value: (string | number)[]): void;
114
- (e: "update:sort", value: SortState | null): void;
115
- (e: "rowClick", row: T): void;
116
- };
117
- }>) => import('vue').VNode & {
118
- __ctx?: Awaited<typeof __VLS_setup>;
119
- };
120
- type __VLS_PrettifyLocal<T> = (T extends any ? {
121
- [K in keyof T]: T[K];
122
- } : {
123
- [K in keyof T as K]: T[K];
124
- }) & {};
@@ -1,19 +0,0 @@
1
- export interface TocLink {
2
- id: string;
3
- text: string;
4
- depth?: number;
5
- children?: TocLink[];
6
- }
7
- type __VLS_Props = {
8
- links: TocLink[];
9
- /** Heading shown above the list. */
10
- title?: string;
11
- /** px offset from the top used as the scroll-spy trigger line. */
12
- offset?: number;
13
- };
14
- declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
15
- title: string;
16
- offset: number;
17
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
18
- declare const _default: typeof __VLS_export;
19
- export default _default;
@@ -1,47 +0,0 @@
1
- export interface TabItem {
2
- value: string;
3
- label: string;
4
- /** Optional iconify name (e.g. "lucide:palette"), shown left of the label. */
5
- icon?: string;
6
- }
7
- type __VLS_Props = {
8
- modelValue?: string;
9
- items: TabItem[];
10
- /**
11
- * "contained" (default) wraps the triggers in a bordered, filled bar.
12
- * "plain" drops the container chrome — a flat row of tabs with only the
13
- * sliding pill marking the active one (for nav bars over a custom surface).
14
- * "underline" is a flat row over a hairline baseline, marking the active
15
- * tab with a sliding bottom bar instead of a pill (page-section nav style).
16
- */
17
- variant?: "contained" | "plain" | "underline";
18
- /** Tint the active pill + label with the brand colour (nav-bar style). */
19
- accent?: boolean;
20
- /** Stretch the bar to full width with equal-share triggers. */
21
- block?: boolean;
22
- };
23
- declare var __VLS_49: {
24
- value: string;
25
- }, __VLS_51: {};
26
- type __VLS_Slots = {} & {
27
- panel?: (props: typeof __VLS_49) => any;
28
- } & {
29
- default?: (props: typeof __VLS_51) => any;
30
- };
31
- declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
32
- "update:modelValue": (value: string) => any;
33
- }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
34
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
35
- }>, {
36
- block: boolean;
37
- variant: "contained" | "plain" | "underline";
38
- accent: boolean;
39
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
40
- declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
41
- declare const _default: typeof __VLS_export;
42
- export default _default;
43
- type __VLS_WithSlots<T, S> = T & {
44
- new (): {
45
- $slots: S;
46
- };
47
- };
@@ -1,22 +0,0 @@
1
- type __VLS_Props = {
2
- modelValue?: string;
3
- placeholder?: string;
4
- rows?: number;
5
- invalid?: boolean;
6
- disabled?: boolean;
7
- label?: string;
8
- hint?: string;
9
- error?: string;
10
- /**
11
- * Marks the label with the required indicator; the attribute still reaches
12
- * the <textarea> for native validation.
13
- */
14
- required?: boolean;
15
- };
16
- declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
17
- "update:modelValue": (value: string) => any;
18
- }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
19
- "onUpdate:modelValue"?: ((value: string) => any) | undefined;
20
- }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
21
- declare const _default: typeof __VLS_export;
22
- export default _default;