123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175 |
- @import "../styles/mixins/index.less";
- @import "../styles/themes/index.less";
- .fab-button-style(@theme, @color) {
- &--@{theme} &__action,
- &--@{theme} &__button,
- &--@{theme} &__button--disabled {
- background-color: @color !important;
- }
- }
- .@{wux-prefix}-fab-button {
- position: fixed;
- z-index: @z-index-fab-button;
- &--center {
- left: 50%;
- top: 50%;
- transform: translate3d(-50%, -50%, 0);
- }
- &--topLeft {
- left: 15px;
- top: 15px;
- }
- &--topRight {
- right: 15px;
- top: 15px;
- }
- &--bottomLeft {
- left: 15px;
- bottom: 15px;
- }
- &--bottomRight {
- right: 15px;
- bottom: 15px;
- }
- &--vertical&--topLeft &__label,
- &--vertical&--bottomLeft &__label {
- left: 60px;
- }
- &--vertical&--center &__label,
- &--vertical&--topRight &__label,
- &--vertical&--bottomRight &__label {
- right: 60px;
- }
- &__action {
- .square(@fab-button-action-size);
- position: relative;
- border-radius: 50%;
- z-index: @z-index-fab-button;
- background-color: @fab-button-balanced-bg;
- color: @text-color-inverse;
- overflow: visible;
- transition-duration: .3s;
- display: flex;
- align-items: center;
- justify-content: center;
- box-shadow: @fab-button-box-shadow;
- right: 0;
- bottom: 0;
- position: relative;
- &--hover {
- transition-duration: 0s;
- opacity: .8 !important;
- }
- &--hide-shadow {
- box-shadow: none !important;
- }
- }
- &__icon {
- display: inline-block;
- width: @fab-button-icon-size;
- height: @fab-button-icon-size;
- font-size: @fab-button-icon-size;
- line-height: 1;
- }
- &__text {
- display: inline-block;
- width: @fab-button-icon-size;
- height: @fab-button-icon-size;
- font-size: @fab-button-icon-size;
- line-height: 1;
- transition: transform 150ms cubic-bezier(0.4, 0, 1, 1);
- &--rotate {
- transform: scale(1) rotate(135deg);
- }
- }
- &__button {
- .button-reset();
- color: @text-color-inverse !important;
- border-radius: 50%;
- overflow: visible;
- background-color: @fab-button-balanced-bg !important;
- transition-duration: .3s;
- display: flex;
- align-items: center;
- justify-content: center;
- box-shadow: @fab-button-box-shadow;
- position: absolute;
- top: 0;
- left: 0;
- opacity: 0;
- z-index: 2;
- width: 100% !important;
- height: 100%;
- &--hover {
- transition-duration: 0s;
- opacity: .8 !important;
- }
- &--disabled {
- opacity: @disabled-opacity !important;
- }
- &--hide-shadow {
- box-shadow: none !important;
- }
- }
- &__label {
- position: absolute;
- top: 50%;
- padding: @fab-button-label-padding;
- font-size: @font-size-sm;
- background: @fab-button-label-bg;
- border-radius: @border-radius-base;
- color: @fab-button-label-color;
- pointer-events: none;
- white-space: nowrap;
- opacity: 0;
- box-sizing: border-box;
- transform: translate3d(0, -50%, 0);
- transition: all 0.3s;
- }
- &--vertical&--opened &__label {
- opacity: 1;
- }
- &__backdrop {
- position: fixed;
- z-index: @z-index-backdrop;
- top: 0;
- right: 0;
- left: 0;
- bottom: 0;
- background: @backdrop-background-inverse;
- }
- .fab-button-style(light, @fab-button-light-bg);
- .fab-button-style(stable, @fab-button-stable-bg);
- .fab-button-style(positive, @fab-button-positive-bg);
- .fab-button-style(calm, @fab-button-calm-bg);
- .fab-button-style(assertive, @fab-button-assertive-bg);
- .fab-button-style(balanced, @fab-button-balanced-bg);
- .fab-button-style(energized, @fab-button-energized-bg);
- .fab-button-style(royal, @fab-button-royal-bg);
- .fab-button-style(dark, @fab-button-dark-bg);
- }
|