Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(Card): api and a11y #2509

Merged
merged 25 commits into from
Oct 1, 2024
Merged

fix(Card): api and a11y #2509

merged 25 commits into from
Oct 1, 2024

Conversation

eirikbacker
Copy link
Contributor

@eirikbacker eirikbacker commented Sep 24, 2024

@eirikbacker eirikbacker self-assigned this Sep 24, 2024
Copy link

changeset-bot bot commented Sep 24, 2024

🦋 Changeset detected

Latest commit: 5885549

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 4 packages
Name Type
@digdir/designsystemet-css Patch
@digdir/designsystemet-react Patch
@digdir/designsystemet Patch
@digdir/designsystemet-theme Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

Copy link
Contributor

github-actions bot commented Sep 24, 2024

Preview deployments for this pull request:

Storybook - 1. Oct 2024 - 14:38

Storefront - 1. Oct 2024 - 14:38

Theme - 1. Oct 2024 - 14:38

Copy link
Contributor

github-actions bot commented Sep 24, 2024

Coverage Report

Status Category Percentage Covered / Total
🔵 Lines 59.2% 3745 / 6326
🔵 Statements 59.2% 3745 / 6326
🔵 Functions 86.31% 164 / 190
🔵 Branches 75.36% 514 / 682
File Coverage
File Stmts % Branch % Funcs % Lines Uncovered Lines
Changed Files
packages/react/src/components/Card/Card.tsx 78.12% 75% 50% 78.12% 44-46, 48-51
Generated in workflow #150 for commit 5885549 by the Vitest Coverage Report Action

@eirikbacker eirikbacker marked this pull request as ready for review September 24, 2024 16:47
@eirikbacker eirikbacker changed the title fix(Card): section api fix(Card): section api and a11y Sep 24, 2024
@eirikbacker eirikbacker changed the title fix(Card): section api and a11y fix(Card): api and a11y Sep 25, 2024
Barsnes
Barsnes previously requested changes Oct 1, 2024
Copy link
Member

@Barsnes Barsnes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Card itself looks good, but we need to fix the issue on our Overview page.
The reason we used asChild earlier was so Storybook did not render our string as a p.
This seems to be an issue here, since we can't get it on the same line as the a

packages/Overview.mdx Outdated Show resolved Hide resolved
Copy link
Member

@Barsnes Barsnes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚀 🌔

@eirikbacker eirikbacker merged commit bf31bfc into next Oct 1, 2024
9 checks passed
@eirikbacker eirikbacker deleted the fix/card-section-api branch October 1, 2024 13:40
Barsnes pushed a commit that referenced this pull request Oct 8, 2024
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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 next, this PR will
be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

`next` is currently in **pre mode** so this branch has prereleases
rather than normal releases. If you want to exit prereleases, run
`changeset pre exit` on `next`.

⚠️⚠️⚠️⚠️⚠️⚠️

# Releases
## @digdir/[email protected]

### Minor Changes

