@leavepulse/ui 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +61 -0
- package/dist/component-names.d.ts +1 -0
- package/dist/components/LayoutCanvas.vue.d.ts +28 -0
- package/dist/components/LayoutNode.vue.d.ts +40 -0
- package/dist/components/LpAlert.vue.d.ts +44 -0
- package/dist/components/LpAppShell.vue.d.ts +83 -0
- package/dist/components/LpAutocomplete.vue.d.ts +50 -0
- package/dist/components/LpAvatar.vue.d.ts +20 -0
- package/dist/components/LpBadge.vue.d.ts +47 -0
- package/dist/components/LpBreadcrumbs.vue.d.ts +14 -0
- package/dist/components/LpButton.vue.d.ts +113 -0
- package/dist/components/LpCalendar.vue.d.ts +20 -0
- package/dist/components/LpCard.vue.d.ts +29 -0
- package/dist/components/LpCheckbox.vue.d.ts +28 -0
- package/dist/components/LpCodeBlock.vue.d.ts +39 -0
- package/dist/components/LpCommandPalette.vue.d.ts +42 -0
- package/dist/components/LpConfirmDialog.vue.d.ts +32 -0
- package/dist/components/LpContextMenu.vue.d.ts +30 -0
- package/dist/components/LpDatePicker.vue.d.ts +25 -0
- package/dist/components/LpDisclosure.vue.d.ts +37 -0
- package/dist/components/LpDivider.vue.d.ts +17 -0
- package/dist/components/LpDrawer.vue.d.ts +88 -0
- package/dist/components/LpDropdownMenu.vue.d.ts +23 -0
- package/dist/components/LpEmptyState.vue.d.ts +18 -0
- package/dist/components/LpFormField.vue.d.ts +21 -0
- package/dist/components/LpIcon.vue.d.ts +8 -0
- package/dist/components/LpInfraNode.vue.d.ts +21 -0
- package/dist/components/LpInput.vue.d.ts +68 -0
- package/dist/components/LpLaneNode.vue.d.ts +24 -0
- package/dist/components/LpLink.vue.d.ts +27 -0
- package/dist/components/LpLogViewer.vue.d.ts +92 -0
- package/dist/components/LpModal.vue.d.ts +43 -0
- package/dist/components/LpNotificationBell.vue.d.ts +51 -0
- package/dist/components/LpNumberField.vue.d.ts +14 -0
- package/dist/components/LpOtpInput.vue.d.ts +27 -0
- package/dist/components/LpPagination.vue.d.ts +25 -0
- package/dist/components/LpPasswordInput.vue.d.ts +28 -0
- package/dist/components/LpPhoneInput.vue.d.ts +37 -0
- package/dist/components/LpPopover.vue.d.ts +34 -0
- package/dist/components/LpProgress.vue.d.ts +12 -0
- package/dist/components/LpRadio.vue.d.ts +18 -0
- package/dist/components/LpRadioGroup.vue.d.ts +26 -0
- package/dist/components/LpScrollArea.vue.d.ts +24 -0
- package/dist/components/LpSegmented.vue.d.ts +24 -0
- package/dist/components/LpSelect.vue.d.ts +45 -0
- package/dist/components/LpServiceNode.vue.d.ts +14 -0
- package/dist/components/LpSidebar.vue.d.ts +85 -0
- package/dist/components/LpSidebarNav.vue.d.ts +34 -0
- package/dist/components/LpSkeleton.vue.d.ts +6 -0
- package/dist/components/LpSlider.vue.d.ts +23 -0
- package/dist/components/LpStat.vue.d.ts +22 -0
- package/dist/components/LpStepper.vue.d.ts +10 -0
- package/dist/components/LpSwitch.vue.d.ts +11 -0
- package/dist/components/LpTable.vue.d.ts +63 -0
- package/dist/components/LpTableOfContents.vue.d.ts +19 -0
- package/dist/components/LpTabs.vue.d.ts +45 -0
- package/dist/components/LpTextarea.vue.d.ts +17 -0
- package/dist/components/LpThemeSwitcher.vue.d.ts +40 -0
- package/dist/components/LpToaster.vue.d.ts +3 -0
- package/dist/components/LpTooltip.vue.d.ts +19 -0
- package/dist/components/LpTopologyCanvas.vue.d.ts +154 -0
- package/dist/components/LpUptimeBar.vue.d.ts +30 -0
- package/dist/components/codeHighlight.d.ts +8 -0
- package/dist/components/countries-data.d.ts +2 -0
- package/dist/components/countries.d.ts +20 -0
- package/dist/components/dropdown.d.ts +29 -0
- package/dist/components/sidebar.d.ts +18 -0
- package/dist/composables/useInputFilter.d.ts +14 -0
- package/dist/composables/usePillTransition.d.ts +9 -0
- package/dist/composables/useToast.d.ts +39 -0
- package/dist/countries-data-9rgqJWHo.js +203 -0
- package/dist/icons.d.ts +1 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +100 -0
- package/dist/index.js +17600 -0
- package/dist/layout/registry.d.ts +26 -0
- package/dist/layout/tree.d.ts +75 -0
- package/dist/layout/useLayout.d.ts +39 -0
- package/dist/theme/config.d.ts +16 -0
- package/dist/theme/define.d.ts +12 -0
- package/dist/theme/presets.d.ts +20 -0
- package/dist/theme/tokens.d.ts +72 -0
- package/dist/theme/useTheme.d.ts +36 -0
- package/package.json +93 -0
- package/src/canvas.css +67 -0
- package/src/component-names.ts +65 -0
- package/src/components/LayoutCanvas.vue +76 -0
- package/src/components/LayoutNode.vue +248 -0
- package/src/components/LpAlert.vue +59 -0
- package/src/components/LpAppShell.vue +210 -0
- package/src/components/LpAutocomplete.vue +244 -0
- package/src/components/LpAvatar.vue +67 -0
- package/src/components/LpBadge.vue +32 -0
- package/src/components/LpBreadcrumbs.vue +35 -0
- package/src/components/LpButton.vue +111 -0
- package/src/components/LpCalendar.vue +134 -0
- package/src/components/LpCard.vue +71 -0
- package/src/components/LpCheckbox.vue +44 -0
- package/src/components/LpCodeBlock.vue +298 -0
- package/src/components/LpCommandPalette.vue +323 -0
- package/src/components/LpConfirmDialog.vue +49 -0
- package/src/components/LpContextMenu.vue +111 -0
- package/src/components/LpDatePicker.vue +117 -0
- package/src/components/LpDisclosure.vue +92 -0
- package/src/components/LpDivider.vue +20 -0
- package/src/components/LpDrawer.vue +402 -0
- package/src/components/LpDropdownMenu.vue +54 -0
- package/src/components/LpEmptyState.vue +21 -0
- package/src/components/LpFormField.vue +31 -0
- package/src/components/LpIcon.vue +49 -0
- package/src/components/LpInfraNode.vue +108 -0
- package/src/components/LpInput.vue +147 -0
- package/src/components/LpLaneNode.vue +48 -0
- package/src/components/LpLink.vue +48 -0
- package/src/components/LpLogViewer.vue +569 -0
- package/src/components/LpModal.vue +123 -0
- package/src/components/LpNotificationBell.vue +238 -0
- package/src/components/LpNumberField.vue +56 -0
- package/src/components/LpOtpInput.vue +81 -0
- package/src/components/LpPagination.vue +165 -0
- package/src/components/LpPasswordInput.vue +50 -0
- package/src/components/LpPhoneInput.vue +241 -0
- package/src/components/LpPopover.vue +42 -0
- package/src/components/LpProgress.vue +30 -0
- package/src/components/LpRadio.vue +28 -0
- package/src/components/LpRadioGroup.vue +43 -0
- package/src/components/LpScrollArea.vue +82 -0
- package/src/components/LpSegmented.vue +83 -0
- package/src/components/LpSelect.vue +0 -0
- package/src/components/LpServiceNode.vue +57 -0
- package/src/components/LpSidebar.vue +200 -0
- package/src/components/LpSidebarNav.vue +118 -0
- package/src/components/LpSkeleton.vue +16 -0
- package/src/components/LpSlider.vue +53 -0
- package/src/components/LpStat.vue +90 -0
- package/src/components/LpStepper.vue +46 -0
- package/src/components/LpSwitch.vue +19 -0
- package/src/components/LpTable.vue +252 -0
- package/src/components/LpTableOfContents.vue +183 -0
- package/src/components/LpTabs.vue +120 -0
- package/src/components/LpTextarea.vue +39 -0
- package/src/components/LpThemeSwitcher.vue +168 -0
- package/src/components/LpToaster.vue +216 -0
- package/src/components/LpTooltip.vue +30 -0
- package/src/components/LpTopologyCanvas.vue +370 -0
- package/src/components/LpUptimeBar.vue +126 -0
- package/src/components/codeHighlight.ts +137 -0
- package/src/components/countries-data.ts +207 -0
- package/src/components/countries.ts +67 -0
- package/src/components/dropdown.ts +64 -0
- package/src/components/sidebar.ts +26 -0
- package/src/composables/useInputFilter.ts +89 -0
- package/src/composables/usePillTransition.ts +19 -0
- package/src/composables/useToast.ts +92 -0
- package/src/icons.ts +11 -0
- package/src/index.css +21 -0
- package/src/index.ts +146 -0
- package/src/layout/registry.ts +44 -0
- package/src/layout/tree.ts +288 -0
- package/src/layout/useLayout.ts +134 -0
- package/src/nuxt.ts +22 -0
- package/src/theme/config.ts +48 -0
- package/src/theme/define.ts +50 -0
- package/src/theme/presets.ts +279 -0
- package/src/theme/tokens.ts +151 -0
- package/src/theme/useTheme.ts +288 -0
- package/src/tokens/scrollbar.css +138 -0
- package/src/tokens/tokens.css +333 -0
- package/src/tokens/utilities.css +23 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 LeavePulse
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
# @leavepulse/ui
|
|
2
|
+
|
|
3
|
+
Token-driven Vue 3 component kit for LeavePulse — components on [reka-ui](https://reka-ui.com)
|
|
4
|
+
and [Tailwind CSS v4](https://tailwindcss.com), a runtime theme engine (themes are
|
|
5
|
+
JSON token sets), and a composable block-layout canvas.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
The kit is consumed by the LeavePulse apps via a `file:`/git dependency. It needs
|
|
10
|
+
the peer deps it declares (`vue`, `reka-ui`, `tailwindcss`, `tailwind-variants`,
|
|
11
|
+
`tailwind-merge`, `motion-v`, `@iconify/vue`).
|
|
12
|
+
|
|
13
|
+
## Usage
|
|
14
|
+
|
|
15
|
+
Styling follows the `@nuxt/ui` model: **the consuming app owns Tailwind**, the kit
|
|
16
|
+
contributes its `@theme` tokens and a `@source` over its own components. In your
|
|
17
|
+
app's main CSS:
|
|
18
|
+
|
|
19
|
+
```css
|
|
20
|
+
@import "tailwindcss";
|
|
21
|
+
@import "@leavepulse/ui/css";
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Then use the components:
|
|
25
|
+
|
|
26
|
+
```vue
|
|
27
|
+
<script setup lang="ts">
|
|
28
|
+
import { LpButton, LpModal } from "@leavepulse/ui"
|
|
29
|
+
</script>
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The kit does **not** ship a precompiled stylesheet — your Tailwind build emits the
|
|
33
|
+
utilities its components use, scoped via the `@source` globs in the CSS entry.
|
|
34
|
+
|
|
35
|
+
### Native scrollbar skin (opt-in)
|
|
36
|
+
|
|
37
|
+
`LpScrollArea` skins the scroll it owns. For everything it can't — the page
|
|
38
|
+
itself, sticky panels, code blocks — opt the whole app into the same look by
|
|
39
|
+
importing the native scrollbar skin. It styles the browser's own scrollbars
|
|
40
|
+
(brand thumb, thin, rounded) **without** a container, so sticky positioning,
|
|
41
|
+
scroll restoration and anchor jumps keep working:
|
|
42
|
+
|
|
43
|
+
```css
|
|
44
|
+
@import "tailwindcss";
|
|
45
|
+
@import "@leavepulse/ui/css";
|
|
46
|
+
@import "@leavepulse/ui/scrollbar.css"; /* after the tokens — reads --color-brand */
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Hide a specific scrollbar with the `lp-scrollbar-none` class.
|
|
50
|
+
|
|
51
|
+
## Develop
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
bun install # also builds dist via the prepare hook
|
|
55
|
+
bun run dev # live preview/playground on http://127.0.0.1:4500
|
|
56
|
+
bun run build # type-check + build the library to dist/
|
|
57
|
+
bun run dev:dist # rebuild dist on change (for a linked consumer)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
`dist/` is generated, not committed — the `prepare` hook rebuilds it on install so
|
|
61
|
+
any consumer gets a fresh build.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const COMPONENT_NAMES: readonly ["LayoutCanvas", "LayoutNode", "LpAlert", "LpAppShell", "LpAutocomplete", "LpAvatar", "LpBadge", "LpBreadcrumbs", "LpButton", "LpCalendar", "LpCard", "LpCheckbox", "LpCodeBlock", "LpCommandPalette", "LpConfirmDialog", "LpContextMenu", "LpDatePicker", "LpDisclosure", "LpDivider", "LpDrawer", "LpDropdownMenu", "LpEmptyState", "LpFormField", "LpIcon", "LpInfraNode", "LpInput", "LpLaneNode", "LpLink", "LpLogViewer", "LpModal", "LpNotificationBell", "LpNumberField", "LpOtpInput", "LpPagination", "LpPasswordInput", "LpPhoneInput", "LpPopover", "LpProgress", "LpRadio", "LpRadioGroup", "LpScrollArea", "LpSegmented", "LpSelect", "LpServiceNode", "LpSidebar", "LpSidebarNav", "LpSkeleton", "LpSlider", "LpStat", "LpStepper", "LpSwitch", "LpTable", "LpTableOfContents", "LpTabs", "LpTextarea", "LpThemeSwitcher", "LpToaster", "LpTooltip", "LpTopologyCanvas", "LpUptimeBar"];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Split } from '../layout/tree';
|
|
2
|
+
import { 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 { LayoutNode, Side, Split } from '../layout/tree';
|
|
2
|
+
import { 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,44 @@
|
|
|
1
|
+
import { 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, "flex gap-3 rounded-card border p-4 text-sm", {
|
|
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, "flex gap-3 rounded-card border p-4 text-sm", 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" | "success" | "warning" | "danger";
|
|
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,83 @@
|
|
|
1
|
+
import { SidebarItem, SidebarSection } from './sidebar';
|
|
2
|
+
export type { SidebarItem, SidebarSection } from './sidebar';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
/** Flat items, or sections for grouped nav. Forwarded to LpSidebar. */
|
|
5
|
+
items?: SidebarItem[];
|
|
6
|
+
sections?: SidebarSection[];
|
|
7
|
+
/** Active item id (v-model) when not using a custom `isActive`. */
|
|
8
|
+
modelValue?: string;
|
|
9
|
+
/**
|
|
10
|
+
* The current route path. Enables the built-in prefix-match active test and
|
|
11
|
+
* the derived page title without the host wiring its own `isActive`. Pass
|
|
12
|
+
* `route.path`. Ignored when a custom `isActive` is provided.
|
|
13
|
+
*/
|
|
14
|
+
path?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Custom active test (router-driven nav). Overrides `path`/`modelValue`.
|
|
17
|
+
*/
|
|
18
|
+
isActive?: (item: SidebarItem) => boolean;
|
|
19
|
+
/** Override the header title. Falls back to the active item's label. */
|
|
20
|
+
title?: string;
|
|
21
|
+
/** Mobile drawer open state (v-model:open). */
|
|
22
|
+
open?: boolean;
|
|
23
|
+
/** Tailwind breakpoint below which the rail becomes a drawer. */
|
|
24
|
+
mobileBreakpoint?: "sm" | "md" | "lg" | "xl";
|
|
25
|
+
/** Show the brand/header divider in the rail. */
|
|
26
|
+
divider?: boolean;
|
|
27
|
+
/** Max content width inside main (Tailwind class), or null to fill. */
|
|
28
|
+
contentClass?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Full-bleed main: render the page slot directly into main with NO
|
|
31
|
+
* scroll-area wrapper and NO padding, so the page owns the whole region
|
|
32
|
+
* (for a canvas / map / graph that fills the viewport and pans internally).
|
|
33
|
+
*/
|
|
34
|
+
fullBleed?: boolean;
|
|
35
|
+
/** Loading skeleton for the nav. */
|
|
36
|
+
loading?: boolean;
|
|
37
|
+
};
|
|
38
|
+
declare var __VLS_12: {}, __VLS_15: {}, __VLS_18: {}, __VLS_21: {
|
|
39
|
+
item: SidebarItem;
|
|
40
|
+
active: boolean;
|
|
41
|
+
}, __VLS_36: {}, __VLS_38: {}, __VLS_40: {}, __VLS_48: {}, __VLS_50: {};
|
|
42
|
+
type __VLS_Slots = {} & {
|
|
43
|
+
logo?: (props: typeof __VLS_12) => any;
|
|
44
|
+
} & {
|
|
45
|
+
'sidebar-actions'?: (props: typeof __VLS_15) => any;
|
|
46
|
+
} & {
|
|
47
|
+
'sidebar-footer'?: (props: typeof __VLS_18) => any;
|
|
48
|
+
} & {
|
|
49
|
+
'sidebar-item'?: (props: typeof __VLS_21) => any;
|
|
50
|
+
} & {
|
|
51
|
+
'header-title'?: (props: typeof __VLS_36) => any;
|
|
52
|
+
} & {
|
|
53
|
+
'header-actions'?: (props: typeof __VLS_38) => any;
|
|
54
|
+
} & {
|
|
55
|
+
default?: (props: typeof __VLS_40) => any;
|
|
56
|
+
} & {
|
|
57
|
+
default?: (props: typeof __VLS_48) => any;
|
|
58
|
+
} & {
|
|
59
|
+
overlays?: (props: typeof __VLS_50) => any;
|
|
60
|
+
};
|
|
61
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {
|
|
62
|
+
openDrawer: () => void;
|
|
63
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
64
|
+
select: (item: SidebarItem) => any;
|
|
65
|
+
"update:modelValue": (id: string) => any;
|
|
66
|
+
"update:open": (value: boolean) => any;
|
|
67
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
68
|
+
onSelect?: ((item: SidebarItem) => any) | undefined;
|
|
69
|
+
"onUpdate:modelValue"?: ((id: string) => any) | undefined;
|
|
70
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
71
|
+
}>, {
|
|
72
|
+
contentClass: string;
|
|
73
|
+
mobileBreakpoint: "sm" | "md" | "lg" | "xl";
|
|
74
|
+
divider: boolean;
|
|
75
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
76
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
77
|
+
declare const _default: typeof __VLS_export;
|
|
78
|
+
export default _default;
|
|
79
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
80
|
+
new (): {
|
|
81
|
+
$slots: S;
|
|
82
|
+
};
|
|
83
|
+
};
|
|
@@ -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
|
+
size: "sm" | "md" | "lg";
|
|
41
|
+
filter: boolean;
|
|
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,20 @@
|
|
|
1
|
+
import { 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" | undefined;
|
|
9
|
+
/** Right-click menu (e.g. account quick actions). Consumer-supplied. */
|
|
10
|
+
menuItems?: ContextMenuItemDef[];
|
|
11
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
12
|
+
src?: string;
|
|
13
|
+
alt?: string;
|
|
14
|
+
fallback?: string;
|
|
15
|
+
size?: "sm" | "md" | "lg" | undefined;
|
|
16
|
+
/** Right-click menu (e.g. account quick actions). Consumer-supplied. */
|
|
17
|
+
menuItems?: ContextMenuItemDef[];
|
|
18
|
+
}> & Readonly<{}>, {
|
|
19
|
+
size: "sm" | "md" | "lg";
|
|
20
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { VariantProps } from 'tailwind-variants';
|
|
2
|
+
declare const badge: import('tailwind-variants').TVReturnType<{
|
|
3
|
+
tone: {
|
|
4
|
+
neutral: string;
|
|
5
|
+
brand: string;
|
|
6
|
+
action: string;
|
|
7
|
+
success: string;
|
|
8
|
+
danger: string;
|
|
9
|
+
outline: string;
|
|
10
|
+
};
|
|
11
|
+
}, undefined, "inline-flex items-center gap-1.5 rounded-pill px-2.5 py-0.5 text-xs font-medium", {
|
|
12
|
+
tone: {
|
|
13
|
+
neutral: string;
|
|
14
|
+
brand: string;
|
|
15
|
+
action: string;
|
|
16
|
+
success: string;
|
|
17
|
+
danger: string;
|
|
18
|
+
outline: string;
|
|
19
|
+
};
|
|
20
|
+
}, undefined, import('tailwind-variants').TVReturnType<{
|
|
21
|
+
tone: {
|
|
22
|
+
neutral: string;
|
|
23
|
+
brand: string;
|
|
24
|
+
action: string;
|
|
25
|
+
success: string;
|
|
26
|
+
danger: string;
|
|
27
|
+
outline: string;
|
|
28
|
+
};
|
|
29
|
+
}, undefined, "inline-flex items-center gap-1.5 rounded-pill px-2.5 py-0.5 text-xs font-medium", unknown, unknown, undefined>>;
|
|
30
|
+
type BadgeVariants = VariantProps<typeof badge>;
|
|
31
|
+
type __VLS_Props = {
|
|
32
|
+
tone?: BadgeVariants["tone"];
|
|
33
|
+
dot?: boolean;
|
|
34
|
+
};
|
|
35
|
+
declare var __VLS_1: {};
|
|
36
|
+
type __VLS_Slots = {} & {
|
|
37
|
+
default?: (props: typeof __VLS_1) => any;
|
|
38
|
+
};
|
|
39
|
+
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>;
|
|
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
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface Crumb {
|
|
2
|
+
label: string;
|
|
3
|
+
href?: string;
|
|
4
|
+
}
|
|
5
|
+
type __VLS_Props = {
|
|
6
|
+
items: Crumb[];
|
|
7
|
+
};
|
|
8
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
9
|
+
navigate: (item: Crumb, index: number) => any;
|
|
10
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
11
|
+
onNavigate?: ((item: Crumb, index: number) => any) | undefined;
|
|
12
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
13
|
+
declare const _default: typeof __VLS_export;
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { VariantProps } from 'tailwind-variants';
|
|
2
|
+
import { 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
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** Selected date as "YYYY-MM-DD" (v-model). */
|
|
3
|
+
modelValue?: string;
|
|
4
|
+
/** Earliest selectable date, "YYYY-MM-DD". */
|
|
5
|
+
min?: string;
|
|
6
|
+
/** Latest selectable date, "YYYY-MM-DD". */
|
|
7
|
+
max?: string;
|
|
8
|
+
/** Predicate to disable specific days; receives the ISO string. */
|
|
9
|
+
isDisabled?: (iso: string) => boolean;
|
|
10
|
+
weekdayFormat?: "narrow" | "short" | "long";
|
|
11
|
+
};
|
|
12
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
13
|
+
"update:modelValue": (value: string | undefined) => any;
|
|
14
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
15
|
+
"onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
|
|
16
|
+
}>, {
|
|
17
|
+
weekdayFormat: "narrow" | "short" | "long";
|
|
18
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
19
|
+
declare const _default: typeof __VLS_export;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ContextMenuItemDef } from './LpContextMenu.vue';
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
4
|
+
declare const __VLS_export: __VLS_WithSlots<import('vue').DefineComponent<{
|
|
5
|
+
variant?: "flat" | "ghost" | "raised" | undefined;
|
|
6
|
+
padded?: boolean;
|
|
7
|
+
interactive?: boolean;
|
|
8
|
+
/** Right-click menu for the card. Omit (or pass []) to keep the native one. */
|
|
9
|
+
menuItems?: ContextMenuItemDef[];
|
|
10
|
+
}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
|
|
11
|
+
variant?: "flat" | "ghost" | "raised" | undefined;
|
|
12
|
+
padded?: boolean;
|
|
13
|
+
interactive?: boolean;
|
|
14
|
+
/** Right-click menu for the card. Omit (or pass []) to keep the native one. */
|
|
15
|
+
menuItems?: ContextMenuItemDef[];
|
|
16
|
+
}> & Readonly<{}>, {
|
|
17
|
+
variant: "flat" | "ghost" | "raised";
|
|
18
|
+
padded: boolean;
|
|
19
|
+
interactive: boolean;
|
|
20
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
|
|
21
|
+
default?: (props: {}) => any;
|
|
22
|
+
} & {
|
|
23
|
+
default?: (props: {}) => any;
|
|
24
|
+
}>;
|
|
25
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
26
|
+
new (): {
|
|
27
|
+
$slots: S;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
modelValue?: boolean;
|
|
3
|
+
/** Mixed state (e.g. a "select all" with a partial selection). Shows a dash. */
|
|
4
|
+
indeterminate?: boolean;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
label?: string;
|
|
7
|
+
id?: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
};
|
|
10
|
+
declare var __VLS_20: {};
|
|
11
|
+
type __VLS_Slots = {} & {
|
|
12
|
+
default?: (props: typeof __VLS_20) => any;
|
|
13
|
+
};
|
|
14
|
+
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
15
|
+
change: (value: boolean) => any;
|
|
16
|
+
"update:modelValue": (value: boolean) => any;
|
|
17
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
18
|
+
onChange?: ((value: boolean) => any) | undefined;
|
|
19
|
+
"onUpdate:modelValue"?: ((value: boolean) => 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,39 @@
|
|
|
1
|
+
import { CodeLang } from './codeHighlight';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
/** The code (v-model when editable). */
|
|
4
|
+
modelValue?: string;
|
|
5
|
+
lang?: CodeLang;
|
|
6
|
+
/** Show 1-based gutter line numbers. */
|
|
7
|
+
lineNumbers?: boolean;
|
|
8
|
+
/** Wrap long lines instead of scrolling horizontally. */
|
|
9
|
+
wrap?: boolean;
|
|
10
|
+
/** Read-only. Set false for an editable field with a lock toggle. */
|
|
11
|
+
locked?: boolean;
|
|
12
|
+
/** Show the lock/unlock toggle in the header (opt-in editability). */
|
|
13
|
+
lockToggle?: boolean;
|
|
14
|
+
/** Show the copy button. */
|
|
15
|
+
copyable?: boolean;
|
|
16
|
+
/** Caption shown in the header (e.g. a filename). */
|
|
17
|
+
title?: string;
|
|
18
|
+
/** Fixed height; defaults to content height. */
|
|
19
|
+
height?: string;
|
|
20
|
+
/** Auto-collapse a leading import/package block (no markers needed). */
|
|
21
|
+
foldImports?: boolean;
|
|
22
|
+
};
|
|
23
|
+
declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
24
|
+
"update:modelValue": (value: string) => any;
|
|
25
|
+
"update:locked": (value: boolean) => any;
|
|
26
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
27
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
28
|
+
"onUpdate:locked"?: ((value: boolean) => any) | undefined;
|
|
29
|
+
}>, {
|
|
30
|
+
lang: CodeLang;
|
|
31
|
+
wrap: boolean;
|
|
32
|
+
lineNumbers: boolean;
|
|
33
|
+
locked: boolean;
|
|
34
|
+
lockToggle: boolean;
|
|
35
|
+
copyable: boolean;
|
|
36
|
+
foldImports: boolean;
|
|
37
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
38
|
+
declare const _default: typeof __VLS_export;
|
|
39
|
+
export default _default;
|