libs/upp-wdgt/src/components/upp-form/upp-form.ts
| selector | upp-form-image |
| styleUrls | ./upp-form.scss |
| templateUrl | ./parts/upp-image.html |
<div class="img-box">
<ng-content></ng-content>
</div>
./upp-form.scss
:host {
form {
position: relative;
width: 100%;
height: 100%;
}
ion-item {
--background: transparent;
ion-icon {
font-size: 40px;
}
upp-image {
height: 40px;
width: 40px;
object-fit: cover;
}
}
ion-label {
.small {
font-size: 80%;
opacity: .8;
}
}
::ng-deep upp-form-action {
display: block;
margin: 10px 0px;
padding: 0px 10px;
ion-item {
--padding-start: 5px !important;
--inner-padding-start: 8px !important;
--padding-end: 5px !important;
--inner-padding-end: 8px !important;
border-radius: 10px;
overflow: hidden;
box-shadow: 0px 0px 2px 0px;
&.warning {
color: var(--ion-color-warning);
}
&.danger {
color: var(--ion-color-danger);
}
&.primary {
color: var(--ion-color-primary);
}
ion-label {
color: inherit;
}
ion-icon {
color: inherit;
}
}
}
::ng-deep upp-form-warning {
display: block;
margin-top: 0px;
padding: 0px 10px;
.warning-box {
padding: 1px;
overflow: hidden;
max-height: 0px;
&.visible {
max-height: 60px;
}
}
&.--none {
ion-item {
--padding-start: 0px !important;
--inner-padding-start: 0px !important;
--padding-end: 0px !important;
--inner-padding-end: 0px !important;
border-radius: 0px;
box-shadow: none;
}
}
&.--solid {
ion-item {
--padding-start: 5px !important;
--inner-padding-start: 8px !important;
--padding-end: 5px !important;
--inner-padding-end: 8px !important;
border-radius: 8px;
box-shadow: 0px 0px 2px 0px;
}
}
ion-item {
overflow: hidden;
&.warning {
color: var(--ion-color-warning);
}
&.danger {
color: var(--ion-color-danger);
}
&.primary {
color: var(--ion-color-primary);
}
&.success {
color: var(--ion-color-success);
}
ion-label {
color: inherit;
}
ion-icon {
color: inherit;
&.start {
margin-right: 8px;
}
&.end {
margin-left: 8px;
}
}
}
}
::ng-deep upp-form-section {
display: block;
padding: 0px;
ion-item {
&.title {
--padding-start: 5px;
--inner-padding-start: 8px;
--padding-end: 5px;
--inner-padding-end: 8px;
}
}
ion-list {
margin: 0px 10px;
overflow: hidden;
ion-item {
--padding-start: 0px;
--inner-padding-start: 8px;
--padding-end: 0px;
--inner-padding-end: 8px;
--border-color: var(--ion-background-color);
}
}
&.--solid {
ion-list {
padding: 10px 5px;
background: var(--ion-color-light);
border-radius: 10px;
}
}
&.--clear {
ion-list {
padding: 0px 0px;
background: transparent !important;
border-radius: 0px;
}
::ng-deep upp-form-warning {
padding: 0px !important;
}
}
}
::ng-deep upp-form-image {
display: block;
.img-box {
position: relative;
height: 200px;
overflow: hidden;
margin-bottom: 2px;
upp-image {
max-height: 200px;
width: 100%;
object-fit: cover;
}
}
}
::ng-deep upp-form-buttonbar {
ion-grid, ion-row {
margin: 0px;
padding: 0px;
}
}
::ng-deep upp-form-barbutton {
flex: 1 1 0;
max-width: 100%;
ion-col {
margin: 0px;
padding: 0px;
&:last-child {
ion-button {
margin-right: 0px !important;
}
}
}
ion-button {
height: 55px;
margin: 0px 1px 0px 0px;
&.shade {
opacity: .4;
}
ion-label {
line-height: 1em;
ion-icon {
font-size: 30px;
}
.small {
font-size: 12px;;
}
}
}
}
::ng-deep upp-form-buttons {
.floating-buttons {
position: absolute;
padding: 10px 8px 0px 8px;
left: 0px;
right: 0px;
z-index: 1;
}
&.--top .floating-buttons {
top: 0px;
padding-top: 10px;
background: linear-gradient(180deg, rgba(var(--ion-background-color-rgb), 0.8) 0px, transparent 10px);
}
&.--bottom .floating-buttons {
bottom: 0px;
padding-bottom: 10px;
background: linear-gradient(180deg, transparent 0px, rgba(var(--ion-background-color-rgb), 0.8) 10px);
}
}
}