Upgrade to ExtJS 4.0.2 - Released 06/09/2011
[extjs.git] / resources / themes / stylesheets / ext4 / default / widgets / _button.scss
index ac138fc..7d14feb 100644 (file)
     
     .#{$prefix}btn-disabled span {
         @include opacity(.5);
+
+        .#{$prefix}ie6 &,
+        .#{$prefix}ie7 & {
+            filter:none;
+        }
     }
     
-    //remove the opacity rule of IE6.
-    .#{$prefix}ie6 .#{$prefix}btn-disabled,
-    .#{$prefix}ie6 .#{$prefix}btn-disabled span,
-    .#{$prefix}ie7 .#{$prefix}btn-disabled span {
+    //remove the opacity rule of IE8
+    .#{$prefix}ie7 .#{$prefix}btn-disabled,
+    .#{$prefix}ie8 .#{$prefix}btn-disabled {
         filter:none;
     }
+
+    .#{$prefix}ie6 .#{$prefix}btn-disabled,
+    .#{$prefix}ie7 .#{$prefix}btn-disabled,
+    .#{$prefix}ie8 .#{$prefix}btn-disabled {
+        .#{$prefix}btn-icon {
+            @include opacity(.6);
+        }
+    }
     
     @if $include-ie {
         * html .#{$prefix}ie {
         }    
     }
 
-    .#{$prefix}btn-icon-text-right .#{$prefix}btn-inner {
+    .#{$prefix}btn-icon-text-left .#{$prefix}btn-icon {
+        background-position: left center;
+    }
+
+    .#{$prefix}btn-icon-text-right .#{$prefix}btn-icon {
         background-position: right center;
     }
 
-    .#{$prefix}btn-icon-text-top .#{$prefix}btn-inner {
+    .#{$prefix}btn-icon-text-top .#{$prefix}btn-icon {
         background-position: center top;
     }
 
-    .#{$prefix}btn-icon-text-bottom .#{$prefix}btn-inner {
+    .#{$prefix}btn-icon-text-bottom .#{$prefix}btn-icon {
         background-position: center bottom;
     }
+
+    .#{$prefix}btn {
+        button, a {
+            position: relative;
+
+            .#{$prefix}btn-icon {
+                position: absolute;
+                background-repeat: no-repeat;
+            }
+        }
+    }
   
     .#{$prefix}btn-arrow-right {
         background: transparent no-repeat right center;
     }
 
     .#{$prefix}btn-arrow {
-        background-image: theme-image($theme-name, 'button/arrow.gif');    
+        @include theme-background-image($theme-name, 'button/arrow.gif');    
         display: block;
     }
 
     //split buttons
     .#{$prefix}btn-split-right,
     .#{$prefix}btn-over .#{$prefix}btn-split-right {
-        background: transparent theme-image($theme-name, 'button/s-arrow.gif') no-repeat right center;
+        background: transparent no-repeat right center;
+        @include theme-background-image($theme-name, 'button/s-arrow.gif');
         padding-right: $button-split-size !important;
     }
   
     .#{$prefix}btn-split-bottom,
     .#{$prefix}btn-over .#{$prefix}btn-split-bottom {
-        background: transparent theme-image($theme-name, 'button/s-arrow-b.gif') no-repeat center bottom;
+        background: transparent no-repeat center bottom;
+        @include theme-background-image($theme-name, 'button/s-arrow-b.gif');
         padding-bottom: $button-split-size;
     }
     
     .#{$prefix}toolbar .#{$prefix}btn-split-right {
-        background-image: theme-image($theme-name, 'button/s-arrow-noline.gif');
+        @include theme-background-image($theme-name, 'button/s-arrow-noline.gif');
         padding-right: $button-toolbar-split-size !important;
     }
     
     .#{$prefix}toolbar .#{$prefix}btn-split-bottom {
-        background-image: theme-image($theme-name, 'button/s-arrow-b-noline.gif');
+        @include theme-background-image($theme-name, 'button/s-arrow-b-noline.gif');
     }
   
     .#{$prefix}btn-split {
         text-align: inherit;
     }
 
