diff --git a/webui/components/messages/action-buttons/simple-action-buttons.css b/webui/components/messages/action-buttons/simple-action-buttons.css index f914ef8ba..6cb8ee859 100644 --- a/webui/components/messages/action-buttons/simple-action-buttons.css +++ b/webui/components/messages/action-buttons/simple-action-buttons.css @@ -14,6 +14,24 @@ pointer-events: none; } +.step-action-buttons .expand-btn { + display: inline-flex; + align-items: center; + background: transparent; + border: none; + color: var(--color-text-muted); + font-family: "Rubik", Arial, Helvetica, sans-serif; + font-size: var(--font-size-xs); + cursor: pointer; + padding: var(--spacing-xs) 0; + opacity: 0.7; + transition: opacity 0.15s ease; +} + +.step-action-buttons .expand-btn:hover { + opacity: 1; +} + .step-action-buttons .action-button, .action-button { display: flex; @@ -53,6 +71,55 @@ font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 20; } +.show-more-btn, +.show-less-btn { + display: none; +} + +.message.message-collapsible.has-overflow:not(.expanded) > .step-action-buttons { + opacity: 1; + pointer-events: auto; +} + +.message.message-collapsible.has-overflow:not(.expanded) + > .step-action-buttons + .show-more-btn { + display: inline-flex; + pointer-events: auto; +} + +.device-pointer + .message.message-collapsible.has-overflow:not(.expanded) + > .step-action-buttons + .action-button { + opacity: 0; + pointer-events: none; +} + +.device-pointer + .message.message-collapsible.has-overflow:not(.expanded):hover + > .step-action-buttons + .action-button { + opacity: 1; + pointer-events: auto; +} + +.device-pointer + .message.message-collapsible.has-overflow.expanded:hover + > .step-action-buttons + .show-less-btn { + display: inline-flex; + pointer-events: auto; +} + +.device-touch + .message.message-collapsible.has-overflow.expanded + > .step-action-buttons + .show-less-btn { + display: inline-flex; + pointer-events: auto; +} + /* User messages: right-aligned */ .message-user .step-action-buttons { justify-content: flex-end; @@ -70,6 +137,7 @@ .device-pointer .message-user:hover > .step-action-buttons, .device-pointer .message-agent-response:hover > .step-action-buttons, +.device-pointer .message.message-collapsible.expanded:hover > .step-action-buttons, .device-pointer .process-step:hover > .process-step-detail .step-action-buttons { opacity: 1; pointer-events: auto; diff --git a/webui/components/messages/process-group/process-group.css b/webui/components/messages/process-group/process-group.css index 93d973f29..0c30d8788 100644 --- a/webui/components/messages/process-group/process-group.css +++ b/webui/components/messages/process-group/process-group.css @@ -415,6 +415,7 @@ overflow: hidden; text-overflow: ellipsis; margin-left: var(--spacing-xs); + min-width: 0; } /* Step expand icon - CSS triangle (no Material Icons) */ @@ -453,6 +454,7 @@ scrollbar-width: none; /* Firefox */ -ms-overflow-style: none; /* IE/Edge */ overscroll-behavior: contain; /* avoid scroll chaining */ + max-width: 100%; } .process-step:not(.expanded) > .process-step-detail { @@ -508,6 +510,8 @@ font-size: var(--font-size-xs); line-height: 1.5; overflow-y: auto; + overflow-x: hidden; + max-width: 100%; -webkit-overflow-scrolling: touch; /* smooth scrolling on iOS */ scrollbar-width: none; /* Firefox */ -ms-overflow-style: none; /* IE/Edge */ @@ -527,7 +531,7 @@ /* KVPs in step detail - CSS Grid for aligned columns */ .process-step-detail-scroll .step-kvps { display: grid; - grid-template-columns: auto 1fr; + grid-template-columns: auto minmax(0, 1fr); gap: var(--spacing-xs) var(--spacing-sm); align-items: start; } @@ -543,6 +547,7 @@ display: flex; align-items: center; justify-content: end; + white-space: nowrap; } .process-step-detail-scroll .step-kvp-key .material-symbols-outlined { @@ -554,9 +559,17 @@ /* color: var(--color-text); */ opacity: 0.85; word-break: break-word; + overflow-wrap: anywhere; white-space: pre-wrap; font-size: 0.75rem; line-height: 1.5; + min-width: 0; +} + +.process-step-detail-scroll .step-kvp-value p { + margin: 0; + word-break: break-word; + overflow-wrap: anywhere; } @@ -769,6 +782,8 @@ color: var(--color-text); opacity: 0.9; margin: var(--spacing-xs) 0; + word-break: break-word; + overflow-wrap: anywhere; } .process-step-detail-scroll .step-response-content p { diff --git a/webui/components/modals/memory/memory-detail-modal.html b/webui/components/modals/memory/memory-detail-modal.html index 44723c935..619459d14 100644 --- a/webui/components/modals/memory/memory-detail-modal.html +++ b/webui/components/modals/memory/memory-detail-modal.html @@ -139,10 +139,8 @@