Skip to content

feat(lib): Add List item component#3618

Open
louismaximepiton wants to merge 19 commits into
mainfrom
ouds/main-lmp-add-list-item
Open

feat(lib): Add List item component#3618
louismaximepiton wants to merge 19 commits into
mainfrom
ouds/main-lmp-add-list-item

Conversation

@louismaximepiton

@louismaximepiton louismaximepiton commented Jun 24, 2026

Copy link
Copy Markdown
Member

Types of change

  • Non-breaking change
  • Breaking change (fix or feature that would change existing functionality and usage)

Related issues

Closes #2783.

Context & Motivation

Add the list-item to the component we officially support.

Description

TODO

Checklists

  • I have read the contributing guidelines
  • My change follows the developer guide
  • My change pass all tests
  • My change is compatible with a responsive display
  • I have added tests (Javascript unit test or visual) to cover my changes
  • My change introduces changes to the documentation that I have updated accordingly
    • Title and DOM structure is correct
    • Links have been updated (title changes impact links)
    • CSS for the documentation
  • I have checked all states and combinations of the component with my change
  • I have checked all the impacts for the other components and core behavior (grid, reboot, utilities)

Checklist (for Core Team only)

  • The changes need to be in the migration guide
  • The changes are well displayed in Storybook (be careful if example order has changed for DSM)
  • The changes are compatible with RTL
  • Manually test browser compatibility with BrowserStack (Chrome 120, Firefox 121, Edge 120, Safari 15.6, iOS Safari, Chrome & Firefox on Android)

Progression (for Core Team only)

Live previews

@netlify

netlify Bot commented Jun 24, 2026

Copy link
Copy Markdown

Deploy Preview for boosted ready!

Name Link
🔨 Latest commit 4c2ad89
🔍 Latest deploy log https://app.netlify.com/projects/boosted/deploys/6a5e2da472e4d4000804e193
😎 Deploy Preview https://deploy-preview-3618--boosted.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

Base automatically changed from tokenator-update-tokens-20260624085816 to ouds/main July 3, 2026 12:12
@louismaximepiton
louismaximepiton marked this pull request as ready for review July 8, 2026 10:13
Copilot AI review requested due to automatic review settings July 8, 2026 10:13
@boosted-bot boosted-bot moved this from In Progress / Draft to Need Dev Review in 🟣 [Orange-Boosted-Bootstrap] PRs Board Jul 8, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR introduces the new List item component to OUDS Web, including its core SCSS implementation, brand token additions (icons), and the documentation page + site plumbing needed to surface it in the docs.

Changes:

  • Added the new scss/_list-item.scss component and wired it into all 3 brand entrypoints.
  • Added documentation for List item (new MDX page) and new Astro shortcodes to render “asset” tabs in the docs.
  • Updated skeleton styling/docs and adjusted docs-site configuration (anchors depth, sidebar/cards, bundlewatch thresholds).

Reviewed changes

Copilot reviewed 21 out of 22 changed files in this pull request and generated 20 comments.

Show a summary per file
File Description
site/src/types/auto-import.d.ts Registers new shortcodes for auto-import in MDX/docs.
site/src/scss/_component-examples.scss Adds docs-only chip styling for tab UI (currently duplicates chip selected styles).
site/src/content/docs/components/skeleton.mdx Adds List item markup to skeleton documentation examples.
site/src/content/docs/components/list-item.mdx New List item documentation page and examples.
site/src/components/shortcodes/AssetsTab.astro New shortcode representing a single tab panel section.
site/src/components/shortcodes/AssetsNavTab.astro New shortcode rendering the tablist + tabpanels and hash navigation behavior.
site/data/sidebar-components.yml Adds “List item” to the components sidebar.
site/data/components-details.ts Adds component cards/snippets for List item variants.
site/data/_components-versions.yml Updates component “added in version” data (currently missing list-item types).
scss/_skeleton.scss Extends skeleton placeholder styling to .item-wrapper.
scss/_list-item.scss New SCSS implementation of the List item component.
packages/sosh/scss/tokens/_composite.scss Adds list-item navigation icons (brand-specific SVG data URLs).
packages/sosh/scss/ouds-web.scss Imports the new list-item component into the Sosh bundle.
packages/sosh/config.yml Increases docs anchors max depth to 6.
packages/orange/scss/tokens/_composite.scss Adds list-item navigation icons (brand-specific SVG data URLs).
packages/orange/scss/tokens/_component.scss Modifies auto-generated token output (should not be edited manually).
packages/orange/scss/ouds-web.scss Imports the new list-item component into the Orange bundle.
packages/orange/config.yml Increases docs anchors max depth to 6.
packages/orange-compact/scss/tokens/_composite.scss Adds list-item navigation icons (brand-specific SVG data URLs).
packages/orange-compact/scss/ouds-web.scss Imports the new list-item component into the Orange Compact bundle.
packages/orange-compact/config.yml Increases docs anchors max depth to 6.
.bundlewatch.config.json Raises bundle size limits to account for added CSS.

