Migrating dependencies on Drupal core jQuery UI libraries

Last updated on
22 November 2023

This documentation needs review. See "Help improve this page" in the sidebar.

jQuery UI libraries are no longer in core, but everything needed is in contrib

jQuery UI libraries are no longer provided by Drupal core.

If your modules/themes depend on a core jQuery UI library (i.e. depend on any library that begins with core/jquery.ui), they must be updated to depend on libraries provided by contrib modules instead. These contrib modules work with Drupal 9.2 and newer in addition to Drupal 10, so you can make this switch on an existing Drupal 9 site.

Use the table below to help you identify which contrib module(s) should be installed, and what the library name should be changed to.

  • Find the library/libraries your code uses in the Removed Removed core asset library column,
  • Download/require and install the corresponding Replacement contributed module and change the library name and configure your module/theme to depend on them
  • Change any use of a Removed core asset library in your codebase to the corresponding Replacement library name
Removed core asset library Replacement library name + contrib module
  • core/jquery.ui
  • core/jquery.ui.widget
  • core/jquery.ui.mouse
  • core/jquery.ui.position
  • jquery_ui/core
  • jquery_ui/widget
  • jquery_ui/mouse
  • jquery_ui/position

jQuery UI

core/jquery.ui.accordion

jquery_ui_accordion/accordion

jQuery UI Accordion

core/jquery.ui.autocomplete

jquery_ui_autocomplete/autocomplete

jQuery UI Autocomplete

core/jquery.ui.button

jquery_ui_button/button

jQuery UI Button

core/jquery.ui.checkboxradio

jquery_ui_checkboxradio/checkboxradio

jQuery UI Checkboxradio

core/jquery.ui.controlgroup

jquery_ui_controlgroup/controlgroup

jQuery UI Controlgroup

core/jquery.ui.draggable

jquery_ui_draggable/draggable

jQuery UI Draggable

core/jquery.ui.droppable

jquery_ui_droppable/droppable

jQuery UI Droppable

  • core/jquery.ui.effects.core
  • core/jquery.ui.effects.blind
  • core/jquery.ui.effects.bounce
  • core/jquery.ui.effects.clip
  • core/jquery.ui.effects.drop
  • core/jquery.ui.effects.explode
  • core/jquery.ui.effects.fade
  • core/jquery.ui.effects.fold
  • core/jquery.ui.effects.highlight
  • core/jquery.ui.effects.puff
  • core/jquery.ui.effects.pulsate
  • core/jquery.ui.effects.scale
  • core/jquery.ui.effects.shake
  • core/jquery.ui.effects.size
  • core/jquery.ui.effects.slide
  • core/jquery.ui.effects.transfer
  • jquery_ui_effects/core
  • jquery_ui_effects/blind
  • jquery_ui_effects/bounce
  • jquery_ui_effects/clip
  • jquery_ui_effects/drop
  • jquery_ui_effects/explode
  • jquery_ui_effects/fade
  • jquery_ui_effects/fold
  • jquery_ui_effects/highlight
  • jquery_ui_effects/puff
  • jquery_ui_effects/pulsate
  • jquery_ui_effects/scale
  • jquery_ui_effects/shake
  • jquery_ui_effects/size
  • jquery_ui_effects/slide
  • jquery_ui_effects/transfer

jQuery UI Effects

core/jquery.ui.menu

jquery_ui_menu/menu

jQuery UI Menu

core/jquery.ui.progressbar

jquery_ui_progressbar/progressbar

jQuery UI Progressbar

core/jquery.ui.resizable

jquery_ui_resizable/resizable

jQuery UI Resizable

core/jquery.ui.selectable

jquery_ui_selectable/selectable

jQuery UI Selectable

core/jquery.ui.selectmenu

jquery_ui_selectmenu/selectmenu

jQuery UI Selectmenu

core/jquery.ui.slider

jquery_ui_slider/slider

jQuery UI Slider

core/jquery.ui.spinner

jquery_ui_spinner/spinner

jQuery UI Spinner

core/jquery.ui.tabs

jquery_ui_tabs/tabs

jQuery UI Tabs

core/jquery.ui.tooltip

jquery_ui_tooltip/tooltip

jQuery UI Tooltip

If composer is used to add these modules, the correct versions and any necessary dependencies will automatically be installed.

If you're not using composer, be aware of the following

Be sure to install the recommended releases for any of the modules mentioned above. This means the core jquery_ui module must be 1.6 or newer, and all other jQuery UI modules must be version 2.0 or newer.

TLDR: install the corresponding contrib module(s) and change the corresponding library name(s), and that's it

You don't need to add any assets or create libraries yourself. The contrib modules take care of everything other than renaming the libraries your code depends on.

Help improve this page

Page status: Needs review

You can: