aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build/build.xml112
-rw-r--r--demos/droppable/index.html1
-rw-r--r--demos/droppable/shopping-cart.html101
-rw-r--r--demos/tabs/cookie.html57
-rw-r--r--demos/tabs/index.html1
-rw-r--r--tests/unit/autocomplete/autocomplete_options.js2
-rw-r--r--tests/unit/draggable/draggable.html3
-rw-r--r--tests/unit/droppable/droppable.html3
-rw-r--r--tests/unit/resizable/resizable.html3
-rw-r--r--tests/unit/selectable/selectable.html3
-rw-r--r--tests/unit/sortable/sortable.html3
-rw-r--r--tests/visual/button/button_performance.html552
-rw-r--r--ui/jquery.ui.widget.js4
13 files changed, 816 insertions, 29 deletions
diff --git a/build/build.xml b/build/build.xml
index 0f4131b0e..cdd5aff11 100644
--- a/build/build.xml
+++ b/build/build.xml
@@ -22,24 +22,26 @@
<property name="release.filename" value="jquery-ui-${release.version}" />
<property name="dist.dir" value="dist/${release.filename}/" />
+ <property name="cdndist.dir" value="dist/${release.filename}-googlecdn" />
<property name="build.dir" value="build" />
<property name="ui.dir" value="../" />
<property name="src.dir" value="${ui.dir}/ui/" />
<property name="theme.dir" value="${ui.dir}/themes/base/" />
<property name="docs.dir" value="${ui.dir}/docs/" />
- <property name="min.folder" value="${dist.dir}/ui/minified" />
+ <property name="min.dir" value="${dist.dir}/ui/minified" />
<property name="concatenated" value="jquery-ui" />
<property name="concatenated.i18n" value="jquery-ui-i18n" />
<property name="core.files" value="jquery.ui.core.js, jquery.ui.widget.js, jquery.ui.mouse.js, jquery.ui.draggable.js, jquery.ui.droppable.js, jquery.ui.resizable.js, jquery.ui.selectable.js, jquery.ui.sortable.js, jquery.effects.core.js" />
+ <property name="core.files.min" value="jquery.ui.core.min.js, jquery.ui.widget.min.js, jquery.ui.mouse.min.js, jquery.ui.draggable.min.js, jquery.ui.droppable.min.js, jquery.ui.resizable.min.js, jquery.ui.selectable.min.js, jquery.ui.sortable.min.js, jquery.effects.core.min.js" />
<property description="Google Closure" name="closure-jar" value="${build.dir}/google-compiler-20091218.jar" />
- <target name="deploy-release" depends="docs-download, concatenate, minify, copy, replace-version, prepend-header, zip" description="Release builder">
+ <target name="deploy-release" depends="clean, docs-download, concatenate, minify, copy, replace-version, prepend-header, zip, googlecdn" description="Release builder">
</target>
-
+
<target name="replace-version">
<replaceregexp match="@VERSION" replace="${release.version}" flags="g" byline="true">
<fileset dir="${dist.dir}/ui/" includes="*.js"/>
@@ -49,7 +51,6 @@
</target>
<target name="prepend-header">
- <!-- TODO: refactor this ugly mess -->
<copy todir="${dist.dir}/headers/">
<fileset dir="${dist.dir}/ui/" includes="*.js" />
</copy>
@@ -57,7 +58,7 @@
<fileset dir="${dist.dir}/headers/" includes="*.js"/>
</replaceregexp>
<for param="file">
- <path><fileset dir="${dist.dir}/ui/minified/" includes="*.js" /></path>
+ <path><fileset dir="${min.dir}/" includes="*.js" /></path>
<sequential>
<propertyregex override="yes" property="target" input="@{file}" regexp=".*[\\/](.+)\.min\.js$" replace="\1"/>
<concat destfile="${dist.dir}/ui-headered/${target}.min.js">
@@ -66,9 +67,33 @@
</concat>
</sequential>
</for>
- <copy todir="${dist.dir}/ui/minified">
+ <copy todir="${min.dir}">
<fileset dir="${dist.dir}/ui-headered/" includes="*.js" />
</copy>
+
+ <!-- once more for the i18n files -->
+ <!-- need to clean up headers in those files first
+ <copy todir="${dist.dir}/headers/i18n/">
+ <fileset dir="${dist.dir}/ui/i18n/" includes="*.js" />
+ </copy>
+ <replaceregexp match="^(\/\*.*?\*\/\s).+" replace="\1" flags="s">
+ <fileset dir="${dist.dir}/headers/i18n/" includes="*.js"/>
+ </replaceregexp>
+ <for param="file">
+ <path><fileset dir="${min.dir}/i18n/" includes="*.js" /></path>
+ <sequential>
+ <propertyregex override="yes" property="target" input="@{file}" regexp=".*[\\/](.+)\.min\.js$" replace="\1"/>
+ <concat destfile="${dist.dir}/ui-headered/i18n/${target}.min.js">
+ <header file="${dist.dir}/headers/i18n/${target}.js" />
+ <fileset file="@{file}" />
+ </concat>
+ </sequential>
+ </for>
+ <copy todir="${min.dir}/i18n/">
+ <fileset dir="${dist.dir}/ui-headered/i18n/" includes="*.js" />
+ </copy>
+ -->
+
<delete dir="${dist.dir}/headers/" />
<delete dir="${dist.dir}/ui-headered/" />
</target>
@@ -108,45 +133,44 @@
<target name="minify" depends="concatenate" description="Remove all comments and whitespace, no compression, great in combination with GZip">
<echo message="Building minified" />
- <delete dir="${min.folder}/" />
- <mkdir dir="${min.folder}" />
- <delete dir="${min.folder}/i18n/" />
- <mkdir dir="${min.folder}/i18n/" />
+ <delete dir="${min.dir}/" />
+ <mkdir dir="${min.dir}" />
+ <delete dir="${min.dir}/i18n/" />
+ <mkdir dir="${min.dir}/i18n/" />
<apply executable="java" parallel="false">
<fileset dir="${src.dir}/" includes="jquery.ui.*.js, jquery.effects.*.js" />
<arg line="-jar" />
- <arg path="build/google-compiler-20091218.jar" />
+ <arg path="${closure-jar}" />
<arg value="--warning_level" />
<arg value="QUIET" />
<arg value="--js_output_file" />
<targetfile />
<arg value="--js" />
- <mapper type="glob" from="*.js" to="${min.folder}/*.min.js" />
+ <mapper type="glob" from="*.js" to="${min.dir}/*.min.js" />
</apply>
+
+ <concat destfile="${min.dir}/${concatenated}.min.js">
+ <filelist dir="${min.dir}" files="${core.files.min}" />
+ <fileset dir="${min.dir}" includes="jquery.ui.*.js, jquery.effects.*.js" excludes="${core.files.min}" />
+ </concat>
- <apply executable="java" parallel="false" verbose="true" dest="${dist.dir}">
- <filelist dir="${dist.dir}/ui/" files="${concatenated}.js" />
+ <apply executable="java" parallel="false">
+ <fileset dir="${src.dir}/i18n/" includes="jquery.ui.*.js" />
<arg line="-jar" />
- <arg path="build/google-compiler-20091218.jar" />
+ <arg path="${closure-jar}" />
<arg value="--warning_level" />
<arg value="QUIET" />
<arg value="--js_output_file" />
<targetfile />
<arg value="--js" />
- <mapper type="glob" from="${concatenated}.js" to="tmpmin" />
+ <mapper type="glob" from="*.js" to="${min.dir}/i18n/*.min.js" />
</apply>
- <concat destfile="${min.folder}/jquery-ui.min.js">
- <filelist files="${src.dir}/jquery.ui.core.js, ${dist.dir}/tmpmin"/>
- <filterchain>
- <headfilter lines="9"/>
- </filterchain>
- </concat>
- <concat destfile="${min.folder}/jquery-ui.min.js" append="yes">
- <filelist files="${dist.dir}/tmpmin"/>
+
+ <concat destfile="${min.dir}/i18n/${concatenated.i18n}.min.js">
+ <fileset dir="${min.dir}/i18n" includes="jquery.ui.*.js" />
</concat>
- <delete file="${dist.dir}/tmpmin"/>
-
+
<echo message="Minified ui/ built." />
</target>
@@ -257,5 +281,41 @@
</replaceregexp>
<echo message="All trailing spaces removed." />
</target>
+
+ <target name="googlecdn">
+ <delete dir="${cdndist.dir}" />
+ <mkdir dir="${cdndist.dir}" />
+ <copy todir="${cdndist.dir}">
+ <fileset dir=".." includes="AUTHORS.txt, GPL-LICENSE.txt, MIT-LICENSE.txt, version.txt" />
+ </copy>
+ <copy todir="${cdndist.dir}">
+ <fileset dir="${dist.dir}ui" includes="jquery-ui.js" />
+ <fileset dir="${dist.dir}ui/minified" includes="jquery-ui.min.js" />
+ </copy>
+ <copy todir="${cdndist.dir}/i18n">
+ <fileset dir="${dist.dir}ui/i18n" />
+ <fileset dir="${dist.dir}ui/minified/i18n" />
+ </copy>
+ <copy todir="${cdndist.dir}/themes">
+ <fileset dir="${dist.dir}themes" />
+ </copy>
+ <checksum>
+ <fileset dir="${cdndist.dir}" />
+ </checksum>
+ <for param="file">
+ <path><fileset dir="${cdndist.dir}" includes="**/" excludes="**/*.MD5" /></path>
+ <sequential>
+ <!-- @{file} is an absolute path, use that ugly regexes to make it relative -->
+ <propertyregex override="yes" property="relativepath" input="@{file}" regexp=".+?googlecdn[\\/](.+)$" replace="\1"/>
+ <propertyregex override="yes" property="relativepath" input="${relativepath}" regexp="\\" replace="/" global="true" />
+ <concat destfile="${cdndist.dir}/MANIFEST" append="yes">${relativepath} </concat>
+ <concat destfile="${cdndist.dir}/MANIFEST" append="yes"><file file="@{file}.MD5" /></concat>
+ </sequential>
+ </for>
+ <delete dir="${cdndist.dir}" includes="**/*.MD5" />
+ <zip destfile="${dist.dir}/../${release.filename}-googlecdn.zip">
+ <zipfileset dir="${cdndist.dir}/" />
+ </zip>
+ </target>
</project>
diff --git a/demos/droppable/index.html b/demos/droppable/index.html
index c2e08eef8..e0c4e6ae2 100644
--- a/demos/droppable/index.html
+++ b/demos/droppable/index.html
@@ -15,6 +15,7 @@
<li><a href="propagation.html">Prevent propagation</a></li>
<li><a href="visual-feedback.html">Visual feedback</a></li>
<li><a href="revert.html">Revert draggable position</a></li>
+ <li><a href="shopping-cart.html">Shopping Cart</a></li>
<li><a href="photo-manager.html">Simple photo manager</a></li>
</ul>
</div>
diff --git a/demos/droppable/shopping-cart.html b/demos/droppable/shopping-cart.html
new file mode 100644
index 000000000..de8ce4fe3
--- /dev/null
+++ b/demos/droppable/shopping-cart.html
@@ -0,0 +1,101 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>jQuery UI Droppable - Shopping Cart Demo</title>
+ <link type="text/css" href="../../themes/base/jquery.ui.all.css" rel="stylesheet" />
+ <script type="text/javascript" src="../../jquery-1.4.2.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.mouse.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.draggable.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.droppable.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.sortable.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.accordion.js"></script>
+ <link type="text/css" href="../demos.css" rel="stylesheet" />
+ <style type="text/css">
+ h1 { padding: .2em; margin: 0; }
+ #products { float:left; width: 500px; margin-right: 2em; }
+ #cart { width: 200px; float: left; }
+ /* style the list to maximize the droppable hitarea */
+ #cart ol { margin: 0; padding: 1em 0 1em 3em; }
+ </style>
+ <script type="text/javascript">
+ $(function() {
+ $("#catalog").accordion();
+ $("#catalog li").draggable({
+ appendTo: "body",
+ helper: "clone"
+ });
+ $("#cart ol").droppable({
+ activeClass: "ui-state-default",
+ hoverClass: "ui-state-hover",
+ accept: ":not(.ui-sortable-helper)",
+ drop: function(event, ui) {
+ $(this).find(".placeholder").remove();
+ $("<li></li>").text(ui.draggable.text()).appendTo(this);
+ }
+ }).sortable({
+ items: "li:not(.placeholder)",
+ sort: function() {
+ // gets added unintentionally by droppable interacting with sortable
+ // using connectWithSortable fixes this, but doesn't allow you to customize active/hoverClass options
+ $(this).removeClass("ui-state-default");
+ }
+ });
+
+ });
+ </script>
+</head>
+<body>
+<div class="demo">
+
+<div id="products">
+ <h1 class="ui-widget-header">Products</h1>
+ <div id="catalog">
+ <h3><a href="#">T-Shirts</a></h3>
+ <div>
+ <ul>
+ <li>Lolcat Shirt</li>
+ <li>Cheezeburger Shirt</li>
+ <li>Buckit Shirt</li>
+ </ul>
+ </div>
+ <h3><a href="#">Bags</a></h3>
+ <div>
+ <ul>
+ <li>Zebra Striped</li>
+ <li>Black Leather</li>
+ <li>Alligator Leather</li>
+ </ul>
+ </div>
+ <h3><a href="#">Gadgets</a></h3>
+ <div>
+ <ul>
+ <li>iPhone</li>
+ <li>iPod</li>
+ <li>iPad</li>
+ </ul>
+ </div>
+ </div>
+</div>
+
+<div id="cart">
+ <h1 class="ui-widget-header">Shopping Cart</h1>
+ <div class="ui-widget-content">
+ <ol>
+ <li class="placeholder">Add your items here</li>
+ </ol>
+ </div>
+</div>
+
+</div><!-- End demo -->
+
+<div class="demo-description">
+
+<p>Demonstrate how to use an accordion to structure products into a catalog and make use drag and drop for adding
+them to a shopping cart, where they are sortable.</p>
+
+</div><!-- End demo-description -->
+</body>
+</html>
diff --git a/demos/tabs/cookie.html b/demos/tabs/cookie.html
new file mode 100644
index 000000000..638ee37f2
--- /dev/null
+++ b/demos/tabs/cookie.html
@@ -0,0 +1,57 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>jQuery UI Tabs - Default functionality</title>
+ <link type="text/css" href="../../themes/base/jquery.ui.all.css" rel="stylesheet" />
+ <script type="text/javascript" src="../../jquery-1.4.2.js"></script>
+ <script type="text/javascript" src="../../external/jquery.cookie.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
+ <script type="text/javascript" src="../../ui/jquery.ui.tabs.js"></script>
+ <link type="text/css" href="../demos.css" rel="stylesheet" />
+ <script type="text/javascript">
+ $(function() {
+ $("#tabs").tabs({
+ cookie: {
+ // store cookie for a day, without, it would be a session cookie
+ expires: 1
+ }
+ });
+ });
+ </script>
+</head>
+<body>
+
+<div class="demo">
+
+<div id="tabs">
+ <ul>
+ <li><a href="#tabs-1">Nunc tincidunt</a></li>
+ <li><a href="#tabs-2">Proin dolor</a></li>
+ <li><a href="#tabs-3">Aenean lacinia</a></li>
+ </ul>
+ <div id="tabs-1">
+ <p>Proin elit arcu, rutrum commodo, vehicula tempus, commodo a, risus. Curabitur nec arcu. Donec sollicitudin mi sit amet mauris. Nam elementum quam ullamcorper ante. Etiam aliquet massa et lorem. Mauris dapibus lacus auctor risus. Aenean tempor ullamcorper leo. Vivamus sed magna quis ligula eleifend adipiscing. Duis orci. Aliquam sodales tortor vitae ipsum. Aliquam nulla. Duis aliquam molestie erat. Ut et mauris vel pede varius sollicitudin. Sed ut dolor nec orci tincidunt interdum. Phasellus ipsum. Nunc tristique tempus lectus.</p>
+ </div>
+ <div id="tabs-2">
+ <p>Morbi tincidunt, dui sit amet facilisis feugiat, odio metus gravida ante, ut pharetra massa metus id nunc. Duis scelerisque molestie turpis. Sed fringilla, massa eget luctus malesuada, metus eros molestie lectus, ut tempus eros massa ut dolor. Aenean aliquet fringilla sem. Suspendisse sed ligula in ligula suscipit aliquam. Praesent in eros vestibulum mi adipiscing adipiscing. Morbi facilisis. Curabitur ornare consequat nunc. Aenean vel metus. Ut posuere viverra nulla. Aliquam erat volutpat. Pellentesque convallis. Maecenas feugiat, tellus pellentesque pretium posuere, felis lorem euismod felis, eu ornare leo nisi vel felis. Mauris consectetur tortor et purus.</p>
+ </div>
+ <div id="tabs-3">
+ <p>Mauris eleifend est et turpis. Duis id erat. Suspendisse potenti. Aliquam vulputate, pede vel vehicula accumsan, mi neque rutrum erat, eu congue orci lorem eget lorem. Vestibulum non ante. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Fusce sodales. Quisque eu urna vel enim commodo pellentesque. Praesent eu risus hendrerit ligula tempus pretium. Curabitur lorem enim, pretium nec, feugiat nec, luctus a, lacus.</p>
+ <p>Duis cursus. Maecenas ligula eros, blandit nec, pharetra at, semper at, magna. Nullam ac lacus. Nulla facilisi. Praesent viverra justo vitae neque. Praesent blandit adipiscing velit. Suspendisse potenti. Donec mattis, pede vel pharetra blandit, magna ligula faucibus eros, id euismod lacus dolor eget odio. Nam scelerisque. Donec non libero sed nulla mattis commodo. Ut sagittis. Donec nisi lectus, feugiat porttitor, tempor ac, tempor vitae, pede. Aenean vehicula velit eu tellus interdum rutrum. Maecenas commodo. Pellentesque nec elit. Fusce in lacus. Vivamus a libero vitae lectus hendrerit hendrerit.</p>
+ </div>
+</div>
+
+</div><!-- End demo -->
+
+<div class="demo-description">
+
+<p>Looks the same as the default demo, but uses cookie to store the selected tab, and restore it when the page (re)loads.
+
+The cookie is stored for a day, so tabs will be restored even after closing the browser. Use cookie: {} for using cookies with default options.</p>
+
+</div><!-- End demo-description -->
+
+</body>
+</html>
diff --git a/demos/tabs/index.html b/demos/tabs/index.html
index 48b3636c3..8fc417a4f 100644
--- a/demos/tabs/index.html
+++ b/demos/tabs/index.html
@@ -17,6 +17,7 @@
<li><a href="sortable.html">Sortable</a></li>
<li><a href="manipulation.html">Simple manipulation</a></li>
<li><a href="bottom.html">Tabs below content</a></li>
+ <li><a href="cookie.html">Cookie persistence</a></li>
</ul>
</div>
diff --git a/tests/unit/autocomplete/autocomplete_options.js b/tests/unit/autocomplete/autocomplete_options.js
index 6639e9014..c5aa7c961 100644
--- a/tests/unit/autocomplete/autocomplete_options.js
+++ b/tests/unit/autocomplete/autocomplete_options.js
@@ -120,7 +120,7 @@ function source_test(source, async) {
}
if (async) {
stop();
- setTimeout(result, 100);
+ $(document).one("ajaxStop", result);
} else {
result();
}
diff --git a/tests/unit/draggable/draggable.html b/tests/unit/draggable/draggable.html
index a48f3c092..308951c0c 100644
--- a/tests/unit/draggable/draggable.html
+++ b/tests/unit/draggable/draggable.html
@@ -15,12 +15,15 @@
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
+ <!--
<script type="text/javascript" src="draggable_core.js"></script>
<script type="text/javascript" src="draggable_defaults.js"></script>
<script type="text/javascript" src="draggable_events.js"></script>
<script type="text/javascript" src="draggable_methods.js"></script>
<script type="text/javascript" src="draggable_options.js"></script>
<script type="text/javascript" src="draggable_tickets.js"></script>
+ -->
+ <script type="text/javascript">test("disabled", function() { ok(true, "disabled draggable testsuite"); });</script>
</head>
<body>
diff --git a/tests/unit/droppable/droppable.html b/tests/unit/droppable/droppable.html
index 9f2c14a1d..648afbbaa 100644
--- a/tests/unit/droppable/droppable.html
+++ b/tests/unit/droppable/droppable.html
@@ -16,12 +16,15 @@
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
+ <!--
<script type="text/javascript" src="droppable_core.js"></script>
<script type="text/javascript" src="droppable_defaults.js"></script>
<script type="text/javascript" src="droppable_events.js"></script>
<script type="text/javascript" src="droppable_methods.js"></script>
<script type="text/javascript" src="droppable_options.js"></script>
<script type="text/javascript" src="droppable_tickets.js"></script>
+ -->
+ <script type="text/javascript">test("disabled", function() { ok(true, "disabled droppable testsuite"); });</script>
</head>
<body>
diff --git a/tests/unit/resizable/resizable.html b/tests/unit/resizable/resizable.html
index fe100d2aa..2aba18d6e 100644
--- a/tests/unit/resizable/resizable.html
+++ b/tests/unit/resizable/resizable.html
@@ -17,12 +17,15 @@
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
+ <!--
<script type="text/javascript" src="resizable_core.js"></script>
<script type="text/javascript" src="resizable_defaults.js"></script>
<script type="text/javascript" src="resizable_events.js"></script>
<script type="text/javascript" src="resizable_methods.js"></script>
<script type="text/javascript" src="resizable_options.js"></script>
<script type="text/javascript" src="resizable_tickets.js"></script>
+ -->
+ <script type="text/javascript">test("disabled", function() { ok(true, "disabled resizable testsuite"); });</script>
</head>
<body>
diff --git a/tests/unit/selectable/selectable.html b/tests/unit/selectable/selectable.html
index 74a10584a..b5ac76391 100644
--- a/tests/unit/selectable/selectable.html
+++ b/tests/unit/selectable/selectable.html
@@ -15,12 +15,15 @@
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
+ <!--
<script type="text/javascript" src="selectable_core.js"></script>
<script type="text/javascript" src="selectable_defaults.js"></script>
<script type="text/javascript" src="selectable_events.js"></script>
<script type="text/javascript" src="selectable_methods.js"></script>
<script type="text/javascript" src="selectable_options.js"></script>
<script type="text/javascript" src="selectable_tickets.js"></script>
+ -->
+ <script type="text/javascript">test("disabled", function() { ok(true, "disabled selectable testsuite"); });</script>
</head>
<body>
diff --git a/tests/unit/sortable/sortable.html b/tests/unit/sortable/sortable.html
index 2a50f85a1..8d53bfd7f 100644
--- a/tests/unit/sortable/sortable.html
+++ b/tests/unit/sortable/sortable.html
@@ -15,12 +15,15 @@
<script type="text/javascript" src="../../jquery.simulate.js"></script>
<script type="text/javascript" src="../testsuite.js"></script>
+ <!--
<script type="text/javascript" src="sortable_core.js"></script>
<script type="text/javascript" src="sortable_defaults.js"></script>
<script type="text/javascript" src="sortable_events.js"></script>
<script type="text/javascript" src="sortable_methods.js"></script>
<script type="text/javascript" src="sortable_options.js"></script>
<script type="text/javascript" src="sortable_tickets.js"></script>
+ -->
+ <script type="text/javascript">test("disabled", function() { ok(true, "disabled sortable testsuite"); });</script>
</head>
<body>
diff --git a/tests/visual/button/button_performance.html b/tests/visual/button/button_performance.html
new file mode 100644
index 000000000..2d31c2f27
--- /dev/null
+++ b/tests/visual/button/button_performance.html
@@ -0,0 +1,552 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+ <meta charset="UTF-8" />
+ <title>Button Visual push: Default</title>
+ <link rel="stylesheet" href="../visual.css" type="text/css" />
+ <link rel="stylesheet" href="../../../themes/base/jquery.ui.all.css" type="text/css">
+ <style type="text/css">
+ #toolbar { margin-top: 2em; padding:0.2em; }
+ #ops1, #ops2, #format, #mode { margin-right: 1em }
+ </style>
+ <script type="text/javascript" src="../../../jquery-1.4.2.js"></script>
+ <script type="text/javascript" src="../../../external/jquery.metadata.js"></script>
+ <script type="text/javascript" src="../../../ui/jquery.ui.core.js"></script>
+ <script type="text/javascript" src="../../../ui/jquery.ui.widget.js"></script>
+ <script type="text/javascript" src="../../../ui/jquery.ui.button.js"></script>
+ <script type="text/javascript">
+ $(function() {
+ $("button").button();
+ });
+ </script>
+</head>
+<body>
+
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+<button>Simple button, only text</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'},text:false}}">Button with icon only</button>
+<button class="{button:{icons:{primary:'ui-icon-locked'}}}">Button with icon on the left</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'}}}">Button with two icons</button>
+<button class="{button:{icons:{primary:'ui-icon-gear',secondary:'ui-icon-triangle-1-s'},text:false}}">Button with two icons</button>
+
+</body>
+</html>
diff --git a/ui/jquery.ui.widget.js b/ui/jquery.ui.widget.js
index 49067449d..a9829d2e5 100644
--- a/ui/jquery.ui.widget.js
+++ b/ui/jquery.ui.widget.js
@@ -155,7 +155,7 @@ $.Widget.prototype = {
.removeAttr( "aria-disabled" )
.removeClass(
this.widgetBaseClass + "-disabled " +
- this.namespace + "-state-disabled" );
+ "ui-state-disabled" );
},
widget: function() {
@@ -192,7 +192,7 @@ $.Widget.prototype = {
this.widget()
[ value ? "addClass" : "removeClass"](
this.widgetBaseClass + "-disabled" + " " +
- this.namespace + "-state-disabled" )
+ "ui-state-disabled" )
.attr( "aria-disabled", value );
}