Skip to content

Commit d2ffd0b

Browse files
committed
adapt user card
1 parent db1803d commit d2ffd0b

File tree

1 file changed

+41
-25
lines changed

1 file changed

+41
-25
lines changed

packages/uui-card-user/lib/uui-card-user.element.ts

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ export class UUICardUserElement extends UUICardElement {
4444
tabindex=${this.disabled ? (nothing as any) : '0'}
4545
@click=${this.handleOpenClick}
4646
@keydown=${this.handleOpenKeydown}>
47-
<span> ${this.name} </span>
47+
${this.#renderContent()}
4848
</div>`;
4949
}
5050

@@ -60,24 +60,32 @@ export class UUICardUserElement extends UUICardElement {
6060
this.target === '_blank' ? 'noopener noreferrer' : undefined,
6161
),
6262
)}>
63-
<span>${this.name}</span>
63+
${this.#renderContent()}
6464
</a>`;
6565
}
6666

67-
public render() {
68-
return html`
67+
#renderContent() {
68+
return html`<div id="content">
6969
${this._avatarSlotHasContent
7070
? nothing
7171
: html`<uui-avatar
72-
id="avatar"
72+
class="avatar"
7373
name=${this.name}
7474
size="m"></uui-avatar>`}
7575
<slot
7676
name="avatar"
77-
id="avatar"
77+
class="avatar"
7878
@slotchange=${this._avatarSlotChanged}></slot>
79-
${this.href ? this.#renderLink() : this.#renderButton()}
79+
<span>${this.name}</span>
8080
<slot></slot>
81+
</div>`;
82+
}
83+
84+
public render() {
85+
return html`
86+
${this.href ? this.#renderLink() : this.#renderButton()}
87+
<!-- Select border must be right after #open-part -->
88+
<div id="select-border"></div>
8189
<slot name="tag"></slot>
8290
<slot name="actions"></slot>
8391
`;
@@ -90,7 +98,6 @@ export class UUICardUserElement extends UUICardElement {
9098
min-width: 250px;
9199
flex-direction: column;
92100
justify-content: space-between;
93-
padding: var(--uui-size-3);
94101
align-items: center;
95102
}
96103
@@ -113,8 +120,8 @@ export class UUICardUserElement extends UUICardElement {
113120
114121
slot[name='actions'] {
115122
position: absolute;
116-
top: var(--uui-size-4);
117-
right: var(--uui-size-4);
123+
top: var(--uui-size-space-4);
124+
right: var(--uui-size-space-4);
118125
display: flex;
119126
justify-content: right;
120127
@@ -127,35 +134,44 @@ export class UUICardUserElement extends UUICardElement {
127134
opacity: 1;
128135
}
129136
130-
#avatar {
131-
margin: var(--uui-size-3);
137+
#open-part {
138+
cursor: pointer;
139+
width: 100%;
140+
padding: var(--uui-size-space-5) var(--uui-size-space-4);
132141
}
133142
134-
slot[name='icon']::slotted(*) {
135-
font-size: 1.2em;
143+
:host([disabled]) #open-part {
144+
pointer-events: none;
136145
}
137146
138-
#open-part {
147+
#open-part:hover #content > span {
148+
text-decoration: underline;
149+
color: var(--uui-color-interactive-emphasis);
150+
}
151+
152+
:host([selectable]) #open-part {
153+
padding: 0;
154+
margin: var(--uui-size-space-5) var(--uui-size-space-4);
155+
}
156+
157+
#content {
139158
display: flex;
159+
flex-direction: column;
140160
position: relative;
141-
font-weight: 700;
142161
align-items: center;
143-
cursor: pointer;
144162
margin: 0 0 3px 0;
145163
}
146164
147-
:host([disabled]) #open-part {
148-
pointer-events: none;
149-
}
150-
151-
#open-part > span {
165+
#content > span {
152166
vertical-align: center;
153167
margin-top: 3px;
168+
font-weight: 700;
154169
}
155170
156-
#open-part:hover {
157-
text-decoration: underline;
158-
color: var(--uui-color-interactive-emphasis);
171+
.avatar {
172+
font-size: 1.5em;
173+
margin-top: var(--uui-size-space-1);
174+
margin-bottom: var(--uui-size-space-2);
159175
}
160176
`,
161177
];

0 commit comments

Comments
 (0)