@leavepulse/ui 0.43.1 → 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 (132) hide show
  1. package/dist/assets/{LpCommandPalette-s_kKuCRf.css → LpCommandPalette-DH7sPcKP.css} +21 -21
  2. package/dist/assets/{LpImageEditor-D-s8tNGO.css → LpImageEditor-Ct7Y3aNu.css} +6 -6
  3. package/dist/component-names.d.ts +1 -0
  4. package/dist/components/LayoutCanvas.vue.d.ts +28 -0
  5. package/dist/components/LayoutNode.vue.d.ts +40 -0
  6. package/dist/components/LpActionBar.vue.d.ts +84 -0
  7. package/dist/components/LpAddressInput.vue.d.ts +70 -0
  8. package/dist/components/LpAlert.vue.d.ts +44 -0
  9. package/dist/components/LpAppShell.vue.d.ts +123 -0
  10. package/dist/components/LpAutocomplete.vue.d.ts +50 -0
  11. package/dist/components/LpAvatar.vue.d.ts +34 -0
  12. package/dist/components/LpBadge.vue.d.ts +20 -0
  13. package/dist/components/LpBreadcrumbs.vue.d.ts +32 -0
  14. package/dist/components/LpButton.vue.d.ts +113 -0
  15. package/dist/components/LpCalendar.vue.d.ts +29 -0
  16. package/dist/components/LpCard.vue.d.ts +60 -0
  17. package/dist/components/LpChart.vue.d.ts +130 -0
  18. package/dist/components/LpCheckbox.vue.d.ts +32 -0
  19. package/dist/components/LpCodeBlock.vue.d.ts +58 -0
  20. package/dist/components/LpColorPicker.vue.d.ts +124 -0
  21. package/dist/components/LpCommandPalette.vue.d.ts +206 -0
  22. package/dist/components/LpCommandPalette.vue.js +2 -2
  23. package/dist/components/LpConfirmDialog.vue.d.ts +59 -0
  24. package/dist/components/LpContextMenu.vue.d.ts +44 -0
  25. package/dist/components/LpDatePicker.vue.d.ts +33 -0
  26. package/dist/components/LpDisclosure.vue.d.ts +47 -0
  27. package/dist/components/LpDivider.vue.d.ts +17 -0
  28. package/dist/components/LpDrawer.vue.d.ts +170 -0
  29. package/dist/components/LpDropdownMenu.vue.d.ts +23 -0
  30. package/dist/components/LpDropzone.vue.d.ts +90 -0
  31. package/dist/components/LpEmptyState.vue.d.ts +28 -0
  32. package/dist/components/LpFileTree.vue.d.ts +126 -0
  33. package/dist/components/LpFileTreeNode.vue.d.ts +62 -0
  34. package/dist/components/LpFormField.vue.d.ts +24 -0
  35. package/dist/components/LpIcon.vue.d.ts +9 -0
  36. package/dist/components/LpImageEditor.vue.d.ts +106 -0
  37. package/dist/components/LpImageEditor.vue.js +2 -2
  38. package/dist/components/LpInfraNode.vue.d.ts +65 -0
  39. package/dist/components/LpInput.vue.d.ts +80 -0
  40. package/dist/components/LpLaneNode.vue.d.ts +24 -0
  41. package/dist/components/LpLightbox.vue.d.ts +62 -0
  42. package/dist/components/LpLink.vue.d.ts +93 -0
  43. package/dist/components/LpLogViewer.vue.d.ts +153 -0
  44. package/dist/components/LpMapPicker.vue.d.ts +59 -0
  45. package/dist/components/LpMediaGallery.vue.d.ts +80 -0
  46. package/dist/components/LpModal.vue.d.ts +66 -0
  47. package/dist/components/LpModalNav.vue.d.ts +66 -0
  48. package/dist/components/LpNotificationBell.vue.d.ts +85 -0
  49. package/dist/components/LpNumberField.vue.d.ts +21 -0
  50. package/dist/components/LpNumberFlow.vue.d.ts +35 -0
  51. package/dist/components/LpOtpInput.vue.d.ts +39 -0
  52. package/dist/components/LpPagination.vue.d.ts +35 -0
  53. package/dist/components/LpPasswordInput.vue.d.ts +36 -0
  54. package/dist/components/LpPhoneInput.vue.d.ts +49 -0
  55. package/dist/components/LpPie.vue.d.ts +196 -0
  56. package/dist/components/LpPopover.vue.d.ts +34 -0
  57. package/dist/components/LpProgress.vue.d.ts +66 -0
  58. package/dist/components/LpRadio.vue.d.ts +18 -0
  59. package/dist/components/LpRadioGroup.vue.d.ts +26 -0
  60. package/dist/components/LpRollingText.vue.d.ts +33 -0
  61. package/dist/components/LpScrollArea.vue.d.ts +28 -0
  62. package/dist/components/LpSection.vue.d.ts +120 -0
  63. package/dist/components/LpSegmented.vue.d.ts +30 -0
  64. package/dist/components/LpSelect.vue.d.ts +47 -0
  65. package/dist/components/LpServiceNode.vue.d.ts +14 -0
  66. package/dist/components/LpShift.vue.d.ts +36 -0
  67. package/dist/components/LpShortcutsDialog.vue.d.ts +24 -0
  68. package/dist/components/LpSidebar.vue.d.ts +146 -0
  69. package/dist/components/LpSidebarNav.vue.d.ts +54 -0
  70. package/dist/components/LpSkeleton.vue.d.ts +16 -0
  71. package/dist/components/LpSlider.vue.d.ts +30 -0
  72. package/dist/components/LpSparkline.vue.d.ts +48 -0
  73. package/dist/components/LpStat.vue.d.ts +69 -0
  74. package/dist/components/LpStepper.vue.d.ts +36 -0
  75. package/dist/components/LpSwitch.vue.d.ts +42 -0
  76. package/dist/components/LpTable.vue.d.ts +124 -0
  77. package/dist/components/LpTableOfContents.vue.d.ts +19 -0
  78. package/dist/components/LpTabs.vue.d.ts +47 -0
  79. package/dist/components/LpTextarea.vue.d.ts +22 -0
  80. package/dist/components/LpThemeSwitcher.vue.d.ts +47 -0
  81. package/dist/components/LpTilt.vue.d.ts +31 -0
  82. package/dist/components/LpTimeField.vue.d.ts +24 -0
  83. package/dist/components/LpToaster.vue.d.ts +3 -0
  84. package/dist/components/LpTooltip.vue.d.ts +58 -0
  85. package/dist/components/LpTopologyCanvas.vue.d.ts +205 -0
  86. package/dist/components/LpUptimeBar.vue.d.ts +46 -0
  87. package/dist/components/LpWaypointEdge.vue.d.ts +33 -0
  88. package/dist/components/actionBar.d.ts +19 -0
  89. package/dist/components/address.d.ts +107 -0
  90. package/dist/components/chart.d.ts +180 -0
  91. package/dist/components/codeHighlight.d.ts +8 -0
  92. package/dist/components/color.d.ts +65 -0
  93. package/dist/components/commandSearch.d.ts +14 -0
  94. package/dist/components/countries-data.d.ts +2 -0
  95. package/dist/components/countries.d.ts +20 -0
  96. package/dist/components/dropdown.d.ts +29 -0
  97. package/dist/components/fileTree.d.ts +79 -0
  98. package/dist/components/lightbox.d.ts +24 -0
  99. package/dist/components/modalDepth.d.ts +11 -0
  100. package/dist/components/sidebar.d.ts +42 -0
  101. package/dist/composables/easing.d.ts +46 -0
  102. package/dist/composables/useAsyncTask.d.ts +18 -0
  103. package/dist/composables/useClipboard.d.ts +46 -0
  104. package/dist/composables/useFormDraft.d.ts +67 -0
  105. package/dist/composables/useGlass.d.ts +9 -0
  106. package/dist/composables/useHotkeys.d.ts +101 -0
  107. package/dist/composables/useInputFilter.d.ts +14 -0
  108. package/dist/composables/useMergedClass.d.ts +42 -0
  109. package/dist/composables/usePillTransition.d.ts +21 -0
  110. package/dist/composables/useReveal.d.ts +26 -0
  111. package/dist/composables/useRovingFocus.d.ts +49 -0
  112. package/dist/composables/useSettled.d.ts +26 -0
  113. package/dist/composables/useShift.d.ts +35 -0
  114. package/dist/composables/useTilt.d.ts +23 -0
  115. package/dist/composables/useToast.d.ts +41 -0
  116. package/dist/composables/useZoomPan.d.ts +58 -0
  117. package/dist/icons.d.ts +1 -0
  118. package/dist/index.d.ts +162 -0
  119. package/dist/layout/registry.d.ts +26 -0
  120. package/dist/layout/tree.d.ts +75 -0
  121. package/dist/layout/useLayout.d.ts +39 -0
  122. package/dist/theme/backdrop.d.ts +9 -0
  123. package/dist/theme/config.d.ts +16 -0
  124. package/dist/theme/define.d.ts +12 -0
  125. package/dist/theme/presets.d.ts +20 -0
  126. package/dist/theme/tokens.d.ts +75 -0
  127. package/dist/theme/useTheme.d.ts +46 -0
  128. package/package.json +2 -2
  129. package/src/components/LpCommandPalette.vue +4 -4
  130. package/src/components/LpImageEditor.vue +2 -2
  131. package/src/components/commandSearch.ts +1 -1
  132. package/src/composables/useHotkeys.ts +1 -1
