/
Astartes1337
/
cal
Обзор
Документация
Войти
/
Astartes1337
/
cal
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/components/map/map.scss
265 строк
7 KB
sh4rkman
hexagon numbers text scaling
18 окт 2025, 22:31
18 окт 2025, 22:31
ae70478
Код
Авторство
О чём код?
@use "../shared/variables"; :root { --font-size-objtext: 1em; --font-size-calc-popup: 0.9em; } .circles { pointer-events: none!important; } @mixin popup-base-styles { background: transparent; pointer-events: none; .leaflet-popup-tip, .leaflet-popup-content-wrapper { @include variables.text-outline; @extend .unselectable; font-family: variables.$mainFont, Times, "Times New Roman", serif; font-size: calc(var(--font-size-objtext) + 0.1em); background: transparent; box-shadow: none; color: variables.$mainTxtColor; height: 2em; padding: 0; text-align: center; pointer-events: none; } &.leaflet-popup { transition: none; } } #map_ui { position: relative; height: 100vh; width: 100vw; #map { height: 100%; width: 100%; background: var(--themecolor, variables.$mainBGColor); z-index: 0; .leaflet-interactive { cursor: inherit; &.mapArrow, &.mapRectangle, &.mapCircle { cursor: pointer; } } .leaflet-pane .leaflet-marker-pane .leaflet-marker-icon { cursor: grab; &:active { cursor: grabbing; } } .subkp { font-size: 0.65em; letter-spacing: 0.05em; } .kpPopup, .posPopUpTarget, .posPopUpWeapon { @include popup-base-styles; } .calcPopup, .calcPopup2 { @include variables.text-outline; @extend .unselectable; margin: 0; padding: 0; font-family: variables.$mainFont, Times, "Times New Roman", serif; pointer-events: none; font-size: var(--font-size-calc-popup); height: 45px; .bearingUiCalc { font-size: 0.7em; } .leaflet-popup-tip, .leaflet-popup-content-wrapper { pointer-events: none; background: transparent; box-shadow: none; color: variables.$mainTxtColor; } .leaflet-popup-content { margin: 0; line-height: 1; } &.calcPopup { .leaflet-popup-content-wrapper { text-align: right; } } &.calcPopup2 { .leaflet-popup-content-wrapper { text-align: left; } } } .animatedWeaponMarker { animation: weapon-appear 0.25s ease-in-out forwards 0s; } .animatedTargetMarker { animation: target-appear 0.25s ease-in-out forwards 0s; } .gridText { @include variables.light-text-outline; font-size: 1.1em; } .deployables { background-size: contain; transition: opacity 0.1s ease-in; } .unplayable-area { transition: fill-opacity 0.2s ease-in; } .destructionPhase { @include variables.light-text-outline; font-size: 2em; text-align: center; font-family: variables.$mainFont, Times, "Times New Roman", serif; } .hexNumber { @include variables.light-text-outline; font-size: var(--font-size-objtext); text-align: center; font-family: variables.$mainFont, Times, "Times New Roman", serif; } .capZone { transition: opacity 0.25s ease-in-out, fill-opacity 0.25s ease-in-out; } .leaflet-measure-path-measurement { @include variables.light-text-outline; font-family: variables.$mainFont, Times, "Times New Roman", serif; position: absolute; font-size: var(--font-size-objtext); color: white; white-space: nowrap; transform-origin: 0; } .leaflet-measure-path-measurement > div { position: relative; margin-top: -25%; left: -50%; pointer-events: none; } .leaflet-visualclick-icon { border-radius: 10%; pointer-events: none; &::after { content: ""; border-radius: 100%; height: 50px; width: 50px; margin-left: -25px; margin-top: -25px; position: absolute; pointer-events: none; animation: visualclick-pulsate 0.5s ease-out; animation-iteration-count: 1; animation-delay: 0s; opacity: 0; } &.white::after { box-shadow: inset 0 0 25px 5px #E1E3E4, 0 0 10px -1px #C5C5C5; } &.cyan::after { box-shadow: inset 0 0 25px 5px #1960b1, 0 0 10px -1px #11447e; } } .leaflet-visualclick-icon-touch { &::after { content: ""; border-radius: 100%; height: 50px; width: 50px; margin-left: -25px; margin-top: -25px; position: absolute; pointer-events: none; animation: visualclick-pulsate-touch 0.5s ease-out; animation-iteration-count: 1; animation-delay: 0s; opacity: 0; } &.white::after { box-shadow: inset 0 0 25px 5px #E1E3E4, 0 0 10px -1px #C5C5C5; } &.cyan::after { box-shadow: inset 0 0 25px -1px #1960b1, 0 0 10px -1px #11447e; } } } } #dropOverlay { display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, 0.6); color: variables.$mainTxtColor; font-size: 3rem; font-weight: bold; font-family: variables.$logoFont, Times, "Times New Roman", serif; text-align: center; justify-content: center; align-items: center; z-index: 99999; pointer-events: none; transition: opacity 0.3s ease; backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); .dropOverlayInner { border: dashed 15px variables.$mainColor; padding: 1em; .dropSubTxt { font-size: 0.5em; font-style: italic; } } } @keyframes visualclick-pulsate { 0% { transform: scale(0.2); opacity: 1; } 30% { opacity: 0.8; } 100% { transform: scale(1); opacity: 0; } } @keyframes visualclick-pulsate-touch { from { transform: scale(1); opacity: 0.8; } to { transform: scale(0.2); opacity: 0.0; } } .leaflet-pane.leaflet-ie10-visual-click-pane-pane { z-index: 300; } .tippy-box { cursor: auto; pointer-events: auto !important; } .hexagon-shape { cursor: pointer!important; transition: fill-opacity 0.15s ease, stroke-opacity 0.15s ease; } .hexagon-shape.hovered { fill-opacity: 0.8; } .hexagon-shape.faded-out { fill-opacity: 0; stroke-opacity: 0; }