UNPKG

gaf-mobile

Version:

GAF mobile Web site

410 lines (361 loc) 8.41 kB
@import (reference) '../libs/mixins'; @import (reference) '../themes/variables'; // Form element styling // 1. .form class should be used as a namespace for overriding default form styling // 2. Inline label used for check-boxes and radio buttons // 3. Form input prepend/append icons // 4. Input with button grouip, i.e. search component input { height: @input-height; } input[type="text"], input[type="password"], input[type="email"], input[type="url"], input[type="date"], input[type="time"], input[type="number"], input[type="search"], input[type="tel"], textarea { display: block; margin: 4px 0 14px; padding: 0 8px; width: 100%; font-size: @input-type-size; line-height: 1; color: @text-color-xdark; border-radius: @input-border-radius; border: 1px solid @input-border-color; background-color: @septenary-color-xxxlight; -webkit-appearance: none; } input[type="checkbox"], input[type="radio"] { display: block; margin: 1em 0; } select { display: block; width: 100%; height: @input-height; margin: 0.4em 0 0.8em 0; padding: 0 8px; font-size: @input-type-size; line-height: 1; color: @text-color-xdark; border-radius: @input-border-radius; border: 1px solid @input-border-color; background-color: @septenary-color-xxxlight; } textarea { padding: 0.6em; line-height: 1.3; resize: vertical; } legend { width: 100%; margin: 0.3em 0; font-weight: normal; border: 0; } label { display: block; margin: 0.8em 0 0.2em 0; font-weight: bold; } fieldset { margin: 0; padding: 0; border: 0; } ::-webkit-input-placeholder { color: @input-placeholder-color; } ::-moz-placeholder { color: @input-placeholder-color; opacity: 1; } :-ms-input-placeholder { color: @input-placeholder-color; } placeholder { color: @input-placeholder-color; } input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="date"]:focus, input[type="time"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, select:focus, textarea:focus { border-color: @input-focus; outline: 0; } input[type="text"]:disabled, input[type="password"]:disabled, input[type="email"]:disabled, input[type="url"]:disabled, input[type="date"]:disabled, input[type="time"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, select:disabled, textarea:disabled { color: @septenary-color; background-color: @septenary-color-xxlight; } // 1. .form { aside { display: block; margin: 0 0 1em 0; font-size: @type-size-sml; color: @septenary-color; } .label-sml { font-size: @type-size-sml; font-weight: normal; margin-bottom: 0; } } // Inline form elements .inline-input { display: inline-block; margin-right: 6px; width: auto; } // 2. .inline-label { display: inline-block; font-weight: normal; margin: 0 10px 0 0; input[type="checkbox"], input[type="radio"] { display: inline-block; height: auto; float: left; margin: 3px 8px 0 0; } } // 3. .input-prepend { position: relative; &.has-right-align { > input { padding-left: 8px; padding-right: 30px; } .input-prepend-icon { left: auto; right: 12px; } } > input { padding-left: 30px; } .input-prepend-icon { position: absolute; display: inline-block; top: 0; bottom: 0; left: 12px; margin: auto 0; font-weight: normal; color: @septenary-color; font-size: @input-type-size; line-height: 1; height: @input-type-size; } } .input-clearable { @this: input-clearable; position: relative; & &-input { padding-right: 54px; &:focus ~ .@{this}-control { display: inline-block; } } &-control { position: absolute; display: none; top: 0; bottom: 0; right: 0; height: auto; margin: auto 0; border: 0; padding: 10px; font-weight: normal; color: @septenary-color; font-size: @input-type-size; line-height: 1; background: none; } } // 4. .input-group { display: table; height: @input-height; width: 100%; margin: 0.4em 0 0.8em 0; vertical-align: middle; > input { display: table-cell; width: 100%; margin: 0; &:first-child { border-top-right-radius: 0; border-bottom-right-radius: 0; } &:last-child { border-top-left-radius: 0; border-bottom-left-radius: 0; } &:not(:first-child):not(:last-child) { border-radius: 0; } } &-addon, &-btn { display: table-cell; width: auto; padding-left: 6px; padding-right: 6px; text-align: center; color: @quaternary-color-xxlight; background-color: @septenary-color-xxlight; border: 1px solid @input-border-color; border-radius: @input-border-radius; &:first-child { border-right: none; border-top-right-radius: 0; border-bottom-right-radius: 0; } &:last-child { border-left: none; border-top-left-radius: 0; border-bottom-left-radius: 0; } &--select { padding: 0; background: @quaternary-color-xlight; color: @septenary-color-xxxlight; select { margin: 0; height: @input-height - 2; border: none; color: inherit; background: transparent; } option { color: @text-color-dark; } } } &-addon { &[class^="icon-"] { min-width: 36px; } } } /* 5. */ .label-hidden { .visibly-hidden(); } // paginated form elements .paginated-form { margin-top: 10px; .paginated-form-validation { margin-top: 8px; } &-fieldset { margin-bottom: 35px; } &-cancel-btn { margin-top: 10px; } &-field-group { .has-full-width; display: block; padding: 0; } &-legend { margin-bottom: 20px; font-size: @type-size-xlge; font-weight: 300; line-height: 1.2em; } &-radio { display: block; padding: 0; border: 1px solid @septenary-color-xlight; border-radius: @input-border-radius; border-bottom-width: 2px; background: @septenary-color-xxxlight; } &-radio-input { display: block; padding: 16px 15px; margin: 0; font-weight: 300; border-top: 1px solid @septenary-color-xxlight; &:nth-child(1) { border-top: none; } &:active, &:focus, &.fl-touch-active, html.no-touch &:hover { background-color: @quinary-color; color: @septenary-color-xxxlight; cursor: pointer; } input[type="radio"] { float: right; height: initial; margin: 4px 0 0 10px; } } } // Editable text elements .editable-text { display: block; width: 100%; padding: 4px 0; &:focus { margin-left: -5px; padding-left: 5px; background: @septenary-color-xxxlight; } &.has-icon { position: relative; padding-right: 26px; &:after { display: block; position: absolute; right: 5px; top: 0; bottom: 0; margin: auto 0; width: @type-size; height: @type-size; color: @septenary-color-xlight; line-height: 1em; font-family: "icomoon"; content: "\e647"; } &:focus { &::after { // Prevent icon jump from focus margin change. right: 0; } } } }