{{#if (and (not compact) showRemoveButton (not readOnly))}}
  <div class='frost-bunsen-remove-btn-container'>
    {{frost-button
      disabled=disabled
      hook=(concat hook '-removeBtn')
      onClick=(action 'remove')
      priority='tertiary'
      size='medium'
      text='Remove'
    }}
  </div>
{{/if}}
{{#if sortable}}
  {{frost-icon
    class='frost-bunsen-handle'
    hook=(concat hook '-sortIcon')
    icon='menu'
  }}
{{/if}}
<div class='frost-bunsen-item-input'>
  {{#if itemCell.renderer}}
    {{component customRenderer
      bunsenId=(concat bunsenId '.' index)
      bunsenModel=bunsenModel.items
      bunsenView=bunsenView
      cellConfig=cellConfig
      formDisabled=formDisabled
      hook=hook
      label=label
      onChange=onChange
      onError=onError
      readOnly=readOnly
      registerForFormValueChanges=registerForFormValueChanges
      registerValidator=registerValidator
      renderers=renderers
      showAllErrors=showAllErrors
      triggerValidation=triggerValidation
      unregisterForFormValueChanges=unregisterForFormValueChanges
      value=value
      valueChangeSet=valueChangeSet
    }}
  {{else if (eq bunsenModel.items.type 'array')}}
    {{frost-bunsen-array-container
      bunsenId=(concat bunsenId '.' index)
      bunsenModel=bunsenModel.items
      bunsenView=bunsenView
      cellConfig=cellConfig
      errors=errors
      formDisabled=formDisabled
      hook=hook
      label=label
      onChange=onChange
      onError=onError
      readOnly=readOnly
      registerForFormValueChanges=registerForFormValueChanges
      registerValidator=registerValidator
      renderers=renderers
      showAllErrors=showAllErrors
      triggerValidation=triggerValidation
      unregisterForFormValueChanges=unregisterForFormValueChanges
      value=value
      valueChangeSet=valueChangeSet
    }}
  {{else if (eq bunsenModel.items.type 'object')}}
    {{frost-bunsen-cell
      bunsenId=(concat bunsenId '.' index)
      bunsenModel=bunsenModel.items
      bunsenView=bunsenView
      cellConfig=itemCell
      errors=errors
      formDisabled=formDisabled
      hook=hook
      label=label
      onChange=onChange
      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=(concat bunsenId '.' index)
      bunsenModel=bunsenModel.items
      bunsenView=bunsenView
      cellConfig=itemCell
      errorMessage=errorMessage
      formDisabled=formDisabled
      hook=hook
      label=label
      onChange=onChange
      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 hook '-removeBtn')
      onClick=(action 'remove')
      priority='tertiary'
      size='medium'
      text='Remove'
    }}
  </div>
{{/if}}
