frontend_nyla/src/components/Dashboard/DashboardChat/DashboardChatAreaStyles/DashboardChatAreaInput.module.css
2025-08-22 12:49:47 +02:00

259 lines
No EOL
5.6 KiB
CSS

/* Input Area Specific Styles */
.input_area_container {
width: 100%;
display: flex;
flex-direction: column;
justify-content: flex-end;
box-sizing: border-box;
padding: 16px 16px 16px 0;
min-height: fit-content;
}
.workflow_status {
margin-bottom: 12px;
padding: 8px;
background-color: var(--color-surface);
border-radius: 4px;
font-size: 12px;
color: var(--color-gray);
}
.error_message {
padding: 8px;
background-color: var(--color-error, #ffe6e6);
color: var(--color-error-text, #d00);
border-radius: 4px;
margin-bottom: 12px;
}
/* Prompt Selection Styles */
.prompt_selection_container {
margin-bottom: 12px;
}
.prompt_dropdown_wrapper {
display: flex;
align-items: center;
gap: 8px;
}
.prompt_dropdown {
flex: 1;
padding: 10px 16px;
padding-right: 40px; /* Space for the dropdown arrow */
border: 1px solid var(--color-primary);
border-radius: 25px;
font-size: 14px;
font-family: var(--font-family);
background: var(--color-bg);
color: var(--color-text);
opacity: 0.8;
transition: border-color 0.2s ease, opacity 0.2s ease;
cursor: pointer;
appearance: none; /* Remove default dropdown arrow */
background-image: url("data:image/svg+xml;charset=US-ASCII,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M5 7l3 3 3-3'/></svg>"); background-repeat: no-repeat;
background-position: right 16px center; /* Position the custom arrow */
background-size: 12px;
}
.prompt_dropdown:focus {
outline: none;
border-color: var(--color-secondary);
opacity: 1;
}
.prompt_dropdown:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.clear_prompt_button {
width: 32px;
height: 32px;
border: 1px solid var(--color-primary);
border-radius: 50%;
background: var(--color-bg);
color: var(--color-text);
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
transition: all 0.2s ease;
}
.clear_prompt_button:hover {
background: var(--color-bg);
color: var(--color-secondary);
border: 1px solid var(--color-secondary);
}
.clear_prompt_button:disabled {
opacity: 0.5;
cursor: not-allowed;
}
.attached_files_count {
margin-bottom: 8px;
padding: 6px 10px;
background-color: var(--color-secondary-disabled);
border-radius: 25px;
font-size: 12px;
color: var(--color-bg);
text-align: center;
}
.input_form_container {
display: flex;
flex-direction: column;
gap: 12px;
}
.floating_label_textarea {
position: relative;
width: 100%;
box-sizing: border-box;
}
.textarea_label {
position: absolute;
left: 16px;
top: 16px;
color: var(--color-text);
opacity: 0.6;
font-size: 14px;
pointer-events: none;
transition: all 0.3s ease;
background-color: transparent;
font-family: var(--font-family);
z-index: 1;
}
.textarea_label_focused {
position: absolute;
left: 12px;
top: -8px;
transform: translateY(0);
color: var(--color-secondary);
font-size: 12px;
pointer-events: none;
transition: all 0.3s ease;
background-color: var(--color-bg);
padding: 0 4px;
font-family: var(--font-family);
font-weight: 500;
z-index: 2;
}
.message_textarea {
resize: none;
width: 100%;
min-height: calc(1.5em * 4 + 32px); /* 4 rows + padding */
max-height: calc(1.5em * 8 + 32px); /* 8 rows + padding */
height: calc(1.5em * 4 + 32px); /* Start with 4 rows */
padding:16px;
border: 1px solid var(--color-primary);
border-radius: 25px;
font-size: 14px;
font-family: var(--font-family);
background: var(--color-bg);
color: var(--color-text);
opacity: 0.6;
transition: border-color 0.2s ease, opacity 0.2s ease, box-shadow 0.2s ease;
box-sizing: border-box;
line-height: 1.5;
overflow-y: auto;
}
.message_textarea:focus {
outline: none;
border-color: var(--color-secondary);
opacity: 1;
box-shadow: 0 0 0 2px rgba(var(--color-secondary), 0.1);
}
.message_textarea::placeholder {
color: transparent;
}
.message_textarea:disabled {
opacity: 0.6;
}
.message_textarea_with_content {
opacity: 0.9;
border-color: var(--color-secondary);
background: var(--color-bg);
}
.input_actions_row {
display: flex;
gap: 8px;
align-items: center;
justify-content: flex-end;
}
.new_chat_button {
padding: 8px 12px;
background-color: var(--color-surface);
border: 1px solid var(--color-gray-disabled);
border-radius: 6px;
cursor: pointer;
font-size: 12px;
color: var(--color-gray);
}
/* Drag and Drop Styles */
.input_area_container {
position: relative;
}
.drag_over {
border: 2px dashed var(--color-primary);
background-color: rgba(var(--color-primary-rgb), 0.05);
border-radius: 8px;
}
.drag_overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(var(--color-primary-rgb), 0.1);
backdrop-filter: blur(2px);
border-radius: 8px;
display: flex;
align-items: center;
justify-content: center;
z-index: 10;
border: 2px dashed var(--color-primary);
}
.drag_overlay_content {
text-align: center;
color: var(--color-primary);
font-weight: 500;
}
.drag_icon {
font-size: 48px;
margin-bottom: 12px;
}
.drag_text {
font-size: 16px;
font-weight: 500;
}
.drag_overlay.disabled {
background-color: rgba(255, 0, 0, 0.1);
border-color: #ff6b6b;
}
.drag_overlay.disabled .drag_overlay_content {
color: #ff6b6b;
}