mirror of
https://github.com/maputnik/editor.git
synced 2026-07-01 11:37:26 +00:00
3c3fcadbb6
## Launch Checklist This PR adds back the error panel which was under the map for some reason. It also highlights problematic layers in the layers list (which already worked). It also highlights the field that has an error related to it. It fixes the error types throughout the code. Before: <img width="1141" height="665" alt="image" src="https://github.com/user-attachments/assets/c0593d6c-8f14-41b3-8a51-bc359446656d" /> After: <img width="1141" height="665" alt="image" src="https://github.com/user-attachments/assets/1ffeebb7-31ea-4ed5-97f4-fc5f907a6aea" /> - [x] Briefly describe the changes in this PR. - [x] Include before/after visuals or gifs if this PR includes visual changes. - [x] Write tests for all new functionality. - [x] Add an entry to `CHANGELOG.md` under the `## main` section. --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
317 lines
5.2 KiB
SCSS
317 lines
5.2 KiB
SCSS
@use "mixins";
|
|
@use "vars";
|
|
|
|
@use 'sass:color';
|
|
// MAP
|
|
.maputnik-map__container {
|
|
background: white;
|
|
display: flex;
|
|
width: vars.$layout-map-width;
|
|
|
|
&--error {
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
&__error-message {
|
|
margin: 16px;
|
|
text-align: center;
|
|
}
|
|
}
|
|
|
|
.maputnik-map__map {
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
.maputnik-input-block:hover,
|
|
.maputnik-filter-editor-compound-select:hover {
|
|
.maputnik-doc-button {
|
|
opacity: 1;
|
|
pointer-events: all;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
// DOC LABEL
|
|
.maputnik-doc {
|
|
|
|
&-wrapper {
|
|
display: inline-block;
|
|
box-sizing: border-box;
|
|
font-size: vars.$font-size-6;
|
|
line-height: 2;
|
|
user-select: none;
|
|
position: relative;
|
|
vertical-align: top;
|
|
}
|
|
|
|
&-popup {
|
|
display: none;
|
|
color: vars.$color-lowgray;
|
|
background-color: vars.$color-gray;
|
|
padding: vars.$margin-2;
|
|
font-size: 10px;
|
|
position: absolute;
|
|
top: 20px;
|
|
left: 0;
|
|
width: 120px;
|
|
z-index: 10;
|
|
pointer-events: none;
|
|
}
|
|
|
|
&-button {
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
background: vars.$color-black;
|
|
color: white;
|
|
border: none;
|
|
padding: 4px;
|
|
|
|
svg {
|
|
pointer-events: none;
|
|
}
|
|
|
|
&--open {
|
|
opacity: 1;
|
|
pointer-events: all;
|
|
}
|
|
}
|
|
}
|
|
|
|
.maputnik-doc-inline {
|
|
color: vars.$color-lowgray;
|
|
background-color: vars.$color-gray;
|
|
padding: vars.$margin-2;
|
|
font-size: 12px;
|
|
margin-top: vars.$margin-3;
|
|
line-height: 1.5;
|
|
flex: 1 0;
|
|
}
|
|
|
|
.maputnik-doc-target:hover .maputnik-doc-popup {
|
|
display: block;
|
|
text-align: left;
|
|
}
|
|
|
|
// BUTTON
|
|
.maputnik-button {
|
|
display: inline-block;
|
|
cursor: pointer;
|
|
background-color: vars.$color-midgray;
|
|
color: vars.$color-lowgray;
|
|
font-size: vars.$font-size-6;
|
|
padding: vars.$margin-2;
|
|
user-select: none;
|
|
border-width: 0;
|
|
border-radius: 2px;
|
|
box-sizing: border-box;
|
|
text-decoration: none;
|
|
|
|
&:hover {
|
|
background-color: color.adjust(vars.$color-midgray, $lightness: 12%);
|
|
color: vars.$color-white;
|
|
}
|
|
|
|
&:disabled {
|
|
background-color: color.adjust(vars.$color-midgray, $lightness: -5%);
|
|
color: vars.$color-midgray;
|
|
cursor: not-allowed;
|
|
}
|
|
}
|
|
|
|
.maputnik-big-button {
|
|
margin-top: vars.$margin-3;
|
|
display: inline-block;
|
|
padding: vars.$margin-3;
|
|
font-size: vars.$font-size-5;
|
|
}
|
|
|
|
.maputnik-wide-button {
|
|
padding: vars.$margin-2 vars.$margin-3;
|
|
}
|
|
|
|
.maputnik-green-button {
|
|
background-color: vars.$color-green;
|
|
color: vars.$color-black;
|
|
}
|
|
|
|
.maputnik-white-button {
|
|
background-color: vars.$color-white;
|
|
color: vars.$color-black;
|
|
}
|
|
|
|
.maputnik-icon-button {
|
|
background-color: transparent;
|
|
|
|
&:hover:not(:disabled) {
|
|
background-color: transparent;
|
|
|
|
label,
|
|
svg {
|
|
cursor: pointer;
|
|
}
|
|
|
|
svg {
|
|
fill: vars.$color-white;
|
|
}
|
|
}
|
|
}
|
|
|
|
// INPUT BLOCK
|
|
.maputnik-input-block {
|
|
margin: vars.$margin-3;
|
|
display: flex;
|
|
flex-wrap: wrap;
|
|
|
|
&-label {
|
|
color: vars.$color-lowgray;
|
|
user-select: none;
|
|
width: 32%;
|
|
vertical-align: top;
|
|
font-size: 12px;
|
|
}
|
|
|
|
&-action {
|
|
color: vars.$color-lowgray;
|
|
user-select: none;
|
|
width: 18%;
|
|
vertical-align: top;
|
|
font-size: 12px;
|
|
text-align: right;
|
|
}
|
|
|
|
&-content {
|
|
width: 50%;
|
|
}
|
|
}
|
|
|
|
.maputnik-action-block {
|
|
.maputnik-input-block-label {
|
|
display: inline-block;
|
|
width: 32%;
|
|
margin-bottom: vars.$margin-3;
|
|
}
|
|
|
|
.maputnik-input-block-action {
|
|
vertical-align: top;
|
|
display: inline-block;
|
|
width: 18%;
|
|
}
|
|
|
|
.maputnik-input-block-action > div {
|
|
text-align: right;
|
|
}
|
|
|
|
}
|
|
|
|
.maputnik-data-spec-block,
|
|
.maputnik-zoom-spec-property {
|
|
.maputnik-inline-error {
|
|
margin-left: 32%;
|
|
}
|
|
}
|
|
|
|
// SPACE HELPER
|
|
.maputnik-space {
|
|
@include mixins.vendor-prefix(flex-grow, 1);
|
|
}
|
|
|
|
// MESSAGE PANEL
|
|
.maputnik-message-panel {
|
|
padding: vars.$margin-2;
|
|
|
|
&-error {
|
|
color: vars.$color-red;
|
|
}
|
|
|
|
&__switch-button {
|
|
all: unset;
|
|
text-decoration: underline;
|
|
cursor: pointer;
|
|
}
|
|
}
|
|
|
|
.maputnik-dialog {
|
|
&__buttons {
|
|
text-align: right;
|
|
}
|
|
}
|
|
|
|
.map-state-menu {
|
|
display: inline-block;
|
|
|
|
&__menu {
|
|
position: absolute;
|
|
z-index: 999999;
|
|
background: vars.$color-black;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-content: stretch;
|
|
|
|
li {
|
|
display: flex;
|
|
flex-direction: column;
|
|
|
|
button {
|
|
width: 100%;
|
|
text-align: left;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.maputnik-inline-error {
|
|
color: #a4a4a4;
|
|
padding: 0.4em 0.4em;
|
|
font-size: 0.9em;
|
|
border: solid 1px vars.$color-red;
|
|
border-radius: 2px;
|
|
margin: vars.$margin-2 0px;
|
|
}
|
|
|
|
.maputnik-expression-editor {
|
|
border: solid 1px vars.$color-gray;
|
|
}
|
|
|
|
.maputnik-input-block--wide {
|
|
.maputnik-input-block-content {
|
|
display: block;
|
|
width: auto;
|
|
flex: 1;
|
|
}
|
|
|
|
.maputnik-input-block-label {
|
|
width: 82%;
|
|
}
|
|
|
|
.maputnik-input-block-action {
|
|
text-align: right;
|
|
}
|
|
}
|
|
|
|
.maputnik-input-block--error {
|
|
.maputnik-input-block-label {
|
|
color: vars.$color-red;
|
|
}
|
|
}
|
|
|
|
.maputnik-expr-infobox {
|
|
font-size: vars.$font-size-6;
|
|
background: vars.$color-midgray;
|
|
padding: vars.$margin-2;
|
|
border-radius: 2px;
|
|
border-top-right-radius: 0px;
|
|
border-top-left-radius: 0px;
|
|
color: vars.$color-white;
|
|
}
|
|
|
|
.maputnik-expr-infobox__button {
|
|
background: none;
|
|
border: none;
|
|
padding: 0;
|
|
text-decoration: underline;
|
|
color: currentColor;
|
|
cursor: pointer;
|
|
}
|