iconButton.scss 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. @import "./variables.scss";
  2. @import "../keyframes/rotate.scss";
  3. $module: #{$prefix}-button;
  4. .#{$module} {
  5. @keyframes #{$prefix}-animation-rotate {
  6. from {
  7. transform: rotate(0);
  8. }
  9. to {
  10. transform: rotate(360deg);
  11. }
  12. }
  13. &.#{$module}-with-icon {
  14. display: inline-flex;
  15. align-items: center;
  16. .#{$module}-content {
  17. display: flex;
  18. align-items: center;
  19. justify-content: center;
  20. }
  21. }
  22. &.#{$module}-loading {
  23. pointer-events: none;
  24. cursor: not-allowed;
  25. .#{$module}-content {
  26. &>svg {
  27. width: 16px;
  28. height: 16px;
  29. animation: .6s linear infinite #{$prefix}-animation-rotate;
  30. animation-fill-mode: forwards;
  31. }
  32. }
  33. }
  34. &.#{$module}-with-icon-only {
  35. padding-left: $spacing-button_iconOnly_default-paddingLeft;
  36. padding-right: $spacing-button_iconOnly_default-paddingRight;
  37. padding-top: $spacing-button_iconOnly_default-paddingTop;
  38. padding-bottom: $spacing-button_iconOnly_default-paddingRight;
  39. height: $height-button_iconOnly_default;
  40. width: $width-button_iconOnly_default;
  41. justify-content: center;
  42. align-items: center;
  43. &.#{$module}-size {
  44. &-small {
  45. padding-left: $spacing-button_iconOnly_small-paddingLeft;
  46. padding-right: $spacing-button_iconOnly_small-paddingRight;
  47. padding-top: $spacing-button_iconOnly_small-paddingTop;
  48. padding-bottom: $spacing-button_iconOnly_small-paddingBottom;
  49. height: $height-button_iconOnly_small;
  50. width: $width-button_iconOnly_small;
  51. }
  52. &-large {
  53. padding-left: $spacing-button_iconOnly_large-paddingLeft;
  54. padding-right: $spacing-button_iconOnly_large-paddingRight;
  55. padding-top: $spacing-button_iconOnly_large-paddingTop;
  56. padding-bottom: $spacing-button_iconOnly_large-paddingBottom;
  57. height: $height-button_iconOnly_large;
  58. width: $width-button_iconOnly_large;
  59. }
  60. }
  61. }
  62. &-content {
  63. &-left {
  64. margin-right: $spacing-button_iconOnly_content-marginRight;
  65. display: flex;
  66. align-items: center;
  67. }
  68. &-right {
  69. margin-left: $spacing-button_iconOnly_content-marginLeft;
  70. display: flex;
  71. align-items: center;
  72. }
  73. }
  74. }
  75. @import "./rtl.scss";