gitea源码

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. /* based on Fomantic UI input module, with just the parts extracted that we use. If you find any
  2. unused rules here after refactoring, please remove them. */
  3. .ui.input {
  4. position: relative;
  5. font-weight: var(--font-weight-normal);
  6. display: inline-flex;
  7. color: var(--color-input-text);
  8. }
  9. .ui.input > input {
  10. margin: 0;
  11. max-width: 100%;
  12. flex: 1 0 auto;
  13. outline: none;
  14. font-family: var(--fonts-regular);
  15. padding: 0.67857143em 1em;
  16. border: 1px solid var(--color-input-border);
  17. color: var(--color-input-text);
  18. border-radius: 0.28571429rem;
  19. line-height: var(--line-height-default);
  20. text-align: start;
  21. }
  22. .ui.disabled.input,
  23. .ui.input:not(.disabled) input[disabled] {
  24. opacity: var(--opacity-disabled);
  25. }
  26. .ui.disabled.input > input,
  27. .ui.input:not(.disabled) input[disabled] {
  28. pointer-events: none;
  29. }
  30. .ui.input.focus > input,
  31. .ui.input > input:focus {
  32. border-color: var(--color-primary);
  33. }
  34. .ui.input.error > input {
  35. background: var(--color-error-bg);
  36. border-color: var(--color-error-border);
  37. color: var(--color-error-text);
  38. }
  39. .ui.icon.input > i.icon {
  40. display: flex;
  41. align-items: center;
  42. justify-content: center;
  43. cursor: default;
  44. position: absolute;
  45. text-align: center;
  46. top: 0;
  47. right: 0;
  48. margin: 0;
  49. height: 100%;
  50. width: 2.67142857em;
  51. opacity: 0.5;
  52. border-radius: 0 0.28571429rem 0.28571429rem 0;
  53. pointer-events: none;
  54. padding: 4px;
  55. }
  56. .ui.icon.input > i.icon.is-loading {
  57. position: absolute !important;
  58. height: 28px;
  59. top: 4px;
  60. }
  61. .ui.icon.input > i.icon.is-loading > * {
  62. visibility: hidden;
  63. }
  64. .ui.ui.ui.ui.icon.input > textarea,
  65. .ui.ui.ui.ui.icon.input > input {
  66. padding-right: 2.67142857em;
  67. }
  68. .ui.icon.input > i.link.icon {
  69. cursor: pointer;
  70. }
  71. .ui.icon.input > i.circular.icon {
  72. top: 0.35em;
  73. right: 0.5em;
  74. }
  75. .ui[class*="left icon"].input > i.icon {
  76. right: auto;
  77. left: 1px;
  78. border-radius: 0.28571429rem 0 0 0.28571429rem;
  79. }
  80. .ui[class*="left icon"].input > i.circular.icon {
  81. right: auto;
  82. left: 0.5em;
  83. }
  84. .ui.ui.ui.ui[class*="left icon"].input > textarea,
  85. .ui.ui.ui.ui[class*="left icon"].input > input {
  86. padding-left: 2.67142857em;
  87. padding-right: 1em;
  88. }
  89. .ui.icon.input > textarea:focus ~ .icon,
  90. .ui.icon.input > input:focus ~ .icon {
  91. opacity: 1;
  92. }
  93. .ui.icon.input > textarea ~ i.icon {
  94. height: 3em;
  95. }
  96. .ui.form .field.error > .ui.action.input > .ui.button,
  97. .ui.action.input.error > .ui.button {
  98. border-top: 1px solid var(--color-error-border);
  99. border-bottom: 1px solid var(--color-error-border);
  100. }
  101. .ui.action.input > .button,
  102. .ui.action.input > .buttons {
  103. display: flex;
  104. align-items: center;
  105. flex: 0 0 auto;
  106. }
  107. .ui.action.input > .button,
  108. .ui.action.input > .buttons > .button {
  109. padding-top: 0.78571429em;
  110. padding-bottom: 0.78571429em;
  111. margin: 0;
  112. }
  113. .ui.action.input:not([class*="left action"]) > input {
  114. border-top-right-radius: 0;
  115. border-bottom-right-radius: 0;
  116. border-right-color: transparent;
  117. }
  118. .ui.action.input > .dropdown:first-child,
  119. .ui.action.input > .button:first-child,
  120. .ui.action.input > .buttons:first-child > .button {
  121. border-radius: 0.28571429rem 0 0 0.28571429rem;
  122. }
  123. .ui.action.input > .dropdown:not(:first-child),
  124. .ui.action.input > .button:not(:first-child),
  125. .ui.action.input > .buttons:not(:first-child) > .button {
  126. border-radius: 0;
  127. }
  128. .ui.action.input > .dropdown:last-child,
  129. .ui.action.input > .button:last-child,
  130. .ui.action.input > .buttons:last-child > .button {
  131. border-radius: 0 0.28571429rem 0.28571429rem 0;
  132. }
  133. .ui.fluid.input {
  134. display: flex;
  135. }
  136. .ui.fluid.input > input {
  137. width: 0 !important;
  138. }
  139. .ui.tiny.input {
  140. font-size: 0.85714286em;
  141. }
  142. .ui.small.input {
  143. font-size: 0.92857143em;
  144. }
  145. .ui.action.input .ui.ui.button {
  146. border-color: var(--color-input-border);
  147. padding-top: 0; /* the ".action.input" is "flex + stretch", so let the buttons layout themselves */
  148. padding-bottom: 0;
  149. }
  150. /* currently used for search bar dropdowns in repo search and explore code */
  151. .ui.action.input:not([class*="left action"]) > .ui.dropdown.selection {
  152. min-width: 10em;
  153. }
  154. .ui.action.input:not([class*="left action"]) > .ui.dropdown.selection:not(:focus) {
  155. border-right: none;
  156. }
  157. .ui.action.input:not([class*="left action"]) > .ui.dropdown.selection:not(.active):hover {
  158. border-color: var(--color-input-border);
  159. }
  160. .ui.action.input:not([class*="left action"]) .ui.dropdown.selection.upward.visible {
  161. border-bottom-left-radius: 0 !important;
  162. border-bottom-right-radius: 0 !important;
  163. }
  164. .ui.action.input:not([class*="left action"]) > input,
  165. .ui.action.input:not([class*="left action"]) > input:hover {
  166. border-right: none;
  167. }
  168. .ui.action.input:not([class*="left action"]) > input:focus + .ui.dropdown.selection,
  169. .ui.action.input:not([class*="left action"]) > input:focus + .ui.dropdown.selection:hover,
  170. .ui.action.input:not([class*="left action"]) > input:focus + .button,
  171. .ui.action.input:not([class*="left action"]) > input:focus + .button:hover,
  172. .ui.action.input:not([class*="left action"]) > input:focus + i.icon + .button,
  173. .ui.action.input:not([class*="left action"]) > input:focus + i.icon + .button:hover {
  174. border-left-color: var(--color-primary);
  175. }
  176. .ui.action.input:not([class*="left action"]) > input:focus {
  177. border-right-color: var(--color-primary);
  178. }