@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.
Files changed (216) hide show
  1. package/dist/index.cjs +18 -25
  2. package/dist/index.css +37732 -13285
  3. package/dist/index.js +31192 -21036
  4. package/dist/types/common/chat/markdown.d.ts +8 -0
  5. package/dist/types/common/chat/storage.d.ts +48 -0
  6. package/dist/types/common/chat/stream.d.ts +43 -0
  7. package/dist/types/common/chat/types.d.ts +143 -0
  8. package/dist/types/common/connectionFlow/header.d.ts +56 -0
  9. package/dist/types/common/connectionFlow/icons.d.ts +15 -0
  10. package/dist/types/common/connectionFlow/index.d.ts +6 -0
  11. package/dist/types/common/connectionFlow/layout.d.ts +73 -0
  12. package/dist/types/common/connectionFlow/measure.d.ts +94 -0
  13. package/dist/types/common/connectionFlow/paint.d.ts +36 -0
  14. package/dist/types/common/connectionFlow/router.d.ts +131 -0
  15. package/dist/types/common/connectionFlow/tones.d.ts +79 -0
  16. package/dist/types/common/connectionFlow/types.d.ts +394 -0
  17. package/dist/types/common/gantt/drag.d.ts +221 -0
  18. package/dist/types/common/gantt/index.d.ts +11 -0
  19. package/dist/types/common/gantt/layout.d.ts +133 -0
  20. package/dist/types/common/gantt/sample.d.ts +15 -0
  21. package/dist/types/common/gantt/time.d.ts +77 -0
  22. package/dist/types/common/gantt/tokens.d.ts +73 -0
  23. package/dist/types/common/gantt/types.d.ts +216 -0
  24. package/dist/types/common/i18n/builtIn/de.d.ts +2 -0
  25. package/dist/types/common/i18n/builtIn/en.d.ts +2 -0
  26. package/dist/types/common/i18n/builtIn/es.d.ts +2 -0
  27. package/dist/types/common/i18n/builtIn/fr.d.ts +2 -0
  28. package/dist/types/common/i18n/builtIn/index.d.ts +15 -0
  29. package/dist/types/common/i18n/builtIn/pt.d.ts +2 -0
  30. package/dist/types/common/i18n/catalog.d.ts +32 -0
  31. package/dist/types/common/i18n/createI18n.d.ts +2 -0
  32. package/dist/types/common/i18n/dates.d.ts +12 -0
  33. package/dist/types/common/i18n/detect.d.ts +29 -0
  34. package/dist/types/common/i18n/icu.d.ts +36 -0
  35. package/dist/types/common/i18n/index.d.ts +10 -0
  36. package/dist/types/common/i18n/provider.d.ts +7 -0
  37. package/dist/types/common/i18n/storage.d.ts +8 -0
  38. package/dist/types/common/i18n/types.d.ts +64 -0
  39. package/dist/types/common/i18n/warn.d.ts +5 -0
  40. package/dist/types/common/theme/Theme.d.ts +941 -3
  41. package/dist/types/common/theme/glass.d.ts +90 -11
  42. package/dist/types/common/theme/randomThemeColor.d.ts +4 -4
  43. package/dist/types/common/tooltip/placement.d.ts +103 -0
  44. package/dist/types/common/tooltip/tokens.d.ts +40 -0
  45. package/dist/types/common/types/TableSettings.d.ts +15 -0
  46. package/dist/types/common/types/Variables.d.ts +71 -1
  47. package/dist/types/common/utils/dates.d.ts +113 -0
  48. package/dist/types/common/utils/gravatar.d.ts +0 -10
  49. package/dist/types/common/utils/safeStorage.d.ts +28 -0
  50. package/dist/types/common/utils/sanitizeSvg.d.ts +44 -0
  51. package/dist/types/common/utils/smartVariables.d.ts +74 -18
  52. package/dist/types/common/utils/tableStorage.d.ts +38 -0
  53. package/dist/types/vue/src/chat/index.d.ts +4 -0
  54. package/dist/types/vue/src/components/AccessMatrix.test.d.ts +1 -0
  55. package/dist/types/vue/src/components/AccessMatrix.vue.d.ts +23 -1
  56. package/dist/types/vue/src/components/Accordion.test.d.ts +1 -0
  57. package/dist/types/vue/src/components/Accordion.vue.d.ts +42 -28
  58. package/dist/types/vue/src/components/ActivityFeed.test.d.ts +1 -0
  59. package/dist/types/vue/src/components/ActivityFeed.vue.d.ts +141 -0
  60. package/dist/types/vue/src/components/Alert.test.d.ts +1 -0
  61. package/dist/types/vue/src/components/Alert.vue.d.ts +59 -2
  62. package/dist/types/vue/src/components/ApiErrorState.test.d.ts +1 -0
  63. package/dist/types/vue/src/components/ApiErrorState.vue.d.ts +28 -8
  64. package/dist/types/vue/src/components/AppDivider.vue.d.ts +53 -4
  65. package/dist/types/vue/src/components/Badge.vue.d.ts +45 -13
  66. package/dist/types/vue/src/components/BadgeIcon.vue.d.ts +1 -1
  67. package/dist/types/vue/src/components/BreakdownCard.test.d.ts +1 -0
  68. package/dist/types/vue/src/components/BreakdownCard.vue.d.ts +81 -0
  69. package/dist/types/vue/src/components/Button.vue.d.ts +22 -11
  70. package/dist/types/vue/src/components/Chat.test.d.ts +1 -0
  71. package/dist/types/vue/src/components/Chat.vue.d.ts +80 -0
  72. package/dist/types/vue/src/components/Checkbox.test.d.ts +1 -0
  73. package/dist/types/vue/src/components/Checkbox.vue.d.ts +44 -29
  74. package/dist/types/vue/src/components/CollapsiblePanel.vue.d.ts +5 -5
  75. package/dist/types/vue/src/components/ColorSwatches.test.d.ts +1 -0
  76. package/dist/types/vue/src/components/ColorSwatches.vue.d.ts +42 -0
  77. package/dist/types/vue/src/components/Combobox.test.d.ts +1 -0
  78. package/dist/types/vue/src/components/Combobox.vue.d.ts +61 -12
  79. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlow.vue.d.ts +153 -17
  80. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowCanvas.vue.d.ts +28 -0
  81. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowHeader.vue.d.ts +33 -0
  82. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowNodeBody.vue.d.ts +32 -0
  83. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowSkeleton.vue.d.ts +18 -0
  84. package/dist/types/vue/src/components/ConnectionFlow/ConnectionFlowSvg.vue.d.ts +52 -0
  85. package/dist/types/vue/src/components/ConnectionFlow/connectionFlow.test.d.ts +1 -0
  86. package/dist/types/vue/src/components/ConnectionFlow/index.d.ts +11 -4
  87. package/dist/types/vue/src/components/CustomIcon.vue.d.ts +35 -11
  88. package/dist/types/vue/src/components/DetailItemCard.vue.d.ts +37 -5
  89. package/dist/types/vue/src/components/DropdownButton.vue.d.ts +3 -3
  90. package/dist/types/vue/src/components/DropdownMenu.test.d.ts +1 -0
  91. package/dist/types/vue/src/components/DropdownMenu.vue.d.ts +1 -1
  92. package/dist/types/vue/src/components/DynamicFormField.test.d.ts +1 -0
  93. package/dist/types/vue/src/components/DynamicFormField.vue.d.ts +61 -5
  94. package/dist/types/vue/src/components/DynamicImg.vue.d.ts +28 -3
  95. package/dist/types/vue/src/components/EmptyState.test.d.ts +1 -0
  96. package/dist/types/vue/src/components/EmptyState.vue.d.ts +104 -24
  97. package/dist/types/vue/src/components/FormField.vue.d.ts +2 -1
  98. package/dist/types/vue/src/components/Gantt/Gantt.test.d.ts +1 -0
  99. package/dist/types/vue/src/components/Gantt/Gantt.vue.d.ts +160 -0
  100. package/dist/types/vue/src/components/Gantt/GanttBodyRow.vue.d.ts +78 -0
  101. package/dist/types/vue/src/components/Gantt/GanttCell.vue.d.ts +28 -0
  102. package/dist/types/vue/src/components/Gantt/GanttLinkLayer.vue.d.ts +22 -0
  103. package/dist/types/vue/src/components/Gantt/GanttScale.vue.d.ts +7 -0
  104. package/dist/types/vue/src/components/Gantt/GanttTaskBar.vue.d.ts +53 -0
  105. package/dist/types/vue/src/components/Gantt/GanttToolbar.vue.d.ts +22 -0
  106. package/dist/types/vue/src/components/Gantt/index.d.ts +18 -0
  107. package/dist/types/vue/src/components/Gantt/labels.d.ts +3 -0
  108. package/dist/types/vue/src/components/Gantt/types.d.ts +11 -0
  109. package/dist/types/vue/src/components/Gantt/useGanttDrag.d.ts +105 -0
  110. package/dist/types/vue/src/components/GlassBackground.vue.d.ts +4 -3
  111. package/dist/types/vue/src/components/GlassPanel.vue.d.ts +2 -2
  112. package/dist/types/vue/src/components/HeaderGroup.vue.d.ts +19 -1
  113. package/dist/types/vue/src/components/HelpButton.test.d.ts +1 -0
  114. package/dist/types/vue/src/components/HelpButton.vue.d.ts +15 -6
  115. package/dist/types/vue/src/components/Hero.test.d.ts +1 -0
  116. package/dist/types/vue/src/components/Hero.vue.d.ts +52 -31
  117. package/dist/types/vue/src/components/IconButton.vue.d.ts +12 -6
  118. package/dist/types/vue/src/components/InfiniteScrollPanel.vue.d.ts +61 -14
  119. package/dist/types/vue/src/components/InfoRow.test.d.ts +1 -0
  120. package/dist/types/vue/src/components/InfoRow.vue.d.ts +67 -37
  121. package/dist/types/vue/src/components/InlinePanel.vue.d.ts +12 -18
  122. package/dist/types/vue/src/components/Input.test.d.ts +1 -0
  123. package/dist/types/vue/src/components/Input.vue.d.ts +42 -13
  124. package/dist/types/vue/src/components/InputGroup.test.d.ts +1 -0
  125. package/dist/types/vue/src/components/InputGroup.vue.d.ts +20 -5
  126. package/dist/types/vue/src/components/Loader.test.d.ts +1 -0
  127. package/dist/types/vue/src/components/Loader.vue.d.ts +30 -11
  128. package/dist/types/vue/src/components/MarkdownEditor.vue.d.ts +1 -1
  129. package/dist/types/vue/src/components/MetricBar.test.d.ts +1 -0
  130. package/dist/types/vue/src/components/MetricBar.vue.d.ts +16 -5
  131. package/dist/types/vue/src/components/Modal.vue.d.ts +18 -19
  132. package/dist/types/vue/src/components/MultiProgressBar.vue.d.ts +15 -2
  133. package/dist/types/vue/src/components/MultiSelectPills.test.d.ts +1 -0
  134. package/dist/types/vue/src/components/MultiSelectPills.vue.d.ts +47 -43
  135. package/dist/types/vue/src/components/MultiToggle.test.d.ts +1 -0
  136. package/dist/types/vue/src/components/MultiToggle.vue.d.ts +33 -6
  137. package/dist/types/vue/src/components/NotificationModal.test.d.ts +1 -0
  138. package/dist/types/vue/src/components/NotificationModal.vue.d.ts +19 -2
  139. package/dist/types/vue/src/components/PageHeader.test.d.ts +1 -0
  140. package/dist/types/vue/src/components/PageHeader.vue.d.ts +18 -0
  141. package/dist/types/vue/src/components/PagedPanel.test.d.ts +1 -0
  142. package/dist/types/vue/src/components/PagedPanel.vue.d.ts +39 -11
  143. package/dist/types/vue/src/components/Panel.vue.d.ts +18 -9
  144. package/dist/types/vue/src/components/PasswordInput.test.d.ts +1 -0
  145. package/dist/types/vue/src/components/PasswordInput.vue.d.ts +20 -3
  146. package/dist/types/vue/src/components/Picker.test.d.ts +1 -0
  147. package/dist/types/vue/src/components/Picker.vue.d.ts +3 -3
  148. package/dist/types/vue/src/components/Pill.vue.d.ts +63 -5
  149. package/dist/types/vue/src/components/Progress.test.d.ts +1 -0
  150. package/dist/types/vue/src/components/Progress.vue.d.ts +60 -11
  151. package/dist/types/vue/src/components/ProgressSpinner.test.d.ts +1 -0
  152. package/dist/types/vue/src/components/ProgressSpinner.vue.d.ts +46 -0
  153. package/dist/types/vue/src/components/ScrollArea.test.d.ts +1 -0
  154. package/dist/types/vue/src/components/ScrollArea.vue.d.ts +52 -0
  155. package/dist/types/vue/src/components/SearchBar.vue.d.ts +2 -3
  156. package/dist/types/vue/src/components/Section.vue.d.ts +1 -1
  157. package/dist/types/vue/src/components/SectionCard.vue.d.ts +2 -2
  158. package/dist/types/vue/src/components/Select.test.d.ts +1 -0
  159. package/dist/types/vue/src/components/Select.vue.d.ts +41 -16
  160. package/dist/types/vue/src/components/SidePanel.vue.d.ts +1 -1
  161. package/dist/types/vue/src/components/SmartInput.vue.d.ts +49 -18
  162. package/dist/types/vue/src/components/SmartValue.vue.d.ts +20 -13
  163. package/dist/types/vue/src/components/SmartVariableBadge.vue.d.ts +17 -0
  164. package/dist/types/vue/src/components/Spinner.test.d.ts +1 -0
  165. package/dist/types/vue/src/components/Spinner.vue.d.ts +12 -5
  166. package/dist/types/vue/src/components/SplitView.vue.d.ts +6 -6
  167. package/dist/types/vue/src/components/StartupStageStepper.vue.d.ts +1 -1
  168. package/dist/types/vue/src/components/StatChartTile.vue.d.ts +5 -0
  169. package/dist/types/vue/src/components/StatCountTile.vue.d.ts +5 -1
  170. package/dist/types/vue/src/components/StatGraphTile.vue.d.ts +1 -1
  171. package/dist/types/vue/src/components/StatTile.test.d.ts +1 -0
  172. package/dist/types/vue/src/components/StatTile.vue.d.ts +5 -1
  173. package/dist/types/vue/src/components/StatusSpinner.test.d.ts +1 -0
  174. package/dist/types/vue/src/components/StatusSpinner.vue.d.ts +10 -5
  175. package/dist/types/vue/src/components/Stepper.test.d.ts +1 -0
  176. package/dist/types/vue/src/components/Stepper.vue.d.ts +62 -25
  177. package/dist/types/vue/src/components/Table.test.d.ts +1 -0
  178. package/dist/types/vue/src/components/Table.vue.d.ts +67 -14
  179. package/dist/types/vue/src/components/Tabs.vue.d.ts +20 -3
  180. package/dist/types/vue/src/components/TagPicker.vue.d.ts +3 -3
  181. package/dist/types/vue/src/components/Textarea.vue.d.ts +8 -5
  182. package/dist/types/vue/src/components/TimelinePanel/TimelinePanel.vue.d.ts +4 -4
  183. package/dist/types/vue/src/components/Toggle.vue.d.ts +4 -4
  184. package/dist/types/vue/src/components/Toolbar.test.d.ts +1 -0
  185. package/dist/types/vue/src/components/Toolbar.vue.d.ts +62 -0
  186. package/dist/types/vue/src/components/Tooltip.test.d.ts +1 -0
  187. package/dist/types/vue/src/components/Tooltip.vue.d.ts +20 -3
  188. package/dist/types/vue/src/components/TooltipWrapper.vue.d.ts +24 -3
  189. package/dist/types/vue/src/components/TreeView/TreeFlowSvg.vue.d.ts +5 -5
  190. package/dist/types/vue/src/components/TreeView/TreeItemRow.vue.d.ts +2 -2
  191. package/dist/types/vue/src/components/TreeView/TreeView.vue.d.ts +4 -4
  192. package/dist/types/vue/src/components/UserAvatar.test.d.ts +1 -0
  193. package/dist/types/vue/src/components/UserAvatar.vue.d.ts +56 -6
  194. package/dist/types/vue/src/components/VariablePicker.vue.d.ts +23 -6
  195. package/dist/types/vue/src/components/__dbg.test.d.ts +1 -0
  196. package/dist/types/vue/src/components/index.d.ts +50 -31
  197. package/dist/types/vue/src/components/internal/InfoRowContent.vue.d.ts +52 -0
  198. package/dist/types/vue/src/components/internal/PagedPanelContent.vue.d.ts +47 -0
  199. package/dist/types/vue/src/connectionFlow/index.d.ts +1 -0
  200. package/dist/types/vue/src/contexts/IconContext.d.ts +8 -3
  201. package/dist/types/vue/src/i18n/I18nContext.d.ts +14 -0
  202. package/dist/types/vue/src/i18n/I18nProvider.test.d.ts +2 -0
  203. package/dist/types/vue/src/i18n/I18nProvider.vue.d.ts +35 -0
  204. package/dist/types/vue/src/i18n/index.d.ts +8 -0
  205. package/dist/types/vue/src/i18n/kit-components-spot.test.d.ts +1 -0
  206. package/dist/types/vue/src/i18n/useI18n.d.ts +44 -0
  207. package/dist/types/vue/src/index.d.ts +2 -2
  208. package/dist/types/vue/src/test-setup.d.ts +5 -0
  209. package/dist/types/vue/src/types/Icon.d.ts +11 -2
  210. package/dist/types/vue/src/types/TableSettings.d.ts +1 -0
  211. package/dist/types/vue/src/types/index.d.ts +1 -0
  212. package/dist/types/vue/src/utils/index.d.ts +1 -0
  213. package/dist/types/vue/src/utils/sanitizeSvg.d.ts +1 -0
  214. package/dist/types/vue/src/utils/tableStorage.d.ts +1 -0
  215. package/dist/ui-kit-vue.css +1 -1
  216. 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
