Skip to content

feat(component): Add loading state on select and text input#3278

Open
louismaximepiton wants to merge 24 commits intoouds/mainfrom
ouds/main-lmp-loading-input-select
Open

feat(component): Add loading state on select and text input#3278
louismaximepiton wants to merge 24 commits intoouds/mainfrom
ouds/main-lmp-loading-input-select

Conversation

@louismaximepiton
Copy link
Member

@louismaximepiton louismaximepiton commented Dec 16, 2025

Types of change

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

Related issues

Closes #3373

Context & Motivation

Add the loading state and examples for the loading state of select and text-input.

Description

NA

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

@louismaximepiton louismaximepiton added 📖 documentation Improvements or additions to documentation css labels Dec 16, 2025
@boosted-bot boosted-bot moved this from In Progress / Draft to Need Dev Review in 🟣 [Orange-Boosted-Bootstrap] PRs Board Dec 16, 2025
@netlify
Copy link

netlify bot commented Dec 16, 2025

Deploy Preview for boosted ready!

Name Link
🔨 Latest commit 1ff36cf
🔍 Latest deploy log https://app.netlify.com/projects/boosted/deploys/699c282a3e214700084bf406
😎 Deploy Preview https://deploy-preview-3278--boosted.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

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

Copy link
Collaborator

@MaxLardenois MaxLardenois left a comment

Choose a reason for hiding this comment

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

Nice work 👍

@boosted-bot boosted-bot moved this from Need Dev Review to Dev Review In Progress in 🟣 [Orange-Boosted-Bootstrap] PRs Board Dec 16, 2025
louismaximepiton and others added 2 commits December 17, 2025 10:39
Co-authored-by: Maxime Lardenois <maxime.lardenois@orange.com>
Base automatically changed from ouds/main-lmp-add-select-input to ouds/main December 18, 2025 12:26
Copy link
Collaborator

@MaxLardenois MaxLardenois left a comment

Choose a reason for hiding this comment

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

🚀

@boosted-bot boosted-bot moved this from Dev Review In Progress to Need Lead Dev Review in 🟣 [Orange-Boosted-Bootstrap] PRs Board Dec 18, 2025
@louismaximepiton
Copy link
Member Author

Ok from an a11y pov

@louismaximepiton louismaximepiton linked an issue Feb 16, 2026 that may be closed by this pull request
2 tasks
// Select input
$select-input-chevron: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M4.874 9.977 12 17.25l7.125-7.273-2.034-2.079L12 13.095 6.91 7.898 4.874 9.977Z'/></svg>") !default;
$select-input-expanded-chevron: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M19.124 14.023 12 6.75l-7.125 7.273 2.035 2.079L12 10.905l5.088 5.197 2.037-2.079Z'/></svg>") !default;

Copy link
Collaborator

Choose a reason for hiding this comment

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

These 2 variables are already declared on lines 112 and 113. Maybe an error on conflict resolution ?

- Put the focus back on the select to ensure similar behavior across browsers and not lose the user after changes.

<Callout type="info">
The select can be disabled or not during the loading time depending on the context of use.
Copy link
Collaborator

Choose a reason for hiding this comment

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

We say at the beginning of the states section that states are exclusive and here we say they can be mixed :)

</svg>
<label for="exampleDisabledLoadingTextInputWithDisabledAction">Disabled loading input example with disabled action</label>
<input disabled type="text" class="text-input-field loading-indeterminate" id="exampleDisabledLoadingTextInputWithDisabledAction" placeholder=" " value="Input" aria-describedby="loading-msg-1">
<button disabled class="btn btn-minimal btn-icon">
Copy link
Collaborator

Choose a reason for hiding this comment

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

Shoudn't we use the loading button in this case ? I'm not sure actually if it should be also the button component that should switch to loading state or if the button should be hidden for the local loader to be shown ?

<Example buttonLabel="loading inputs" code={`<div class="text-input mb-medium">
<div class="text-input-container">
<label for="exampleDisabledLoadingTextInput">Disabled loading input example</label>
<input disabled type="text" class="text-input-field loading-indeterminate" id="exampleDisabledLoadingTextInput" placeholder=" " value="Input" aria-describedby="loading-msg-0">
Copy link
Collaborator

Choose a reason for hiding this comment

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

Shouldn't we have the disabled style to prevail over the loading style ? I mean the disabled information seems more important than the loading one ?

Copy link
Member Author

Choose a reason for hiding this comment

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

I'm asking designers

@boosted-bot boosted-bot moved this from Need Lead Dev Review to Dev Review In Progress in 🟣 [Orange-Boosted-Bootstrap] PRs Board Feb 17, 2026
These states should be exclusive among each others.

### Disabled

Copy link
Collaborator

Choose a reason for hiding this comment

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

Seen together we have a bug with the leading icon in the disabled state, the color should be muted. Maybe we should add a leading icon on one of the following examples.

louismaximepiton and others added 3 commits February 18, 2026 12:47
Co-authored-by: Vincent Prothais <vincent.prothais@orange.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

css 📖 documentation Improvements or additions to documentation

Projects

Status: Dev Review In Progress

Development

Successfully merging this pull request may close these issues.

Add a loading state on the select input

3 participants