Skip to content

Commit a273762

Browse files
committed
fix: color input should open on click on color
fix: color input popup open position
1 parent 9d83cc4 commit a273762

File tree

5 files changed

+311
-280
lines changed

5 files changed

+311
-280
lines changed

projects/mantic-ui/src/lib/components/input/input-base.component.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { InputIconPosition } from './text/input.component';
1414
providers: InputBaseComponent.providers
1515
})
1616
export abstract class InputBaseComponent extends LabeledBaseComponent implements OnDestroy {
17+
protected readonly colorForId = Date.now().toString() + Math.random();
1718
public static readonly defaults = {
1819
inverted: false,
1920
invertedChange: new ReplaySubject<boolean>(1)
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,33 @@
11
@if (!isRight) {
2-
<ng-container [ngTemplateOutlet]="labelTemplate" />
2+
<ng-container [ngTemplateOutlet]="labelTemplate" />
33
}
44
@if (buttonPosition === 'left') {
5-
<ng-container [ngTemplateOutlet]="contentTemplate" />
5+
<ng-container [ngTemplateOutlet]="contentTemplate" />
66
}
77
<ng-content />
88
@if (type === 'color') {
9-
<input type="text" [(ngModel)]="value" [attr.readOnly]="readonly || undefined" [attr.disabled]="disabled || undefined" (ngModelChange)="onChange()">
10-
<label class="ui label" [style.background-color]="value" [for]="for">
11-
<input type="color" [(ngModel)]="value" [attr.name]="name" [attr.readOnly]="readonly || undefined" [attr.disabled]="disabled || undefined" (ngModelChange)="onChange()">
12-
</label>
9+
<input type="text" [(ngModel)]="value" [attr.readOnly]="readonly || undefined" [attr.disabled]="disabled || undefined" (ngModelChange)="onChange()">
10+
<label class="ui label color-label" [style.background-color]="value" [for]="colorForId">
11+
<input type="color" [id]="colorForId" [(ngModel)]="value" [attr.name]="name" [attr.readOnly]="readonly || undefined" [attr.disabled]="disabled || undefined" (ngModelChange)="onChange()" #colorInput>
12+
</label>
1313
}
1414
<input *m-fallback-for="'input'" [type]="type || 'text'" [placeholder]="placeholder || ''" [(ngModel)]="value" [attr.name]="name" [attr.maxlength]="maxlength" [attr.readOnly]="readonly || undefined" [attr.disabled]="disabled || undefined" (ngModelChange)="onChange()" #input>
1515
@if (icon) {
16-
<m-icon [icon]="icon" [size]="iconSize" class="link icon" />
16+
<m-icon [icon]="icon" [size]="iconSize" class="link icon" />
1717
}
1818
@if (isRight) {
19-
<ng-container [ngTemplateOutlet]="labelTemplate" />
19+
<ng-container [ngTemplateOutlet]="labelTemplate" />
2020
}
2121
@if (buttonPosition === 'right') {
22-
<ng-container [ngTemplateOutlet]="contentTemplate" />
22+
<ng-container [ngTemplateOutlet]="contentTemplate" />
2323
}
2424

2525
<ng-template #labelTemplate>
26-
<ng-content select="m-label" />
27-
<ng-content select="m-label-dropdown" />
26+
<ng-content select="m-label" />
27+
<ng-content select="m-label-dropdown" />
2828
</ng-template>
2929

3030
<ng-template #contentTemplate>
31-
<ng-content select="m-button" />
32-
<ng-content select="m-icon-button" />
31+
<ng-content select="m-button" />
32+
<ng-content select="m-icon-button" />
3333
</ng-template>
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
.color-label {
2+
position: relative;
3+
min-width: 4.75rem;
4+
5+
input {
6+
position: absolute;
7+
left: -1px;
8+
bottom: 0;
9+
}
10+
}

0 commit comments

Comments
 (0)