diff options
| author | 2018-06-05 16:07:35 +0100 | |
|---|---|---|
| committer | 2018-06-05 16:07:35 +0100 | |
| commit | 13a3c1e29473aa9f563e8db4ad94cb3eee9bdfe6 (patch) | |
| tree | 290c6d668ec9161a39065456a33ec634215907cc /scss/uikit/components/button.scss | |
| parent | documentation metadata API (#57) (diff) | |
Move from CSS to SCSS (#86)
* Rewrite existing style.css with sass
* Add "uses-rst" class for pages that use rendered RST
This replaces the previous method of just listing
every page in the sass
* Remove old debug print
* Mixins and error pages
* Newly built CSS
* Add SASS cache to .gitignore
* New error SASS
* Slight changes to error template
* Add UIKit SCSS to repo
This includes the LICENSE and our customizations, which
makes life way easier for contributors
* Reorganize sass folder; your watchers can avoid uikit now
* Sass folder should be called scss
* Change variable names
* [SCSS] Linting
* Fix scss_lint gem name [ci skip]
* [SCSS] Now you can compile with just Python!
* Temporary hack to make the wiki editor taller
* [SCSS] @jchristgit
* [SCSS.py] Require specification of include dir to simplify the SCSS imports
* [SCSS] All inline styles have been removed
* [SCSS] Update UIKit theme to import from our variables
* [SCSS] Remove extra newlines in errors/_common.scss
Diffstat (limited to '')
| -rw-r--r-- | scss/uikit/components/button.scss | 451 | 
1 files changed, 451 insertions, 0 deletions
diff --git a/scss/uikit/components/button.scss b/scss/uikit/components/button.scss new file mode 100644 index 00000000..f65e1c22 --- /dev/null +++ b/scss/uikit/components/button.scss @@ -0,0 +1,451 @@ +// Name:            Button +// Description:     Styles for buttons +// +// Component:       `uk-button` +// +// Sub-objects:     `uk-button-group` +// +// Modifiers:       `uk-button-default` +//                  `uk-button-primary` +//                  `uk-button-secondary` +//                  `uk-button-danger` +//                  `uk-button-text` +//                  `uk-button-link` +//                  `uk-button-small` +//                  `uk-button-large` +// +// States:          `uk-active` +// +// ======================================================================== + + +// Variables +// ======================================================================== + +$button-line-height:                             $global-control-height !default; +$button-small-line-height:                       $global-control-small-height !default; +$button-large-line-height:                       $global-control-large-height !default; + +$button-font-size:                               $global-font-size !default; +$button-small-font-size:                         $global-small-font-size !default; +$button-large-font-size:                         $global-medium-font-size !default; + +$button-padding-horizontal:                      $global-gutter !default; +$button-small-padding-horizontal:                $global-small-gutter !default; +$button-large-padding-horizontal:                $global-medium-gutter !default; + +$button-default-background:                      $global-muted-background !default; +$button-default-color:                           $global-emphasis-color !default; +$button-default-hover-background:                darken($button-default-background, 5%) !default; +$button-default-hover-color:                     $global-emphasis-color !default; +$button-default-active-background:               darken($button-default-background, 10%) !default; +$button-default-active-color:                    $global-emphasis-color !default; + +$button-primary-background:                      $global-primary-background !default; +$button-primary-color:                           $global-inverse-color !default; +$button-primary-hover-background:                darken($button-primary-background, 5%) !default; +$button-primary-hover-color:                     $global-inverse-color !default; +$button-primary-active-background:               darken($button-primary-background, 10%) !default; +$button-primary-active-color:                    $global-inverse-color !default; + +$button-secondary-background:                    $global-secondary-background !default; +$button-secondary-color:                         $global-inverse-color !default; +$button-secondary-hover-background:              darken($button-secondary-background, 5%) !default; +$button-secondary-hover-color:                   $global-inverse-color !default; +$button-secondary-active-background:             darken($button-secondary-background, 10%) !default; +$button-secondary-active-color:                  $global-inverse-color !default; + +$button-danger-background:                       $global-danger-background !default; +$button-danger-color:                            $global-inverse-color !default; +$button-danger-hover-background:                 darken($button-danger-background, 5%) !default; +$button-danger-hover-color:                      $global-inverse-color !default; +$button-danger-active-background:                darken($button-danger-background, 10%) !default; +$button-danger-active-color:                     $global-inverse-color !default; + +$button-disabled-background:                     $global-muted-background !default; +$button-disabled-color:                          $global-muted-color !default; + +$button-text-line-height:                        $global-line-height !default; +$button-text-color:                              $global-muted-color !default; +$button-text-hover-color:                        $global-color !default; +$button-text-disabled-color:                     $global-muted-color !default; + +$button-link-line-height:                        $global-line-height !default; +$button-link-color:                              $global-link-color !default; +$button-link-hover-color:                        $global-link-hover-color !default; +$button-link-hover-text-decoration:              underline !default; +$button-link-disabled-color:                     $global-muted-color !default; + + +/* ======================================================================== +   Component: Button + ========================================================================== */ + +/* + * 1. Remove margins in Chrome, Safari and Opera. + * 2. Remove borders for `button`. + * 3. Remove border-radius in Chrome. + * 4. Address `overflow` set to `hidden` in IE. + * 5. Correct `font` properties and `color` not being inherited for `button`. + * 6. Remove the inheritance of text transform in Edge, Firefox, and IE. + * 7. Style + * 8. `line-height` is used to create a height because it also centers the text vertically for `a` elements. + *    Better would be to use height and flexbox to center the text vertically but flexbox doesn't work in Firefox on `button` elements. + * 9. Align text if button has a width + * 10. Required for `a`. + */ + +.uk-button { +    /* 1 */ +    margin: 0; +    /* 2 */ +    border: none; +    /* 3 */ +    border-radius: 0; +    /* 4 */ +    overflow: visible; +    /* 5 */ +    font: inherit; +    color: inherit; +    /* 6 */ +    text-transform: none; +    /* 7 */ +    display: inline-block; +    box-sizing: border-box; +    padding: 0 $button-padding-horizontal; +    vertical-align: middle; +    font-size: $button-font-size; +    /* 8 */ +    line-height: $button-line-height; +    /* 9 */ +    text-align: center; +    /* 10 */ +    text-decoration: none; +    @if(mixin-exists(hook-button)) {@include hook-button();} +} + +.uk-button:not(:disabled) { cursor: pointer; } + +/* + * Remove the inner border and padding in Firefox. + */ + +.uk-button::-moz-focus-inner { +    border: 0; +    padding: 0; +} + +/* Hover */ +.uk-button:hover { +    /* 8 */ +    text-decoration: none; +    @if(mixin-exists(hook-button-hover)) {@include hook-button-hover();} +} + +/* Focus */ +.uk-button:focus { +    outline: none; +    @if(mixin-exists(hook-button-focus)) {@include hook-button-focus();} +} + +/* OnClick + Active */ +.uk-button:active, +.uk-button.uk-active { +    @if(mixin-exists(hook-button-active)) {@include hook-button-active();} +} + + +/* Style modifiers + ========================================================================== */ + +/* + * Default + */ + +.uk-button-default { +    background-color: $button-default-background; +    color: $button-default-color; +    @if(mixin-exists(hook-button-default)) {@include hook-button-default();} +} + +/* Hover + Focus */ +.uk-button-default:hover, +.uk-button-default:focus { +    background-color: $button-default-hover-background; +    color: $button-default-hover-color; +    @if(mixin-exists(hook-button-default-hover)) {@include hook-button-default-hover();} +} + +/* OnClick + Active */ +.uk-button-default:active, +.uk-button-default.uk-active { +    background-color: $button-default-active-background; +    color: $button-default-active-color; +    @if(mixin-exists(hook-button-default-active)) {@include hook-button-default-active();} +} + +/* + * Primary + */ + +.uk-button-primary { +    background-color: $button-primary-background; +    color: $button-primary-color; +    @if(mixin-exists(hook-button-primary)) {@include hook-button-primary();} +} + +/* Hover + Focus */ +.uk-button-primary:hover, +.uk-button-primary:focus { +    background-color: $button-primary-hover-background; +    color: $button-primary-hover-color; +    @if(mixin-exists(hook-button-primary-hover)) {@include hook-button-primary-hover();} +} + +/* OnClick + Active */ +.uk-button-primary:active, +.uk-button-primary.uk-active { +    background-color: $button-primary-active-background; +    color: $button-primary-active-color; +    @if(mixin-exists(hook-button-primary-active)) {@include hook-button-primary-active();} +} + +/* + * Secondary + */ + +.uk-button-secondary { +    background-color: $button-secondary-background; +    color: $button-secondary-color; +    @if(mixin-exists(hook-button-secondary)) {@include hook-button-secondary();} +} + +/* Hover + Focus */ +.uk-button-secondary:hover, +.uk-button-secondary:focus { +    background-color: $button-secondary-hover-background; +    color: $button-secondary-hover-color; +    @if(mixin-exists(hook-button-secondary-hover)) {@include hook-button-secondary-hover();} +} + +/* OnClick + Active */ +.uk-button-secondary:active, +.uk-button-secondary.uk-active { +    background-color: $button-secondary-active-background; +    color: $button-secondary-active-color; +    @if(mixin-exists(hook-button-secondary-active)) {@include hook-button-secondary-active();} +} + +/* + * Danger + */ + +.uk-button-danger { +    background-color: $button-danger-background; +    color: $button-danger-color; +    @if(mixin-exists(hook-button-danger)) {@include hook-button-danger();} +} + +/* Hover + Focus */ +.uk-button-danger:hover, +.uk-button-danger:focus { +    background-color: $button-danger-hover-background; +    color: $button-danger-hover-color; +    @if(mixin-exists(hook-button-danger-hover)) {@include hook-button-danger-hover();} +} + +/* OnClick + Active */ +.uk-button-danger:active, +.uk-button-danger.uk-active { +    background-color: $button-danger-active-background; +    color: $button-danger-active-color; +    @if(mixin-exists(hook-button-danger-active)) {@include hook-button-danger-active();} +} + +/* + * Disabled + * The same for all style modifiers + */ + +.uk-button-default:disabled, +.uk-button-primary:disabled, +.uk-button-secondary:disabled, +.uk-button-danger:disabled { +    background-color: $button-disabled-background; +    color: $button-disabled-color; +    @if(mixin-exists(hook-button-disabled)) {@include hook-button-disabled();} +} + + +/* Size modifiers + ========================================================================== */ + +.uk-button-small { +    padding: 0 $button-small-padding-horizontal; +    line-height: $button-small-line-height; +    font-size: $button-small-font-size; +    @if(mixin-exists(hook-button-small)) {@include hook-button-small();} +} + +.uk-button-large { +    padding: 0 $button-large-padding-horizontal; +    line-height: $button-large-line-height; +    font-size: $button-large-font-size; +    @if(mixin-exists(hook-button-large)) {@include hook-button-large();} +} + + +/* Text modifiers + ========================================================================== */ + +/* + * Text + * 1. Reset + * 2. Style + */ + +.uk-button-text { +    /* 1 */ +    padding: 0; +    line-height: $button-text-line-height; +    background: none; +    /* 2 */ +    color: $button-text-color; +    @if(mixin-exists(hook-button-text)) {@include hook-button-text();} +} + +/* Hover + Focus */ +.uk-button-text:hover, +.uk-button-text:focus { +    color: $button-text-hover-color; +    @if(mixin-exists(hook-button-text-hover)) {@include hook-button-text-hover();} +} + +/* Disabled */ +.uk-button-text:disabled { +    color: $button-text-disabled-color; +    @if(mixin-exists(hook-button-text-disabled)) {@include hook-button-text-disabled();} +} + +/* + * Link + * 1. Reset + * 2. Style + */ + +.uk-button-link { +    /* 1 */ +    padding: 0; +    line-height: $button-link-line-height; +    background: none; +    /* 2 */ +    color: $button-link-color; +    @if(mixin-exists(hook-button-link)) {@include hook-button-link();} +} + +/* Hover + Focus */ +.uk-button-link:hover, +.uk-button-link:focus { +    color: $button-link-hover-color; +    text-decoration: $button-link-hover-text-decoration; +} + +/* Disabled */ +.uk-button-link:disabled { +    color: $button-link-disabled-color; +    text-decoration: none; +} + + +/* Group + ========================================================================== */ + +/* + * 1. Using `flex` instead of `inline-block` to prevent whitespace betweent child elements + * 2. Behave like button + * 3. Create position context + */ + +.uk-button-group { +    /* 1 */ +    display: inline-flex; +    /* 2 */ +    vertical-align: middle; +    /* 3 */ +    position: relative; +} + + +// Hooks +// ======================================================================== + +@if(mixin-exists(hook-button-misc)) {@include hook-button-misc();} + +// @mixin hook-button(){} +// @mixin hook-button-hover(){} +// @mixin hook-button-focus(){} +// @mixin hook-button-active(){} +// @mixin hook-button-default(){} +// @mixin hook-button-default-hover(){} +// @mixin hook-button-default-active(){} +// @mixin hook-button-primary(){} +// @mixin hook-button-primary-hover(){} +// @mixin hook-button-primary-active(){} +// @mixin hook-button-secondary(){} +// @mixin hook-button-secondary-hover(){} +// @mixin hook-button-secondary-active(){} +// @mixin hook-button-danger(){} +// @mixin hook-button-danger-hover(){} +// @mixin hook-button-danger-active(){} +// @mixin hook-button-disabled(){} +// @mixin hook-button-small(){} +// @mixin hook-button-large(){} +// @mixin hook-button-text(){} +// @mixin hook-button-text-hover(){} +// @mixin hook-button-text-disabled(){} +// @mixin hook-button-link(){} +// @mixin hook-button-misc(){} + + +// Inverse +// ======================================================================== + +$inverse-button-default-background:             $inverse-global-primary-background !default; +$inverse-button-default-color:                  $inverse-global-inverse-color !default; +$inverse-button-default-hover-background:       darken($inverse-button-default-background, 5%) !default; +$inverse-button-default-hover-color:            $inverse-global-inverse-color !default; +$inverse-button-default-active-background:      darken($inverse-button-default-background, 10%) !default; +$inverse-button-default-active-color:           $inverse-global-inverse-color !default; +$inverse-button-primary-background:             $inverse-global-primary-background !default; +$inverse-button-primary-color:                  $inverse-global-inverse-color !default; +$inverse-button-primary-hover-background:       darken($inverse-button-primary-background, 5%) !default; +$inverse-button-primary-hover-color:            $inverse-global-inverse-color !default; +$inverse-button-primary-active-background:      darken($inverse-button-primary-background, 10%) !default; +$inverse-button-primary-active-color:           $inverse-global-inverse-color !default; +$inverse-button-secondary-background:           $inverse-global-primary-background !default; +$inverse-button-secondary-color:                $inverse-global-inverse-color !default; +$inverse-button-secondary-hover-background:     darken($inverse-button-secondary-background, 5%) !default; +$inverse-button-secondary-hover-color:          $inverse-global-inverse-color !default; +$inverse-button-secondary-active-background:    darken($inverse-button-secondary-background, 10%) !default; +$inverse-button-secondary-active-color:         $inverse-global-inverse-color !default; +$inverse-button-text-color:                     $inverse-global-muted-color !default; +$inverse-button-text-hover-color:               $inverse-global-color !default; +$inverse-button-text-disabled-color:            $inverse-global-muted-color !default; +$inverse-button-link-color:                     $inverse-global-muted-color !default; +$inverse-button-link-hover-color:               $inverse-global-color !default; + + + +// @mixin hook-inverse-button-default(){} +// @mixin hook-inverse-button-default-hover(){} +// @mixin hook-inverse-button-default-active(){} +// @mixin hook-inverse-button-primary(){} +// @mixin hook-inverse-button-primary-hover(){} +// @mixin hook-inverse-button-primary-active(){} +// @mixin hook-inverse-button-secondary(){} +// @mixin hook-inverse-button-secondary-hover(){} +// @mixin hook-inverse-button-secondary-active(){} +// @mixin hook-inverse-button-text(){} +// @mixin hook-inverse-button-text-hover(){} +// @mixin hook-inverse-button-text-disabled(){} +// @mixin hook-inverse-button-link(){}  |