* [storybook] Rerender story when switching BS3/BS5
* [storybook] Add SCSS loader to storybook
* [storybook] Add some AI error assistant stories
* Rename ai-error-assistant.less to .scss
* Update less variables to sass
* Remove duplicated selector
* Replace react-bootstrap components by `OL...`
* Update Checkboxes after BS5 update
* Add IDs so clicking on labels work
* Add BS5 class name in SCSS
Note: `answer-not-detailed` is used twice in the Radios. I think it's a mistake: there should be another name for the "ai_feedback_the_suggestion_wasnt_the_best_fix_available" radio
* Rename ID `answer-not-detailed` -> `answer-not-best-fix`
* Pass name and value to BS3Radio/BS3Checkbox
* [storybook] Add delay before AI suggestion (shows the animation)
* Add a number after the checkbox/radio IDs, to allow multiple forms to be displayed
Without this, clicks on second form are updating the first form!
Another solution could be to wrap the input in the label, but it comes with other problems. See https://css-tricks.com/html-inputs-and-labels-a-love-story/
* [storybook] Update `LabsAiPromoBanner`
* Use CSS variables instead of hardcoded values
* Make radio input flex
* Replace `blue-10` by `bg-info-03`
* Fix `SuggestFixButton`
* Fix `AiErrorAssistantCopyCode`
* Fix button loading in BS5
* Use OLBadge
* Fix Button variants
* Update `suggestFixAction`
* Migrate Tooltip and Button to BS5 in LabsExperimentWidget
* Update BS3/BS5 button classname in AiErrorAssistantCopyCode
Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
* [storybook] Allow to choose props of `LabsExperimentWidget`
* Fixup `OLTooltip`: Display the tooltip on disabled button in BS5
* Update Tooltips to BS5
---------
Co-authored-by: Rebeka <rebeka.dekany@overleaf.com>
GitOrigin-RevId: 08d594e772c0a3b6db1c6081337cc2d079f478a5
* [web] Initialize BS5 in subscription page
* [web] Update subscription-dashboard.tsx for BS5
* [web] Update row-link.tsx for BS5
* [web] Update modals
* [web] Add `btn` to `btn-inline-link` classes
* [web] Update circle change-to-group circle price element
* [web] Replace `list-item-with-margin-bottom` with `mb-3`
* [web] Update form elements to BS5
* [web] Use `useContactUsModal`
* [web] Adjust tables margin/padding, and more
* [web] Update change-to-group-modal.tsx
* [web] Add gap to subscription buttons
* [web] Remove subscription page colspan for md and above
* [web] Use Notification component
* [web] Update "leave group" buttons
* [web] Fix tests: add `ol-user` meta tag
* [web] Nest .hover-highlight in #subscription-dashboard-root
* [web] Update to OLRow/OLCol
* [web] Update to OLButtons
* [web] Update to OLFormGroup
* [web] Naming: use BSversion prefix
* [web] Set CancelSubscriptionButton as ghost directly in component
* [web] Set "Plan" font size
* [web] Simplify cancel-subscription buttons
* [web] Remove `--neutral-10` ModalFooter background
* [web] Simplify circle styles
* [web] Center discount badge
* [web] Update fieldset label
* [web] Add `<ul>` around RowLink
* [web] Define SCSS for row-link component
* [web] Remove some use of utility classes
* [web] Revert and update `fieldset` changes (fixes tests)
* [web] Fixup some more OLButtons
* [web] Fixup use of OLRow/OLCol
* [web] Reduce spacing below "legend-as-label"
* [web] Use h5 instead of small in OLModalTitle
* [web] Revert OLCol removal on lg screens
I had removed them by mistake because I wasn't using the proper breakpoints
* [web] Add backdrop to nested modal ContactUsModal
* [web] Don't prefill project URL in ContactUsModal
* [web] Fix lint
* [web] Share `className` prop in BS5 and BS3 modals
* [web] Set sub-title font sans serif (BS3)
* [web] Update remaining Alerts to OLNotification
GitOrigin-RevId: 7fd975ae3e992cebfaf71d4e182f8e13ec886d09