summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/components/text-field.css
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-12-11 13:02:57 -0600
committerAdam <[email protected]>2025-12-11 13:42:47 -0600
commit16b7370d8cac304eb2af800b9c6a584784a0c600 (patch)
tree8b181d31ce119d1f8cd8bb47d5268c08edde5ed7 /packages/ui/src/components/text-field.css
parent634fd62b25169619ffcbf87beec8777bf5a0d9bd (diff)
downloadopencode-16b7370d8cac304eb2af800b9c6a584784a0c600.tar.gz
opencode-16b7370d8cac304eb2af800b9c6a584784a0c600.zip
wip(desktop): progress
Diffstat (limited to 'packages/ui/src/components/text-field.css')
-rw-r--r--packages/ui/src/components/text-field.css125
1 files changed, 125 insertions, 0 deletions
diff --git a/packages/ui/src/components/text-field.css b/packages/ui/src/components/text-field.css
new file mode 100644
index 000000000..897050a63
--- /dev/null
+++ b/packages/ui/src/components/text-field.css
@@ -0,0 +1,125 @@
+[data-component="input"] {
+ width: 100%;
+
+ [data-slot="input-input"] {
+ width: 100%;
+ color: var(--text-strong);
+
+ /* text-14-regular */
+ font-family: var(--font-family-sans);
+ font-size: 14px;
+ font-style: normal;
+ font-weight: var(--font-weight-regular);
+ line-height: var(--line-height-large); /* 142.857% */
+ letter-spacing: var(--letter-spacing-normal);
+
+ &:focus {
+ outline: none;
+ }
+
+ &::placeholder {
+ color: var(--text-weak);
+ }
+ }
+
+ &[data-variant="normal"] {
+ display: flex;
+ flex-direction: column;
+ align-items: flex-start;
+ gap: 8px;
+
+ [data-slot="input-label"] {
+ color: var(--text-weak);
+
+ /* text-12-medium */
+ font-family: var(--font-family-sans);
+ font-size: var(--font-size-small);
+ font-style: normal;
+ font-weight: var(--font-weight-medium);
+ line-height: 18px; /* 150% */
+ letter-spacing: var(--letter-spacing-normal);
+ }
+
+ [data-slot="input-wrapper"] {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ width: 100%;
+ padding-right: 4px;
+
+ border-radius: var(--radius-md);
+ border: 1px solid var(--border-weak-base);
+ background: var(--input-base);
+
+ &:focus-within {
+ /* border/shadow-xs/select */
+ box-shadow:
+ 0 0 0 3px var(--border-weak-selected),
+ 0 0 0 1px var(--border-selected),
+ 0 1px 2px -1px rgba(19, 16, 16, 0.25),
+ 0 1px 2px 0 rgba(19, 16, 16, 0.08),
+ 0 1px 3px 0 rgba(19, 16, 16, 0.12);
+ }
+
+ &:has([data-invalid]) {
+ background: var(--surface-critical-weak);
+ border: 1px solid var(--border-critical-selected);
+ }
+
+ &:not(:has([data-slot="input-copy-button"])) {
+ padding-right: 0;
+ }
+ }
+
+ [data-slot="input-input"] {
+ color: var(--text-strong);
+
+ display: flex;
+ height: 32px;
+ padding: 2px 12px;
+ align-items: center;
+ flex: 1;
+ min-width: 0;
+
+ background: transparent;
+ border: none;
+
+ /* text-14-regular */
+ font-family: var(--font-family-sans);
+ font-size: 14px;
+ font-style: normal;
+ font-weight: var(--font-weight-regular);
+ line-height: var(--line-height-large); /* 142.857% */
+ letter-spacing: var(--letter-spacing-normal);
+
+ &:focus {
+ outline: none;
+ }
+
+ &::placeholder {
+ color: var(--text-weak);
+ }
+ }
+
+ [data-slot="input-copy-button"] {
+ flex-shrink: 0;
+ color: var(--icon-base);
+
+ &:hover {
+ color: var(--icon-strong-base);
+ }
+ }
+
+ [data-slot="input-error"] {
+ color: var(--text-on-critical-base);
+
+ /* text-12-medium */
+ font-family: var(--font-family-sans);
+ font-size: var(--font-size-small);
+ font-style: normal;
+ font-weight: var(--font-weight-medium);
+ line-height: 18px; /* 150% */
+ letter-spacing: var(--letter-spacing-normal);
+ }
+ }
+}