-    .#{$prefix}btn-over .#{$prefix}btn-split-right { background-image: theme-image($theme-name, 'button/s-arrow-o.gif'); }
-    .#{$prefix}btn-over .#{$prefix}btn-split-bottom { background-image: theme-image($theme-name, 'button/s-arrow-bo.gif'); }
+    .#{$prefix}btn-over .#{$prefix}btn-split-right { @include theme-background-image($theme-name, 'button/s-arrow-o.gif'); }
+    .#{$prefix}btn-over .#{$prefix}btn-split-bottom { @include theme-background-image($theme-name, 'button/s-arrow-bo.gif'); }
     
     @include extjs-button-ui(
         /* UI + Scale */
 
     //icons
     .#{$prefix}btn-#{$ui}-icon {
-        .#{$prefix}btn-inner {
+        button {
             padding: 0;
             width: $icon-size !important;
+            height: $icon-size;
+        }
+
+        .#{$prefix}btn-icon {
+            width: $icon-size;
+            height: $icon-size;
+            top: 0;
+            left: 0;
+            bottom: 0;
+            right: 0;
         }
     }
     
             line-height: $icon-size;
             padding-left: $icon-size + 4px;
         }
+
+        .#{$prefix}btn-icon {
+            width: $icon-size;
+            height: auto;
+            top: 0;
+            left: 0;
+            bottom: 0;
+            right: auto;
+
+            .#{$prefix}ie6 &,
+            .#{$prefix}quirks & {
+                height: $icon-size;
+            }
+        }
     }
 
     .#{$prefix}btn-#{$ui}-icon-text-right {
             line-height: $icon-size;
             padding-right: $icon-size + 4px !important;
         }
+
+        .#{$prefix}btn-icon {
+            width: $icon-size;
+            height: auto;
+            top: 0;
+            left: auto;
+            bottom: 0;
+            right: 0;
+
+            .#{$prefix}ie6 &,
+            .#{$prefix}quirks & {
+                height: $icon-size;
+            }
+        }
     }
     
     .#{$prefix}btn-#{$ui}-icon-text-top {
         .#{$prefix}btn-inner {
             padding-top: $icon-size + 4px;
         }
+
+        .#{$prefix}btn-icon {
+            width: auto;
+            height: $icon-size;
+            top: 0;
+            left: 0;
+            bottom: auto;
+            right: 0;
+
+            .#{$prefix}ie6 &,
+            .#{$prefix}quirks & {
+                width: $icon-size;
+            }
+        }
     }
     
     .#{$prefix}btn-#{$ui}-icon-text-bottom {
         .#{$prefix}btn-inner {
             padding-bottom: $icon-size + 4px;
         }
+
+        .#{$prefix}btn-icon {
+            width: auto;
+            height: $icon-size;
+            top: auto;
+            left: 0;
+            bottom: 0;
+            right: 0;
+
+            .#{$prefix}ie6 &,
+            .#{$prefix}quirks & {
+                width: $icon-size;
+            }
+        }
     }
     
     .#{$prefix}btn-#{$ui}-over {
             border-color: $border-color-over;
         }
         @if $background-color-over != null {
-            @if $background-gradient-over != $background-gradient {
-                @include background-gradient($background-color-over, $background-gradient-over);
-            }
-            @else if $background-color-over != $background-color {
-                background-color: $background-color-over;
-            }
+            @include background-gradient($background-color-over, $background-gradient-over);
         }
 
         .#{$prefix}btn-inner {
             border-color: $border-color-focus;
         }
         @if $background-color-focus != null {
-            @if $background-gradient-focus != $background-gradient {
-                @include background-gradient($background-color-focus, $background-gradient-focus);
-            }
-            @else if $background-color-focus != $background-color {
-                background-color: $background-color-focus;
-            }
+            @include background-gradient($background-color-focus, $background-gradient-focus);
         }
 
         .#{$prefix}btn-inner {
             border-color: $border-color-pressed;
         }
         @if $background-color-pressed != null {
-            @if $background-gradient-pressed != $background-gradient {
-                @include background-gradient($background-color-pressed, $background-gradient-pressed);
-            }
-            @else if $background-color-pressed != $background-color {
-                background-color: $background-color-pressed;
-            }
+            @include background-gradient($background-color-pressed, $background-gradient-pressed);
         }
 
         .#{$prefix}btn-inner {
             border-color: $border-color-disabled;
         }
         @if $background-color-disabled != null {
-            @if $background-gradient-disabled != $background-gradient {
-                @include background-gradient($background-color-disabled, $background-gradient-disabled);
-            }
-            @else if $background-color-disabled != $background-color {
-                background-color: $background-color-disabled;
-            }
+            @include background-gradient($background-color-disabled, $background-gradient-disabled);
         }
 
         .#{$prefix}btn-inner {
                 .#{$prefix}frame-br,
                 .#{$prefix}frame-tc,
                 .#{$prefix}frame-bc {
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-over-corners.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-over-corners.gif');
                 }
                 .#{$prefix}frame-ml,
                 .#{$prefix}frame-mr {
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-over-sides.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-over-sides.gif');
                 }
                 .#{$prefix}frame-mc {
                     background-color: $background-color-over;
