UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

478 lines (395 loc) 10.1 kB
/*! * Copyright 2020 Progress Software Corporation and/or one of its subsidiaries or affiliates. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // Card .k-card { .border-radius( @card-border-radius ); // .box-shadow( @card-box-shadow ); border-width: @card-border-width; border-style: solid; display: flex; flex-direction: column; position: relative; .k-card-callout { position: absolute; width: @card-callout-width; height: @card-callout-height; border-width: @card-border-width @card-border-width 0 0; border-style: solid; margin: 0; &.k-callout-n { top: 0; transform: translate(-50%, -50%) rotate(-45deg); left: 50%; } &.k-callout-e { top: 50%; left: auto; right: 0; transform: translate(50%, -50%) rotate(135deg) scaleX(-1); } &.k-callout-s { top: auto; bottom: 0; transform: translate(-50%, 50%) rotate(135deg); left: 50%; } &.k-callout-w { top: 50%; left: 0; transform: translate(-50%, -50%) rotate(-135deg); } } } .k-card.k-card-flat { box-shadow: none; } // Placeholder selectors // %top-rounded-child { // .k-card > &:first-child { // .border-top-radius( @card-border-radius ); // } // } // %bottom-rounded-child { // .k-card > &:last-child { // .border-bottom-radius( @card-border-radius ); // } // } // Orientation .k-card-horizontal { flex-direction: row; } // Header .k-card-header { // @extend %top-rounded-child; // @extend %bottom-rounded-child; padding: @card-header-padding-y @card-header-padding-x; border-width: 0 0 @card-header-border-width; border-style: solid; overflow: hidden; position: relative; z-index: 1; .k-card > &:first-child { .border-top-radius( @card-border-radius ); } .k-card > &:last-child { .border-bottom-radius( @card-border-radius ); } > h1, > h2, > h3, > h4, > h5, > h6 { margin: 0; } .k-card-title+.k-card-subtitle { margin-top: 0; } } // Footer .k-card-footer { padding: @card-footer-padding-y @card-footer-padding-x; border-width: @card-footer-border-width 0 0; border-style: solid; display: block; } // Body .k-card-body { // @extend %top-rounded-child; // @extend %bottom-rounded-child; padding: @card-body-padding-y @card-body-padding-x; flex: 1 1 auto; .k-card > &:first-child { .border-top-radius( @card-border-radius ); } .k-card > &:last-child { .border-bottom-radius( @card-border-radius ); } p { margin: 0 0 @paragraph-margin-bottom; } > .k-last, > :last-child { margin-bottom: 0; } } // Card image .k-card-image, .k-card-media { // @extend %top-rounded-child; // @extend %bottom-rounded-child; border: 0; max-width: 100%; overflow: hidden; .k-card > &:first-child { .border-top-radius( @card-border-radius ); } .k-card > &:last-child { .border-bottom-radius( @card-border-radius ); } > img { border: 0; max-width: 100%; } .k-card-horizontal & { flex-shrink: 0; max-width: @card-img-max-width; object-fit: cover; } } // Card title .k-card-title { // @include typography-styles( card-title ); font-family: inherit; font-size: @card-title-font-size; line-height: normal; font-weight: 400; margin: 0 0 @card-title-margin-bottom; } // Card subtitle .k-card-subtitle { // @include typography-styles( card-subtitle ); font-size: @card-subtitle-font-size; margin: 0 0 @card-subtitle-margin-bottom; opacity: .6; } .k-card-title + .k-card-subtitle { margin-top: ( -@card-title-margin-bottom * .75 ); } // Separator .k-card-separator { margin: 0; border-width: 1px 0 0; border-style: solid; display: block; flex: 0 0 auto; &.k-separator-vertical { width: 0; border-width: 0 0 0 1px; } } // Separator .k-card > .k-hr { margin: 0; flex: 0 0 auto; border-color: inherit; } // Card actions .k-card-actions { // @extend %top-rounded-child; // @extend %bottom-rounded-child; padding: @card-actions-padding-y @card-actions-padding-x; border-width: 0; border-style: solid; border-color: inherit; overflow: hidden; display: flex; flex-wrap: wrap; flex-shrink: 0; flex-basis: auto; .k-card > &:first-child { .border-top-radius( @card-border-radius ); } .k-card > &:last-child { .border-bottom-radius( @card-border-radius ); } .k-card > & { border-top-width: @card-actions-border-width; border-color: inherit; } .k-card-horizontal &, .k-card-vertical & { border: 0; } .k-button { max-width: 100%; white-space: normal; } > .k-button.k-flat:first-child { margin-left: (-@card-button-padding-x); } &.k-card-actions-start { justify-content: flex-start; } &.k-card-actions-end { justify-content: flex-end; } &.k-card-actions-center { justify-content: center; } } .k-card-action { border-width: 0; border-style: solid; border-color: inherit; display: inline-flex; flex: 1 1 auto; > .k-button { .border-radius( 0 ); padding: (@card-actions-padding-y + @card-button-padding-y) @card-actions-padding-x; flex: 1 1 auto; } } .k-card-actions-vertical { padding: 0; display: flex; flex-direction: column; .k-button { padding: (@card-actions-padding-y + @button-padding-y) @card-actions-padding-x; &.k-flat:first-child { margin-left: 0; } } .k-card-action + .k-card-action { border-top-width: @card-actions-border-width; } .k-card-horizontal & { border-top-width: 0; border-left-width: @card-actions-border-width; } .k-card-vertical & { &.k-card-actions-start { align-items: flex-start; } &.k-card-actions-end { align-items: flex-end; } &.k-card-actions-center { align-items: center; } &.k-card-actions-start, &.k-card-actions-end, &.k-card-actions-center { padding: @card-actions-padding-y @card-actions-padding-x; .k-button { padding: @button-padding-y @button-padding-x; } } } } .k-card-actions-stretched { padding: 0; display: flex; flex-direction: row; .k-button { padding: (@card-actions-padding-y + @button-padding-y) @card-actions-padding-x; flex-grow: 1; border-radius: 0; &.k-flat:first-child { margin-left: 0; } } .k-card-action + .k-card-action { border-left-width: @card-actions-border-width; } &.k-card-actions-vertical { flex-direction: column; } } // List .k-card-list { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; flex: 0 0 auto; .k-card { flex: 0 0 auto; } .k-card + .k-card { margin-top: @card-deck-gap; } } // Deck .k-card-deck { display: flex; margin-top: @card-deck-gap; flex-direction: row; flex-wrap: nowrap; align-items: stretch; flex: 0 0 auto; .k-card { flex: 0 0 auto; } .k-card + .k-card { margin-left: @card-deck-gap; } } .k-card-deck-scrollwrap { display: flex; position: relative; align-items: center; > .k-button { .border-radius( @card-deck-scroll-button-radius ); flex: 0 0 auto; position: absolute; z-index: 1; &:first-child { left: @card-deck-scroll-button-offset; } &:last-child { right: @card-deck-scroll-button-offset; } } > .k-card-deck { flex: 1 1 auto; } } // Group .k-card-group { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: stretch; flex: 0 0 auto; .k-card { .border-radius(0); flex: 0 0 auto; > .k-card-header { .border-radius(0); } } .k-card + .k-card { margin-left: -1px; } // Border-radius .k-card.k-first { .border-left-radius( @card-border-radius ); > .k-card-header { border-top-left-radius: @card-border-radius; } } .k-card.k-last { .border-right-radius( @card-border-radius ); > .k-card-header { border-top-right-radius: @card-border-radius; } } .k-card.k-only { .border-radius( @card-border-radius ); > .k-card-header { .border-top-radius( @card-border-radius ); } } } // RTL .k-rtl, [dir="rtl"] { // Deck .k-card-deck { .k-card + .k-card { margin-left: 0; margin-right: @card-deck-gap; } } } // IE 11 .k-ie11 { // IE11 needs units to be added to flex-basis when in shorthand // Thus, `flex: x x 0` will be ignored and we need `flex: x x auto` // See https://github.com/philipwalton/flexbugs#flexbug-4 .k-card-body { flex: 1 1 auto; } }