Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions packages/devextreme-scss/scss/widgets/base/chat/_index.scss
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
$chat-disabled-opacity: null !default;
$chat-file-name-font-weight: 600 !default;
$chat-editing-preview-caption-font-weight: 500 !default;
$chat-tool-call-header-font-weight: 600 !default;

$chat-messagebox-border-block-start-width: 1px !default;
$chat-messagebubble-padding-image: 4px !default;
Expand Down Expand Up @@ -33,3 +34,6 @@ $chat-messagebubble-max-height-image: 400px !default;
@use "layout/chat-messagelist" as *;
@use "layout/chat-suggestions" as *;
@use "layout/chat-typingindicator" as *;
@use "layout/chat-toolcallview" as * with (
$header-font-weight: $chat-tool-call-header-font-weight,
);
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@
@forward "layout/chat-messagelist/mixins";
@forward "layout/chat-suggestions/mixins";
@forward "layout/chat-typingindicator/mixins";
@forward "layout/chat-toolcallview/mixins";
@forward "layout/chat-confirmationpopup/mixins";
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
$header-font-weight: null !default;

@use "sass:map";
@use "../../../mixins" as *;
@use "../../../icon_fonts" as *;

.dx-chat-messagegroup-alignment-start .dx-chat-messagegroup-content:has(.dx-chat-tool-call-view) {
justify-self: stretch;
}

.dx-chat-tool-call-view {
.dx-accordion {
margin: 0;
background-color: transparent;
}

.dx-accordion-item {
margin-block: 0;
box-shadow: none;
background-color: transparent;
}

.dx-accordion-item:not(.dx-state-focused) {
border-color: transparent;
}

.dx-accordion-item-title {
justify-content: flex-start;
font-size: inherit;
background-color: transparent;

&::before {
position: static;
order: 1;
}
}

.dx-accordion-item-closed > .dx-accordion-item-title::before {
content: map.get($icons, "chevronright");
}

.dx-accordion-item-opened > .dx-accordion-item-title::before {
content: map.get($icons, "chevrondown");
}

.dx-accordion-item-body {
padding: 0;
}
}

.dx-rtl .dx-chat-tool-call-view .dx-accordion-item-closed > .dx-accordion-item-title::before {
content: map.get($icons, "chevronleft");
}

.dx-chat-tool-call-header {
display: flex;
align-items: center;
font-weight: $header-font-weight;
}

.dx-chat-tool-call-title {
display: flex;
align-items: center;
min-width: 0;
}

.dx-chat-tool-call-name {
min-width: 0;

@include dx-overflow();
}

.dx-chat-tool-call-error-badge {
flex-shrink: 0;
}

.dx-chat-tool-call-content {
display: flex;
flex-direction: column;
border-inline-start-style: solid;
}

