362 lines
10 KiB
CSS
362 lines
10 KiB
CSS
/* styles/mappingComponent.css - EXACT from original JS */
|
|
|
|
/* Mapping List Container */
|
|
.mapping-list-container,
|
|
.controller-mapping-list {
|
|
font-family: var(--cf-brand-font); /* Use brand font */
|
|
color: var(--cf-text-primary);
|
|
max-width: 100%;
|
|
/* Add some default spacing */
|
|
/* margin-top: 10px; */
|
|
}
|
|
|
|
/* Style the list shown in the Mappings tab */
|
|
#mappings-panel .mapping-list {
|
|
/* Add some padding/margin if needed */
|
|
margin-top: 0; /* Remove top margin if header exists */
|
|
gap: 8px; /* Consistent gap from commands list */
|
|
padding-right: 0; /* Remove scroll padding if panel scrolls */
|
|
}
|
|
|
|
.mapping-list-header {
|
|
margin-bottom: 10px;
|
|
font-size: 14px;
|
|
}
|
|
|
|
/* Mapping List */
|
|
.mapping-list {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 8px;
|
|
max-height: 300px;
|
|
overflow-y: auto;
|
|
padding-right: 5px;
|
|
}
|
|
|
|
/* Inside dialog */
|
|
.controller-mapping-existing-content .mapping-list {
|
|
max-height: none;
|
|
}
|
|
|
|
/* Mapping Item - Original style */
|
|
.mapping-item {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
padding: 8px;
|
|
background-color: var(--cf-bg-secondary);
|
|
border-radius: 3px;
|
|
border: 1px solid var(--cf-border-color);
|
|
}
|
|
|
|
/* Mapping Component Style (main style used in panel) */
|
|
.controller-mapping-component {
|
|
display: flex;
|
|
align-items: center;
|
|
/* padding: 10px; */
|
|
padding: 10px 15px; /* Match command item padding */
|
|
/* margin: 5px 0; */
|
|
margin: 0; /* Remove margin, rely on parent gap */
|
|
/* background-color: var(--cf-bg-tertiary); */
|
|
background-color: var(--cf-bg-secondary); /* Match command item bg */
|
|
border-radius: 4px;
|
|
/* border: 1px solid var(--cf-border-color); */
|
|
border: 1px solid var(--cf-border-color); /* Match command item border */
|
|
position: relative;
|
|
gap: 10px;
|
|
transition: border-color 0.2s, background-color 0.2s; /* Add transition */
|
|
}
|
|
|
|
/* Add hover effect like command item */
|
|
.controller-mapping-component:hover {
|
|
border-color: var(--cf-brand-primary);
|
|
background-color: var(--cf-bg-tertiary);
|
|
}
|
|
|
|
.mapping-control-source {
|
|
flex: 1;
|
|
/* margin-right: 10px; */ /* Handled by parent gap */
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px; /* Increase gap slightly */
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.mapping-target {
|
|
flex: 1;
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px; /* Increase gap slightly */
|
|
overflow: hidden;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.mapping-icon {
|
|
/* margin-right: 5px; */ /* Handled by parent gap */
|
|
flex-shrink: 0;
|
|
font-size: 16px; /* Larger icon */
|
|
opacity: 0.9;
|
|
color: var(--cf-text-secondary); /* Muted icon color */
|
|
}
|
|
|
|
.mapping-name {
|
|
font-weight: 500; /* Match command label weight */
|
|
font-size: 14px; /* Match command label size */
|
|
color: var(--cf-text-primary); /* Ensure color */
|
|
text-overflow: ellipsis;
|
|
overflow: hidden;
|
|
}
|
|
|
|
.mapping-arrow {
|
|
margin: 0 10px;
|
|
font-size: 16px;
|
|
color: var(--cf-text-muted);
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.mapping-type-badge {
|
|
padding: 3px 7px; /* Slightly larger padding */
|
|
background-color: var(--cf-bg-tertiary); /* Slightly darker badge */
|
|
border: 1px solid var(--cf-border-light); /* Add border */
|
|
border-radius: 3px;
|
|
font-size: 11px; /* Keep small */
|
|
margin-left: 10px;
|
|
flex-shrink: 0;
|
|
color: var(--cf-text-secondary); /* Muted text */
|
|
font-weight: 500;
|
|
}
|
|
|
|
.mapping-actions {
|
|
display: flex;
|
|
margin-left: auto;
|
|
padding-left: 15px;
|
|
gap: 6px; /* Slightly more gap */
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
/* Make buttons look like command map button */
|
|
.mapping-edit,
|
|
.mapping-delete {
|
|
/* Base style similar to .command-map-btn */
|
|
padding: 5px 10px;
|
|
background-color: var(--cf-bg-secondary);
|
|
border: 1px solid var(--cf-border-light);
|
|
color: var(--cf-text-secondary);
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
transition: all 0.2s;
|
|
}
|
|
/* UPDATED HOVER: Match command map button hover */
|
|
.mapping-edit:hover,
|
|
.mapping-delete:hover {
|
|
background-color: var(--cf-brand-primary); /* Orange brand color */
|
|
border-color: var(--cf-brand-primary);
|
|
color: white;
|
|
}
|
|
|
|
.mapping-empty-message,
|
|
.no-mappings-message { /* Combined empty message styles */
|
|
color: var(--cf-text-muted);
|
|
font-style: italic;
|
|
text-align: center;
|
|
padding: 20px; /* Increased padding */
|
|
font-size: 14px;
|
|
background-color: var(--cf-bg-secondary); /* Added background */
|
|
border: 1px dashed var(--cf-border-color); /* Added border */
|
|
border-radius: 4px;
|
|
margin-top: 10px;
|
|
}
|
|
|
|
/* Inside dialog, make items more compact */
|
|
.controller-mapping-existing-content .mapping-item,
|
|
.controller-mapping-existing-content .controller-mapping-component {
|
|
padding: 5px;
|
|
font-size: 12px;
|
|
}
|
|
|
|
/* Mapping Info */
|
|
.mapping-info {
|
|
flex-grow: 1;
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 4px;
|
|
}
|
|
|
|
/* Inside dialog, make info more compact */
|
|
.controller-mapping-existing-content .mapping-info {
|
|
gap: 2px;
|
|
}
|
|
|
|
/* Buttons */
|
|
.mapping-edit-btn,
|
|
.mapping-delete-btn {
|
|
padding: 4px 8px;
|
|
border: none;
|
|
border-radius: 3px;
|
|
cursor: pointer;
|
|
background-color: var(--cf-accent-blue-dark);
|
|
color: white;
|
|
}
|
|
|
|
/* Inside dialog, make buttons smaller */
|
|
.controller-mapping-existing-content .mapping-edit-btn,
|
|
.controller-mapping-existing-content .mapping-delete-btn,
|
|
.controller-mapping-existing-content .mapping-edit,
|
|
.controller-mapping-existing-content .mapping-delete {
|
|
padding: 2px 6px;
|
|
font-size: 11px;
|
|
}
|
|
|
|
.mapping-delete-btn {
|
|
background-color: var(--cf-accent-red-dark);
|
|
}
|
|
|
|
/* Error State */
|
|
.mapping-error {
|
|
color: var(--cf-status-error);
|
|
padding: 8px;
|
|
background-color: rgba(255, 107, 107, 0.1);
|
|
border-radius: 3px;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
/* Mapping Editor Dialog */
|
|
.mapping-editor-overlay {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
background-color: var(--cf-bg-overlay); /* Ensure this is applied */
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
z-index: 10001; /* Ensure above panel */
|
|
}
|
|
|
|
/* Apply base dialog styles AND editor specifics */
|
|
.mapping-editor.controller-dialog {
|
|
/* Base Dialog Properties (Copied/Verified from dialog.css) */
|
|
position: fixed;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
z-index: 10001; /* Ensure above panel */
|
|
display: flex;
|
|
flex-direction: column;
|
|
background-color: var(--cf-bg-primary); /* Ensure solid background */
|
|
border: 1px solid var(--cf-border-color);
|
|
border-radius: 6px;
|
|
box-shadow: 0 4px 20px var(--cf-bg-overlay);
|
|
padding: 0; /* Padding is on inner elements */
|
|
min-width: 450px; /* Consistent min-width */
|
|
max-width: 600px; /* Specific max-width */
|
|
max-height: 90vh;
|
|
color: var(--cf-text-primary);
|
|
font-family: var(--cf-brand-font);
|
|
overflow: hidden; /* Prevent outer scroll */
|
|
}
|
|
|
|
/* Editor Header (Inherit/Match dialog header) */
|
|
.mapping-editor .controller-dialog-header {
|
|
/* Styles copied from dialog.css header */
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
background: linear-gradient(90deg, var(--cf-bg-tertiary), var(--cf-brand-primary) 250%);
|
|
padding: 12px 20px;
|
|
border-bottom: 1px solid var(--cf-border-color);
|
|
border-radius: 6px 6px 0 0;
|
|
flex-shrink: 0;
|
|
}
|
|
.mapping-editor .controller-dialog-header h3 {
|
|
margin: 0;
|
|
font-family: var(--cf-brand-font);
|
|
font-weight: 600;
|
|
font-size: 18px; /* Editor title size */
|
|
color: var(--cf-text-primary);
|
|
}
|
|
|
|
/* Editor Close Button (Inherit/Match dialog close) */
|
|
.mapping-editor .controller-dialog-close {
|
|
/* Styles copied from dialog.css close */
|
|
background: none; border: none; font-size: 24px; cursor: pointer;
|
|
color: var(--cf-text-muted); width: 30px; height: 30px;
|
|
display: flex; align-items: center; justify-content: center;
|
|
transition: all 0.2s; border-radius: 4px;
|
|
}
|
|
.mapping-editor .controller-dialog-close:hover {
|
|
color: var(--cf-text-primary); background: rgba(255, 255, 255, 0.1);
|
|
}
|
|
|
|
/* Editor Content Area (Inherit/Match dialog content) */
|
|
.mapping-editor .controller-dialog-content {
|
|
padding: 20px;
|
|
overflow-y: auto; /* Allow content scroll */
|
|
flex-grow: 1;
|
|
}
|
|
|
|
/* Editor Footer/Actions (Inherit/Match dialog buttons container) */
|
|
.mapping-editor .controller-mapping-buttons {
|
|
/* Styles copied from dialog.css buttons container */
|
|
display: flex; justify-content: space-between; gap: 15px;
|
|
margin-top: 15px; /* Space above */
|
|
padding: 20px; /* Consistent padding */
|
|
border-top: 1px solid var(--cf-border-light);
|
|
flex-shrink: 0;
|
|
}
|
|
/* Ensure editor buttons inherit base styles */
|
|
.mapping-editor .controller-cancel-button,
|
|
.mapping-editor .controller-map-button {
|
|
/* Styles copied from dialog.css buttons */
|
|
flex: 1; padding: 12px; border: none; border-radius: 4px;
|
|
cursor: pointer; color: white; font-family: var(--cf-brand-font);
|
|
font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px;
|
|
transition: all 0.2s; font-size: 14px;
|
|
}
|
|
.mapping-editor .controller-cancel-button {
|
|
background-color: var(--cf-bg-secondary); flex: 1;
|
|
border: 1px solid var(--cf-border-color); color: var(--cf-text-primary);
|
|
}
|
|
.mapping-editor .controller-cancel-button:hover {
|
|
background-color: var(--cf-bg-hover); border-color: var(--cf-text-secondary);
|
|
}
|
|
.mapping-editor .controller-map-button {
|
|
background-color: var(--cf-brand-primary); flex: 2;
|
|
}
|
|
.mapping-editor .controller-map-button:hover:not(:disabled) {
|
|
background-color: var(--cf-brand-primary-dark);
|
|
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
|
|
}
|
|
.mapping-editor .controller-map-button:disabled {
|
|
opacity: 0.5; cursor: not-allowed; background-color: var(--cf-brand-primary);
|
|
}
|
|
|
|
/* Scrollbars - Applying original styles */
|
|
.mapping-list::-webkit-scrollbar,
|
|
.mapping-editor::-webkit-scrollbar { /* Add scrollbar to editor */
|
|
width: 6px;
|
|
}
|
|
.mapping-list::-webkit-scrollbar-track,
|
|
.mapping-editor::-webkit-scrollbar-track {
|
|
background: var(--cf-bg-primary);
|
|
border-radius: 3px;
|
|
}
|
|
.mapping-list::-webkit-scrollbar-thumb,
|
|
.mapping-editor::-webkit-scrollbar-thumb {
|
|
background-color: var(--cf-border-color);
|
|
border-radius: 3px;
|
|
}
|
|
.mapping-list::-webkit-scrollbar-thumb:hover,
|
|
.mapping-editor::-webkit-scrollbar-thumb:hover {
|
|
background-color: var(--cf-text-muted);
|
|
}
|
|
.mapping-list,
|
|
.mapping-editor {
|
|
scrollbar-width: thin;
|
|
scrollbar-color: var(--cf-border-color) var(--cf-bg-primary);
|
|
}
|