In September 2009, Yahoo! released YUI 3, a new version of YUI rebuilt from the ground up to modernize the library and incorporate lessons learned from YUI 2. Among the enhancements are a CSS selector driven engine, like jQuery, for retrieving DOM elements, a greater emphasis on granularity of modules, a smaller seed file that loads other modules when necessary, and a variety of syntactic changes intended to make writing code faster and easier.
The YUI Library project at Yahoo! was founded by Thomas Sha and sponsored internally by Yahoo! co-founder Jerry Yang; its principal architects have been Sha, Adam Moore, and Matt Sweeney. The library's developers maintain the YUIBlog; the YUI community discusses the library and implementations in its community forum.
The YUI Library is fully documented on its website; detailed API documentation accompanies the library download. It has six types of components: YUI core, utilities, UI controls, CSS components, developer tools, and build tools.
Drag and drop
The YUI Drag and Drop Utility makes it easy to make elements "draggable" and to create drop targets that respond to drag events.
Provides a wrapper for HTML elements in the DOM and makes simpler common tasks such as adding listeners, manipulating the DOM, and setting and getting attributes.
The Get Utility supports the asynchronous loading of data and scripts through script nodes and the dynamic loading of external CSS files.
YUI's ImageLoader allows you to defer the loading of images that are not visible in the viewport at the time the page loads. This can result in big performance boosts.
Allows you to make any block-level HTML element resizable.
The YUI Selector Utility allows you to grab references to HTML elements via CSS3 selector syntax.
YUI Loader is a client-side loader engine that can dynamically load any YUI component (and dependencies) on the fly.
Provides autocomplete feature (suggestion lists and type-ahead functionality) for user interactions involving text-entry. It supports a variety of data-source formats. It also supports server-side data-sources via XMLHttpRequest.
Enables the creation of rich, graphical buttons that function like traditional HTML form buttons.
A graphical, dynamic control used for date selection.
The Charts Control retrieves data via the DataSource Utility and displays the data in a variety of common chart formats (line, bar, pie, etc.).
The Color Picker Control provides a rich visual interface for color selection.
Supports a variety of DHTML windowing patterns including Tooltip, Panel, Dialog, SimpleDialog, Module and Overlay.
Simple yet powerful API to display screen-reader accessible tabular data on a web page. Notable features include sortable columns, pagination, scrolling, row selection, resizeable columns, and inline editing.
ImageCropper provides the UI and interactive elements for a client-side image cropper.
Allows you to create cross-browser, pixel perfect layouts with little effort by providing a fixed layout containing, top, bottom, left, right and center layout units.
Provides an easy API for creating fly-out menus, menu bars, and context menus.
Rich Text Editor
The YUI Rich Text Editor is a sophisticated client-side text-processor that is modular and highly configurable, suitable for any open-ended text-entry situation.
Provides a generic slider element that enables the user to choose within a finite range of values on one or two axes.
Provides navigable tabbed views of content; supports dynamic loading of tab content via XMLHttpRequest.
Produces a content tree whose nodes can be expanded and contracted.
Allows for multi-file file upload with feedback on upload progress.
Used in combination with Profiler to provide rich visualizations of your profiling data — both graphically (using the Charts Control) and in tabular format (using DataTable).