Skip to content

chore: version packages - #576

Merged
blove merged 1 commit into
mainfrom
changeset-release/main
Sep 4, 2026
Merged

chore: version packages#576
blove merged 1 commit into
mainfrom
changeset-release/main

Conversation

@blove

@blove blove commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@pretable/react@0.15.2

Patch Changes

  • The grid's list-shaped menus — the tool panel's column kebab (pin placement + (#573)
    auto width), the + Add group menu and the header's — now size to their
    own labels, dim the item that is already the current state, and rule off the
    mode bit from the commands.

    All three shared popoverStyle, which stamps a fixed 240px width: the right
    call for FilterMenu, a dialog whose form controls stretch to their container,
    and wrong for a menu of four short labels, which was drawn as a mostly empty
    rectangle spilling well past the grid. Menus now take menuPopoverStyle
    content width between a 160px floor and the dialog's 240px, still clamped
    horizontally against 240 so the right edge stays safe without measuring.

    The pin menu disables the placement the column is already in, but
    [data-pretable-menu-item] had no disabled treatment at all: the disabled item
    kept the enabled color, the pointer cursor, and the hover highlight, so the one
    item that cannot be chosen read as the obvious one to click. It now takes the
    tool pane's standard disabled treatment (--pretable-text-dim, default
    cursor), and the hover rule skips it.

    ColumnRowMenu gained a role="separator" between the one-shot pin commands
    (which close the menu) and the auto-width checkbox (which stays open) —
    [data-pretable-menu-separator], styled by grid.css, and not a focus stop.

    The same pass over the rest of the portaled surfaces, which cannot inherit
    anything from the grid:

    • The header's filter dialog declared font: inherit, a shorthand that pulls
      the HOST PAGE's size and line-height in — so it drew at the consumer's body
      font (16px on our own site) while every other popover sat at
      --pretable-font-size-cell. It now declares the whole trio, as the enum
      listbox and date popover already did, and [data-pretable-column-menu]
      gained the color it was missing.
    • The dialog's operator <select> and value <input> were 28px and 33px in a
      stacked pair, because Chrome forces line-height: normal on a select and
      ignores what it is given. Both now take one explicit block-size, the way
      the tool pane's identical controls already do.
    • Those fields kept the UA focus ring, which takes the CONSUMER's
      accent-color — a different colour, width and offset from the ring on the
      same controls in the tool pane. They now take --pretable-focus-ring.
    • The column-reorder ghost is a copy of a header cell but declared neither
      size nor weight and took the cell colour, so the label under the cursor was
      bigger and lighter than the column it came from. It now mirrors the header.
    • The date editor's month steppers disable at the calendar's min/max month
      with no disabled treatment and a live hover accent — the menu items' defect
      in a second place. Fixed the same way.

    grid.css's "portaled popovers declare the sans font themselves" guard is why
    only half of this was caught: it checked font-family alone. It now checks
    size and colour too, rejects the font: inherit shorthand, and is joined by
    guards for the ghost's header type, the disabled treatment, the hover
    guards, and the dialog's focus ring — each mutation-tested to fail.

  • The frozen-column seam is now one continuous edge instead of a shadow that (#577)
    faded out at every row boundary.

    It was a box-shadow on each pinned CELL, and a per-cell shadow cannot tile.
    The blur has to stay inside the cell — a spread any less negative bleeds above
    and below it and doubles into a dark band at each boundary — so the seam faded
    to nothing once per row and read as a dashed edge rather than a frozen pane's.

    grid.css now draws it as one full-height gradient per plane: the sticky header
    row and the scroll content, meeting exactly at the header's lower edge. A
    gradient has no falloff along its own axis, so each box is uniform for its
    plane's whole height. The surface publishes where each edge falls
    (--pretable-pinned-left-edge / --pretable-pinned-right-edge, gated by
    data-pretable-pinned-left / -right), taking the right-hand one through the
    same getPinnedRightEdge the right-pinned cells use so the seam cannot land a
    pixel off the column it marks. --pretable-seam-color still colours it, and a
    side with nothing pinned draws nothing.

  • Updated dependencies [1ad5602, 3a5ba25, 3e5ad85]:

    • @pretable/ui@0.15.2
    • @pretable/core@0.15.2

@pretable/ui@0.15.2

Patch Changes

  • The grid's list-shaped menus — the tool panel's column kebab (pin placement + (#573)
    auto width), the + Add group menu and the header's — now size to their
    own labels, dim the item that is already the current state, and rule off the
    mode bit from the commands.

    All three shared popoverStyle, which stamps a fixed 240px width: the right
    call for FilterMenu, a dialog whose form controls stretch to their container,
    and wrong for a menu of four short labels, which was drawn as a mostly empty
    rectangle spilling well past the grid. Menus now take menuPopoverStyle
    content width between a 160px floor and the dialog's 240px, still clamped
    horizontally against 240 so the right edge stays safe without measuring.

    The pin menu disables the placement the column is already in, but
    [data-pretable-menu-item] had no disabled treatment at all: the disabled item
    kept the enabled color, the pointer cursor, and the hover highlight, so the one
    item that cannot be chosen read as the obvious one to click. It now takes the
    tool pane's standard disabled treatment (--pretable-text-dim, default
    cursor), and the hover rule skips it.

    ColumnRowMenu gained a role="separator" between the one-shot pin commands
    (which close the menu) and the auto-width checkbox (which stays open) —
    [data-pretable-menu-separator], styled by grid.css, and not a focus stop.

    The same pass over the rest of the portaled surfaces, which cannot inherit
    anything from the grid:

    • The header's filter dialog declared font: inherit, a shorthand that pulls
      the HOST PAGE's size and line-height in — so it drew at the consumer's body
      font (16px on our own site) while every other popover sat at
      --pretable-font-size-cell. It now declares the whole trio, as the enum
      listbox and date popover already did, and [data-pretable-column-menu]
      gained the color it was missing.
    • The dialog's operator <select> and value <input> were 28px and 33px in a
      stacked pair, because Chrome forces line-height: normal on a select and
      ignores what it is given. Both now take one explicit block-size, the way
      the tool pane's identical controls already do.
    • Those fields kept the UA focus ring, which takes the CONSUMER's
      accent-color — a different colour, width and offset from the ring on the
      same controls in the tool pane. They now take --pretable-focus-ring.
    • The column-reorder ghost is a copy of a header cell but declared neither
      size nor weight and took the cell colour, so the label under the cursor was
      bigger and lighter than the column it came from. It now mirrors the header.
    • The date editor's month steppers disable at the calendar's min/max month
      with no disabled treatment and a live hover accent — the menu items' defect
      in a second place. Fixed the same way.

    grid.css's "portaled popovers declare the sans font themselves" guard is why
    only half of this was caught: it checked font-family alone. It now checks
    size and colour too, rejects the font: inherit shorthand, and is joined by
    guards for the ghost's header type, the disabled treatment, the hover
    guards, and the dialog's focus ring — each mutation-tested to fail.

  • The frozen-column seam now runs through the header row instead of starting (#575)
    below it.

    --pretable-seam-color was drawn by [data-pretable-cell][data-pretable-pinned]
    only. The pinned HEADER cells took the opaque --pretable-bg-header fill and
    nothing else, so the shadow that marks the frozen edge stopped dead at the
    header — a header-tall gap at the top of a boundary that is meant to run the
    height of the grid, visible on any grid with a pinned column and a horizontal
    scroll. The header's pinned rule is now split per side, each carrying the
    mirrored offset its body counterpart has.

    The guard that should have caught this named [data-pretable-cell] alone; it
    now covers the header rules too, on both sides, and checks that the seam did
    not cost the opaque fill.

  • The frozen-column seam is now one continuous edge instead of a shadow that (#577)
    faded out at every row boundary.

    It was a box-shadow on each pinned CELL, and a per-cell shadow cannot tile.
    The blur has to stay inside the cell — a spread any less negative bleeds above
    and below it and doubles into a dark band at each boundary — so the seam faded
    to nothing once per row and read as a dashed edge rather than a frozen pane's.

    grid.css now draws it as one full-height gradient per plane: the sticky header
    row and the scroll content, meeting exactly at the header's lower edge. A
    gradient has no falloff along its own axis, so each box is uniform for its
    plane's whole height. The surface publishes where each edge falls
    (--pretable-pinned-left-edge / --pretable-pinned-right-edge, gated by
    data-pretable-pinned-left / -right), taking the right-hand one through the
    same getPinnedRightEdge the right-pinned cells use so the seam cannot land a
    pixel off the column it marks. --pretable-seam-color still colours it, and a
    side with nothing pinned draws nothing.

@pretable/core@0.15.2

@pretable/stream-adapter@0.15.2

@blove
blove enabled auto-merge (squash) September 4, 2026 04:53
@vercel

vercel Bot commented Sep 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
pretable Ignored Ignored Sep 4, 2026 4:33pm UTC

Request Review

@blove
blove force-pushed the changeset-release/main branch from 9bd6841 to 903db1c Compare September 4, 2026 16:33
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Vercel preview ready

Preview: https://pretable-cq3g4zw1b-cacheplane.vercel.app
Commit: 903db1c78d72ea5f3a754e797eff421b18f0458b

Updated automatically by the deploy-preview job.

@blove
blove merged commit d98c257 into main Sep 4, 2026
21 checks passed
@blove
blove deleted the changeset-release/main branch September 4, 2026 16:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant