Common.less 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. /* claro/form/Common.css */
  2. /*========================= common css =========================*/
  3. @import "../variables";
  4. /* 'dijitTextBox' refers to 'dijit(TextBox|DateTextBox|CurrencyTextBox|...)' */
  5. .claro .dijitTextBox,
  6. .claro .dijitInputInner {
  7. // .dijitInputInner selector needed for ValidationTextBox on IE6 because <input> doesn't inherit
  8. // the color setting from the ancestor div.dijitTextBox
  9. color: @text-color;
  10. }
  11. .claro .dijitValidationTextBoxError .dijitValidationContainer {
  12. background-color: @erroricon-background-color;
  13. background-image: url("../@{image-form-error}");
  14. background-position: top center;
  15. border: solid @erroricon-background-color 0;
  16. width: 9px;
  17. }
  18. .claro .dijitTextBoxError .dijitValidationContainer {
  19. border-left-width: 1px;
  20. }
  21. .claro .dijitValidationTextBoxError .dijitValidationIcon {
  22. width: 0;
  23. background-color: transparent !important; /* so the INPUT doesn't obscure the border in rtl+a11y */
  24. }
  25. /* Padding for the input area of TextBox based widgets, and corresponding padding for the
  26. * down arrow button and the placeholder. placeholder is explicitly listed because
  27. * dijitPlaceHolder is absolutely positioned, so padding set on dijitInputField
  28. * won't affect it
  29. */
  30. .claro .dijitTextArea,
  31. .claro .dijitInputField .dijitPlaceHolder {
  32. padding: @textbox-padding;
  33. }
  34. .claro .dijitSelect .dijitInputField,
  35. .claro .dijitTextBox .dijitInputField {
  36. // Subtract 1px from top/bottom because we add 1px to other nodes, see rules below.
  37. // Although we are theoretically only adding 1px to top/bottom browsers seem to pad inputs by 1px on left/right,
  38. // although that varies by so compensate for that too.
  39. padding: @textbox-padding - 1px @textbox-padding;
  40. }
  41. .dj_gecko .claro .dijitTextBox .dijitInputInner,
  42. .dj_webkit .claro .dijitTextBox .dijitInputInner {
  43. // Although we are theoretically only adding 1px to top/bottom, some browsers seem to pad inputs by 1px on left/right,
  44. // so compensate for that too.
  45. padding: @textbox-padding - 1px;
  46. }
  47. .claro .dijitSelect,
  48. .claro .dijitSelect .dijitButtonContents,
  49. .claro .dijitTextBox,
  50. .claro .dijitTextBox .dijitButtonNode {
  51. /* color for (outer) border on *TextBox widgets, and border between input and buttons on ComboBox and Spinner */
  52. border-color: @border-color;
  53. .transition-property(background-color, border);
  54. .transition-duration(.35s);
  55. }
  56. .claro .dijitSelect,
  57. .claro .dijitTextBox {
  58. background-color: @textbox-background-color;
  59. }
  60. /* hover */
  61. .claro .dijitSelectHover,
  62. .claro .dijitSelectHover .dijitButtonContents,
  63. .claro .dijitTextBoxHover,
  64. .claro .dijitTextBoxHover .dijitButtonNode {
  65. border-color: @hovered-border-color;
  66. .transition-duration(.25s);
  67. }
  68. .claro .dijitTextBoxHover {
  69. background-color: @textbox-hovered-background-color;
  70. .textbox-background-image;
  71. }
  72. /* error state */
  73. .claro .dijitSelectError,
  74. .claro .dijitSelectError .dijitButtonContents,
  75. .claro .dijitTextBoxError,
  76. .claro .dijitTextBoxError .dijitButtonNode {
  77. border-color: @error-border-color;
  78. }
  79. /* focused state */
  80. .claro .dijitSelectFocused,
  81. .claro .dijitSelectFocused .dijitButtonContents,
  82. .claro .dijitTextBoxFocused,
  83. .claro .dijitTextBoxFocused .dijitButtonNode {
  84. border-color:@focused-border-color;
  85. .transition-duration(.1s);
  86. }
  87. .claro .dijitTextBoxFocused {
  88. background-color: @textbox-focused-background-color;
  89. .textbox-background-image;
  90. }
  91. .claro .dijitTextBoxFocused .dijitInputContainer {
  92. background: @textbox-focused-background-color;
  93. }
  94. .claro .dijitSelectErrorFocused,
  95. .claro .dijitSelectErrorFocused .dijitButtonContents,
  96. .claro .dijitTextBoxErrorFocused,
  97. .claro .dijitTextBoxErrorFocused .dijitButtonNode {
  98. border-color: @error-focused-border-color;
  99. }
  100. /* disabled state */
  101. .claro .dijitSelectDisabled,
  102. .claro .dijitSelectDisabled .dijitButtonContents,
  103. .claro .dijitTextBoxDisabled,
  104. .claro .dijitTextBoxDisabled .dijitButtonNode {
  105. border-color: @disabled-border-color;
  106. }
  107. .claro .dijitSelectDisabled,
  108. .claro .dijitTextBoxDisabled,
  109. .claro .dijitTextBoxDisabled .dijitInputContainer {
  110. background-color: @textbox-disabled-background-color;
  111. background-image: none;
  112. }
  113. .claro .dijitSelectDisabled,
  114. .claro .dijitTextBoxDisabled,
  115. .claro .dijitTextBoxDisabled .dijitInputInner {
  116. color: @disabled-text-color;
  117. }
  118. .dj_webkit .claro .dijitDisabled input {
  119. /* because WebKit lightens disabled input/textarea no matter what color you specify */
  120. color: darken(@disabled-text-color, 5%)
  121. }
  122. .dj_webkit .claro textarea.dijitTextAreaDisabled {
  123. /* because WebKit lightens disabled input/textarea no matter what color you specify */
  124. color: darken(@disabled-text-color, 40%)
  125. }
  126. /*========================= for special widgets =========================*/
  127. /* Input boxes with an arrow (for a drop down) */
  128. .claro .dijitSelect .dijitArrowButtonInner,
  129. .claro .dijitComboBox .dijitArrowButtonInner {
  130. background-image: url("../@{image-form-common-arrows}");
  131. background-position:-35px 53%;
  132. background-repeat: no-repeat;
  133. margin: 0;
  134. width:16px;
  135. }
  136. .claro .dijitComboBox .dijitArrowButtonInner {
  137. border: 1px solid @arrowbutton-inner-border-color; // white gutter around the arrow button
  138. }
  139. .claro .dijitToolbar .dijitComboBox .dijitArrowButtonInner {
  140. border: none;
  141. }
  142. .claro .dijitToolbar .dijitComboBox .dijitArrowButtonInner {
  143. border: none;
  144. }
  145. /* Add 1px vertical padding to the <input> where user types and the validation icon,
  146. to match the 1px border on arrow button */
  147. .claro .dijitSelectLabel,
  148. .claro .dijitTextBox .dijitInputInner,
  149. .claro .dijitValidationTextBox .dijitValidationContainer {
  150. padding: 1px 0;
  151. }
  152. .claro .dijitComboBox .dijitButtonNode {
  153. background-color: @arrowbutton-background-color;
  154. .standard-gradient("../");
  155. }
  156. /* Arrow "hover" effect:
  157. * The arrow button should change color whenever the mouse is in a position such that clicking it
  158. * will toggle the drop down. That's either (1) anywhere over the ComboBox or (2) over the arrow
  159. * button, depending on the openOnClick setting for the widget.
  160. */
  161. .claro .dijitComboBoxOpenOnClickHover .dijitButtonNode,
  162. .claro .dijitComboBox .dijitDownArrowButtonHover {
  163. background-color:@arrowbutton-hovered-background-color;
  164. }
  165. .claro .dijitComboBoxOpenOnClickHover .dijitArrowButtonInner,
  166. .claro .dijitComboBox .dijitDownArrowButtonHover .dijitArrowButtonInner {
  167. background-position:-70px 53%;
  168. }
  169. /* Arrow Button change when drop down is open */
  170. .claro .dijitComboBox .dijitHasDropDownOpen { // .dijitHasDropDown is on dijitArrowButton node
  171. background-color: @pressed-background-color;
  172. .active-gradient("../");
  173. padding: 1px; // Since no border on arrow button (see rule below)
  174. }
  175. .dj_iequirks .claro .dijitComboBox .dijitHasDropDownOpen {
  176. padding: 1px 0;
  177. }
  178. .claro .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner {
  179. background-position:-70px 53%;
  180. border: 0 none;
  181. }
  182. /* disabled state */
  183. .claro div.dijitComboBoxDisabled .dijitArrowButtonInner {
  184. /* specific selector set to override background-position setting from Button.js
  185. * (.claro .dijitComboBoxDisabled .dijitArrowButtonInner) */
  186. background-position:0 50%;
  187. background-color:@disabled-background-color;
  188. }
  189. /*========================= hacks for browsers =========================*/
  190. /* it seems the input[type="hidden"] has a height (16px) too... this may cause the widget's height calculate error */
  191. .dj_ff3 .claro .dijitInputField input[type="hidden"] {
  192. display: none;
  193. height: 0;
  194. width: 0;
  195. }
  196. .dj_borderbox .claro .dijitComboBox .dijitHasDropDownOpen .dijitArrowButtonInner {
  197. width:18px; // quirks mode means border-box sizing, so 18px with the border (same as 16px without border)
  198. }
  199. .dj_borderbox .claro .dijitComboBoxFocused .dijitHasDropDownOpen .dijitArrowButtonInner {
  200. width:16px; // when no border, then back to 16px just like content-box sizing
  201. }