123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- .chooser {
- &.blank .chosen {
- display: none;
- }
- &:not(.blank) .unchosen {
- display: none;
- }
- }
- // Very subdued button style specifically for choosers, as there can be a lot of
- // chooser fields left unused on a page editing form.
- .chooser__choose-button {
- display: flex;
- align-items: center;
- border-color: transparent;
- padding-inline-start: 0;
- // So the outline is slightly more separated from the text.
- padding-inline-end: $focus-outline-width;
- .icon {
- @include svg-icon(theme('spacing.5'), initial);
- color: inherit;
- margin-inline-end: 5px;
- }
- &:hover,
- &:focus {
- color: $color-button-hover;
- background-color: $color-white;
- }
- }
- .chosen {
- display: flex;
- gap: theme('spacing.4');
- align-items: center;
- }
- .chooser__preview {
- display: grid;
- align-items: center;
- justify-content: center;
- width: 60px;
- height: 60px;
- // Prevent this item from getting smaller if the title is long.
- flex-shrink: 0;
- background-color: theme('colors.grey.150');
- color: $color-white;
- border-radius: theme('borderRadius.sm');
- @media (forced-colors: active) {
- border: 1px solid transparent;
- }
- .icon {
- width: theme('spacing.7');
- height: theme('spacing.7');
- color: inherit;
- }
- }
- .chooser__title {
- @apply w-body-text-large;
- }
- .chooser__actions {
- display: flex;
- gap: theme('spacing.[1.5]');
- .button {
- // Subdued border as there can be a lot of chooser action buttons on a page.
- border-color: theme('colors.grey.150');
- }
- // Hiding for devices capable of hover states only,
- // with opacity only so keyboard focus can move to the first interactive element to reveal it.
- @media (hover: hover) {
- opacity: 0;
- .chooser:hover &,
- .chooser:focus-within & {
- opacity: 1;
- }
- }
- }
- .chooser__image {
- max-width: 200px;
- max-height: 140px;
- height: auto;
- width: auto;
- }
|