geoproject-app/public/assets/css/src/_settings-popup.scss
isUnknown e229deb0f6
All checks were successful
Deploy / Build and Deploy to Production (push) Successful in 16s
fix color picker z-index (always above)
2026-01-09 17:03:11 +01:00

211 lines
3.7 KiB
SCSS

// Common styles for ElementPopup and PagePopup components
.settings-popup {
position: fixed;
background: white;
border-radius: 8px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
z-index: 10;
width: 860px;
max-height: 600px;
display: flex;
flex-direction: column;
}
.popup-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 1rem;
border-bottom: 1px solid #e0e0e0;
background: #f9f9f9;
}
.header-left {
display: flex;
align-items: center;
gap: 0.5rem;
}
.close-btn {
background: none;
border: none;
cursor: pointer;
font-size: 1.5rem;
line-height: 1;
padding: 0;
color: #666;
}
.popup-body {
display: flex;
flex: 1;
overflow: hidden;
}
.popup-controls {
flex: 1;
padding: 1rem;
overflow-y: auto;
background-color: var(--color-panel-bg);
}
.settings-subsection h4 {
margin: 0 0 0.5rem 0;
font-size: 0.875rem;
font-weight: 600;
}
// Label with CSS tooltip
// .label-with-tooltip {
// text-decoration: underline dotted;
// text-underline-offset: 2px;
// cursor: help;
// position: relative;
// &::after {
// content: attr(data-css);
// position: absolute;
// bottom: 100%;
// left: 0;
// margin-bottom: 4px;
// padding: 0.25rem 0.5rem;
// background: var(--color-browngray-700, #3d3d3d);
// color: var(--color-browngray-100, #f5f5f5);
// font-family: "Courier New", Courier, monospace;
// font-size: 0.75rem;
// border-radius: 4px;
// white-space: nowrap;
// opacity: 0;
// visibility: hidden;
// transition:
// opacity 0.15s ease,
// visibility 0.15s ease;
// z-index: 10;
// }
// &:hover::after {
// opacity: 1;
// visibility: visible;
// }
// }
// Inheritance lock/unlock button
.inheritance-btn {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0;
background: transparent;
border: none;
cursor: pointer;
font-size: 0.875rem;
color: #666;
transition: color 0.2s;
&:hover {
color: #333;
}
svg {
width: 1.25rem;
height: 1.25rem;
}
}
// CSS Editor panel
.popup-css {
flex: 1;
background: #f5f5f5;
display: flex;
flex-direction: column;
border-left: 1px solid #e0e0e0;
}
.css-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.5rem 0.75rem;
background: #e8e8e8;
border-bottom: 1px solid #d0d0d0;
font-size: 0.875rem;
font-weight: 600;
}
// Toggle switch for edit mode
.toggle {
display: flex;
align-items: center;
gap: 0.5rem;
cursor: pointer;
font-size: 0.75rem;
font-weight: normal;
color: #666;
input[type="checkbox"] {
position: absolute;
opacity: 0;
width: 0;
height: 0;
}
}
.toggle-switch {
position: relative;
display: inline-block;
width: 36px;
height: 18px;
background: #ccc;
border-radius: 18px;
transition: background 0.2s ease;
&::after {
content: "";
position: absolute;
top: 2px;
left: 2px;
width: 14px;
height: 14px;
background: white;
border-radius: 50%;
transition: transform 0.2s ease;
}
}
.toggle input[type="checkbox"]:checked + .toggle-switch {
background: #61afef;
&::after {
transform: translateX(18px);
}
}
// CSS readonly display
.readonly {
flex: 1;
margin: 0;
padding: 0.75rem;
background: #1e1e1e;
color: #abb2bf;
font-family: "Courier New", Courier, monospace;
font-size: 0.75rem;
line-height: 1.5;
overflow-y: auto;
white-space: pre-wrap;
}
// CSS textarea editor
.popup-css textarea {
flex: 1;
width: 100%;
background: #1e1e1e;
color: #abb2bf;
border: none;
padding: 0.75rem;
font-family: "Courier New", Courier, monospace;
font-size: 0.75rem;
line-height: 1.5;
resize: none;
outline: none;
}