{{#if (and (not compact) showRemoveButton (not readOnly))}}
  <div class='frost-bunsen-remove-btn-container'>
    {{frost-button
      disabled=disabled
      hook=(concat hookPrefix '-removeBtn')
      onClick=(action 'remove')
      priority='tertiary'
      size='medium'
      text='Remove'
    }}
  </div>
{{/if}}
{{#if sortable}}
  {{frost-icon
    class='frost-bunsen-handle'
    hook=(concat hookPrefix '-sortIcon')
    icon='menu'
  }}
{{/if}}
<div class='frost-bunsen-item-input'>
  {{#if (eq bunsenModel.type 'array')}}
    {{frost-bunsen-array-container
      bunsenId=bunsenId
      bunsenModel=bunsenModel
      bunsenView=bunsenView
      cellConfig=itemCell
      errors=errors
      formDisabled=formDisabled
      getRootProps=getRootProps
      hookPrefix=hookPrefix
      label=label
      onChange=onChange
      onFocusIn=onFocusIn
      onFocusOut=onFocusOut
      onError=onError
      readOnly=readOnly
      registerForFormValueChanges=registerForFormValueChanges
      registerValidator=registerValidator
      renderers=renderers
      showAllErrors=showAllErrors
      triggerValidation=triggerValidation
      unregisterForFormValueChanges=unregisterForFormValueChanges
      value=value
      valueChangeSet=valueChangeSet
    }}
  {{else if (eq bunsenModel.type 'object')}}
    {{frost-bunsen-cell
      bunsenId=bunsenId
      bunsenModel=bunsenModel
      bunsenView=bunsenView
      cellConfig=itemCell
      errors=errors
      formDisabled=formDisabled
      getRootProps=getRootProps
      hookPrefix=hookPrefix
      isRequired=(frost-bunsen-is-required
        bunsenModel=bunsenModel
        cell=itemCell
        cellDefinitions=bunsenView.cellDefinitions
        value=value
      )
      label=label
      onChange=onChange
      onFocusIn=onFocusIn
      onFocusOut=onFocusOut
      onError=onError
      readOnly=readOnly
      registerForFormValueChanges=registerForFormValueChanges
      registerValidator=registerValidator
      renderers=renderers
      showAllErrors=showAllErrors
      triggerValidation=triggerValidation
      unregisterForFormValueChanges=unregisterForFormValueChanges
      value=value
      valueChangeSet=valueChangeSet
    }}
  {{else}}
    {{frost-bunsen-input-wrapper
      bunsenId=bunsenId
      bunsenModel=bunsenModel
      bunsenView=bunsenView
      cellConfig=itemCell
      errorMessage=errorMessage
      formDisabled=formDisabled
      getRootProps=getRootProps
      hookPrefix=hookPrefix
      label=label
      onChange=onChange
      onFocusIn=onFocusIn
      onFocusOut=onFocusOut
      onError=onError
      readOnly=readOnly
      registerForFormValueChanges=registerForFormValueChanges
      registerValidator=registerValidator
      renderers=renderers
      showAllErrors=showAllErrors
      triggerValidation=triggerValidation
      unregisterForFormValueChanges=unregisterForFormValueChanges
      value=renderValue
    }}
  {{/if}}
</div>
{{#if (and compact showRemoveButton (not readOnly))}}
  <div class='frost-bunsen-remove-btn-container'>
    {{frost-button
      disabled=disabled
      hook=(concat hookPrefix '-removeBtn')
      onClick=(action 'remove')
      priority='tertiary'
      size='medium'
      text='Remove'
    }}
  </div>
{{/if}}
