@leavepulse/ui 0.43.2 → 0.43.4
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/dist/assets/{LpCommandPalette-DH7sPcKP.css → LpCommandPalette-B-0Est4Z.css} +21 -21
- 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/LpActionBar.vue.d.ts +84 -0
- package/dist/components/LpAddressInput.vue.d.ts +70 -0
- package/dist/components/LpAlert.vue.d.ts +44 -0
- package/dist/components/LpAppShell.vue.d.ts +123 -0
- package/dist/components/LpAutocomplete.vue.d.ts +50 -0
- package/dist/components/LpAvatar.vue.d.ts +34 -0
- package/dist/components/LpBadge.vue.d.ts +20 -0
- package/dist/components/LpBreadcrumbs.vue.d.ts +32 -0
- package/dist/components/LpButton.vue.d.ts +113 -0
- package/dist/components/LpCalendar.vue.d.ts +29 -0
- package/dist/components/LpCard.vue.d.ts +60 -0
- package/dist/components/LpChart.vue.d.ts +130 -0
- package/dist/components/LpCheckbox.vue.d.ts +32 -0
- package/dist/components/LpCodeBlock.vue.d.ts +58 -0
- package/dist/components/LpColorPicker.vue.d.ts +124 -0
- package/dist/components/LpCommandPalette.vue.d.ts +199 -0
- package/dist/components/LpCommandPalette.vue.js +4 -8
- package/dist/components/LpConfirmDialog.vue.d.ts +59 -0
- package/dist/components/LpContextMenu.vue.d.ts +44 -0
- package/dist/components/LpDatePicker.vue.d.ts +33 -0
- package/dist/components/LpDisclosure.vue.d.ts +47 -0
- package/dist/components/LpDivider.vue.d.ts +17 -0
- package/dist/components/LpDrawer.vue.d.ts +170 -0
- package/dist/components/LpDropdownMenu.vue.d.ts +23 -0
- package/dist/components/LpDropzone.vue.d.ts +90 -0
- package/dist/components/LpEmptyState.vue.d.ts +28 -0
- package/dist/components/LpFileTree.vue.d.ts +126 -0
- package/dist/components/LpFileTreeNode.vue.d.ts +62 -0
- package/dist/components/LpFormField.vue.d.ts +24 -0
- package/dist/components/LpIcon.vue.d.ts +9 -0
- package/dist/components/LpImageEditor.vue.d.ts +106 -0
- package/dist/components/LpInfraNode.vue.d.ts +65 -0
- package/dist/components/LpInput.vue.d.ts +80 -0
- package/dist/components/LpLaneNode.vue.d.ts +24 -0
- package/dist/components/LpLightbox.vue.d.ts +62 -0
- package/dist/components/LpLink.vue.d.ts +93 -0
- package/dist/components/LpLogViewer.vue.d.ts +153 -0
- package/dist/components/LpMapPicker.vue.d.ts +59 -0
- package/dist/components/LpMediaGallery.vue.d.ts +80 -0
- package/dist/components/LpModal.vue.d.ts +66 -0
- package/dist/components/LpModalNav.vue.d.ts +66 -0
- package/dist/components/LpNotificationBell.vue.d.ts +85 -0
- package/dist/components/LpNumberField.vue.d.ts +21 -0
- package/dist/components/LpNumberFlow.vue.d.ts +35 -0
- package/dist/components/LpOtpInput.vue.d.ts +39 -0
- package/dist/components/LpPagination.vue.d.ts +35 -0
- package/dist/components/LpPasswordInput.vue.d.ts +36 -0
- package/dist/components/LpPhoneInput.vue.d.ts +49 -0
- package/dist/components/LpPie.vue.d.ts +196 -0
- package/dist/components/LpPopover.vue.d.ts +34 -0
- package/dist/components/LpProgress.vue.d.ts +66 -0
- package/dist/components/LpRadio.vue.d.ts +18 -0
- package/dist/components/LpRadioGroup.vue.d.ts +26 -0
- package/dist/components/LpRollingText.vue.d.ts +33 -0
- package/dist/components/LpScrollArea.vue.d.ts +28 -0
- package/dist/components/LpSection.vue.d.ts +120 -0
- package/dist/components/LpSegmented.vue.d.ts +30 -0
- package/dist/components/LpSelect.vue.d.ts +47 -0
- package/dist/components/LpServiceNode.vue.d.ts +14 -0
- package/dist/components/LpShift.vue.d.ts +36 -0
- package/dist/components/LpShortcutsDialog.vue.d.ts +24 -0
- package/dist/components/LpSidebar.vue.d.ts +146 -0
- package/dist/components/LpSidebarNav.vue.d.ts +54 -0
- package/dist/components/LpSkeleton.vue.d.ts +16 -0
- package/dist/components/LpSlider.vue.d.ts +30 -0
- package/dist/components/LpSparkline.vue.d.ts +48 -0
- package/dist/components/LpStat.vue.d.ts +69 -0
- package/dist/components/LpStepper.vue.d.ts +36 -0
- package/dist/components/LpSwitch.vue.d.ts +42 -0
- package/dist/components/LpTable.vue.d.ts +124 -0
- package/dist/components/LpTableOfContents.vue.d.ts +19 -0
- package/dist/components/LpTabs.vue.d.ts +47 -0
- package/dist/components/LpTextarea.vue.d.ts +22 -0
- package/dist/components/LpThemeSwitcher.vue.d.ts +47 -0
- package/dist/components/LpTilt.vue.d.ts +31 -0
- package/dist/components/LpTimeField.vue.d.ts +24 -0
- package/dist/components/LpToaster.vue.d.ts +3 -0
- package/dist/components/LpTooltip.vue.d.ts +58 -0
- package/dist/components/LpTopologyCanvas.vue.d.ts +205 -0
- package/dist/components/LpUptimeBar.vue.d.ts +46 -0
- package/dist/components/LpWaypointEdge.vue.d.ts +33 -0
- package/dist/components/actionBar.d.ts +19 -0
- package/dist/components/address.d.ts +107 -0
- package/dist/components/chart.d.ts +180 -0
- package/dist/components/codeHighlight.d.ts +8 -0
- package/dist/components/color.d.ts +65 -0
- package/dist/components/commandSearch.d.ts +13 -0
- package/dist/components/commandSearch.js +1 -17
- 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/fileTree.d.ts +79 -0
- package/dist/components/lightbox.d.ts +24 -0
- package/dist/components/modalDepth.d.ts +11 -0
- package/dist/components/sidebar.d.ts +42 -0
- package/dist/composables/easing.d.ts +46 -0
- package/dist/composables/useAsyncTask.d.ts +18 -0
- package/dist/composables/useClipboard.d.ts +46 -0
- package/dist/composables/useFormDraft.d.ts +67 -0
- package/dist/composables/useGlass.d.ts +9 -0
- package/dist/composables/useHotkeys.d.ts +101 -0
- package/dist/composables/useInputFilter.d.ts +14 -0
- package/dist/composables/useMergedClass.d.ts +42 -0
- package/dist/composables/usePillTransition.d.ts +21 -0
- package/dist/composables/useReveal.d.ts +26 -0
- package/dist/composables/useRovingFocus.d.ts +49 -0
- package/dist/composables/useSettled.d.ts +26 -0
- package/dist/composables/useShift.d.ts +35 -0
- package/dist/composables/useTilt.d.ts +23 -0
- package/dist/composables/useToast.d.ts +41 -0
- package/dist/composables/useZoomPan.d.ts +58 -0
- package/dist/icons.d.ts +1 -0
- package/dist/index.d.ts +162 -0
- package/dist/index.js +1 -2
- 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/backdrop.d.ts +9 -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 +75 -0
- package/dist/theme/useTheme.d.ts +46 -0
- package/package.json +2 -2
- package/src/components/LpCommandPalette.vue +2 -12
- package/src/components/commandSearch.ts +0 -17
- package/src/index.ts +1 -1
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { type LightboxItem } from "./lightbox";
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
open?: boolean;
|
|
4
|
+
/** Images to page through. */
|
|
5
|
+
items: LightboxItem[];
|
|
6
|
+
/** Index of the visible image (v-model:index). */
|
|
7
|
+
index?: number;
|
|
8
|
+
/** Thumbnail strip along the bottom. Defaults on when there's more than one. */
|
|
9
|
+
filmstrip?: boolean;
|
|
10
|
+
/** Show the rotate control. */
|
|
11
|
+
rotatable?: boolean;
|
|
12
|
+
/** Show the download control. */
|
|
13
|
+
downloadable?: boolean;
|
|
14
|
+
/** Show "copy image" — needs a same-origin or CORS-readable source. */
|
|
15
|
+
copyable?: boolean;
|
|
16
|
+
/** Wrap from the last image back to the first. */
|
|
17
|
+
loop?: boolean;
|
|
18
|
+
/** Largest zoom level. */
|
|
19
|
+
maxZoom?: number;
|
|
20
|
+
};
|
|
21
|
+
type __VLS_Slots = {
|
|
22
|
+
/** Replace the caption block under the image. */
|
|
23
|
+
caption(props: {
|
|
24
|
+
item: LightboxItem;
|
|
25
|
+
index: number;
|
|
26
|
+
total: number;
|
|
27
|
+
}): unknown;
|
|
28
|
+
/** Extra controls in the toolbar, before the close button. */
|
|
29
|
+
actions(props: {
|
|
30
|
+
item: LightboxItem;
|
|
31
|
+
index: number;
|
|
32
|
+
}): unknown;
|
|
33
|
+
};
|
|
34
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
35
|
+
copy: (item: LightboxItem, ok: boolean) => any;
|
|
36
|
+
download: (item: LightboxItem) => any;
|
|
37
|
+
change: (index: number, item: LightboxItem) => any;
|
|
38
|
+
"update:open": (value: boolean) => any;
|
|
39
|
+
"update:index": (value: number) => any;
|
|
40
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
41
|
+
onCopy?: ((item: LightboxItem, ok: boolean) => any) | undefined;
|
|
42
|
+
onDownload?: ((item: LightboxItem) => any) | undefined;
|
|
43
|
+
onChange?: ((index: number, item: LightboxItem) => any) | undefined;
|
|
44
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
45
|
+
"onUpdate:index"?: ((value: number) => any) | undefined;
|
|
46
|
+
}>, {
|
|
47
|
+
loop: boolean;
|
|
48
|
+
open: boolean;
|
|
49
|
+
maxZoom: number;
|
|
50
|
+
index: number;
|
|
51
|
+
copyable: boolean;
|
|
52
|
+
rotatable: boolean;
|
|
53
|
+
downloadable: boolean;
|
|
54
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
55
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
56
|
+
declare const _default: typeof __VLS_export;
|
|
57
|
+
export default _default;
|
|
58
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
59
|
+
new (): {
|
|
60
|
+
$slots: S;
|
|
61
|
+
};
|
|
62
|
+
};
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { type Component } from "vue";
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
4
|
+
declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
|
|
5
|
+
href?: string;
|
|
6
|
+
external?: boolean;
|
|
7
|
+
/** Shorthand for `tone="muted"`. */
|
|
8
|
+
muted?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* "brand" — the accent link colour (default).
|
|
11
|
+
* "ink" — inherits body text colour; for links that sit inside prose or
|
|
12
|
+
* chrome where an accent would shout (breadcrumbs, footers, nav).
|
|
13
|
+
* "muted" / "soft" — progressively quieter, both resolving to ink on hover.
|
|
14
|
+
*/
|
|
15
|
+
tone?: "brand" | "ink" | "muted" | "soft";
|
|
16
|
+
/**
|
|
17
|
+
* Root element/component. Defaults to a native <a>. Pass a router link
|
|
18
|
+
* component (e.g. NuxtLink or RouterLink) to keep client-side navigation;
|
|
19
|
+
* the kit stays DOM-agnostic, the consumer supplies the link component.
|
|
20
|
+
* Router links take their destination through their own prop (`to`), which
|
|
21
|
+
* falls through as a plain attribute.
|
|
22
|
+
*/
|
|
23
|
+
as?: string | Component;
|
|
24
|
+
/**
|
|
25
|
+
* "default" — plain hover underline.
|
|
26
|
+
* "underline" — underlined at rest; for links inside running prose,
|
|
27
|
+
* where hover-only underlines leave the link invisible until pointed at.
|
|
28
|
+
* "reveal" — an underline bar that grows in from the left on hover
|
|
29
|
+
* (origin-left scale-x 0→1). The LeavePulse landing "monitoring" link feel;
|
|
30
|
+
* good for inline prose links and nav items that want a bit of motion.
|
|
31
|
+
*/
|
|
32
|
+
variant?: "default" | "underline" | "reveal";
|
|
33
|
+
/**
|
|
34
|
+
* Which hover draws the `reveal` bar.
|
|
35
|
+
*
|
|
36
|
+
* "self" — the link's own hover (default), for an inline prose link.
|
|
37
|
+
* "group" — the hover of an ancestor marked `group`, for a link inside a
|
|
38
|
+
* row or card that is itself the click target. The row lights up and the
|
|
39
|
+
* name sweeps with it, instead of the bar waiting for the pointer to
|
|
40
|
+
* cross the text exactly.
|
|
41
|
+
*/
|
|
42
|
+
revealOn?: "self" | "group";
|
|
43
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
|
|
44
|
+
href?: string;
|
|
45
|
+
external?: boolean;
|
|
46
|
+
/** Shorthand for `tone="muted"`. */
|
|
47
|
+
muted?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* "brand" — the accent link colour (default).
|
|
50
|
+
* "ink" — inherits body text colour; for links that sit inside prose or
|
|
51
|
+
* chrome where an accent would shout (breadcrumbs, footers, nav).
|
|
52
|
+
* "muted" / "soft" — progressively quieter, both resolving to ink on hover.
|
|
53
|
+
*/
|
|
54
|
+
tone?: "brand" | "ink" | "muted" | "soft";
|
|
55
|
+
/**
|
|
56
|
+
* Root element/component. Defaults to a native <a>. Pass a router link
|
|
57
|
+
* component (e.g. NuxtLink or RouterLink) to keep client-side navigation;
|
|
58
|
+
* the kit stays DOM-agnostic, the consumer supplies the link component.
|
|
59
|
+
* Router links take their destination through their own prop (`to`), which
|
|
60
|
+
* falls through as a plain attribute.
|
|
61
|
+
*/
|
|
62
|
+
as?: string | Component;
|
|
63
|
+
/**
|
|
64
|
+
* "default" — plain hover underline.
|
|
65
|
+
* "underline" — underlined at rest; for links inside running prose,
|
|
66
|
+
* where hover-only underlines leave the link invisible until pointed at.
|
|
67
|
+
* "reveal" — an underline bar that grows in from the left on hover
|
|
68
|
+
* (origin-left scale-x 0→1). The LeavePulse landing "monitoring" link feel;
|
|
69
|
+
* good for inline prose links and nav items that want a bit of motion.
|
|
70
|
+
*/
|
|
71
|
+
variant?: "default" | "underline" | "reveal";
|
|
72
|
+
/**
|
|
73
|
+
* Which hover draws the `reveal` bar.
|
|
74
|
+
*
|
|
75
|
+
* "self" — the link's own hover (default), for an inline prose link.
|
|
76
|
+
* "group" — the hover of an ancestor marked `group`, for a link inside a
|
|
77
|
+
* row or card that is itself the click target. The row lights up and the
|
|
78
|
+
* name sweeps with it, instead of the bar waiting for the pointer to
|
|
79
|
+
* cross the text exactly.
|
|
80
|
+
*/
|
|
81
|
+
revealOn?: "self" | "group";
|
|
82
|
+
}> & Readonly<{}>, {
|
|
83
|
+
as: string | Component;
|
|
84
|
+
variant: "default" | "underline" | "reveal";
|
|
85
|
+
revealOn: "self" | "group";
|
|
86
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
87
|
+
default?: (props: {}) => any;
|
|
88
|
+
}>;
|
|
89
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
90
|
+
new (): {
|
|
91
|
+
$slots: S;
|
|
92
|
+
};
|
|
93
|
+
};
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { type ContextMenuItemDef } from "./LpContextMenu.vue";
|
|
2
|
+
export type LogLevel = "trace" | "debug" | "info" | "warn" | "error" | "fatal" | "success";
|
|
3
|
+
export interface LogLine {
|
|
4
|
+
/** Body of the line. */
|
|
5
|
+
message: string;
|
|
6
|
+
level?: LogLevel;
|
|
7
|
+
/** Epoch ms, ISO string, or pre-formatted label — shown in the time column. */
|
|
8
|
+
time?: number | string;
|
|
9
|
+
/** Short origin tag (service / module), rendered as a dim chip. */
|
|
10
|
+
source?: string;
|
|
11
|
+
}
|
|
12
|
+
declare const _default: typeof __VLS_export;
|
|
13
|
+
export default _default;
|
|
14
|
+
declare const __VLS_export: import("vue").DefineComponent<{
|
|
15
|
+
lines: LogLine[];
|
|
16
|
+
/** Show the timestamp column. */
|
|
17
|
+
showTime?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Show the per-line level chip (INFO/WARN/…). On by default. Turn off for
|
|
20
|
+
* raw streams (e.g. docker logs) where most lines have no real level and a
|
|
21
|
+
* blanket "INFO" chip is just noise — the tonal level RAIL still renders, so
|
|
22
|
+
* errors/warnings stay visually distinct.
|
|
23
|
+
*/
|
|
24
|
+
showLevel?: boolean;
|
|
25
|
+
/** Show 1-based gutter line numbers. */
|
|
26
|
+
lineNumbers?: boolean;
|
|
27
|
+
/** Wrap long lines instead of scrolling horizontally. */
|
|
28
|
+
wrap?: boolean;
|
|
29
|
+
/** Case-insensitive substring to highlight in message bodies. */
|
|
30
|
+
highlight?: string;
|
|
31
|
+
/** When set with `highlight`, hide every line that doesn't match. */
|
|
32
|
+
filterMatches?: boolean;
|
|
33
|
+
/** Collapse consecutive identical lines into one, badged with a ×N count. */
|
|
34
|
+
compact?: boolean;
|
|
35
|
+
/** Pin to the bottom as new lines arrive (until the user scrolls up). */
|
|
36
|
+
tail?: boolean;
|
|
37
|
+
/** Fixed height. Anything CSS-valid; defaults to a comfortable terminal. */
|
|
38
|
+
height?: string;
|
|
39
|
+
emptyLabel?: string;
|
|
40
|
+
/** Shown while the stream is held. Defaulted in English; apps with i18n
|
|
41
|
+
* pass their own. */
|
|
42
|
+
frozenLabel?: string;
|
|
43
|
+
/**
|
|
44
|
+
* When true, a "loading older…" row is shown pinned at the top — set it while
|
|
45
|
+
* fetching a previous page in response to `reach-top`, clear it when done.
|
|
46
|
+
*/
|
|
47
|
+
loadingOlder?: boolean;
|
|
48
|
+
/**
|
|
49
|
+
* When true, the viewer emits `reach-top` as the user scrolls near the top so
|
|
50
|
+
* the consumer can prepend older history (infinite scroll-back). The viewer
|
|
51
|
+
* preserves the scroll position across a prepend so the view doesn't jump.
|
|
52
|
+
*/
|
|
53
|
+
loadOlder?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Right-click row menu: built-in copy actions (+ "filter by" when the line
|
|
56
|
+
* has a source/level). Set false to disable; the row keeps the native menu.
|
|
57
|
+
*/
|
|
58
|
+
rowMenu?: boolean;
|
|
59
|
+
/** Extra menu items per line, appended below the built-ins with a divider. */
|
|
60
|
+
extraRowItems?: (line: LogLine, index: number) => ContextMenuItemDef[];
|
|
61
|
+
/**
|
|
62
|
+
* Recognise common log formats inside each `message` and lift the level,
|
|
63
|
+
* timestamp and [source] out of the text into the dedicated columns. When a
|
|
64
|
+
* line already carries an explicit `level`/`time`/`source`, those win and
|
|
65
|
+
* the message is left untouched. Off by default (raw). Handles e.g.:
|
|
66
|
+
* "2025-01-02T03:04:05.123Z INFO [auth] user logged in"
|
|
67
|
+
* "[2025-01-02 03:04:05] WARN: disk almost full"
|
|
68
|
+
* "ERROR something broke"
|
|
69
|
+
* so a duplicate level word / timestamp doesn't repeat in the message body.
|
|
70
|
+
*/
|
|
71
|
+
parse?: boolean;
|
|
72
|
+
}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
73
|
+
filter: (by: {
|
|
74
|
+
source?: string;
|
|
75
|
+
level?: LogLevel;
|
|
76
|
+
}) => any;
|
|
77
|
+
"reach-top": () => any;
|
|
78
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
79
|
+
lines: LogLine[];
|
|
80
|
+
/** Show the timestamp column. */
|
|
81
|
+
showTime?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Show the per-line level chip (INFO/WARN/…). On by default. Turn off for
|
|
84
|
+
* raw streams (e.g. docker logs) where most lines have no real level and a
|
|
85
|
+
* blanket "INFO" chip is just noise — the tonal level RAIL still renders, so
|
|
86
|
+
* errors/warnings stay visually distinct.
|
|
87
|
+
*/
|
|
88
|
+
showLevel?: boolean;
|
|
89
|
+
/** Show 1-based gutter line numbers. */
|
|
90
|
+
lineNumbers?: boolean;
|
|
91
|
+
/** Wrap long lines instead of scrolling horizontally. */
|
|
92
|
+
wrap?: boolean;
|
|
93
|
+
/** Case-insensitive substring to highlight in message bodies. */
|
|
94
|
+
highlight?: string;
|
|
95
|
+
/** When set with `highlight`, hide every line that doesn't match. */
|
|
96
|
+
filterMatches?: boolean;
|
|
97
|
+
/** Collapse consecutive identical lines into one, badged with a ×N count. */
|
|
98
|
+
compact?: boolean;
|
|
99
|
+
/** Pin to the bottom as new lines arrive (until the user scrolls up). */
|
|
100
|
+
tail?: boolean;
|
|
101
|
+
/** Fixed height. Anything CSS-valid; defaults to a comfortable terminal. */
|
|
102
|
+
height?: string;
|
|
103
|
+
emptyLabel?: string;
|
|
104
|
+
/** Shown while the stream is held. Defaulted in English; apps with i18n
|
|
105
|
+
* pass their own. */
|
|
106
|
+
frozenLabel?: string;
|
|
107
|
+
/**
|
|
108
|
+
* When true, a "loading older…" row is shown pinned at the top — set it while
|
|
109
|
+
* fetching a previous page in response to `reach-top`, clear it when done.
|
|
110
|
+
*/
|
|
111
|
+
loadingOlder?: boolean;
|
|
112
|
+
/**
|
|
113
|
+
* When true, the viewer emits `reach-top` as the user scrolls near the top so
|
|
114
|
+
* the consumer can prepend older history (infinite scroll-back). The viewer
|
|
115
|
+
* preserves the scroll position across a prepend so the view doesn't jump.
|
|
116
|
+
*/
|
|
117
|
+
loadOlder?: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Right-click row menu: built-in copy actions (+ "filter by" when the line
|
|
120
|
+
* has a source/level). Set false to disable; the row keeps the native menu.
|
|
121
|
+
*/
|
|
122
|
+
rowMenu?: boolean;
|
|
123
|
+
/** Extra menu items per line, appended below the built-ins with a divider. */
|
|
124
|
+
extraRowItems?: (line: LogLine, index: number) => ContextMenuItemDef[];
|
|
125
|
+
/**
|
|
126
|
+
* Recognise common log formats inside each `message` and lift the level,
|
|
127
|
+
* timestamp and [source] out of the text into the dedicated columns. When a
|
|
128
|
+
* line already carries an explicit `level`/`time`/`source`, those win and
|
|
129
|
+
* the message is left untouched. Off by default (raw). Handles e.g.:
|
|
130
|
+
* "2025-01-02T03:04:05.123Z INFO [auth] user logged in"
|
|
131
|
+
* "[2025-01-02 03:04:05] WARN: disk almost full"
|
|
132
|
+
* "ERROR something broke"
|
|
133
|
+
* so a duplicate level word / timestamp doesn't repeat in the message body.
|
|
134
|
+
*/
|
|
135
|
+
parse?: boolean;
|
|
136
|
+
}> & Readonly<{
|
|
137
|
+
onFilter?: ((by: {
|
|
138
|
+
source?: string;
|
|
139
|
+
level?: LogLevel;
|
|
140
|
+
}) => any) | undefined;
|
|
141
|
+
"onReach-top"?: (() => any) | undefined;
|
|
142
|
+
}>, {
|
|
143
|
+
height: string;
|
|
144
|
+
wrap: boolean;
|
|
145
|
+
emptyLabel: string;
|
|
146
|
+
lineNumbers: boolean;
|
|
147
|
+
showTime: boolean;
|
|
148
|
+
showLevel: boolean;
|
|
149
|
+
tail: boolean;
|
|
150
|
+
frozenLabel: string;
|
|
151
|
+
rowMenu: boolean;
|
|
152
|
+
parse: boolean;
|
|
153
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { type LatLon, type TileSource } from "./address";
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
4
|
+
declare const __VLS_export: import("vue").DefineComponent<{
|
|
5
|
+
/** Picked point. Bind with v-model; undefined leaves the map unpinned. */
|
|
6
|
+
modelValue?: LatLon;
|
|
7
|
+
/** Tile server. Defaults to OpenStreetMap; swap for your own. */
|
|
8
|
+
tiles?: TileSource;
|
|
9
|
+
/** Zoom used on first paint, and when a point arrives from outside. */
|
|
10
|
+
zoom?: number;
|
|
11
|
+
/** Where to look when there is no point yet. */
|
|
12
|
+
center?: LatLon;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
/** Any CSS length. */
|
|
15
|
+
height?: string;
|
|
16
|
+
/** Offer the "use my location" control (needs a secure context). */
|
|
17
|
+
locatable?: boolean;
|
|
18
|
+
zoomInLabel?: string;
|
|
19
|
+
zoomOutLabel?: string;
|
|
20
|
+
locateLabel?: string;
|
|
21
|
+
recentreLabel?: string;
|
|
22
|
+
}, {
|
|
23
|
+
zoomIn: () => void;
|
|
24
|
+
zoomOut: () => void;
|
|
25
|
+
recentre: () => void;
|
|
26
|
+
locate: () => void;
|
|
27
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
28
|
+
"update:modelValue": (value: LatLon) => any;
|
|
29
|
+
}, string, import("vue").PublicProps, Readonly<{
|
|
30
|
+
/** Picked point. Bind with v-model; undefined leaves the map unpinned. */
|
|
31
|
+
modelValue?: LatLon;
|
|
32
|
+
/** Tile server. Defaults to OpenStreetMap; swap for your own. */
|
|
33
|
+
tiles?: TileSource;
|
|
34
|
+
/** Zoom used on first paint, and when a point arrives from outside. */
|
|
35
|
+
zoom?: number;
|
|
36
|
+
/** Where to look when there is no point yet. */
|
|
37
|
+
center?: LatLon;
|
|
38
|
+
disabled?: boolean;
|
|
39
|
+
/** Any CSS length. */
|
|
40
|
+
height?: string;
|
|
41
|
+
/** Offer the "use my location" control (needs a secure context). */
|
|
42
|
+
locatable?: boolean;
|
|
43
|
+
zoomInLabel?: string;
|
|
44
|
+
zoomOutLabel?: string;
|
|
45
|
+
locateLabel?: string;
|
|
46
|
+
recentreLabel?: string;
|
|
47
|
+
}> & Readonly<{
|
|
48
|
+
"onUpdate:modelValue"?: ((value: LatLon) => any) | undefined;
|
|
49
|
+
}>, {
|
|
50
|
+
center: LatLon;
|
|
51
|
+
height: string;
|
|
52
|
+
zoom: number;
|
|
53
|
+
tiles: TileSource;
|
|
54
|
+
locatable: boolean;
|
|
55
|
+
zoomInLabel: string;
|
|
56
|
+
zoomOutLabel: string;
|
|
57
|
+
locateLabel: string;
|
|
58
|
+
recentreLabel: string;
|
|
59
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { LightboxItem } from "./lightbox";
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
/** Images in the set. The same shape LpLightbox takes. */
|
|
4
|
+
items: LightboxItem[];
|
|
5
|
+
/**
|
|
6
|
+
* Thumbnails per row. A number is that many at every width; an object is
|
|
7
|
+
* per breakpoint, e.g. `{ base: 2, md: 3, lg: 4 }`.
|
|
8
|
+
*/
|
|
9
|
+
columns?: number | {
|
|
10
|
+
base?: number;
|
|
11
|
+
sm?: number;
|
|
12
|
+
md?: number;
|
|
13
|
+
lg?: number;
|
|
14
|
+
xl?: number;
|
|
15
|
+
};
|
|
16
|
+
/** Space between thumbnails, as a Tailwind gap step. */
|
|
17
|
+
gap?: 0 | 0.5 | 1 | 1.5 | 2 | 3 | 4;
|
|
18
|
+
/** Shape of each cell. `auto` lets the image decide its own height. */
|
|
19
|
+
aspect?: "square" | "video" | "auto";
|
|
20
|
+
/**
|
|
21
|
+
* Show at most this many, with the remainder as a "+N" badge over the last
|
|
22
|
+
* visible one — the usual treatment for a set too big for the space it has.
|
|
23
|
+
* Clicking the badge opens the lightbox at the first hidden image, because
|
|
24
|
+
* that is the one the count is about.
|
|
25
|
+
*/
|
|
26
|
+
max?: number;
|
|
27
|
+
/** Open the lightbox on click. Off makes the grid a pure display. */
|
|
28
|
+
openable?: boolean;
|
|
29
|
+
/** Passed through to the lightbox. */
|
|
30
|
+
downloadable?: boolean;
|
|
31
|
+
/** Passed through to the lightbox. */
|
|
32
|
+
rotatable?: boolean;
|
|
33
|
+
/** Accessible name for the grid. */
|
|
34
|
+
ariaLabel?: string;
|
|
35
|
+
};
|
|
36
|
+
type __VLS_Slots = {
|
|
37
|
+
/** Replace a cell's contents. Gets the item and its index. */
|
|
38
|
+
item(props: {
|
|
39
|
+
item: LightboxItem;
|
|
40
|
+
index: number;
|
|
41
|
+
}): unknown;
|
|
42
|
+
/** Shown instead of the grid when `items` is empty. */
|
|
43
|
+
empty(): unknown;
|
|
44
|
+
};
|
|
45
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
|
|
46
|
+
/** Open the lightbox at an index — for a "view all" button outside the grid. */
|
|
47
|
+
openAt: (i: number) => void;
|
|
48
|
+
/** Uncover every spoiler in the set. */
|
|
49
|
+
revealAll: () => void;
|
|
50
|
+
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
51
|
+
select: (item: LightboxItem, index: number) => any;
|
|
52
|
+
"update:open": (value: boolean) => any;
|
|
53
|
+
reveal: (item: LightboxItem) => any;
|
|
54
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
55
|
+
onSelect?: ((item: LightboxItem, index: number) => any) | undefined;
|
|
56
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
57
|
+
onReveal?: ((item: LightboxItem) => any) | undefined;
|
|
58
|
+
}>, {
|
|
59
|
+
columns: number | {
|
|
60
|
+
base?: number;
|
|
61
|
+
sm?: number;
|
|
62
|
+
md?: number;
|
|
63
|
+
lg?: number;
|
|
64
|
+
xl?: number;
|
|
65
|
+
};
|
|
66
|
+
gap: 0 | 0.5 | 1 | 1.5 | 2 | 3 | 4;
|
|
67
|
+
ariaLabel: string;
|
|
68
|
+
aspect: "square" | "video" | "auto";
|
|
69
|
+
rotatable: boolean;
|
|
70
|
+
downloadable: boolean;
|
|
71
|
+
openable: boolean;
|
|
72
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
73
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
74
|
+
declare const _default: typeof __VLS_export;
|
|
75
|
+
export default _default;
|
|
76
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
77
|
+
new (): {
|
|
78
|
+
$slots: S;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
open?: boolean;
|
|
3
|
+
title?: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
/**
|
|
6
|
+
* Max content width preset. sm≈24rem … xl≈42rem, 2xl≈56rem, 3xl≈72rem,
|
|
7
|
+
* full≈96vw (near-fullscreen, for dense catalogues).
|
|
8
|
+
*/
|
|
9
|
+
size?: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full";
|
|
10
|
+
/** Explicit width override (any CSS length), wins over `size`. */
|
|
11
|
+
width?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Let the body fill the available height as a flex column instead of
|
|
14
|
+
* scrolling itself. Use for dense dashboards that own their inner scroll
|
|
15
|
+
* regions (e.g. multi-pane catalogues) — the panes scroll, not the modal.
|
|
16
|
+
*/
|
|
17
|
+
fillBody?: boolean;
|
|
18
|
+
/**
|
|
19
|
+
* Where the keyboard lands when the dialog opens. Default `"auto"` picks
|
|
20
|
+
* the first meaningful control in the body — a field to type in, or failing
|
|
21
|
+
* that the primary action — instead of the close button, which is what
|
|
22
|
+
* happens if the DOM order is left to decide.
|
|
23
|
+
*
|
|
24
|
+
* `"none"` leaves reka's own behaviour alone; pass a CSS selector to name
|
|
25
|
+
* the element yourself.
|
|
26
|
+
*/
|
|
27
|
+
autoFocus?: "auto" | "none" | string;
|
|
28
|
+
/**
|
|
29
|
+
* Frosted glass instead of a solid panel: the page shows through,
|
|
30
|
+
* blurred, under a lighter scrim (.lp-glass-overlay, .lp-scrim--light).
|
|
31
|
+
* A look, not a behaviour, so it is the app's call: unset follows
|
|
32
|
+
* `provideGlass`, and without one it is off.
|
|
33
|
+
*/
|
|
34
|
+
glass?: boolean;
|
|
35
|
+
};
|
|
36
|
+
declare var __VLS_31: {}, __VLS_39: {}, __VLS_58: {}, __VLS_66: {}, __VLS_68: {}, __VLS_70: {};
|
|
37
|
+
type __VLS_Slots = {} & {
|
|
38
|
+
aside?: (props: typeof __VLS_31) => any;
|
|
39
|
+
} & {
|
|
40
|
+
title?: (props: typeof __VLS_39) => any;
|
|
41
|
+
} & {
|
|
42
|
+
default?: (props: typeof __VLS_58) => any;
|
|
43
|
+
} & {
|
|
44
|
+
default?: (props: typeof __VLS_66) => any;
|
|
45
|
+
} & {
|
|
46
|
+
footer?: (props: typeof __VLS_68) => any;
|
|
47
|
+
} & {
|
|
48
|
+
asideEnd?: (props: typeof __VLS_70) => any;
|
|
49
|
+
};
|
|
50
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
51
|
+
"update:open": (value: boolean) => any;
|
|
52
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
53
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
54
|
+
}>, {
|
|
55
|
+
size: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full";
|
|
56
|
+
autoFocus: "auto" | "none" | string;
|
|
57
|
+
glass: boolean;
|
|
58
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
59
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
60
|
+
declare const _default: typeof __VLS_export;
|
|
61
|
+
export default _default;
|
|
62
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
63
|
+
new (): {
|
|
64
|
+
$slots: S;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import type { SidebarItem, SidebarSection } from "./sidebar";
|
|
2
|
+
export type { SidebarItem, SidebarSection } from "./sidebar";
|
|
3
|
+
type Breakpoint = "sm" | "md" | "lg" | "xl";
|
|
4
|
+
type __VLS_Props = {
|
|
5
|
+
open?: boolean;
|
|
6
|
+
/** Active section id (v-model). */
|
|
7
|
+
modelValue?: string;
|
|
8
|
+
/** Flat sections, or grouped ones — the shapes LpSidebar already takes. */
|
|
9
|
+
items?: SidebarItem[];
|
|
10
|
+
sections?: SidebarSection[];
|
|
11
|
+
title?: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
size?: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full";
|
|
14
|
+
width?: string;
|
|
15
|
+
/** Width of the nav rail (any CSS length). */
|
|
16
|
+
navWidth?: string;
|
|
17
|
+
/** Put a filter above the nav — see LpSidebar's `searchable`. */
|
|
18
|
+
searchable?: boolean;
|
|
19
|
+
searchPlaceholder?: string;
|
|
20
|
+
/** Skeleton rows in place of the nav while the sections load. */
|
|
21
|
+
loading?: boolean;
|
|
22
|
+
/** Breakpoint below which the rail becomes a drawer. */
|
|
23
|
+
mobileBreakpoint?: Breakpoint;
|
|
24
|
+
/** Label for the button that opens that drawer. */
|
|
25
|
+
navLabel?: string;
|
|
26
|
+
/** Stand the rail to the right of the dialog instead of the left. */
|
|
27
|
+
navSide?: "start" | "end";
|
|
28
|
+
/**
|
|
29
|
+
* Let the body fill the height instead of scrolling itself. Off by default,
|
|
30
|
+
* as in a plain modal: it existed here to make the rail a full-height
|
|
31
|
+
* column inside the body, and the rail is no longer in the body.
|
|
32
|
+
*/
|
|
33
|
+
fillBody?: boolean;
|
|
34
|
+
/** Frosted glass panel, passed to LpModal. Follows `provideGlass` when unset. */
|
|
35
|
+
glass?: boolean;
|
|
36
|
+
};
|
|
37
|
+
declare var __VLS_36: {}, __VLS_38: {}, __VLS_41: {};
|
|
38
|
+
type __VLS_Slots = {} & {
|
|
39
|
+
title?: (props: typeof __VLS_36) => any;
|
|
40
|
+
} & {
|
|
41
|
+
default?: (props: typeof __VLS_38) => any;
|
|
42
|
+
} & {
|
|
43
|
+
footer?: (props: typeof __VLS_41) => any;
|
|
44
|
+
};
|
|
45
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
|
|
46
|
+
"update:modelValue": (value: string) => any;
|
|
47
|
+
"update:open": (value: boolean) => any;
|
|
48
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
49
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
50
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
51
|
+
}>, {
|
|
52
|
+
size: "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full";
|
|
53
|
+
glass: boolean;
|
|
54
|
+
mobileBreakpoint: Breakpoint;
|
|
55
|
+
navWidth: string;
|
|
56
|
+
navLabel: string;
|
|
57
|
+
navSide: "start" | "end";
|
|
58
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
59
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
60
|
+
declare const _default: typeof __VLS_export;
|
|
61
|
+
export default _default;
|
|
62
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
63
|
+
new (): {
|
|
64
|
+
$slots: S;
|
|
65
|
+
};
|
|
66
|
+
};
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { type ContextMenuItemDef } from "./LpContextMenu.vue";
|
|
2
|
+
export interface NotificationItem {
|
|
3
|
+
id: string;
|
|
4
|
+
title: string;
|
|
5
|
+
body?: string;
|
|
6
|
+
/** Optional icon name (e.g. "lucide:check-circle"). */
|
|
7
|
+
icon?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Colours the row's icon by what KIND of notification it is — a billing
|
|
10
|
+
* notice and a security one should not look alike at a glance.
|
|
11
|
+
*
|
|
12
|
+
* A named tone rather than a class, so the categories stay themeable:
|
|
13
|
+
* consumers were mapping their own types onto raw palette classes, which is
|
|
14
|
+
* the one place a theme cannot follow them.
|
|
15
|
+
*/
|
|
16
|
+
tone?: "brand" | "action" | "danger" | "accent" | "muted";
|
|
17
|
+
/** Optional deep link; the row becomes clickable when set. */
|
|
18
|
+
link?: string;
|
|
19
|
+
/** ISO-8601 creation time; rendered as a relative label. */
|
|
20
|
+
createdAt?: string;
|
|
21
|
+
/** Whether the notification has been read. */
|
|
22
|
+
read?: boolean;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Every user-facing string the bell renders on its own. Apps with i18n pass
|
|
26
|
+
* their translations in; the English defaults keep the component usable bare.
|
|
27
|
+
* Without this the header/row menus would be hardcoded English in every locale.
|
|
28
|
+
*/
|
|
29
|
+
export interface NotificationLabels {
|
|
30
|
+
title?: string;
|
|
31
|
+
markAllRead?: string;
|
|
32
|
+
clear?: string;
|
|
33
|
+
markAsRead?: string;
|
|
34
|
+
markAsUnread?: string;
|
|
35
|
+
open?: string;
|
|
36
|
+
dismiss?: string;
|
|
37
|
+
empty?: string;
|
|
38
|
+
ariaLabel?: string;
|
|
39
|
+
}
|
|
40
|
+
type __VLS_Props = {
|
|
41
|
+
items?: NotificationItem[];
|
|
42
|
+
/** Unread count for the badge; falls back to counting unread items. */
|
|
43
|
+
unreadCount?: number;
|
|
44
|
+
loading?: boolean;
|
|
45
|
+
emptyLabel?: string;
|
|
46
|
+
title?: string;
|
|
47
|
+
/** Cap the badge display (e.g. "9+"). */
|
|
48
|
+
maxBadge?: number;
|
|
49
|
+
/** Right-click menu items; overrides the built-in quick actions. */
|
|
50
|
+
menuItems?: ContextMenuItemDef[];
|
|
51
|
+
/** Translations for the strings the bell renders itself. */
|
|
52
|
+
labels?: NotificationLabels;
|
|
53
|
+
/**
|
|
54
|
+
* Formats `item.createdAt` for display. Defaults to a compact English
|
|
55
|
+
* relative time ("just now", "5m", "3h"); pass your own to localise it.
|
|
56
|
+
*/
|
|
57
|
+
formatTime?: (iso: string) => string;
|
|
58
|
+
};
|
|
59
|
+
type __VLS_ModelProps = {
|
|
60
|
+
"open"?: boolean;
|
|
61
|
+
};
|
|
62
|
+
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
63
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
64
|
+
"update:open": (value: boolean) => any;
|
|
65
|
+
} & {
|
|
66
|
+
clear: () => any;
|
|
67
|
+
select: (item: NotificationItem) => any;
|
|
68
|
+
dismiss: (id: string) => any;
|
|
69
|
+
markRead: (id: string) => any;
|
|
70
|
+
markUnread: (id: string) => any;
|
|
71
|
+
markAllRead: () => any;
|
|
72
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
73
|
+
onClear?: (() => any) | undefined;
|
|
74
|
+
onSelect?: ((item: NotificationItem) => any) | undefined;
|
|
75
|
+
"onUpdate:open"?: ((value: boolean) => any) | undefined;
|
|
76
|
+
onDismiss?: ((id: string) => any) | undefined;
|
|
77
|
+
onMarkRead?: ((id: string) => any) | undefined;
|
|
78
|
+
onMarkUnread?: ((id: string) => any) | undefined;
|
|
79
|
+
onMarkAllRead?: (() => any) | undefined;
|
|
80
|
+
}>, {
|
|
81
|
+
items: NotificationItem[];
|
|
82
|
+
maxBadge: number;
|
|
83
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
84
|
+
declare const _default: typeof __VLS_export;
|
|
85
|
+
export default _default;
|