Merge "Include action in permission error messages"
[lhc/web/wiklou.git] / resources / src / mediawiki.ui / components / inputs.less
1 // Inputs
2
3 @import "mediawiki.mixins";
4 @import "mediawiki.ui/variables";
5 @import "mediawiki.ui/mixins";
6
7 // Placeholder text styling helper
8 .field-placeholder-styling() {
9 font-style: italic;
10 font-weight: normal;
11 }
12 // Inputs
13 //
14 // Apply the mw-ui-input class to input and textarea fields.
15 //
16 // Styleguide 1.
17
18 // mw-ui-input
19 //
20 // Style an input using MediaWiki UI.
21 // Currently in draft status and subject to change.
22 // When focused a progressive highlight appears to the left of the field.
23 //
24 // Markup:
25 // <input class="mw-ui-input" placeholder="Enter your name">
26 // <textarea class="mw-ui-input">Text here</textarea>
27 //
28 // Styleguide 1.1.
29 .mw-ui-input {
30 // turn off default input styling for input[type="search"] fields
31 -webkit-appearance: none;
32 border: 1px solid @colorFieldBorder;
33 .box-sizing(border-box);
34 width: 100%;
35 padding: .3em .3em .3em .6em;
36 display: block;
37 vertical-align: middle;
38 // Override user agent stylesheet properties. Instead use parent element.
39 color: inherit;
40 font-family: inherit;
41 font-size: inherit;
42 line-height: inherit;
43 .transition(~"border linear .2s, box-shadow linear .2s");
44
45 // Placeholder text styling must be set individually for each browser @winter
46 &::-webkit-input-placeholder { // webkit
47 .field-placeholder-styling;
48 }
49 &::-moz-placeholder { // FF 4-18
50 .field-placeholder-styling;
51 }
52 &:-moz-placeholder { // FF >= 19
53 .field-placeholder-styling;
54 }
55 &:-ms-input-placeholder { // IE >= 10
56 .field-placeholder-styling;
57 }
58
59 &:focus {
60 box-shadow: inset .45em 0 0 #5088f7;
61 border-color: @colorGrayDark;
62 // Remove focus glow on input[type="search"]
63 outline: 0;
64 }
65 }
66
67 textarea.mw-ui-input {
68 min-height: 8em;
69 }
70
71 // mw-ui-input-inline
72 //
73 // Use mw-ui-input-inline with mw-ui-input in cases where you want a button to line up with the input.
74 //
75 // Markup:
76 // <input class="mw-ui-input mw-ui-input-inline">
77 // <button class="mw-ui-button mw-ui-constructive">go</button>
78 //
79 // Styleguide 1.2.
80 .mw-ui-input-inline {
81 display: inline-block;
82 width: auto;
83 }
84
85 // mw-ui-input-large
86 //
87 // Use mw-ui-input-large with mw-ui-input in cases where there are multiple inputs on a screen and you
88 // want to draw attention to one instance. For example, replying with a subject line and more text.
89 // Currently in draft status and subject to change. When used on an input field, the text is styled
90 // in a large font. When used alongside another mw-ui-input large they are pushed together to form one
91 // contiguous block.
92 //
93 // Markup:
94 // <input value="input" class="mw-ui-input mw-ui-input-large" value="input" placeholder="Enter subject">
95 // <textarea class="mw-ui-input mw-ui-input-large" placeholder="Provide additional details"></textarea>
96 //
97 // Styleguide 1.3.
98 .mw-ui-input-large {
99 margin-top: 0;
100 margin-bottom: 0;
101
102 // When two large inputs are together, we make them flush by hiding one of the borders
103 & + .mw-ui-input-large {
104 margin-top: -1px;
105 }
106 // When focusing, make the input relative to raise it above any attached inputs to unhide its borders
107 &:focus {
108 position: relative;
109 }
110 }
111
112 input.mw-ui-input-large {
113 font-size: 1.75em;
114 font-weight: bold;
115 line-height: 1.25em;
116 }