-                    @if $background-gradient-over {
-                        background-image: theme-image($theme-name, 'btn/btn-#{$ui}-over-bg.gif');
+                    @if $background-gradient-over != null {
+                        @include theme-background-image($theme-name, 'btn/btn-#{$ui}-over-bg.gif');
                     }
                 }
             }
                 .#{$prefix}frame-br,
                 .#{$prefix}frame-tc,
                 .#{$prefix}frame-bc {
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-focus-corners.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-corners.gif');
                 }
                 .#{$prefix}frame-ml,
                 .#{$prefix}frame-mr {
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-focus-sides.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-sides.gif');
                 }
                 .#{$prefix}frame-mc {
                     background-color: $background-color-focus;
-                    @if $background-gradient-focus {
-                        background-image: theme-image($theme-name, 'btn/btn-#{$ui}-focus-bg.gif');
+                    @if $background-gradient-focus != null {
+                        @include theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-bg.gif');
                     }
                 }
             }
                 .#{$prefix}frame-br,
                 .#{$prefix}frame-tc,
                 .#{$prefix}frame-bc {
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-pressed-corners.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-corners.gif');
                 }
                 .#{$prefix}frame-ml,
                 .#{$prefix}frame-mr {
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-pressed-sides.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-sides.gif');
                 }
                 .#{$prefix}frame-mc {
                     background-color: $background-color-pressed;
-                    @if $background-gradient-pressed {
-                        background-image: theme-image($theme-name, 'btn/btn-#{$ui}-pressed-bg.gif');
+                    @if $background-gradient-pressed != null {
+                        @include theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-bg.gif');
                     }
                 }
             }
                 .#{$prefix}frame-br,
                 .#{$prefix}frame-tc,
                 .#{$prefix}frame-bc {
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-disabled-corners.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-corners.gif');
                 }
                 .#{$prefix}frame-ml,
                 .#{$prefix}frame-mr {
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-disabled-sides.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-sides.gif');
                 }
                 .#{$prefix}frame-mc {
                     background-color: $background-color-disabled;
-                    @if $background-gradient-disabled {
-                        background-image: theme-image($theme-name, 'btn/btn-#{$ui}-disabled-bg.gif');
+                    @if $background-gradient-disabled != null {
+                        @include theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-bg.gif');
                     }
                 }  
             }
             .#{$prefix}nlg { 
                 .#{$prefix}btn-#{$ui} {
                     background-repeat: repeat-x;
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-bg.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-bg.gif');
                 }
             }
         }
             .#{$prefix}nlg { 
                 .#{$prefix}btn-#{$ui}-over {
                     background-repeat: repeat-x;
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-over-bg.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-over-bg.gif');
                 }
             }
         }
             .#{$prefix}nlg { 
                 .#{$prefix}btn-#{$ui}-focus {
                     background-repeat: repeat-x;
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-focus-bg.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-focus-bg.gif');
                 }
             }
         }
                 .#{$prefix}btn-#{$ui}-menu-active,
                 .#{$prefix}btn-#{$ui}-pressed {
                     background-repeat: repeat-x;
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-pressed-bg.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-pressed-bg.gif');
                 }
             }
         }
             .#{$prefix}nlg {
                 .#{$prefix}btn-#{$ui}-disabled {
                     background-repeat: repeat-x;
-                    background-image: theme-image($theme-name, 'btn/btn-#{$ui}-disabled-bg.gif');
+                    @include theme-background-image($theme-name, 'btn/btn-#{$ui}-disabled-bg.gif');
                 }
             }
         }