Files
blitzkit/packages/website/src/components/TextField/index.module.css
T
2026-11-10 14:54:22 -06:00

116 lines
1.8 KiB
CSS

.text-field {
display: flex;
align-items: center;
box-sizing: border-box;
gap: var(--space-3);
cursor: text;
font: inherit;
color: var(--gray-11);
&[data-variant="bubble"] {
border-radius: var(--max-size);
background-color: var(--gray-1);
outline: var(--outline-interactive);
input {
padding: var(--space-3) var(--space-4);
}
}
&[data-variant="form"] {
border-bottom: var(--space-1) solid var(--gray-6);
input {
padding: var(--space-2);
}
}
&[data-size="minor"] {
gap: var(--space-1);
font-size: var(--font-size-minor);
&[data-variant="bubble"] input {
padding: var(--space-2) var(--space-3);
}
&[data-variant="form"] input {
padding: var(--space-1);
}
/* the icon's gap already separates it from the input */
&[data-has-icon="true"] input {
padding-left: 0;
}
}
&[data-has-icon="true"] {
padding-left: var(--space-3);
input {
padding-left: 0;
}
}
&[data-has-suffix="true"] {
padding-right: var(--space-3);
}
&:focus-within {
outline: var(--outline-focus);
box-shadow: var(--shadow-focus);
}
&[data-disabled="true"] {
cursor: not-allowed;
background-color: var(--gray-3);
color: var(--gray-9);
input::placeholder {
color: var(--gray-6);
}
}
svg {
width: 1em;
height: 1em;
}
input {
min-width: 0;
width: auto;
flex: 1;
background: none;
border: none;
cursor: inherit;
font: inherit;
color: var(--gray-12);
&::placeholder {
color: var(--gray-9);
}
&:focus {
outline: none;
}
&[data-align="center"] {
text-align: center;
}
&[data-align="right"] {
text-align: right;
}
&[data-auto-width="true"] {
field-sizing: content;
}
}
}