summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/styles/utilities.css
diff options
context:
space:
mode:
authorAaron Iker <[email protected]>2026-02-02 01:17:14 +0100
committerGitHub <[email protected]>2026-02-02 01:17:14 +0100
commit377bf7ff21a4f05807c38675ac70cd08fe67b516 (patch)
tree018639c6a87c248d2df325f6a32c511d7e9caf15 /packages/ui/src/styles/utilities.css
parentb39c1f158f5e78b41edd944dce792a8b602819c1 (diff)
downloadopencode-377bf7ff21a4f05807c38675ac70cd08fe67b516.tar.gz
opencode-377bf7ff21a4f05807c38675ac70cd08fe67b516.zip
feat(ui): Select, dropdown, popover styles & transitions (#11675)
Diffstat (limited to 'packages/ui/src/styles/utilities.css')
-rw-r--r--packages/ui/src/styles/utilities.css42
1 files changed, 42 insertions, 0 deletions
diff --git a/packages/ui/src/styles/utilities.css b/packages/ui/src/styles/utilities.css
index 8c954f1fe..82a913c88 100644
--- a/packages/ui/src/styles/utilities.css
+++ b/packages/ui/src/styles/utilities.css
@@ -1,6 +1,17 @@
:root {
interpolate-size: allow-keywords;
+ /* Transition tokens */
+ --transition-duration: 200ms;
+ --transition-easing: cubic-bezier(0.25, 0, 0.5, 1);
+ --transition-fast: 150ms;
+ --transition-slow: 300ms;
+
+ /* Allow height transitions from 0 to auto */
+ @supports (interpolate-size: allow-keywords) {
+ interpolate-size: allow-keywords;
+ }
+
[data-popper-positioner] {
pointer-events: none;
}
@@ -129,3 +140,34 @@
line-height: var(--line-height-x-large); /* 120% */
letter-spacing: var(--letter-spacing-tightest);
}
+
+/* Transition utility classes */
+.transition-colors {
+ transition-property: background-color, border-color, color, fill, stroke;
+ transition-duration: var(--transition-duration);
+ transition-timing-function: var(--transition-easing);
+}
+
+.transition-opacity {
+ transition-property: opacity;
+ transition-duration: var(--transition-duration);
+ transition-timing-function: var(--transition-easing);
+}
+
+.transition-transform {
+ transition-property: transform;
+ transition-duration: var(--transition-duration);
+ transition-timing-function: var(--transition-easing);
+}
+
+.transition-shadow {
+ transition-property: box-shadow;
+ transition-duration: var(--transition-duration);
+ transition-timing-function: var(--transition-easing);
+}
+
+.transition-interactive {
+ transition-property: background-color, border-color, color, box-shadow, opacity;
+ transition-duration: var(--transition-duration);
+ transition-timing-function: var(--transition-easing);
+}