@@ -0,0 +1,206 @@
1
+ export interface Command {
2
+ id: string;
3
+ label: string;
4
+ /** Second line under the label. */
5
+ description?: string;
6
+ /**
7
+ * A passage of the matched text, wrapped over several lines (clamped by
8
+ * `excerptLines`) instead of truncated to one. For results a server found
9
+ * inside long text — a docs section, a ticket, a message — where the reason
10
+ * the row matched is the part worth reading before opening it.
11
+ */
12
+ excerpt?: string;
13
+ /**
14
+ * Extra words to highlight besides the typed query. A server that matches
15
+ * word forms or typos knows which words actually matched; the query alone
16
+ * would leave those unmarked.
17
+ */
18
+ highlight?: string[];
19
+ icon?: string;
20
+ /** Right-aligned hint, e.g. "⌘P". */
21
+ shortcut?: string;
22
+ /** Extra search terms not shown but matched against the query. */
23
+ keywords?: string[];
24
+ /** Section heading this command sits under. */
25
+ group?: string;
26
+ disabled?: boolean;
27
+ /**
28
+ * Hidden from the default (empty-query) list — only surfaces once the user
29
+ * types something it matches. For rarely-used or destructive actions (prune,
30
+ * decommission, …) that shouldn't clutter the palette but stay reachable.
31
+ */
32
+ hidden?: boolean;
33
+ /**
34
+ * Picking this opens a mode instead of closing: a nested list, either given
35
+ * outright or fetched from the query typed inside it. This is what keeps a
36
+ * palette from flattening "restart <service>" into one row per service —
37
+ * and what lets the second step search a list too big to enumerate.
38
+ *
39
+ * `onSelect` still runs when the mode opens, so a command can both act and
40
+ * drill in.
41
+ */
42
+ children?: Command[] | ((query: string) => Command[] | Promise<Command[]>);
43
+ /** Placeholder while inside this command's mode. */
44
+ childPlaceholder?: string;
45
+ /**
46
+ * Keep the palette open after this runs. For a command that toggles
47
+ * something the user may want to toggle again (a theme, a filter) without
48
+ * reopening and retyping.
49
+ */
50
+ keepOpen?: boolean;
51
+ /**
52
+ * Where the command leads. The row renders as a real link, so Ctrl/⌘-click,
53
+ * Shift-click and middle-click open it the way the browser opens any link,
54
+ * and Ctrl/⌘+Enter opens it in a new tab from the keyboard. A plain pick
55
+ * still runs `onSelect` (a router push, say); without one it follows the
56
+ * link.
57
+ */
58
+ href?: string;
59
+ /**
60
+ * Further things to do with this result besides opening it — copy its id,
61
+ * open it elsewhere, share it. Tab on the highlighted row lists them as a
62
+ * mode named after the row. A command with `href` gets "open in new tab"
63
+ * and "copy link" after its own.
64
+ */
65
+ actions?: Command[];
66
+ /**
67
+ * The whole text behind this result, for the preview pane (`previewPane`):
68
+ * the section a docs hit points into, the ticket body, the message. Line
69
+ * breaks are kept. Without it the pane shows the `excerpt`.
70
+ */
71
+ preview?: string;
72
+ onSelect?: () => void;
73
+ }
74
+ /** Footer hints and the mode chip, spelled out so an app can translate them. */
75
+ export interface PaletteLabels {
76
+ navigate: string;
77
+ select: string;
78
+ close: string;
79
+ /** Hint for leaving a mode, shown only while inside one. */
80
+ back: string;
81
+ searching: string;
82
+ /** Shown when `search` (or a fetching mode) threw. */
83
+ searchFailed: string;
84
+ retry: string;
85
+ /** The row that unfolds a group cut by `groupLimit`; `{count}` is how many are hidden. */
86
+ showMore: string;
87
+ /** Footer hint for Tab while the highlighted row has actions. */
88
+ actions: string;
89
+ openInNewTab: string;
90
+ copyLink: string;
91
+ /** Toast after "copy link"; empty for none. */
92
+ linkCopied: string;
93
+ /**
94
+ * @deprecated The pane now closes for a row with nothing to show, so this
95
+ * text is never displayed. Kept so existing `labels` objects still type-check.
96
+ */
97
+ noPreview?: string;
98
+ }
99
+ type __VLS_Props = {
100
+ open?: boolean;
101
+ commands: Command[];
102
+ placeholder?: string;
103
+ emptyText?: string;
104
+ /** Bind a global ⌘K / Ctrl-K toggle. */
105
+ hotkey?: boolean;
106
+ /**
107
+ * Commands fetched from the typed query — what reaches the things too many
108
+ * (or too remote) to hand over as a list: people, files, tickets. Called
109
+ * debounced, never for a query shorter than `minChars`, and only its
110
+ * newest call counts: an earlier one that lands late is dropped, so a slow
111
+ * response can't overwrite a fresher list.
112
+ *
113
+ * Results join the static commands, so a palette can do both.
114
+ */
115
+ search?: (query: string, signal: AbortSignal) => Command[] | Promise<Command[]>;
116
+ /** Wait after the last keystroke before `search` runs. */
117
+ debounce?: number;
118
+ /** Shortest query `search` runs for. */
119
+ minChars?: number;
120
+ /**
121
+ * Ids of recently picked commands, newest first — bind it to storage and
122
+ * the palette opens on what this person actually uses. It only reorders
123
+ * commands already in the list; an id that no longer resolves is skipped,
124
+ * so a stored history never resurrects a command that has gone away.
125
+ */
126
+ recent?: string[];
127
+ /** How many recent commands to surface. */
128
+ recentLimit?: number;
129
+ /** Headings the palette adds itself. */
130
+ recentLabel?: string;
131
+ resultsLabel?: string;
132
+ /** Footer hints and the mode chip, spelled out for translation. */
133
+ labels?: Partial<PaletteLabels>;
134
+ /** Lines an `excerpt` may wrap to before it is clamped. */
135
+ excerptLines?: number;
136
+ /**
137
+ * Rows a group shows before folding the rest behind a "Show N more" row.
138
+ * One provider answering with thirty people would otherwise push every
139
+ * other group off the screen. 0 shows everything.
140
+ */
141
+ groupLimit?: number;
142
+ /**
143
+ * When the query matches nothing, retry it as if typed in the other
144
+ * keyboard layout (QWERTY ↔ Cyrillic). Off for an app whose commands are
145
+ * meant to be typed in one layout only.
146
+ */
147
+ layoutFallback?: boolean;
148
+ /**
149
+ * A pane beside the list showing the highlighted result in full — its
150
+ * `preview` text, or the `preview` slot. For palettes that search
151
+ * content rather than commands: the excerpt says why a row matched, the
152
+ * pane lets it be read without leaving the page. It opens only for a row
153
+ * with `preview` or `excerpt` (any row, with the slot): the dialog eases
154
+ * wider, the pane slides in, and the text arrives paragraph by paragraph.
155
+ * Hidden below the md breakpoint, where there is no room beside the list.
156
+ *
157
+ * The width is an inline style rather than a pair of classes: a base
158
+ * width plus an `md:` override could be emitted by a consumer's Tailwind
159
+ * build in an order where the base won, and the pane opened squeezed.
160
+ */
161
+ previewPane?: boolean;
162
+ /**
163
+ * Frosted glass instead of a solid panel: the page shows through,
164
+ * blurred, under a lighter scrim (.lp-glass-overlay, .lp-scrim--light).
165
+ * A look, not a behaviour, so it is the app's call: unset follows
166
+ * `provideGlass`, and without one it is off.
167
+ */
168
+ glass?: boolean;
169
+ };
170
+ type __VLS_Slots = {
171
+ /** Body of the preview pane for the highlighted command. */
172
+ preview?: (props: {
173
+ command: Command;
174
+ }) => unknown;
175
+ };
176
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
177
+ select: (command: Command) => any;
178
+ "update:open": (value: boolean) => any;
179
+ run: (id: string, command: Command) => any;
180
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
181
+ onSelect?: ((command: Command) => any) | undefined;
182
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
183
+ onRun?: ((id: string, command: Command) => any) | undefined;
184
+ }>, {
185
+ placeholder: string;
186
+ emptyText: string;
187
+ minChars: number;
188
+ glass: boolean;
189
+ debounce: number;
190
+ recentLimit: number;
191
+ hotkey: boolean;
192
+ recentLabel: string;
193
+ resultsLabel: string;
194
+ excerptLines: number;
195
+ groupLimit: number;
196
+ layoutFallback: boolean;
197
+ previewPane: boolean;
198
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
199
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
200
+ declare const _default: typeof __VLS_export;
201
+ export default _default;
202
+ type __VLS_WithSlots<T, S> = T & {
203
+ new (): {
204
+ $slots: S;
205
+ };
206
+ };
@@ -9,7 +9,7 @@ import { useHotkeys } from "../composables/useHotkeys.js";
9
9
  import { useModalLayer } from "./modalDepth.js";
10
10
  import { parseCommandQuery, rankCommandItems, swapCommandTerms } from "./commandSearch.js";
11
11
  import { _ as _export_sfc } from "../chunks/_plugin-vue_export-helper-1tPrXgE0.js";
12
- import '../assets/LpCommandPalette-s_kKuCRf.css';const _hoisted_1 = { class: "flex shrink-0 items-center gap-2.5 border-b border-line px-4" };
12
+ import '../assets/LpCommandPalette-DH7sPcKP.css';const _hoisted_1 = { class: "flex shrink-0 items-center gap-2.5 border-b border-line px-4" };
13
13
  const _hoisted_2 = ["title", "onClick"];
14
14
  const _hoisted_3 = ["aria-activedescendant", "placeholder", "onKeydown"];
15
15
  const _hoisted_4 = {
@@ -783,7 +783,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
783
783
  };
784
784
  }
