智慧水务管理系统 - 精河县供水工程综合管理平台

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. @use 'sass:map';
  2. @use 'common/var' as *;
  3. @use 'mixins/mixins' as *;
  4. @use 'mixins/var' as *;
  5. @use 'mixins/button' as *;
  6. @include b(checkbox-button) {
  7. @include set-component-css-var('checkbox-button', $checkbox-button);
  8. }
  9. @include b(checkbox-button) {
  10. position: relative;
  11. display: inline-block;
  12. @include e(inner) {
  13. display: inline-block;
  14. line-height: 1;
  15. font-weight: getCssVar('checkbox-font-weight');
  16. white-space: nowrap;
  17. vertical-align: middle;
  18. cursor: pointer;
  19. background: var(
  20. #{getCssVarName('button-bg-color')},
  21. map.get($button, 'bg-color')
  22. );
  23. outline: getCssVar('border');
  24. color: var(
  25. #{getCssVarName('button-text-color')},
  26. map.get($button, 'text-color')
  27. );
  28. -webkit-appearance: none;
  29. text-align: center;
  30. box-sizing: border-box;
  31. margin: 0;
  32. position: relative;
  33. transition: getCssVar('transition-all');
  34. user-select: none;
  35. @include button-size(
  36. map.get($button-padding-vertical, 'default') - $button-border-width,
  37. map.get($button-padding-horizontal, 'default') - $button-border-width,
  38. map.get($button-font-size, 'default'),
  39. 0
  40. );
  41. &:hover {
  42. color: getCssVar('color-primary');
  43. }
  44. & [class*='#{$namespace}-icon-'] {
  45. line-height: 0.9;
  46. & + span {
  47. margin-left: 5px;
  48. }
  49. }
  50. }
  51. @include e(original) {
  52. opacity: 0;
  53. outline: none;
  54. position: absolute;
  55. margin: 0;
  56. z-index: -1;
  57. }
  58. &.is-checked {
  59. & .#{$namespace}-checkbox-button__inner {
  60. color: getCssVar('checkbox-button-checked-text-color');
  61. background-color: getCssVar('checkbox-button-checked-bg-color');
  62. border-color: getCssVar('checkbox-button-checked-border-color');
  63. box-shadow: -1px 0 0 0 getCssVar('color-primary-light-7');
  64. }
  65. &:first-child .#{$namespace}-checkbox-button__inner {
  66. border-left-color: getCssVar('checkbox-button-checked-border-color');
  67. }
  68. }
  69. &.is-disabled {
  70. & .#{$namespace}-checkbox-button__inner {
  71. color: getCssVar('disabled-text-color');
  72. cursor: not-allowed;
  73. background-image: none;
  74. background-color: var(
  75. #{getCssVarName('button-disabled-bg-color')},
  76. map.get($button, 'disabled-bg-color')
  77. );
  78. border-color: var(
  79. #{getCssVarName('button-disabled-border-color')},
  80. map.get($button, 'disabled-border-color')
  81. );
  82. box-shadow: none;
  83. }
  84. &:first-child .#{$namespace}-checkbox-button__inner {
  85. border-left-color: var(
  86. #{getCssVarName('button-disabled-border-color')},
  87. map.get($button, 'disabled-border-color')
  88. );
  89. }
  90. @include when(checked) {
  91. .#{$namespace}-checkbox-button__inner {
  92. background-color: getCssVar('checkbox-button-disabled-checked-fill');
  93. }
  94. }
  95. }
  96. &:first-child {
  97. .#{$namespace}-checkbox-button__inner {
  98. border-top-left-radius: getCssVar('border-radius-base');
  99. border-bottom-left-radius: getCssVar('border-radius-base');
  100. box-shadow: none !important;
  101. }
  102. }
  103. &.is-focus {
  104. & .#{$namespace}-checkbox-button__inner {
  105. border-color: getCssVar('checkbox-button-checked-border-color');
  106. }
  107. }
  108. &:last-child {
  109. .#{$namespace}-checkbox-button__inner {
  110. border-top-right-radius: getCssVar('border-radius-base');
  111. border-bottom-right-radius: getCssVar('border-radius-base');
  112. }
  113. }
  114. @each $size in (large, small) {
  115. @include m($size) {
  116. .#{$namespace}-checkbox-button__inner {
  117. @include button-size(
  118. map.get($button-padding-vertical, $size) - $button-border-width,
  119. map.get($button-padding-horizontal, $size) - $button-border-width,
  120. map.get($button-font-size, $size),
  121. 0
  122. );
  123. }
  124. }
  125. }
  126. }