- Fix crash when running CLI command `tokens build`:
([#2549](#2549))

    -   add --verbose option to `tokens build` for easier debugging
    -   `tokens build` crashed when run on result of `tokens create`

    Update tokens template used by CLI command `tokens create`

- removes `ingress`, renames `paragraph` to `body`, and adds `xl` size

### Patch Changes

- Make sure the internal order of sections in the CSS generated by the
CLI is deterministic, to avoid unnecessary git diffs
([#2560](#2560))

## @digdir/[email protected]

### Patch Changes

- Pagination:
([#2460](#2460))

    -   Remove attributes `currentPage` and `totalPages` on `Pagination`
    -   Replace `Pagination.Root` with `Paginaton`
- Replace `Pagination.Next`, `Pagination.Previous` and
`Pagination.Ellipsis` with `Paginaton.Button`
    -   Make `usePagination` return spreadable props for subcomponents
    -   Add support for `showPages` and `onChange` in `usePagination`

- Skiplink:
([#2577](#2577))

    -   Simplify DOM
    -   Add support for `forwardRef`

- Accordion: Animate open/close with CSS
([#2527](#2527))

    -   Replace onFound with onToggle

- Heading: ([#2525](#2525))

    -   Classes with data attributes
    -   Move base style to utility classes

-   Modal: ([#2440](#2440))

    -   Rename `Modal.Dialog` to `Modal`
    -   Rename `Modal.Root` to `Modal.Context`
    -   Replace `onInteractOutside` event with `backdropClose` boolean
- Replace `closeButton` and `closeButtonTitle` on `Modal.Header` with
`closeButton` on `Modal`
    -   Add border to `Modal.Header` and `Modal.Footer`
    -   Remove `Modal.Content`
    -   Remove `onBeforeClose`
    -   Remove `subtitle` from `Modal.Header`

- Body/Paragraph
([#2529](#2529))

    -   Add body-xl token
    -   Add xl paragraph
    -   Remove ingress tokens

- Ingress: Remove component
([#2515](#2515))

    -   Use `Paragraph variant='long'` instead

- Heading: Fix `md` heading size
([#2485](#2485))

-   Card: ([#2509](#2509))

    -   Allow `Card` with content placed directly inside
- Replace `Card.Header`, `Card.Content` and `Card.Footer` with
`Card.Block`
- Replace `isLink` with anchor-in-heading + `click` handler for better
accessibility

- Modal: Remove `Modal.Header` and `Modal.Footer`, replace with
`Modal.Block`
([#2583](#2583))

- SkipLink: Remove ds-sr-only class
([#2546](#2546))

- Paragraph: Add css classes and style with data attributes
([#2523](#2523))

-   Chip: ([#2493](#2493))
    -   Add `Chip.Button`
    -   Rename `Chip.Toggle` to `Chip.Radio` and `Chip.Checkbox`
    -   Remove `Chip.Group`

## @digdir/[email protected]

### Patch Changes

- Pagination:
([#2460](#2460))

    -   Remove attributes `currentPage` and `totalPages` on `Pagination`
    -   Replace `Pagination.Root` with `Paginaton`
- Replace `Pagination.Next`, `Pagination.Previous` and
`Pagination.Ellipsis` with `Paginaton.Button`
    -   Make `usePagination` return spreadable props for subcomponents
    -   Add support for `showPages` and `onChange` in `usePagination`

- Skiplink:
([#2577](#2577))

    -   Simplify DOM
    -   Add support for `forwardRef`

- Accordion: Animate open/close with CSS
([#2527](#2527))

    -   Replace onFound with onToggle

- Heading: ([#2525](#2525))

    -   Classes with data attributes
    -   Move base style to utility classes

-   Modal: ([#2440](#2440))

    -   Rename `Modal.Dialog` to `Modal`
    -   Rename `Modal.Root` to `Modal.Context`
    -   Replace `onInteractOutside` event with `backdropClose` boolean
- Replace `closeButton` and `closeButtonTitle` on `Modal.Header` with
`closeButton` on `Modal`
    -   Add border to `Modal.Header` and `Modal.Footer`
    -   Remove `Modal.Content`
    -   Remove `onBeforeClose`
    -   Remove `subtitle` from `Modal.Header`

- Body/Paragraph
([#2529](#2529))

    -   Add body-xl token
    -   Add xl paragraph
    -   Remove ingress tokens

- Ingress: Remove component
([#2515](#2515))

    -   Use `Paragraph variant='long'` instead

-   Card: ([#2509](#2509))

    -   Allow `Card` with content placed directly inside
- Replace `Card.Header`, `Card.Content` and `Card.Footer` with
`Card.Block`
- Replace `isLink` with anchor-in-heading + `click` handler for better
accessibility

- Modal: Remove `Modal.Header` and `Modal.Footer`, replace with
`Modal.Block`
([#2583](#2583))

- SkipLink: Remove ds-sr-only class
([#2546](#2546))

- Paragraph: Add css classes and style with data attributes
([#2523](#2523))

-   Chip: ([#2493](#2493))
    -   Add `Chip.Button`
    -   Rename `Chip.Toggle` to `Chip.Radio` and `Chip.Checkbox`
    -   Remove `Chip.Group`

## @digdir/[email protected]

### Patch Changes

- Body/Paragraph
([#2529](#2529))
    -   Add body-xl token
    -   Add xl paragraph
    -   Remove ingress tokens

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
unekinn pushed a commit that referenced this pull request Oct 10, 2024
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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 next, this PR will
be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

`next` is currently in **pre mode** so this branch has prereleases
rather than normal releases. If you want to exit prereleases, run
`changeset pre exit` on `next`.

⚠️⚠️⚠️⚠️⚠️⚠️

# Releases
## @digdir/designsystemet@1.0.0-next.35

### Minor Changes

- Fix crash when running CLI command `tokens build`:
([#2549](#2549))

    -   add --verbose option to `tokens build` for easier debugging
    -   `tokens build` crashed when run on result of `tokens create`

    Update tokens template used by CLI command `tokens create`

- removes `ingress`, renames `paragraph` to `body`, and adds `xl` size

### Patch Changes

- Make sure the internal order of sections in the CSS generated by the
CLI is deterministic, to avoid unnecessary git diffs
([#2560](#2560))

## @digdir/[email protected]

### Patch Changes

- Pagination:
([#2460](#2460))

    -   Remove attributes `currentPage` and `totalPages` on `Pagination`
    -   Replace `Pagination.Root` with `Paginaton`
- Replace `Pagination.Next`, `Pagination.Previous` and
`Pagination.Ellipsis` with `Paginaton.Button`
    -   Make `usePagination` return spreadable props for subcomponents
    -   Add support for `showPages` and `onChange` in `usePagination`

- Skiplink:
([#2577](#2577))

    -   Simplify DOM
    -   Add support for `forwardRef`

- Accordion: Animate open/close with CSS
([#2527](#2527))

    -   Replace onFound with onToggle

- Heading: ([#2525](#2525))

    -   Classes with data attributes
    -   Move base style to utility classes

-   Modal: ([#2440](#2440))

    -   Rename `Modal.Dialog` to `Modal`
    -   Rename `Modal.Root` to `Modal.Context`
    -   Replace `onInteractOutside` event with `backdropClose` boolean
- Replace `closeButton` and `closeButtonTitle` on `Modal.Header` with
`closeButton` on `Modal`
    -   Add border to `Modal.Header` and `Modal.Footer`
    -   Remove `Modal.Content`
    -   Remove `onBeforeClose`
    -   Remove `subtitle` from `Modal.Header`

- Body/Paragraph
([#2529](#2529))

    -   Add body-xl token
    -   Add xl paragraph
    -   Remove ingress tokens

- Ingress: Remove component
([#2515](#2515))

    -   Use `Paragraph variant='long'` instead

- Heading: Fix `md` heading size
([#2485](#2485))

-   Card: ([#2509](#2509))

    -   Allow `Card` with content placed directly inside
- Replace `Card.Header`, `Card.Content` and `Card.Footer` with
`Card.Block`
- Replace `isLink` with anchor-in-heading + `click` handler for better
accessibility

- Modal: Remove `Modal.Header` and `Modal.Footer`, replace with
`Modal.Block`
([#2583](#2583))

- SkipLink: Remove ds-sr-only class
([#2546](#2546))

- Paragraph: Add css classes and style with data attributes
([#2523](#2523))

-   Chip: ([#2493](#2493))
    -   Add `Chip.Button`
    -   Rename `Chip.Toggle` to `Chip.Radio` and `Chip.Checkbox`
    -   Remove `Chip.Group`

## @digdir/[email protected]

### Patch Changes

- Pagination:
([#2460](#2460))

    -   Remove attributes `currentPage` and `totalPages` on `Pagination`
    -   Replace `Pagination.Root` with `Paginaton`
- Replace `Pagination.Next`, `Pagination.Previous` and
`Pagination.Ellipsis` with `Paginaton.Button`
    -   Make `usePagination` return spreadable props for subcomponents
    -   Add support for `showPages` and `onChange` in `usePagination`

- Skiplink:
([#2577](#2577))

    -   Simplify DOM
    -   Add support for `forwardRef`

- Accordion: Animate open/close with CSS
([#2527](#2527))

    -   Replace onFound with onToggle

- Heading: ([#2525](#2525))

    -   Classes with data attributes
    -   Move base style to utility classes

-   Modal: ([#2440](#2440))

    -   Rename `Modal.Dialog` to `Modal`
    -   Rename `Modal.Root` to `Modal.Context`
    -   Replace `onInteractOutside` event with `backdropClose` boolean
- Replace `closeButton` and `closeButtonTitle` on `Modal.Header` with
`closeButton` on `Modal`
    -   Add border to `Modal.Header` and `Modal.Footer`
    -   Remove `Modal.Content`
    -   Remove `onBeforeClose`
    -   Remove `subtitle` from `Modal.Header`

- Body/Paragraph
([#2529](#2529))

    -   Add body-xl token
    -   Add xl paragraph
    -   Remove ingress tokens

- Ingress: Remove component
([#2515](#2515))

    -   Use `Paragraph variant='long'` instead

-   Card: ([#2509](#2509))

    -   Allow `Card` with content placed directly inside
- Replace `Card.Header`, `Card.Content` and `Card.Footer` with
`Card.Block`
- Replace `isLink` with anchor-in-heading + `click` handler for better
accessibility

- Modal: Remove `Modal.Header` and `Modal.Footer`, replace with
`Modal.Block`
([#2583](#2583))

- SkipLink: Remove ds-sr-only class
([#2546](#2546))

- Paragraph: Add css classes and style with data attributes
([#2523](#2523))

-   Chip: ([#2493](#2493))
    -   Add `Chip.Button`
    -   Rename `Chip.Toggle` to `Chip.Radio` and `Chip.Checkbox`
    -   Remove `Chip.Group`

## @digdir/[email protected]

### Patch Changes

- Body/Paragraph
([#2529](#2529))
    -   Add body-xl token
    -   Add xl paragraph
    -   Remove ingress tokens

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
unekinn pushed a commit that referenced this pull request Oct 11, 2024
- Implements `Card.Block` to simplify API and make it more robust
- Allows putting content directly inside `<Card>`
- Allows putting `<a>` inside a heading instead of using `isLink` -
following
https://adrianroselli.com/2020/02/block-links-cards-clickable-regions-etc.html
for better accessibility
- Supports `<Card asChild><a></a></Card>` as an escape hatch for those
who really needs the whole card to be a link
- Supports `<Card asChild><button></button></Card>`
- Have verified new concept with Øyvind - and will replicate this API
for Modal: #2522
- Have verified that Card should have same border color regardless of
link or not with Lasse
unekinn pushed a commit that referenced this pull request Oct 11, 2024
This PR was opened by the [Changesets
release](https://github.com/changesets/action) 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 next, this PR will
be updated.

⚠️⚠️⚠️⚠️⚠️⚠️

`next` is currently in **pre mode** so this branch has prereleases
rather than normal releases. If you want to exit prereleases, run
`changeset pre exit` on `next`.

⚠️⚠️⚠️⚠️⚠️⚠️

# Releases
## @digdir/designsystemet@1.0.0-next.35

### Minor Changes

- Fix crash when running CLI command `tokens build`:
([#2549](#2549))

    -   add --verbose option to `tokens build` for easier debugging
    -   `tokens build` crashed when run on result of `tokens create`

    Update tokens template used by CLI command `tokens create`

- removes `ingress`, renames `paragraph` to `body`, and adds `xl` size

### Patch Changes

- Make sure the internal order of sections in the CSS generated by the
CLI is deterministic, to avoid unnecessary git diffs
([#2560](#2560))

## @digdir/[email protected]

### Patch Changes

- Pagination:
([#2460](#2460))

    -   Remove attributes `currentPage` and `totalPages` on `Pagination`
    -   Replace `Pagination.Root` with `Paginaton`
- Replace `Pagination.Next`, `Pagination.Previous` and
`Pagination.Ellipsis` with `Paginaton.Button`
    -   Make `usePagination` return spreadable props for subcomponents
    -   Add support for `showPages` and `onChange` in `usePagination`

- Skiplink:
([#2577](#2577))

    -   Simplify DOM
    -   Add support for `forwardRef`

- Accordion: Animate open/close with CSS
([#2527](#2527))

    -   Replace onFound with onToggle

- Heading: ([#2525](#2525))

    -   Classes with data attributes
    -   Move base style to utility classes

-   Modal: ([#2440](#2440))

    -   Rename `Modal.Dialog` to `Modal`
    -   Rename `Modal.Root` to `Modal.Context`
    -   Replace `onInteractOutside` event with `backdropClose` boolean
- Replace `closeButton` and `closeButtonTitle` on `Modal.Header` with
`closeButton` on `Modal`
    -   Add border to `Modal.Header` and `Modal.Footer`
    -   Remove `Modal.Content`
    -   Remove `onBeforeClose`
    -   Remove `subtitle` from `Modal.Header`

- Body/Paragraph
([#2529](#2529))

    -   Add body-xl token
    -   Add xl paragraph
    -   Remove ingress tokens

- Ingress: Remove component
([#2515](#2515))

    -   Use `Paragraph variant='long'` instead

- Heading: Fix `md` heading size
([#2485](#2485))

-   Card: ([#2509](#2509))

    -   Allow `Card` with content placed directly inside
- Replace `Card.Header`, `Card.Content` and `Card.Footer` with
`Card.Block`
- Replace `isLink` with anchor-in-heading + `click` handler for better
accessibility

- Modal: Remove `Modal.Header` and `Modal.Footer`, replace with
`Modal.Block`
([#2583](#2583))

- SkipLink: Remove ds-sr-only class
([#2546](#2546))

- Paragraph: Add css classes and style with data attributes
([#2523](#2523))

-   Chip: ([#2493](#2493))
    -   Add `Chip.Button`
    -   Rename `Chip.Toggle` to `Chip.Radio` and `Chip.Checkbox`
    -   Remove `Chip.Group`

## @digdir/[email protected]

### Patch Changes

- Pagination:
([#2460](#2460))

    -   Remove attributes `currentPage` and `totalPages` on `Pagination`
    -   Replace `Pagination.Root` with `Paginaton`
- Replace `Pagination.Next`, `Pagination.Previous` and
`Pagination.Ellipsis` with `Paginaton.Button`
    -   Make `usePagination` return spreadable props for subcomponents
    -   Add support for `showPages` and `onChange` in `usePagination`

- Skiplink:
([#2577](#2577))

    -   Simplify DOM
    -   Add support for `forwardRef`

- Accordion: Animate open/close with CSS
([#2527](#2527))

    -   Replace onFound with onToggle

- Heading: ([#2525](#2525))

    -   Classes with data attributes
    -   Move base style to utility classes

-   Modal: ([#2440](#2440))

    -   Rename `Modal.Dialog` to `Modal`
    -   Rename `Modal.Root` to `Modal.Context`
    -   Replace `onInteractOutside` event with `backdropClose` boolean
- Replace `closeButton` and `closeButtonTitle` on `Modal.Header` with
`closeButton` on `Modal`
    -   Add border to `Modal.Header` and `Modal.Footer`
    -   Remove `Modal.Content`
    -   Remove `onBeforeClose`
    -   Remove `subtitle` from `Modal.Header`

- Body/Paragraph
([#2529](#2529))

    -   Add body-xl token
    -   Add xl paragraph
    -   Remove ingress tokens

- Ingress: Remove component
([#2515](#2515))

    -   Use `Paragraph variant='long'` instead

-   Card: ([#2509](#2509))

    -   Allow `Card` with content placed directly inside
- Replace `Card.Header`, `Card.Content` and `Card.Footer` with
`Card.Block`
- Replace `isLink` with anchor-in-heading + `click` handler for better
accessibility

- Modal: Remove `Modal.Header` and `Modal.Footer`, replace with
`Modal.Block`
([#2583](#2583))

- SkipLink: Remove ds-sr-only class
([#2546](#2546))

- Paragraph: Add css classes and style with data attributes
([#2523](#2523))

-   Chip: ([#2493](#2493))
    -   Add `Chip.Button`
    -   Rename `Chip.Toggle` to `Chip.Radio` and `Chip.Checkbox`
    -   Remove `Chip.Group`

## @digdir/[email protected]

### Patch Changes

- Body/Paragraph
([#2529](#2529))
    -   Add body-xl token
    -   Add xl paragraph
    -   Remove ingress tokens

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

2 participants