Skip to content

Commit 944b374

Browse files
chore(release): prepare table release metadata
1 parent 8bb6ee1 commit 944b374

File tree

7 files changed

+118
-43
lines changed

7 files changed

+118
-43
lines changed

CHANGELOG.md

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,32 @@ We are following [Semantic Versioning](https://semver.org/spec/v2.0.0.html), as
88

99
### Unreleased
1010

11-
#### @ourfuturehealth/react-components 0.8.0 (`react-v0.8.0`)
11+
#### @ourfuturehealth/toolkit 4.18.0 (`toolkit-v4.18.0`)
1212

13-
##### ⚠️ BREAKING CHANGES
13+
##### Added
1414

15-
- React `Icon` and `Card` icon configuration no longer accept `spritePath`. React icons now always render from bundled toolkit SVG data.
15+
- Expanded docs-site coverage for the `table` component, including:
16+
- responsive multi-column tables
17+
- first-cell row headers
18+
- numeric columns
19+
- column and row spans
1620

17-
##### Fixed
21+
##### Changed
22+
23+
- Refined the toolkit `table` component to match the current Figma responsive/mobile treatment more closely
24+
- Updated the responsive table rows to use clearer label/value columns and a Figma-aligned `2px` closing border
25+
- Expanded the table docs page and macro guidance so the current table patterns are easier to understand and adopt
26+
27+
#### @ourfuturehealth/react-components 0.17.0 (`react-v0.17.0`)
28+
29+
##### Added
30+
31+
- New public `Table` component with caption, head, rows, responsive stacking, numeric cells, and merged-cell support
32+
- Storybook coverage for `Table`, including `Default`, `Builder`, `ResponsiveMultiColumn`, `FirstCellIsHeader`, `NumericValues`, and `ColSpanAndRowSpan`
33+
34+
##### Changed
1835

19-
- React icons now render correctly in published-consumer installs by inlining the requested bundled SVG symbol instead of referencing a bundled `data:` sprite URL.
36+
- Refined the Table Storybook docs page so it teaches the React API clearly and separates Builder-only helpers from real props
2037

2138
### 2026-04-09
2239

UPGRADING.md

Lines changed: 57 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ This guide provides detailed migration instructions for upgrading between versio
88

99
| Version | Date | Breaking Changes | Migration Complexity |
1010
| ------------------------------------------------------- | ------------- | -------------------------- | ---------------------------------------- |
11-
| [React v0.8.0](#upgrading-to-react-v080) | April 2026 | React `spritePath` removal | 🟢 Low - Remove the deprecated prop |
11+
| [v4.18.0 / React v0.17.0](#upgrading-to-v4180--react-v0170) | April 2026 | No breaking changes | 🟢 Low - adopt the new Table APIs only if relevant |
1212
| [v4.9.0 / React v0.7.0](#upgrading-to-v490--react-v070) | April 2026 | Icon naming sync | 🟡 Medium - Search/replace icon names |
1313
| [v4.8.0 / React v0.6.0](#upgrading-to-v480--react-v060) | March 2026 | No breaking changes | 🟢 Low - only relevant if you adopted the earlier TextInput prototype |
1414
| [v4.7.0 / React v0.5.0](#upgrading-to-v470--react-v050) | March 2026 | Card family realignment | 🟡 Medium - API migration recommended |
@@ -20,56 +20,81 @@ This guide provides detailed migration instructions for upgrading between versio
2020

2121
---
2222

23-
## Upgrading to React v0.8.0
23+
## Upgrading to v4.18.0 / React v0.17.0
2424

2525
**Planned:** April 2026
2626
**Affected packages:**
2727

28-
- `@ourfuturehealth/react-components` v0.8.0+
28+
- `@ourfuturehealth/toolkit` v4.18.0+
29+
- `@ourfuturehealth/react-components` v0.17.0+
2930

30-
### Breaking Changes
31+
### Release Overview
3132

32-
`@ourfuturehealth/react-components` removes the `spritePath` prop from the public `Icon` API and from `Card` icon configuration. React icons now always render from bundled toolkit SVG data.
33+
This release does not introduce a supported breaking API change.
3334

34-
### Migration Steps
35+
Toolkit consumers should review the refreshed `table` component responsive treatment and the expanded docs-site examples if they already use content tables.
3536

36-
1. Remove any `spritePath` prop from `Icon` usage.
37-
2. Remove any `spritePath` field from `Card` icon configuration objects.
38-
3. Re-run visual checks for icon-bearing surfaces such as `Icon`, `Select`, `Card`, and `Checkboxes`.
37+
React consumers can now adopt the public `Table` component when they need a structured content table with optional caption, responsive stacking, row headers, numeric cells, and merged cells.
3938

40-
#### React example
39+
### Table
4140

42-
**Before:**
41+
- Toolkit `table` now matches the current Figma responsive/mobile treatment more closely, including the stacked label/value layout and `2px` closing border
42+
- React now exposes `Table` as a public component with `caption`, `head`, `rows`, `responsive`, and `firstCellIsHeader` support
43+
- Storybook and docs-site examples now cover default, responsive, row-header, numeric, and merged-cell table usage
4344

44-
```tsx
45-
<Icon name="Search" spritePath="/assets/icons/icon-sprite.svg" />
45+
#### React example
4646

47-
<Card
48-
icon={{
49-
name: 'Search',
50-
spritePath: '/assets/icons/icon-sprite.svg',
51-
}}
52-
/>
47+
```tsx
48+
import { Table } from '@ourfuturehealth/react-components';
49+
50+
<Table
51+
caption="Symptoms and self-care"
52+
head={[
53+
{ content: 'Symptom' },
54+
{ content: 'Self-care' },
55+
]}
56+
rows={[
57+
[
58+
{ content: 'Dry eyes' },
59+
{ content: 'Use artificial tears' },
60+
],
61+
[
62+
{ content: 'Headache' },
63+
{ content: 'Rest and keep hydrated' },
64+
],
65+
]}
66+
/>;
5367
```
5468

55-
**After:**
69+
#### Responsive example
5670

5771
```tsx
58-
<Icon name="Search" />
59-
60-
<Card
61-
icon={{
62-
name: 'Search',
63-
}}
72+
<Table
73+
caption="Clinic availability by day"
74+
responsive
75+
head={[
76+
{ content: 'Day' },
77+
{ content: 'Morning clinic' },
78+
{ content: 'Afternoon clinic' },
79+
{ content: 'Notes' },
80+
]}
81+
rows={[
82+
[
83+
{ content: 'Monday' },
84+
{ content: 'Children' },
85+
{ content: 'Adults' },
86+
{ content: 'Walk-ins available' },
87+
],
88+
[
89+
{ content: 'Tuesday' },
90+
{ content: 'Respiratory' },
91+
{ content: 'Diabetes' },
92+
{ content: 'Pre-booked only' },
93+
],
94+
]}
6495
/>
6596
```
6697

67-
If an application previously passed `spritePath` in React, that prop should now be removed.
68-
69-
### Toolkit reminder
70-
71-
Toolkit/Nunjucks icon consumers are unchanged. They must still serve `icon-sprite.svg` at a public URL, default `/assets/icons/icon-sprite.svg`, or override that URL with `spritePath`.
72-
7398
## Upgrading to v4.9.0 / React v0.7.0
7499

75100
**Released:** April 2026

docs/consuming-react-components.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,25 @@ Import components and styles in your React application:
5757

5858
```tsx
5959
import React from 'react';
60-
import { Button, TextInput } from '@ourfuturehealth/react-components';
60+
import { Button, Table, TextInput } from '@ourfuturehealth/react-components';
6161
import '@ourfuturehealth/react-components/styles/participant';
6262

6363
function App() {
64+
const symptomsHead = [
65+
{ content: 'Symptom' },
66+
{ content: 'Self-care' },
67+
];
68+
const symptomsRows = [
69+
[
70+
{ content: 'Dry eyes' },
71+
{ content: 'Use artificial tears' },
72+
],
73+
[
74+
{ content: 'Headache' },
75+
{ content: 'Rest and keep hydrated' },
76+
],
77+
];
78+
6479
return (
6580
<div>
6681
<TextInput
@@ -70,6 +85,7 @@ function App() {
7085
inputWidth={20}
7186
onChange={(e) => console.log(e.target.value)}
7287
/>
88+
<Table caption="Symptoms and self-care" head={symptomsHead} rows={symptomsRows} />
7389
<Button onClick={() => console.log('Clicked')}>Submit</Button>
7490
</div>
7591
);
@@ -136,6 +152,7 @@ The React components package currently provides the following components:
136152
- `Card` - Content presentation cards for summaries, status, and next steps
137153
- `CardCallout` - Feedback-style callout cards for informational, warning, success, and error messages
138154
- `CardDoDont` - Positive and negative recommendation lists
155+
- `Table` - Structured content tables with caption, responsive stacking, numeric cells, row headers, and merged-cell support
139156

140157
For complete component documentation and live examples, run Storybook locally from this repository:
141158

docs/release-versioning-strategy.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,9 +126,8 @@ This table is a visual aid for pre-monorepo versus post-monorepo releases.
126126
| 17 | `react-v0.5.0` | N/A | `0.5.0` | Monorepo | Released |
127127
| 18 | `toolkit-v4.8.0` | `4.8.0` | N/A | Monorepo | Released |
128128
| 19 | `react-v0.6.0` | N/A | `0.6.0` | Monorepo | Released |
129-
| 20 | `toolkit-v4.9.0` | `4.9.0` | N/A | Monorepo | Released |
130-
| 21 | `react-v0.7.0` | N/A | `0.7.0` | Monorepo | Released |
131-
| 22 | `react-v0.8.0` | N/A | `0.8.0` | Monorepo | Planned in this branch |
129+
| 20 | `toolkit-v4.18.0` | `4.18.0` | N/A | Monorepo | Planned in this branch |
130+
| 21 | `react-v0.17.0` | N/A | `0.17.0` | Monorepo | Planned in this branch |
132131

133132
## References
134133

packages/react-components/README.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ import {
5555
Radios,
5656
Select,
5757
Tag,
58+
Table,
5859
Textarea,
5960
TextInput,
6061
} from '@ourfuturehealth/react-components';
@@ -72,6 +73,20 @@ function App() {
7273
{ value: 'phone', label: 'Phone' },
7374
{ value: 'post', label: 'Post' },
7475
];
76+
const symptomsHead = [
77+
{ content: 'Symptom' },
78+
{ content: 'Self-care' },
79+
];
80+
const symptomsRows = [
81+
[
82+
{ content: 'Dry eyes' },
83+
{ content: 'Use artificial tears' },
84+
],
85+
[
86+
{ content: 'Headache' },
87+
{ content: 'Rest and keep hydrated' },
88+
],
89+
];
7590

7691
return (
7792
<div>
@@ -136,6 +151,7 @@ function App() {
136151
legend="Preferred contact method"
137152
name="preferred-contact-method"
138153
/>
154+
<Table caption="Symptoms and self-care" head={symptomsHead} rows={symptomsRows} />
139155
</div>
140156
);
141157
}
@@ -189,6 +205,7 @@ The package also provides:
189205
- `Checkboxes`
190206
- `Radios`
191207
- `Icon`
208+
- `Table`
192209

193210
### ErrorSummary
194211

packages/react-components/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ourfuturehealth/react-components",
3-
"version": "0.8.0",
3+
"version": "0.17.0",
44
"type": "module",
55
"description": "React component library for OFH Design System",
66
"packageManager": "pnpm@10.29.2",

packages/toolkit/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@ourfuturehealth/toolkit",
3-
"version": "4.9.0",
3+
"version": "4.18.0",
44
"description": "Our Future Health design system toolkit contains the code you need to start building user interfaces for Our Future Health websites and services.",
55
"repository": {
66
"type": "git",

0 commit comments

Comments
 (0)