Skip to content

Commit bb839af

Browse files
authored
Merge pull request #589 from bjarnef/feature/color-picker-toggle
Toggle color picker popover clicking preview button
2 parents fc61c8b + 6763230 commit bb839af

File tree

1 file changed

+25
-24
lines changed

1 file changed

+25
-24
lines changed

packages/uui-color-picker/lib/uui-color-picker.element.ts

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -489,7 +489,7 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) {
489489
event.stopImmediatePropagation();
490490

491491
const target = event.target as HTMLElement;
492-
const popover = target.nextElementSibling as UUIPopoverElement;
492+
const popover = target.parentElement as UUIPopoverElement;
493493

494494
popover.open = !popover?.open;
495495

@@ -498,7 +498,7 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) {
498498

499499
closeColorPicker(event: Event) {
500500
const target = event.target as UUIPopoverElement;
501-
const trigger = target.previousElementSibling;
501+
const trigger = target.querySelector("button[part=trigger]");
502502

503503
if (trigger) {
504504
trigger.setAttribute('aria-expanded', 'false');
@@ -661,28 +661,29 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) {
661661
}
662662

663663
private _renderPreviewButton() {
664-
return html`<button
665-
type="button"
666-
slot="trigger"
667-
aria-label="${this.label || 'Open Color picker'}"
668-
class=${classMap({
669-
'color-picker__trigger': true,
670-
'color-dropdown__trigger--disabled': this.disabled,
671-
'color-dropdown__trigger--small': this.size === 'small',
672-
'color-dropdown__trigger--medium': this.size === 'medium',
673-
'color-dropdown__trigger--large': this.size === 'large',
674-
'color-picker__transparent-bg': true,
675-
})}
676-
style=${styleMap({
677-
'--preview-color': `hsla(${this.hue}deg, ${this.saturation}%, ${
678-
this.lightness
679-
}%, ${this.alpha / 100})`,
680-
})}
681-
?disabled=${this.disabled}
682-
@click=${this.openColorPicker}
683-
aria-haspopup="true"
684-
aria-expanded="false"></button>
685-
<uui-popover placement="bottom-start" @close=${this.closeColorPicker}>
664+
return html`<uui-popover placement="bottom-start" @close=${this.closeColorPicker}>
665+
<button
666+
type="button"
667+
part="trigger"
668+
slot="trigger"
669+
aria-label="${this.label || 'Open Color picker'}"
670+
class=${classMap({
671+
'color-picker__trigger': true,
672+
'color-dropdown__trigger--disabled': this.disabled,
673+
'color-dropdown__trigger--small': this.size === 'small',
674+
'color-dropdown__trigger--medium': this.size === 'medium',
675+
'color-dropdown__trigger--large': this.size === 'large',
676+
'color-picker__transparent-bg': true,
677+
})}
678+
style=${styleMap({
679+
'--preview-color': `hsla(${this.hue}deg, ${this.saturation}%, ${
680+
this.lightness
681+
}%, ${this.alpha / 100})`,
682+
})}
683+
?disabled=${this.disabled}
684+
@click=${this.openColorPicker}
685+
aria-haspopup="true"
686+
aria-expanded="false"></button>
686687
<div slot="popover">${this._renderColorPicker()}</div>
687688
</uui-popover>`;
688689
}

0 commit comments

Comments
 (0)