Skip to content

Commit 197e9ba

Browse files
committed
Fixed disabled styles for various material components, closes LucasDower#145
1 parent b26aab8 commit 197e9ba

File tree

3 files changed

+26
-6
lines changed

3 files changed

+26
-6
lines changed

src/ui/components/colour.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,9 @@ export class ColourComponent extends ConfigComponent<RGBA, HTMLInputElement> {
2121
super._onEnabledChanged();
2222

2323
if (this.enabled) {
24-
this._getElement().classList.add('enabled');
24+
this._getElement().disabled = false;
2525
} else {
26-
this._getElement().classList.remove('enabled');
26+
this._getElement().disabled = true;
2727
}
2828
}
2929
}

src/ui/components/image.ts

+13-3
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,22 @@ export class ImageComponent extends ConfigComponent<Promise<TImageRawWrap>, HTML
7575
protected override _onEnabledChanged(): void {
7676
super._onEnabledChanged();
7777

78+
const imageElement = UIUtil.getElementById(this._imageId) as HTMLImageElement;
79+
const placeholderComponent = UIUtil.getElementById(this._imageId + '-placeholder');
80+
if (!this.enabled) {
81+
imageElement.classList.add('disabled');
82+
placeholderComponent.classList.add('disabled');
83+
} else {
84+
imageElement.classList.remove('disabled');
85+
placeholderComponent.classList.remove('disabled');
86+
}
87+
7888
this._switchElement.setEnabled(this.enabled);
7989
}
8090

8191
protected override _onValueChanged(): void {
8292
const inputElement = UIUtil.getElementById(this._imageId) as HTMLImageElement;
83-
const PlaceholderComponent = UIUtil.getElementById(this._imageId + '-placeholder');
93+
const placeholderComponent = UIUtil.getElementById(this._imageId + '-placeholder');
8494

8595
this.getValue()
8696
.then((res) => {
@@ -90,13 +100,13 @@ export class ImageComponent extends ConfigComponent<Promise<TImageRawWrap>, HTML
90100
this._switchElement.setActive(false);
91101
inputElement.src = res.raw;
92102
inputElement.style.display = 'unset';
93-
PlaceholderComponent.style.display = 'none';
103+
placeholderComponent.style.display = 'none';
94104
})
95105
.catch((err) => {
96106
this._switchElement.setActive(true);
97107
inputElement.src = '';
98108
inputElement.style.display = 'none';
99-
PlaceholderComponent.style.display = 'flex';
109+
placeholderComponent.style.display = 'flex';
100110
});
101111
}
102112

styles.css

+11-1
Original file line numberDiff line numberDiff line change
@@ -488,11 +488,14 @@ svg {
488488
border-radius: 5px;
489489
border: 1px solid var(--gray-600);
490490
}
491-
.enabled.colour-swatch::-webkit-color-swatch:hover {
491+
.colour-swatch:enabled::-webkit-color-swatch:hover {
492492
border: 1px solid var(--gray-700);
493493
filter: brightness(1.1);
494494
cursor: pointer;
495495
}
496+
.colour-swatch:disabled::-webkit-color-swatch {
497+
opacity: 0.25;
498+
}
496499

497500
.texture-preview {
498501
border: 1px solid var(--gray-600);
@@ -502,6 +505,10 @@ svg {
502505
.texture-preview-missing {
503506
border-color: orange !important;
504507
}
508+
.texture-preview.disabled {
509+
filter: grayscale(0.5);
510+
opacity: 0.5;
511+
}
505512

506513
.texture-preview-placeholder {
507514
border: 1px solid var(--gray-400);
@@ -513,6 +520,9 @@ svg {
513520
align-items: center;
514521
justify-content: center;
515522
}
523+
.texture-preview-placeholder.disabled {
524+
color: var(--text-dark);
525+
}
516526

517527
.texture-hover {
518528
border-color: var(--text-standard) !important;

0 commit comments

Comments
 (0)