{{#let (hash
data=data
error=error
persist=(action "persist")
delete=(queue (action (mut data)) (action dispatch "REMOVE"))
inflight=(state-matches state (array "persisting" "removing"))
disabled=(state-matches state (array "persisting" "removing"))
) as |api|}}
{{yield api}}
{{#let
(queue (action dispatch "RESET") (action ondelete))
as |after|}}
{{#yield-slot name="removed" params=(block-params after)}}
{{yield api}}
{{else}}
Success!
Your {{or label type}} has been deleted.
{{/yield-slot}}
{{/let}}
{{#let
(action onchange)
as |after|}}
{{#yield-slot name="persisted" params=(block-params after)}}
{{yield api}}
{{else}}
Success!
Your {{or label type}} has been saved.
{{/yield-slot}}
{{/let}}
{{#let
(action dispatch "RESET")
as |after|}}
{{#yield-slot name="error" params=(block-params after api.error)}}
{{yield api}}
{{else}}
Error!
There was an error saving your {{or label type}}.
{{#if (and api.error.status api.error.detail)}}
{{api.error.status}}: {{api.error.detail}}
{{else if api.error.message}}
{{api.error.message}}
{{/if}}
{{/yield-slot}}
{{/let}}
{{yield api}}
{{/let}}