Comment thread scss/_list-item.scss
Comment thread scss/_list-item.scss
Comment thread scss/_list-item.scss
Comment thread scss/_list-item.scss
Comment thread scss/_list-item.scss Outdated
Comment thread site/src/content/docs/components/list-item.mdx Outdated
Comment thread site/src/content/docs/components/list-item.mdx
Comment thread site/src/content/docs/components/list-item.mdx Outdated
Comment thread site/src/content/docs/components/list-item.mdx Outdated
Comment thread site/src/scss/_component-examples.scss
Comment thread site/src/content/docs/components/list-item.mdx Outdated
You can navigate through the different assets using the tabs below.

<Callout type="warning" title="Small list item">
Please note that the sizes below shouldn't be used in a [small list item](#sizes). The slot shouldn't be used as well in this size.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think there is a typo, shouldn't it be "the assets below" ?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

I really meant the different sizing classes, the rule is the following:

The size of the assets is only small when the list item is in small size.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Then I suggest clarifying this, that's not what I understand from the callout.

Suggested change
Please note that the sizes below shouldn't be used in a [small list item](#sizes). The slot shouldn't be used as well in this size.
Please note that the sizes below shouldn't be used in a [small list item](#sizes), only small assets may be used with small list items. The slot shouldn't be used as well in this size.

</div>
</div>`} />

### Sizes

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I know there is a common template to component pages.
However, sizes section is mentioned repeatedly before being read.
Maybe we should invert sizes and variants section to clarify the available sizes ?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Yes maybe, let's discuss it with other people

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I'm not sure, in the Sizes paragraph we reference other variant so we would have the same problem but reversed... Although Sizes are always short paragraphs compared to Variants so it could make sense to switch

@MaxLardenois MaxLardenois left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Just some comment on my first pass, I have opinions ;)
I will try to suggest something for the approach section

I definitely think this group is not named correctly, it should be Items

@@ -39,6 +39,7 @@
@import "@ouds/web-common/scss/alert";
@import "@ouds/web-common/scss/progress";
@import "@ouds/web-common/scss/list-group";

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Don't we remove list group?

@@ -0,0 +1,1061 @@
---
title: List item

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

In the end, I think the name of the group should be Items

Yes it is not very descriptive but it's the common thing with these components.

Right now we have list item components that can be outside a list ! This is not understandable.

I understand the name of the design group is List item but I think we should still rename this page to Items without changing the design name (even though I think we should try to convince Maxime)

In any case we should have a plural like we determined for groups pages (like Badges, Buttons...)

@@ -0,0 +1,1061 @@
---
title: List item
description: List items are a flexible and powerful component for displaying a series of content. Modify and extend them to support just about any content within.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The thing is, card items do not necessarily display in a list so where is the series of content?

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

All descriptions should be updated.

Comment thread site/src/content/docs/components/list-item.mdx Outdated
Comment thread site/src/content/docs/components/list-item.mdx Outdated

### Component types

<ul class="list-unstyled row row-cols-1 sm:row-cols-2">

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Maybe in this case we should opt for a 2x2 grid to show all the component types (Static card item, static list item, navigation card item, navigation list item)
Also maybe for the lists showing two elements would help?

This would help make the users understand the inherent multiple facets of these components

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Tried something


The card item is the default item when the item components are used.

Its behavior changes once used in a list. Most of the variants can be applied to this kind of item. It comes with a background and a divider by default.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Does its behavior changes or does it becomes a list item? I think we should delete the first sentence

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Tried something

</div>
</div>`} />

### Approach

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I feel like most of this paragraph could be better represented in a table I will try to come up with something

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Tried something

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚛️ component css 📖 documentation Improvements or additions to documentation 🧰 library

Projects

Status: Need Dev Review

Development

Successfully merging this pull request may close these issues.

[OUDS] Create component - List Item

5 participants