Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cypress/integration/label.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ context('label', () => {

cy.get('plex-layout plex-title:first');

cy.get('plex-label:first plex-icon + div > span').should('contain.text', 'Comience buscando un paciente en la barra superior');
cy.get('plex-label:first plex-icon + div > p').should('contain.text', 'Comience buscando un paciente en la barra superior');

cy.get('small:first');

Expand Down
4 changes: 2 additions & 2 deletions src/demo/app/card/card.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@ <h5>Una <b>plex-card</b> es una envolvente rectangular que aloja otros micro-com
</plex-card>
</plex-grid>
<plex-grid type="full" cols="2" size="md">
<!-- No seleccionables -->
<!-- Filled -->
<div>
<plex-title titulo="plex-card mode=filled (no seleccionables)" size="sm"></plex-title>
<plex-title titulo="plex-card mode=filled" size="sm"></plex-title>
<plex-grid type="auto" size="lg">
<plex-card selectable="true" [color]="color" align="start" [selected]="dato.selected"
(click)="dato.selected = !dato.selected" type="{{ dato.type }}" mode="{{ dato.style }}"
Expand Down
4 changes: 2 additions & 2 deletions src/lib/card/card.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { Component, Input, ViewChild, ElementRef, OnChanges } from '@angular/cor
@Component({
selector: 'plex-card',
template: `
<div #cardColor class="card bg-{{ mode }}-{{ type }}" [ngClass]="{ 'selectable' : selectable }" [class.selected]="selected">
<div tabindex="0" #cardColor class="card bg-{{ mode }}-{{ type }}" [ngClass]="{ 'selectable' : selectable }" [class.selected]="selected">
<ng-content select="img"></ng-content>
<ng-content select="plex-icon"></ng-content>
<div class="d-flex" [ngClass]="cssAlign">
Expand Down Expand Up @@ -51,7 +51,7 @@ export class PlexCardComponent implements OnChanges {
}

if (this.color && this.color.length > 0 && this.mode === 'outlined') {
this.cardColor.nativeElement.style.setProperty('--card-color', this.color + '20');
this.cardColor.nativeElement.style.setProperty('--card-color', this.color + '25');
}
}
}
2 changes: 1 addition & 1 deletion src/lib/css/mixins/_contrast.scss
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,6 @@
}

@else {
color: black;
color: inherit;
}
}
6 changes: 5 additions & 1 deletion src/lib/css/mixins/cardBackground.scss
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,13 @@
border: none!important;
box-shadow: none!important;
color: var(--color-base)!important;

&:hover {
background: var(--color-baseLight)!important;
}

&:focus {
border: solid 2px var(--color-baseDark)!important;
}
}
}
46 changes: 28 additions & 18 deletions src/lib/css/plex-card.scss
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,10 @@ plex-card {
&:hover, &.selected {
box-shadow: inset 0 0 0 2px var(--color-base)!important;
background-color: var(--color-baseLight)!important;
color: white;
&:not(.bg-filled-dark) {
color: black;
}
}
}
}
Expand Down Expand Up @@ -87,7 +91,6 @@ plex-card {
--colorDominante-s: 0%;
--colorDominante-l: 70%;

//box-shadow: inset 0 0 0 2px var(--color-base);
@include outlinedCardHover;
// calculo contraste en funcion del dominante
@include text-contrast(white);
Expand Down Expand Up @@ -121,30 +124,48 @@ plex-card {
// CUSTOM
&.bg-filled-custom {
--color-base: var(--card-color);
--color-baseDark: var(--card-color);

@include cardBackground;
background-color: var(--card-color)!important;

// TODO: función que descomponga color (hsl) en tiempo de ejecución y lo almacene en una variable para estados :hover
plex-badge > span.badge {
color: white!important;
border-color: white!important;
}

plex-button {
> button.btn {
background: white!important;
border: none!important;
box-shadow: none!important;
color: var(--color-base)!important;

&:hover {
filter: brightness(.85);
}

&:focus {
border: solid 2px darkgray!important;
}
}
}
@include customCardHover;
@include text-contrast(black);
}

&.bg-outlined-custom {
--color-base: var(--card-color);
--color-baseDark: var(--card-color);
box-shadow: inset 0 0 0 2px var(--card-color);
box-shadow: inset 0 0 0 2px var(--card-color)!important;

@include customCardHover;
// calculo contraste en funcion del dominante
@include text-contrast(white);
}


// SUCCESS
// filled
&.bg-filled-success {
--lighten: 40%;
// descomposición del dominante
--colorDominante-h: 86;
--colorDominante-s: 56%;
--colorDominante-l: 51%;
Expand All @@ -157,20 +178,17 @@ plex-card {
// outlined
&.bg-outlined-success {
--lighten: 40%;
// descomposición del dominante
--colorDominante-h: 86;
--colorDominante-s: 56%;
--colorDominante-l: 51%;
box-shadow: inset 0 0 0 2px var(--color-base);
@include outlinedCardHover;
// calculo contraste en funcion del dominante
@include text-contrast(#8cc63f);
}

// WARNING
&.bg-filled-warning {
--lighten: 35%;
// descomposición del dominante
--colorDominante-h: 29;
--colorDominante-s: 100%;
--colorDominante-l: 57%;
Expand All @@ -184,20 +202,17 @@ plex-card {
// outlined
&.bg-outlined-warning {
--lighten: 35%;
// descomposición del dominante
--colorDominante-h: 29;
--colorDominante-s: 100%;
--colorDominante-l: 57%;
box-shadow: inset 0 0 0 2px var(--color-base);
@include outlinedCardHover;
// calculo contraste en funcion del dominante
@include text-contrast(#fdc189);
}

// Dominante
&.bg-filled-danger {
--lighten: 35%;
// descomposición del dominante
--colorDominante-h: 7;
--colorDominante-s: 71%;
--colorDominante-l: 55%;
Expand All @@ -210,19 +225,16 @@ plex-card {
// outlined
&.bg-outlined-danger {
--lighten: 35%;
// descomposición del dominante
--colorDominante-h: 7;
--colorDominante-s: 71%;
--colorDominante-l: 55%;
box-shadow: inset 0 0 0 2px var(--color-base);
@include outlinedCardHover;
// calculo contraste en funcion del dominante
@include text-contrast(#fdc189);
}

// Info
&.bg-filled-info {
// descomposición del dominante
--colorDominante-h: 195;
--colorDominante-s: 100%;
--colorDominante-l: 44%;
Expand All @@ -234,13 +246,11 @@ plex-card {

// outlined
&.bg-outlined-info {
// descomposición del dominante
--colorDominante-h: 195;
--colorDominante-s: 100%;
--colorDominante-l: 44%;
box-shadow: inset 0 0 0 2px var(--color-base);
@include outlinedCardHover;
// calculo contraste en funcion del dominante
@include text-contrast(#c2e6f6);
}
}
Expand Down
6 changes: 3 additions & 3 deletions src/lib/css/plex-label.scss
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@
// line-height: 1.5;
}

span, small {
p, small {
line-height: 1.25;

margin-bottom: 0;
}

// Icono
Expand Down Expand Up @@ -78,7 +78,7 @@
margin-top: .5rem;
text-transform: capitalize;

span {
p {
white-space: wrap;
text-overflow: ellipsis;
overflow: hidden;
Expand Down
2 changes: 1 addition & 1 deletion src/lib/label/label.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { AfterViewInit, Component, ElementRef, Input, OnChanges, ViewChild } fro
<ng-content select="plex-icon"></ng-content>
<ng-content select="[dato]"></ng-content>
<div class="d-flex flex-column" [ngClass]="direction === 'column' ? 'align-items-center mt-2 px-4' : ''">
<span *ngIf="titulo" class="text-{{ type }}" [ngClass]="{'font-weight-bold': tituloBold}">{{ titulo }}</span>
<p *ngIf="titulo" class="text-{{ type }}" [ngClass]="{'font-weight-bold': tituloBold}">{{ titulo }}</p>
<small *ngIf="titulo && subtitulo" class="">{{ subtitulo }}</small>
</div>
<ng-content *ngIf="!titulo && !subtitulo"></ng-content>
Expand Down