UNPKG

@c8y/style

Version:

Styles for Cumulocity IoT applications

239 lines (228 loc) • 6.24 kB
@import "../../../mixins/_vendor-prefixes.less"; /** * Timeline List - DEPRECATED timeline list component * * DEPRECATED: Migrate to c8y-list-group component. * Still used in: modules/connectivityV2/auditLogs.html, modules/administration-archivesEditor/views/index.html * * Note: Uses @size-* tokens for spacing; @size-base for calculations; @font-size-* tokens, and @component-padding. * * Intentionally hardcoded values: * - Component-specific dimensions (35px, 48px, 53px): Timeline positioning and spacing * - Off-token spacing (6px, 11px, 13px): Triangle and positioning offsets not in token system * - Border widths (1px, 2px): Standard borders and shadow effects * - Negative positioning: Fine-tuning for arrows and connectors * - Percentages (50%, 100%): Layout and positioning * - Transition durations (0.35s, 0.5s): Animation timing * - Box-shadow values: Elevation and inset effects * - RGBA values: Transparency * - Em values (0.2em, 0.6em): Relative padding for badges * - Z-index values (10): Stacking order */ // Removed unused deprecated timeline component classes - verified 0 usages // .timeline-list, .timeline-item-date, .timeline-item-content, .timeline-list-item /* .timeline-list { margin: 0; padding: 0; list-style: none; .timeline-item-date { margin-right: 35px; width: @size-40; color: @component-color-default; font-size: @font-size-xs; line-height: 1; } > div, > li { position: relative; &::before { position: absolute; top: 0; bottom: 1px; left: 53px; border: 1px dotted @component-border-color; content: ''; transition: top 0.35s linear; } &.expanded::before { transition: none, } &:first-child { &::before { top: 50%; } } &:last-child { &::before { bottom: 50%; } } &:after { position: absolute; top: 50%; left: 48px; z-index: 10; margin: -6px 0 0; width: calc(@size-base * 1.5); height: calc(@size-base * 1.5); border-radius: 50%; background-color: @component-color-disabled; content: ''; transition: background 0.5s linear; .box-shadow(inset 0 1px 2px rgba(black, (30 / 100))); } &.active { &:after { background-color: @component-color-accent; } .timeline-item-content { border-color: @component-color-accent; .list-item-actions { &:before { display: inline-block; margin-top: calc(@size-base + 2); margin-right: @size-base; padding: 0.2em 0.6em 0; border-radius: @size-10; background-color: @component-color-accent; color: @palette-high; content: attr(data-active); font-weight: bold; font-size: @font-size-small; } .dropdown { display: none; } } &:before { left: -13px; margin-top: -13px; border-width: 13px 13px 13px 0; border-color: transparent @component-color-accent transparent transparent; } &:after { left: calc(-1 * @size-10); } } } } .timeline-item-content { position: relative; flex: 1 1 0%; margin-top: 0; margin-bottom: @size-base; padding: @size-base @component-padding; min-height: @size-40; border: 2px solid @component-background-default; background: @component-background-default; box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); color: @component-color-default; transition: background 0.5s linear, border 0.5s linear; overflow-wrap: break-word; &:before { position: absolute; top: 50%; left: calc(-1 * @size-base * 1.5); margin-top: calc(-1 * @size-10); width: 0; height: 0; border-width: @size-10 @size-10 @size-10 0; border-style: solid; border-color: transparent rgba(@black, (5 / 100)) transparent transparent; content: ''; } &:after { position: absolute; top: 50%; left: -11px; margin-top: calc(-1 * @size-10); width: 0; height: 0; border-width: @size-10 @size-10 @size-10 0; border-style: solid; border-color: transparent @component-background-default transparent transparent; content: ''; transition: border 0.5s linear; } .list-item-icon { align-self: flex-start; } .list-item-icon, .list-item-icon [class^='dlt-c8y-icon-'], .list-item-icon [class*=' dlt-c8y-icon-'] { font-size: @size-20; } .list-item-body { flex: 1; word-break: break-all; //this is added because of IE11 } .collapse, .collapsing { flex: 1 1 100%; order: 11000; min-width: 100%; width: auto; } } .expanded { background: transparent; .timeline-item-date { font-weight: bold; } &:after { background-color: @component-color-accent; } .timeline-item-content { border-color: @component-background-expanded; background-color: @component-background-expanded; color: @component-color-expanded; &:after { border-color: transparent @component-background-expanded transparent transparent; background-color: transparent; } } } &.list-condensed { .timeline-item-content { margin: 0 0 @size-4; border-width: 0 0 0 2px; } } } @media (min-width: @screen-sm-min) { .timeline-list { .timeline-item-date { width: 60px; } > li, > div { &::before { left: 73px; } &::after { left: 68px; } } } } .timeline-list-item { &.ng-enter { opacity: 0; transition: background 1s linear 0.5s, opacity 0.5s linear; &.ng-enter-active { opacity: 1; } &:after { background-color: @component-realtime-added; } .timeline-item-content { border-color: @component-realtime-added; background-color: @component-realtime-added; &:after { border-color: transparent @component-realtime-added transparent transparent; } } } } */