UNPKG

@vtmn/css-button

Version:

Decathlon Design System - Vitamin specific CSS styles for button component

346 lines (286 loc) 8.26 kB
.vtmn-btn{ display:flex; flex-direction:row; justify-content:center; align-items:center; position:relative; block-size:4.8rem; border:0; line-height:1; inline-size:-moz-max-content; inline-size:max-content; padding-block:1.4rem; padding-inline:2.4rem; font-family:'Roboto', 'system-ui', '-apple-system', sans-serif; font-weight:700; font-size:1.6rem; letter-spacing:0.027rem; border-radius:4px; color:hsl(0, 0%, 100%); fill:hsl(0, 0%, 100%); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; background-color:hsl(200, 100%, 36.9%); transition:box-shadow 200ms ease-out; } .vtmn-btn:not(:disabled):hover{ background-color:hsla(200, 100%, calc(36.9% * 0.85), 1); cursor:pointer; } .vtmn-btn:not(:disabled):active{ background-color:hsla(200, 100%, calc(36.9% * 0.7), 1); } .vtmn-btn:disabled{ cursor:not-allowed; opacity:0.38; } .vtmn-btn:not(:disabled):focus-visible{ outline:none; box-shadow:0 0 0 0.4rem hsl(210, 14.3%, 94.5%), 0 0 0 0.6rem hsl(200, 100%, 4.7%); } .vtmn-btn:not(:disabled){ outline:none; } .vtmn-btn_variant--primary{ background-color:hsl(200, 100%, 36.9%); color:hsl(0, 0%, 100%); fill:hsl(0, 0%, 100%); } .vtmn-btn_variant--primary:not(:disabled):hover{ background-color:hsla(200, 100%, calc(36.9% * 0.85), 1); } .vtmn-btn_variant--primary:not(:disabled):active{ background-color:hsla(200, 100%, calc(36.9% * 0.7), 1); } .vtmn-btn_variant--primary-reversed{ box-shadow:none; background-color:hsl(0, 0%, 100%); color:hsl(200, 100%, 4.7%); fill:hsl(200, 100%, 4.7%); } .vtmn-btn_variant--primary-reversed:not(:disabled):hover{ background-color:hsla(0, 0%, 100%, 0.8); box-shadow:inset 0 0 0 0.2rem hsl(210, 14.3%, 94.5%); } .vtmn-btn_variant--primary-reversed:not(:disabled):active{ background-color:hsla(0, 0%, 100%, 0.6); box-shadow:inset 0 0 0 0.2rem hsl(210, 14.3%, 94.5%); } .vtmn-btn_variant--primary-reversed:not(:disabled):focus-visible{ outline:none; box-shadow:inset 0 0 0 0.2rem hsl(210, 14.3%, 94.5%), 0 0 0 0.4rem hsl(210, 14.3%, 94.5%), 0 0 0 0.6rem hsl(200, 100%, 4.7%); } .vtmn-btn_variant--secondary{ background-color:hsl(0, 0%, 100%); box-shadow:inset 0 0 0 0.2rem hsl(210, 11.8%, 86.7%); color:hsl(200, 100%, 30.8%); fill:hsl(200, 100%, 30.8%); } .vtmn-btn_variant--secondary:not(:disabled):hover{ background-color:hsl(200, 60%, 94.1%); } .vtmn-btn_variant--secondary:not(:disabled):active{ background-color:hsla(200, 60%, calc(94.1% * 0.97), 1); } .vtmn-btn_variant--secondary:not(:disabled):focus-visible{ outline:none; box-shadow:inset 0 0 0 0.2rem hsl(210, 11.8%, 86.7%), 0 0 0 0.4rem hsl(210, 14.3%, 94.5%), 0 0 0 0.6rem hsl(200, 100%, 4.7%); } .vtmn-btn_variant--tertiary{ background-color:hsl(200, 60%, 94.1%); color:hsl(200, 100%, 30.8%); fill:hsl(200, 100%, 30.8%); } .vtmn-btn_variant--tertiary:not(:disabled):hover{ background-color:hsla(200, 60%, calc(94.1% * 0.95), 1); } .vtmn-btn_variant--tertiary:not(:disabled):active{ background-color:hsla(200, 60%, calc(94.1% * 0.93), 1); } .vtmn-btn_variant--conversion{ box-shadow:inset 0 0 0 0.2rem transparent; background-color:hsl(54, 100%, 57.8%); color:hsl(200, 100%, 4.7%); fill:hsl(200, 100%, 4.7%); } .vtmn-btn_variant--conversion:not(:disabled):hover{ background-color:hsla(54, 100%, calc(57.8% + (100% - 57.8%) * 0.48), 1); } .vtmn-btn_variant--conversion:not(:disabled):active{ background-color:hsla(54, 100%, calc(calc(57.8% + (100% - 57.8%) * 0.48) + (100% - calc(57.8% + (100% - 57.8%) * 0.48)) * 0.5), 1); } .vtmn-btn_variant--conversion:not(:disabled):focus-visible{ outline:none; box-shadow:inset 0 0 0 0.2rem transparent, 0 0 0 0.4rem hsl(210, 14.3%, 94.5%), 0 0 0 0.6rem hsl(200, 100%, 4.7%); } .vtmn-btn_variant--ghost{ background-color:transparent; box-shadow:inset 0 0 0 0.2rem transparent; color:hsl(200, 100%, 30.8%); fill:hsl(200, 100%, 30.8%); } .vtmn-btn_variant--ghost:not(:disabled):hover{ background-color:hsl(200, 60%, 94.1%); } .vtmn-btn_variant--ghost:not(:disabled):active{ background-color:hsla(200, 60%, calc(94.1% * 0.97), 1); } .vtmn-btn_variant--ghost:not(:disabled):focus-visible{ outline:none; box-shadow:inset 0 0 0 0.2rem transparent, 0 0 0 0.4rem hsl(210, 14.3%, 94.5%), 0 0 0 0.6rem hsl(200, 100%, 4.7%); } .vtmn-btn_variant--ghost-reversed{ background-color:transparent; color:hsl(0, 0%, 100%); fill:hsl(0, 0%, 100%); } .vtmn-btn_variant--ghost-reversed:not(:disabled):hover{ background-color:hsla(0, 0%, 100%, 0.08); } .vtmn-btn_variant--ghost-reversed:not(:disabled):active{ background-color:hsla(0, 0%, 100%, 0.25); } .vtmn-btn_variant--ghost-reversed:not(:disabled):focus-visible{ outline:none; box-shadow:0 0 0 0.4rem hsl(210, 14.3%, 94.5%), 0 0 0 0.6rem hsl(200, 100%, 4.7%); } .vtmn-btn_size--small{ font-size:1.4rem; padding-block:0.8rem; padding-inline:1.6rem; block-size:3.2rem; letter-spacing:0.024rem; } .vtmn-btn_size--medium{ font-size:1.6rem; padding-block:1.4rem; padding-inline:2.4rem; block-size:4.8rem; letter-spacing:0.027rem; } .vtmn-btn_size--large{ font-size:2rem; padding-block:2rem; padding-inline:4rem; block-size:6.4rem; letter-spacing:0.034rem; } .vtmn-btn_size--stretched{ inline-size:100%; } .vtmn-btn--icon-alone{ inline-size:4.8rem; block-size:4.8rem; padding:1.4rem; } .vtmn-btn--icon-alone span[class^='vtmx-']{ font-size:2.4rem; } .vtmn-btn_size--small.vtmn-btn--icon-alone{ inline-size:3.2rem; block-size:3.2rem; padding:0.8rem; } .vtmn-btn_size--small.vtmn-btn--icon-alone span[class^='vtmx-']{ font-size:2rem; } .vtmn-btn_size--medium.vtmn-btn--icon-alone{ inline-size:4.8rem; block-size:4.8rem; padding:1.4rem; } .vtmn-btn_size--medium.vtmn-btn--icon-alone span[class^='vtmx-']{ font-size:2.4rem; } .vtmn-btn_size--large.vtmn-btn--icon-alone{ inline-size:6.4rem; block-size:6.4rem; padding:2rem; } .vtmn-btn_size--large.vtmn-btn--icon-alone span[class^='vtmx-']{ font-size:3.2rem; } .vtmn-btn--icon-left span[class^='vtmx-'], .vtmn-btn_size--medium.vtmn-btn--icon-left span[class^='vtmx-']{ -webkit-padding-end:0.8rem; padding-inline-end:0.8rem; font-size:2rem; } .vtmn-btn_size--small.vtmn-btn--icon-left span[class^='vtmx-']{ -webkit-padding-end:0.6rem; padding-inline-end:0.6rem; font-size:1.6rem; } .vtmn-btn_size--small.vtmn-btn--icon-right span[class^='vtmx-']{ -webkit-padding-start:0.6rem; padding-inline-start:0.6rem; font-size:1.6rem; } .vtmn-btn_size--small.vtmn-btn--icon-left svg{ -webkit-margin-end:0.6rem; margin-inline-end:0.6rem; } .vtmn-btn_size--small.vtmn-btn--icon-right svg{ -webkit-margin-start:0.6rem; margin-inline-start:0.6rem; } .vtmn-btn--icon-right span[class^='vtmx-'], .vtmn-btn_size--medium.vtmn-btn--icon-right span[class^='vtmx-']{ -webkit-padding-start:0.8rem; padding-inline-start:0.8rem; font-size:2rem; } .vtmn-btn_size--medium.vtmn-btn--icon-left svg{ -webkit-margin-end:0.8rem; margin-inline-end:0.8rem; } .vtmn-btn_size--medium.vtmn-btn--icon-right svg{ -webkit-margin-start:0.8rem; margin-inline-start:0.8rem; } .vtmn-btn_size--large.vtmn-btn--icon-left span[class^='vtmx-']{ -webkit-padding-end:1.2rem; padding-inline-end:1.2rem; font-size:2.4rem; } .vtmn-btn_size--large.vtmn-btn--icon-right span[class^='vtmx-']{ -webkit-padding-start:1.2rem; padding-inline-start:1.2rem; font-size:2.4rem; } .vtmn-btn_size--large.vtmn-btn--icon-left svg{ -webkit-margin-end:1.2rem; margin-inline-end:1.2rem; } .vtmn-btn_size--large.vtmn-btn--icon-right svg{ -webkit-margin-start:1.2rem; margin-inline-start:1.2rem; } .vtmn-btn--multiline{ white-space:normal; } .vtmn-btn_variant--secondary-reversed{ background-color:transparent; box-shadow:inset 0 0 0 0.2rem hsl( 0, 0%, 100% ); color:hsl( 0, 0%, 100% ); fill:hsl( 0, 0%, 100% ); } .vtmn-btn_variant--secondary-reversed:not(:disabled):hover{ background-color:hsla(0, 0%, 100%, 0.2); } .vtmn-btn_variant--secondary-reversed:not(:disabled):active{ background-color:hsla(0, 0%, 100%, 0.4); }