Change record status: 
Project: 
Introduced in branch: 
9.2.x
Introduced in version: 
9.2.0
Description: 

The following core library definitions have been deprecated:

  • jquery.ui
  • jquery.ui.autocomplete
  • jquery.ui.dialog
  • jquery.ui.draggable
  • jquery.ui.menu
  • jquery.ui.mouse
  • jquery.ui.position
  • jquery.ui.resizable
  • jquery.ui.widget

In the short term, contributed or custom modules with a dependency on these library definitions should use the contributed module versions of the libraries. However, note that jQuery UI is minimally maintained. It is recommended to replace these libraries with a different solution in the long term.

The drupal.autocomplete and drupal.dialog libraries still require assets from several of these deprecated libraries. In order to avoid depending on a deprecated library via dependencies:, the jQuery UI JavaScript and CSS files are loaded directly with explicit weights.

The drupal.tabbingmanager library no longer depends on core/jquery.ui, nor does it use any jQuery UI assets.

The core jquery.ui library definition no longer includes core/assets/vendor/jquery.ui/ui/tabbable-min.js. That file and its non-minified equivalent (core/assets/vendor/jquery.ui/ui/tabbable.jshave been removed from core. The functionality it provides - the :tabbable selector - is now provided via the tabbable.jquery.shim library

Modules or themes that are overriding any of the libraries that have been deprecated will need to update their overrides to apply to drupal.autocomplete, drupal.dialog, or drupal.tabbingmanager (or equivalent contributed libraries with the same dependencies) directly.

Before:

  core/jquery.ui:
    css:
      theme:
        assets/vendor/jquery.ui/themes/base/theme.css: false

After:

  core/jquery.ui:
    css:
      theme:
        assets/vendor/jquery.ui/themes/base/theme.css: false
  core/jquery.ui.dialog:
    css:
      theme:
        assets/vendor/jquery.ui/themes/base/theme.css: false   
  core/drupal.autocomplete:
    css:
      theme:
        assets/vendor/jquery.ui/themes/base/theme.css: false
  core/drupal.dialog:
    css:
      theme:
        assets/vendor/jquery.ui/themes/base/theme.css: false
  core/drupal.tabbingmanager:
    css:
      theme:
        assets/vendor/jquery.ui/themes/base/theme.css: false

Modules or themes overriding the drupal.autocomplete, drupal.dialog, or drupal.tabbingmanager library definitions themselves may need to update for the new structure of those library definitions too.

Impacts: 
Module developers
Themers
Site templates, recipes and distribution developers