@cjlapao/ui-kit-vue 0.2.0 → 0.2.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.
- package/dist/index.cjs +18 -25
- package/dist/index.css +37732 -13285
- package/dist/index.js +31192 -21036
- package/dist/types/common/chat/markdown.d.ts +8 -0
- package/dist/types/common/chat/storage.d.ts +48 -0
- package/dist/types/common/chat/stream.d.ts +43 -0
- package/dist/types/common/chat/types.d.ts +143 -0
- package/dist/types/common/connectionFlow/header.d.ts +56 -0
- package/dist/types/common/connectionFlow/icons.d.ts +15 -0
- package/dist/types/common/connectionFlow/index.d.ts +6 -0
- package/dist/types/common/connectionFlow/layout.d.ts +73 -0
- package/dist/types/common/connectionFlow/measure.d.ts +94 -0
- package/dist/types/common/connectionFlow/paint.d.ts +36 -0
- package/dist/types/common/connectionFlow/router.d.ts +131 -0
- package/dist/types/common/connectionFlow/tones.d.ts +79 -0
- package/dist/types/common/connectionFlow/types.d.ts +394 -0
- package/dist/types/common/gantt/drag.d.ts +221 -0
- package/dist/types/common/gantt/index.d.ts +11 -0
- package/dist/types/common/gantt/layout.d.ts +133 -0
- package/dist/types/common/gantt/sample.d.ts +15 -0
- package/dist/types/common/gantt/time.d.ts +77 -0
- package/dist/types/common/gantt/tokens.d.ts +73 -0
- package/dist/types/common/gantt/types.d.ts +216 -0
- package/dist/types/common/i18n/builtIn/de.d.ts +2 -0
- package/dist/types/common/i18n/builtIn/en.d.ts +2 -0
- package/dist/types/common/i18n/builtIn/es.d.ts +2 -0
- package/dist/types/common/i18n/builtIn/fr.d.ts +2 -0
- package/dist/types/common/i18n/builtIn/index.d.ts +15 -0
- package/dist/types/common/i18n/builtIn/pt.d.ts +2 -0
- package/dist/types/common/i18n/catalog.d.ts +32 -0
- package/dist/types/common/i18n/createI18n.d.ts +2 -0
- package/dist/types/common/i18n/dates.d.ts +12 -0
- package/dist/types/common/i18n/detect.d.ts +29 -0
- package/dist/types/common/i18n/icu.d.ts +36 -0
- package/dist/types/common/i18n/index.d.ts +10 -0
- package/dist/types/common/i18n/provider.d.ts +7 -0
- package/dist/types/common/i18n/storage.d.ts +8 -0
- package/dist/types/common/i18n/types.d.ts +64 -0
- package/dist/types/common/i18n/warn.d.ts +5 -0
- package/dist/types/common/theme/Theme.d.ts +941 -3
- package/dist/types/common/theme/glass.d.ts +90 -11
- package/dist/types/common/theme/randomThemeColor.d.ts +4 -4
- package/dist/types/common/tooltip/placement.d.ts +103 -0
- package/dist/types/common/tooltip/tokens.d.ts +40 -0
- package/dist/types/common/types/TableSettings.d.ts +15 -0
- package/dist/types/common/types/Variables.d.ts +71 -1
- package/dist/types/common/utils/dates.d.ts +113 -0
- package/dist/types/common/utils/gravatar.d.ts +0 -10
- package/dist/types/common/utils/safeStorage.d.ts +28 -0
- package/dist/types/common/utils/sanitizeSvg.d.ts +44 -0
- package/dist/types/common/utils/smartVariables.d.ts +74 -18
- package/dist/types/common/utils/tableStorage.d.ts +38 -0
- package/dist/types/vue/src/chat/index.d.ts +4 -0
- package/dist/types/vue/src/components/AccessMatrix.test.d.ts +1 -0
- package/dist/types/vue/src/components/AccessMatrix.vue.d.ts +23 -1
- package/dist/types/vue/src/components/Accordion.test.d.ts +1 -0
- package/dist/types/vue/src/components/Accordion.vue.d.ts +42 -28
- package/dist/types/vue/src/components/ActivityFeed.test.d.ts +1 -0
- package/dist/types/vue/src/components/ActivityFeed.vue.d.ts +141 -0
- package/dist/types/vue/src/components/Alert.test.d.ts +1 -0
- package/dist/types/vue/src/components/Alert.vue.d.ts +59 -2
- package/dist/types/vue/src/components/ApiErrorState.test.d.ts +1 -0
- package/dist/types/vue/src/components/ApiErrorState.vue.d.ts +28 -8
- package/dist/types/vue/src/components/AppDivider.vue.d.ts +53 -4
- package/dist/types/vue/src/components/Badge.vue.d.ts +45 -13
- package/dist/types/vue/src/components/BadgeIcon.vue.d.ts +1 -1
- package/dist/types/vue/src/components/BreakdownCard.test.d.ts +1 -0
- package/dist/types/vue/src/components/BreakdownCard.vue.d.ts +81 -0
- package/dist/types/vue/src/components/Button.vue.d.ts +22 -11
- package/dist/types/vue/src/components/Chat.test.d.ts +1 -0
- package/dist/types/vue/src/components/Chat.vue.d.ts +80 -0
- package/dist/types/vue/src/components/Checkbox.test.d.ts +1 -0
- package/dist/types/vue/src/components/Checkbox.vue.d.ts +44 -29
- package/dist/types/vue/src/components/CollapsiblePanel.vue.d.ts +5 -5
- package/dist/types/vue/src/components/ColorSwatches.test.d.ts +1 -0
- package/dist/types/vue/src/components/ColorSwatches.vue.d.ts +42 -0
- package/dist/types/vue/src/components/Combobox.test.d.ts +1 -0
- package/dist/types/vue/src/components/Combobox.vue.d.ts +61 -12
- package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlow.vue.d.ts +153 -17
- package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowCanvas.vue.d.ts +28 -0
- package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowHeader.vue.d.ts +33 -0
- package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowNodeBody.vue.d.ts +32 -0
- package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowSkeleton.vue.d.ts +18 -0
- package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowSvg.vue.d.ts +52 -0
- package/dist/types/vue/src/components/ConnectionFlow/connectionFlow.test.d.ts +1 -0
- package/dist/types/vue/src/components/ConnectionFlow/index.d.ts +11 -4
- package/dist/types/vue/src/components/CustomIcon.vue.d.ts +35 -11
- package/dist/types/vue/src/components/DetailItemCard.vue.d.ts +37 -5
- package/dist/types/vue/src/components/DropdownButton.vue.d.ts +3 -3
- package/dist/types/vue/src/components/DropdownMenu.test.d.ts +1 -0
- package/dist/types/vue/src/components/DropdownMenu.vue.d.ts +1 -1
- package/dist/types/vue/src/components/DynamicFormField.test.d.ts +1 -0
- package/dist/types/vue/src/components/DynamicFormField.vue.d.ts +61 -5
- package/dist/types/vue/src/components/DynamicImg.vue.d.ts +28 -3
- package/dist/types/vue/src/components/EmptyState.test.d.ts +1 -0
- package/dist/types/vue/src/components/EmptyState.vue.d.ts +104 -24
- package/dist/types/vue/src/components/FormField.vue.d.ts +2 -1
- package/dist/types/vue/src/components/Gantt/Gantt.test.d.ts +1 -0
- package/dist/types/vue/src/components/Gantt/Gantt.vue.d.ts +160 -0
- package/dist/types/vue/src/components/Gantt/GanttBodyRow.vue.d.ts +78 -0
- package/dist/types/vue/src/components/Gantt/GanttCell.vue.d.ts +28 -0
- package/dist/types/vue/src/components/Gantt/GanttLinkLayer.vue.d.ts +22 -0
- package/dist/types/vue/src/components/Gantt/GanttScale.vue.d.ts +7 -0
- package/dist/types/vue/src/components/Gantt/GanttTaskBar.vue.d.ts +53 -0
- package/dist/types/vue/src/components/Gantt/GanttToolbar.vue.d.ts +22 -0
- package/dist/types/vue/src/components/Gantt/index.d.ts +18 -0
- package/dist/types/vue/src/components/Gantt/labels.d.ts +3 -0
- package/dist/types/vue/src/components/Gantt/types.d.ts +11 -0
- package/dist/types/vue/src/components/Gantt/useGanttDrag.d.ts +105 -0
- package/dist/types/vue/src/components/GlassBackground.vue.d.ts +4 -3
- package/dist/types/vue/src/components/GlassPanel.vue.d.ts +2 -2
- package/dist/types/vue/src/components/HeaderGroup.vue.d.ts +19 -1
- package/dist/types/vue/src/components/HelpButton.test.d.ts +1 -0
- package/dist/types/vue/src/components/HelpButton.vue.d.ts +15 -6
- package/dist/types/vue/src/components/Hero.test.d.ts +1 -0
- package/dist/types/vue/src/components/Hero.vue.d.ts +52 -31
- package/dist/types/vue/src/components/IconButton.vue.d.ts +12 -6
- package/dist/types/vue/src/components/InfiniteScrollPanel.vue.d.ts +61 -14
- package/dist/types/vue/src/components/InfoRow.test.d.ts +1 -0
- package/dist/types/vue/src/components/InfoRow.vue.d.ts +67 -37
- package/dist/types/vue/src/components/InlinePanel.vue.d.ts +12 -18
- package/dist/types/vue/src/components/Input.test.d.ts +1 -0
- package/dist/types/vue/src/components/Input.vue.d.ts +42 -13
- package/dist/types/vue/src/components/InputGroup.test.d.ts +1 -0
- package/dist/types/vue/src/components/InputGroup.vue.d.ts +20 -5
- package/dist/types/vue/src/components/Loader.test.d.ts +1 -0
- package/dist/types/vue/src/components/Loader.vue.d.ts +30 -11
- package/dist/types/vue/src/components/MarkdownEditor.vue.d.ts +1 -1
- package/dist/types/vue/src/components/MetricBar.test.d.ts +1 -0
- package/dist/types/vue/src/components/MetricBar.vue.d.ts +16 -5
- package/dist/types/vue/src/components/Modal.vue.d.ts +18 -19
- package/dist/types/vue/src/components/MultiProgressBar.vue.d.ts +15 -2
- package/dist/types/vue/src/components/MultiSelectPills.test.d.ts +1 -0
- package/dist/types/vue/src/components/MultiSelectPills.vue.d.ts +47 -43
- package/dist/types/vue/src/components/MultiToggle.test.d.ts +1 -0
- package/dist/types/vue/src/components/MultiToggle.vue.d.ts +33 -6
- package/dist/types/vue/src/components/NotificationModal.test.d.ts +1 -0
- package/dist/types/vue/src/components/NotificationModal.vue.d.ts +19 -2
- package/dist/types/vue/src/components/PageHeader.test.d.ts +1 -0
- package/dist/types/vue/src/components/PageHeader.vue.d.ts +18 -0
- package/dist/types/vue/src/components/PagedPanel.test.d.ts +1 -0
- package/dist/types/vue/src/components/PagedPanel.vue.d.ts +39 -11
- package/dist/types/vue/src/components/Panel.vue.d.ts +18 -9
- package/dist/types/vue/src/components/PasswordInput.test.d.ts +1 -0
- package/dist/types/vue/src/components/PasswordInput.vue.d.ts +20 -3
- package/dist/types/vue/src/components/Picker.test.d.ts +1 -0
- package/dist/types/vue/src/components/Picker.vue.d.ts +3 -3
- package/dist/types/vue/src/components/Pill.vue.d.ts +63 -5
- package/dist/types/vue/src/components/Progress.test.d.ts +1 -0
- package/dist/types/vue/src/components/Progress.vue.d.ts +60 -11
- package/dist/types/vue/src/components/ProgressSpinner.test.d.ts +1 -0
- package/dist/types/vue/src/components/ProgressSpinner.vue.d.ts +46 -0
- package/dist/types/vue/src/components/ScrollArea.test.d.ts +1 -0
- package/dist/types/vue/src/components/ScrollArea.vue.d.ts +52 -0
- package/dist/types/vue/src/components/SearchBar.vue.d.ts +2 -3
- package/dist/types/vue/src/components/Section.vue.d.ts +1 -1
- package/dist/types/vue/src/components/SectionCard.vue.d.ts +2 -2
- package/dist/types/vue/src/components/Select.test.d.ts +1 -0
- package/dist/types/vue/src/components/Select.vue.d.ts +41 -16
- package/dist/types/vue/src/components/SidePanel.vue.d.ts +1 -1
- package/dist/types/vue/src/components/SmartInput.vue.d.ts +49 -18
- package/dist/types/vue/src/components/SmartValue.vue.d.ts +20 -13
- package/dist/types/vue/src/components/SmartVariableBadge.vue.d.ts +17 -0
- package/dist/types/vue/src/components/Spinner.test.d.ts +1 -0
- package/dist/types/vue/src/components/Spinner.vue.d.ts +12 -5
- package/dist/types/vue/src/components/SplitView.vue.d.ts +6 -6
- package/dist/types/vue/src/components/StartupStageStepper.vue.d.ts +1 -1
- package/dist/types/vue/src/components/StatChartTile.vue.d.ts +5 -0
- package/dist/types/vue/src/components/StatCountTile.vue.d.ts +5 -1
- package/dist/types/vue/src/components/StatGraphTile.vue.d.ts +1 -1
- package/dist/types/vue/src/components/StatTile.test.d.ts +1 -0
- package/dist/types/vue/src/components/StatTile.vue.d.ts +5 -1
- package/dist/types/vue/src/components/StatusSpinner.test.d.ts +1 -0
- package/dist/types/vue/src/components/StatusSpinner.vue.d.ts +10 -5
- package/dist/types/vue/src/components/Stepper.test.d.ts +1 -0
- package/dist/types/vue/src/components/Stepper.vue.d.ts +62 -25
- package/dist/types/vue/src/components/Table.test.d.ts +1 -0
- package/dist/types/vue/src/components/Table.vue.d.ts +67 -14
- package/dist/types/vue/src/components/Tabs.vue.d.ts +20 -3
- package/dist/types/vue/src/components/TagPicker.vue.d.ts +3 -3
- package/dist/types/vue/src/components/Textarea.vue.d.ts +8 -5
- package/dist/types/vue/src/components/TimelinePanel/TimelinePanel.vue.d.ts +4 -4
- package/dist/types/vue/src/components/Toggle.vue.d.ts +4 -4
- package/dist/types/vue/src/components/Toolbar.test.d.ts +1 -0
- package/dist/types/vue/src/components/Toolbar.vue.d.ts +62 -0
- package/dist/types/vue/src/components/Tooltip.test.d.ts +1 -0
- package/dist/types/vue/src/components/Tooltip.vue.d.ts +20 -3
- package/dist/types/vue/src/components/TooltipWrapper.vue.d.ts +24 -3
- package/dist/types/vue/src/components/TreeView/TreeFlowSvg.vue.d.ts +5 -5
- package/dist/types/vue/src/components/TreeView/TreeItemRow.vue.d.ts +2 -2
- package/dist/types/vue/src/components/TreeView/TreeView.vue.d.ts +4 -4
- package/dist/types/vue/src/components/UserAvatar.test.d.ts +1 -0
- package/dist/types/vue/src/components/UserAvatar.vue.d.ts +56 -6
- package/dist/types/vue/src/components/VariablePicker.vue.d.ts +23 -6
- package/dist/types/vue/src/components/__dbg.test.d.ts +1 -0
- package/dist/types/vue/src/components/index.d.ts +50 -31
- package/dist/types/vue/src/components/internal/InfoRowContent.vue.d.ts +52 -0
- package/dist/types/vue/src/components/internal/PagedPanelContent.vue.d.ts +47 -0
- package/dist/types/vue/src/connectionFlow/index.d.ts +1 -0
- package/dist/types/vue/src/contexts/IconContext.d.ts +8 -3
- package/dist/types/vue/src/i18n/I18nContext.d.ts +14 -0
- package/dist/types/vue/src/i18n/I18nProvider.test.d.ts +2 -0
- package/dist/types/vue/src/i18n/I18nProvider.vue.d.ts +35 -0
- package/dist/types/vue/src/i18n/index.d.ts +8 -0
- package/dist/types/vue/src/i18n/kit-components-spot.test.d.ts +1 -0
- package/dist/types/vue/src/i18n/useI18n.d.ts +44 -0
- package/dist/types/vue/src/index.d.ts +2 -2
- package/dist/types/vue/src/test-setup.d.ts +5 -0
- package/dist/types/vue/src/types/Icon.d.ts +11 -2
- package/dist/types/vue/src/types/TableSettings.d.ts +1 -0
- package/dist/types/vue/src/types/index.d.ts +1 -0
- package/dist/types/vue/src/utils/index.d.ts +1 -0
- package/dist/types/vue/src/utils/sanitizeSvg.d.ts +1 -0
- package/dist/types/vue/src/utils/tableStorage.d.ts +1 -0
- package/dist/ui-kit-vue.css +1 -1
- package/package.json +8 -3
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useGanttDrag — pointer interaction state machine for the Gantt (Vue port).
|
|
3
|
+
*
|
|
4
|
+
* Kinds:
|
|
5
|
+
* - `move` drag the bar body → change start & end (duration kept).
|
|
6
|
+
* - `resize-start` / `resize-end` drag the bar edge handles.
|
|
7
|
+
* - `progress` drag the progress knob → set `task.progress`.
|
|
8
|
+
* - `link` drag from an edge handle → rubber-band, drop on a bar to
|
|
9
|
+
* create a dependency (FS from the right edge, SF from the
|
|
10
|
+
* left).
|
|
11
|
+
* - `reorder` drag the row grip → vertical reorder within the lane.
|
|
12
|
+
*
|
|
13
|
+
* All geometry resolves against the overlay ref's rect, which sits at the
|
|
14
|
+
* timeline's origin (left panel excluded, header excluded).
|
|
15
|
+
*
|
|
16
|
+
* The options are passed as refs/computeds so the window listeners always read
|
|
17
|
+
* the latest values (the Vue equivalent of React's "optsRef reassigned every
|
|
18
|
+
* render").
|
|
19
|
+
*/
|
|
20
|
+
import { type ComputedRef, type Ref } from "vue";
|
|
21
|
+
import type { GanttLink, GanttLinkPoint, GanttRow, GanttSnap, GanttTask, TrueColor } from "../../../../common/gantt";
|
|
22
|
+
export interface GanttDragState {
|
|
23
|
+
kind: "move" | "resize-start" | "resize-end" | "link" | "reorder" | "progress";
|
|
24
|
+
taskId: string;
|
|
25
|
+
startX: number;
|
|
26
|
+
startY: number;
|
|
27
|
+
originStart: number;
|
|
28
|
+
originEnd: number;
|
|
29
|
+
x: number;
|
|
30
|
+
y: number;
|
|
31
|
+
/** Link kind only: which edge the rubber band departs from. */
|
|
32
|
+
side?: 1 | -1;
|
|
33
|
+
/** Link kind only: vertical slot (from the handle's `fanHandleOffset`) the
|
|
34
|
+
* rubber band departs from on the source edge, so the preview starts in
|
|
35
|
+
* the largest free gap instead of on an existing port. */
|
|
36
|
+
fromOffset?: number;
|
|
37
|
+
/** Link kind only: anchor point (timeline coords). */
|
|
38
|
+
anchor?: {
|
|
39
|
+
x: number;
|
|
40
|
+
y: number;
|
|
41
|
+
};
|
|
42
|
+
/** Reorder kind only: resolved drop target. `undefined` until the pointer
|
|
43
|
+
* commits to a target (25% hysteresis — see `resolveDropBeforeId`), so a
|
|
44
|
+
* fresh press previews nothing; `null` = end of the lane. */
|
|
45
|
+
beforeId?: string | null;
|
|
46
|
+
/** Reorder kind only: live pointer position in *client* coordinates —
|
|
47
|
+
* the floating row clone follows it (pointer-event drags have no browser
|
|
48
|
+
* drag image). */
|
|
49
|
+
clientX?: number;
|
|
50
|
+
clientY?: number;
|
|
51
|
+
/** Reorder kind only: grab point within the row (client offset), so the
|
|
52
|
+
* floating clone holds the grip under the pointer. */
|
|
53
|
+
grabOffset?: {
|
|
54
|
+
x: number;
|
|
55
|
+
y: number;
|
|
56
|
+
};
|
|
57
|
+
/** Progress kind only: live percent complete (0..1) as the knob drags, so
|
|
58
|
+
* the bar's progress fill and the % readout follow the pointer in real
|
|
59
|
+
* time (committed only on drop). */
|
|
60
|
+
liveProgress?: number;
|
|
61
|
+
/** Accent colour for the rubber band (link kind). */
|
|
62
|
+
color?: TrueColor;
|
|
63
|
+
}
|
|
64
|
+
export interface GanttRubber {
|
|
65
|
+
d: string;
|
|
66
|
+
color: TrueColor;
|
|
67
|
+
/** Arrowhead polygon when the pointer is over a target bar. */
|
|
68
|
+
arrow?: string;
|
|
69
|
+
/** Port anchors (source right edge, and the target left edge / pointer). */
|
|
70
|
+
from: GanttLinkPoint;
|
|
71
|
+
to: GanttLinkPoint;
|
|
72
|
+
}
|
|
73
|
+
interface UseGanttDragOptions {
|
|
74
|
+
scrollRef: Ref<HTMLElement | null>;
|
|
75
|
+
overlayRef: Ref<HTMLElement | null>;
|
|
76
|
+
rows: ComputedRef<GanttRow[]>;
|
|
77
|
+
tasksById: ComputedRef<Map<string, GanttTask>>;
|
|
78
|
+
zoom: ComputedRef<number>;
|
|
79
|
+
snap: Ref<GanttSnap>;
|
|
80
|
+
rangeStart: ComputedRef<number>;
|
|
81
|
+
rowHeight: ComputedRef<number>;
|
|
82
|
+
leftWidth: ComputedRef<number>;
|
|
83
|
+
interactive: ComputedRef<boolean>;
|
|
84
|
+
tasks: ComputedRef<GanttTask[]>;
|
|
85
|
+
links: ComputedRef<GanttLink[]>;
|
|
86
|
+
rowOrder: ComputedRef<string[] | undefined>;
|
|
87
|
+
accentColor: ComputedRef<TrueColor>;
|
|
88
|
+
onTasksChange?: (tasks: GanttTask[]) => void;
|
|
89
|
+
onLinksChange?: (links: GanttLink[]) => void;
|
|
90
|
+
onReorder?: (order: string[]) => void;
|
|
91
|
+
setSelected: (id: string | null) => void;
|
|
92
|
+
}
|
|
93
|
+
export interface UseGanttDragApi {
|
|
94
|
+
drag: Ref<GanttDragState | null>;
|
|
95
|
+
rubber: ComputedRef<GanttRubber | null>;
|
|
96
|
+
linkSelected: Ref<GanttLink | null>;
|
|
97
|
+
setLinkSelected: (link: GanttLink | null) => void;
|
|
98
|
+
onBarPointerDown: (task: GanttTask, e: PointerEvent) => void;
|
|
99
|
+
onResizePointerDown: (task: GanttTask, edge: "start" | "end", e: PointerEvent) => void;
|
|
100
|
+
onGripPointerDown: (rowKey: string, task: GanttTask, e: PointerEvent) => void;
|
|
101
|
+
onLinkHandlePointerDown: (task: GanttTask, side: 1 | -1, e: PointerEvent, fromOffset?: number) => void;
|
|
102
|
+
onProgressPointerDown: (task: GanttTask, e: PointerEvent) => void;
|
|
103
|
+
}
|
|
104
|
+
export declare function useGanttDrag(opts: UseGanttDragOptions): UseGanttDragApi;
|
|
105
|
+
export {};
|
|
@@ -4,9 +4,10 @@ export type GradientDirection = "t" | "tr" | "r" | "br" | "b" | "bl" | "l" | "tl
|
|
|
4
4
|
export type GlassBackgroundPosition = "fixed" | "absolute";
|
|
5
5
|
export interface GlassBackgroundProps {
|
|
6
6
|
/** Positioning mode.
|
|
7
|
-
* `"
|
|
8
|
-
*
|
|
9
|
-
*
|
|
7
|
+
* `"absolute"` (default) — fills the nearest positioned ancestor, which must
|
|
8
|
+
* be `relative`. Safe to drop anywhere.
|
|
9
|
+
* `"fixed"` — covers the whole viewport. Only for a page-level backdrop:
|
|
10
|
+
* inside a scrolled container it escapes its parent and covers the page.
|
|
10
11
|
*/
|
|
11
12
|
position?: GlassBackgroundPosition;
|
|
12
13
|
/** Primary theme color driving the gradient (default: "purple"). */
|
|
@@ -4,15 +4,15 @@ type __VLS_WithSlots<T, S> = T & (new () => {
|
|
|
4
4
|
$slots: S;
|
|
5
5
|
});
|
|
6
6
|
declare const __VLS_component: import("vue").DefineComponent<{}, {
|
|
7
|
-
vibrancy: number;
|
|
8
7
|
radius: number;
|
|
8
|
+
vibrancy: number;
|
|
9
9
|
tint: string;
|
|
10
10
|
tintStrength: number;
|
|
11
11
|
frost: number;
|
|
12
12
|
borderGlow: number;
|
|
13
13
|
$props: {
|
|
14
|
-
readonly vibrancy?: number | undefined;
|
|
15
14
|
readonly radius?: number | undefined;
|
|
15
|
+
readonly vibrancy?: number | undefined;
|
|
16
16
|
readonly tint?: string | undefined;
|
|
17
17
|
readonly tintStrength?: number | undefined;
|
|
18
18
|
readonly frost?: number | undefined;
|
|
@@ -1,6 +1,24 @@
|
|
|
1
|
+
import type { ControlSize, TrueColor } from "../theme/Theme";
|
|
1
2
|
export interface HeaderGroupProps {
|
|
3
|
+
/** Space between this group and the one before it. @default "sm" */
|
|
4
|
+
gap?: ControlSize;
|
|
5
|
+
/** Space between the items inside this group. @default "xs" */
|
|
6
|
+
itemGap?: ControlSize;
|
|
7
|
+
/** Draw a separator when this group follows another. @default true */
|
|
8
|
+
divider?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Colour of that separator. Omit it and the rule is a fraction of the
|
|
11
|
+
* surrounding text colour, which adapts to the surface.
|
|
12
|
+
*/
|
|
13
|
+
tone?: TrueColor;
|
|
14
|
+
/** Accessible name for the group. */
|
|
15
|
+
label?: string;
|
|
2
16
|
}
|
|
3
|
-
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<HeaderGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<HeaderGroupProps> & Readonly<{}>, {
|
|
17
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<HeaderGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<HeaderGroupProps> & Readonly<{}>, {
|
|
18
|
+
divider: boolean;
|
|
19
|
+
gap: ControlSize;
|
|
20
|
+
itemGap: ControlSize;
|
|
21
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
4
22
|
default?: (props: {}) => any;
|
|
5
23
|
}>;
|
|
6
24
|
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { IconName } from "../icons/registry";
|
|
2
1
|
import { type VNode } from "vue";
|
|
3
|
-
import type
|
|
2
|
+
import { type ControlSize, type SurfaceCorner, type SurfaceVariant, type TrueColor } from "../theme/Theme";
|
|
3
|
+
import type { IconName } from "../icons/registry";
|
|
4
4
|
export type HelpButtonPlacement = "top" | "bottom" | "left" | "right" | "auto";
|
|
5
5
|
export interface HelpButtonProps {
|
|
6
6
|
/**
|
|
@@ -16,19 +16,28 @@ export interface HelpButtonProps {
|
|
|
16
16
|
* "auto" (default) picks the side with the most available space.
|
|
17
17
|
*/
|
|
18
18
|
placement?: HelpButtonPlacement;
|
|
19
|
-
/** Accent color for the trigger button and the panel header
|
|
19
|
+
/** Accent color for the trigger button and the panel header band. @default "blue" */
|
|
20
20
|
color?: TrueColor;
|
|
21
|
-
/**
|
|
22
|
-
|
|
21
|
+
/** Surface treatment of the panel — the shared container family. @default "elevated" */
|
|
22
|
+
variant?: SurfaceVariant;
|
|
23
|
+
/** Corner radius of the panel, on the shared container scale. @default "rounded-md" */
|
|
24
|
+
corner?: SurfaceCorner;
|
|
25
|
+
/** Size of the trigger icon button, on the shared control scale. @default "xs" */
|
|
26
|
+
size?: ControlSize;
|
|
23
27
|
/** Icon for the trigger button. Defaults to "Help". */
|
|
24
28
|
icon?: IconName;
|
|
25
29
|
/** Maximum width of the floating panel in px. Defaults to 360. */
|
|
26
30
|
maxWidth?: number;
|
|
31
|
+
/** When true the panel body is a pulsing skeleton shaped like the help copy. @default false */
|
|
32
|
+
loading?: boolean;
|
|
27
33
|
}
|
|
28
34
|
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<HelpButtonProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<HelpButtonProps> & Readonly<{}>, {
|
|
29
35
|
icon: IconName;
|
|
36
|
+
size: ControlSize;
|
|
37
|
+
loading: boolean;
|
|
30
38
|
color: TrueColor;
|
|
31
|
-
|
|
39
|
+
variant: SurfaceVariant;
|
|
40
|
+
corner: SurfaceCorner;
|
|
32
41
|
maxWidth: number;
|
|
33
42
|
placement: HelpButtonPlacement;
|
|
34
43
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,51 +1,72 @@
|
|
|
1
1
|
import type { VNode } from "vue";
|
|
2
|
-
import type
|
|
3
|
-
import type { TrueColor } from "../theme";
|
|
2
|
+
import { type ControlSize, type GlowIntensity, type SurfaceCorner, type SurfacePadding, type TrueColor } from "../theme/Theme";
|
|
4
3
|
import type { PanelDecoration } from "./Panel.vue";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
import type { IconName } from "../icons/registry";
|
|
5
|
+
/**
|
|
6
|
+
* Every container surface, plus the saturated `gradient` band that is the
|
|
7
|
+
* component's own reason to exist — the same shape `EmptyState` uses for its
|
|
8
|
+
* extra `plain`.
|
|
9
|
+
*/
|
|
10
|
+
export declare const HERO_VARIANTS: readonly ["elevated", "outlined", "subtle", "tonal", "default", "glass", "simple", "liquid-glass", "gradient"];
|
|
11
|
+
export type HeroVariant = (typeof HERO_VARIANTS)[number];
|
|
12
|
+
/** The shared control scale. Both were bespoke unions, and the subtitle's was
|
|
13
|
+
* truncated to three members, so a hero could not be sized past `md`. */
|
|
14
|
+
export type HeroTitleSize = ControlSize;
|
|
15
|
+
export type HeroSubtitleSize = ControlSize;
|
|
16
|
+
/** The shared container padding scale. */
|
|
17
|
+
export type HeroPadding = SurfacePadding;
|
|
18
|
+
/** Elements a hero's title may be rendered as. */
|
|
19
|
+
export declare const HERO_TITLE_ELEMENTS: readonly ["h1", "h2", "h3", "h4", "h5", "h6", "p"];
|
|
20
|
+
export type HeroTitleElement = (typeof HERO_TITLE_ELEMENTS)[number];
|
|
8
21
|
export interface HeroProps {
|
|
9
|
-
/** Main heading
|
|
10
|
-
title
|
|
11
|
-
/** Supporting
|
|
22
|
+
/** Main heading. */
|
|
23
|
+
title: string;
|
|
24
|
+
/** Supporting line under the title. */
|
|
12
25
|
subtitle?: string;
|
|
13
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* What the title is rendered as. It was always a `<p>`, so a banner that
|
|
28
|
+
* reads as the top of a page announced nothing to a screen reader.
|
|
29
|
+
* @default "p"
|
|
30
|
+
*/
|
|
31
|
+
titleAs?: HeroTitleElement;
|
|
32
|
+
/** Registry icon name, or a node. Omit it and the slot is not drawn. */
|
|
14
33
|
icon?: IconName | VNode;
|
|
15
|
-
/**
|
|
34
|
+
/** @default "blue" */
|
|
16
35
|
tone?: TrueColor;
|
|
17
|
-
/**
|
|
36
|
+
/** Alias for `tone`, matching the rest of the kit. */
|
|
37
|
+
color?: TrueColor;
|
|
38
|
+
/** @default "gradient" */
|
|
39
|
+
variant?: HeroVariant;
|
|
40
|
+
/** @default "sm" */
|
|
18
41
|
titleSize?: HeroTitleSize;
|
|
19
|
-
/**
|
|
42
|
+
/** @default "xs" */
|
|
20
43
|
subtitleSize?: HeroSubtitleSize;
|
|
21
|
-
/**
|
|
44
|
+
/** @default "sm" */
|
|
22
45
|
padding?: HeroPadding;
|
|
23
|
-
/**
|
|
46
|
+
/** Corner radius on the shared container scale. */
|
|
47
|
+
corner?: SurfaceCorner;
|
|
48
|
+
/** @deprecated Use `corner`. Ignored when `corner` is set. */
|
|
24
49
|
rounded?: boolean;
|
|
25
50
|
/**
|
|
26
|
-
* Decorative layer inside the banner:
|
|
27
|
-
*
|
|
28
|
-
* - `"gradient"` — a diagonal white-to-transparent light wash
|
|
29
|
-
* - `"both"` — circles + wash (default)
|
|
30
|
-
* - `"none"` — no decoration
|
|
51
|
+
* Decorative layer inside the banner: floating circles, a diagonal wash,
|
|
52
|
+
* both, or neither. @default "both"
|
|
31
53
|
*/
|
|
32
54
|
decoration?: PanelDecoration;
|
|
55
|
+
/** Start colour of the gradient. Defaults to the tone's 700 shade. */
|
|
56
|
+
gradientFrom?: string;
|
|
57
|
+
/** End colour of the gradient. Defaults to the tone's 800 shade. */
|
|
58
|
+
gradientTo?: string;
|
|
59
|
+
/** Halo behind the banner. @default "soft" */
|
|
60
|
+
glowIntensity?: GlowIntensity;
|
|
33
61
|
}
|
|
34
|
-
declare const _default:
|
|
35
|
-
tone: TrueColor;
|
|
62
|
+
declare const _default: import("vue").DefineComponent<HeroProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<HeroProps> & Readonly<{}>, {
|
|
36
63
|
rounded: boolean;
|
|
64
|
+
variant: HeroVariant;
|
|
37
65
|
padding: HeroPadding;
|
|
38
66
|
decoration: PanelDecoration;
|
|
67
|
+
titleAs: HeroTitleElement;
|
|
39
68
|
titleSize: HeroTitleSize;
|
|
40
69
|
subtitleSize: HeroSubtitleSize;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
} & {
|
|
44
|
-
subtitle?: (props: {}) => any;
|
|
45
|
-
}>;
|
|
70
|
+
glowIntensity: GlowIntensity;
|
|
71
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
46
72
|
export default _default;
|
|
47
|
-
type __VLS_WithSlots<T, S> = T & {
|
|
48
|
-
new (): {
|
|
49
|
-
$slots: S;
|
|
50
|
-
};
|
|
51
|
-
};
|
|
@@ -18,6 +18,12 @@ export interface IconButtonProps {
|
|
|
18
18
|
srLabel?: string;
|
|
19
19
|
accent?: boolean;
|
|
20
20
|
accentColor?: ButtonColor;
|
|
21
|
+
/**
|
|
22
|
+
* Raw CSS colour to tint the icon. Omit it and the icon inherits the
|
|
23
|
+
* button's text colour (icons paint with `currentColor`), so the glyph
|
|
24
|
+
* always matches; set it to override just the icon.
|
|
25
|
+
*/
|
|
26
|
+
iconColor?: string;
|
|
21
27
|
disabled?: boolean;
|
|
22
28
|
/** When set, a styled tooltip is shown on hover (replaces the native title attribute). */
|
|
23
29
|
tooltip?: string;
|
|
@@ -36,16 +42,16 @@ declare const _default: import("vue").DefineComponent<IconButtonProps, {
|
|
|
36
42
|
el: import("vue").Ref<HTMLButtonElement | null, HTMLButtonElement | null>;
|
|
37
43
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<IconButtonProps> & Readonly<{}>, {
|
|
38
44
|
glass: boolean;
|
|
39
|
-
|
|
40
|
-
variant: ButtonVariant;
|
|
45
|
+
rounded: IconButtonRounded;
|
|
41
46
|
size: ButtonSize;
|
|
42
|
-
disabled: boolean;
|
|
43
47
|
loading: boolean;
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
color: ButtonColor;
|
|
49
|
+
disabled: boolean;
|
|
50
|
+
variant: ButtonVariant;
|
|
46
51
|
glassOpacity: GlassOpacity;
|
|
52
|
+
vibrancy: GlassVibrancy;
|
|
47
53
|
specularMode: SpecularMode;
|
|
48
|
-
|
|
54
|
+
accent: boolean;
|
|
49
55
|
spinnerVariant: "solid" | "segments";
|
|
50
56
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
51
57
|
export default _default;
|
|
@@ -1,37 +1,84 @@
|
|
|
1
|
+
import type { PanelCorner, PanelPadding, PanelSpecularMode } from "./Panel.vue";
|
|
2
|
+
import type { GlassOpacity, GlassVibrancy } from "../theme/glass";
|
|
3
|
+
import type { ControlSize, PlainSurfaceVariant, TrueColor } from "../theme/Theme";
|
|
4
|
+
/** Every container surface, plus `plain` for use inside a card that exists. */
|
|
5
|
+
export type InfiniteScrollPanelVariant = PlainSurfaceVariant;
|
|
6
|
+
/**
|
|
7
|
+
* How the items are arranged.
|
|
8
|
+
*
|
|
9
|
+
* - `list` — one column, reading order preserved
|
|
10
|
+
* - `grid` — responsive columns, reading order preserved (left to right)
|
|
11
|
+
* - `masonry` — responsive columns, rows spanned to the item's height
|
|
12
|
+
* - `columns` — balanced columns filled top-to-bottom, so reading order runs
|
|
13
|
+
* *down* each column rather than across
|
|
14
|
+
*
|
|
15
|
+
* Replaces the `masonry` / `useFixedColumns` boolean pair, which could express
|
|
16
|
+
* four states of which only three meant anything and hid the reading-order
|
|
17
|
+
* trade-off behind a name that did not mention it.
|
|
18
|
+
*/
|
|
19
|
+
export type InfiniteScrollLayout = "list" | "grid" | "masonry" | "columns";
|
|
1
20
|
export interface InfiniteScrollPanelProps<T> {
|
|
2
21
|
items: T[];
|
|
3
|
-
|
|
22
|
+
/** True while the *first* page is loading. */
|
|
23
|
+
isLoading?: boolean;
|
|
4
24
|
hasMore: boolean;
|
|
5
25
|
/**
|
|
6
|
-
* Awaited when more items
|
|
7
|
-
*
|
|
8
|
-
*
|
|
26
|
+
* Awaited when more items are needed — kept as a function prop, not an emit,
|
|
27
|
+
* because the component awaits its promise. Rejections surface as a retry
|
|
28
|
+
* state rather than being swallowed into the console.
|
|
9
29
|
*/
|
|
10
30
|
onLoadMore: () => Promise<void>;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
31
|
+
/** Stable key per item. Defaults to the index. */
|
|
32
|
+
getItemKey?: (item: T, index: number) => string | number;
|
|
33
|
+
/** @default "masonry" */
|
|
34
|
+
layout?: InfiniteScrollLayout;
|
|
35
|
+
/** Narrowest a column may get before the count drops. @default 300 */
|
|
36
|
+
minColumnWidth?: number;
|
|
15
37
|
maxColumns?: number;
|
|
38
|
+
/** Explicit `grid-template-columns`, overriding the computed one. */
|
|
16
39
|
columnTemplate?: string;
|
|
17
|
-
|
|
40
|
+
/** Space between items. @default "md" */
|
|
41
|
+
gap?: ControlSize;
|
|
42
|
+
/**
|
|
43
|
+
* How far below the viewport the sentinel is observed, in pixels. Used to be
|
|
44
|
+
* `threshold`, which was multiplied by a magic 50 *and* reused as an item
|
|
45
|
+
* count — two different meanings for one prop.
|
|
46
|
+
* @default 320
|
|
47
|
+
*/
|
|
48
|
+
rootMargin?: number;
|
|
49
|
+
/** Keep fetching until at least this many items are loaded. @default 0 */
|
|
50
|
+
minItems?: number;
|
|
51
|
+
/** Copy for the built-in end marker. */
|
|
52
|
+
endMessage?: string;
|
|
53
|
+
/** Copy for the built-in empty state. */
|
|
54
|
+
emptyMessage?: string;
|
|
55
|
+
/** @default "plain" — this is usually dropped into a card the app owns. */
|
|
56
|
+
variant?: InfiniteScrollPanelVariant;
|
|
57
|
+
tone?: TrueColor;
|
|
58
|
+
corner?: PanelCorner;
|
|
59
|
+
padding?: PanelPadding;
|
|
60
|
+
glassOpacity?: GlassOpacity;
|
|
61
|
+
vibrancy?: GlassVibrancy;
|
|
62
|
+
specularMode?: PanelSpecularMode;
|
|
63
|
+
/** Fixed height for the scroll area. Otherwise it fills its parent. */
|
|
64
|
+
height?: number | string;
|
|
18
65
|
}
|
|
19
66
|
declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
20
|
-
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
67
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
|
|
68
|
+
readonly onError?: ((error: unknown) => any) | undefined;
|
|
69
|
+
} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onError"> & InfiniteScrollPanelProps<T> & Partial<{}>> & import("vue").PublicProps;
|
|
21
70
|
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
22
71
|
attrs: any;
|
|
23
72
|
slots: {
|
|
24
|
-
/** Renders each item — replaces the React `renderItem` render prop. */
|
|
25
73
|
renderItem?: (props: {
|
|
26
74
|
item: T;
|
|
27
75
|
index: number;
|
|
28
76
|
}) => unknown;
|
|
29
|
-
/** Replaces the React `loadingComponent` node prop. */
|
|
30
77
|
loadingComponent?: () => unknown;
|
|
31
|
-
/** Replaces the React `emptyComponent` node prop. */
|
|
32
78
|
emptyComponent?: () => unknown;
|
|
79
|
+
endComponent?: () => unknown;
|
|
33
80
|
};
|
|
34
|
-
emit:
|
|
81
|
+
emit: (event: "error", error: unknown) => void;
|
|
35
82
|
}>) => import("vue").VNode & {
|
|
36
83
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
37
84
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { type ControlSize, type PlainSurfaceVariant, type SurfaceCorner, type SurfacePadding, type TrueColor } from "../theme/Theme";
|
|
2
|
+
import type { GlassOpacity, GlassVibrancy } from "../theme/glass";
|
|
3
|
+
/**
|
|
4
|
+
* Every container surface, plus `plain` for a row dropped straight into a card
|
|
5
|
+
* the app already owns — which is where an `InfoRow` normally lives, so it is
|
|
6
|
+
* the default.
|
|
7
|
+
*/
|
|
8
|
+
export declare const INFO_ROW_VARIANTS: readonly ["elevated", "outlined", "subtle", "tonal", "default", "glass", "simple", "liquid-glass", "plain"];
|
|
9
|
+
export type InfoRowVariant = PlainSurfaceVariant;
|
|
10
|
+
/** The shared control scale. Was a component-local `xs | sm | md | lg`. */
|
|
11
|
+
export type InfoRowSize = ControlSize;
|
|
12
|
+
/** The shared container padding scale. Was a component-local eight-member list. */
|
|
13
|
+
export type InfoRowPadding = SurfacePadding;
|
|
14
|
+
/** How a row reports that it is still waiting for its value. */
|
|
15
|
+
export declare const INFO_ROW_LOADERS: readonly ["skeleton", "spinner"];
|
|
16
|
+
export type InfoRowLoader = (typeof INFO_ROW_LOADERS)[number];
|
|
3
17
|
export interface InfoRowProps {
|
|
4
18
|
/** Row label (left side). Use the `label` slot for composed/styled labels. */
|
|
5
19
|
label?: string;
|
|
@@ -9,13 +23,13 @@ export interface InfoRowProps {
|
|
|
9
23
|
*/
|
|
10
24
|
labelSize?: InfoRowSize;
|
|
11
25
|
/**
|
|
12
|
-
* Extra classes for the label span
|
|
13
|
-
*
|
|
26
|
+
* Extra classes for the label span. A text colour here replaces the row's
|
|
27
|
+
* own rather than racing it — see `hasTextColor`.
|
|
14
28
|
*/
|
|
15
29
|
labelClassName?: string;
|
|
16
30
|
/**
|
|
17
31
|
* Fixed width class for the label column (e.g. `"w-32"`).
|
|
18
|
-
* Defaults to a size-appropriate width (`w-16`
|
|
32
|
+
* Defaults to a size-appropriate width (`w-16` … `w-32`).
|
|
19
33
|
* Pass `""` to let the label size naturally.
|
|
20
34
|
*/
|
|
21
35
|
labelWidth?: string;
|
|
@@ -33,66 +47,78 @@ export interface InfoRowProps {
|
|
|
33
47
|
*/
|
|
34
48
|
valueSize?: InfoRowSize;
|
|
35
49
|
/**
|
|
36
|
-
* Extra classes for the value span
|
|
37
|
-
*
|
|
50
|
+
* Extra classes for the value span. A text colour here replaces the row's
|
|
51
|
+
* own rather than racing it.
|
|
38
52
|
*/
|
|
39
53
|
valueClassName?: string;
|
|
40
|
-
/** Controls both label and value text size when individual overrides are absent.
|
|
54
|
+
/** Controls both label and value text size when individual overrides are absent. @default "md" */
|
|
41
55
|
size?: InfoRowSize;
|
|
42
56
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
57
|
+
* The surface the row draws for itself. `plain` draws none — just the
|
|
58
|
+
* hairline — which is right for a row inside an existing card. @default "plain"
|
|
45
59
|
*/
|
|
60
|
+
variant?: InfoRowVariant;
|
|
61
|
+
/** Accent for the hover wash, the focus ring and the glass tint. @default "blue" */
|
|
62
|
+
tone?: TrueColor;
|
|
63
|
+
/** Corner radius when `variant` is not `plain`. */
|
|
64
|
+
corner?: SurfaceCorner;
|
|
65
|
+
/** Vertical padding override. When omitted, padding is derived from `size`. */
|
|
46
66
|
padding?: InfoRowPadding;
|
|
47
67
|
/**
|
|
48
68
|
* Show a copy-to-clipboard button.
|
|
49
|
-
*
|
|
50
|
-
* Pass `false` to suppress the button entirely.
|
|
69
|
+
* Shown automatically when the resolved value is a string or number. @default true
|
|
51
70
|
*/
|
|
52
71
|
copyable?: boolean;
|
|
53
|
-
/**
|
|
54
|
-
* Render the value in a monospace font.
|
|
55
|
-
* Shorthand for `valueClassName="font-mono"`.
|
|
56
|
-
*/
|
|
72
|
+
/** Render the value in a monospace font. */
|
|
57
73
|
mono?: boolean;
|
|
58
74
|
/**
|
|
59
75
|
* Hide the row entirely when `value` is `null`, `undefined`, or `''`.
|
|
60
|
-
*
|
|
76
|
+
* Set to `false` to show the `emptyText` placeholder instead. @default true
|
|
61
77
|
*/
|
|
62
78
|
hideIfEmpty?: boolean;
|
|
63
|
-
/**
|
|
64
|
-
* Placeholder text shown when `hideIfEmpty` is `false` and the value is empty.
|
|
65
|
-
* Defaults to `'—'`.
|
|
66
|
-
*/
|
|
79
|
+
/** Placeholder shown when `hideIfEmpty` is `false` and the value is empty. @default "—" */
|
|
67
80
|
emptyText?: string;
|
|
68
|
-
/**
|
|
69
|
-
* Allow the value to wrap to multiple lines instead of truncating.
|
|
70
|
-
* Defaults to `false`.
|
|
71
|
-
*/
|
|
81
|
+
/** Allow the value to wrap to multiple lines instead of truncating. */
|
|
72
82
|
wrap?: boolean;
|
|
73
83
|
/**
|
|
74
84
|
* Show a tooltip with the full value when the text is truncated.
|
|
75
|
-
* Only active when `wrap` is `false` and the value is a string or number.
|
|
76
|
-
* Defaults to `true`.
|
|
85
|
+
* Only active when `wrap` is `false` and the value is a string or number. @default true
|
|
77
86
|
*/
|
|
78
87
|
tooltipOnTruncate?: boolean;
|
|
79
|
-
/**
|
|
80
|
-
|
|
88
|
+
/** The value is still being fetched: render a placeholder in its place. */
|
|
89
|
+
loading?: boolean;
|
|
90
|
+
/** How `loading` is drawn. @default "skeleton" */
|
|
91
|
+
loaderType?: InfoRowLoader;
|
|
81
92
|
/**
|
|
82
|
-
*
|
|
83
|
-
*
|
|
93
|
+
* Something went wrong fetching this value. Replaces the value, and is
|
|
94
|
+
* announced — a row that silently shows "—" for a failed lookup is
|
|
95
|
+
* indistinguishable from one that is genuinely empty.
|
|
84
96
|
*/
|
|
97
|
+
error?: string;
|
|
98
|
+
/** Remove the bottom hairline (e.g. for a last row handled externally). */
|
|
99
|
+
noBorder?: boolean;
|
|
100
|
+
/** Remove the default horizontal padding. */
|
|
85
101
|
noPadding?: boolean;
|
|
86
|
-
/**
|
|
87
|
-
* Add a subtle hover background and rounded corners (matches classic detail-panel row style).
|
|
88
|
-
* Defaults to `false`.
|
|
89
|
-
*/
|
|
102
|
+
/** Add a hover wash and rounded corners, in the row's own `tone`. */
|
|
90
103
|
hoverable?: boolean;
|
|
104
|
+
/** Glass fill transparency, when `variant` is a glass one. */
|
|
105
|
+
glassOpacity?: GlassOpacity;
|
|
106
|
+
/** Backdrop vibrancy, when `variant` is a glass one. */
|
|
107
|
+
vibrancy?: GlassVibrancy;
|
|
91
108
|
}
|
|
92
|
-
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<InfoRowProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
109
|
+
declare const _default: __VLS_WithSlots<import("vue").DefineComponent<InfoRowProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
110
|
+
copy: (text: string) => any;
|
|
111
|
+
}, string, import("vue").PublicProps, Readonly<InfoRowProps> & Readonly<{
|
|
112
|
+
onCopy?: ((text: string) => any) | undefined;
|
|
113
|
+
}>, {
|
|
93
114
|
size: InfoRowSize;
|
|
94
|
-
|
|
115
|
+
loading: boolean;
|
|
116
|
+
tone: TrueColor;
|
|
117
|
+
variant: InfoRowVariant;
|
|
118
|
+
corner: SurfaceCorner;
|
|
119
|
+
loaderType: InfoRowLoader;
|
|
95
120
|
hoverable: boolean;
|
|
121
|
+
wrap: boolean;
|
|
96
122
|
noPadding: boolean;
|
|
97
123
|
copyable: boolean;
|
|
98
124
|
mono: boolean;
|
|
@@ -104,6 +130,10 @@ declare const _default: __VLS_WithSlots<import("vue").DefineComponent<InfoRowPro
|
|
|
104
130
|
label?: (props: {}) => any;
|
|
105
131
|
} & {
|
|
106
132
|
value?: (props: {}) => any;
|
|
133
|
+
} & {
|
|
134
|
+
label?: (props: {}) => any;
|
|
135
|
+
} & {
|
|
136
|
+
value?: (props: {}) => any;
|
|
107
137
|
}>;
|
|
108
138
|
export default _default;
|
|
109
139
|
type __VLS_WithSlots<T, S> = T & {
|