36 lines
902 B
Handlebars
36 lines
902 B
Handlebars
{{!
|
|
Copyright (c) HashiCorp, Inc.
|
|
SPDX-License-Identifier: MPL-2.0
|
|
}}
|
|
|
|
<StateChart
|
|
@src={{this.chart}}
|
|
as |State Guard Action dispatch state|
|
|
>
|
|
<div
|
|
class="copy-button"
|
|
...attributes
|
|
>
|
|
{{#let (fn dispatch 'SUCCESS') (fn dispatch 'ERROR') (fn dispatch 'RESET') as |success error reset|}}
|
|
<button
|
|
{{with-copyable @value success=success error=error}}
|
|
aria-label={{t 'components.copy-button.title' name=@name}}
|
|
type="button"
|
|
class="copy-btn"
|
|
...attributes
|
|
{{tooltip
|
|
(if (state-matches state 'success') (t 'components.copy-button.success' name=@name) (t 'components.copy-button.error'))
|
|
options=(hash
|
|
trigger='manual'
|
|
showOnCreate=(not (state-matches state 'idle'))
|
|
delay=(array 0 3000)
|
|
onHidden=reset
|
|
)
|
|
}}
|
|
>
|
|
{{~yield~}}
|
|
</button>
|
|
{{/let}}
|
|
</div>
|
|
</StateChart>
|