| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- @import './variables.scss';
- $module: #{$prefix}-floatButton;
- $moduleGroup: #{$prefix}-floatButtonGroup;
- .#{$module} {
- position: fixed;
- bottom: $spacing-floatButton-bottom;
- right: $spacing-floatButton-right;
- z-index: $z-floatButton;
- cursor: pointer;
- &-body {
- background-color: $color-floatButton-bg;
- box-shadow: $shadow-floatButton;
- color: $color-floatButton-text;
- display: flex;
- align-items: center;
- justify-content: center;
- &:hover {
- background-color: $color-floatButton-bg-hover;
- }
- &:active {
- background-color: $color-floatButton-bg-active;
- }
- }
- &-disabled {
- background: $color-floatButton-disabled-bg;
- color: $color-floatButton-disabled-text;
- cursor: not-allowed;
- &:hover {
- background-color: $color-floatButton-disabled-bg;
- }
- }
- &-colorful {
- background: $color-floatButton-colorful-bg;
- color: $color-floatButton-colorful-text;
- &:hover {
- background: $color-floatButton-colorful-bg-hover;
- }
- &:active {
- background: $color-floatButton-colorful-bg-active;
- }
- }
- &.#{$module}-square {
-
- .#{$prefix}-badge-dot, .#{$prefix}-badge-count {
- /* Calculation logic:
- The center of the badge is the intersection of two lines.
- - The first line is the connecting line between the center of the floatButton and the upper right corner of the enclosing rectangle.
- - The second line is the border of the floatButton.
- Can be calculated through radius, (√2 - 1)/√2 * R = 0.29 * R
- */
- top: calc(0.29 * $radius-floatButton_square);
- inset-inline-end: calc(0.29 * $radius-floatButton_square);
- }
- }
- &-default {
- width: $width-floatButton;
- height: $width-floatButton;
- &.#{$module}-round {
-
- .#{$prefix}-badge-dot, .#{$prefix}-badge-count {
- /* Calculation logic:
- The center of the badge is the intersection of two lines.
- - The first line is the connecting line between the center of the floatButton and the upper right corner of the enclosing rectangle.
- - The second line is the border of the floatButton.
- Can be calculated through radius (√2 - 1)/√2 * R = 0.29 * R,and R = 0.5 * width
- */
- top: calc(0.29 * 0.5 * $width-floatButton);
- inset-inline-end: calc(0.29 * 0.5 * $width-floatButton);
- }
- }
- }
- &-small {
- width: $width-floatButton_small;
- height: $width-floatButton_small;
- &.#{$module}-round {
-
- .#{$prefix}-badge-dot, .#{$prefix}-badge-count {
- top: calc(0.29 * 0.5 * $width-floatButton_small);
- inset-inline-end: calc(0.29 * 0.5 *$width-floatButton_small);
- }
- }
- }
- &-large {
- width: $width-floatButton_large;
- height: $width-floatButton_large;
- &.#{$module}-round {
-
- .#{$prefix}-badge-dot, .#{$prefix}-badge-count {
- top: calc(0.29 * 0.5 * $width-floatButton_large);
- inset-inline-end: calc(0.29 * 0.5 * $width-floatButton_large);
- }
- }
- }
- &-square {
- border-radius: $radius-floatButton_square;
- }
- &-round {
- border-radius: $radius-floatButton_round;
- }
- }
- .#{$moduleGroup} {
- position: fixed;
- border-radius: $radius-floatButton_group-border-radius;
- bottom: $spacing-floatButton_group-bottom;
- right: $spacing-floatButton_group-right;
- z-index: $z-floatButton_group;
- background: $color-floatButton_group-bg;
- box-shadow: $shadow-floatButton_group;
- display: inline-flex;
- padding: $spacing-floatButton_group-padding;
- gap: $spacing-floatButton_group-columnGap;
- &-item {
- cursor: pointer;
- display: flex;
- padding: $spacing-floatButton_group_item-paddingY $spacing-floatButton_group_item-paddingX;
- align-items: center;
- column-gap: $spacing-floatButton_group_item-columnGap;
- border-radius: $radius-floatButton_group_item-border-radius;
- color: $color-floatButton_group_item-text;
- font-size: $font-floatButton_group_item-fontSize;
- font-style: normal;
- font-weight: $font-floatButton_group_item-fontWeight;
- line-height: $font-floatButton_group_item-lineHeight;
- &:hover {
- background: $color-floatButton_group_item-bg-hover;
- }
- &:active {
- background: $color-floatButton_group_item-bg-active;
- }
- }
- }
- @import "./rtl.scss";
|