Skip to content

chore: version packages - #290

Merged
anneke merged 1 commit into
mainfrom
changeset-release/main
Nov 5, 2026
Merged

anneke merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Nov 5, 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

@surfnet/curve-angular@1.0.0

Major Changes

  • bc34b01: Data tables now run on TanStack Table v9 (@tanstack/react-table / @tanstack/angular-table 9.x).

    Breaking for code that types its columns or table:

    • Type columns with the new DataTableColumnDef<TData> (exported from Curve) instead of TanStack's ColumnDef<TData>. The table is typed DataTable<TData>. Use DataTableFeatures where TanStack types need a features type, e.g. Row<DataTableFeatures, TData>.
    • TanStack v9 changed some APIs: see its migration guide. For example, getIsSomePageRowsSelected() now stays true when every row is selected, so a "select all" checkbox should use getIsSomePageRowsSelected() && !getIsAllPageRowsSelected() for its indeterminate state.
    • String filterFn / sortFn names only work for the built-ins Curve registers (the ones 'auto' picks: includesString, inNumberRange, equals, arrIncludes, inDateRange, weakEquals; alphanumeric, text, datetime, basic). Pass any other filter or sort function directly.
    • Angular: injectDataTable must be called from an injection context.

Minor Changes

  • 2defddb: Form fields show and announce their validation errors consistently.

    • An empty <hlm-field-error /> now shows the messages from the control's errors: a string error as-is (e.g. a JsonForms or server message), otherwise a message for the validator key. Several errors show as a list, as in React's FieldError. Curve ships Dutch defaults for Angular's built-in validators; override or add messages app-wide with provideHlmFieldErrorMessages({ ... }). Text you put inside hlm-field-error still wins.
    • hlm-field-error shows a warning icon, so an error isn't communicated by colour alone.
    • The field's error is now linked (aria-describedby) and aria-invalid is set on the focusable element of Checkbox, Switch, NativeSelect, Slider and InputOTP. NativeSelect gains an aria-describedby input.
    • InputOTP now reports its form control to hlmField, so the field shows its error and the slots their invalid styling.
  • c782f93: Add optional to FieldSet / hlmFieldSet. The legend gets the "(optioneel)" suffix (change it with optionalText on the legend) and controls inside the fieldset no longer get aria-required.

    Radios in a required radio group now each get the native required attribute, so screen readers announce "required" on every option. In an optional field or fieldset they don't.

Patch Changes

  • 2f06a83: Curve Data Table:

    • The row-action "⋯" button is now a real 32×32 Curve button with hover and focus styles. Its label is "Open action menu" (was "Open action menu for [object Object]").
    • The search field's icon and input now sit side by side, and the field has an accessible name ("Search ").
    • The sortable column header text lines up with the cells.
    • Images in image columns have an empty alt, so screen readers skip them.

@surfnet/curve-react@1.0.0

Major Changes

  • bc34b01: Data tables now run on TanStack Table v9 (@tanstack/react-table / @tanstack/angular-table 9.x).

    Breaking for code that types its columns or table:

    • Type columns with the new DataTableColumnDef<TData> (exported from Curve) instead of TanStack's ColumnDef<TData>. The table is typed DataTable<TData>. Use DataTableFeatures where TanStack types need a features type, e.g. Row<DataTableFeatures, TData>.
    • TanStack v9 changed some APIs: see its migration guide. For example, getIsSomePageRowsSelected() now stays true when every row is selected, so a "select all" checkbox should use getIsSomePageRowsSelected() && !getIsAllPageRowsSelected() for its indeterminate state.
    • String filterFn / sortFn names only work for the built-ins Curve registers (the ones 'auto' picks: includesString, inNumberRange, equals, arrIncludes, inDateRange, weakEquals; alphanumeric, text, datetime, basic). Pass any other filter or sort function directly.
    • Angular: injectDataTable must be called from an injection context.

Minor Changes

  • c782f93: Add optional to FieldSet / hlmFieldSet. The legend gets the "(optioneel)" suffix (change it with optionalText on the legend) and controls inside the fieldset no longer get aria-required.

    Radios in a required radio group now each get the native required attribute, so screen readers announce "required" on every option. In an optional field or fieldset they don't.

  • 2f06a83: New CurveDataTable component: the ready-made data table that Angular already had. It shows search, column toggles, row selection, sorting, row actions and paging, configured with the same column classes as Angular (CurveDataTableSelectionColumn, CurveDataTableStringColumn, CurveDataTableImageColumn, CurveDataTableActionColumn). Row actions call onRowActionTriggered.

Patch Changes

  • 2defddb: FieldError shows a warning icon before its message, so an error isn't communicated by colour alone. Matches hlm-field-error in @surfnet/curve-angular.

@surfnet/curve-angular-app@1.0.0

Patch Changes

  • Updated dependencies [2f06a83]
  • Updated dependencies [2defddb]
  • Updated dependencies [c782f93]
  • Updated dependencies [bc34b01]
    • @surfnet/curve-angular@1.0.0
    • @surfnet/curve-tokens@1.0.0

@surfnet/curve-react-app@1.0.0

Patch Changes

  • Updated dependencies [2defddb]
  • Updated dependencies [c782f93]
  • Updated dependencies [2f06a83]
  • Updated dependencies [bc34b01]
    • @surfnet/curve-react@1.0.0
    • @surfnet/curve-tokens@1.0.0

@surfnet/curve-storybook-config@1.0.0

Patch Changes

  • @surfnet/curve-microcopy@1.0.0
    • @surfnet/curve-tokens@1.0.0

@surfnet/curve-contracts@1.0.0

No changes in this release.

@surfnet/curve-microcopy@1.0.0

No changes in this release.

@surfnet/curve-tokens@1.0.0

No changes in this release.

@surfnet/curve-typescript-config@1.0.0

No changes in this release.

@github-actions
github-actions Bot force-pushed the changeset-release/main branch 3 times, most recently from 343c92d to c8c35ca Compare November 5, 2026 12:08
@github-actions
github-actions Bot force-pushed the changeset-release/main branch from c8c35ca to 8bdf873 Compare November 5, 2026 12:21
@github-actions

github-actions Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor Author

♿ Accessibility audit — WCAG 2.2 AA

✅ No violations across 396 stories / 15048 theme·mode combinations in @surfnet/curve-angular, @surfnet/curve-react.

Automated axe covers ~30–50% of WCAG 2.2 AA. Keyboard, screen-reader and reflow checks still need a manual pass. Full per-story JSON is in the run’s a11y-reports artifact.

@anneke
anneke merged commit d2e56d1 into main Nov 5, 2026
1 check passed
@anneke
anneke deleted the changeset-release/main branch November 5, 2026 12:22
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