@mt-gloss/ui 0.1.19 → 0.1.20

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.
@@ -18,11 +18,20 @@ export interface SnapOutlineProps {
18
18
  *
19
19
  * Renders a `position: absolute` 2px solid border rectangle, translated to the
20
20
  * target cell via `translate({left}px, {top}px)` where:
21
- * - `left = cell.col * (colWidth + gap)`
22
- * - `top = cell.row * (rowHeight + gap)`
21
+ * - `absCol = cell.section * 3 + cell.col` (section offset applied)
22
+ * - `left = absCol * (colWidth + gap)`
23
+ * - `top = cell.row * (rowHeight + gap)`
23
24
  * - `width = colSpan * colWidth + (colSpan - 1) * gap`
24
25
  * - `height = rowHeight`
25
26
  *
27
+ * COORDINATE CONTRACT: `cell.col` is SECTION-RELATIVE (0..2). The absolute grid
28
+ * column is computed here by adding `cell.section * 3`. Producers (useDragFeedback)
29
+ * emit section-relative col so predictCascade + snap outline share the same type.
30
+ * Prior to the `large-card-drop-positioning` debug fix (2026-04-22), this
31
+ * component treated `cell.col` as absolute, causing the outline to stick to
32
+ * section 1 regardless of cursor section — and to straddle the section boundary
33
+ * when a wide card hovered near the right of section 1.
34
+ *
26
35
  * Transitions the transform at `${transitionMs ?? 120}ms cubic-bezier(0.4, 0, 0.2, 1)`.
27
36
  * Under `prefers-reduced-motion: reduce`, `transition: none !important` strips
28
37
  * the slide (SCSS-level override; see snap-outline.scss).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mt-gloss/ui",
3
- "version": "0.1.19",
3
+ "version": "0.1.20",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "restricted"