/* decor */ %button, %internal-button { @extend %user-select-none; cursor: pointer; white-space: nowrap; text-decoration: none; } %button:disabled, %internal-button:disabled { cursor: default; box-shadow: none; } %primary-button, %secondary-button, %dangerous-button { @extend %button; border-width: 1px; border-radius: $decor-radius-100; box-shadow: $decor-elevation-300; } /* color */ %primary-button { @extend %frame-blue-800; } %primary-button:hover:not(:disabled):not(:active), %primary-button:focus { @extend %frame-blue-700; } %primary-button:disabled { @extend %frame-blue-600; } %primary-button:hover:active { @extend %frame-blue-900; } /**/ %secondary-button:hover:not(:disabled):not(:active), %secondary-button:focus { @extend %frame-gray-300; } %secondary-button { @extend %frame-gray-400; } %secondary-button:disabled { color: $gray-600; } %secondary-button:active { /* %frame-gray-something */ @extend %frame-gray-700; background-color: $gray-200; color: $gray-800; border-color: $gray-700; } /**/ %dangerous-button { @extend %frame-red-300; } %dangerous-button:hover:not(:disabled):not(:active), %dangerous-button:focus { @extend %frame-red-700; } %dangerous-button:disabled { @extend %frame-red-600; } %dangerous-button:hover:active { @extend %frame-red-900; } %internal-button { color: var(--gray-900); background-color: var(--gray-000); } %internal-button-dangerous { @extend %frame-red-300; } %internal-button-dangerous-intent { @extend %frame-red-700; } %internal-button-intent { background-color: var(--gray-050); } %internal-button:focus, %internal-button:hover { @extend %internal-button-intent; } %internal-button-dangerous:focus, %internal-button-dangerous:hover { @extend %internal-button-dangerous-intent; } %split-button span::after { @extend %as-pseudo; position: absolute; width: 1px; top: 0; height: 100%; margin-left: 8px; background-color: $gray-300; } %sort-button::before { @extend %with-sort-mask, %as-pseudo; position: relative; top: 4px; width: 16px; height: 16px; } %sort-button::after { top: 0 !important; }