smart-webcomponents
Version:
Web Components & Custom Elements for Professional Web Applications
565 lines (556 loc) • 18.7 kB
CSS
/* smart-list-item */
smart-list-item,
smart-list-items-group {
visibility: hidden;
}
smart-list-item.smart-element,
smart-list-items-group.smart-element {
border: none;
visibility: inherit;
}
smart-list-item .smart-input,
smart-list-items-group .smart-input {
margin-left: 4px;
width: calc(-4px + var(--smart-check-box-default-size));
height: calc(-4px + var(--smart-check-box-default-size));
line-height: var(--smart-check-box-default-size);
box-sizing: initial;
position: absolute;
top: var(--smart-list-item-vertical-offset);
margin-top: calc(var(--smart-list-item-height) / 2 - 10px);
border-style: solid;
padding: 3px;
border-width: var(--smart-border-width);
border-radius: var(--smart-list-item-check-box-radius);
font-family: inherit;
background-repeat: no-repeat;
border-color: var(--smart-border);
background-color: var(--smart-background);
color: var(--smart-background-color);
display: block;
}
smart-list-item .smart-input:after,
smart-list-items-group .smart-input:after {
content: "";
font-family: var(--smart-font-family-icon);
display: flex;
justify-content: center;
align-content: center;
margin-top: -2px;
}
smart-list-item .smart-input.smart-hidden,
smart-list-items-group .smart-input.smart-hidden {
display: none;
}
smart-list-item[selected] .smart-input,
smart-list-items-group[selected] .smart-input {
border-color: var(--smart-primary);
background-color: var(--smart-primary);
color: var(--smart-primary-color);
}
smart-list-item[hover] .smart-input:hover,
smart-list-items-group[hover] .smart-input:hover {
border-color: var(--smart-ui-state-border-hover);
background-color: var(--smart-ui-state-hover);
color: var(--smart-ui-state-color-hover);
}
smart-list-item[display-mode=checkBox][selected] .smart-input:after,
smart-list-items-group[display-mode=checkBox][selected] .smart-input:after {
content: var(--smart-icon-check);
}
smart-list-item {
background-color: inherit;
-webkit-font-smoothing: antialiased;
letter-spacing: 0.00937em;
width: 100%;
outline: 0 none;
display: flex;
align-items: center;
padding: 0 5px;
height: calc(var(--smart-list-item-height) + var(--smart-list-item-vertical-offset));
position: relative;
user-select: none;
}
smart-list-item .smart-container {
display: flex;
align-items: center;
}
smart-list-item .smart-overlay {
transition: opacity 280ms ease-in-out;
display: inline-block;
position: absolute;
overflow: hidden;
width: 100%;
height: calc(100% - var(--smart-list-item-vertical-offset));
left: 0px;
top: var(--smart-list-item-vertical-offset);
background: var(--smart-background);
border-top-left-radius: var(--smart-item-border-top-left-radius);
border-top-right-radius: var(--smart-item-border-top-right-radius);
border-bottom-left-radius: var(--smart-item-border-bottom-left-radius);
border-bottom-right-radius: var(--smart-item-border-bottom-right-radius);
}
smart-list-item .smart-content {
transition: opacity 280ms ease-in-out;
position: absolute;
overflow: hidden;
white-space: nowrap;
display: flex;
align-items: flex-start;
flex-direction: column;
justify-content: center;
padding: var(--smart-list-item-padding);
width: 100%;
height: calc(100% - var(--smart-list-item-vertical-offset));
left: 0px;
top: var(--smart-list-item-vertical-offset);
color: var(--smart-background-color);
border-width: var(--smart-item-border-width);
border-style: solid;
border-color: transparent;
border-top-left-radius: var(--smart-item-border-top-left-radius);
border-top-right-radius: var(--smart-item-border-top-right-radius);
border-bottom-left-radius: var(--smart-item-border-bottom-left-radius);
border-bottom-right-radius: var(--smart-item-border-bottom-right-radius);
}
smart-list-item .smart-content-details {
opacity: 0.5;
margin-top: 2px;
font-size: 10px;
}
smart-list-item .smart-input:before {
content: "";
width: 100%;
height: 100%;
display: inline-block;
position: absolute;
left: 0;
top: 2px;
text-align: center;
background: var(--smart-primary) ;
transition: opacity 0.2s ease-in-out;
opacity: 0;
border-radius: 100%;
transform: scale(1);
}
smart-list-item .smart-ripple {
background: var(--smart-list-item-color-active);
}
smart-list-item.smart-list-item-line-feedback {
border-top-color: var(--smart-secondary);
border-top-width: 1px;
border-top-style: dashed;
}
smart-list-item.smart-list-item-bottom-line-feedback {
border-bottom-color: var(--smart-secondary);
border-bottom-width: 1px;
border-bottom-style: dashed;
}
smart-list-item.smart-header-item {
color: var(--smart-surface-color);
text-transform: var(--smart-list-item-group-header-text-transform);
top: var(--smart-list-item-vertical-offset);
margin-bottom: var(--smart-list-item-vertical-offset);
background: var(--smart-surface);
border-width: 1px;
border-style: solid;
border-color: var(--smart-surface);
display: flex;
align-items: center;
}
smart-list-item[grouped] {
color: var(--smart-surface-color);
text-transform: var(--smart-list-item-group-header-text-transform);
top: var(--smart-list-item-vertical-offset);
margin-bottom: var(--smart-list-item-vertical-offset);
background: var(--smart-surface);
border-width: 1px;
border-style: solid;
border-color: var(--smart-surface);
display: flex;
align-items: center;
}
smart-list-item:focus {
outline: none;
}
smart-list-item:focus .smart-input {
outline: none;
}
smart-list-item[hover] .smart-overlay {
background-color: var(--smart-ui-state-hover);
}
smart-list-item[hover] .smart-content {
color: var(--smart-ui-state-color-hover);
border-color: var(--smart-ui-state-border-hover);
}
smart-list-item[selected] .smart-overlay {
background-color: var(--smart-ui-state-selected);
}
smart-list-item[selected] .smart-content {
color: var(--smart-ui-state-color-selected);
border-color: var(--smart-ui-state-border-selected);
}
smart-list-item[selected].smart-list-item-line-feedback {
border-top-color: var(--smart-secondary);
border-top-width: 1px;
border-top-style: dashed;
}
smart-list-item[selected].smart-list-item-bottom-line-feedback {
border-bottom-color: var(--smart-secondary);
border-bottom-width: 1px;
border-bottom-style: dashed;
}
smart-list-item[display-mode=radioButton] .smart-overlay,
smart-list-item[display-mode=radioButton] .smart-content, smart-list-item[display-mode=checkBox] .smart-overlay,
smart-list-item[display-mode=checkBox] .smart-content {
padding: 5px;
left: calc(16px + var(--smart-check-box-default-size));
width: calc(100% - 16px - var(--smart-check-box-default-size));
}
smart-list-item[display-mode=radioButton][selected][alternation-index="0"] .smart-overlay, smart-list-item[display-mode=checkBox][selected][alternation-index="0"] .smart-overlay {
background-color: var(--smart-alternation-index0-background);
color: var(--smart-alternation-index0-color);
border-color: var(--smart-alternation-index0-border);
}
smart-list-item[display-mode=radioButton][selected][alternation-index="1"] .smart-overlay, smart-list-item[display-mode=checkBox][selected][alternation-index="1"] .smart-overlay {
background-color: var(--smart-alternation-index1-background);
color: var(--smart-alternation-index1-color);
border-color: var(--smart-alternation-index1-border);
}
smart-list-item[display-mode=radioButton][selected][alternation-index="2"] .smart-overlay, smart-list-item[display-mode=checkBox][selected][alternation-index="2"] .smart-overlay {
background-color: var(--smart-alternation-index2-background);
color: var(--smart-alternation-index2-color);
border-color: var(--smart-alternation-index2-border);
}
smart-list-item[display-mode=radioButton] .smart-input {
border-radius: 100%;
}
smart-list-item[display-mode=radioButton][selected] .smart-input:after {
content: var(--smart-icon-radio);
}
smart-list-items-group > .smart-container {
height: auto;
}
smart-list-items-group .smart-list-items-group-label {
background-color: inherit;
-webkit-font-smoothing: antialiased;
letter-spacing: 0.00937em;
width: 100%;
outline: 0 none;
padding: 0 5px;
height: calc(var(--smart-list-item-height) + var(--smart-list-item-vertical-offset));
position: relative;
user-select: none;
color: var(--smart-surface-color);
top: var(--smart-list-item-vertical-offset);
margin-bottom: var(--smart-list-item-vertical-offset);
background: var(--smart-surface);
border-width: 1px;
border-style: solid;
border-color: var(--smart-surface);
display: flex;
align-items: center;
text-transform: capitalize;
border-radius: initial;
}
smart-list-items-group .smart-list-items-group-label .smart-container {
display: flex;
align-items: center;
}
smart-list-items-group:focus .smart-input {
outline: none;
}
smart-list-box {
/*min-width: 100px;*/
display: block;
width: var(--smart-list-box-default-width);
height: var(--smart-list-box-default-height);
visibility: hidden;
}
smart-list-box.smart-element {
visibility: inherit;
}
smart-list-box:focus {
outline: none;
border-color: var(--smart-outline);
}
smart-list-box:focus smart-list-item[focus] .smart-overlay {
background-color: var(--smart-ui-state-focus);
}
smart-list-box:focus smart-list-item[focus] .smart-content {
color: var(--smart-ui-state-color-focus);
border-color: var(--smart-ui-state-border-focus);
}
smart-list-box:focus smart-list-item[focus][selected] .smart-overlay {
background-color: var(--smart-ui-state-selected);
}
smart-list-box:focus smart-list-item[focus][selected] .smart-content {
color: var(--smart-ui-state-color-selected);
border-color: var(--smart-ui-state-border-selected);
}
smart-list-box smart-scroll-bar[orientation=vertical].bottom-corner {
height: calc(100% - var(--smart-scroll-bar-size));
}
.smart-list-box > .smart-container, .smart-list-box.smart-container {
height: 100%;
width: 100%;
border-style: solid;
border-width: 0;
border-color: gray;
position: relative;
overflow: hidden;
}
.smart-list-box smart-list-item.smart-header-item[hover] {
color: inherit;
}
.smart-list-box smart-list-item[alternation-index="0"] .smart-overlay {
background-color: var(--smart-alternation-index0-background);
color: var(--smart-alternation-index0-color);
border-color: var(--smart-alternation-index0-border);
}
.smart-list-box smart-list-item[alternation-index="1"] .smart-overlay {
background-color: var(--smart-alternation-index1-background);
color: var(--smart-alternation-index1-color);
border-color: var(--smart-alternation-index1-border);
}
.smart-list-box smart-list-item[alternation-index="2"] .smart-overlay {
background-color: var(--smart-alternation-index2-background);
color: var(--smart-alternation-index2-color);
border-color: var(--smart-alternation-index2-border);
}
.smart-list-box smart-scroll-bar {
overflow: visible;
position: absolute;
bottom: 0;
height: calc(var(--smart-scroll-bar-size));
width: 100%;
}
.smart-list-box smart-scroll-bar:after {
position: absolute;
content: "";
width: 100%;
height: var(--smart-scroll-bar-size);
background: var(--smart-scroll-bar-background);
left: 100%;
top: 0px;
}
.smart-list-box smart-scroll-bar.bottom-corner {
width: calc(100% - var(--smart-scroll-bar-size));
}
.smart-list-box smart-scroll-bar[orientation=vertical] {
right: 0;
top: 0;
height: 100%;
width: calc(var(--smart-scroll-bar-size));
}
.smart-list-box input {
border: var(--smart-border-width) solid var(--smart-border);
width: 100%;
height: 100%;
padding: var(--smart-editor-label-padding);
outline: initial;
padding-right: 25px;
}
.smart-list-box input:focus {
border-color: var(--smart-outline);
}
.smart-list-box .smart-list-box-filter-input-container {
position: relative;
width: calc(100% - 10px);
height: var(--smart-editor-height);
margin-left: 5px;
margin-top: 5px;
}
.smart-list-box .smart-list-box-filter-input-container:after {
content: var(--smart-icon-search);
font-family: var(--smart-font-family-icon);
height: var(--smart-text-box-default-height);
position: absolute;
top: 0;
width: 25px;
display: flex;
align-items: center;
justify-content: center;
left: calc(100% - 25px);
}
.smart-list-box .smart-list-box-filter-input-container.vscroll {
width: calc(100% - 10px - var(--smart-scroll-bar-size));
}
.smart-list-box .smart-list-items-container {
width: 100%;
height: calc(100% - var(--smart-list-item-vertical-offset));
/* right: var(--smart-list-item-horizontal-offset); */
overflow: hidden;
position: relative;
background-color: transparent;
}
.smart-list-box .smart-list-items-container input {
position: absolute;
background: initial;
background-color: var(--smart-background);
background-size: initial;
border: 1px solid var(--smart-border);
padding: 9px 12px;
margin: 0;
left: 5px;
width: calc(100% - 5px);
font-family: inherit;
font-size: inherit;
border-top-left-radius: var(--smart-item-border-top-left-radius);
border-top-right-radius: var(--smart-item-border-top-right-radius);
border-bottom-left-radius: var(--smart-item-border-bottom-left-radius);
border-bottom-right-radius: var(--smart-item-border-bottom-right-radius);
}
.smart-list-box .smart-list-items-container.hscroll {
height: calc(100% - var(--smart-scroll-bar-size) - var(--smart-list-item-vertical-offset));
}
.smart-list-box .smart-list-items-container.filter {
height: calc(100% - var(--smart-text-box-default-height) - 10px);
}
.smart-list-box .smart-list-items-container.hscroll.filter {
height: calc(100% - var(--smart-text-box-default-height) - var(--smart-scroll-bar-size) - 10px - var(--smart-list-item-vertical-offset));
}
.smart-list-box .smart-list-items-inner-container {
width: calc(100% - 2 * var(--smart-list-item-horizontal-offset));
height: 100%;
display: block;
position: relative;
background-color: transparent;
}
.smart-list-box .smart-placeholder {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
user-select: none;
text-align: center;
}
.smart-list-box .smart-content-label {
padding: var(--smart-list-item-label-padding);
border-radius: var(--smart-list-item-label-border-radius);
}
.smart-list-box[disabled] smart-list-item {
color: inherit;
}
.smart-list-box[horizontal-scroll-bar-visibility=hidden] smart-list-item .smart-content {
white-space: initial;
}
.smart-list-box[selection-mode=checkBox]:focus smart-list-item[focus][selected] .smart-input:before, .smart-list-box[selection-mode=checkBox][focus] smart-list-item[focus][selected] .smart-input:before, .smart-list-box[selection-mode=radioButton]:focus smart-list-item[focus][selected] .smart-input:before, .smart-list-box[selection-mode=radioButton][focus] smart-list-item[focus][selected] .smart-input:before {
position: absolute;
content: "";
border-radius: 50%;
width: calc(var(--smart-check-box-default-size) + 14px);
height: calc(var(--smart-check-box-default-size) + 14px);
background: var(--smart-primary);
opacity: 0.3;
z-index: 1;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.smart-list-box:not([right-to-left]) .smart-list-items-inner-container {
margin-left: var(--smart-list-item-horizontal-offset);
}
[type=list][opened][focus] smart-list-item[focus] .smart-overlay {
background-color: var(--smart-ui-state-selected);
}
[type=list][opened][focus] smart-list-item[focus] .smart-content {
color: var(--smart-ui-state-color-selected);
border-color: var(--smart-ui-state-border-selected);
}
[type=list][opened][focus] smart-list-item[focus]:not([selected]) .smart-overlay {
background-color: var(--smart-ui-state-focus);
}
[type=list][opened][focus] smart-list-item[focus]:not([selected]) .smart-content {
color: var(--smart-ui-state-color-focus);
border-color: var(--smart-ui-state-border-focus);
}
[type=list][opened][focus] smart-list-item[focus][selected] .smart-overlay {
background-color: var(--smart-ui-state-selected);
}
[type=list][opened][focus] smart-list-item[focus][selected] .smart-content {
color: var(--smart-ui-state-color-selected);
border-color: var(--smart-ui-state-border-selected);
}
.smart-list-item-feedback {
background-color: var(--smart-surface);
color: var(--smart-surface-color);
border-color: var(--smart-border);
border-width: 1px;
border-style: solid;
box-shadow: var(--smart-elevation-8);
cursor: move;
padding: 0px;
z-index: var(--smart-drop-down-z-index);
width: 200px;
}
.smart-list-item-feedback smart-list-item {
padding: 0px;
border: none;
}
.smart-list-item-feedback smart-list-item .smart-overlay {
background-color: inherit;
border-color: transparent;
border: none;
}
.smart-list-item-feedback smart-list-item .smart-content {
border-color: transparent;
color: inherit;
}
.smart-drop-down smart-list-box smart-scroll-bar[orientation=vertical] {
right: 0;
top: 0;
height: 100%;
width: calc(var(--smart-scroll-bar-size));
}
.smart-list-box[right-to-left] {
direction: initial;
}
.smart-list-box[right-to-left] smart-scroll-bar {
left: initial;
right: 0;
}
.smart-list-box[right-to-left] smart-scroll-bar:after {
left: -100%;
}
.smart-list-box[right-to-left] smart-scroll-bar[orientation=vertical] {
left: 0;
right: initial;
}
.smart-list-box[right-to-left] smart-scroll-bar[orientation=vertical]:after {
content: none;
}
.smart-list-box[right-to-left] smart-list-item .smart-list-item-container {
direction: rtl;
left: 0;
}
.smart-list-box[right-to-left] smart-list-item[display-mode=radioButton] .smart-overlay, .smart-list-box[right-to-left] smart-list-item[display-mode=checkBox] .smart-overlay {
left: 0;
}
.smart-list-box[right-to-left] smart-list-items-group .smart-list-items-group-label {
direction: rtl;
}
.smart-list-box[right-to-left] .smart-list-items-inner-container {
margin-right: var(--smart-list-item-horizontal-offset);
}
.smart-list-box[right-to-left] .smart-list-box-filter-input-container.vscroll {
left: initial;
right: 0;
}
.smart-list-box[right-to-left] .smart-list-items-container {
direction: rtl;
}
.smart-list-box[right-to-left] .smart-list-items-container input {
direction: rtl;
}
.smart-list-box[right-to-left] .smart-list-items-container.vscroll {
left: var(--smart-scroll-bar-size);
right: initial;
}
.smart-list-box[right-to-left] .smart-list-items-container.vscroll .smart-list-items-inner-container {
margin-right: var(--smart-list-item-horizontal-offset);
}
.smart-popup.smart-list-item.smart-list-item-feedback[right-to-left] smart-list-item .smart-list-item-container {
direction: rtl;
left: 0;
}