Toggle.scss 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232
  1. /**
  2. * @class Ext.field.Toggle
  3. */
  4. /**
  5. * @var {number}
  6. * The width of the toggle slider
  7. */
  8. $toggleslider-width: dynamic(26px);
  9. /**
  10. * @var {number}
  11. * The width of the toggle slider in the {@link Global_CSS#$enable-big big} sizing scheme
  12. */
  13. $toggleslider-width-big: dynamic(45px);
  14. /**
  15. * @var {number}
  16. * The height of the toggle slider track
  17. */
  18. $toggleslider-track-height: dynamic(null);
  19. /**
  20. * @var {number}
  21. * The height of the toggle slider track in the {@link Global_CSS#$enable-big big} sizing scheme
  22. */
  23. $toggleslider-track-height-big: dynamic(null);
  24. /**
  25. * @var {color/list}
  26. * The background-color of the toggle slider track
  27. */
  28. $toggleslider-track-background-color: dynamic(null);
  29. /**
  30. * @var {number/list}
  31. * The border-width of the toggle slider track
  32. */
  33. $toggleslider-track-border-width: dynamic(null);
  34. /**
  35. * @var {string/list}
  36. * The border-style of the toggle slider track
  37. */
  38. $toggleslider-track-border-style: dynamic(null);
  39. /**
  40. * @var {color/list}
  41. * The border-color of the toggle slider track
  42. */
  43. $toggleslider-track-border-color: dynamic(null);
  44. /**
  45. * @var {number}
  46. * The border-radius of the toggle slider track
  47. */
  48. $toggleslider-track-border-radius: dynamic(null);
  49. /**
  50. * @var {number}
  51. * The border-radius of the toggle slider track in the {@link Global_CSS#$enable-big big} sizing scheme
  52. */
  53. $toggleslider-track-border-radius-big: dynamic(null);
  54. /**
  55. * @var {color}
  56. * The background-color of the toggle slider fill element
  57. */
  58. $toggleslider-fill-background-color: dynamic(null);
  59. /**
  60. * @var {color}
  61. * The background-color of the toggle slider fill element when disabled
  62. */
  63. $toggleslider-disabled-fill-background-color: dynamic(null);
  64. /**
  65. * @var {color}
  66. * The border-color of the toggle slider fill element
  67. */
  68. $toggleslider-fill-border-color: dynamic(null);
  69. /**
  70. * @var {color}
  71. * The border-color of the toggle slider fill element when disabled
  72. */
  73. $toggleslider-disabled-fill-border-color: dynamic(null);
  74. /**
  75. * @var {number}
  76. * Opacity of the toggle slider when disabled
  77. */
  78. $toggleslider-disabled-opacity: dynamic(null);
  79. /**
  80. * @var {number}
  81. * Amount of space to inset the toggle thumb from the left and right edge of the track
  82. */
  83. $toggleslider-thumb-inset: dynamic(null);
  84. /**
  85. * Creates a visual theme for a toggle slider.
  86. *
  87. * @param {string} $ui
  88. * The name of the UI being created. Can not included spaces or special punctuation
  89. * (used in CSS class names).
  90. *
  91. * @param {String} [$xtype=toggleslider] (protected) The {@link Ext.Class#xtype} to use
  92. * in CSS selectors. For use by UI mixins of derived classes.
  93. *
  94. * @param {number} $width
  95. * The width of the toggle slider
  96. *
  97. * @param {number} $width-big
  98. * The width of the toggle slider in the {@link Global_CSS#$enable-big big} sizing scheme
  99. *
  100. * @param {number} $track-height
  101. * The height of the toggle slider track
  102. *
  103. * @param {number} $track-height-big
  104. * The height of the toggle slider track in the {@link Global_CSS#$enable-big big} sizing scheme
  105. *
  106. * @param {color/list} $track-background-color
  107. * The background-color of the toggle slider track
  108. *
  109. * @param {number/list} $track-border-width
  110. * The border-width of the toggle slider track
  111. *
  112. * @param {string/list} $track-border-style
  113. * The border-style of the toggle slider track
  114. *
  115. * @param {color/list} $track-border-color
  116. * The border-color of the toggle slider track
  117. *
  118. * @param {number} $track-border-radius
  119. * The border-radius of the toggle slider track
  120. *
  121. * @param {number} $track-border-radius-big
  122. * The border-radius of the toggle slider track in the {@link Global_CSS#$enable-big big} sizing scheme
  123. *
  124. * @param {color} $fill-background-color
  125. * The background-color of the toggle slider fill element
  126. *
  127. * @param {color} $disabled-fill-background-color
  128. * The background-color of the toggle slider fill element when disabled
  129. *
  130. * @param {color} $fill-border-color
  131. * The border-color of the toggle slider fill element
  132. *
  133. * @param {color} $disabled-fill-border-color
  134. * The border-color of the toggle slider fill element when disabled
  135. *
  136. * @param {number} $disabled-opacity
  137. * Opacity of the toggle slider when disabled
  138. *
  139. * @param {number} $thumb-inset
  140. * Inset of thumb
  141. *
  142. * @member Ext.field.Toggle
  143. */
  144. @mixin toggleslider-ui(
  145. $ui: null,
  146. $xtype: toggleslider,
  147. $width: null,
  148. $width-big: null,
  149. $track-height: null,
  150. $track-height-big: null,
  151. $track-background-color: null,
  152. $track-border-width: null,
  153. $track-border-style: null,
  154. $track-border-color: null,
  155. $track-border-radius: null,
  156. $track-border-radius-big: null,
  157. $fill-background-color: null,
  158. $disabled-fill-background-color: null,
  159. $fill-border-color: null,
  160. $disabled-fill-border-color: null,
  161. $disabled-opacity: null,
  162. $thumb-inset: null
  163. ) {
  164. $ui-suffix: ui-suffix($ui);
  165. $arguments: intersect-arguments(toggleslider-ui, slider-ui);
  166. @include slider-ui($arguments...);
  167. .#{$prefix}#{$xtype}#{$ui-suffix} {
  168. width: $width;
  169. @if $enable-big {
  170. .#{$prefix}big & {
  171. width: $width-big;
  172. }
  173. }
  174. .#{$prefix}track-el,
  175. .#{$prefix}fill-el {
  176. border-radius: $track-border-radius;
  177. @if $enable-big {
  178. .#{$prefix}big & {
  179. border-radius: $track-border-radius;
  180. }
  181. }
  182. }
  183. @if $ui == null and $track-border-width == null {
  184. $track-border-width: $slider-track-border-width;
  185. }
  186. .#{$prefix}fill-el {
  187. @if $track-border-width != null {
  188. width: calc(100% + #{horizontal($track-border-width)});
  189. } @else {
  190. width: 100%;
  191. }
  192. }
  193. @if $thumb-inset != null {
  194. .#{$prefix}thumb-wrap-el {
  195. margin: 0 $thumb-inset;
  196. }
  197. }
  198. }
  199. }