* Remove Font Awesome files and references
* Remove dead Font Awesome references
* Remove icon reference from `linkPrintNewTab` mixin
* Remove unused `customValidationMessage`
* Remove dead Font Awesome references
* Remove FA reference and disable "Monthly metrics emails" subscription link when loading
* Revert daterangepicker icon styles
GitOrigin-RevId: e08d4b61e35bae305f771d9949c18edf8a163575
* fix: Add keyboard navigation for group member picker combobox
* Add role="presentation" to footer list item since not a selectable option
* Dispatch change event when selecting option via keyboard
* Sync aria-selected state with checked radio on selection
GitOrigin-RevId: c20c11a9ca063ca3121fda28944ad7f91eeac9e9
* Separate heading and body font override mixins
* Separately target headings and other fonts overrides
* Separately target headings and other fonts overrides
* fix: allow independent heading font overrides without breaking existing entries
GitOrigin-RevId: b9b08316c1793fb305a8412986b78bfe5de43738
* Add password visibility toggle to homepage registration
* Update text to "Create password" in registration form on the homepage
* Use material-symbol instead
GitOrigin-RevId: c40f3e9f696929108bad2e54acacfe3323ff70db
* Merge all .prettierignore files into top-level config
* Merge all .prettierrc files into top-level config
* Replace service-specific glob patterns in package.json format scripts with `prettier .`
* Add template files with Jinja2, Go template, envsubst, and Handlebars syntax to .prettierignore
* Ignore GitHub templates
* Ignore PUG templates to format them separately with `format:pug`
* Encourage double quotes for YAML, YML files
* Move prettier for PUG source format script to the root
* Move prettier for styles source format script to the root
* Remove prettier for jenkins files from web
* Remove prettier source format script from all services
* Make .prettierrc more readable
* Update format scripts by file type
* Organise `.prettierignore`
* Add `--cache` flag to prettier scripts for faster runs
* Format all files with prettier
* Format all or format services
* Remove `format`/`format:fix` scripts from services since now it runs from root `package.json`
* Avoid conlficts with yamllint configuration
* Remove `--cache` flag from prettier scripts
* Update all service Makefiles to use root-level prettier configuration
* Update all Jenkinsfile to use root-level prettier configuration
* Ignore auto-generated files by build_scripts
* Update package-lock.json
* Update root Makefile format targets
* Update SP Jenkinsfile format target
* Update E2E Makefile format script
* Udpate `format_js` to work in both local and CI env
* Add docker-mailtrap to .prettierignore
docker-mailtrap is a third-party git-ignored directory used for testing
* Added Docker env detection to prevent nested Docker spawning
* Ignore handlebars templates
* Add cryptographic files and test output to `.prettierignore`
* Add terraform modules to `.gitignore`
* Remove prettier-plugin-groovy
* Use npx directly instead of Docker for local formatting for faster formatting
* Auto-generate Makefiles
* Revert "Remove prettier-plugin-groovy"
This reverts commit 194a33589a2e1e4d2225d10c67e9f025e4222025.
* Mount monorepo root in RUN_LINT_FORMAT for prettier config access
* Prettier ignores all `node_modules` by default regardless of location
* Show only changed files in format output
* Ignore LICENSE files
* Enable prettier on rendered build_scripts outputs
* Ignoring all the template folders by prettier
* Remove the public/minjs entry since it does not exist
* Remove all non-existent paths
* Sync `.prettierignore` with ignored files by `.gitignore` and `.dockerignore` files
* Revert "Auto-generate Makefiles"
This reverts commit c0233e490de1bc95fe437219d65e0b66e0331ec9.
* Revert "Use npx directly instead of Docker for local formatting for faster formatting"
This reverts commit 1d2b2cf1a6c6974c76885852a90dd55e84167e41.
* Ignore dashboard JSON files
* Ignore files generated by bin/update_build_scripts
* Remove unsupported file types from `.prettierignore`
* Ignore test fixture generated files
* Ignore README file types by prettier
* Ignore generate snapshots by prettier
* Allow to format generated bin/update_build_scripts by prettier
* Ensure build script outputs prettier-compatible tsconfig.json
* Fix build script output to match prettier formatting
- Fix Jinja2 whitespace in docker-compose templates
- Change YAML quotes from single to double
* Don't read cryptographic files by prettier
* Ignore google verification files by prettier
* Revert npx prettier formatting
* Ignore domain verification files
* Show only changed files in format output
* Make `.github` prettier
* Allow all files to be formatted in jobs by prettier
* Allow server-ce/server-pro files to be formatted by prettier
* Ignore more folders in clsi, filestory, git-bridge by prettier
* Update build script with `RUN_LINTING_CI_MONOREPO`
* Ignore docker-mailtrap and downloads in server-ce by prettier
* Restore prettier configs and prettierignore for V1 since it has its own prettier (an older version)
* Source format
GitOrigin-RevId: 637adc3cc422d1f20c86d6ebc8ec514d60758287
* Replace the black Overleaf logo to the green one
* Move subscription, login, restricted, invite views to website-redesign layout
* Remove the Storybook showcase of all the layouts
---------
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: b07581834921750c9c6de44f05beb0dd9eafba23
* Change the refund policy from 30 to 14 days
* Align AI suggestions trial period with 14-day refund policy
* Revert "Align AI suggestions trial period with 14-day refund policy"
This reverts commit d3327c71c05543a751acd66450183bbf0eb95fd7.
GitOrigin-RevId: b77e09b2bb508951b68ae3a00b95146e6898bac5
* Include valid couponCode and promotionCode in `payment-page-view` and `payment-page-form-submit` analytics events
* Update payment event types
* Remove obsolete comment
* fix: only send validated coupon and promotion codes in analytics event
* Add coupon name for the analytics events
* Update test to include the coupon name for analytics
* Remove coupon code from analytics
* Simplify promotion code validation using coupon.code
* Remove undefined
* Allow access to promotion code
* Remove `lastValidatedPromotionCode` and compare against coupon code from the preview response
* Fix test setup to initialize coupon code
* Keep the submit button enabled only when the coupon code is either empty or successfully validated by the backend
* Update test coupon code value to TEST_COUPON
GitOrigin-RevId: b12fa147d91fd3b90b59bc77868a0786ddb633b7
* Replace placeholders with labels
* Add 'Close dialog' label to modal close button to distinguish from footer Close button
* Add and translate heading on the not found page
* Update textarea to have id matching label's for attribute
Simplify test for template description textarea
* Label PDF zoom level dropdown button
* Improve test selectors to use semantic roles and accessible names
GitOrigin-RevId: d215ddca30ddf844cfffbcf0e528a601b134d772
* Add focus-trap-react npm package
* Trap the focus for the Modal
* In some cases, the focus will not return to the trigger element
* If there are no tabbable elements, the focus should fallback
* Add explanations for focusTrapOptions props and extend test
* Auto generate package-lock.json - Add focus-trap-react npm package
GitOrigin-RevId: 488a05d5e95dd369c69bedcfaf7c1fd5e456e302
* Convert OLModal to named exports only
* Make closeButton the default for OLModalHeader
* Set `closeButton={false}` for modal that is not dismissible
* Fix duplicated imports
* Remove another unnecessary `closeButton` prop
* Fix import
---------
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: ddd7be6e59a966ac634683d2494d6e9d2c3732e6
* Update test for the loading spinner component
* Create a story for the loading spinner component
* Move role and use CSS for spacing instead
* Add a classname prop
* Reuse LoadingSpinner
* Use OLSpinner instead of Spinner
* Use data-testid since status role was moved
* Wait for journals to load
* Use `isLoading` prop instead and fix the button's height
* Use `isLoading` prop instead
* Use LoadingSpinner instead and remove spacing
* Update test for the loading spinner component
* Use `isLoading` prop instead
* Add aria-describedby to layout button for processing state
* Replace `spinner` to `ol-spinner`
* Scope status
* Remove redundant `div.loading`
---------
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 8f43b991f8f458b2abd5a4661913ac9b972d892a
* Create eslint rule for requiring loadingLabel prop when isLoading is specified on OLButton
* Add `loadingLabel` props for OLButton components with `isLoading`
* Clarify loading label and button loading state
GitOrigin-RevId: 89279d5b4c346f9c3b67a59d0db822a2ff04314a
* Rename ui to shared
* Delete unused Switch component
* Update stories with Figma links
* Update Tag story naming for clarity
* Update Toggle button story naming for clarity
* Move shared components to the shared folder
* Remove file as part of TS migration
* Migrate jsx to tsx
* Remove file as part of TS migration
* Migrate jsx to tsx
* Include necessary controls only
* Auto SF
GitOrigin-RevId: d2458eeffa7a6b67ce522c3ccb6b4f71e5e76d62
* Update selectors to improve test stability
* Update selectors to improve test stability
* Use plain string matchers
* Fix test
* [monorepo] use plain string matchers everywhere
* [web] remove Kb/ prefix from title of learn wiki links
---------
Co-authored-by: Jakob Ackermann <jakob.ackermann@overleaf.com>
GitOrigin-RevId: 12e13c39822795338a3bee20236454f9948e6221
* Replace placeholders for labels
* Remove redundant aria-label and update labels with `.visually-hidden`
* Change "Invite more members" to a label
* Fix helper text for group members and fix responsiveness
* Change error message to an error notification
* Use label and helper text instead of a placeholder
* Remove redundant label and use the placeholder text instead for the admin user searchbar
* Extract translations
GitOrigin-RevId: a504fda9779da82920b57c7b8aad38a8b027d09a
* Update notification story with the `offer` type
* Remove `.btn-sm` as buttons should be medium sized
GitOrigin-RevId: ec0cd09fda0126bce185265fdf1f05ca7ae414c9
* Remove bootstrap-5 folder and move tokens to foundations
* Remove unused `BsStyle` and `BsSize`
* Fix the size prop of the reference search modal
GitOrigin-RevId: 566ee519c50a39dd80bda475af40383ef8154a2c
* Add foundations and migrations docs
* Add storybook/addon-designs version 8.2.1
* Test Figma link
* Refactor Modal stories
* Create figmaDesignUrl
* Create foundations
* Create feature flags docs
* Create Storybook builds docs
* Add storybook/addon-designs version 8.2.1
* Test Figma link
* Add an example of Story with split-tests within the Storybook guidelines (#27260)
* Add FormatCurrency demo in feature-flags.mdx
* Add syntax highlight to code samples
* Update stories with figmaDesignUrl
* Figma access token
* Use OLButton
* Hide control for children and footer
* Add primitive colors
* Use useSplitTest instead
* Update cloud builds docs with `storybook-push-trigger`
* Make Foundations the default story
---------
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: 0729759803f190d89cf543d087eea86265b725f1
* Improve landmarks for the Project Dasbhboard
* Improve landmarks for the IDE page
* Improve landmarks for the new redesigned IDE page
* Sort locales
* Fix typo OlButtonToolbar -> OLButtonToolbar
* Update project navbar translation
* Update labels
* Redundant main landmark
* Fix failing test
* Descriptive name for the rails tab
* Header should not be in a button
* Update translation to Account and help
* Update translation to Project categories and tags
* Add explanations
* Show landmark for the survey widget when it's rendered
* Suggestions for nav stretch/scroll/borders
* Source format
---------
Co-authored-by: Antoine Clausse <antoine.clausse@overleaf.com>
GitOrigin-RevId: d05a738e782d2edb229529aadf92b9004dfd973a
* Improve landmarks for the Project Dasbhboard
* Improve landmarks for the IDE page
* Improve landmarks for the new redesigned IDE page
* Sort locales
* Fix typo OlButtonToolbar -> OLButtonToolbar
* Update project navbar translation
* Update labels
* Redundant main landmark
* Fix failing test
* Descriptive name for the rails tab
* Header should not be in a button
* Update translation to Account and help
* Update translation to Project categories and tags
* Add explanations
GitOrigin-RevId: 96712b37bb1306b552de510d9fd8ae890f24309f
* Add search HTML tag and improve landmarks
* Add material symbol icons
* Add translation and improve landmarks
GitOrigin-RevId: bd0ddcce16348883c58ae547623b8e615b55df27
* Use meta tags for user info data
* Remove Back button
* Refactor syntax for conditional classes
* Inline meta tags
* Keep "Please go back and try again" text
* Shorthand classname
GitOrigin-RevId: 3b78bff04b4fb8dc7fdecf5b663d2a4f64c3218b
* Use the leadingIcon prop instead of spacing
* Remove duplicated ID
* Make the alt text to be empty since image is decorative
* Make switcher input visually hidden
The switcher's input previously used 'pointer-events: none', which prevented proper interaction in the test. It replaces that hack.
* Add accessibilityLabel to the info icon that is actually a clickable link
* Use more specific selectors
* It should display
* Use more specific selectors
* Use more specific selectors
GitOrigin-RevId: a555d96cf972d06dd5432f44a23b02355cedcd94
* Fix visited link colour
* Udpdate green link colors for the marketing pages
* Use the semantic color variables
GitOrigin-RevId: c53240cbd6f3608031d6e98db8203fe7bb414a9b
* Enable Bootstrap 5 for the subscription error pages
* Override contact modal on the plans page
* Convert AI Assist related styles to CSS
* Extend single layout-website-redesign.pug template for both Bootstrap 3 and 5
* Formatting to tab indentation
* Add the switcher for AI Assist
* Fix translations in heading
GitOrigin-RevId: 54ddc35602831f1ec1fa83c9f67a091eefda7a77
* Hide the tooltip when Esc key is pressed
* Simplify ActionsDropdown
* Rename to tooltipDescription
* Use OLTooltip instead of Tooltip
GitOrigin-RevId: ee27cde2735ae3a0de5e37bfb8ab1dd99069742c
* Migrate the Try Premium for free page to Bootstrap 5
* Migrate the Overleaf Beta Program page to Bootstrap 5
* Fix buttons alignment on smaller screen size
* Migrate the Overleaf Bonus Program page to Bootstrap 5
GitOrigin-RevId: 811db783af6a86ab472aae95e075bfa301786a31
* Improve announced button and link labels for screen reader users
* Improve labels for integration widgets and update test
* Make integration widget IDs to be required
GitOrigin-RevId: 1e0124ef63a91fb63dffd79881c60794bccb9d27
* Remove redundant class conflicting with focus styling
* Make the toolbar in the popover focusable via keyboard
* Focus to the first context menu item via keyboard only
GitOrigin-RevId: 7d3e2af4ba96654b5b2312b3999483c2a439b406
* Use OLIconButton for buttons lacking visible text
* Ensure correct ARIA attr for the Layout dropdown
* Add a tooltip to Layout button
* Add "Open dev tool" aria-label
* Add accessible names to the rail tab items
* Remove unused IconProps export
GitOrigin-RevId: 185937384cf5ec87b32238111d6621ac07789fb4
* Remove the Bootstrap 5 version utilities
* Remove Account settings LESS stylesheet and unused styles
* Prefer using the OLFormText wrapper component instead of FormText
* Remove the Bootstrap 3 version stories
* Replace Font Awesome icons to Material icons
* Fix the heading hierarchy
* Cleanup unused translation
* Restore ellipsis to the text of two loading spinners
* Add loading button tests back and add some button loading labels
---------
Co-authored-by: Tim Down <158919+timdown@users.noreply.github.com>
GitOrigin-RevId: 283a9167c8c78bf0fe5062840ded6917dcd6263b
* Remove skipLoadingStyleSheet
* Remove unused bootstrap-5 assignment from the Account settings page since it's archived
* Remove bsVersionIcon
* Remove bsVersion, bootstrapVersion and isBootstrap5 from elements on the IDE page
* Remove BS3Dropdown from the context menu
* Cleanup Bootstrap 3 related comment and type
GitOrigin-RevId: a67244eb78943ee84cc5f89bae164c0361e8fc13
* Show an aggressive dashboard notification for unconfirmed emails
Show a persistent dashboard notification for untrusted secondary emails
* For emails before the cutoffDate, start displaying the notification on the deletionDate and show the notification for 90 days
* Update the email deletion logic for displaying the email notification and update test
* Update test
GitOrigin-RevId: 1b0e44f79592292d428c634dc1ec4df9e6ceaeb4