@leavepulse/ui 0.43.2 → 0.43.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/dist/component-names.d.ts +1 -0
  2. package/dist/components/LayoutCanvas.vue.d.ts +28 -0
  3. package/dist/components/LayoutNode.vue.d.ts +40 -0
  4. package/dist/components/LpActionBar.vue.d.ts +84 -0
  5. package/dist/components/LpAddressInput.vue.d.ts +70 -0
  6. package/dist/components/LpAlert.vue.d.ts +44 -0
  7. package/dist/components/LpAppShell.vue.d.ts +123 -0
  8. package/dist/components/LpAutocomplete.vue.d.ts +50 -0
  9. package/dist/components/LpAvatar.vue.d.ts +34 -0
  10. package/dist/components/LpBadge.vue.d.ts +20 -0
  11. package/dist/components/LpBreadcrumbs.vue.d.ts +32 -0
  12. package/dist/components/LpButton.vue.d.ts +113 -0
  13. package/dist/components/LpCalendar.vue.d.ts +29 -0
  14. package/dist/components/LpCard.vue.d.ts +60 -0
  15. package/dist/components/LpChart.vue.d.ts +130 -0
  16. package/dist/components/LpCheckbox.vue.d.ts +32 -0
  17. package/dist/components/LpCodeBlock.vue.d.ts +58 -0
  18. package/dist/components/LpColorPicker.vue.d.ts +124 -0
  19. package/dist/components/LpCommandPalette.vue.d.ts +206 -0
  20. package/dist/components/LpConfirmDialog.vue.d.ts +59 -0
  21. package/dist/components/LpContextMenu.vue.d.ts +44 -0
  22. package/dist/components/LpDatePicker.vue.d.ts +33 -0
  23. package/dist/components/LpDisclosure.vue.d.ts +47 -0
  24. package/dist/components/LpDivider.vue.d.ts +17 -0
  25. package/dist/components/LpDrawer.vue.d.ts +170 -0
  26. package/dist/components/LpDropdownMenu.vue.d.ts +23 -0
  27. package/dist/components/LpDropzone.vue.d.ts +90 -0
  28. package/dist/components/LpEmptyState.vue.d.ts +28 -0
  29. package/dist/components/LpFileTree.vue.d.ts +126 -0
  30. package/dist/components/LpFileTreeNode.vue.d.ts +62 -0
  31. package/dist/components/LpFormField.vue.d.ts +24 -0
  32. package/dist/components/LpIcon.vue.d.ts +9 -0
  33. package/dist/components/LpImageEditor.vue.d.ts +106 -0
  34. package/dist/components/LpInfraNode.vue.d.ts +65 -0
  35. package/dist/components/LpInput.vue.d.ts +80 -0
  36. package/dist/components/LpLaneNode.vue.d.ts +24 -0
  37. package/dist/components/LpLightbox.vue.d.ts +62 -0
  38. package/dist/components/LpLink.vue.d.ts +93 -0
  39. package/dist/components/LpLogViewer.vue.d.ts +153 -0
  40. package/dist/components/LpMapPicker.vue.d.ts +59 -0
  41. package/dist/components/LpMediaGallery.vue.d.ts +80 -0
  42. package/dist/components/LpModal.vue.d.ts +66 -0
  43. package/dist/components/LpModalNav.vue.d.ts +66 -0
  44. package/dist/components/LpNotificationBell.vue.d.ts +85 -0
  45. package/dist/components/LpNumberField.vue.d.ts +21 -0
  46. package/dist/components/LpNumberFlow.vue.d.ts +35 -0
  47. package/dist/components/LpOtpInput.vue.d.ts +39 -0
  48. package/dist/components/LpPagination.vue.d.ts +35 -0
  49. package/dist/components/LpPasswordInput.vue.d.ts +36 -0
  50. package/dist/components/LpPhoneInput.vue.d.ts +49 -0
  51. package/dist/components/LpPie.vue.d.ts +196 -0
  52. package/dist/components/LpPopover.vue.d.ts +34 -0
  53. package/dist/components/LpProgress.vue.d.ts +66 -0
  54. package/dist/components/LpRadio.vue.d.ts +18 -0
  55. package/dist/components/LpRadioGroup.vue.d.ts +26 -0
  56. package/dist/components/LpRollingText.vue.d.ts +33 -0
  57. package/dist/components/LpScrollArea.vue.d.ts +28 -0
  58. package/dist/components/LpSection.vue.d.ts +120 -0
  59. package/dist/components/LpSegmented.vue.d.ts +30 -0
  60. package/dist/components/LpSelect.vue.d.ts +47 -0
  61. package/dist/components/LpServiceNode.vue.d.ts +14 -0
  62. package/dist/components/LpShift.vue.d.ts +36 -0
  63. package/dist/components/LpShortcutsDialog.vue.d.ts +24 -0
  64. package/dist/components/LpSidebar.vue.d.ts +146 -0
  65. package/dist/components/LpSidebarNav.vue.d.ts +54 -0
  66. package/dist/components/LpSkeleton.vue.d.ts +16 -0
  67. package/dist/components/LpSlider.vue.d.ts +30 -0
  68. package/dist/components/LpSparkline.vue.d.ts +48 -0
  69. package/dist/components/LpStat.vue.d.ts +69 -0
  70. package/dist/components/LpStepper.vue.d.ts +36 -0
  71. package/dist/components/LpSwitch.vue.d.ts +42 -0
  72. package/dist/components/LpTable.vue.d.ts +124 -0
  73. package/dist/components/LpTableOfContents.vue.d.ts +19 -0
  74. package/dist/components/LpTabs.vue.d.ts +47 -0
  75. package/dist/components/LpTextarea.vue.d.ts +22 -0
  76. package/dist/components/LpThemeSwitcher.vue.d.ts +47 -0
  77. package/dist/components/LpTilt.vue.d.ts +31 -0
  78. package/dist/components/LpTimeField.vue.d.ts +24 -0
  79. package/dist/components/LpToaster.vue.d.ts +3 -0
  80. package/dist/components/LpTooltip.vue.d.ts +58 -0
  81. package/dist/components/LpTopologyCanvas.vue.d.ts +205 -0
  82. package/dist/components/LpUptimeBar.vue.d.ts +46 -0
  83. package/dist/components/LpWaypointEdge.vue.d.ts +33 -0
  84. package/dist/components/actionBar.d.ts +19 -0
  85. package/dist/components/address.d.ts +107 -0
  86. package/dist/components/chart.d.ts +180 -0
  87. package/dist/components/codeHighlight.d.ts +8 -0
  88. package/dist/components/color.d.ts +65 -0
  89. package/dist/components/commandSearch.d.ts +14 -0
  90. package/dist/components/countries-data.d.ts +2 -0
  91. package/dist/components/countries.d.ts +20 -0
  92. package/dist/components/dropdown.d.ts +29 -0
  93. package/dist/components/fileTree.d.ts +79 -0
  94. package/dist/components/lightbox.d.ts +24 -0
  95. package/dist/components/modalDepth.d.ts +11 -0
  96. package/dist/components/sidebar.d.ts +42 -0
  97. package/dist/composables/easing.d.ts +46 -0
  98. package/dist/composables/useAsyncTask.d.ts +18 -0
  99. package/dist/composables/useClipboard.d.ts +46 -0
  100. package/dist/composables/useFormDraft.d.ts +67 -0
  101. package/dist/composables/useGlass.d.ts +9 -0
  102. package/dist/composables/useHotkeys.d.ts +101 -0
  103. package/dist/composables/useInputFilter.d.ts +14 -0
  104. package/dist/composables/useMergedClass.d.ts +42 -0
  105. package/dist/composables/usePillTransition.d.ts +21 -0
  106. package/dist/composables/useReveal.d.ts +26 -0
  107. package/dist/composables/useRovingFocus.d.ts +49 -0
  108. package/dist/composables/useSettled.d.ts +26 -0
  109. package/dist/composables/useShift.d.ts +35 -0
  110. package/dist/composables/useTilt.d.ts +23 -0
  111. package/dist/composables/useToast.d.ts +41 -0
  112. package/dist/composables/useZoomPan.d.ts +58 -0
  113. package/dist/icons.d.ts +1 -0
  114. package/dist/index.d.ts +162 -0
  115. package/dist/layout/registry.d.ts +26 -0
  116. package/dist/layout/tree.d.ts +75 -0
  117. package/dist/layout/useLayout.d.ts +39 -0
  118. package/dist/theme/backdrop.d.ts +9 -0
  119. package/dist/theme/config.d.ts +16 -0
  120. package/dist/theme/define.d.ts +12 -0
  121. package/dist/theme/presets.d.ts +20 -0
  122. package/dist/theme/tokens.d.ts +75 -0
  123. package/dist/theme/useTheme.d.ts +46 -0
  124. package/package.json +2 -2