- * `"fixed"` (default) — covers the full viewport, always visible.
8
- * `"absolute"` — fills a `position: relative` parent (e.g. a PlaygroundSection preview).
9
- * Parent must be `relative` when `"absolute"`.
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<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
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 { TrueColor } from "../theme/Theme";
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 stripe. */
19
+ /** Accent color for the trigger button and the panel header band. @default "blue" */
20
20
  color?: TrueColor;
21
- /** Size of the trigger icon button. */
22
- size?: "xs" | "sm" | "md" | "lg";
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
- size: "xs" | "sm" | "md" | "lg";
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 { IconName } from "../icons/registry";
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
- export type HeroTitleSize = "xs" | "sm" | "md" | "lg" | "xl";
6
- export type HeroSubtitleSize = "xs" | "sm" | "md";
7
- export type HeroPadding = "none" | "xs" | "sm" | "md" | "lg" | "xl";
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 text. */
10
- title?: string;
11
- /** Supporting text rendered below the title at lower opacity. */
22
+ /** Main heading. */
23
+ title: string;
24
+ /** Supporting line under the title. */
12
25
  subtitle?: string;
13
- /** Icon name from the registry, or a pre-built element. When omitted the icon slot is not rendered. */
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
- /** Colour tone — drives the gradient background. Defaults to `"blue"`. */
34
+ /** @default "blue" */
16
35
  tone?: TrueColor;
