Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 0 additions & 46 deletions .changeset/components-sp1-button.md

This file was deleted.

2 changes: 2 additions & 0 deletions packages/core/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# @pretable/core

## 0.16.0

## 0.15.3

## 0.15.2
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pretable/core",
"version": "0.15.3",
"version": "0.16.0",
"description": "Framework-agnostic grid state primitives for Pretable.",
"license": "MIT",
"repository": {
Expand Down
52 changes: 52 additions & 0 deletions packages/react/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,57 @@
# @pretable/react

## 0.16.0

### Minor Changes

- The first two components of a kit the grid renders its own chrome from, and a ([#580](https://github.com/cacheplane/pretable/pull/580))
`components` prop to replace either with your own.

`PretableButton` (two looks: `ghost`, the 24px action with a hover tint, and
`link`, plain accent text) and `PretableIconButton` (an icon-only button whose
`aria-label` is a required prop — omitting the accessible name is now a
compile error, and an empty one warns in development). Both are always
`type="button"`, pass `className` and `style` straight through, forward their
`ref`, and carry `data-pretable-button` / `data-pretable-icon-button`,
`data-pretable-variant` (labelled buttons) and `data-pretable-site` for styling
through the grid's usual attributes-and-tokens channel.

`components={{ Button, IconButton }}` on `<PretableSurface>` and `<Pretable>`
replaces a component everywhere it appears — the tool panel, the header, the
group panel and the portalled filter dialog — and the replacement receives
exactly the props the built-in does, `site` included, so it can branch on where
in the grid it is. It must forward its `ref` (under React 18, `forwardRef`; under
React 19 a plain `ref` prop): the grid anchors menus on and returns focus to
that node.

The grid's twelve plain push-buttons now render from these. Each keeps its
original attribute (`data-pretable-filter-clear`, `data-pretable-tool-reset`,
…), so selectors and stylesheets keyed on them keep working; the shared look
moved from twelve site rules onto the component rules, and every site's
computed box, colours and focus ring were measured before and after — no pixel
moved. Three things did change on purpose: `Clear` and `Reset columns`, and the
funnel, column-menu and chip-remove icon buttons, now wear the product's focus
ring rather than the browser's; `Clear` and `Reset columns` carry the control
radius (visible only on that ring's corners); and the kit icon-button rule does
not set `position: relative` — the three grid buttons that enlarge their hit
area with a `::after` declare it themselves, so a consumer rendering an
absolutely-positioned child inside `PretableIconButton` should position the
button explicitly.

Two smaller notes. The set of built-in `site` names (`PretableBuiltInButtonSite`)
grows additively — a new grid button may add one without a major bump. And the
two portalled surfaces that host these controls, the filter dialog and the
column menu, now declare `line-height` alongside the family, size and colour
they already declared: `font: inherit` on a kit button had been pulling the
host page's line-height into `Clear` and every menu item for a consumer with no
CSS reset.

### Patch Changes

- Updated dependencies [[`9ddc19a`](https://github.com/cacheplane/pretable/commit/9ddc19adcaf7a67956d3f974a117352adb16d1f5)]:
- @pretable/ui@0.16.0
- @pretable/core@0.16.0

## 0.15.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/react/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pretable/react",
"version": "0.15.3",
"version": "0.16.0",
"description": "React components and hooks for Pretable.",
"license": "MIT",
"repository": {
Expand Down
2 changes: 2 additions & 0 deletions packages/stream-adapter/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# @pretable/stream-adapter

## 0.16.0

## 0.15.3

## 0.15.2
Expand Down
2 changes: 1 addition & 1 deletion packages/stream-adapter/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pretable/stream-adapter",
"version": "0.15.3",
"version": "0.16.0",
"description": "Streaming row adapters for Pretable.",
"license": "MIT",
"repository": {
Expand Down
46 changes: 46 additions & 0 deletions packages/ui/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,51 @@
# @pretable/ui

## 0.16.0

### Patch Changes

- The first two components of a kit the grid renders its own chrome from, and a ([#580](https://github.com/cacheplane/pretable/pull/580))
`components` prop to replace either with your own.

`PretableButton` (two looks: `ghost`, the 24px action with a hover tint, and
`link`, plain accent text) and `PretableIconButton` (an icon-only button whose
`aria-label` is a required prop — omitting the accessible name is now a
compile error, and an empty one warns in development). Both are always
`type="button"`, pass `className` and `style` straight through, forward their
`ref`, and carry `data-pretable-button` / `data-pretable-icon-button`,
`data-pretable-variant` (labelled buttons) and `data-pretable-site` for styling
through the grid's usual attributes-and-tokens channel.

`components={{ Button, IconButton }}` on `<PretableSurface>` and `<Pretable>`
replaces a component everywhere it appears — the tool panel, the header, the
group panel and the portalled filter dialog — and the replacement receives
exactly the props the built-in does, `site` included, so it can branch on where
in the grid it is. It must forward its `ref` (under React 18, `forwardRef`; under
React 19 a plain `ref` prop): the grid anchors menus on and returns focus to
that node.

The grid's twelve plain push-buttons now render from these. Each keeps its
original attribute (`data-pretable-filter-clear`, `data-pretable-tool-reset`,
…), so selectors and stylesheets keyed on them keep working; the shared look
moved from twelve site rules onto the component rules, and every site's
computed box, colours and focus ring were measured before and after — no pixel
moved. Three things did change on purpose: `Clear` and `Reset columns`, and the
funnel, column-menu and chip-remove icon buttons, now wear the product's focus
ring rather than the browser's; `Clear` and `Reset columns` carry the control
radius (visible only on that ring's corners); and the kit icon-button rule does
not set `position: relative` — the three grid buttons that enlarge their hit
area with a `::after` declare it themselves, so a consumer rendering an
absolutely-positioned child inside `PretableIconButton` should position the
button explicitly.

Two smaller notes. The set of built-in `site` names (`PretableBuiltInButtonSite`)
grows additively — a new grid button may add one without a major bump. And the
two portalled surfaces that host these controls, the filter dialog and the
column menu, now declare `line-height` alongside the family, size and colour
they already declared: `font: inherit` on a kit button had been pulling the
host page's line-height into `Clear` and every menu item for a consumer with no
CSS reset.

## 0.15.3

### Patch Changes
Expand Down
2 changes: 1 addition & 1 deletion packages/ui/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@pretable/ui",
"version": "0.15.3",
"version": "0.16.0",
"description": "CSS themes, tokens, and grid styles for Pretable.",
"license": "MIT",
"repository": {
Expand Down