mirror of https://github.com/hashicorp/consul
36 lines
924 B
Handlebars
36 lines
924 B
Handlebars
|
{{!
|
||
|
Copyright (c) HashiCorp, Inc.
|
||
|
SPDX-License-Identifier: BUSL-1.1
|
||
|
}}
|
||
|
|
||
|
<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.consul-copy-button.title' name=@name}}
|
||
|
type="button"
|
||
|
class="copy-btn"
|
||
|
...attributes
|
||
|
{{tooltip
|
||
|
(if (state-matches state 'success') (t 'components.consul-copy-button.success' name=@name) (t 'components.consul-copy-button.error'))
|
||
|
options=(hash
|
||
|
trigger='manual'
|
||
|
showOnCreate=(not (state-matches state 'idle'))
|
||
|
delay=(array 0 3000)
|
||
|
onHidden=reset
|
||
|
)
|
||
|
}}
|
||
|
>
|
||
|
{{~yield~}}
|
||
|
</button>
|
||
|
{{/let}}
|
||
|
</div>
|
||
|
</StateChart>
|