.dx-chat-tool-call-field {
display: flex;
flex-direction: column;

.dx-textarea,
.dx-texteditor-input,
.dx-button {
cursor: copy;
}

.dx-button.dx-button-mode-text:not(:focus-visible) {
background-color: transparent;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
@mixin chat-toolcallview(
$min-width,
$header-padding-block,
$header-padding-inline,
$title-gap,
$title-color,
$icon-size,
$badge-padding-block,
$badge-padding-inline,
$badge-border-radius,
$content-gap,
$content-padding-block,
$content-margin-inline-start,
$content-padding-inline-start,
$content-border-width,
$content-border-color,
$field-gap,
$field-font-family,
$error-color,
$error-background-color,
) {
.dx-chat-messagebubble:has(> .dx-chat-tool-call-view) {
min-width: min($min-width, 100%);
}

.dx-chat-tool-call-header {
gap: $title-gap;
padding: $header-padding-block $header-padding-inline;
}

.dx-chat-tool-call-view .dx-accordion-item-title::before {
margin-inline: $title-gap 0;
color: $title-color;
}

.dx-chat-tool-call-title {
gap: $title-gap;
color: $title-color;

.dx-icon {
flex-shrink: 0;
font-size: $icon-size;
}
}

.dx-chat-tool-call-error-badge {
padding: $badge-padding-block $badge-padding-inline;
border-radius: $badge-border-radius;
color: $error-color;
background-color: $error-background-color;
}

.dx-chat-tool-call-content {
gap: $content-gap;
padding-block: $content-padding-block;
margin-inline-start: $content-margin-inline-start;
padding-inline-start: $content-padding-inline-start;
border-inline-start-width: $content-border-width;
border-inline-start-color: $content-border-color;
}

.dx-chat-tool-call-field {
gap: $field-gap;

.dx-textarea {
font-family: $field-font-family;
}
}

.dx-chat-tool-call-field-error {
.dx-texteditor.dx-editor-outlined.dx-state-readonly {
border-color: transparent;
background-color: $error-background-color;
}

.dx-texteditor-input {
color: $error-color;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -59,3 +59,8 @@ $chat-suggestions-box-shadow: ds.$box-shadow-md !default;
$chat-message-list-context-menu-delete-button-content: ds.$color-content-danger !default;
$chat-message-list-context-menu-delete-button-content-focused: ds.$color-content-danger !default;
$chat-message-list-context-menu-delete-button-bg-focused: ds.$color-bg-hovered !default;

$chat-tool-call-title-content: ds.$color-content-subtle !default;
$chat-tool-call-content-border: ds.$color-border !default;
$chat-tool-call-error-content: ds.$color-content-danger !default;
$chat-tool-call-error-bg: ds.$color-bg-danger-subtler !default;
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
@use "../../base/chat" with (
$chat-file-name-font-weight: var(--dx-chat-file-name-font-weight),
$chat-editing-preview-caption-font-weight: var(--dx-chat-editing-preview-caption-font-weight),
$chat-tool-call-header-font-weight: var(--dx-chat-tool-call-header-font-weight),
$chat-messagebox-border-block-start-width: var(--dx-chat-message-box-border-block-start-width),
$chat-messagebubble-padding-image: var(--dx-chat-bubble-image-padding),
$chat-messagebubble-border-radius-image: var(--dx-chat-bubble-image-border-radius),
Expand Down Expand Up @@ -72,6 +73,27 @@
var(--dx-chat-bubble-delete-icon-size),
var(--dx-chat-bubble-gap),
);
@include chat-toolcallview(
var(--dx-chat-tool-call-min-width),
var(--dx-chat-tool-call-header-padding-block),
var(--dx-chat-tool-call-header-padding-inline),
var(--dx-chat-tool-call-title-gap),
var(--dx-chat-tool-call-title-content),
var(--dx-chat-tool-call-icon-size),
var(--dx-chat-tool-call-badge-padding-block),
var(--dx-chat-tool-call-badge-padding-inline),
var(--dx-chat-tool-call-badge-border-radius),
var(--dx-chat-tool-call-content-gap),
var(--dx-chat-tool-call-content-padding-block),
var(--dx-chat-tool-call-content-margin-inline-start),
var(--dx-chat-tool-call-content-padding-inline-start),
var(--dx-chat-tool-call-content-border-width),
var(--dx-chat-tool-call-content-border),
var(--dx-chat-tool-call-field-gap),
var(--dx-chat-tool-call-field-font-family),
var(--dx-chat-tool-call-error-content),
var(--dx-chat-tool-call-error-bg),
);
@include chat-messagegroup(
var(--dx-chat-message-group-gap),
var(--dx-chat-message-group-start-grid-template-columns),
Expand Down Expand Up @@ -179,7 +201,11 @@
.dx-chat-message-edited,
.dx-chat-messagelist-empty-message,
.dx-chat-messagelist-empty-prompt,
.dx-chat-messagelist-empty-image {
.dx-chat-messagelist-empty-image,
.dx-chat-tool-call-title,
.dx-chat-tool-call-error-badge,
.dx-chat-tool-call-field-error .dx-texteditor-input,
.dx-chat-tool-call-view .dx-accordion-item-title::before {
color: var(--dx-chat-information-content-disabled);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,26 @@
--dx-chat-suggestions-button-max-width: #{$chat-suggestions-button-max-width};
--dx-chat-suggestions-gap: #{$chat-suggestions-gap};
--dx-chat-suggestions-padding: #{$chat-suggestions-padding};
--dx-chat-tool-call-badge-border-radius: #{$chat-tool-call-badge-border-radius};
--dx-chat-tool-call-badge-padding-block: #{$chat-tool-call-badge-padding-block};
--dx-chat-tool-call-badge-padding-inline: #{$chat-tool-call-badge-padding-inline};
--dx-chat-tool-call-content-border: #{$chat-tool-call-content-border};
--dx-chat-tool-call-content-border-width: #{$chat-tool-call-content-border-width};
--dx-chat-tool-call-content-gap: #{$chat-tool-call-content-gap};
--dx-chat-tool-call-content-margin-inline-start: #{$chat-tool-call-content-margin-inline-start};
--dx-chat-tool-call-content-padding-block: #{$chat-tool-call-content-padding-block};
--dx-chat-tool-call-content-padding-inline-start: #{$chat-tool-call-content-padding-inline-start};
--dx-chat-tool-call-error-bg: #{$chat-tool-call-error-bg};
--dx-chat-tool-call-error-content: #{$chat-tool-call-error-content};
--dx-chat-tool-call-field-font-family: #{$chat-tool-call-field-font-family};
--dx-chat-tool-call-field-gap: #{$chat-tool-call-field-gap};
--dx-chat-tool-call-header-font-weight: #{$chat-tool-call-header-font-weight};
--dx-chat-tool-call-header-padding-block: #{$chat-tool-call-header-padding-block};
--dx-chat-tool-call-header-padding-inline: #{$chat-tool-call-header-padding-inline};
--dx-chat-tool-call-icon-size: #{$chat-tool-call-icon-size};
--dx-chat-tool-call-min-width: #{$chat-tool-call-min-width};
--dx-chat-tool-call-title-content: #{$chat-tool-call-title-content};
--dx-chat-tool-call-title-gap: #{$chat-tool-call-title-gap};
--dx-chat-typing-indicator-bubble-column-gap: #{$chat-typing-indicator-bubble-column-gap};
--dx-chat-typing-indicator-bubble-padding-block: #{$chat-typing-indicator-bubble-padding-block};
--dx-chat-typing-indicator-bubble-padding-inline: #{$chat-typing-indicator-bubble-padding-inline};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,23 @@ $chat-file-icon-font-size: null !default;
$chat-file-view-items-gap: ds.$spacing-80 !default;
$chat-bubble-gap: ds.$spacing-80 !default;

$chat-tool-call-min-width: 360px !default;
$chat-tool-call-header-padding-block: ds.$spacing-60 !default;
$chat-tool-call-header-padding-inline: null !default;
$chat-tool-call-header-font-weight: ds.$font-weight-base-strong !default;
$chat-tool-call-title-gap: null !default;
$chat-tool-call-icon-size: null !default;
$chat-tool-call-badge-padding-block: ds.$spacing-20 !default;
$chat-tool-call-badge-padding-inline: null !default;
$chat-tool-call-badge-border-radius: ds.$border-radius-40 !default;
$chat-tool-call-content-gap: null !default;
$chat-tool-call-content-padding-block: null !default;
$chat-tool-call-content-margin-inline-start: null !default;
$chat-tool-call-content-padding-inline-start: null !default;
$chat-tool-call-content-border-width: ds.$border-width-10 !default;
$chat-tool-call-field-gap: ds.$spacing-40 !default;
$chat-tool-call-field-font-family: ds.$font-family-system-mono !default;

@if $size == "default" {
$chat-bubble-border-radius: ds.$border-radius-120 !default;
$chat-bubble-padding: ds.$spacing-80 ds.$spacing-120 !default;
Expand Down Expand Up @@ -110,6 +127,15 @@ $chat-bubble-gap: ds.$spacing-80 !default;
$chat-confirmation-popup-toolbar-gap: ds.$spacing-80 !default;

$chat-file-icon-font-size: ds.$spacing-200 !default;

$chat-tool-call-header-padding-inline: ds.$spacing-120 !default;
$chat-tool-call-title-gap: ds.$spacing-80 !default;
$chat-tool-call-icon-size: ds.$spacing-200 !default;
$chat-tool-call-badge-padding-inline: ds.$spacing-80 !default;
$chat-tool-call-content-gap: ds.$spacing-160 !default;
$chat-tool-call-content-padding-block: ds.$spacing-80 !default;
$chat-tool-call-content-margin-inline-start: ds.$spacing-220 !default;
$chat-tool-call-content-padding-inline-start: ds.$spacing-170 !default;
}

@else if $size == "compact" {
Expand Down Expand Up @@ -146,6 +172,15 @@ $chat-bubble-gap: ds.$spacing-80 !default;
$chat-confirmation-popup-toolbar-gap: ds.$spacing-40 !default;

$chat-file-icon-font-size: ds.$spacing-160 !default;

$chat-tool-call-header-padding-inline: ds.$spacing-80 !default;
$chat-tool-call-title-gap: ds.$spacing-60 !default;
$chat-tool-call-icon-size: ds.$spacing-160 !default;
$chat-tool-call-badge-padding-inline: ds.$spacing-60 !default;
$chat-tool-call-content-gap: ds.$spacing-120 !default;
$chat-tool-call-content-padding-block: ds.$spacing-60 !default;
$chat-tool-call-content-margin-inline-start: ds.$spacing-160 !default;
$chat-tool-call-content-padding-inline-start: ds.$spacing-130 !default;
}

$chat-bubble-image-padding: ds.$spacing-40 !default;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,3 +188,8 @@ $chat-typingindicator-bubble-bg-color: $chat-bubble-background-color-secondary !
$chat-messagelist-contextmenu-delete-button-color: $base-danger !default;
$chat-messagelist-contextmenu-delete-button-focused-color: $base-danger !default;
$chat-messagelist-contextmenu-delete-button-focused-bg: $base-hover-bg !default;

$chat-tool-call-title-color: $base-icon-color !default;
$chat-tool-call-content-border-color: $base-border-color !default;
$chat-tool-call-error-color: $base-danger !default;
$chat-tool-call-error-background-color: color.change($base-danger, $alpha: 0.1) !default;
21 changes: 21 additions & 0 deletions packages/devextreme-scss/scss/widgets/fluent/chat/_index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,27 @@
$chat-bubble-delete-icon-size,
$chat-bubble-gap,
);
@include chat-toolcallview(
$chat-tool-call-min-width,
$chat-tool-call-header-padding-block,
$chat-tool-call-header-padding-inline,
$chat-tool-call-title-gap,
$chat-tool-call-title-color,
$chat-tool-call-icon-size,
$chat-tool-call-badge-padding-block,
$chat-tool-call-badge-padding-inline,
$chat-tool-call-badge-border-radius,
$chat-tool-call-content-gap,
$chat-tool-call-content-padding-block,
$chat-tool-call-content-margin-inline-start,
$chat-tool-call-content-padding-inline-start,
$chat-tool-call-content-border-width,
$chat-tool-call-content-border-color,
$chat-tool-call-field-gap,
$chat-tool-call-field-font-family,
$chat-tool-call-error-color,
$chat-tool-call-error-background-color,
);
@include chat-messagegroup(
$chat-messagegroup-gap,
$chat-messagegroup-alignment-start-template,
Expand Down
Loading
Loading