/* 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: var(--decor-radius-100); box-shadow: var(--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: rgb(var(--tone-gray-600)); } %secondary-button:active { /* %frame-gray-something */ @extend %frame-gray-700; background-color: rgb(var(--tone-gray-200)); color: rgb(var(--tone-gray-800)); border-color: rgb(var(--tone-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: rgb(var(--tone-gray-900)); background-color: rgb(var(--tone-gray-000)); } %internal-button-dangerous { @extend %frame-red-300; } %internal-button-dangerous-intent { @extend %frame-red-700; } %internal-button-intent { background-color: rgb(var(--tone-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: rgb(var(--tone-gray-300)); } %sort-button::before { @extend %with-sort-mask, %as-pseudo; position: relative; width: 16px; height: 16px; } %sort-button::after { top: 0 !important; }