_custom_control.scss 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. .custom-checkbox .custom-control-label::before {
  2. border-radius: $border-radius !important;
  3. }
  4. label.custom-control-label {
  5. font-weight: normal;
  6. }
  7. .custom-switch.custom-switch-sm {
  8. $custom-control-indicator-size-sm: $custom-control-indicator-size * 0.8;
  9. $custom-switch-width-sm: $custom-control-indicator-size-sm * 1.75;
  10. $custom-control-gutter-sm: $custom-control-gutter * 0.8;
  11. $custom-control-indicator-size-sm: $custom-control-indicator-size * 0.8;
  12. $custom-switch-indicator-size-sm: subtract($custom-control-indicator-size-sm, $custom-control-indicator-border-width * 4);
  13. padding-left: $custom-switch-width-sm + $custom-control-gutter-sm;
  14. .custom-control-label {
  15. &::before {
  16. left: -($custom-switch-width-sm + $custom-control-gutter-sm);
  17. width: $custom-switch-width-sm;
  18. height: $custom-control-indicator-size-sm;
  19. }
  20. &::after {
  21. top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);
  22. left: add(-($custom-switch-width-sm + $custom-control-gutter-sm), $custom-control-indicator-border-width * 2);
  23. width: $custom-switch-indicator-size-sm;
  24. height: $custom-switch-indicator-size-sm;
  25. }
  26. }
  27. .custom-control-input:checked ~ .custom-control-label {
  28. &::after {
  29. transform: translateX($custom-switch-width-sm - $custom-control-indicator-size-sm);
  30. }
  31. }
  32. }
  33. //lg
  34. .custom-switch.custom-switch-lg {
  35. $custom-control-indicator-size-lg: $custom-control-indicator-size * 1.5;
  36. $custom-switch-width-lg: $custom-control-indicator-size-lg * 1.75;
  37. $custom-control-gutter-lg: $custom-control-gutter * 1.5;
  38. $custom-control-indicator-size-lg: $custom-control-indicator-size * 1.5;
  39. $custom-switch-indicator-size-lg: subtract($custom-control-indicator-size-lg, $custom-control-indicator-border-width * 4);
  40. padding-left: $custom-switch-width-lg + $custom-control-gutter-lg;
  41. line-height: $custom-control-indicator-size-lg;
  42. .custom-control-label {
  43. &::before {
  44. top: ($font-size-base * $line-height-base - $custom-control-indicator-size-lg) / 2;
  45. left: -($custom-switch-width-lg + $custom-control-gutter-lg);
  46. width: $custom-switch-width-lg;
  47. height: $custom-control-indicator-size-lg;
  48. border-radius: $custom-control-indicator-size-lg/2;
  49. }
  50. &::after {
  51. top: add(($font-size-base * $line-height-base - $custom-control-indicator-size-lg) / 2, $custom-control-indicator-border-width * 2);
  52. left: add(-($custom-switch-width-lg + $custom-control-gutter-lg), $custom-control-indicator-border-width * 2);
  53. width: $custom-switch-indicator-size-lg;
  54. height: $custom-switch-indicator-size-lg;
  55. border-radius: $custom-control-indicator-size-lg/2;
  56. }
  57. }
  58. .custom-control-input:checked ~ .custom-control-label {
  59. &::after {
  60. transform: translateX($custom-switch-width-lg - $custom-control-indicator-size-lg);
  61. }
  62. }
  63. }
  64. .custom-switch.custom-switch-slack {
  65. .custom-control-label {
  66. &::before {
  67. background-color: $gray-200;
  68. border-color: transparent;
  69. }
  70. &::after {
  71. background-size: 15px;
  72. }
  73. }
  74. .input-group-addon {
  75. input {
  76. vertical-align: middle;
  77. }
  78. }
  79. }