Form fine tuning and link list add

This commit is contained in:
reverend 2020-08-21 12:08:51 +02:00
parent 8fa8033be4
commit 313968fafd
7 changed files with 160 additions and 115 deletions

View File

@ -8,7 +8,7 @@
.LP-Input__Field{ .LP-Input__Field{
border: none; border: none;
border-bottom: 1px solid $-grey; border-bottom: 1px solid $-grey;
padding: 8px; padding: 8px 0;
margin-bottom: $-margin-bottom; margin-bottom: $-margin-bottom;
&:focus, &:active, &:invalid{ &:focus, &:active, &:invalid{

View File

@ -1,6 +1,6 @@
<div class="LP-Input LP-Input{{modifier}}"> <div class="LP-Input LP-Input{{modifier}}">
<label for="input123" class="LP-Input__Label">{{label}}</label> <label for="input123" class="LP-Input__Label">{{label}}</label>
<input type="text" id="input123" class="LP-Input__Field" placeholder="{{placeholder}}" <input type="text" id="input123" class="LP-Input__Field" placeholder="{{placeholder}}">
{{#if disabled}} {{#if disabled}}
disabled="disabled" disabled="disabled"
{{/if}} {{/if}}

View File

@ -1,11 +1,20 @@
.LP-Form{ .LP-Form{
display: flex;
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
&--inline{
padding: 0 10px;
.LP-Form__Fieldset{
.LP-Form__Composition{
gap: 10px;
}
}
}
.LP-Form__Fieldset{ .LP-Form__Fieldset{
border: none; border: none;
padding: 0;
margin: 0;
max-width: 1200px; max-width: 1200px;
min-width: $-viewport-medium; min-width: $-viewport-medium;
@ -16,55 +25,64 @@
font-size: 21px; font-size: 21px;
} }
}
.LP-Form__Composition{
display: flex;
flex-direction: row;
justify-content: space-between;
gap: 30px;
.LP-Form__Composition{ &--buttons{
display: flex; gap: 10px;
flex-direction: row; }
justify-content: space-between;
.LP-Form__Field{
.LP-Form__Field{ flex: 3 2 100px;
flex: 3 2 100px; padding: 6px 0;
padding: 6px 15px;
&--wider{ &--wider{
flex: 5 2; flex: 5 2;
} }
&--wide{ &--wide{
flex: 4 2; flex: 4 2;
} }
&--narrow{ &--narrow{
flex: 2 1; flex: 2 1;
} }
&--narrower{ &--narrower{
flex: 1 2; flex: 1 2;
} }
}
&--static{
flex: 0 0;
}
}
&--buttons{ &--buttons{
justify-content: flex-end; justify-content: flex-end;
} }
.LP-Form__Button{ .LP-Form__Button{
flex-grow: 0; flex-grow: 0;
padding-left: 0; padding-left: 0;
min-width: 130px; min-width: 130px;
.LP-Link{ .LP-Link{
display:contents; display:contents;
} }
} }
.LP-Form__InfoText{ .LP-Form__InfoText{
.LP-Paragraph{ .LP-Paragraph{
font-family: $-primary-sans-serif-font; font-family: $-primary-sans-serif-font;
color: $-grey; color: $-grey;
} }
} }
} }
}
} }
@media(max-width: $-viewport-medium){ @media(max-width: $-viewport-medium){
@ -88,7 +106,7 @@
} }
@media(max-width: $-viewport-extra-small){ @media(max-width: $-viewport-extra-small){
.LP-Form{ .LP-Form :not(.LP-Form--inline){
.LP-Form__Fieldset{ .LP-Form__Fieldset{
.LP-Form__Composition{ .LP-Form__Composition{
display: flex; display: flex;

View File

@ -50,7 +50,7 @@
</div> </div>
<div class="LP-Form__Field LP-Form__Field--wide LP-Input"> <div class="LP-Form__Field LP-Form__Field--wide LP-Input">
<label for="input123" class="LP-Input__Label">Town</label> <label for="input123" class="LP-Input__Label">Town</label>
<input type="text" id="input123" class="LP-Input__Field"/> <input type="text" id="input123" class="LP-Input__Field"/>
</div> </div>
</div> </div>

View File

@ -12,15 +12,24 @@
position: relative; position: relative;
&--add{ &--add{
input[type=checkbox]:checked ~ .LP-LinkList__Add{ .LP-LinkList__AddTrigger{
display: block; display: none;
&:checked{
& ~ .LP-LinkList__AddPlaceHolder{
visibility: hidden;
}
& ~ .LP-LinkList__Add{
display: block;
}
}
} }
.LP-LinkList__Add{ .LP-LinkList__Add{
position: absolute; position: absolute;
top: 7px; top: 3px;
display: none; display: none;
width: 100%;
.LP-Form__Fieldset{ .LP-Form__Fieldset{
min-width:unset; min-width:unset;
} }

View File

@ -7,34 +7,37 @@
<li class="LP-LinkList__Item"><a href="#" class="LP-Link"><span class="LP-Text">Google Maps</span></a></li> <li class="LP-LinkList__Item"><a href="#" class="LP-Link"><span class="LP-Text">Google Maps</span></a></li>
<li class="LP-LinkList__Item"><a href="#" class="LP-Link"><span class="LP-Text">OSM</span></a></li> <li class="LP-LinkList__Item"><a href="#" class="LP-Link"><span class="LP-Text">OSM</span></a></li>
<li class="LP-LinkList__Item LP-LinkList__Item--add"> <li class="LP-LinkList__Item LP-LinkList__Item--add">
<input type="checkbox" id="wurstwurst" style="display: none"/> <input type="checkbox" id="wurstwurst" class="LP-LinkList__AddTrigger"/>
<label for="wurstwurst"> <label for="wurstwurst" class="LP-LinkList__AddPlaceHolder">
<span class="LP-Link LP-Link--iconized"> <span class="LP-Link LP-Link--iconized">
<div class="LP-Link__IconWrapper"> <div class="LP-Link__IconWrapper">
<svg class="LP-Link__Icon" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" <svg class="LP-Link__Icon" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512"
xml:space="preserve"> xml:space="preserve">
<g> <g>
<path d="M492,236H276V20c0-11.046-8.954-20-20-20c-11.046,0-20,8.954-20,20v216H20c-11.046,0-20,8.954-20,20s8.954,20,20,20h216 <path d="M492,236H276V20c0-11.046-8.954-20-20-20c-11.046,0-20,8.954-20,20v216H20c-11.046,0-20,8.954-20,20s8.954,20,20,20h216
v216c0,11.046,8.954,20,20,20s20-8.954,20-20V276h216c11.046,0,20-8.954,20-20C512,244.954,503.046,236,492,236z" /> v216c0,11.046,8.954,20,20,20s20-8.954,20-20V276h216c11.046,0,20-8.954,20-20C512,244.954,503.046,236,492,236z" />
</g> </g>
</svg> </svg>
</div> </div>
<span class="LP-Text">Link hinzufügen</span> <span class="LP-Text">Link hinzufügen</span>
</span> </span>
</label> </label>
<span class="LP-LinkList__Add"> <span class="LP-LinkList__Add">
<form class="LP-Form"> <form class="LP-Form LP-Form--inline">
<fieldset class="LP-Form__Fieldset"> <fieldset class="LP-Form__Fieldset">
<div class="LP-Input"> <div class="LP-Form__Composition LP-Form__Composition">
<button class="LP-Button">Add</button> <div class="LP-Form__Field LP-Form__Field--static LP-Input">
</div> <button class="LP-Button">Add</button>
<div class="LP-Input"> </div>
<input class="LP-Input__Field" type="url"/> <div class="LP-Form__Field LP-Form__Field--wide LP-Input">
</div> <input class="LP-Input__Field" type="url"/>
</fieldset> </div>
</form> </div>
</span> </div>
</fieldset>
</form>
</span>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -178,7 +178,7 @@ body {
.LP-Input .LP-Input__Field { .LP-Input .LP-Input__Field {
border: none; border: none;
border-bottom: 1px solid #565656; border-bottom: 1px solid #565656;
padding: 8px; padding: 8px 0;
margin-bottom: 30px; } margin-bottom: 30px; }
.LP-Input .LP-Input__Field:focus, .LP-Input .LP-Input__Field:active, .LP-Input .LP-Input__Field:invalid { .LP-Input .LP-Input__Field:focus, .LP-Input .LP-Input__Field:active, .LP-Input .LP-Input__Field:invalid {
margin-bottom: 29px; margin-bottom: 29px;
@ -594,12 +594,17 @@ body {
width: calc(100% - 1px); width: calc(100% - 1px);
margin-top: 12px; margin-top: 12px;
position: relative; } position: relative; }
.LP-LinkList__List .LP-LinkList__Item--add input[type=checkbox]:checked ~ .LP-LinkList__Add { .LP-LinkList__List .LP-LinkList__Item--add .LP-LinkList__AddTrigger {
display: block; } display: none; }
.LP-LinkList__List .LP-LinkList__Item--add .LP-LinkList__AddTrigger:checked ~ .LP-LinkList__AddPlaceHolder {
visibility: hidden; }
.LP-LinkList__List .LP-LinkList__Item--add .LP-LinkList__AddTrigger:checked ~ .LP-LinkList__Add {
display: block; }
.LP-LinkList__List .LP-LinkList__Item--add .LP-LinkList__Add { .LP-LinkList__List .LP-LinkList__Item--add .LP-LinkList__Add {
position: absolute; position: absolute;
top: 7px; top: 3px;
display: none; } display: none;
width: 100%; }
.LP-LinkList__List .LP-LinkList__Item--add .LP-LinkList__Add .LP-Form__Fieldset { .LP-LinkList__List .LP-LinkList__Item--add .LP-LinkList__Add .LP-Form__Fieldset {
min-width: unset; } min-width: unset; }
.LP-LinkList__List .LP-LinkList__Item--add .LP-LinkList__Add .LP-Form { .LP-LinkList__List .LP-LinkList__Item--add .LP-LinkList__Add .LP-Form {
@ -656,11 +661,16 @@ body {
background-color: inherit; } background-color: inherit; }
.LP-Form { .LP-Form {
display: flex;
flex-direction: column; flex-direction: column;
align-items: center; } align-items: center; }
.LP-Form--inline {
padding: 0 10px; }
.LP-Form--inline .LP-Form__Fieldset .LP-Form__Composition {
gap: 10px; }
.LP-Form .LP-Form__Fieldset { .LP-Form .LP-Form__Fieldset {
border: none; border: none;
padding: 0;
margin: 0;
max-width: 1200px; max-width: 1200px;
min-width: 750px; } min-width: 750px; }
.LP-Form .LP-Form__Fieldset .LP-Form__Legend { .LP-Form .LP-Form__Fieldset .LP-Form__Legend {
@ -668,32 +678,37 @@ body {
padding: 0; padding: 0;
font-family: Montserrat, Helvetica, sans-serif; font-family: Montserrat, Helvetica, sans-serif;
font-size: 21px; } font-size: 21px; }
.LP-Form .LP-Form__Fieldset .LP-Form__Composition { .LP-Form .LP-Form__Composition {
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: space-between; } justify-content: space-between;
.LP-Form .LP-Form__Fieldset .LP-Form__Composition .LP-Form__Field { gap: 30px; }
flex: 3 2 100px; .LP-Form .LP-Form__Composition--buttons {
padding: 6px 15px; } gap: 10px; }
.LP-Form .LP-Form__Fieldset .LP-Form__Composition .LP-Form__Field--wider { .LP-Form .LP-Form__Composition .LP-Form__Field {
flex: 5 2; } flex: 3 2 100px;
.LP-Form .LP-Form__Fieldset .LP-Form__Composition .LP-Form__Field--wide { padding: 6px 0; }
flex: 4 2; } .LP-Form .LP-Form__Composition .LP-Form__Field--wider {
.LP-Form .LP-Form__Fieldset .LP-Form__Composition .LP-Form__Field--narrow { flex: 5 2; }
flex: 2 1; } .LP-Form .LP-Form__Composition .LP-Form__Field--wide {
.LP-Form .LP-Form__Fieldset .LP-Form__Composition .LP-Form__Field--narrower { flex: 4 2; }
flex: 1 2; } .LP-Form .LP-Form__Composition .LP-Form__Field--narrow {
.LP-Form .LP-Form__Fieldset .LP-Form__Composition--buttons { flex: 2 1; }
justify-content: flex-end; } .LP-Form .LP-Form__Composition .LP-Form__Field--narrower {
.LP-Form .LP-Form__Fieldset .LP-Form__Composition .LP-Form__Button { flex: 1 2; }
flex-grow: 0; .LP-Form .LP-Form__Composition .LP-Form__Field--static {
padding-left: 0; flex: 0 0; }
min-width: 130px; } .LP-Form .LP-Form__Composition--buttons {
.LP-Form .LP-Form__Fieldset .LP-Form__Composition .LP-Form__Button .LP-Link { justify-content: flex-end; }
display: contents; } .LP-Form .LP-Form__Composition .LP-Form__Button {
.LP-Form .LP-Form__Fieldset .LP-Form__Composition .LP-Form__InfoText .LP-Paragraph { flex-grow: 0;
font-family: Montserrat, Helvetica, sans-serif; padding-left: 0;
color: #565656; } min-width: 130px; }
.LP-Form .LP-Form__Composition .LP-Form__Button .LP-Link {
display: contents; }
.LP-Form .LP-Form__Composition .LP-Form__InfoText .LP-Paragraph {
font-family: Montserrat, Helvetica, sans-serif;
color: #565656; }
@media (max-width: 750px) { @media (max-width: 750px) {
.LP-Form .LP-Form__Fieldset { .LP-Form .LP-Form__Fieldset {
@ -706,16 +721,16 @@ body {
justify-content: space-between; } } justify-content: space-between; } }
@media (max-width: 450px) { @media (max-width: 450px) {
.LP-Form .LP-Form__Fieldset .LP-Form__Composition { .LP-Form :not(.LP-Form--inline) .LP-Form__Fieldset .LP-Form__Composition {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; } justify-content: space-between; }
.LP-Form .LP-Form__Fieldset .LP-Form__Composition .LP-Form__Field:not(.LP-Form__Button) { .LP-Form :not(.LP-Form--inline) .LP-Form__Fieldset .LP-Form__Composition .LP-Form__Field:not(.LP-Form__Button) {
flex: 3 1 100px; flex: 3 1 100px;
padding: 12px 15px; } padding: 12px 15px; }
.LP-Form .LP-Form__Fieldset .LP-Form__Composition .LP-Form__Button { .LP-Form :not(.LP-Form--inline) .LP-Form__Fieldset .LP-Form__Composition .LP-Form__Button {
padding: 0 15px; } padding: 0 15px; }
.LP-Form .LP-Form__Fieldset .LP-Form__Composition--buttons { .LP-Form :not(.LP-Form--inline) .LP-Form__Fieldset .LP-Form__Composition--buttons {
justify-content: flex-end; } } justify-content: flex-end; } }
.LP-ImageGrid .LP-ImageGrid__List { .LP-ImageGrid .LP-ImageGrid__List {