@@ -0,0 +1,36 @@
1
+ declare const _default: typeof __VLS_export;
2
+ export default _default;
3
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
4
+ modelValue?: string;
5
+ placeholder?: string;
6
+ invalid?: boolean;
7
+ disabled?: boolean;
8
+ label?: string;
9
+ hint?: string;
10
+ error?: string;
11
+ required?: boolean;
12
+ }, {
13
+ focus: (options?: FocusOptions) => void | undefined;
14
+ blur: () => void | undefined;
15
+ select: () => void | undefined;
16
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
17
+ "update:modelValue": (value: string) => any;
18
+ }, string, import("vue").PublicProps, Readonly<{
19
+ modelValue?: string;
20
+ placeholder?: string;
21
+ invalid?: boolean;
22
+ disabled?: boolean;
23
+ label?: string;
24
+ hint?: string;
25
+ error?: string;
26
+ required?: boolean;
27
+ }> & Readonly<{
28
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
29
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
30
+ leading?: (props: {}) => any;
31
+ }>;
32
+ type __VLS_WithSlots<T, S> = T & {
33
+ new (): {
34
+ $slots: S;
35
+ };
36
+ };
@@ -0,0 +1,49 @@
1
+ import { type Country } from "./countries";
2
+ export interface PhoneDetail {
3
+ /** Matched country, or undefined when the prefix matches none. */
4
+ country?: Country;
5
+ /** Dial code without "+", e.g. "380". Empty if unknown. */
6
+ dialCode: string;
7
+ /** National part (digits after the dial code). */
8
+ number: string;
9
+ }
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
12
+ declare const __VLS_export: import("vue").DefineComponent<{
13
+ /** Full phone string, e.g. "+380501234567". Bind with v-model. */
14
+ modelValue?: string;
15
+ /** Restrict the country list (ISO2 codes). Omit for all countries. */
16
+ only?: string[];
17
+ /** Default country (ISO2) used when the field is empty. */
18
+ defaultCountry?: string;
19
+ placeholder?: string;
20
+ disabled?: boolean;
21
+ invalid?: boolean;
22
+ size?: "sm" | "md" | "lg";
23
+ emptyText?: string;
24
+ searchPlaceholder?: string;
25
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
26
+ change: (detail: PhoneDetail) => any;
27
+ "update:modelValue": (value: string) => any;
28
+ }, string, import("vue").PublicProps, Readonly<{
29
+ /** Full phone string, e.g. "+380501234567". Bind with v-model. */
30
+ modelValue?: string;
31
+ /** Restrict the country list (ISO2 codes). Omit for all countries. */
32
+ only?: string[];
33
+ /** Default country (ISO2) used when the field is empty. */
34
+ defaultCountry?: string;
35
+ placeholder?: string;
36
+ disabled?: boolean;
37
+ invalid?: boolean;
38
+ size?: "sm" | "md" | "lg";
39
+ emptyText?: string;
40
+ searchPlaceholder?: string;
41
+ }> & Readonly<{
42
+ onChange?: ((detail: PhoneDetail) => any) | undefined;
43
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
44
+ }>, {
45
+ size: "sm" | "md" | "lg";
46
+ placeholder: string;
47
+ emptyText: string;
48
+ searchPlaceholder: string;
49
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -0,0 +1,196 @@
1
+ import { type PieSlice } from "./chart";
2
+ import { type ContextMenuItemDef } from "./LpContextMenu.vue";
3
+ /** A slice, as reported by every interaction event. */
4
+ export interface SliceEvent {
5
+ index: number;
6
+ label: string;
7
+ value: number;
8
+ isOther: boolean;
9
+ }
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
12
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
13
+ slices: PieSlice[];
14
+ type?: "pie" | "donut";
15
+ /** Outer diameter in px. */
16
+ size?: number;
17
+ /** Donut only: hole diameter as a fraction of the outer radius (0–1). */
18
+ innerRatio?: number;
19
+ title?: string;
20
+ subtitle?: string;
21
+ /**
22
+ * Keep the largest N-1 slices and sum the rest into "Other". `0` disables
23
+ * the fold and draws every slice — for a caller that knows its data is
24
+ * already few, or that would rather show a crowded circle than a bucket.
25
+ */
26
+ maxSlices?: number;
27
+ /** Label for the folded remainder. */
28
+ otherLabel?: string;
29
+ /**
30
+ * Draw the slices largest-first instead of in the order given. Ranking
31
+ * always decides which slices survive `maxSlices`; this decides whether it
32
+ * also reorders them.
33
+ */
34
+ sortBySize?: boolean;
35
+ /** Appended to values in the legend and tooltip, e.g. " GB". */
36
+ unit?: string;
37
+ /** Custom value formatter; overrides the compact 1.2k default. */
38
+ formatValue?: (v: number) => string;
39
+ /**
40
+ * Name the slices with leader lines around the circle instead of a legend
41
+ * beside it. Better when the labels are long and self-explanatory (versions,
42
+ * hostnames) and the reader wants share-per-name without cross-referencing a
43
+ * colour; the legend stays better for short, repeated categories.
44
+ */
45
+ labels?: boolean;
46
+ /** Callout width reserved for text on each side, in px. */
47
+ labelWidth?: number;
48
+ /**
49
+ * Defaults to true, except in `labels` mode — callouts already name every
50
+ * slice, and a legend beside them says the same thing twice. Set it
51
+ * explicitly to have both.
52
+ */
53
+ showLegend?: boolean;
54
+ /** Print each slice's percentage next to its legend entry. */
55
+ showPercent?: boolean;
56
+ /** Donut only: print the total in the hole. Ignored when #center is used. */
57
+ showTotal?: boolean;
58
+ /** Gap between slices in degrees — reads as separate parts, not one disc. */
59
+ padAngle?: number;
60
+ /** Corner radius of each slice in px. 0 for hard edges. */
61
+ cornerRadius?: number;
62
+ /** How far the hovered slice lifts out of the circle, in px. */
63
+ hoverOffset?: number;
64
+ /**
65
+ * Sweep the circle open, clockwise from twelve, when it first comes into
66
+ * view. Turn it off where several are drawn at once and the sweeps would
67
+ * compete rather than read as one arrival.
68
+ */
69
+ animate?: boolean;
70
+ /** Sweep time in ms. */
71
+ duration?: number;
72
+ /**
73
+ * Right-click menu, built from the slice that was hit and the whole current
74
+ * selection — so an action can apply to one slice or to all the picked ones.
75
+ */
76
+ menuItems?: (slice: SliceEvent, selection: SliceEvent[]) => ContextMenuItemDef[];
77
+ emptyLabel?: string;
78
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
79
+ sliceClick: (payload: SliceEvent) => any;
80
+ selectionChange: (payload: SliceEvent[]) => any;
81
+ sliceContextMenu: (payload: SliceEvent) => any;
82
+ }, string, import("vue").PublicProps, Readonly<{
83
+ slices: PieSlice[];
84
+ type?: "pie" | "donut";
85
+ /** Outer diameter in px. */
86
+ size?: number;
87
+ /** Donut only: hole diameter as a fraction of the outer radius (0–1). */
88
+ innerRatio?: number;
89
+ title?: string;
90
+ subtitle?: string;
91
+ /**
92
+ * Keep the largest N-1 slices and sum the rest into "Other". `0` disables
93
+ * the fold and draws every slice — for a caller that knows its data is
94
+ * already few, or that would rather show a crowded circle than a bucket.
95
+ */
96
+ maxSlices?: number;
97
+ /** Label for the folded remainder. */
98
+ otherLabel?: string;
99
+ /**
100
+ * Draw the slices largest-first instead of in the order given. Ranking
101
+ * always decides which slices survive `maxSlices`; this decides whether it
102
+ * also reorders them.
103
+ */
104
+ sortBySize?: boolean;
105
+ /** Appended to values in the legend and tooltip, e.g. " GB". */
106
+ unit?: string;
107
+ /** Custom value formatter; overrides the compact 1.2k default. */
108
+ formatValue?: (v: number) => string;
109
+ /**
110
+ * Name the slices with leader lines around the circle instead of a legend
111
+ * beside it. Better when the labels are long and self-explanatory (versions,
112
+ * hostnames) and the reader wants share-per-name without cross-referencing a
113
+ * colour; the legend stays better for short, repeated categories.
114
+ */
115
+ labels?: boolean;
116
+ /** Callout width reserved for text on each side, in px. */
117
+ labelWidth?: number;
118
+ /**
119
+ * Defaults to true, except in `labels` mode — callouts already name every
120
+ * slice, and a legend beside them says the same thing twice. Set it
121
+ * explicitly to have both.
122
+ */
123
+ showLegend?: boolean;
124
+ /** Print each slice's percentage next to its legend entry. */
125
+ showPercent?: boolean;
126
+ /** Donut only: print the total in the hole. Ignored when #center is used. */
127
+ showTotal?: boolean;
128
+ /** Gap between slices in degrees — reads as separate parts, not one disc. */
129
+ padAngle?: number;
130
+ /** Corner radius of each slice in px. 0 for hard edges. */
131
+ cornerRadius?: number;
132
+ /** How far the hovered slice lifts out of the circle, in px. */
133
+ hoverOffset?: number;
134
+ /**
135
+ * Sweep the circle open, clockwise from twelve, when it first comes into
136
+ * view. Turn it off where several are drawn at once and the sweeps would
137
+ * compete rather than read as one arrival.
138
+ */
139
+ animate?: boolean;
140
+ /** Sweep time in ms. */
141
+ duration?: number;
142
+ /**
143
+ * Right-click menu, built from the slice that was hit and the whole current
144
+ * selection — so an action can apply to one slice or to all the picked ones.
145
+ */
146
+ menuItems?: (slice: SliceEvent, selection: SliceEvent[]) => ContextMenuItemDef[];
147
+ emptyLabel?: string;
148
+ }> & Readonly<{
149
+ onSliceClick?: ((payload: SliceEvent) => any) | undefined;
150
+ onSelectionChange?: ((payload: SliceEvent[]) => any) | undefined;
151
+ onSliceContextMenu?: ((payload: SliceEvent) => any) | undefined;
152
+ }>, {
153
+ type: "pie" | "donut";
154
+ size: number;
155
+ animate: boolean;
156
+ duration: number;
157
+ emptyLabel: string;
158
+ innerRatio: number;
159
+ maxSlices: number;
160
+ otherLabel: string;
161
+ labelWidth: number;
162
+ showPercent: boolean;
163
+ showTotal: boolean;
164
+ padAngle: number;
165
+ cornerRadius: number;
166
+ hoverOffset: number;
167
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
168
+ center?: (props: {
169
+ total: number;
170
+ active: {
171
+ d: string;
172
+ lift: string;
173
+ label: string;
174
+ value: number;
175
+ color: string;
176
+ fraction: number;
177
+ isOther: boolean;
178
+ count: number;
179
+ } | null;
180
+ selection: {
181
+ d: string;
182
+ lift: string;
183
+ label: string;
184
+ value: number;
185
+ color: string;
186
+ fraction: number;
187
+ isOther: boolean;
188
+ count: number;
189
+ }[];
190
+ }) => any;
191
+ }>;
192
+ type __VLS_WithSlots<T, S> = T & {
193
+ new (): {
194
+ $slots: S;
195
+ };
196
+ };
@@ -0,0 +1,34 @@
1
+ type __VLS_Props = {
2
+ side?: "top" | "right" | "bottom" | "left";
3
+ align?: "start" | "center" | "end";
4
+ sideOffset?: number;
5
+ /** Extra classes for the floating panel (width, padding, overflow). */
6
+ panelClass?: string;
7
+ };
8
+ type __VLS_ModelProps = {
9
+ "open"?: boolean;
10
+ };
11
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
12
+ declare var __VLS_14: {}, __VLS_28: {};
13
+ type __VLS_Slots = {} & {
14
+ trigger?: (props: typeof __VLS_14) => any;
15
+ } & {
16
+ default?: (props: typeof __VLS_28) => any;
17
+ };
18
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
19
+ "update:open": (value: boolean | undefined) => any;
20
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
21
+ "onUpdate:open"?: ((value: boolean | undefined) => any) | undefined;
22
+ }>, {
23
+ align: "start" | "center" | "end";
24
+ side: "top" | "right" | "bottom" | "left";
25
+ sideOffset: number;
26
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
27
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
28
+ declare const _default: typeof __VLS_export;
29
+ export default _default;
30
+ type __VLS_WithSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -0,0 +1,66 @@
1
+ type __VLS_Props = {
2
+ value?: number;
3
+ max?: number;
4
+ /**
5
+ * `"auto"` colours by how full the bar is — calm up to `warnAt`, accent
6
+ * past it, danger past `dangerAt`.
7
+ *
8
+ * A gauge of a finite resource (disk, memory, quota) means something
9
+ * different at 92% than at 12%, and consumers were each re-deriving that
10
+ * with their own palette — which also put raw colours back into components
11
+ * the theme can no longer reach.
12
+ */
13
+ tone?: "brand" | "action" | "danger" | "accent" | "auto";
14
+ /** `auto` tone: the fill fraction, 0–1, where the bar turns accent. */
15
+ warnAt?: number;
16
+ /** `auto` tone: the fill fraction, 0–1, where it turns danger. */
17
+ dangerAt?: number;
18
+ /**
19
+ * Bar only: a name for what is being measured, printed above the bar. With
20
+ * `caption` it forms the "CPU … 42%" header a usage row wants.
21
+ */
22
+ title?: string;
23
+ /**
24
+ * Bar only: the reading, printed opposite `title`. `true` prints the
25
+ * rounded percentage; a string says it in the units that matter
26
+ * ("23 GB / 64 GB"), which a percentage alone cannot.
27
+ */
28
+ caption?: boolean | string;
29
+ /** `bar` (default) fills horizontally; `ring` draws a dial. */
30
+ variant?: "bar" | "ring";
31
+ /** Ring only: outer diameter in px. */
32
+ size?: number;
33
+ /** Ring only: stroke width in px. */
34
+ thickness?: number;
35
+ /**
36
+ * Ring only: print the rounded percentage in the middle. Pass a string to
37
+ * label it with something else ("12.4k", "3/8") — the ring shows progress,
38
+ * the caption says what it is progress of.
39
+ */
40
+ label?: boolean | string;
41
+ /**
42
+ * Grow from empty on first render instead of appearing already filled.
43
+ *
44
+ * A dial that arrives complete states a fact; one that fills shows a
45
+ * quantity being measured, and the eye follows the sweep to where it stops —
46
+ * which is the number the tile is actually about. Both variants already ease
47
+ * every later change, so this only concerns the first paint.
48
+ */
49
+ animateOnMount?: boolean;
50
+ /** How long the fill takes, in ms. The counter in a ring matches it. */
51
+ duration?: number;
52
+ };
53
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
54
+ size: number;
55
+ max: number;
56
+ value: number;
57
+ duration: number;
58
+ variant: "bar" | "ring";
59
+ tone: "brand" | "action" | "danger" | "accent" | "auto";
60
+ animateOnMount: boolean;
61
+ warnAt: number;
62
+ dangerAt: number;
63
+ thickness: number;
64
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
65
+ declare const _default: typeof __VLS_export;
66
+ export default _default;
@@ -0,0 +1,18 @@
1
+ declare const _default: typeof __VLS_export;
2
+ export default _default;
3
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
4
+ value: string;
5
+ label?: string;
6
+ disabled?: boolean;
7
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{
8
+ value: string;
9
+ label?: string;
10
+ disabled?: boolean;
11
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
12
+ default?: (props: {}) => any;
13
+ }>;
14
+ type __VLS_WithSlots<T, S> = T & {
15
+ new (): {
16
+ $slots: S;
17
+ };
18
+ };
@@ -0,0 +1,26 @@
1
+ export interface RadioOption {
2
+ value: string;
3
+ label: string;
4
+ }
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
7
+ declare const __VLS_export: __VLS_WithSlots<import("vue").DefineComponent<{
8
+ modelValue?: string;
9
+ options?: RadioOption[];
10
+ disabled?: boolean;
11
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
12
+ "update:modelValue": (value: string) => any;
13
+ }, string, import("vue").PublicProps, Readonly<{
14
+ modelValue?: string;
15
+ options?: RadioOption[];
16
+ disabled?: boolean;
17
+ }> & Readonly<{
18
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
19
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
20
+ default?: (props: {}) => any;
21
+ }>;
22
+ type __VLS_WithSlots<T, S> = T & {
23
+ new (): {
24
+ $slots: S;
25
+ };
26
+ };
@@ -0,0 +1,33 @@
1
+ type __VLS_Props = {
2
+ /** The text. A change to this is what triggers the transition. */
3
+ value: string | number;
4
+ mode?: "slide" | "flip";
5
+ /** Which way "slide" travels. `up` moves the old text up and out. */
6
+ direction?: "up" | "down";
7
+ duration?: number;
8
+ /**
9
+ * Alignment inside the clipped box, for when the two values differ in
10
+ * width — a value that grows shouldn't shove its neighbours.
11
+ */
12
+ align?: "start" | "center" | "end";
13
+ };
14
+ declare var __VLS_7: {
15
+ value: string | number;
16
+ };
17
+ type __VLS_Slots = {} & {
18
+ default?: (props: typeof __VLS_7) => any;
19
+ };
20
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
21
+ mode: "slide" | "flip";
22
+ direction: "up" | "down";
23
+ align: "start" | "center" | "end";
24
+ duration: number;
25
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
27
+ declare const _default: typeof __VLS_export;
28
+ export default _default;
29
+ type __VLS_WithSlots<T, S> = T & {
30
+ new (): {
31
+ $slots: S;
32
+ };
33
+ };
@@ -0,0 +1,28 @@
1
+ type __VLS_Props = {
2
+ fade?: boolean;
3
+ instant?: boolean;
4
+ contentClass?: string;
5
+ barInsetTop?: string;
6
+ };
7
+ declare var __VLS_44: {};
8
+ type __VLS_Slots = {} & {
9
+ default?: (props: typeof __VLS_44) => any;
10
+ };
11
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {
12
+ viewportEl: import("vue").ComputedRef<HTMLElement | null>;
13
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
14
+ scroll: (event: Event) => any;
15
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
16
+ onScroll?: ((event: Event) => any) | undefined;
17
+ }>, {
18
+ instant: boolean;
19
+ fade: boolean;
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,120 @@
1
+ import { type VariantProps } from "tailwind-variants";
2
+ declare const section: import("tailwind-variants").TVReturnType<{
3
+ described: {
4
+ true: {
5
+ root: string;
6
+ };
7
+ false: {
8
+ root: string;
9
+ };
10
+ };
11
+ level: {
12
+ sm: {
13
+ title: string;
14
+ };
15
+ md: {
16
+ title: string;
17
+ };
18
+ lg: {
19
+ title: string;
20
+ };
21
+ xl: {
22
+ title: string;
23
+ };
24
+ };
25
+ }, {
26
+ root: string;
27
+ title: string;
28
+ description: string;
29
+ actions: string;
30
+ }, undefined, {
31
+ described: {
32
+ true: {
33
+ root: string;
34
+ };
35
+ false: {
36
+ root: string;
37
+ };
38
+ };
39
+ level: {
40
+ sm: {
41
+ title: string;
42
+ };
43
+ md: {
44
+ title: string;
45
+ };
46
+ lg: {
47
+ title: string;
48
+ };
49
+ xl: {
50
+ title: string;
51
+ };
52
+ };
53
+ }, {
54
+ root: string;
55
+ title: string;
56
+ description: string;
57
+ actions: string;
58
+ }, import("tailwind-variants").TVReturnType<{
59
+ described: {
60
+ true: {
61
+ root: string;
62
+ };
63
+ false: {
64
+ root: string;
65
+ };
66
+ };
67
+ level: {
68
+ sm: {
69
+ title: string;
70
+ };
71
+ md: {
72
+ title: string;
73
+ };
74
+ lg: {
75
+ title: string;
76
+ };
77
+ xl: {
78
+ title: string;
79
+ };
80
+ };
81
+ }, {
82
+ root: string;
83
+ title: string;
84
+ description: string;
85
+ actions: string;
86
+ }, undefined, unknown, unknown, undefined>>;
87
+ type SectionVariants = VariantProps<typeof section>;
88
+ type __VLS_Props = {
89
+ title?: string;
90
+ /** One line under the title. */
91
+ description?: string;
92
+ /** Iconify name shown before the title, e.g. "lucide:server". */
93
+ icon?: string;
94
+ /** Visual size. Independent of `as`, see the note above. */
95
+ level?: SectionVariants["level"];
96
+ /** The heading element to render. Pick it for the document outline. */
97
+ as?: "h1" | "h2" | "h3" | "h4" | "p";
98
+ };
99
+ type __VLS_Slots = {
100
+ /** Title markup, when a plain string is not enough. */
101
+ title?: () => unknown;
102
+ /** Description markup, when a plain string is not enough. */
103
+ description?: () => unknown;
104
+ /** Right-aligned controls: buttons, filters, a count. */
105
+ actions?: () => unknown;
106
+ /** Extra content beside the title: a badge, a count, a status dot. */
107
+ meta?: () => unknown;
108
+ };
109
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
110
+ as: "h1" | "h2" | "h3" | "h4" | "p";
111
+ level: "sm" | "md" | "lg" | "xl";
112
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
113
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
114
+ declare const _default: typeof __VLS_export;
115
+ export default _default;
116
+ type __VLS_WithSlots<T, S> = T & {
117
+ new (): {
118
+ $slots: S;
119
+ };
120
+ };
@@ -0,0 +1,30 @@
1
+ export interface SegmentedOption {
2
+ value: string;
3
+ label?: string;
4
+ /** Optional iconify name shown before the label (or alone, icon-only). */
5
+ icon?: string;
6
+ }
7
+ declare const _default: typeof __VLS_export;
8
+ export default _default;
9
+ declare const __VLS_export: import("vue").DefineComponent<{
10
+ modelValue?: string;
11
+ options: SegmentedOption[];
12
+ size?: "sm" | "md";
13
+ /** Stretch to fill the container with equal-width segments. */
14
+ block?: boolean;
15
+ disabled?: boolean;
16
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
17
+ "update:modelValue": (value: string) => any;
18
+ }, string, import("vue").PublicProps, Readonly<{
19
+ modelValue?: string;
20
+ options: SegmentedOption[];
21
+ size?: "sm" | "md";
22
+ /** Stretch to fill the container with equal-width segments. */
23
+ block?: boolean;
24
+ disabled?: boolean;
25
+ }> & Readonly<{
26
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
27
+ }>, {
28
+ size: "sm" | "md";
29
+ block: boolean;
30
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;