123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830 |
- /**
- * Items
- * --------------------------------------------------
- */
- .item {
- @include item-style($item-default-bg, $item-default-border, $item-default-text);
- position: relative;
- z-index: $z-index-item; // Make sure the borders and stuff don't get hidden by children
- display: block;
- margin: $item-border-width * -1;
- padding: $item-padding;
- border-width: $item-border-width;
- border-style: solid;
- font-size: $item-font-size;
- h2 {
- margin: 0 0 2px 0;
- font-size: 16px;
- font-weight: normal;
- }
- h3 {
- margin: 0 0 4px 0;
- font-size: 14px;
- }
- h4 {
- margin: 0 0 4px 0;
- font-size: 12px;
- }
- h5, h6 {
- margin: 0 0 3px 0;
- font-size: 10px;
- }
- p {
- color: #666;
- font-size: 14px;
- margin-bottom: 2px;
- }
- h1:last-child,
- h2:last-child,
- h3:last-child,
- h4:last-child,
- h5:last-child,
- h6:last-child,
- p:last-child {
- margin-bottom: 0;
- }
- // Align badges within items
- .badge {
- @include display-flex();
- position: absolute;
- top: $item-padding;
- right: ($item-padding * 2);
- }
- &.item-button-right .badge {
- right: ($item-padding * 2) + 35;
- }
- &.item-divider .badge {
- top: ceil($item-padding / 2);
- }
- .badge + .badge {
- margin-right: 5px;
- }
- // Different themes for items
- &.item-light {
- @include item-style($item-light-bg, $item-light-border, $item-light-text);
- }
- &.item-stable {
- @include item-style($item-stable-bg, $item-stable-border, $item-stable-text);
- }
- &.item-positive {
- @include item-style($item-positive-bg, $item-positive-border, $item-positive-text);
- }
- &.item-calm {
- @include item-style($item-calm-bg, $item-calm-border, $item-calm-text);
- }
- &.item-assertive {
- @include item-style($item-assertive-bg, $item-assertive-border, $item-assertive-text);
- }
- &.item-balanced {
- @include item-style($item-balanced-bg, $item-balanced-border, $item-balanced-text);
- }
- &.item-energized {
- @include item-style($item-energized-bg, $item-energized-border, $item-energized-text);
- }
- &.item-royal {
- @include item-style($item-royal-bg, $item-royal-border, $item-royal-text);
- }
- &.item-dark {
- @include item-style($item-dark-bg, $item-dark-border, $item-dark-text);
- }
- &[ng-click]:hover {
- cursor: pointer;
- }
- }
- .list-borderless .item,
- .item-borderless {
- border-width: 0;
- }
- // Link and Button Active States
- .item.active,
- .item.activated,
- .item-complex.active .item-content,
- .item-complex.activated .item-content,
- .item .item-content.active,
- .item .item-content.activated {
- @include item-active-style($item-default-active-bg, $item-default-active-border);
- // Different active themes for <a> and <button> items
- &.item-light {
- @include item-active-style($item-light-active-bg, $item-light-active-border);
- }
- &.item-stable {
- @include item-active-style($item-stable-active-bg, $item-stable-active-border);
- }
- &.item-positive {
- @include item-active-style($item-positive-active-bg, $item-positive-active-border);
- }
- &.item-calm {
- @include item-active-style($item-calm-active-bg, $item-calm-active-border);
- }
- &.item-assertive {
- @include item-active-style($item-assertive-active-bg, $item-assertive-active-border);
- }
- &.item-balanced {
- @include item-active-style($item-balanced-active-bg, $item-balanced-active-border);
- }
- &.item-energized {
- @include item-active-style($item-energized-active-bg, $item-energized-active-border);
- }
- &.item-royal {
- @include item-active-style($item-royal-active-bg, $item-royal-active-border);
- }
- &.item-dark {
- @include item-active-style($item-dark-active-bg, $item-dark-active-border);
- }
- }
- // Handle text overflow
- .item,
- .item h1,
- .item h2,
- .item h3,
- .item h4,
- .item h5,
- .item h6,
- .item p,
- .item-content,
- .item-content h1,
- .item-content h2,
- .item-content h3,
- .item-content h4,
- .item-content h5,
- .item-content h6,
- .item-content p {
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
- // Linked list items
- a.item {
- color: inherit;
- text-decoration: none;
- &:hover,
- &:focus {
- text-decoration: none;
- }
- }
- /**
- * Complex Items
- * --------------------------------------------------
- * Adding .item-complex allows the .item to be slidable and
- * have options underneath the button, but also requires an
- * additional .item-content element inside .item.
- * Basically .item-complex removes any default settings which
- * .item added, so that .item-content looks them as just .item.
- */
- .item-complex,
- a.item.item-complex,
- button.item.item-complex {
- padding: 0;
- }
- .item-complex .item-content,
- .item-radio .item-content {
- position: relative;
- z-index: $z-index-item;
- padding: $item-padding (ceil( ($item-padding * 3) + ($item-padding / 3) ) - 5) $item-padding $item-padding;
- border: none;
- background-color: $item-default-bg;
- }
- a.item-content {
- display: block;
- color: inherit;
- text-decoration: none;
- }
- .item-text-wrap .item,
- .item-text-wrap .item-content,
- .item-text-wrap,
- .item-text-wrap h1,
- .item-text-wrap h2,
- .item-text-wrap h3,
- .item-text-wrap h4,
- .item-text-wrap h5,
- .item-text-wrap h6,
- .item-text-wrap p,
- .item-complex.item-text-wrap .item-content,
- .item-body h1,
- .item-body h2,
- .item-body h3,
- .item-body h4,
- .item-body h5,
- .item-body h6,
- .item-body p {
- overflow: visible;
- white-space: normal;
- }
- .item-complex.item-text-wrap,
- .item-complex.item-text-wrap h1,
- .item-complex.item-text-wrap h2,
- .item-complex.item-text-wrap h3,
- .item-complex.item-text-wrap h4,
- .item-complex.item-text-wrap h5,
- .item-complex.item-text-wrap h6,
- .item-complex.item-text-wrap p {
- overflow: visible;
- white-space: normal;
- }
- // Link and Button Active States
- .item-complex{
- // Stylized items
- &.item-light > .item-content{
- @include item-style($item-light-bg, $item-light-border, $item-light-text);
- &.active, &:active {
- @include item-active-style($item-light-active-bg, $item-light-active-border);
- }
- }
- &.item-stable > .item-content{
- @include item-style($item-stable-bg, $item-stable-border, $item-stable-text);
- &.active, &:active {
- @include item-active-style($item-stable-active-bg, $item-stable-active-border);
- }
- }
- &.item-positive > .item-content{
- @include item-style($item-positive-bg, $item-positive-border, $item-positive-text);
- &.active, &:active {
- @include item-active-style($item-positive-active-bg, $item-positive-active-border);
- }
- }
- &.item-calm > .item-content{
- @include item-style($item-calm-bg, $item-calm-border, $item-calm-text);
- &.active, &:active {
- @include item-active-style($item-calm-active-bg, $item-calm-active-border);
- }
- }
- &.item-assertive > .item-content{
- @include item-style($item-assertive-bg, $item-assertive-border, $item-assertive-text);
- &.active, &:active {
- @include item-active-style($item-assertive-active-bg, $item-assertive-active-border);
- }
- }
- &.item-balanced > .item-content{
- @include item-style($item-balanced-bg, $item-balanced-border, $item-balanced-text);
- &.active, &:active {
- @include item-active-style($item-balanced-active-bg, $item-balanced-active-border);
- }
- }
- &.item-energized > .item-content{
- @include item-style($item-energized-bg, $item-energized-border, $item-energized-text);
- &.active, &:active {
- @include item-active-style($item-energized-active-bg, $item-energized-active-border);
- }
- }
- &.item-royal > .item-content{
- @include item-style($item-royal-bg, $item-royal-border, $item-royal-text);
- &.active, &:active {
- @include item-active-style($item-royal-active-bg, $item-royal-active-border);
- }
- }
- &.item-dark > .item-content{
- @include item-style($item-dark-bg, $item-dark-border, $item-dark-text);
- &.active, &:active {
- @include item-active-style($item-dark-active-bg, $item-dark-active-border);
- }
- }
- }
- /**
- * Item Icons
- * --------------------------------------------------
- */
- .item-icon-left .icon,
- .item-icon-right .icon {
- @include display-flex();
- @include align-items(center);
- position: absolute;
- top: 0;
- height: 100%;
- font-size: $item-icon-font-size;
- &:before {
- display: block;
- width: $item-icon-font-size;
- text-align: center;
- }
- }
- .item .fill-icon {
- min-width: $item-icon-fill-font-size + 2;
- min-height: $item-icon-fill-font-size + 2;
- font-size: $item-icon-fill-font-size;
- }
- .item-icon-left {
- padding-left: ceil( ($item-padding * 3) + ($item-padding / 3) );
- .icon {
- left: ceil( ($item-padding / 3) * 2);
- }
- }
- .item-complex.item-icon-left {
- padding-left: 0;
- .item-content {
- padding-left: ceil( ($item-padding * 3) + ($item-padding / 3) );
- }
- }
- .item-icon-right {
- padding-right: ceil( ($item-padding * 3) + ($item-padding / 3) );
- .icon {
- right: ceil( ($item-padding / 3) * 2);
- }
- }
- .item-complex.item-icon-right {
- padding-right: 0;
- .item-content {
- padding-right: ceil( ($item-padding * 3) + ($item-padding / 3) );
- }
- }
- .item-icon-left.item-icon-right .icon:first-child {
- right: auto;
- }
- .item-icon-left.item-icon-right .icon:last-child,
- .item-icon-left .item-delete .icon {
- left: auto;
- }
- .item-icon-left .icon-accessory,
- .item-icon-right .icon-accessory {
- color: $item-icon-accessory-color;
- font-size: $item-icon-accessory-font-size;
- }
- .item-icon-left .icon-accessory {
- left: floor($item-padding / 5);
- }
- .item-icon-right .icon-accessory {
- right: floor($item-padding / 5);
- }
- /**
- * Item Button
- * --------------------------------------------------
- * An item button is a child button inside an .item (not the entire .item)
- */
- .item-button-left {
- padding-left: ceil($item-padding * 4.5);
- }
- .item-button-left > .button,
- .item-button-left .item-content > .button {
- @include display-flex();
- @include align-items(center);
- position: absolute;
- top: ceil($item-padding / 2);
- left: ceil( ($item-padding / 3) * 2);
- min-width: $item-icon-font-size + ($button-border-width * 2);
- min-height: $item-icon-font-size + ($button-border-width * 2);
- font-size: $item-button-font-size;
- line-height: $item-button-line-height;
- .icon:before {
- position: relative;
- left: auto;
- width: auto;
- line-height: $item-icon-font-size - 1;
- }
- > .button {
- margin: 0px 2px;
- min-height: $item-icon-font-size + ($button-border-width * 2);
- font-size: $item-button-font-size;
- line-height: $item-button-line-height;
- }
- }
- .item-button-right,
- a.item.item-button-right,
- button.item.item-button-right {
- padding-right: $item-padding * 5;
- }
- .item-button-right > .button,
- .item-button-right .item-content > .button,
- .item-button-right > .buttons,
- .item-button-right .item-content > .buttons {
- @include display-flex();
- @include align-items(center);
- position: absolute;
- top: ceil($item-padding / 2);
- right: $item-padding;
- min-width: $item-icon-font-size + ($button-border-width * 2);
- min-height: $item-icon-font-size + ($button-border-width * 2);
- font-size: $item-button-font-size;
- line-height: $item-button-line-height;
- .icon:before {
- position: relative;
- left: auto;
- width: auto;
- line-height: $item-icon-font-size - 1;
- }
- > .button {
- margin: 0px 2px;
- min-width: $item-icon-font-size + ($button-border-width * 2);
- min-height: $item-icon-font-size + ($button-border-width * 2);
- font-size: $item-button-font-size;
- line-height: $item-button-line-height;
- }
- }
- .item-button-left.item-button-right{
- .button{
- &:first-child {
- right: auto;
- }
- &:last-child {
- left: auto;
- }
- }
- }
- // Item Avatar
- // -------------------------------
- .item-avatar,
- .item-avatar .item-content,
- .item-avatar-left,
- .item-avatar-left .item-content {
- padding-left: $item-avatar-width + ($item-padding * 2);
- min-height: $item-avatar-width + ($item-padding * 2);
- > img:first-child,
- .item-image {
- position: absolute;
- top: $item-padding;
- left: $item-padding;
- max-width: $item-avatar-width;
- max-height: $item-avatar-height;
- width: 100%;
- height: 100%;
- border-radius: $item-avatar-border-radius;
- }
- }
- .item-avatar-right,
- .item-avatar-right .item-content {
- padding-right: $item-avatar-width + ($item-padding * 2);
- min-height: $item-avatar-width + ($item-padding * 2);
- > img:first-child,
- .item-image {
- position: absolute;
- top: $item-padding;
- right: $item-padding;
- max-width: $item-avatar-width;
- max-height: $item-avatar-height;
- width: 100%;
- height: 100%;
- border-radius: $item-avatar-border-radius;
- }
- }
- // Item Thumbnails
- // -------------------------------
- .item-thumbnail-left,
- .item-thumbnail-left .item-content {
- padding-top: $item-padding / 2;
- padding-left: $item-thumbnail-width + $item-thumbnail-margin + $item-padding;
- min-height: $item-thumbnail-height + ($item-thumbnail-margin * 2);
- > img:first-child,
- .item-image {
- position: absolute;
- top: $item-thumbnail-margin;
- left: $item-thumbnail-margin;
- max-width: $item-thumbnail-width;
- max-height: $item-thumbnail-height;
- width: 100%;
- height: 100%;
- }
- }
- .item-avatar.item-complex,
- .item-avatar-left.item-complex,
- .item-thumbnail-left.item-complex {
- padding-top: 0;
- padding-left: 0;
- }
- .item-thumbnail-right,
- .item-thumbnail-right .item-content {
- padding-top: $item-padding / 2;
- padding-right: $item-thumbnail-width + $item-thumbnail-margin + $item-padding;
- min-height: $item-thumbnail-height + ($item-thumbnail-margin * 2);
- > img:first-child,
- .item-image {
- position: absolute;
- top: $item-thumbnail-margin;
- right: $item-thumbnail-margin;
- max-width: $item-thumbnail-width;
- max-height: $item-thumbnail-height;
- width: 100%;
- height: 100%;
- }
- }
- .item-avatar-right.item-complex,
- .item-thumbnail-right.item-complex {
- padding-top: 0;
- padding-right: 0;
- }
- // Item Image
- // -------------------------------
- .item-image {
- padding: 0;
- text-align: center;
- img:first-child, .list-img {
- width: 100%;
- vertical-align: middle;
- }
- }
- // Item Body
- // -------------------------------
- .item-body {
- overflow: auto;
- padding: $item-padding;
- text-overflow: inherit;
- white-space: normal;
- h1, h2, h3, h4, h5, h6, p {
- margin-top: $item-padding;
- margin-bottom: $item-padding;
- }
- }
- // Item Divider
- // -------------------------------
- .item-divider {
- padding-top: ceil($item-padding / 2);
- padding-bottom: ceil($item-padding / 2);
- min-height: 30px;
- background-color: $item-divider-bg;
- color: $item-divider-color;
- font-weight: 500;
- }
- .platform-ios .item-divider-platform,
- .item-divider-ios {
- padding-top: 26px;
- text-transform: uppercase;
- font-weight: 300;
- font-size: 13px;
- background-color: #efeff4;
- color: #555;
- }
- .platform-android .item-divider-platform,
- .item-divider-android {
- font-weight: 300;
- font-size: 13px;
- }
- // Item Note
- // -------------------------------
- .item-note {
- float: right;
- color: #aaa;
- font-size: 14px;
- }
- // Item Editing
- // -------------------------------
- .item-left-editable .item-content,
- .item-right-editable .item-content {
- // setup standard transition settings
- @include transition-duration( $item-edit-transition-duration );
- @include transition-timing-function( $item-edit-transition-function );
- -webkit-transition-property: -webkit-transform;
- -moz-transition-property: -moz-transform;
- transition-property: transform;
- }
- .list-left-editing .item-left-editable .item-content,
- .item-left-editing.item-left-editable .item-content {
- // actively editing the left side of the item
- @include translate3d($item-left-edit-open-width, 0, 0);
- }
- .item-remove-animate {
- &.ng-leave {
- @include transition-duration( $item-remove-transition-duration );
- }
- &.ng-leave .item-content,
- &.ng-leave:last-of-type {
- @include transition-duration( $item-remove-transition-duration );
- @include transition-timing-function( $item-remove-transition-function );
- @include transition-property( all );
- }
- &.ng-leave.ng-leave-active .item-content {
- opacity:0;
- -webkit-transform: translate3d(-100%, 0, 0) !important;
- transform: translate3d(-100%, 0, 0) !important;
- }
- &.ng-leave.ng-leave-active:last-of-type {
- opacity: 0;
- }
- &.ng-leave.ng-leave-active ~ ion-item:not(.ng-leave) {
- -webkit-transform: translate3d(0, unquote('-webkit-calc(-100% + 1px)'), 0);
- transform: translate3d(0, calc(-100% + 1px), 0);
- @include transition-duration( $item-remove-transition-duration );
- @include transition-timing-function( $item-remove-descendents-transition-function );
- @include transition-property( all );
- }
- }
- // Item Left Edit Button
- // -------------------------------
- .item-left-edit {
- @include transition(all $item-edit-transition-function $item-edit-transition-duration / 2);
- position: absolute;
- top: 0;
- left: 0;
- z-index: $z-index-item-edit;
- width: $item-left-edit-open-width;
- height: 100%;
- line-height: 100%;
- .button {
- height: 100%;
- &.icon {
- @include display-flex();
- @include align-items(center);
- position: absolute;
- top: 0;
- height: 100%;
- }
- }
- display: none;
- opacity: 0;
- @include translate3d( ($item-left-edit-left - $item-left-edit-open-width) / 2, 0, 0);
- &.visible {
- display: block;
- &.active {
- opacity: 1;
- @include translate3d($item-left-edit-left, 0, 0);
- }
- }
- }
- .list-left-editing .item-left-edit {
- @include transition-delay($item-edit-transition-duration / 2);
- }
- // Item Delete (Left side edit button)
- // -------------------------------
- .item-delete .button.icon {
- color: $item-delete-icon-color;
- font-size: $item-delete-icon-size;
- &:hover {
- opacity: .7;
- }
- }
- // Item Right Edit Button
- // -------------------------------
- .item-right-edit {
- @include transition(all $item-edit-transition-function $item-edit-transition-duration);
- position: absolute;
- top: 0;
- right: 0;
- z-index: $z-index-item-reorder;
- width: $item-right-edit-open-width * 1.5;
- height: 100%;
- background: inherit;
- padding-left: 20px;
- .button {
- min-width: $item-right-edit-open-width;
- height: 100%;
- &.icon {
- @include display-flex();
- @include align-items(center);
- position: absolute;
- top: 0;
- height: 100%;
- font-size: $item-reorder-icon-size;
- }
- }
- display: block;
- opacity: 0;
- @include translate3d($item-right-edit-open-width * 1.5, 0, 0);
- &.visible {
- display: block;
- &.active {
- opacity: 1;
- @include translate3d(0, 0, 0);
- }
- }
- }
- // Item Reordering (Right side edit button)
- // -------------------------------
- .item-reorder .button.icon {
- color: $item-reorder-icon-color;
- font-size: $item-reorder-icon-size;
- }
- .item-reordering {
- // item is actively being reordered
- position: absolute;
- left: 0;
- top: 0;
- z-index: $z-index-item-reordering;
- width: 100%;
- box-shadow: 0px 0px 10px 0px #aaa;
- .item-reorder {
- z-index: $z-index-item-reordering;
- }
- }
- .item-placeholder {
- // placeholder for the item that's being reordered
- opacity: 0.7;
- }
- /**
- * The hidden right-side buttons that can be exposed under a list item
- * with dragging.
- */
- .item-options {
- position: absolute;
- top: 0;
- right: 0;
- z-index: $z-index-item-options;
- height: 100%;
- .button {
- height: 100%;
- border: none;
- border-radius: 0;
- @include display-inline-flex();
- @include align-items(center);
- &:before{
- margin: 0 auto;
- }
- }
- ion-option-button:last-child {
- padding-right: calc(constant(safe-area-inset-right) + #{$button-padding});
- padding-right: calc(env(safe-area-inset-right) + #{$button-padding});
- }
- }
|