17
- /** Size of the title text. Colour is always white. Defaults to `"sm"`. */
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
- /** Size of the subtitle text. Colour is always white/75. Defaults to `"xs"`. */
42
+ /** @default "xs" */
20
43
  subtitleSize?: HeroSubtitleSize;
21
- /** Internal padding. Defaults to `"none"`. */
44
+ /** @default "sm" */
22
45
  padding?: HeroPadding;
23
- /** Whether to apply `rounded-xl` corner rounding. Defaults to `true`. */
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
- * - `"shapes"` — three floating circles at low white opacity
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: __VLS_WithSlots<import("vue").DefineComponent<HeroProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<HeroProps> & Readonly<{}>, {
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
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
42
- title?: (props: {}) => any;
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
- color: ButtonColor;
40
- variant: ButtonVariant;
45
+ rounded: IconButtonRounded;
41
46
  size: ButtonSize;
42
- disabled: boolean;
43
47
  loading: boolean;
44
- accent: boolean;
45
- vibrancy: GlassVibrancy;
48
+ color: ButtonColor;
49
+ disabled: boolean;
50
+ variant: ButtonVariant;
46
51
  glassOpacity: GlassOpacity;
52
+ vibrancy: GlassVibrancy;
47
53
  specularMode: SpecularMode;
48
- rounded: IconButtonRounded;
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
- isLoading: boolean;
22
+ /** True while the *first* page is loading. */
23
+ isLoading?: boolean;
4
24
  hasMore: boolean;
5
25
  /**
6
- * Awaited when more items must be fetched — kept as a function prop (not an
7
- * emit) because the component awaits its promise to manage the internal
8
- * "loading more" state.
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
- threshold?: number;
12
- debounceMs?: number;
13
- useFixedColumns?: boolean;
14
- minColumnWidthPx?: number;
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
- masonry?: boolean;
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<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & InfiniteScrollPanelProps<T> & Partial<{}>> & import("vue").PublicProps;
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
- export type InfoRowSize = "xs" | "sm" | "md" | "lg";
2
- export type InfoRowPadding = "none" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
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 — use for custom colour, weight, etc.
13
- * e.g. `labelClassName="text-emerald-600 font-semibold"`
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` / `w-20` / `w-24` / `w-28`).
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 — use for custom colour, weight, etc.
37
- * e.g. `valueClassName="text-sky-500"`
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. Defaults to `'md'`. */
54
+ /** Controls both label and value text size when individual overrides are absent. @default "md" */
41
55
  size?: InfoRowSize;
42
56
  /**
43
- * Vertical padding override. Accepts the full size scale including `'none'`.
44
- * When omitted, padding is derived from `size` (xs→py-1, sm→py-1.5, md→py-2, lg→py-2.5).
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
- * Defaults to `true` — shown automatically when the resolved value is a string or number.
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
- * Defaults to `true`. Set to `false` to show the `emptyText` placeholder instead.
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
- /** Remove the bottom border (e.g. for the last row when handled externally). */
80
- noBorder?: boolean;
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
- * Remove the default horizontal padding (`px-3`/`px-4`).
83
- * Useful when the parent already provides horizontal spacing.
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, {}, string, import("vue").PublicProps, Readonly<InfoRowProps> & Readonly<{}>, {
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
- wrap: boolean;
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 & {