Skip to content

Commit 3d8995f

Browse files
committed
Add @triggerHtmlTag and remove htmlTag from yielded trigger component
1 parent b9bfd65 commit 3d8995f

4 files changed

Lines changed: 17 additions & 10 deletions

File tree

docs/app/templates/public-pages.gts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,12 @@ export default class extends Component {
7474
>Github</a>
7575
</div>
7676
<div class="main-header-logo">
77-
<BasicDropdown @calculatePosition={{this.calculatePosition}} as |dd|>
77+
<BasicDropdown @triggerHtmlTag="span" @calculatePosition={{this.calculatePosition}} as |dd|>
7878
<LinkTo @route="public-pages.index" class="home-link">
7979
<img src="/ember_logo.png" alt="ember" />
8080
<strong>Basic</strong>
8181
{{! template-lint-disable no-pointer-down-event-binding }}
8282
<dd.Trigger
83-
@htmlTag="span"
8483
{{on "mousedown" this.preventIfNotInIndex}}
8584
{{on "touchend" this.preventIfNotInIndex}}
8685
class="logo-dropdown-button"

ember-basic-dropdown/src/components/basic-dropdown-trigger.gts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ export interface BasicDropdownTriggerSignature {
1919
hPosition?: HorizontalPosition | null;
2020
defaultClass?: string;
2121
renderInPlace?: boolean;
22-
htmlTag?: keyof HTMLElementTagNameMap;
22+
htmlTag?: keyof HTMLElementTagNameMap | undefined;
2323
onBlur?: (dropdown?: Dropdown, event?: FocusEvent) => void;
2424
onClick?: (dropdown?: Dropdown, event?: MouseEvent) => void;
2525
onFocus?: (dropdown?: Dropdown, event?: FocusEvent) => void;

ember-basic-dropdown/src/components/basic-dropdown.gts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,14 @@ export interface BasicDropdownDefaultBlock {
4040
disabled: boolean;
4141
isOpen: boolean;
4242
actions: DropdownActions;
43-
Trigger: ComponentLike<BasicDropdownTriggerSignature>;
43+
Trigger: ComponentLike<
44+
Omit<BasicDropdownTriggerSignature, 'Args'> & {
45+
Args: Omit<
46+
BasicDropdownTriggerSignature['Args'],
47+
'htmlTag'
48+
>;
49+
}
50+
>;
4451
Content: ComponentLike<BasicDropdownContentSignature>;
4552
}
4653

@@ -64,6 +71,7 @@ export interface BasicDropdownArgs {
6471
rootEventType?: TRootEventType;
6572
preventScroll?: boolean;
6673
matchTriggerWidth?: boolean;
74+
triggerHtmlTag?: keyof HTMLElementTagNameMap;
6775
onInit?: (dropdown: Dropdown) => void;
6876
registerAPI?: (dropdown: Dropdown | null) => void;
6977
onOpen?: (dropdown: Dropdown, e?: Event) => boolean | void;
@@ -517,6 +525,7 @@ export default class BasicDropdown extends Component<BasicDropdownSignature> {
517525
hPosition=this.hPosition
518526
renderInPlace=this.renderInPlace
519527
vPosition=this.vPosition
528+
htmlTag=@triggerHtmlTag
520529
)
521530
Content=(component
522531
this.contentComponent

test-app/tests/integration/components/basic-dropdown-test.gts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1325,26 +1325,25 @@ module('Integration | Component | basic-dropdown', function (hooks) {
13251325

13261326
await render(
13271327
<template>
1328-
<BasicDropdown as |parent|>
1329-
<parent.Trigger class="parent" @htmlTag="button">Trigger of the first
1328+
<BasicDropdown @triggerHtmlTag="button" as |parent|>
1329+
<parent.Trigger class="parent">Trigger of the first
13301330
dropdown</parent.Trigger>
13311331
<parent.Content @overlay={{true}}>
1332-
<BasicDropdown as |child|>
1332+
<BasicDropdown @triggerHtmlTag="button" as |child|>
13331333
<p class="body-parent">
13341334
<br />First level of the dropdpwn<br />
13351335
</p>
1336-
<child.Trigger class="child" @htmlTag="button">Trigger of the
1336+
<child.Trigger class="child">Trigger of the
13371337
second dropdown</child.Trigger>
13381338
<child.Content @overlay={{true}}>
13391339
<p class="body-child">
13401340
<br />Second level of the second<br />
1341-
<BasicDropdown as |grandchild|>
1341+
<BasicDropdown @triggerHtmlTag="button" as |grandchild|>
13421342
<p>
13431343
<br />Second level of the dropdpwn<br />
13441344
</p>
13451345
<grandchild.Trigger
13461346
class="grandchild"
1347-
@htmlTag="button"
13481347
>Trigger of the Third dropdown</grandchild.Trigger>
13491348
<grandchild.Content @overlay={{true}}>
13501349
<p class="body-grandchild">

0 commit comments

Comments
 (0)