diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 00000000..aa2f7456
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,13 @@
+version: 2
+updates:
+ - package-ecosystem: github-actions
+ directory: "/"
+ schedule:
+ interval: monthly
+
+ # Group all dependabot version update PRs into one
+ groups:
+ github-actions:
+ applies-to: version-updates
+ patterns:
+ - "*"
diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml
new file mode 100644
index 00000000..e9d2fe6c
--- /dev/null
+++ b/.github/workflows/node.js.yml
@@ -0,0 +1,30 @@
+# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-nodejs
+
+name: Node.js CI
+
+on:
+ pull_request:
+ push:
+ branches-ignore: "dependabot/**"
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ node-version: [18.x, 20.x]
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
+ - name: Install xmllint
+ run: sudo apt-get install -y libxml2-utils
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
+ with:
+ node-version: ${{ matrix.node-version }}
+ cache: 'npm'
+ - run: npm ci
+ - run: npm test
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 00000000..3c032078
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+18
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 86929762..00000000
--- a/.travis.yml
+++ /dev/null
@@ -1,5 +0,0 @@
-language: node_js
-node_js:
- - "0.12"
-before_script:
- - npm install -g grunt-cli
diff --git a/categories.xml b/categories.xml
index 4b291c01..3869a7a1 100644
--- a/categories.xml
+++ b/categories.xml
@@ -2,7 +2,7 @@
The specified class name(s) will be added to the dialog, for additional theming. The Specifies the heading level that wraps the title of the dialog. For a value between Make the selected elements draggable by mouse. If you want not just drag, but drag & drop, see the jQuery UI Droppable plugin, which provides a drop target for draggables. The jQuery UI Droppable plugin makes selected elements droppable (meaning they accept being dropped on by draggables). You can specify which draggables each will accept. If specified, the class will be added to the droppable while an acceptable draggable is being dragged. The If specified, the class will be added to the droppable while an acceptable draggable is being hovered over the droppable. The This method is useful for mimicking a clip animation when using a placeholder for effects. Given a clip animation, Many effects require animating the Defines a new effect for use with Removes the placeholder for an element. This method is safe to call even if Restores all inline styles for an element which have been saved using Stores a copy of the current inline styles applied to the element, which can be reapplied to the element later using When using This method scales the dimensions of an element, returning an object containing We can pass as many or as few options as we want during initialization. Any options that we don't pass will just use their default values. You can pass multiple options arguments. Those arguments will be merged into one object (similar to You can pass multiple options arguments. Those arguments will be merged into one object (similar to The instance is stored using The instance is stored using Unlike You can also use Additional (thematic) classes to add to the widget, in addition to the structural classes. The structural classes are used as keys of this option and the thematic classes are the values. See the The primary motivation of this option is to map structural classes to theme classes. In other words, any class prefixed with namespace and widget, like Setting the This provides a hook for the user to add additional classes or replace default styling classes, through the It also provides automatic removal of these classes when a widget is destroyed, as long as you're using When you only need the The arguments are the same as for the When you only need the The arguments are the same as for the Unlike jQuery's When you only need the Indicates whether to add or remove the specified classes, where a boolean This can be used to find all the This methods mimics the native A menu can be created from any valid markup as long as the elements have a strict parent/child relationship. The most commonly used element is the unordered list ( A menu can be created from any valid markup as long as the elements have a strict parent/child relationship. The most commonly used element is the unordered list ( Menu automatically adds the necessary padding to items without icons. Divider elements can be created by including unlinked menu items that contain only spaces and/or dashes: Divider elements can be created by including menu items that contain only spaces and/or dashes: This is a standalone jQuery plugin and has no dependencies on other jQuery UI components. Method that controls the creation of the generated button content. The method must create and return a new element. The This method assumes that elements with nested z-indexes would not have a z-index of This is equivalent to Specify additional classes to add to the widget's elements. Any of classes specified in the Theming section can be used as keys to override their value. To learn more about this option, check out the learn article about the The The The best way to understand how an easing will affect an animation is to see the equation graphed over time. See below for a graph of all animations available in jQuery UI. The following is a full list of the icons provided:ui-accordion: The outer container of the accordion.
-
ui-accordion-header: The headers of the accordion. The headers will additionally have a ui-accordion-icons class if they contain icons.ui-accordion-content: The content panels of the accordion.ui-accordion-header: The headers of the accordion. The active header will additionally have a ui-accordion-header-active class, the inactive headers will have a ui-accordion-header-collapsed class. The headers will also have a ui-accordion-icons class if they contain icons.
+
+
+ ui-accordion-header-icon: Icon elements within each accordion header.ui-accordion-content: The content panels of the accordion. The active content panel will additionally have a ui-accordion-content-active class.prevText and nextText options should be parsed as dates by the function, allowing them to display the target month names for example.formatDatecurrentText, prevText and nextText options should be parsed as dates by the function, allowing them to display the target month names for example.formatDatethis refers to the associated input field.this refers to the associated input field.
ui-dialog: The outer container of the dialog.
+ ui-dialog: The outer container of the dialog. If the draggable option is set, the ui-dialog-dragging class is added during a drag. If the resizable option is set, the ui-dialog-resizing class is added during a resize. If the buttons option is set, the ui-dialog-buttons class is added.
diff --git a/pages/theming/icons.html b/pages/theming/icons.html
index 9d86f730..508da425 100644
--- a/pages/theming/icons.html
+++ b/pages/theming/icons.html
@@ -16,4 +16,4 @@
ui-dialog-titlebar: The title bar containing the dialog's title and close button.
@@ -105,9 +105,7 @@
icons can be used to control button's icons option, and a key of showText can be used to control button's text option.icon can be used to control button's icon option, and a key of showText can be used to control button's text option.dialogClass option has been deprecated in favor of the classes option, using the ui-dialog property.null, the title attribute on the dialog source element will be used.1 to 6, h1 to h6 is returned. Any other value, including the default 0, uses a span instead.
+
+
ui-draggable: The draggable element. When the draggable is disabled, the ui-draggable-disabled class is added. While dragging, the ui-draggable-dragging class is added.ui-draggable-handle: The handle of the draggable, specified using the handle option. By default, the draggable element itself is also the handle.Dependencies
helper option must be set to "clone" in order to work flawlessly. Requires the jQuery UI Sortable plugin to be included.{ top, left, right, bottom }."clone", then the element will be cloned and the clone will be dragged.
+
+
ui-droppable: The droppable element. When a draggable that can be dropped on this dropppable is activated, the ui-droppable-active class is added. When dragging a draggable over this droppable, the ui-droppable-hover class is added.Dependencies
true if the draggable should be accepted.activeClass option has been deprecated in favor of the classes option, using the ui-droppable-active property.false, will prevent the ui-droppable class from being added. This may be desired as a performance optimization when calling .droppable() init on hundreds of elements.true, any parent droppables will not receive the element. The drop event will still bubble normally, but the event.target can be checked to see which droppable received the draggable element.hoverClass option has been deprecated in favor of the classes option, using the ui-droppable-hover property.accept option. A draggable with the same scope value as a droppable will be accepted.refresh() on an input widget when the parent form gets reset.<input>. It doesn't work for other elements like <label> or <div>
+ this._bindFormResetHandler() inside _create() to initialize the mixin.
+
+ this._unbindFormResetHandler() inside _destroy() to destroy the mixin.
+
+
+ .animate(). The animationProperties must contain a clip property.jQuery.effects.clipToBox() will generate an object containing top, left, width, and height properties which can be passed to .css() or .animate(). This method is generally used in conjunction with jQuery.effects.createPlaceholder().clip animations without disrupting the layout.clip CSS property. In order to apply clipping, the element must be absolutely positioned. As a result, if an animation that utilizes clipping is applied to an element with static or relative positioning, the layout of the page will be affected when the animated element is removed from the flow. To compensate for this, a placeholder element with the same size and position can be inserted into the document.jQuery.effects.createPlaceholder() will create a placeholder with the same display, position, dimensions, and margins as the original element. The placeholder is inserted into the DOM as the next sibling of the original element. When the animation is complete, jQuery.effects.removePlaceholder() should be used to remove the inserted element.undefined."show", "hide", or "toggle".options argument contains duration and mode properties, as well as any effect-specific options..effect(), .show(), .hide(), and .toggle(). The effect method is invoked with this being a single DOM element. The done argument must be invoked when the animation is complete.jQuery.effects.define() stores the new effect in jQuery.effects.effect[ name ] and returns the function that was provided as the effect parameter.
+ jQuery.effects.createPlaceholder().jQuery.effects.createPlaceholder() did not create a placeholder.jQuery.effects.saveStyle().jQuery.effects.restoreStyle(). This is useful when animating various styles and restoring the existing styles at the end.jQuery.effects.define() to create an effect, if jQuery.effects.saveStyle() is used on the main element being animated, the styles will be restored automatically when the animation is complete."horizontal" or "vertical". If direction is omitted, both dimensions will be scaled.height, width, outerHeight, and outerWidth properties. The element is not actually modified.$.extend( true, target, object1, objectN )). This is useful for sharing options between instances, while overriding some properties for each one:$.extend( true, target, object1, objectN )). This is useful for sharing options between instances, while overriding some properties for each one:
-
var options = { modal: true, show: "slow" };
@@ -121,24 +121,24 @@
$( "#not-a-progressbar" ).progressbar( "instance" ); // undefined
jQuery.data() with the widget's full name as the key. Therefore, the :data selector can also determine whether an element has a given widget bound to it.jQuery.data() with the widget's full name as the key. Therefore, the :data selector can also determine whether an element has a given widget bound to it.
- $( "#elem" ).is( ":data( 'ui-progressbar' )" ); // true
- $( "#elem" ).is( ":data( 'ui-draggable' )" ); // false
+ $( "#elem" ).is( ":data('ui-progressbar')" ); // true
+ $( "#elem" ).is( ":data('ui-draggable')" ); // false
instance(), :data can be used even if the widget being tested for has not loaded.
$( "#elem" ).nonExistentWidget( "instance" ); // TypeError
- $( "#elem" ).is( ":data( 'ui-nonExistentWidget' )" ); // false
+ $( "#elem" ).is( ":data('ui-nonExistentWidget')" ); // false
:data to get a list of all elements that are instances of a given widget.
- $( ":data( 'ui-progressbar' )" );
+ $( ":data('ui-progressbar')" );
Properties
@@ -192,6 +192,38 @@
_addClass() method for using this in custom widgets. Check out the documentation of individual widgets to see which classes they support."ui-progressbar-", is considered a structural class. These are always added to the widget. In contrast to that, any class not specific to the widget is considered a theme class. These could be part of jQuery UI's CSS framework, but can also come from other CSS frameworks or be defined in custom stylesheets.classes option after creation will override all default properties. To only change specific values, use deep setters, e.g. .option( "classes.ui-progressbar-value", null ).classes option specified, changing the theming for the ui-progressbar class:
+$( ".selector" ).progressbar({
+ classes: {
+ "ui-progressbar": "highlight"
+ }
+});
+
+ classes option, after initialization:
+// Getter
+var classes = $( ".selector" ).widget( "option", "classes" );
+
+// Setter, override all classes
+$( ".selector" ).widget( "option", "classes", { "custom-header": "icon-warning" } );
+
+// Setter, override just one class
+$( ".selector" ).widget( "option", "classes.custom-header", "icon-warning" );
+
+ classes option._addClass(), _removeClass() and _toggleClass() together. This can heavily simplify the implementation of custom _destroy() methods.this.element.classes option matches a key, the value will be added as well.
+ extra argument, you can skip this argument by specifying null.keys argument, these aren't associated with any properties of the classes option. Just like keys, they will also be automatically removed when destroying the widget.ui-progressbar class to the widget's element (this.element). Will also add any additional classes specified through the classes option for the given class.
+ demo-popup-header class to the specified element (here referencing this.popup). Will also add any additional classes specified through the classes option for the given class. In addition, it will always add the ui-front class.
+ ui-helper-hidden-accessible class to the specified element. Uses null for the keys argument to skip it.
+ _addClass() method, the same semantics apply, just in reverse.this.element.classes option matches a key, the value will be removed as well.
+ extra argument, you can skip this argument by specifying null.keys argument, these aren't associated with any properties of the classes option.ui-progressbar class from the widget's element (this.element). Will also remove any additional classes specified through the classes option for the given class.
+ demo-popup-header class from the specified element (here referencing this.popup). Will also remove any additional classes specified through the classes option for the given class. In addition, it will also remove the ui-front class.
+ ui-helper-hidden-accessible class from the specified element. Uses null for the keys argument to skip it.
+ _addClass() and _removeClass() methods, except for the additional boolean argument that specifies to add or remove classes..toggleClass() method, the boolean add argument is always required.this.element.classes option matches a key, the value will be toggled as well.
+ extra argument, you can skip this argument by specifying null.keys argument, these aren't associated with any properties of the classes option. Just like keys, they will also be automatically removed when destroying the widget.true indicates that classes should be added, a boolean false indicates that classes should be removed.ui-state-disabled class on the widget's element (this.element).
+ _create() method is the widget's constructor.
diff --git a/entries/labels.xml b/entries/labels.xml
new file mode 100644
index 00000000..bc7efd5f
--- /dev/null
+++ b/entries/labels.xml
@@ -0,0 +1,29 @@
+
+<label> elements associated with an <input> element. The association can be through nesting, where the label is an ancestor of the input, or through the for attribute on the label, pointing at the id attribute of the input. If no labels are associated with the given element, an empty jQuery object is returned.labels property, which isn't supported in all browsers. In addition, this method also works for document fragments.
+
+ <ul>):<ul>). Additionally, the contents of each menu item must be wrapped with a block-level DOM element. In the example below <div> elements are used as wrappers:
@@ -35,20 +48,26 @@
Dividers
-
@@ -71,12 +90,17 @@
ui-menu: The outer container of the menu. This element will additionally have a ui-menu-icons class if the menu contains icons.
+ ui-menu: The outer container of the menu, as well as any nested submenu. This top-level element will additionally have a ui-menu-icons class if the menu contains icons.
ui-menu-item: The container for individual menu items.
+ ui-menu-item: The container for individual menu items. This contains the element for the item's text itself as well as the element for submenus.
ui-menu-divider: Divider elements between menu items.
-
focus event.
+ Activates the given menu item and triggers the menu's focus event. Opens the menu item's sub-menu, if one exists.
"right" will be normalized to "right center", "top" will be normalized to "center top" (following CSS convention). Acceptable horizontal values: "left", "center", "right". Acceptable vertical values: "top", "center", "bottom". Example: "left top" or "center center". Each dimension can also contain offsets, in pixels or percent, e.g., "right+10 top-25%". Percentage offsets are relative to the element being positioned.<option> element.<optgroup>, this is set to that <optgroup>'s label.value attribute of the item's original <option>.
+
+
+ .zIndex() method is useful for finding the z-index of an element, regardless of whether the z-index is set directly on the element or on one of its ancestors. In order to determine the z-index, this method will start at the specified element and walk up the DOM until it finds an element that is positioned and has a z-index set. If no such element is found, then the method will return a value of 0.0. For example, given the following DOM the inner element will be treated as if it does not have a z-index set because it is impossible to differentiate between an explicit value of 0 and no value in Internet Explorer.
-
- <div style="z-index: -10;">
- <div style="z-index: 0;"></div>
- </div>
- .css( "zIndex", zIndex ).false, the animation will begin immediately. A string can also be provided, in which case the animation is added to the queue represented by that string.false, the animation will begin immediately. A string can also be provided, in which case the animation is added to the queue represented by that string.classes option.classes option specified, changing the theming for the ui- class:
+$( ".selector" ).
+ classes option, after initialization, here reading and changing the theming for the ui- class:
+// Getter
+var themeClass = $( ".selector" ).
+ Theming
- classes option:Overlay & Shadow
.ui-widget-overlay: Applies 100% width & height dimensions to an overlay screen, along with background color/texture, and screen opacity.
.ui-widget-shadow: Class to be applied to overlay widget shadow elements. Applies background color/texture, custom corner radius, opacity, top/left offsets and shadow "thickness". Thickness is applied via padding to all sides of a shadow that is set to match the dimensions of the overlay element. Offsets are applied via top and left margins (can be positive or negative).
+ .ui-widget-shadow: Class to be applied to overlay widget shadow elements. Sets box-shadow x & y offset, blur radius and color.