diff options
| author | Adam <[email protected]> | 2025-12-27 05:16:39 -0600 |
|---|---|---|
| committer | Adam <[email protected]> | 2025-12-27 14:43:42 -0600 |
| commit | 21eba5f987482b4e2e75ab1c564815bd7b0613f4 (patch) | |
| tree | 2d8cad03e54baa29d83e1e835a7ef2e64d3897e4 /packages/ui/src/components/message-part.css | |
| parent | c523ca412747d66e0236865a4fa2481f7d50f64e (diff) | |
| download | opencode-21eba5f987482b4e2e75ab1c564815bd7b0613f4.tar.gz opencode-21eba5f987482b4e2e75ab1c564815bd7b0613f4.zip | |
feat(desktop): permissions
Diffstat (limited to 'packages/ui/src/components/message-part.css')
| -rw-r--r-- | packages/ui/src/components/message-part.css | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/packages/ui/src/components/message-part.css b/packages/ui/src/components/message-part.css index 6daf1a8b5..a8a9e6a31 100644 --- a/packages/ui/src/components/message-part.css +++ b/packages/ui/src/components/message-part.css @@ -361,3 +361,98 @@ overflow: hidden; } } + +[data-component="tool-part-wrapper"] { + width: 100%; + + &[data-permission="true"] { + position: sticky; + top: var(--sticky-header-height, 80px); + bottom: 0px; + z-index: 10; + border-radius: 6px; + border: none; + box-shadow: var(--shadow-xs-border-base); + background-color: var(--surface-raised-base); + overflow: visible; + + &::before { + content: ""; + position: absolute; + inset: -1.5px; + border-radius: 7.5px; + border: 1.5px solid transparent; + background: + linear-gradient(var(--background-base) 0 0) padding-box, + conic-gradient( + from var(--border-angle), + transparent 0deg, + transparent 270deg, + var(--border-warning-strong, var(--border-warning-selected)) 300deg, + var(--border-warning-base) 360deg + ) + border-box; + animation: chase-border 1.5s linear infinite; + pointer-events: none; + z-index: -1; + } + + & > *:first-child { + border-top-left-radius: 6px; + border-top-right-radius: 6px; + overflow: hidden; + } + + & > *:last-child { + border-bottom-left-radius: 6px; + border-bottom-right-radius: 6px; + overflow: hidden; + } + + [data-component="collapsible"] { + border: none; + } + + [data-component="card"] { + border: none; + } + } +} + +@property --border-angle { + syntax: "<angle>"; + initial-value: 0deg; + inherits: false; +} + +@keyframes chase-border { + from { + --border-angle: 0deg; + } + to { + --border-angle: 360deg; + } +} + +[data-component="permission-prompt"] { + display: flex; + flex-direction: column; + padding: 8px 12px; + background-color: var(--surface-raised-strong); + border-radius: 0 0 6px 6px; + + [data-slot="permission-message"] { + display: none; + font-family: var(--font-family-sans); + font-size: var(--font-size-small); + font-weight: var(--font-weight-medium); + line-height: var(--line-height-large); + } + + [data-slot="permission-actions"] { + display: flex; + align-items: center; + gap: 8px; + justify-content: flex-end; + } +} |
