UNPKG

storybookdesignpack

Version:

React components library project for censa Design System

221 lines (180 loc) 4.98 kB
/* Radio */ .Radio { display: flex; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding-top: var(--spacing-s); padding-bottom: var(--spacing-s); width: fit-content; } .Radio-outerWrapper { position: relative; flex-shrink: 0; margin-top: var(--spacing-s); } .Radio-defaultWrapper { border: 1px solid #CBCACB; } .Radio-errorWrapper { border: var(--border); border-color: var(--alert); } .Radio-outerWrapper--regular { height: var(--spacing-2); width: var(--spacing-2); } .Radio-outerWrapper--tiny { height: var(--spacing-l); width: var(--spacing-l); } .Radio-input { opacity: 0; position: absolute; height: 100%; width: 100%; z-index: 2; margin: 0; cursor: pointer; } .Radio-labelWrapper { padding-left: var(--spacing); display: flex; flex-direction: column; color: var(--night); } .Radio-Label { display: flex; cursor: pointer; } .Radio-wrapper { top: 0; left: 0; height: 100%; width: 100%; position: absolute; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-sizing: border-box; z-index: 1; transition: var(--duration--fast-01) var(--standard-productive-curve); } .Radio--disabled { pointer-events: none; } .Radio:hover .Radio-wrapper { border: var(--spacing-xs) solid var(--secondary-dark); background-color: var(--secondary-lighter); } .Radio:active .Radio-wrapper { background-color: var(--secondary-light); border: var(--spacing-xs) solid var(--inverse-lightest); } .Radio:hover .Radio-errorWrapper { border: var(--border); background-color: var(--secondary-lighter); border-color: var(--alert-dark); } .Radio:active .Radio-errorWrapper { border: var(--border); background-color: var(--secondary-light); border-color: var(--alert-darker); } .Radio:focus-within .Radio-wrapper { outline: 0; box-shadow: var(--shadow-spread) var(--secondary-shadow); border-radius: 50%; } .Radio:focus-within .Radio-errorWrapper { outline: 0; box-shadow: var(--shadow-spread) var(--alert-shadow); border-radius: 50%; } .Radio:focus-within .Radio-input:checked ~ .Radio-wrapper { outline: 0; box-shadow: var(--shadow-spread) var(--primary-shadow); } .Radio:focus-within .Radio-input:checked ~ .Radio-errorWrapper { outline: 0; box-shadow: var(--shadow-spread) var(--primary-shadow); } .Radio--disabled .Radio-wrapper { border: var(--spacing-xs) solid var(--secondary-light); background-color: var(--secondary-lightest); } .Radio--disabled .Radio-errorWrapper { border: var(--spacing-xs) solid var(--alert-lighter); background-color: var(--secondary-lightest); } .Radio-input:checked ~ .Radio-wrapper { border: var(--spacing-xs) solid var(--primary); } .Radio-input:checked ~ .Radio-errorWrapper { border: var(--spacing-xs) solid var(--alert); } .Radio-input:checked ~ .Radio-wrapper:after { display: block; transition: var(--duration--fast-01) var(--standard-productive-curve); } .Radio-wrapper:after { content: ''; display: none; border-radius: 50%; background: var(--primary); } .Radio-wrapper--regular:after { width: var(--spacing); height: var(--spacing); } .Radio-wrapper--tiny:after { width: var(--spacing-m); height: var(--spacing-m); border: var(--spacing-xs) solid var(--primary); } .Radio:hover .Radio-input:checked ~ .Radio-wrapper { border: var(--spacing-xs) solid var(--primary-dark); } .Radio:hover .Radio-input:checked ~ .Radio-wrapper:after { background: var(--primary-dark); } .Radio:hover .Radio-input:checked ~ .Radio-wrapper--tiny:after { border: var(--spacing-xs) solid var(--primary-dark); } .Radio:active .Radio-input:checked ~ .Radio-wrapper { background-color: var(--secondary-light); border: var(--spacing-xs) solid var(--primary-darker); } .Radio:hover .Radio-input:checked ~ .Radio-errorWrapper { background-color: var(--secondary-lighter); border: var(--spacing-xs) solid var(--alert-dark); } .Radio:active .Radio-input:checked ~ .Radio-errorWrapper { background-color: var(--secondary-light); border: var(--spacing-xs) solid var(--alert-darker); } .Radio:active .Radio-input:checked ~ .Radio-wrapper:after { background: var(--primary-darker); } .Radio:active .Radio-input:checked ~ .Radio-wrapper--tiny:after { border: var(--spacing-xs) solid var(--primary-darker); } .Radio--disabled .Radio-input:checked ~ .Radio-wrapper { border: var(--spacing-xs) solid var(--primary-lighter); background-color: var(--secondary-lightest); } .Radio--disabled .Radio-input:checked ~ .Radio-errorWrapper { border: var(--spacing-xs) solid var(--alert-lighter); background-color: var(--secondary-lightest); } .Radio--disabled .Radio-input:checked ~ .Radio-wrapper:after { background: var(--primary-lighter); } .Radio--disabled .Radio-input ~ .Radio-wrapper:focus { box-shadow: none; } .Radio--disabled .Radio-input ~ .Radio-errorWrapper:focus { box-shadow: none; }