@@ -107,9 +107,6 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) {
107
107
margin-left: 0.75rem;
108
108
border-radius: 50%;
109
109
}
110
- color-picker__trigger {
111
- cursor: pointer;
112
- }
113
110
.color-picker__preview::before,
114
111
.color-picker__trigger::before {
115
112
content: '';
@@ -488,7 +485,7 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) {
488
485
event . stopImmediatePropagation ( ) ;
489
486
490
487
const target = event . target as HTMLElement ;
491
- const popover = target . nextElementSibling as UUIPopoverElement ;
488
+ const popover = target . parentElement as UUIPopoverElement ;
492
489
493
490
popover . open = ! popover ?. open ;
494
491
@@ -497,7 +494,7 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) {
497
494
498
495
closeColorPicker ( event : Event ) {
499
496
const target = event . target as UUIPopoverElement ;
500
- const trigger = target . previousElementSibling ;
497
+ const trigger = target . querySelector ( "button[part=trigger]" ) ;
501
498
502
499
if ( trigger ) {
503
500
trigger . setAttribute ( 'aria-expanded' , 'false' ) ;
@@ -653,27 +650,29 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) {
653
650
}
654
651
655
652
private _renderPreviewButton ( ) {
656
- return html `< button
657
- type ="button "
658
- slot ="trigger "
659
- aria-label ="${ this . label || 'Open Color picker' } "
660
- class =${ classMap ( {
661
- 'color-picker__trigger' : true ,
662
- 'color-dropdown__trigger--disabled' : this . disabled ,
663
- 'color-dropdown__trigger--small' : this . size === 'small' ,
664
- 'color-dropdown__trigger--medium' : this . size === 'medium' ,
665
- 'color-dropdown__trigger--large' : this . size === 'large' ,
666
- 'color-picker__transparent-bg' : true ,
667
- } ) }
668
- style =${ styleMap ( {
669
- '--preview-color' : `hsla(${ this . hue } deg, ${ this . saturation } %, ${
670
- this . lightness
671
- } %, ${ this . alpha / 100 } )`,
672
- } ) }
673
- @click=${ this . openColorPicker }
674
- aria-haspopup="true"
675
- aria-expanded="false"> </ button >
653
+ return html `
676
654
< uui-popover placement ="bottom-start " @close =${ this . closeColorPicker } >
655
+ < button
656
+ type ="button "
657
+ part ="trigger "
658
+ slot ="trigger "
659
+ aria-label ="${ this . label || 'Open Color picker' } "
660
+ class =${ classMap ( {
661
+ 'color-picker__trigger' : true ,
662
+ 'color-dropdown__trigger--disabled' : this . disabled ,
663
+ 'color-dropdown__trigger--small' : this . size === 'small' ,
664
+ 'color-dropdown__trigger--medium' : this . size === 'medium' ,
665
+ 'color-dropdown__trigger--large' : this . size === 'large' ,
666
+ 'color-picker__transparent-bg' : true ,
667
+ } ) }
668
+ style =${ styleMap ( {
669
+ '--preview-color' : `hsla(${ this . hue } deg, ${ this . saturation } %, ${
670
+ this . lightness
671
+ } %, ${ this . alpha / 100 } )`,
672
+ } ) }
673
+ @click=${ this . openColorPicker }
674
+ aria-haspopup="true"
675
+ aria-expanded="false"> </ button >
677
676
< div slot ="popover "> ${ this . _renderColorPicker ( ) } </ div >
678
677
</ uui-popover > ` ;
679
678
}
0 commit comments