29 lines
651 B
Handlebars
29 lines
651 B
Handlebars
|
<StateChart
|
||
|
@src={{state-chart 'boolean'}}
|
||
|
as |State Guard Action dispatch state|>
|
||
|
{{#let (hash
|
||
|
toggle=(fn dispatch 'TOGGLE')
|
||
|
close=(fn dispatch 'FALSE')
|
||
|
open=(fn dispatch 'TRUE')
|
||
|
expanded=(state-matches state 'true')
|
||
|
event=state.context
|
||
|
button=(unique-id)
|
||
|
panel=(unique-id)
|
||
|
) as |_api|}}
|
||
|
{{#let (assign _api (hash
|
||
|
Action=(component 'disclosure/action' disclosure=_api)
|
||
|
)) as |api|}}
|
||
|
<div
|
||
|
class={{class-map
|
||
|
'disclosure'
|
||
|
}}
|
||
|
...attributes
|
||
|
>
|
||
|
{{yield api to="button"}}
|
||
|
<State @matches="true">
|
||
|
{{yield api to="panel"}}
|
||
|
</State>
|
||
|
</div>
|
||
|
{{/let}}
|
||
|
{{/let}}
|
||
|
</StateChart>
|