@mt-gloss/ui 0.0.16 → 0.0.18

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.
@@ -16,5 +16,14 @@ export interface EdgeHoverHandleProps {
16
16
  *
17
17
  * Motion contract (AN-06): opacity transitions driven by edge-hover.scss
18
18
  * using enterMs=180ms (enter) / exitMs=120ms (exit via ghost-preview).
19
+ *
20
+ * Pointer capture (debug 260417-qt00z / D-02+D-03 root cause): the handle is
21
+ * only 10px wide. On pointerdown we call setPointerCapture(pointerId) so all
22
+ * subsequent pointermove/pointerup events route to this element even after
23
+ * the cursor leaves the handle's hit region. Without this, dragging rightward
24
+ * (the natural grow gesture) moves the pointer off the handle within the
25
+ * first few px — pointerup then fires on whatever is underneath, the handle's
26
+ * React onPointerUp never runs, and the state machine stays stuck at
27
+ * 'dragging' (so onResize is never called and the card never commits).
19
28
  */
20
29
  export declare const EdgeHoverHandle: import('react').ForwardRefExoticComponent<EdgeHoverHandleProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -16,6 +16,15 @@ export interface StackedGroupCardProps {
16
16
  onPinTimeframe?: (timeframe: string) => void;
17
17
  /** When true, value cells blur and sparkline animates to flat during data refresh. */
18
18
  isStale?: boolean;
19
+ /**
20
+ * Phase 10 NY-05 width-drives-capacity matrix (quick-260417-2na §3):
21
+ * 1col → 1 cell, 2col → 3 cells, 3col → 5 cells
22
+ * When provided, overrides the ResizeObserver-measured capacity from
23
+ * `useSlotCapacity`. Visible cells are always clamped to available data
24
+ * (cells.length) so 3col stacks with 3 timeframes still render 3 cells.
25
+ * Default: undefined (fall back to measured capacity; backward compatible).
26
+ */
27
+ colSpan?: 1 | 2 | 3;
19
28
  }
20
29
  /**
21
30
  * StackedGroupCard -- Renders 3 mini metric values horizontally within a 2-col card.
@@ -38,6 +47,6 @@ export interface StackedGroupCardProps {
38
47
  * ```
39
48
  */
40
49
  export declare const StackedGroupCard: {
41
- ({ title, prefix, suffix, values, timeframes, sparklineData, accentColor, pinnedTimeframe, onPinTimeframe, isStale, }: StackedGroupCardProps): import("react/jsx-runtime").JSX.Element;
50
+ ({ title, prefix, suffix, values, timeframes, sparklineData, accentColor, pinnedTimeframe, onPinTimeframe, isStale, colSpan, }: StackedGroupCardProps): import("react/jsx-runtime").JSX.Element;
42
51
  displayName: string;
43
52
  };
@@ -26,8 +26,17 @@ export interface UseEdgeHoverResizeReturn {
26
26
  onPointerDown: (e: React.PointerEvent) => void;
27
27
  onPointerUp: (e: React.PointerEvent) => void;
28
28
  };
29
+ /**
30
+ * quick-260417-2na §2a — Live preview during drag.
31
+ * While `state === 'dragging'`, reflects the colSpan the user would commit
32
+ * if they released the pointer at the current position. Resets to
33
+ * `currentColSpan` on transition out of 'dragging'. Always clamped to 1..3.
34
+ */
35
+ previewColSpan: 1 | 2 | 3;
29
36
  ghostProps: {
30
37
  visible: boolean;
38
+ /** Same value as `previewColSpan`; exposed here for `<GhostPreview targetColSpan>` plumbing. */
39
+ targetColSpan: 1 | 2 | 3;
31
40
  enterMs: number;
32
41
  exitMs: number;
33
42
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mt-gloss/ui",
3
- "version": "0.0.16",
3
+ "version": "0.0.18",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "restricted"