jquery/jquery-mobile — pull request #3967 by uGoMobi (2012-04-05 10:27:05+00:00)
Title: Fixes issue #3966

Removed duplicate/conflicting rules for .ui-mini.ui-btn-icon-[pos] .ui-btn-inner padding:

30px is consistent with fullsize buttons, where there is a bit more space between icon and text than between icon and border. So I used the 30px instead of 28px for all mini buttons including header/footer buttons.
Note: header/footer buttons with icon position bottom had a padding-bottom of 33px which was different from the left/right/top positioned icons (padding 28px). In case of fullsize buttons this is 40px all around. With 30px padding I don't think there is any need to adjust it for bottom positioned icons.

Added ui-icon positioning rules for ui-mini controlgroup buttons:

The checkbox/radio plugin has an inheritAttr function which provides the buttons within the controlgroup with the same date-attributes (including data-role="mini"). Since this is not the case with regular buttons, only the controlgroup has class ui-mini and not the buttons.
As a quick fix I copied the .ui-mini.ui-btn-icon-[pos] .ui-icon {[pos]: 5px; } rules and added a space after .ui-mini. Better solution would probably be having the JS adding the ui-mini class to the buttons.

One more thing. I noticed the ui-fullsize class. Looking at the JS function I suppose this class is assigned when data-mini="false" is used on header/footer buttons. Looking at the CSS I only see one generic rule:
.ui-header/footer .ui-fullsize .ui-btn-inner { font-size: 16px; padding: .6em 25px; }
Shouldn't there be specific icon position rules for this as well?