@openui5/sap.m
Version:
OpenUI5 UI Library sap.m
325 lines (267 loc) • 7.51 kB
text/less
/* =============================== */
/* CSS for control sap.m/ListBase */
/* Base theme */
/* =============================== */
.sapMList {
position: relative; /* This should not break the list but help swipe list content position calculation */
box-sizing: border-box;
margin: 0;
padding: 0;
z-index: 0; /* create own stacking context to avoid being interfered by other absolute positioned elements */
}
.sapMListUl {
list-style-type: none;
padding: 0;
margin: 0;
}
.sapMListUl:focus {
outline: none;
}
.sapMListPreventFocus .sapMListDummyArea {
display: none;
}
.sapMListSwp {
overflow: hidden;
position: absolute;
right: 0.5em;
z-index: 1;
opacity: 0;
pointer-events: auto;
display: flex;
align-items: center;
margin-top: -1px;
}
.sapMListDummyArea {
position: fixed; /* keep it in the visible viewport, so that IE does not scroll on focus */
}
.sapMListDummyAreaSticky {
position: sticky; /* keep it in the scrollable area, so that browser does not scroll on focus */
height: 0.1px; /* webkit needs height for the sticky elements */
bottom: 0;
}
/* swipe animations */
@keyframes sapMListSwpInAnim {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes sapMListSwpOutAnim {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
.sapMListSwpInAnim {
animation: sapMListSwpInAnim 0.2s ease-in forwards;
}
.sapMListSwpOutAnim {
animation: sapMListSwpOutAnim 0.2s ease-in forwards;
}
.sapMListNoData {
list-style-type: none;
display: flex;
align-items: center;
justify-content: center;
color: var(--sapList_TextColor);
background-color: var(--sapList_Background);
border-bottom: 1px solid var(--sapList_BorderColor);
padding: 0.5rem 1rem ;
min-height: 3rem;
line-height: 1.4;
}
.sapMListNoDataText {
overflow: hidden;
overflow: clip;
white-space: pre-wrap;
text-align: center;
}
.sapMListNoDataContent {
flex: 1 1 auto;
}
.sapMListShowSeparatorsAll {
/* class will be added for others, just a reminder */
}
.sapMListShowSeparatorsInner {
/* class will be added for others, just a reminder */
}
.sapMListShowSeparatorsNone {
/* class will be added for others, just a reminder */
}
/* Growing feature */
.sapMGrowingList {
border-bottom: 1px solid @sapUiButtonActionSelectBorderColor;
}
.sapMGrowingListTrigger {
display: block;
text-align: center;
overflow: hidden;
border-top: 1px solid var(--sapList_HeaderBorderColor);
}
.sapMGrowingListDummyColumn {
border-right: 1px solid var(--sapList_TableFooterBorder);
}
/* .sapMSLIDescription also has padding defined, hence making the style rule stronger */
.sapMGrowingListDescription.sapMSLIDescription {
display: none;
padding: 0.375rem 2rem 0.875rem 2rem;
text-align: center;
}
.sapMGrowingList > .sapMCLI.sapMLIB:not(.sapMLIBActive) {
background: @sapUiButtonActionSelectBackground;
border-bottom: none;
}
.sapMGrowingList > .sapMCLI.sapMLIBHoverable:hover {
background: @sapUiButtonLiteActionSelectHoverBackground;
}
.sapMGrowingListBusyIndicatorVisible .sapMGrowingListTriggerText,
.sapMGrowingListBusyIndicatorVisible .sapMGrowingListDescription {
visibility: hidden;
}
/* mixin call for creating container content padding classes (arguments: rootContainer, contentSelector) */
.sapUiContainerContentPadding(~".sapMList");
.sapUiFioriObjectPage > section > .sapMList:not(.sapMListInsetBG) {
margin: 1rem 0;
padding: 0 1rem;
box-sizing: border-box;
}
.sapUiFioriObjectPage > section > .sapMITB + .sapMList:not(.sapMListInsetBG) {
margin-top: 1rem;
}
html.sap-phone .sapUiFioriObjectPage > section > .sapMList:not(.sapMListInsetBG) {
padding: 0;
}
.sapUIMeTabContainerContent .sapMList {
padding: 1rem;
box-sizing: border-box;
}
html.sap-phone .sapUIMeTabContainerContent .sapMList {
padding: 0;
box-sizing: border-box;
}
.sapMListInsetBG {
padding: 2rem;
}
.sapMListInsetBG > .sapMListSwp {
margin-right: 2rem;
}
html.sap-phone .sapMListInsetBG {
padding: 1rem;
}
html.sap-phone .sapMListInsetBG > .sapMListSwp {
margin-right: 1rem;
}
.sapMListHdrText {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
box-sizing: border-box;
font-size: var(--sapFontHeader4Size);
font-family: var(--sapFontHeaderFamily);
color: var(--sapGroup_TitleTextColor);
height: 3rem;
line-height: 3rem;
padding: 0 1rem;
background-color: var(--sapGroup_TitleBackground);
border-bottom: 1px solid var(--sapGroup_TitleBorderColor);
}
.sapMListFtr {
height: 2rem;
box-sizing: border-box;
-webkit-text-size-adjust: none; /* To improve readability Mobile Safari automatically increases the size of small text so let's disable this */
font-size: @sapMFontMediumSize;
line-height: 2rem;
background-color: var(--sapList_FooterBackground);
color: var(--sapList_FooterTextColor);
padding: 0 1rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.sapMListTopBorder {
border-top: 1px solid var(--sapList_BorderColor);
}
.sapMListShowSeparatorsNone .sapMListNoData {
border-bottom: 0;
}
.sapUIMeTabContainerContent .sapMFeedListItem {
display: block;
padding: .5rem 0;
}
/* Growing feature */
.sapMGrowingListBusyIndicator {
margin: 1.5rem 1.0rem;
position: absolute;
}
.sapMGrowingListTriggerText {
padding: 0 1rem;
}
.sapMGrowingListTriggerText > .sapMSLITitle {
margin: 0.813rem 0; /* overwrites any user-agent default margin values */
padding-bottom: 0;
color: var(--sapButton_TextColor);
font-weight: bold;
}
.sapMGrowingListDescription.sapMSLIDescription {
color: var(--sapButton_TextColor);
}
/* sticky headers */
.sapMSticky > .sapMListHdr,
.sapMSticky > .sapMListInfoTBarContainer,
.sapMSticky .sapMGHLI {
position: sticky;
}
/* sticky headerToolbar/headerText background when transparent */
.sapMSticky > .sapMListHdrText,
.sapMSticky > .sapMListHdrTBar.sapMTB-Transparent-CTX {
background: var(--sapList_HeaderBackground);
}
.sapMSticky > .sapMListHdr,
.sapMSticky > .sapMTableOverlay,
.sapMSticky > .sapUiLocalBusyIndicator {
z-index: 3;
}
/* .sapMSticky3 denotes that the headerToolbar/headerText and the infoToolbar are sticky */
/* .sapMSticky2 denotes that only the infoToolbar is sticky */
/* .sapMSticky1 denotes that only the headerToolbar/headerText is sticky */
/* top: 0 sticky conditions : 1st sticky elements */
.sapMSticky1 > .sapMListHdr,
.sapMSticky2 > .sapMListInfoTBarContainer,
.sapMSticky3 > .sapMListHdr {
z-index: 2;
top: 0;
}
/* top: 3rem sticky conditions : 2nd sticky elements*/
.sapMSticky3 > .sapMListInfoTBarContainer {
z-index: 2;
top: var(--sapElement_LineHeight);
}
/* handle transparent background on rounded corners to not show underlaying elements on scrolling */
._sap_m_ListBase_Rounded_HeaderToolbarMixin() {
.sapMSticky:has(> .sapMListHdr):not(:has(> .sapMMsgStrip))::before {
position: sticky;
content: '';
display: block;
background: var(--sapGroup_ContentBackground);
height: var(--sapElement_BorderCornerRadius);
margin-bottom: ~"calc(var(--sapElement_BorderCornerRadius) * -1)"; /* prevent new empty space above sticky element */
top: 0;
z-index: 2;
/* handle transparent background on ObjectPageSection */
.sapUiTableOnObjectPageAdjustmentsForSection.sapUxAPObjectPageSection .sapUxAPObjectPageSectionContainer .sapUxAPObjectPageSubSection .sapUxAPBlockContainer & {
background: transparent;
}
}
}
/* Compact size */
.sapUiSizeCompact .sapMListNoData {
min-height: 2rem;
font-size: @sapMFontMediumSize;
}
.sapUiSizeCompact .sapMGrowingListDescription {
padding-top: 0;
}