785
785
  });
786
- const LpCommandPalette = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-10500f32"]]);
786
+ const LpCommandPalette = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0175ffca"]]);
787
787
  export {
788
788
  LpCommandPalette as default
789
789
  };
@@ -0,0 +1,59 @@
1
+ type __VLS_Props = {
2
+ open?: boolean;
3
+ title?: string;
4
+ description?: string;
5
+ confirmLabel?: string;
6
+ cancelLabel?: string;
7
+ /**
8
+ * The action destroys something. Colours the confirm button, and marks the
9
+ * title with a warning glyph — a destructive prompt should be recognisable
10
+ * before the words are read, since it is the one dialog people dismiss on
11
+ * reflex.
12
+ */
13
+ danger?: boolean;
14
+ /**
15
+ * Override the marker: any iconify name, or `""` to leave the title plain —
16
+ * for a `danger` action whose dialog body already carries the warning and
17
+ * would otherwise state it twice.
18
+ *
19
+ * A string rather than `string | false`, deliberately: a union including
20
+ * Boolean makes Vue boolean-cast the prop, so an absent `icon` would arrive
21
+ * as `false` and be indistinguishable from a caller suppressing the marker.
22
+ */
23
+ icon?: string;
24
+ /**
25
+ * The confirm action is in flight: the button disables and swaps to
26
+ * `loadingLabel`, and confirming no longer closes the dialog — the owner
27
+ * closes it once the work settles, so a failure can stay on screen.
28
+ */
29
+ loading?: boolean;
30
+ loadingLabel?: string;
31
+ /** Frosted glass panel, passed to LpModal. Follows `provideGlass` when unset. */
32
+ glass?: boolean;
33
+ };
34
+ declare var __VLS_16: {};
35
+ type __VLS_Slots = {} & {
36
+ default?: (props: typeof __VLS_16) => any;
37
+ };
38
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
39
+ cancel: () => any;
40
+ "update:open": (value: boolean) => any;
41
+ confirm: () => any;
42
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
43
+ onCancel?: (() => any) | undefined;
44
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
45
+ onConfirm?: (() => any) | undefined;
46
+ }>, {
47
+ glass: boolean;
48
+ confirmLabel: string;
49
+ cancelLabel: string;
50
+ loadingLabel: string;
51
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
52
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
53
+ declare const _default: typeof __VLS_export;
54
+ export default _default;
55
+ type __VLS_WithSlots<T, S> = T & {
56
+ new (): {
57
+ $slots: S;
58
+ };
59
+ };
@@ -0,0 +1,44 @@
1
+ export interface ContextMenuItemDef {
2
+ label: string;
3
+ icon?: string;
4
+ /** Right-aligned hint, e.g. "⌘C". */
5
+ shortcut?: string;
6
+ danger?: boolean;
7
+ disabled?: boolean;
8
+ separatorBefore?: boolean;
9
+ onSelect?: () => void;
10
+ /** Nested submenu. When present, onSelect is ignored. */
11
+ children?: ContextMenuItemDef[];
12
+ /**
13
+ * Renders as a tick-box rather than a plain item, and the menu stays open on
14
+ * select. For the lists where the point is to set several at once — which
15
+ * columns to show, which values to filter by — and closing after each one
16
+ * would mean reopening the menu for every tick.
17
+ */
18
+ checked?: boolean;
19
+ }
20
+ type __VLS_Props = {
21
+ items: ContextMenuItemDef[];
22
+ /**
23
+ * Keep the reka menu mounted even while `items` is momentarily empty. Use when
24
+ * the items are resolved on the right-click itself (e.g. a list that figures
25
+ * out which row was clicked): without this the trigger would still be in
26
+ * native-menu mode on that first click and swallow it.
27
+ */
28
+ always?: boolean;
29
+ };
30
+ declare var __VLS_1: {}, __VLS_18: {};
31
+ type __VLS_Slots = {} & {
32
+ default?: (props: typeof __VLS_1) => any;
33
+ } & {
34
+ default?: (props: typeof __VLS_18) => any;
35
+ };
36
+ 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>;
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,33 @@
1
+ type __VLS_Props = {
2
+ /** Selected date "YYYY-MM-DD" (v-model). */
3
+ modelValue?: string;
4
+ placeholder?: string;
5
+ min?: string;
6
+ max?: string;
7
+ isDisabled?: (iso: string) => boolean;
8
+ clearable?: boolean;
9
+ disabled?: boolean;
10
+ invalid?: boolean;
11
+ size?: "sm" | "md" | "lg";
12
+ /** Intl format for the displayed date. */
13
+ format?: Intl.DateTimeFormatOptions;
14
+ /** Also pick a minute; the model becomes "YYYY-MM-DDTHH:mm". */
15
+ time?: boolean;
16
+ /** Time a freshly picked day starts at, "HH:mm". */
17
+ defaultTime?: string;
18
+ /** Label of the button that closes the popover in `time` mode. */
19
+ doneLabel?: string;
20
+ };
21
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
22
+ "update:modelValue": (value: string | undefined) => any;
23
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
24
+ "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
25
+ }>, {
26
+ size: "sm" | "md" | "lg";
27
+ format: Intl.DateTimeFormatOptions;
28
+ placeholder: string;
29
+ defaultTime: string;
30
+ doneLabel: string;
31
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
32
+ declare const _default: typeof __VLS_export;
33
+ export default _default;
@@ -0,0 +1,47 @@
1
+ declare const _default: typeof __VLS_export;
2
+ export default _default;
3
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
4
+ /** Controlled open state. Omit to let the component own it (with `defaultOpen`). */
5
+ open?: boolean;
6
+ defaultOpen?: boolean;
7
+ /** Trigger label (or use the #trigger slot for richer content). */
8
+ label?: string;
9
+ /** Optional iconify name shown left of the label. */
10
+ icon?: string;
11
+ /**
12
+ * On open, smooth-scroll the block to the top of the nearest scroll
13
+ * container so its content isn't left below the fold. Fires immediately,
14
+ * in parallel with the expand.
15
+ */
16
+ scrollIntoView?: boolean;
17
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
18
+ "update:open": (value: boolean) => any;
19
+ }, string, import("vue").PublicProps, Readonly<{
20
+ /** Controlled open state. Omit to let the component own it (with `defaultOpen`). */
21
+ open?: boolean;
22
+ defaultOpen?: boolean;
23
+ /** Trigger label (or use the #trigger slot for richer content). */
24
+ label?: string;
25
+ /** Optional iconify name shown left of the label. */
26
+ icon?: string;
27
+ /**
28
+ * On open, smooth-scroll the block to the top of the nearest scroll
29
+ * container so its content isn't left below the fold. Fires immediately,
30
+ * in parallel with the expand.
31
+ */
32
+ scrollIntoView?: boolean;
33
+ }> & Readonly<{
34
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
35
+ }>, {
36
+ defaultOpen: boolean;
37
+ scrollIntoView: boolean;
38
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
39
+ trigger?: (props: {}) => any;
40
+ } & {
41
+ default?: (props: {}) => any;
42
+ }>;
43
+ type __VLS_WithSlots<T, S> = T & {
44
+ new (): {
45
+ $slots: S;
46
+ };
47
+ };
@@ -0,0 +1,17 @@
1
+ type __VLS_Props = {
2
+ vertical?: boolean;
3
+ label?: string;
4
+ };
5
+ declare var __VLS_1: {};
6
+ type __VLS_Slots = {} & {
7
+ default?: (props: typeof __VLS_1) => any;
8
+ };
9
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,170 @@
1
+ declare const _default: typeof __VLS_export;
2
+ export default _default;
3
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
4
+ open?: boolean;
5
+ /** Edge the drawer attaches to. `side` is a back-compat alias (left/right). */
6
+ direction?: "left" | "right" | "top" | "bottom";
7
+ side?: "left" | "right";
8
+ title?: string;
9
+ description?: string;
10
+ /** Size preset along the drawer's main axis (width for left/right, height for top/bottom). */
11
+ size?: "sm" | "md" | "lg" | "xl";
12
+ /** Explicit size override (any CSS length), wins over `size`. */
13
+ width?: string;
14
+ /** Drag-to-dismiss + click-outside. Set false to force a controlled close. */
15
+ dismissible?: boolean;
16
+ /** Fractions (0–1) or px strings the drawer snaps between, nearest edge first. */
17
+ snapPoints?: (number | string)[];
18
+ /** Show the drag handle (auto-on for bottom/top sheets). */
19
+ handle?: boolean;
20
+ /** Only the handle initiates a drag — frees inner content to scroll. */
21
+ handleOnly?: boolean;
22
+ /** Scale the [vaul-drawer-wrapper] background while open. */
23
+ scaleBackground?: boolean;
24
+ /** Drag fraction (0–1) past which a release dismisses. */
25
+ closeThreshold?: number;
26
+ /**
27
+ * Auto-tag interactive descendants (input, textarea, select, button, links,
28
+ * [contenteditable]) with data-vaul-no-drag so a drag can't start on them —
29
+ * you can select text / use controls without dragging the drawer. On by
30
+ * default; the drawer still drags from empty space, the handle and header.
31
+ */
32
+ noDragControls?: boolean;
33
+ /**
34
+ * Mark the entire body as non-draggable: the drawer then only drags from the
35
+ * handle/header. Stronger than noDragControls — use for form-heavy drawers.
36
+ */
37
+ noDragContent?: boolean;
38
+ /**
39
+ * Open by dragging in from the screen edge (Discord-style). A touch that
40
+ * starts within `edgeSize` of the edge and travels inward drags a preview of
41
+ * the panel (with its content) under the finger; a release past
42
+ * `edgeOpenThreshold`, or a quick flick, opens the drawer. Nothing is laid
43
+ * over the edge, so taps there still reach the page. Left/right drawers only.
44
+ */
45
+ edgeOpen?: boolean;
46
+ /**
47
+ * Tailwind breakpoint at and above which the edge pull is ignored. Pass the
48
+ * same breakpoint at which the host switches to the drawer (LpSidebar
49
+ * does), so a wide touch screen with the rail visible doesn't pull it too.
50
+ */
51
+ edgeBreakpoint?: "sm" | "md" | "lg" | "xl";
52
+ /** Distance (px) from the edge within which a touch can start a pull. */
53
+ edgeSize?: number;
54
+ /** Fraction (0–1) of the panel width the pull must reach to open on release. */
55
+ edgeOpenThreshold?: number;
56
+ /**
57
+ * Let the user drag the inner edge to resize the panel (horizontal drawers
58
+ * only — e.g. a logs panel whose long lines overflow). The new size is kept
59
+ * for the session. Min/max bound the drag.
60
+ */
61
+ resizable?: boolean;
62
+ /** Min main-axis size while resizing (any CSS length). Default 22rem. */
63
+ minSize?: string;
64
+ /** Max main-axis size while resizing (any CSS length). Default 96vw. */
65
+ maxSize?: string;
66
+ /**
67
+ * Frosted glass instead of a solid panel: the page shows through,
68
+ * blurred, under a lighter scrim (.lp-glass-overlay, .lp-scrim--light).
69
+ * A look, not a behaviour, so it is the app's call: unset follows
70
+ * `provideGlass`, and without one it is off.
71
+ */
72
+ glass?: boolean;
73
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
74
+ "update:open": (value: boolean) => any;
75
+ }, string, import("vue").PublicProps, Readonly<{
76
+ open?: boolean;
77
+ /** Edge the drawer attaches to. `side` is a back-compat alias (left/right). */
78
+ direction?: "left" | "right" | "top" | "bottom";
79
+ side?: "left" | "right";
80
+ title?: string;
81
+ description?: string;
82
+ /** Size preset along the drawer's main axis (width for left/right, height for top/bottom). */
83
+ size?: "sm" | "md" | "lg" | "xl";
84
+ /** Explicit size override (any CSS length), wins over `size`. */
85
+ width?: string;
86
+ /** Drag-to-dismiss + click-outside. Set false to force a controlled close. */
87
+ dismissible?: boolean;
88
+ /** Fractions (0–1) or px strings the drawer snaps between, nearest edge first. */
89
+ snapPoints?: (number | string)[];
90
+ /** Show the drag handle (auto-on for bottom/top sheets). */
91
+ handle?: boolean;
92
+ /** Only the handle initiates a drag — frees inner content to scroll. */
93
+ handleOnly?: boolean;
94
+ /** Scale the [vaul-drawer-wrapper] background while open. */
95
+ scaleBackground?: boolean;
96
+ /** Drag fraction (0–1) past which a release dismisses. */
97
+ closeThreshold?: number;
98
+ /**
99
+ * Auto-tag interactive descendants (input, textarea, select, button, links,
100
+ * [contenteditable]) with data-vaul-no-drag so a drag can't start on them —
101
+ * you can select text / use controls without dragging the drawer. On by
102
+ * default; the drawer still drags from empty space, the handle and header.
103
+ */
104
+ noDragControls?: boolean;
105
+ /**
106
+ * Mark the entire body as non-draggable: the drawer then only drags from the
107
+ * handle/header. Stronger than noDragControls — use for form-heavy drawers.
108
+ */
109
+ noDragContent?: boolean;
110
+ /**
111
+ * Open by dragging in from the screen edge (Discord-style). A touch that
112
+ * starts within `edgeSize` of the edge and travels inward drags a preview of
113
+ * the panel (with its content) under the finger; a release past
114
+ * `edgeOpenThreshold`, or a quick flick, opens the drawer. Nothing is laid
115
+ * over the edge, so taps there still reach the page. Left/right drawers only.
116
+ */
117
+ edgeOpen?: boolean;
118
+ /**
119
+ * Tailwind breakpoint at and above which the edge pull is ignored. Pass the
120
+ * same breakpoint at which the host switches to the drawer (LpSidebar
121
+ * does), so a wide touch screen with the rail visible doesn't pull it too.
122
+ */
123
+ edgeBreakpoint?: "sm" | "md" | "lg" | "xl";
124
+ /** Distance (px) from the edge within which a touch can start a pull. */
125
+ edgeSize?: number;
126
+ /** Fraction (0–1) of the panel width the pull must reach to open on release. */
127
+ edgeOpenThreshold?: number;
128
+ /**
129
+ * Let the user drag the inner edge to resize the panel (horizontal drawers
130
+ * only — e.g. a logs panel whose long lines overflow). The new size is kept
131
+ * for the session. Min/max bound the drag.
132
+ */
133
+ resizable?: boolean;
134
+ /** Min main-axis size while resizing (any CSS length). Default 22rem. */
135
+ minSize?: string;
136
+ /** Max main-axis size while resizing (any CSS length). Default 96vw. */
137
+ maxSize?: string;
138
+ /**
139
+ * Frosted glass instead of a solid panel: the page shows through,
140
+ * blurred, under a lighter scrim (.lp-glass-overlay, .lp-scrim--light).
141
+ * A look, not a behaviour, so it is the app's call: unset follows
142
+ * `provideGlass`, and without one it is off.
143
+ */
144
+ glass?: boolean;
145
+ }> & Readonly<{
146
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
147
+ }>, {
148
+ size: "sm" | "md" | "lg" | "xl";
149
+ side: "left" | "right";
150
+ glass: boolean;
151
+ dismissible: boolean;
152
+ noDragControls: boolean;
153
+ edgeSize: number;
154
+ edgeOpenThreshold: number;
155
+ minSize: string;
156
+ maxSize: string;
157
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
158
+ default?: (props: {}) => any;
159
+ } & {
160
+ title?: (props: {}) => any;
161
+ } & {
162
+ default?: (props: {}) => any;
163
+ } & {
164
+ footer?: (props: {}) => any;
165
+ }>;
166
+ type __VLS_WithSlots<T, S> = T & {
167
+ new (): {
168
+ $slots: S;
169
+ };
170
+ };
@@ -0,0 +1,23 @@
1
+ export interface MenuItem {
2
+ label: string;
3
+ icon?: string;
4
+ danger?: boolean;
5
+ separatorBefore?: boolean;
6
+ onSelect?: () => void;
7
+ }
8
+ type __VLS_Props = {
9
+ items: MenuItem[];
10
+ };
11
+ declare var __VLS_14: {};
12
+ type __VLS_Slots = {} & {
13
+ trigger?: (props: typeof __VLS_14) => any;
14
+ };
15
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
19
+ type __VLS_WithSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };