@primer/view-components
Version:
ViewComponents for the Primer Design System
1 lines • 21.4 kB
CSS
.FormControl{display:inline-flex;flex-direction:column;gap:var(--base-size-4)}.FormControl--fullWidth{display:flex}.FormControl-label{font-size:var(--text-body-size-medium);font-weight:var(--base-text-weight-semibold);line-height:var(--text-body-lineHeight-medium);color:var(--fgColor-default)}.FormControl-caption{margin-bottom:0;font-weight:var(--text-caption-weight);color:var(--fgColor-muted)}.FormControl-caption,.FormControl-inlineValidation{font-size:var(--text-caption-size);line-height:var(--text-caption-lineHeight)}.FormControl-inlineValidation{display:flex;font-weight:var(--base-text-weight-semibold);color:var(--control-danger-fgColor-rest);fill:var(--control-danger-fgColor-rest);flex-direction:row;align-items:flex-start;gap:var(--base-size-4)}.FormControl-inlineValidation p{margin-bottom:0}.FormControl-inlineValidation--success{color:var(--fgColor-success);fill:var(--fgColor-success)}.FormControl-inlineValidation--visual{align-items:center;display:flex;min-height:var(--base-size-16)}.FormControl-spacingWrapper{display:flex;flex-direction:column;row-gap:var(--stack-gap-normal)}.FormControl-horizontalGroup{display:flex;column-gap:.5rem}.FormControl-input,.FormControl-select,.FormControl-textarea{color:var(--fgColor-default);background-color:var(--bgColor-default);border:var(--borderWidth-thin) solid var(--control-borderColor-rest,var(--color-border-default));box-shadow:var(--shadow-inset)}[disabled]:is(.FormControl-input,.FormControl-select,.FormControl-textarea){color:var(--control-fgColor-disabled);cursor:not-allowed;background-color:var(--control-bgColor-disabled);border-color:var(--control-borderColor-disabled);box-shadow:none;opacity:1;-webkit-text-fill-color:var(--control-fgColor-disabled)}[invalid=true]:is(.FormControl-input,.FormControl-select,.FormControl-textarea):not(:focus){border-color:var(--control-borderColor-danger)}[invalid=false]:is(.FormControl-input,.FormControl-select,.FormControl-textarea):not(:focus){border-color:var(--control-borderColor-success)}:is(.FormControl-input,.FormControl-select,.FormControl-textarea):not([type=checkbox],[type=radio]):focus{border-color:var(--focus-outlineColor);outline:none;box-shadow:inset 0 0 0 1px var(--focus-outlineColor)}:is(.FormControl-input,.FormControl-select,.FormControl-textarea):not([type=checkbox],[type=radio]):focus:not(:focus-visible){border-color:#0000;border-color:var(--focus-outlineColor);outline:none;box-shadow:inset 0 0 0 1px #0000 var(--focus-outlineColor)}:is(.FormControl-input,.FormControl-select,.FormControl-textarea):not([type=checkbox],[type=radio]):focus-visible{border-color:var(--focus-outlineColor);outline:none;box-shadow:inset 0 0 0 1px var(--focus-outlineColor)}.FormControl-input,.FormControl-select,.FormControl-textarea{width:100%;font-size:var(--text-body-size-medium);line-height:var(--text-body-lineHeight-medium);border-radius:var(--borderRadius-medium);transition:80ms cubic-bezier(.33,1,.68,1);transition-property:color,background-color,box-shadow,border-color;padding-inline:var(--control-medium-paddingInline-condensed);padding-block:calc(var(--control-medium-paddingBlock) - var(--borderWidth-thin))}[disabled]:is(.FormControl-input,.FormControl-select,.FormControl-textarea)::placeholder{color:var(--control-fgColor-disabled)}[readonly]:is(.FormControl-input,.FormControl-select,.FormControl-textarea){background-color:var(--control-bgColor-disabled)}:is(.FormControl-input,.FormControl-select,.FormControl-textarea)::placeholder{color:var(--control-fgColor-placeholder);opacity:1}.FormControl-small:is(.FormControl-input,.FormControl-select,.FormControl-textarea){height:var(--control-small-size);padding-inline:var(--control-small-paddingInline-normal);padding-block:var(--control-small-paddingBlock);font-size:var(--text-body-size-small)}.FormControl-medium:is(.FormControl-input,.FormControl-select,.FormControl-textarea){height:var(--control-medium-size)}.FormControl-large:is(.FormControl-input,.FormControl-select,.FormControl-textarea){height:var(--control-large-size);padding-inline:var(--control-large-paddingInline-normal);padding-block:var(--control-large-paddingBlock)}.FormControl-inset:is(.FormControl-input,.FormControl-select,.FormControl-textarea){background-color:var(--bgColor-muted)}.FormControl-inset:is(.FormControl-input,.FormControl-select,.FormControl-textarea):focus,.FormControl-inset:is(.FormControl-input,.FormControl-select,.FormControl-textarea):focus-visible{background-color:var(--bgColor-default)}.FormControl-monospace:is(.FormControl-input,.FormControl-select,.FormControl-textarea){font-family:var(--fontStack-monospace)}.FormControl-error:is(.FormControl-input,.FormControl-select,.FormControl-textarea){border-color:var(--control-borderColor-danger)}.FormControl-success:is(.FormControl-input,.FormControl-select,.FormControl-textarea){border-color:var(--control-borderColor-success)}.FormControl-warning:is(.FormControl-input,.FormControl-select,.FormControl-textarea){border-color:var(--control-borderColor-warning)}.FormControl-toggleSwitchInput{display:flex;align-items:flex-start;gap:var(--base-size-16)}.FormControl-input-wrap{position:relative;display:grid}.FormControl-input-wrap .FormControl-input-leadingVisualWrap{position:absolute;top:var(--base-size-8);left:var(--base-size-8);display:block;width:var(--base-size-16);height:var(--base-size-16);color:var(--fgColor-muted);pointer-events:none}:is(.FormControl-input-wrap .FormControl-input-leadingVisualWrap) .FormControl-input-leadingVisual{display:block;-webkit-user-select:none;user-select:none}.FormControl-input-wrap .FormControl-input-trailingVisualWrap{position:absolute;top:var(--base-size-8);right:var(--base-size-8);display:flex;height:var(--base-size-16);align-items:center;gap:var(--base-size-4);color:var(--fgColor-muted);pointer-events:none}:is(.FormControl-input-wrap .FormControl-input-trailingVisualWrap):has(.FormControl-input-trailingVisualLabel),:is(.FormControl-input-wrap .FormControl-input-trailingVisualWrap):has(.FormControl-input-trailingVisualText){max-width:25%;padding-left:var(--base-size-8)}:is(.FormControl-input-wrap .FormControl-input-trailingVisualWrap) .FormControl-input-trailingVisualLabel{overflow:hidden;text-overflow:ellipsis}.FormControl-input-wrap .FormControl-input-trailingAction{position:absolute;top:var(--base-size-4);right:var(--base-size-4);z-index:4;display:grid;width:var(--control-xsmall-size);height:var(--control-xsmall-size);padding:0;color:var(--fgColor-muted);cursor:pointer;background:#0000;border:0;border-radius:var(--borderRadius-small);transition:.2s cubic-bezier(.3,0,.5,1);transition-property:color,background-color,border-color;align-items:center;justify-content:center}:is(.FormControl-input-wrap .FormControl-input-trailingAction) svg{-webkit-user-select:none;user-select:none}[disabled]:is(.FormControl-input-wrap .FormControl-input-trailingAction){color:var(--control-fgColor-disabled);pointer-events:none}:is(.FormControl-input-wrap .FormControl-input-trailingAction):hover{background:var(--control-transparent-bgColor-hover)}:is(.FormControl-input-wrap .FormControl-input-trailingAction):active{background:var(--control-transparent-bgColor-active)}.FormControl-input-trailingAction--divider:is(.FormControl-input-wrap .FormControl-input-trailingAction):before{position:absolute;top:calc((var(--control-xsmall-size) - var(--base-size-16))/2);left:calc(var(--base-size-4)*-1);display:block;width:var(--borderWidth-thin);height:var(--base-size-16);content:"";background:var(--borderColor-default)}:is(:is(.FormControl-input-wrap .FormControl-input-trailingAction):after){position:absolute;top:50%;left:50%;width:100%;height:100%;min-height:var(--control-medium-size) var(--control-medium-size);content:"";transform:translateX(-50%) translateY(-50%)}@media (pointer:coarse){:is(.FormControl-input-wrap .FormControl-input-trailingAction):after{min-width:var(--control-minTarget-coarse);min-height:var(--control-minTarget-coarse)}}.FormControl-input-wrap.FormControl-input-wrap--leadingVisual .FormControl-input{padding-inline-start:calc(var(--control-medium-paddingInline-condensed) + var(--base-size-16) + var(--control-medium-gap))}.FormControl-input-wrap.FormControl-input-wrap--trailingVisual .FormControl-input{padding-inline-end:calc(var(--control-medium-paddingInline-condensed) + var(--base-size-16) + var(--control-medium-gap))}.FormControl-input-wrap.FormControl-input-wrap--trailingVisual:has(.FormControl-input-trailingVisualLabel) .FormControl-input,.FormControl-input-wrap.FormControl-input-wrap--trailingVisual:has(.FormControl-input-trailingVisualText) .FormControl-input{padding-inline-end:25%}.FormControl-input-wrap.FormControl-input-wrap--trailingAction .FormControl-input{padding-inline-end:calc(var(--control-medium-paddingInline-condensed) + var(--base-size-16) + var(--control-medium-gap))}.FormControl-input-wrap.FormControl-input-wrap--trailingAction.FormControl-input-wrap-trailingAction--divider .FormControl-input{padding-inline-end:calc(var(--control-medium-paddingInline-condensed) + var(--base-size-16) + var(--control-medium-gap) + var(--borderWidth-thin))}.FormControl-input-wrap.FormControl-input-wrap--small .FormControl-input-leadingVisualWrap{top:calc(var(--control-medium-paddingInline-condensed) - var(--base-size-2));left:calc(var(--control-medium-paddingInline-condensed) - var(--base-size-2))}.FormControl-input-wrap.FormControl-input-wrap--small .FormControl-input-trailingVisualWrap{top:calc(var(--control-medium-paddingInline-condensed) - var(--base-size-2));right:calc(var(--control-medium-paddingInline-condensed) - var(--base-size-2))}.FormControl-input-wrap.FormControl-input-wrap--small.FormControl-input-wrap--trailingAction .FormControl-input.FormControl-small{padding-inline-end:calc(var(--control-small-paddingInline-condensed) + var(--base-size-16) + var(--control-small-gap))}.FormControl-input-wrap.FormControl-input-wrap--small.FormControl-input-wrap--trailingAction.FormControl-input-wrap-trailingAction--divider .FormControl-input.FormControl-small{padding-inline-end:calc(var(--control-small-paddingInline-condensed) + var(--base-size-16) + var(--control-small-gap) + var(--borderWidth-thin))}.FormControl-input-wrap.FormControl-input-wrap--small .FormControl-input-trailingAction{width:calc(var(--control-small-size) - var(--base-size-8));height:calc(var(--control-small-size) - var(--base-size-8))}:is(.FormControl-input-wrap.FormControl-input-wrap--small .FormControl-input-trailingAction):before{top:calc((var(--control-xsmall-size) - var(--base-size-16))/4)}.FormControl-input-wrap.FormControl-input-wrap--large .FormControl-input-leadingVisualWrap{top:var(--control-medium-paddingInline-normal);left:var(--control-medium-paddingInline-normal)}.FormControl-input-wrap.FormControl-input-wrap--large .FormControl-input-trailingVisualWrap{top:var(--control-medium-paddingInline-normal);right:var(--control-medium-paddingInline-normal)}.FormControl-input-wrap.FormControl-input-wrap--large.FormControl-input-wrap--leadingVisual .FormControl-input.FormControl-large{padding-inline-start:calc(var(--control-large-paddingInline-normal) + var(--base-size-16) + var(--control-large-gap))}.FormControl-input-wrap.FormControl-input-wrap--large.FormControl-input-wrap--trailingVisual .FormControl-input{padding-inline-end:calc(var(--control-large-paddingInline-normal) + var(--base-size-16) + var(--control-large-gap))}.FormControl-input-wrap.FormControl-input-wrap--large.FormControl-input-wrap--trailingLabel .FormControl-input.FormControl-large,.FormControl-input-wrap.FormControl-input-wrap--large.FormControl-input-wrap--trailingText .FormControl-input.FormControl-large,.FormControl-input-wrap.FormControl-input-wrap--large.FormControl-input-wrap--trailingVisual:has(.FormControl-input-trailingVisualLabel) .FormControl-input,.FormControl-input-wrap.FormControl-input-wrap--large.FormControl-input-wrap--trailingVisual:has(.FormControl-input-trailingVisualText) .FormControl-input{padding-inline-end:25%}.FormControl-input-wrap.FormControl-input-wrap--large.FormControl-input-wrap--trailingAction .FormControl-input.FormControl-large{padding-inline-end:calc(var(--control-large-paddingInline-normal) + var(--base-size-16) + var(--control-large-gap))}.FormControl-input-wrap.FormControl-input-wrap--large.FormControl-input-wrap--trailingAction.FormControl-input-wrap-trailingAction--divider .FormControl-input.FormControl-large{padding-inline-end:calc(var(--control-large-paddingInline-normal) + var(--base-size-16) + var(--control-large-gap) + var(--borderWidth-thin))}.FormControl-input-wrap.FormControl-input-wrap--large .FormControl-input-trailingAction{top:calc(var(--control-medium-paddingInline-condensed) - var(--base-size-2));right:calc(var(--control-medium-paddingInline-condensed) - var(--base-size-2));width:var(--control-small-size);height:var(--control-small-size)}:is(.FormControl-input-wrap.FormControl-input-wrap--large .FormControl-input-trailingAction):before{top:unset;height:var(--base-size-20)}.FormControl-select-wrap{display:grid;grid-template-columns:minmax(0,auto) var(--base-size-16)}.FormControl-select-wrap:after{width:var(--base-size-16);height:var(--base-size-16);padding-right:var(--base-size-4);pointer-events:none;content:"";background-color:var(--bgColor-neutral-emphasis);mask:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiIgZmlsbD0iIzU4NjA2OSIgdmlld0JveD0iMCAwIDE2IDE2Ij48cGF0aCBkPSJtNC40MjcgOS40MjcgMy4zOTYgMy4zOTZhLjI1LjI1IDAgMCAwIC4zNTQgMGwzLjM5Ni0zLjM5NkEuMjUuMjUgMCAwIDAgMTEuMzk2IDlINC42MDRhLjI1LjI1IDAgMCAwLS4xNzcuNDI3TTQuNDIzIDYuNDcgNy44MiAzLjA3MmEuMjUuMjUgMCAwIDEgLjM1NCAwTDExLjU3IDYuNDdhLjI1LjI1IDAgMCAxLS4xNzcuNDI3SDQuNmEuMjUuMjUgMCAwIDEtLjE3Ny0uNDI3Ii8+PC9zdmc+");mask-size:contain;mask-repeat:no-repeat;grid-column:2;grid-row:1;place-self:center end}.FormControl-select-wrap .FormControl-select{grid-column:1/-1;grid-row:1;appearance:none;padding-right:var(--base-size-20)}.FormControl-select-wrap[data-multiple]:after{content:none}.FormControl-select-wrap[data-multiple] .FormControl-select{padding-right:var(--base-size-8)}.FormControl-checkbox-wrap,.FormControl-radio-wrap{display:inline-grid;grid-template-columns:min-content auto;gap:var(--base-size-8)}:is(.FormControl-checkbox-wrap,.FormControl-radio-wrap) .FormControl-label{cursor:pointer}.FormControl-checkbox-wrap .FormControl-checkbox-labelWrap,.FormControl-radio-wrap .FormControl-radio-labelWrap{display:flex;flex-direction:column;gap:var(--base-size-4)}.FormControl-check-group-wrap fieldset,.FormControl-radio-group-wrap fieldset{padding:0;margin:0;border:0}.FormControl-checkbox{color:var(--fgColor-default);background-color:var(--bgColor-default);border:var(--borderWidth-thin) solid var(--control-borderColor-rest,var(--color-border-default));box-shadow:var(--shadow-inset)}.FormControl-checkbox[disabled]{color:var(--control-fgColor-disabled);cursor:not-allowed;background-color:var(--control-bgColor-disabled);border-color:var(--control-borderColor-disabled);box-shadow:none;opacity:1;-webkit-text-fill-color:var(--control-fgColor-disabled)}.FormControl-checkbox[invalid=true]:not(:focus){border-color:var(--control-borderColor-danger)}.FormControl-checkbox[invalid=false]:not(:focus){border-color:var(--control-borderColor-success)}.FormControl-checkbox:not([type=checkbox],[type=radio]):focus{border-color:var(--focus-outlineColor);outline:none;box-shadow:inset 0 0 0 1px var(--focus-outlineColor)}.FormControl-checkbox:not([type=checkbox],[type=radio]):focus:not(:focus-visible){border-color:#0000;border-color:var(--focus-outlineColor);outline:none;box-shadow:inset 0 0 0 1px #0000 var(--focus-outlineColor)}.FormControl-checkbox:not([type=checkbox],[type=radio]):focus-visible{border-color:var(--focus-outlineColor);outline:none;box-shadow:inset 0 0 0 1px var(--focus-outlineColor)}.FormControl-checkbox{position:relative;display:grid;width:var(--base-size-16);height:var(--base-size-16);margin:0;margin-top:var(--base-size-2);cursor:pointer;border-color:var(--control-borderColor-emphasis);border-radius:var(--borderRadius-small);transition:background-color,border-color 80ms cubic-bezier(.33,1,.68,1);appearance:none;place-content:center}.FormControl-checkbox:before{width:var(--base-size-16);height:var(--base-size-16);visibility:hidden;content:"";background-color:var(--control-checked-fgColor-rest);transition:visibility 0s linear .23s;clip-path:inset(var(--base-size-16) 0 0 0);mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMiIgaGVpZ2h0PSI5IiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMTIgOSI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMTEuNzguMjJhLjc1Ljc1IDAgMCAxIDAgMS4wNjFMNC41MiA4LjU0MWEuNzUuNzUgMCAwIDEtMS4wNjIgMEwuMjAyIDUuMjg1YS43NS43NSAwIDAgMSAxLjA2MS0xLjA2MWwyLjcyNSAyLjcyM0wxMC43MTguMjJhLjc1Ljc1IDAgMCAxIDEuMDYyIDAiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==");mask-size:75%;mask-repeat:no-repeat;mask-position:center;animation:checkmarkOut 80ms cubic-bezier(.65,0,.35,1) forwards}:is(.FormControl-checkbox:after){position:absolute;top:50%;left:50%;width:100%;height:100%;min-height:var(--control-medium-size) var(--control-medium-size);content:"";transform:translateX(-50%) translateY(-50%)}:is(.FormControl-checkbox[disabled]~.FormControl-checkbox-labelWrap) .FormControl-label{color:var(--control-fgColor-disabled);cursor:not-allowed}.FormControl-checkbox:checked{background:var(--control-checked-bgColor-rest,var(--color-accent-fg));border-color:var(--control-checked-borderColor-rest,var(--color-accent-fg));transition:background-color,border-color 80ms cubic-bezier(.32,0,.67,0) 0s}.FormControl-checkbox:checked:before{visibility:visible;transition:visibility 0s linear 0s;animation:checkmarkIn 80ms cubic-bezier(.65,0,.35,1) 80ms forwards}.FormControl-checkbox:checked:disabled{cursor:not-allowed;background-color:var(--control-fgColor-disabled);border-color:var(--control-fgColor-disabled);opacity:1}.FormControl-checkbox:checked:disabled:before{background-color:var(--control-checked-fgColor-rest)}@media (forced-colors:active){.FormControl-checkbox:checked{background-color:canvastext;border-color:canvastext}}.FormControl-checkbox:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:2px;box-shadow:none}.FormControl-checkbox:indeterminate:before{mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIyIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgMTAgMiI+PHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMCAxYTEgMSAwIDAgMSAxLTFoOGExIDEgMCAxIDEgMCAySDFhMSAxIDAgMCAxLTEtMSIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+");visibility:visible}.FormControl-radio{color:var(--fgColor-default);background-color:var(--bgColor-default);border:var(--borderWidth-thin) solid var(--control-borderColor-rest,var(--color-border-default));box-shadow:var(--shadow-inset)}.FormControl-radio[disabled]{color:var(--control-fgColor-disabled);cursor:not-allowed;background-color:var(--control-bgColor-disabled);border-color:var(--control-borderColor-disabled);box-shadow:none;opacity:1;-webkit-text-fill-color:var(--control-fgColor-disabled)}.FormControl-radio[invalid=true]:not(:focus){border-color:var(--control-borderColor-danger)}.FormControl-radio[invalid=false]:not(:focus){border-color:var(--control-borderColor-success)}.FormControl-radio:not([type=checkbox],[type=radio]):focus{border-color:var(--focus-outlineColor);outline:none;box-shadow:inset 0 0 0 1px var(--focus-outlineColor)}.FormControl-radio:not([type=checkbox],[type=radio]):focus:not(:focus-visible){border-color:#0000;border-color:var(--focus-outlineColor);outline:none;box-shadow:inset 0 0 0 1px #0000 var(--focus-outlineColor)}.FormControl-radio:not([type=checkbox],[type=radio]):focus-visible{border-color:var(--focus-outlineColor);outline:none;box-shadow:inset 0 0 0 1px var(--focus-outlineColor)}.FormControl-radio{position:relative;width:var(--base-size-16);height:var(--base-size-16);margin:0;margin-top:var(--base-size-2);cursor:pointer;border-color:var(--control-borderColor-emphasis);border-radius:var(--borderRadius-full);transition:background-color,border-color 80ms cubic-bezier(.33,1,.68,1);appearance:none}:is(.FormControl-radio:after){position:absolute;top:50%;left:50%;width:100%;height:100%;min-height:var(--control-medium-size) var(--control-medium-size);content:"";transform:translateX(-50%) translateY(-50%)}:is(.FormControl-radio[disabled]~.FormControl-radio-labelWrap) .FormControl-label{color:var(--control-fgColor-disabled);cursor:not-allowed}.FormControl-radio:checked{border-color:var(--control-checked-borderColor-rest,var(--color-accent-fg));border-width:var(--base-size-4)}.FormControl-radio:checked:disabled,.FormControl-radio[disabled]:checked{cursor:not-allowed;border-color:var(--control-fgColor-disabled)}:is(:is(.FormControl-radio[disabled]:checked,.FormControl-radio:checked:disabled)~.FormControl-radio-labelWrap) .FormControl-label{color:var(--control-fgColor-disabled);cursor:not-allowed}.FormControl-radio:focus-visible{outline:2px solid var(--focus-outlineColor);outline-offset:2px;box-shadow:none}@media (forced-colors:active){.FormControl-radio{background-color:canvastext;border-color:canvastext}}@keyframes checkmarkIn{0%{clip-path:inset(var(--base-size-16) 0 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes checkmarkOut{0%{clip-path:inset(0 0 0 0)}to{clip-path:inset(var(--base-size-16) 0 0 0)}}