UNPKG

@c8y/style

Version:

Styles for Cumulocity IoT applications

205 lines (191 loc) • 4.26 kB
/** * c8y schema form - Component styles * * Note: Uses @size-* tokens for spacing where applicable. * * Intentionally hardcoded values: * - Component-specific dimensions: Fixed sizes for component layout * - Off-grid spacing: Component-specific positioning * - Border widths (1px, 2px, 3px): Standard borders * - Font-sizes: Typography * - Percentages: Layout */ c8y-schema-form.widget { padding-top: @size-16; // Inline list-group base styles (mixin doesn't exist) position: relative; margin-bottom: @size-16; padding-left: 0; box-shadow: inset 0 1px 0 @component-border-color; bootstrap-decorator, sf-decorator { display: block; margin-bottom: 0; .form-group, .legend, .help-block { padding-right: @size-16; padding-left: @size-16; } .form-group { margin-bottom: -1px; padding: 3px @size-16 @size-20; .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { color: @text-color; } } } bootstrap-decorator + ng-form { // Inline list-group-item base styles (mixin doesn't exist) position: relative; display: block; margin-bottom: 0; padding: @size-base @component-padding; min-height: calc(@size-base * 5); width: 100%; border: 0; box-shadow: inset 0 -1px 0 @component-border-color; > .form-group { margin-bottom: 0; padding: 3px @size-16 @size-20; .form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control { color: @text-color; } } } bootstrap-decorator { .legend { margin-top: @size-20; margin-bottom: @size-8; } } sf-decorator { .legend { margin-top: 0; margin-bottom: 7px; padding-top: 8px; background-color: @component-background-default; color: @form-label-color; &.form-block { &::after { display: none; } } } } &.form-read-only { sf-decorator, bootstrap-decorator { min-height: 0; height: auto; } .form-group { display: flex; align-items: center; flex-flow: row wrap; padding: 3px @size-16; label { flex: 1 0 30%; margin: 0 @size-8 0 0; line-height: 1.3; align-self: flex-start; } label + div, .form-control, .text-pre-wrap { flex: 1 1 60%; padding: 0 !important; height: auto; background-color: transparent; text-overflow: ellipsis; .dashboard & { color: inherit; } } .help-block { margin: 0; width: 100%; } &.datepicker { padding: 0; .form-control { cursor: not-allowed; pointer-events: none; } [uib-datepicker-popup-wrap] { display: none; } } &.timepicker { padding: 0; .form-group.uib-time { padding: 0; .form-control { width: @size-20; cursor: not-allowed; pointer-events: none; } } } } .schema-form-checkbox { padding: 0 0 @size-16 16px !important; } .schema-form-textarea { padding: @size-16; } .c8y-schema-form-empty { display: none; } } bootstrap-decorator > fieldset > sf-decorator:last-child { padding-bottom: 0; border-bottom: 0; & .schema-form-checkbox { padding: 0 0 @size-16 16px !important; } } } c8y-schema-form.generic-ui { .form-group { margin-bottom: 0; .help-block { margin: 0; } } .c8y-checkbox { display: flex; input + span { margin-right: @size-base; } } // Removed unused label utility - verified 0 usages: .no-label } .schema-form-grid { display: grid; margin: 0 -1rem; > div, > div > ng-form { display: contents; } bootstrap-decorator { padding: 0 1rem; } bootstrap-decorator:first-child:last-child { display: contents; padding: 0; > fieldset { display: contents; } sf-decorator { padding: 0 1rem; } } } .schema-form-checkbox { padding-bottom: @size-base; }