UNPKG

@adobe/coral-spectrum

Version:

Coral Spectrum is a JavaScript library of Web Components following Spectrum design patterns.

540 lines (514 loc) 22.3 kB
/** * Copyright 2019 Adobe. All rights reserved. * This file is licensed to you under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. You may obtain a copy * of the License at http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS * OF ANY KIND, either express or implied. See the License for the specific language * governing permissions and limitations under the License. */ ._coral-Radio { display: -ms-inline-flexbox; display: inline-flex; -ms-flex-align: start; align-items: flex-start; position: relative; min-height: 32px; max-width: 100%; margin-right: 16px; vertical-align: top; } ._coral-Radio-input { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; overflow: visible; box-sizing: border-box; padding: 0; position: absolute; top: 0; left: -8px; width: calc(100% + 16px); height: 100%; opacity: .0001; z-index: 1; cursor: pointer; } ._coral-Radio-input:disabled { cursor: default; } ._coral-Radio-input:checked + ._coral-Radio-button:before { border-width: 5px; } ._coral-Radio-input.focus-ring + ._coral-Radio-button:after { margin: -2px; } ._coral-Radio-label { margin-left: 10px; margin-top: 5px; font-size: 14px; line-height: 1.49; transition: color 130ms ease-in-out; } ._coral-Radio-button { position: relative; box-sizing: border-box; width: 14px; height: 14px; margin: 9px 0; -ms-flex-positive: 0; flex-grow: 0; -ms-flex-negative: 0; flex-shrink: 0; } ._coral-Radio-button:before { display: block; z-index: 0; content: ''; box-sizing: border-box; position: absolute; width: 14px; height: 14px; border-radius: 7px; border-width: 2px; border-style: solid; transition: border 130ms ease-in-out, box-shadow 130ms ease-in-out; } ._coral-Radio-button:after { border-radius: 100%; content: ''; display: block; position: absolute; left: 0; right: 0; bottom: 0; top: 0; margin: 2px; transition: box-shadow 130ms ease-out, margin 130ms ease-out; } .coral-RadioGroup--labelsBelow ._coral-Radio { display: -ms-inline-flexbox; display: inline-flex; -ms-flex-direction: column; flex-direction: column; -ms-flex-align: center; align-items: center; height: auto; } .coral-RadioGroup--labelsBelow ._coral-Radio ._coral-Radio-button { -ms-flex-negative: 0; flex-shrink: 0; margin: 0; } .coral-RadioGroup--labelsBelow ._coral-Radio ._coral-Radio-label { margin: 3px 0 0 0; } .coral--large ._coral-Radio { min-height: 40px; margin-right: 20px; } .coral--large ._coral-Radio-input { left: -10px; width: calc(100% + 20px); } .coral--large ._coral-Radio-input:checked + ._coral-Radio-button:before { border-width: 7px; } .coral--large ._coral-Radio-input.focus-ring + ._coral-Radio-button:after { margin: -2px; } .coral--large ._coral-Radio-label { margin-left: 13px; margin-top: 6px; font-size: 17px; line-height: 1.49; transition: color 130ms ease-in-out; } .coral--large ._coral-Radio-button { width: 18px; height: 18px; margin: 11px 0; } .coral--large ._coral-Radio-button:before { width: 18px; height: 18px; border-radius: 9px; border-width: 2px; transition: border 130ms ease-in-out, box-shadow 130ms ease-in-out; } .coral--large ._coral-Radio-button:after { margin: 2px; transition: box-shadow 130ms ease-out, margin 130ms ease-out; } .coral--large .coral-RadioGroup--labelsBelow ._coral-Radio { height: auto; } .coral--large .coral-RadioGroup--labelsBelow ._coral-Radio ._coral-Radio-label { margin: 4px 0 0 0; } .coral--light ._coral-Radio ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(20, 115, 230); } .coral--light ._coral-Radio-label { color: rgb(75, 75, 75); } .coral--light ._coral-Radio-button:before { background-color: rgb(250, 250, 250); border-color: rgb(142, 142, 142); } .coral--light ._coral-Radio:hover ._coral-Radio-button:before { border-color: rgb(110, 110, 110); box-shadow: none; } .coral--light ._coral-Radio:hover ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(13, 102, 208); } .coral--light ._coral-Radio:hover ._coral-Radio-label { color: rgb(44, 44, 44); } .coral--light ._coral-Radio:active ._coral-Radio-button:before { border-color: rgb(75, 75, 75); } .coral--light ._coral-Radio:active ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(9, 90, 186); } .coral--light ._coral-Radio:active ._coral-Radio-label { color: rgb(44, 44, 44); } .coral--light ._coral-Radio--quiet ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(110, 110, 110); } .coral--light ._coral-Radio--quiet:hover ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(75, 75, 75); } .coral--light ._coral-Radio--quiet:active ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(44, 44, 44); } .coral--light ._coral-Radio.is-invalid:hover ._coral-Radio-input + ._coral-Radio-button:before, .coral--light ._coral-Radio--quiet.is-invalid:hover ._coral-Radio-input + ._coral-Radio-button:before { border-color: rgb(201, 37, 45); } .coral--light ._coral-Radio.is-invalid:hover ._coral-Radio-label, .coral--light ._coral-Radio--quiet.is-invalid:hover ._coral-Radio-label { color: rgb(201, 37, 45); } .coral--light ._coral-Radio.is-invalid:active ._coral-Radio-input + ._coral-Radio-button:before, .coral--light ._coral-Radio--quiet.is-invalid:active ._coral-Radio-input + ._coral-Radio-button:before { border-color: rgb(187, 18, 26); } .coral--light ._coral-Radio.is-invalid:active ._coral-Radio-label, .coral--light ._coral-Radio--quiet.is-invalid:active ._coral-Radio-label { color: rgb(187, 18, 26); } .coral--light ._coral-Radio.is-invalid ._coral-Radio-button:before, .coral--light ._coral-Radio.is-invalid ._coral-Radio-input:checked + ._coral-Radio-button:before, .coral--light ._coral-Radio--quiet.is-invalid ._coral-Radio-button:before, .coral--light ._coral-Radio--quiet.is-invalid ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(215, 55, 63); } .coral--light ._coral-Radio.is-invalid ._coral-Radio-label, .coral--light ._coral-Radio--quiet.is-invalid ._coral-Radio-label { color: rgb(215, 55, 63); } .coral--light ._coral-Radio-input:disabled + ._coral-Radio-button:before { border-color: rgb(202, 202, 202) !important; } .coral--light ._coral-Radio-input:disabled ~ ._coral-Radio-label { color: rgb(179, 179, 179) !important; } .coral--light ._coral-Radio ._coral-Radio-input.focus-ring + ._coral-Radio-button:before, .coral--light ._coral-Radio:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:before, .coral--light ._coral-Radio--quiet ._coral-Radio-input.focus-ring + ._coral-Radio-button:before, .coral--light ._coral-Radio--quiet:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:before { border-color: rgb(110, 110, 110); } .coral--light ._coral-Radio ._coral-Radio-input.focus-ring + ._coral-Radio-button:after, .coral--light ._coral-Radio:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:after, .coral--light ._coral-Radio--quiet ._coral-Radio-input.focus-ring + ._coral-Radio-button:after, .coral--light ._coral-Radio--quiet:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:after { box-shadow: 0 0 0 2px rgb(38, 128, 235); } .coral--light ._coral-Radio ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before, .coral--light ._coral-Radio:hover ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before, .coral--light ._coral-Radio--quiet ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before, .coral--light ._coral-Radio--quiet:hover ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before { border-color: rgb(13, 102, 208); } .coral--lightest ._coral-Radio ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(38, 128, 235); } .coral--lightest ._coral-Radio-label { color: rgb(80, 80, 80); } .coral--lightest ._coral-Radio-button:before { background-color: rgb(255, 255, 255); border-color: rgb(149, 149, 149); } .coral--lightest ._coral-Radio:hover ._coral-Radio-button:before { border-color: rgb(116, 116, 116); box-shadow: none; } .coral--lightest ._coral-Radio:hover ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(20, 115, 230); } .coral--lightest ._coral-Radio:hover ._coral-Radio-label { color: rgb(50, 50, 50); } .coral--lightest ._coral-Radio:active ._coral-Radio-button:before { border-color: rgb(80, 80, 80); } .coral--lightest ._coral-Radio:active ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(13, 102, 208); } .coral--lightest ._coral-Radio:active ._coral-Radio-label { color: rgb(50, 50, 50); } .coral--lightest ._coral-Radio--quiet ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(116, 116, 116); } .coral--lightest ._coral-Radio--quiet:hover ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(80, 80, 80); } .coral--lightest ._coral-Radio--quiet:active ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(50, 50, 50); } .coral--lightest ._coral-Radio.is-invalid:hover ._coral-Radio-input + ._coral-Radio-button:before, .coral--lightest ._coral-Radio--quiet.is-invalid:hover ._coral-Radio-input + ._coral-Radio-button:before { border-color: rgb(215, 55, 63); } .coral--lightest ._coral-Radio.is-invalid:hover ._coral-Radio-label, .coral--lightest ._coral-Radio--quiet.is-invalid:hover ._coral-Radio-label { color: rgb(215, 55, 63); } .coral--lightest ._coral-Radio.is-invalid:active ._coral-Radio-input + ._coral-Radio-button:before, .coral--lightest ._coral-Radio--quiet.is-invalid:active ._coral-Radio-input + ._coral-Radio-button:before { border-color: rgb(201, 37, 45); } .coral--lightest ._coral-Radio.is-invalid:active ._coral-Radio-label, .coral--lightest ._coral-Radio--quiet.is-invalid:active ._coral-Radio-label { color: rgb(201, 37, 45); } .coral--lightest ._coral-Radio.is-invalid ._coral-Radio-button:before, .coral--lightest ._coral-Radio.is-invalid ._coral-Radio-input:checked + ._coral-Radio-button:before, .coral--lightest ._coral-Radio--quiet.is-invalid ._coral-Radio-button:before, .coral--lightest ._coral-Radio--quiet.is-invalid ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(227, 72, 80); } .coral--lightest ._coral-Radio.is-invalid ._coral-Radio-label, .coral--lightest ._coral-Radio--quiet.is-invalid ._coral-Radio-label { color: rgb(227, 72, 80); } .coral--lightest ._coral-Radio-input:disabled + ._coral-Radio-button:before { border-color: rgb(211, 211, 211) !important; } .coral--lightest ._coral-Radio-input:disabled ~ ._coral-Radio-label { color: rgb(188, 188, 188) !important; } .coral--lightest ._coral-Radio ._coral-Radio-input.focus-ring + ._coral-Radio-button:before, .coral--lightest ._coral-Radio:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:before, .coral--lightest ._coral-Radio--quiet ._coral-Radio-input.focus-ring + ._coral-Radio-button:before, .coral--lightest ._coral-Radio--quiet:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:before { border-color: rgb(116, 116, 116); } .coral--lightest ._coral-Radio ._coral-Radio-input.focus-ring + ._coral-Radio-button:after, .coral--lightest ._coral-Radio:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:after, .coral--lightest ._coral-Radio--quiet ._coral-Radio-input.focus-ring + ._coral-Radio-button:after, .coral--lightest ._coral-Radio--quiet:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:after { box-shadow: 0 0 0 2px rgb(55, 142, 240); } .coral--lightest ._coral-Radio ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before, .coral--lightest ._coral-Radio:hover ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before, .coral--lightest ._coral-Radio--quiet ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before, .coral--lightest ._coral-Radio--quiet:hover ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before { border-color: rgb(20, 115, 230); } .coral--dark ._coral-Radio ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(55, 142, 240); } .coral--dark ._coral-Radio-label { color: rgb(227, 227, 227); } .coral--dark ._coral-Radio-button:before { background-color: rgb(47, 47, 47); border-color: rgb(144, 144, 144); } .coral--dark ._coral-Radio:hover ._coral-Radio-button:before { border-color: rgb(185, 185, 185); box-shadow: none; } .coral--dark ._coral-Radio:hover ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(75, 156, 245); } .coral--dark ._coral-Radio:hover ._coral-Radio-label { color: rgb(255, 255, 255); } .coral--dark ._coral-Radio:active ._coral-Radio-button:before { border-color: rgb(227, 227, 227); } .coral--dark ._coral-Radio:active ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(90, 169, 250); } .coral--dark ._coral-Radio:active ._coral-Radio-label { color: rgb(255, 255, 255); } .coral--dark ._coral-Radio--quiet ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(185, 185, 185); } .coral--dark ._coral-Radio--quiet:hover ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(227, 227, 227); } .coral--dark ._coral-Radio--quiet:active ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(255, 255, 255); } .coral--dark ._coral-Radio.is-invalid:hover ._coral-Radio-input + ._coral-Radio-button:before, .coral--dark ._coral-Radio--quiet.is-invalid:hover ._coral-Radio-input + ._coral-Radio-button:before { border-color: rgb(247, 109, 116); } .coral--dark ._coral-Radio.is-invalid:hover ._coral-Radio-label, .coral--dark ._coral-Radio--quiet.is-invalid:hover ._coral-Radio-label { color: rgb(247, 109, 116); } .coral--dark ._coral-Radio.is-invalid:active ._coral-Radio-input + ._coral-Radio-button:before, .coral--dark ._coral-Radio--quiet.is-invalid:active ._coral-Radio-input + ._coral-Radio-button:before { border-color: rgb(255, 123, 130); } .coral--dark ._coral-Radio.is-invalid:active ._coral-Radio-label, .coral--dark ._coral-Radio--quiet.is-invalid:active ._coral-Radio-label { color: rgb(255, 123, 130); } .coral--dark ._coral-Radio.is-invalid ._coral-Radio-button:before, .coral--dark ._coral-Radio.is-invalid ._coral-Radio-input:checked + ._coral-Radio-button:before, .coral--dark ._coral-Radio--quiet.is-invalid ._coral-Radio-button:before, .coral--dark ._coral-Radio--quiet.is-invalid ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(236, 91, 98); } .coral--dark ._coral-Radio.is-invalid ._coral-Radio-label, .coral--dark ._coral-Radio--quiet.is-invalid ._coral-Radio-label { color: rgb(236, 91, 98); } .coral--dark ._coral-Radio-input:disabled + ._coral-Radio-button:before { border-color: rgb(90, 90, 90) !important; } .coral--dark ._coral-Radio-input:disabled ~ ._coral-Radio-label { color: rgb(110, 110, 110) !important; } .coral--dark ._coral-Radio ._coral-Radio-input.focus-ring + ._coral-Radio-button:before, .coral--dark ._coral-Radio:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:before, .coral--dark ._coral-Radio--quiet ._coral-Radio-input.focus-ring + ._coral-Radio-button:before, .coral--dark ._coral-Radio--quiet:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:before { border-color: rgb(185, 185, 185); } .coral--dark ._coral-Radio ._coral-Radio-input.focus-ring + ._coral-Radio-button:after, .coral--dark ._coral-Radio:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:after, .coral--dark ._coral-Radio--quiet ._coral-Radio-input.focus-ring + ._coral-Radio-button:after, .coral--dark ._coral-Radio--quiet:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:after { box-shadow: 0 0 0 2px rgb(38, 128, 235); } .coral--dark ._coral-Radio ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before, .coral--dark ._coral-Radio:hover ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before, .coral--dark ._coral-Radio--quiet ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before, .coral--dark ._coral-Radio--quiet:hover ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before { border-color: rgb(75, 156, 245); } .coral--darkest ._coral-Radio ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(38, 128, 235); } .coral--darkest ._coral-Radio-label { color: rgb(200, 200, 200); } .coral--darkest ._coral-Radio-button:before { background-color: rgb(26, 26, 26); border-color: rgb(124, 124, 124); } .coral--darkest ._coral-Radio:hover ._coral-Radio-button:before { border-color: rgb(162, 162, 162); box-shadow: none; } .coral--darkest ._coral-Radio:hover ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(55, 142, 240); } .coral--darkest ._coral-Radio:hover ._coral-Radio-label { color: rgb(239, 239, 239); } .coral--darkest ._coral-Radio:active ._coral-Radio-button:before { border-color: rgb(200, 200, 200); } .coral--darkest ._coral-Radio:active ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(75, 156, 245); } .coral--darkest ._coral-Radio:active ._coral-Radio-label { color: rgb(239, 239, 239); } .coral--darkest ._coral-Radio--quiet ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(162, 162, 162); } .coral--darkest ._coral-Radio--quiet:hover ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(200, 200, 200); } .coral--darkest ._coral-Radio--quiet:active ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(239, 239, 239); } .coral--darkest ._coral-Radio.is-invalid:hover ._coral-Radio-input + ._coral-Radio-button:before, .coral--darkest ._coral-Radio--quiet.is-invalid:hover ._coral-Radio-input + ._coral-Radio-button:before { border-color: rgb(236, 91, 98); } .coral--darkest ._coral-Radio.is-invalid:hover ._coral-Radio-label, .coral--darkest ._coral-Radio--quiet.is-invalid:hover ._coral-Radio-label { color: rgb(236, 91, 98); } .coral--darkest ._coral-Radio.is-invalid:active ._coral-Radio-input + ._coral-Radio-button:before, .coral--darkest ._coral-Radio--quiet.is-invalid:active ._coral-Radio-input + ._coral-Radio-button:before { border-color: rgb(247, 109, 116); } .coral--darkest ._coral-Radio.is-invalid:active ._coral-Radio-label, .coral--darkest ._coral-Radio--quiet.is-invalid:active ._coral-Radio-label { color: rgb(247, 109, 116); } .coral--darkest ._coral-Radio.is-invalid ._coral-Radio-button:before, .coral--darkest ._coral-Radio.is-invalid ._coral-Radio-input:checked + ._coral-Radio-button:before, .coral--darkest ._coral-Radio--quiet.is-invalid ._coral-Radio-button:before, .coral--darkest ._coral-Radio--quiet.is-invalid ._coral-Radio-input:checked + ._coral-Radio-button:before { border-color: rgb(227, 72, 80); } .coral--darkest ._coral-Radio.is-invalid ._coral-Radio-label, .coral--darkest ._coral-Radio--quiet.is-invalid ._coral-Radio-label { color: rgb(227, 72, 80); } .coral--darkest ._coral-Radio-input:disabled + ._coral-Radio-button:before { border-color: rgb(73, 73, 73) !important; } .coral--darkest ._coral-Radio-input:disabled ~ ._coral-Radio-label { color: rgb(92, 92, 92) !important; } .coral--darkest ._coral-Radio ._coral-Radio-input.focus-ring + ._coral-Radio-button:before, .coral--darkest ._coral-Radio:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:before, .coral--darkest ._coral-Radio--quiet ._coral-Radio-input.focus-ring + ._coral-Radio-button:before, .coral--darkest ._coral-Radio--quiet:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:before { border-color: rgb(162, 162, 162); } .coral--darkest ._coral-Radio ._coral-Radio-input.focus-ring + ._coral-Radio-button:after, .coral--darkest ._coral-Radio:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:after, .coral--darkest ._coral-Radio--quiet ._coral-Radio-input.focus-ring + ._coral-Radio-button:after, .coral--darkest ._coral-Radio--quiet:hover ._coral-Radio-input.focus-ring + ._coral-Radio-button:after { box-shadow: 0 0 0 2px rgb(20, 115, 230); } .coral--darkest ._coral-Radio ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before, .coral--darkest ._coral-Radio:hover ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before, .coral--darkest ._coral-Radio--quiet ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before, .coral--darkest ._coral-Radio--quiet:hover ._coral-Radio-input.focus-ring:checked + ._coral-Radio-button:before { border-color: rgb(55, 142, 240); } ._coral-Radio.is-readOnly { pointer-events: none; } ._coral-Radio-label, .coral--large ._coral-Radio-label { line-height: 1.6; }