@openui5/sap.m
Version:
OpenUI5 UI Library sap.m
462 lines (396 loc) • 9.49 kB
text/less
/* ====================================== */
/* CSS for control sap.m/TimePickerClock */
/* Base theme */
/* ====================================== */
/* clock dial related classes */
.sapMTPClock {
position: relative;
width: auto;
padding: 0.5625rem;
outline: none;
display: none;
}
.sapMTPClock.sapMTPCFadeIn {
display: block;
}
.sapMTPCDial {
position: relative;
width: auto;
display: block;
border-radius: 100%;
background-color: var(--sapLegend_WorkingBackground);
text-align: center;
z-index: 1;
}
.sapMTPCDial::before {
content: attr(data-label);
display: flex;
align-items: center;
justify-content: center;
position: absolute;
font-family: var(--sapFontFamily);
font-size: @sapMFontMediumSize;
color: var(--sapContent_LabelColor);
top: 2.75rem;
left: 2.75rem;
bottom: 2.75rem;
right: 2.75rem;
border-radius: 100%;
z-index: 2;
}
.sapMTPCInner .sapMTPCDial::before {
background-color: var(--sapLegend_WorkingBackground);
}
.sapMTPCDial::after {
content: '';
display: block;
padding-bottom: 100%;
}
.sapMTPClockCover {
position: absolute;
top: -0.25rem;
left: -0.25rem;
bottom: -0.25rem;
right: -0.25rem;
border-radius: 100%;
z-index: 10;
touch-action: none;
}
/* units related classes */
.sapMTPCMidDot {
display: block;
box-sizing: border-box;
width: 0.125rem;
height: 0.1875rem;
margin: 0 auto 0.375rem auto;
border-radius: 100%;
background-color: var(--sapField_BorderColor);
}
.sapMTPCDot {
display: block;
box-sizing: border-box;
width: 0.25rem;
height: 0.3125rem;
margin: 0 auto 0.25rem auto;
border-radius: 100%;
background-color: var(--sapField_BorderColor);
}
.sapMTPCMarker {
box-sizing: border-box;
width: 0.25rem;
height: 0.5625rem;
margin: 0 auto;
border-radius: 100%;
background-color: var(--sapButton_Selected_Background);
border: 0.0625rem solid var(--sapButton_Selected_BorderColor);
}
.sapMTPCHoverMarker {
box-sizing: border-box;
width: 0.25rem;
height: 0.5625rem;
margin: 0 auto;
border-radius: 100%;
background-color: var(--sapList_Hover_Background);
border: 0.0625rem solid var(--sapGroup_TitleBorderColor);
}
.sapMTPCHoveredItem {
display: block;
}
.sapMTPCHoveredItem.sapMTPCItem {
cursor: pointer;
z-index: 15;
}
.sapMTPCItem {
position: absolute;
top: 0px;
left: 50%;
display: inline-block;
width: 2.75rem;
height: 100%;
z-index: 3;
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
user-select: none; /* Chrome, Edge, Opera and Firefox */
&.sapMTPCMarker {
z-index: 4;
}
&.sapMTPCHoverMarker {
z-index: 5;
}
}
.sapMTPCNumber {
box-sizing: border-box;
display: inline-block;
width: 2.75rem;
height: 2.75rem;
border-radius: 100%;
line-height: 2.75rem;
text-align: center;
vertical-align: top;
font-family: var(--sapFontFamily);
font-size:@sapMFontMediumSize;
color: var(--sapTextColor);
border: 0.0625rem solid transparent;
&.sapMTPCNumberHover:not(.sapMTPCSelected) {
background-color: var(--sapList_Hover_Background);
}
}
.sapMTPCInvisible {
visibility: hidden;
}
.sapMTPCSelected {
box-sizing: border-box;
color: var(--sapButton_Selected_TextColor);
background-color: var(--sapButton_Selected_Background);
border: 0.0625rem solid var(--sapButton_Selected_BorderColor);
}
.sapMTPCHovered {
box-sizing: border-box;
background-color: var(--sapList_Hover_Background);
border: 0.0625rem solid var(--sapGroup_TitleBorderColor);
}
/* Degree related classes */
.degreeMixIn(@class, @angle) {
.@{class} {
transform: translate(-50%) rotate(@angle);
.sapMTPCNumber {
transform: rotate(-@angle);
}
}
html[dir=rtl] .@{class} {
transform: translate(-50%) rotate(-@angle);
.sapMTPCNumber {
transform: rotate(@angle);
}
}
}
.sapMTPNow {
margin-left: 0.5rem;
}
.sapUiSizeCompact {
.sapMTPCItem {
width: 2rem;
}
.sapMTPCNumber {
width: 2rem;
height: 2rem;
line-height: 2rem;
}
}
.degreeMixIn(sapMTPCDeg6, 6deg);
.degreeMixIn(sapMTPCDeg12, 12deg);
.degreeMixIn(sapMTPCDeg15, 15deg);
.degreeMixIn(sapMTPCDeg18, 18deg);
.degreeMixIn(sapMTPCDeg24, 24deg);
.degreeMixIn(sapMTPCDeg30, 30deg);
.degreeMixIn(sapMTPCDeg36, 36deg);
.degreeMixIn(sapMTPCDeg42, 42deg);
.degreeMixIn(sapMTPCDeg45, 45deg);
.degreeMixIn(sapMTPCDeg48, 48deg);
.degreeMixIn(sapMTPCDeg54, 54deg);
.degreeMixIn(sapMTPCDeg60, 60deg);
.degreeMixIn(sapMTPCDeg66, 66deg);
.degreeMixIn(sapMTPCDeg72, 72deg);
.degreeMixIn(sapMTPCDeg75, 75deg);
.degreeMixIn(sapMTPCDeg78, 78deg);
.degreeMixIn(sapMTPCDeg84, 84deg);
.degreeMixIn(sapMTPCDeg90, 90deg);
.degreeMixIn(sapMTPCDeg96, 96deg);
.degreeMixIn(sapMTPCDeg102, 102deg);
.degreeMixIn(sapMTPCDeg105, 105deg);
.degreeMixIn(sapMTPCDeg108, 108deg);
.degreeMixIn(sapMTPCDeg114, 114deg);
.degreeMixIn(sapMTPCDeg120, 120deg);
.degreeMixIn(sapMTPCDeg126, 126deg);
.degreeMixIn(sapMTPCDeg132, 132deg);
.degreeMixIn(sapMTPCDeg135, 135deg);
.degreeMixIn(sapMTPCDeg138, 138deg);
.degreeMixIn(sapMTPCDeg144, 144deg);
.degreeMixIn(sapMTPCDeg150, 150deg);
.degreeMixIn(sapMTPCDeg156, 156deg);
.degreeMixIn(sapMTPCDeg162, 162deg);
.degreeMixIn(sapMTPCDeg165, 165deg);
.degreeMixIn(sapMTPCDeg168, 168deg);
.degreeMixIn(sapMTPCDeg174, 174deg);
.degreeMixIn(sapMTPCDeg180, 180deg);
.degreeMixIn(sapMTPCDeg186, 186deg);
.degreeMixIn(sapMTPCDeg192, 192deg);
.degreeMixIn(sapMTPCDeg195, 195deg);
.degreeMixIn(sapMTPCDeg198, 198deg);
.degreeMixIn(sapMTPCDeg204, 204deg);
.degreeMixIn(sapMTPCDeg210, 210deg);
.degreeMixIn(sapMTPCDeg216, 216deg);
.degreeMixIn(sapMTPCDeg222, 222deg);
.degreeMixIn(sapMTPCDeg225, 225deg);
.degreeMixIn(sapMTPCDeg228, 228deg);
.degreeMixIn(sapMTPCDeg234, 234deg);
.degreeMixIn(sapMTPCDeg240, 240deg);
.degreeMixIn(sapMTPCDeg246, 246deg);
.degreeMixIn(sapMTPCDeg252, 252deg);
.degreeMixIn(sapMTPCDeg255, 255deg);
.degreeMixIn(sapMTPCDeg258, 258deg);
.degreeMixIn(sapMTPCDeg264, 264deg);
.degreeMixIn(sapMTPCDeg270, 270deg);
.degreeMixIn(sapMTPCDeg276, 276deg);
.degreeMixIn(sapMTPCDeg282, 282deg);
.degreeMixIn(sapMTPCDeg285, 285deg);
.degreeMixIn(sapMTPCDeg288, 288deg);
.degreeMixIn(sapMTPCDeg294, 294deg);
.degreeMixIn(sapMTPCDeg300, 300deg);
.degreeMixIn(sapMTPCDeg306, 306deg);
.degreeMixIn(sapMTPCDeg312, 312deg);
.degreeMixIn(sapMTPCDeg315, 315deg);
.degreeMixIn(sapMTPCDeg318, 318deg);
.degreeMixIn(sapMTPCDeg324, 324deg);
.degreeMixIn(sapMTPCDeg330, 330deg);
.degreeMixIn(sapMTPCDeg336, 336deg);
.degreeMixIn(sapMTPCDeg342, 342deg);
.degreeMixIn(sapMTPCDeg345, 345deg);
.degreeMixIn(sapMTPCDeg348, 348deg);
.degreeMixIn(sapMTPCDeg354, 354deg);
.degreeMixIn(sapMTPCDeg360, 360deg);
/* animation CSS classes */
.sapMTPClock.sapMTPCDisplay {
display: block;
}
.sapMTPCFadeIn:not(.sapMTPCSkipAnimation):not(.sapMTPCFadeOut) {
.sapMTPCItems .sapMTPCNumber,
.sapMTPCDial::before,
.sapMTPCItems .sapMTPCMidDot,
.sapMTPCSelectedItem .sapMTPCNumber,
.sapMTPCMarker {
opacity: 0;
}
}
.sapMTPCFadeIn.sapMTPCFadeOut:not(.sapMTPCSkipAnimation) {
.sapMTPCHoveredItem {
display: none;
}
.sapMTPCItems .sapMTPCNumber {
animation-name: fadeOutClockItems;
animation-delay: 0.15s;
animation-duration: 0.2s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
.sapMTPCDial::before {
animation-name: fadeOutClockLabel;
animation-duration: 0.35s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
.sapMTPCSelectedItem .sapMTPCNumber,
.sapMTPCMarker {
animation-name: fadeOutSelectedItem;
animation-delay: 0.1s;
animation-duration: 0.15s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
.sapMTPCItems .sapMTPCMidDot {
animation-name: fadeOutSelectedItem;
animation-delay: 0.15s;
animation-duration: 0.2s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
}
.sapMTPCFadeIn:not(.sapMTPCSkipAnimation) {
.sapMTPCItems .sapMTPCNumber {
animation-name: fadeInClockItems;
animation-delay: 0.15s;
animation-duration: 0.2s;
animation-timing-function: ease-in;
animation-fill-mode: forwards;
}
.sapMTPCDial::before {
animation-name: fadeInClockLabel;
animation-duration: 0.35s;
animation-timing-function: ease-in;
animation-fill-mode: forwards;
}
.sapMTPCSelectedItem .sapMTPCNumber,
.sapMTPCMarker {
animation-name: fadeInSelectedItem;
animation-delay: 0.1s;
animation-duration: 0.15s;
animation-timing-function: ease-in;
animation-fill-mode: forwards;
}
.sapMTPCItems .sapMTPCMidDot {
animation-name: fadeInSelectedItem;
animation-delay: 0.15s;
animation-duration: 0.2s;
animation-timing-function: ease-in;
animation-fill-mode: forwards;
}
}
/* @keyframes */
@keyframes fadeOutClockItems {
from {
opacity: 1;
display: block;
}
to {
opacity: 0;
display: block;
}
}
@keyframes fadeOutClockLabel {
from {
opacity: 1;
display: flex;
transform: translateY(0);
}
to {
opacity: 0;
display: flex;
transform: translateY(-16px);
}
}
@keyframes fadeOutSelectedItem {
from {
opacity: 1;
display: block;
}
to {
opacity: 0;
display: block;
}
}
@keyframes fadeInClockItems {
from {
opacity: 0;
display: block;
}
to {
opacity: 1;
display: block;
}
}
@keyframes fadeInClockLabel {
from {
opacity: 0;
display: flex;
transform: translateY(16px);
}
to {
opacity: 1;
display: flex;
transform: translateY(0px);
}
}
@keyframes fadeInSelectedItem {
from {
opacity: 0;
display: block;
}
50% {
opacity: 0.5;
display: block;
}
to {
opacity: 1;
display: block;
}
}