Skip to content

Commit 121dc57

Browse files
committed
feat: dropdown panel open styling
1 parent da67ce4 commit 121dc57

File tree

1 file changed

+55
-15
lines changed

1 file changed

+55
-15
lines changed

components/signup-card.vue

+55-15
Original file line numberDiff line numberDiff line change
@@ -64,28 +64,26 @@
6464
</div>
6565

6666
<div class="field-wrapper">
67-
<ZeroDropdown :class="['country dropdown-field form-field', { error: fieldError.country }]" :display-selected="true">
68-
<template #toggle-button="{ togglePanel, selected }">
69-
<div class="toggle-button" @click="togglePanel">
70-
<p v-if="selected" class="toggle-button-label">
67+
<ZeroDropdown class="country dropdown-field" :display-selected="true">
68+
<template #toggle-button="{ togglePanel, panelOpen, selected }">
69+
<div :class="['toggle-button form-field', { error: fieldError.country }, { open: panelOpen } ]" @click="togglePanel">
70+
<p v-if="selected" class="toggle-button-label selected">
7171
{{ selected.label }}
7272
</p>
7373
<p v-else class="toggle-button-label">
7474
Country
7575
</p>
76+
<IconChevron />
7677
</div>
7778
</template>
7879
<template #dropdown-panel="{ setSelected, closePanel }">
7980
<div class="dropdown-panel">
80-
<div
81+
<p
8182
v-for="option in countryField.options"
8283
:key="option.code"
83-
class="options">
84-
<p
85-
class="option-label"
86-
@click="selectOption(setSelected, closePanel, option, 'country')"
87-
v-html="option.label" />
88-
</div>
84+
class="option"
85+
@click="selectOption(setSelected, closePanel, option, 'country')"
86+
v-html="option.label" />
8987
</div>
9088
</template>
9189
</ZeroDropdown>
@@ -257,6 +255,7 @@ const submitForm = async () => {
257255
flex-flow: row no-wrap;
258256
}
259257
// //////////////////////////////////////////////////////////////////////// Form
258+
//---------------------------------------------------------------------- General
260259
.form-field {
261260
border: var(--brand-color) 1px solid;
262261
border-radius: toRem(5);
@@ -287,6 +286,10 @@ const submitForm = async () => {
287286
margin-bottom: toRem(24);
288287
}
289288
289+
.submit-button {
290+
291+
}
292+
//----------------------------------------------------------------- Input Fields
290293
.name-fields {
291294
display: flex;
292295
flex-flow: row nowrap;
@@ -306,16 +309,53 @@ const submitForm = async () => {
306309
}
307310
}
308311
312+
//-------------------------------------------------------------- Dropdown Fields
313+
// .dropdown-field {
314+
// padding: 0;
315+
// }
316+
317+
.toggle-button {
318+
display: flex;
319+
align-items: center;
320+
justify-content: space-between;
321+
&.open {
322+
border-color: var(--secondary-text-color);
323+
border-bottom-color: transparent;
324+
border-bottom-left-radius: 0;
325+
border-bottom-right-radius: 0;
326+
padding-bottom: toRem(4);
327+
}
328+
}
329+
309330
.toggle-button-label {
310331
@include formFieldPlaceholder;
332+
&.selected {
333+
@include formFieldText;
334+
}
311335
}
312336
313-
.option-label {
314-
cursor: pointer;
337+
:deep(.panel-container) {
338+
width: 100%;
339+
z-index: 1;
340+
top: calc(100% - 0.1rem);
341+
padding-top: 0;
342+
border: var(--secondary-text-color) 1px solid;
343+
height: toRem(93);
344+
overflow-y: scroll;
345+
border-top-color: transparent;
346+
border-bottom-left-radius: toRem(5);
347+
border-bottom-right-radius: toRem(5);
315348
}
316349
317-
.submit-button {
318-
350+
.option {
351+
@include formFieldPlaceholder;
352+
cursor: pointer;
353+
padding: 0 toRem(20) toRem(4);
354+
background-color: #121212;
355+
&:hover {
356+
background-color: var(--secondary-text-color);
357+
color: var(--background-color);
358+
}
319359
}
320360
321361
</style>

0 commit comments

Comments
 (0)