123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327 |
- /**
- * Forms
- * --------------------------------------------------
- */
- // Make all forms have space below them
- form {
- margin: 0 0 $line-height-base;
- }
- // Groups of fields with labels on top (legends)
- legend {
- display: block;
- margin-bottom: $line-height-base;
- padding: 0;
- width: 100%;
- border: $input-border-width solid $input-border;
- color: $dark;
- font-size: $font-size-base * 1.5;
- line-height: $line-height-base * 2;
- small {
- color: $stable;
- font-size: $line-height-base * .75;
- }
- }
- // Set font for forms
- label,
- input,
- button,
- select,
- textarea {
- @include font-shorthand($font-size-base, normal, $line-height-base); // Set size, weight, line-height here
- }
- input,
- button,
- select,
- textarea {
- font-family: $font-family-base; // And only set font-family here for those that need it (note the missing label element)
- }
- // Input List
- // -------------------------------
- .item-input {
- @include display-flex();
- @include align-items(center);
- position: relative;
- overflow: hidden;
- padding: 6px 0 5px 16px;
- input {
- @include border-radius(0);
- @include flex(1, 220px);
- @include appearance(none);
- margin: 0;
- padding-right: 24px;
- background-color: transparent;
- }
- .button .icon {
- @include flex(0, 0, 24px);
- position: static;
- display: inline-block;
- height: auto;
- text-align: center;
- font-size: 16px;
- }
- .button-bar {
- @include border-radius(0);
- @include flex(1, 0, 220px);
- @include appearance(none);
- }
- .icon {
- min-width: 14px;
- }
- }
- // prevent flex-shrink on WP
- .platform-windowsphone .item-input input{
- flex-shrink: 1;
- }
- .item-input-inset {
- @include display-flex();
- @include align-items(center);
- position: relative;
- overflow: hidden;
- padding: ($item-padding / 3) * 2;
- }
- .item-input-wrapper {
- @include display-flex();
- @include flex(1, 0);
- @include align-items(center);
- @include border-radius(4px);
- padding-right: 8px;
- padding-left: 8px;
- background: #eee;
- }
- .item-input-inset .item-input-wrapper input {
- padding-left: 4px;
- height: 29px;
- background: transparent;
- line-height: 18px;
- }
- .item-input-wrapper ~ .button {
- margin-left: ($item-padding / 3) * 2;
- }
- .input-label {
- display: table;
- padding: 7px 10px 7px 0px;
- max-width: 200px;
- width: 35%;
- color: $input-label-color;
- font-size: 16px;
- }
- .placeholder-icon {
- color: #aaa;
- &:first-child {
- padding-right: 6px;
- }
- &:last-child {
- padding-left: 6px;
- }
- }
- .item-stacked-label {
- display: block;
- background-color: transparent;
- box-shadow: none;
- .input-label, .icon {
- display: inline-block;
- padding: 4px 0 0 0px;
- vertical-align: middle;
- }
- }
- .item-stacked-label input,
- .item-stacked-label textarea {
- @include border-radius(2px);
- padding: 4px 8px 3px 0;
- border: none;
- background-color: $input-bg;
- }
- .item-stacked-label input {
- overflow: hidden;
- height: $line-height-computed + $font-size-base + 12px;
- }
- .item-select.item-stacked-label select {
- position: relative;
- padding: 0px;
- max-width: 90%;
- direction:ltr;
- white-space: pre-wrap;
- margin: -3px;
- }
- .item-floating-label {
- display: block;
- background-color: transparent;
- box-shadow: none;
- .input-label {
- position: relative;
- padding: 5px 0 0 0;
- opacity: 0;
- top: 10px;
- @include transition(opacity .15s ease-in, top .2s linear);
- &.has-input {
- opacity: 1;
- top: 0;
- @include transition(opacity .15s ease-in, top .2s linear);
- }
- }
- }
- // Form Controls
- // -------------------------------
- // Shared size and type resets
- textarea,
- input[type="text"],
- input[type="password"],
- input[type="datetime"],
- input[type="datetime-local"],
- input[type="date"],
- input[type="month"],
- input[type="time"],
- input[type="week"],
- input[type="number"],
- input[type="email"],
- input[type="url"],
- input[type="search"],
- input[type="tel"],
- input[type="color"] {
- display: block;
- padding-top: 2px;
- padding-left: 0;
- height: $line-height-computed + $font-size-base;
- color: $input-color;
- vertical-align: middle;
- font-size: $font-size-base;
- line-height: $font-size-base + 2;
- }
- .platform-ios,
- .platform-android {
- input[type="datetime-local"],
- input[type="date"],
- input[type="month"],
- input[type="time"],
- input[type="week"] {
- padding-top: 8px;
- }
- }
- .item-input {
- input,
- textarea {
- width: 100%;
- }
- }
- textarea {
- padding-left: 0;
- @include placeholder($input-color-placeholder, -3px);
- }
- // Reset height since textareas have rows
- textarea {
- height: auto;
- }
- // Everything else
- textarea,
- input[type="text"],
- input[type="password"],
- input[type="datetime"],
- input[type="datetime-local"],
- input[type="date"],
- input[type="month"],
- input[type="time"],
- input[type="week"],
- input[type="number"],
- input[type="email"],
- input[type="url"],
- input[type="search"],
- input[type="tel"],
- input[type="color"] {
- border: 0;
- }
- // Position radios and checkboxes better
- input[type="radio"],
- input[type="checkbox"] {
- margin: 0;
- line-height: normal;
- }
- // Reset width of input images, buttons, radios, checkboxes
- .item-input {
- input[type="file"],
- input[type="image"],
- input[type="submit"],
- input[type="reset"],
- input[type="button"],
- input[type="radio"],
- input[type="checkbox"] {
- width: auto; // Override of generic input selector
- }
- }
- // Set the height of file to match text inputs
- input[type="file"] {
- line-height: $input-height-base;
- }
- // Text input classes to hide text caret during scroll
- .previous-input-focus,
- .cloned-text-input + input,
- .cloned-text-input + textarea {
- position: absolute !important;
- left: -9999px;
- width: 200px;
- }
- // Placeholder
- // -------------------------------
- input,
- textarea {
- @include placeholder();
- }
- // DISABLED STATE
- // -------------------------------
- // Disabled and read-only inputs
- input[disabled],
- select[disabled],
- textarea[disabled],
- input[readonly]:not(.cloned-text-input),
- textarea[readonly]:not(.cloned-text-input),
- select[readonly] {
- background-color: $input-bg-disabled;
- cursor: not-allowed;
- }
- // Explicitly reset the colors here
- input[type="radio"][disabled],
- input[type="checkbox"][disabled],
- input[type="radio"][readonly],
- input[type="checkbox"][readonly] {
- background-color: transparent;
- }
|