baseMixin.scss 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. @mixin createAnimationTransition ($property, $duration: .1s, $func: ease-in-out) {
  2. transition: $property $duration $func;
  3. }
  4. @mixin createCheckboxIcon {
  5. .vxe-checkbox--icon {
  6. font-size: 1.22em;
  7. }
  8. .vxe-checkbox--icon {
  9. color: var(--vxe-ui-input-border-color);
  10. vertical-align: middle;
  11. font-weight: 700;
  12. user-select: none;
  13. }
  14. &.is--checked,
  15. &.is--indeterminate {
  16. color: var(--vxe-ui-font-primary-color);
  17. .vxe-checkbox--icon {
  18. color: var(--vxe-ui-font-primary-color);
  19. }
  20. }
  21. &:not(.is--disabled) {
  22. cursor: pointer;
  23. &:hover {
  24. .vxe-checkbox--icon {
  25. color: var(--vxe-ui-font-primary-color);
  26. }
  27. }
  28. }
  29. &.is--hidden {
  30. cursor: default;
  31. }
  32. &.is--disabled {
  33. color: var(--vxe-ui-font-disabled-color);
  34. cursor: not-allowed;
  35. .vxe-checkbox--icon {
  36. color: var(--vxe-ui-input-disabled-color);
  37. }
  38. }
  39. .vxe-checkbox--label {
  40. padding-left: 0.5em;
  41. vertical-align: middle;
  42. }
  43. }
  44. @mixin createRadioIcon {
  45. cursor: pointer;
  46. .vxe-radio--icon {
  47. font-size: 1.26em;
  48. }
  49. .vxe-radio--icon {
  50. color: var(--vxe-ui-input-border-color);
  51. border-radius: 50%;
  52. vertical-align: middle;
  53. font-weight: 700;
  54. user-select: none;
  55. }
  56. &.is--checked {
  57. color: var(--vxe-ui-font-primary-color);
  58. .vxe-radio--icon {
  59. color: var(--vxe-ui-font-primary-color);
  60. }
  61. }
  62. &:not(.is--disabled) {
  63. cursor: pointer;
  64. &:hover {
  65. .vxe-radio--icon {
  66. color: var(--vxe-ui-font-primary-color);
  67. }
  68. }
  69. }
  70. &.is--disabled {
  71. color: var(--vxe-ui-font-disabled-color);
  72. cursor: not-allowed;
  73. .vxe-radio--icon {
  74. color: var(--vxe-ui-input-disabled-color);
  75. }
  76. }
  77. .vxe-radio--label {
  78. padding-left: 0.5em;
  79. vertical-align: middle;
  80. }
  81. }
  82. @mixin createEmptyMask {
  83. &::after {
  84. content: "";
  85. position: absolute;
  86. top: 0;
  87. left: 0;
  88. width: 100%;
  89. height: 100%;
  90. z-index: 1;
  91. user-select: none;
  92. }
  93. }