DataItem.scss 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377
  1. /**
  2. * @class Ext.dataview.DataItem
  3. */
  4. /**
  5. * @var {color}
  6. * DataItem text color
  7. */
  8. $dataitem-color: dynamic($dataview-item-color);
  9. /**
  10. * @var {color}
  11. * DataItem text color when hovered
  12. */
  13. $dataitem-hovered-color: dynamic($dataview-item-hovered-color);
  14. /**
  15. * @var {color}
  16. * DataItem text color when selected
  17. */
  18. $dataitem-selected-color: dynamic($dataview-item-selected-color);
  19. /**
  20. * @var {color}
  21. * DataItem text color when pressed
  22. */
  23. $dataitem-pressed-color: dynamic($dataview-item-pressed-color);
  24. /**
  25. * @var {color}
  26. * DataItem background-color
  27. */
  28. $dataitem-background-color: dynamic($dataview-item-background-color);
  29. /**
  30. * @var {color}
  31. * background-color for `striped` DataItems
  32. */
  33. $dataitem-alt-background-color: dynamic($dataview-item-alt-background-color);
  34. /**
  35. * @var {color}
  36. * DataItem background-color when hovered
  37. */
  38. $dataitem-hovered-background-color: dynamic($dataview-item-hovered-background-color);
  39. /**
  40. * @var {color}
  41. * DataItem background-color when selected
  42. */
  43. $dataitem-selected-background-color: dynamic($dataview-item-selected-background-color);
  44. /**
  45. * @var {color}
  46. * DataItem background-color when pressed
  47. */
  48. $dataitem-pressed-background-color: dynamic($dataview-item-pressed-background-color);
  49. /**
  50. * @var {number}
  51. * DataItem border-width
  52. */
  53. $dataitem-border-width: dynamic($dataview-item-border-width);
  54. /**
  55. * @var {string}
  56. * DataItem border-style
  57. */
  58. $dataitem-border-style: dynamic($dataview-item-border-style);
  59. /**
  60. * @var {color}
  61. * DataItem border-color
  62. */
  63. $dataitem-border-color: dynamic($dataview-item-border-color);
  64. /**
  65. * @var {color}
  66. * DataItem border-color when hovered
  67. */
  68. $dataitem-hovered-border-color: dynamic($dataview-item-hovered-border-color);
  69. /**
  70. * @var {color}
  71. * DataItem border-color when selected
  72. */
  73. $dataitem-selected-border-color: dynamic($dataview-item-selected-border-color);
  74. /**
  75. * @var {color}
  76. * DataItem border-color when pressed
  77. */
  78. $dataitem-pressed-border-color: dynamic($dataview-item-pressed-border-color);
  79. /**
  80. * @var {number}
  81. * DataItem outline-width when focused
  82. */
  83. $dataitem-focused-outline-width: dynamic($dataview-item-focused-outline-width);
  84. /**
  85. * @var {string}
  86. * DataItem outline-style when focused
  87. */
  88. $dataitem-focused-outline-style: dynamic($dataview-item-focused-outline-style);
  89. /**
  90. * @var {color}
  91. * DataItem outline-color when focused
  92. */
  93. $dataitem-focused-outline-color: dynamic($dataview-item-focused-outline-color);
  94. /**
  95. * @var {number}
  96. * DataItem outline-offset when focused
  97. */
  98. $dataitem-focused-outline-offset: dynamic($dataview-item-focused-outline-offset);
  99. /**
  100. * @var {string/number}
  101. * DataItem font-weight
  102. */
  103. $dataitem-font-weight: dynamic($dataview-item-font-weight);
  104. /**
  105. * @var {number}
  106. * DataItem font-size
  107. */
  108. $dataitem-font-size: dynamic($dataview-item-font-size);
  109. /**
  110. * @var {number}
  111. * DataItem font-size in the {@link Global_CSS#$enable-big big} sizing scheme
  112. */
  113. $dataitem-font-size-big: dynamic($dataview-item-font-size-big);
  114. /**
  115. * @var {number}
  116. * DataItem line-height
  117. */
  118. $dataitem-line-height: dynamic($dataview-item-line-height);
  119. /**
  120. * @var {number}
  121. * DataItem line-height in the {@link Global_CSS#$enable-big big} sizing scheme
  122. */
  123. $dataitem-line-height-big: dynamic($dataview-item-line-height-big);
  124. /**
  125. * @var {string}
  126. * DataItem font-family
  127. */
  128. $dataitem-font-family: dynamic($dataview-item-font-family);
  129. /**
  130. * @var {number/list}
  131. * DataItem padding
  132. */
  133. $dataitem-padding: dynamic($dataview-item-padding);
  134. /**
  135. * @var {number/list}
  136. * DataItem padding in the {@link Global_CSS#$enable-big big} sizing scheme
  137. */
  138. $dataitem-padding-big: dynamic($dataview-item-padding-big);
  139. /**
  140. * @var {map}
  141. * Parameters for the "default" DataItem UI.
  142. * Set to `null` to eliminate the UI from the CSS output.
  143. */
  144. $dataitem-default-ui: dynamic((
  145. color: $dataitem-color,
  146. hovered-color: $dataitem-hovered-color,
  147. selected-color: $dataitem-selected-color,
  148. pressed-color: $dataitem-pressed-color,
  149. background-color: $dataitem-background-color,
  150. alt-background-color: $dataitem-alt-background-color,
  151. hovered-background-color: $dataitem-hovered-background-color,
  152. selected-background-color: $dataitem-selected-background-color,
  153. pressed-background-color: $dataitem-pressed-background-color,
  154. border-width: $dataitem-border-width,
  155. border-style: $dataitem-border-style,
  156. border-color: $dataitem-border-color,
  157. hovered-border-color: $dataitem-hovered-border-color,
  158. selected-border-color: $dataitem-selected-border-color,
  159. pressed-border-color: $dataitem-pressed-border-color,
  160. focused-outline-width: $dataitem-focused-outline-width,
  161. focused-outline-style: $dataitem-focused-outline-style,
  162. focused-outline-color: $dataitem-focused-outline-color,
  163. focused-outline-offset: $dataitem-focused-outline-offset,
  164. font-weight: $dataitem-font-weight,
  165. font-size: $dataitem-font-size,
  166. font-size-big: $dataitem-font-size-big,
  167. line-height: $dataitem-line-height,
  168. line-height-big: $dataitem-line-height-big,
  169. font-family: $dataitem-font-family,
  170. padding: $dataitem-padding,
  171. padding-big: $dataitem-padding-big
  172. ));
  173. /**
  174. * Creates a visual theme for a DataItem.
  175. *
  176. * @param {string} $ui
  177. * The name of the UI being created. Can not included spaces or special punctuation
  178. * (used in CSS class names).
  179. *
  180. * @param {String} [$xtype=dataitem] (protected) The {@link Ext.Class#xtype} to use
  181. * in CSS selectors. For use by UI mixins of derived classes.
  182. *
  183. * @param {color} $color
  184. * DataItem Item text color
  185. *
  186. * @param {color} $hovered-color
  187. * DataItem Item text color when hovered
  188. *
  189. * @param {color} $selected-color
  190. * DataItem Item text color when selected
  191. *
  192. * @param {color} $pressed-color
  193. * DataItem Item text color when pressed
  194. *
  195. * @param {color} $background-color
  196. * DataItem Item background-color
  197. *
  198. * @param {color} $alt-background-color
  199. * background-color for `striped` DataItems
  200. *
  201. * @param {color} $hovered-background-color
  202. * DataItem Item background-color when hovered
  203. *
  204. * @param {color} $selected-background-color
  205. * DataItem Item background-color when selected
  206. *
  207. * @param {color} $pressed-background-color
  208. * DataItem Item background-color when pressed
  209. *
  210. * @param {number} $border-width
  211. * DataItem Item border-width
  212. *
  213. * @param {string} $border-style
  214. * DataItem Item border-style
  215. *
  216. * @param {color} $border-color
  217. * DataItem Item border-color
  218. *
  219. * @param {color} $hovered-border-color
  220. * DataItem Item border-color when hovered
  221. *
  222. * @param {color} $selected-border-color
  223. * DataItem Item border-color when selected
  224. *
  225. * @param {color} $pressed-border-color
  226. * DataItem Item border-color when pressed
  227. *
  228. * @param {number} $focused-outline-width
  229. * DataItem outline-width when focused
  230. *
  231. * @param {string} $focused-outline-style
  232. * DataItem outline-style when focused
  233. *
  234. * @param {color} $focused-outline-color
  235. * DataItem outline-color when focused
  236. *
  237. * @param {number} $focused-outline-offset
  238. * DataItem outline-offset when focused
  239. *
  240. * @param {string/number} $font-weight
  241. * DataItem Item font-weight
  242. *
  243. * @param {number} $font-size
  244. * DataItem Item font-size
  245. *
  246. * @param {number} $font-size-big
  247. * DataItem Item font-size in the {@link Global_CSS#$enable-big big} sizing scheme
  248. *
  249. * @param {number} $line-height
  250. * DataItem Item line-height
  251. *
  252. * @param {number} $line-height-big
  253. * DataItem Item line-height in the {@link Global_CSS#$enable-big big} sizing scheme
  254. *
  255. * @param {string} $font-family
  256. * DataItem Item font-family
  257. *
  258. * @param {number/list} $padding
  259. * DataItem Item padding
  260. *
  261. * @param {number/list} $padding-big
  262. * DataItem Item padding in the {@link Global_CSS#$enable-big big} sizing scheme
  263. */
  264. @mixin dataitem-ui(
  265. $ui: null,
  266. $xtype: dataitem,
  267. $color: null,
  268. $hovered-color: null,
  269. $selected-color: null,
  270. $pressed-color: null,
  271. $background-color: null,
  272. $alt-background-color: null,
  273. $hovered-background-color: null,
  274. $selected-background-color: null,
  275. $pressed-background-color: null,
  276. $border-width: null,
  277. $border-style: null,
  278. $border-color: null,
  279. $hovered-border-color: null,
  280. $selected-border-color: null,
  281. $pressed-border-color: null,
  282. $focused-outline-width: null,
  283. $focused-outline-style: null,
  284. $focused-outline-color: null,
  285. $focused-outline-offset: null,
  286. $font-weight: null,
  287. $font-size: null,
  288. $font-size-big: null,
  289. $line-height: null,
  290. $line-height-big: null,
  291. $font-family: null,
  292. $padding: null,
  293. $padding-big: null
  294. ) {
  295. $ui-suffix: ui-suffix($ui);
  296. .#{$prefix}#{$xtype}#{$ui-suffix} {
  297. color: $color;
  298. background-color: $background-color;
  299. @include border($border-width, $border-style, $border-color);
  300. @include font($font-weight, $font-size, $line-height, $font-family);
  301. padding: $padding;
  302. @if $enable-big {
  303. .#{$prefix}big & {
  304. font-size: $font-size-big;
  305. line-height: $line-height-big;
  306. padding: $padding-big;
  307. }
  308. }
  309. &.#{$prefix}odd {
  310. background-color: $alt-background-color;
  311. }
  312. &.#{$prefix}hovered {
  313. color: $hovered-color;
  314. background-color: $hovered-background-color;
  315. border-color: $hovered-border-color;
  316. }
  317. &.#{$prefix}selected {
  318. .#{$prefix}show-selection > & {
  319. color: $selected-color;
  320. background-color: $selected-background-color;
  321. border-color: $selected-border-color;
  322. }
  323. }
  324. &.#{$prefix}pressed {
  325. color: $pressed-color;
  326. background-color: $pressed-background-color;
  327. border-color: $pressed-border-color;
  328. }
  329. &.#{$prefix}focused {
  330. .#{$prefix}keyboard-mode & {
  331. @include outline(
  332. $width: $focused-outline-width,
  333. $style: $focused-outline-style,
  334. $color: $focused-outline-color,
  335. $offset: $focused-outline-offset,
  336. $border-width: $border-width
  337. );
  338. }
  339. }
  340. }
  341. }