{{#if cellConfig.renderer}}
  {{component customRenderer
    bunsenId=(concat bunsenId '.' index)
    bunsenModel=itemsModel
    bunsenView=bunsenView
    cellConfig=cellConfig
    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 inline}}
    {{#if tupleItems}}
      {{#each tupleItems key='@index' as |item index|}}
        {{frost-bunsen-array-inline-item
          bunsenId=(concat bunsenId '.' index)
          bunsenModel=item
          bunsenView=bunsenView
          cellConfig=cellConfig
          compact=compact
          errors=errors
          formDisabled=formDisabled
          getRootProps=getRootProps
          hookPrefix=hookPrefix
          index=index
          onError=onError
          onChange=(action 'handleChange')
          onFocusIn=onFocusIn
          onFocusOut=onFocusOut
          readOnly=readOnly
          registerForFormValueChanges=registerForFormValueChanges
          registerValidator=registerValidator
          renderers=renderers
          showAllErrors=showAllErrors
          showRemoveButton=false
          sortable=false
          triggerValidation=triggerValidation
          unregisterForFormValueChanges=unregisterForFormValueChanges
          value=value
          valueChangeSet=valueChangeSet
        }}
      {{/each}}
    {{/if}}
    {{#if sortable}}
      {{#sortable-group onChange=(action 'reorderItems') as |group|}}
        {{#each items key='@index' as |item index|}}
          {{#sortable-item group=group handle='.frost-bunsen-handle' model=item}}
            {{frost-bunsen-array-inline-item
              bunsenId=(concat bunsenId '.' (add index startingIndex))
              bunsenModel=itemsModel
              bunsenView=bunsenView
              cellConfig=cellConfig
              compact=compact
              errors=errors
              formDisabled=formDisabled
              getRootProps=getRootProps
              hookPrefix=hookPrefix
              index=(add index startingIndex)
              onChange=(action 'handleChange')
              onFocusIn=onFocusIn
              onFocusOut=onFocusOut
              onError=onError
              onRemove=(action 'removeItem')
              readOnly=readOnly
              registerForFormValueChanges=registerForFormValueChanges
              registerValidator=registerValidator
              renderers=renderers
              showAllErrors=showAllErrors
              showRemoveButton=true
              sortable=true
              triggerValidation=triggerValidation
              unregisterForFormValueChanges=unregisterForFormValueChanges
              value=value
              valueChangeSet=valueChangeSet
            }}
          {{/sortable-item}}
        {{/each}}
      {{/sortable-group}}
    {{else}}
      {{#each items key='@index' as |item index|}}
        {{frost-bunsen-array-inline-item
          bunsenId=(concat bunsenId '.' (add index startingIndex))
          bunsenModel=itemsModel
          bunsenView=bunsenView
          cellConfig=cellConfig
          compact=compact
          errors=errors
          formDisabled=formDisabled
          getRootProps=getRootProps
          hookPrefix=hookPrefix
          index=(add index startingIndex)
          onError=onError
          onChange=(action 'handleChange')
          onFocusIn=onFocusIn
          onFocusOut=onFocusOut
          onRemove=(action 'removeItem')
          readOnly=readOnly
          registerForFormValueChanges=registerForFormValueChanges
          registerValidator=registerValidator
          renderers=renderers
          showAllErrors=showAllErrors
          showRemoveButton=true
          sortable=false
          triggerValidation=triggerValidation
          unregisterForFormValueChanges=unregisterForFormValueChanges
          value=value
          valueChangeSet=valueChangeSet
        }}
      {{/each}}
    {{/if}}
  {{else}}
    {{#if description}}
      <div class='frost-bunsen-description'>
        {{description}}
      </div>
    {{/if}}
    <ul class='frost-bunsen-nav frost-bunsen-nav-tabs'>
      {{#each items key='@index' as |item index|}}
        {{frost-bunsen-array-tab-nav
          bunsenModel=itemsModel
          bunsenView=bunsenView
          cellConfig=cellConfig
          formDisabled=formDisabled
          getRootProps=getRootProps
          index=index
          onRemove=(action 'removeItem')
          renderers=renderers
          showAllErrors=showAllErrors
          valueChangeSet=valueChangeSet
        }}
      {{/each}}
      {{#unless readOnly}}
        <li role='presentation'>
          {{frost-button
            disabled=disabled
            hook=(concat hookPrefix '-addBtn')
            icon='round-add'
            onClick=(action 'addItem')
            priority='tertiary'
            size='medium'
            text=addLabel
          }}
        </li>
      {{/unless}}
    </ul>
    <div class='frost-bunsen-tab-content'>
      {{#each items key='@index' as |item index|}}
        {{frost-bunsen-array-tab-content
          bunsenId=(concat bunsenId '.' index)
          bunsenModel=itemsModel
          bunsenView=bunsenView
          cellConfig=cellConfig
          errors=errors
          formDisabled=formDisabled
          getRootProps=getRootProps
          hookPrefix=hookPrefix
          index=index
          onError=onError
          onChange=(action 'handleChange')
          onFocusIn=onFocusIn
          onFocusOut=onFocusOut
          readOnly=readOnly
          registerForFormValueChanges=registerForFormValueChanges
          registerValidator=registerValidator
          renderers=renderers
          showAllErrors=showAllErrors
          triggerValidation=triggerValidation
          unregisterForFormValueChanges=unregisterForFormValueChanges
          value=value
          valueChangeSet=valueChangeSet
        }}
      {{/each}}
    </div>
  {{/if}}
  {{#if (and (not items) (not tupleItems) readOnly)}}
    <span class="frost-bunsen-empty-msg">
      List is currently empty.
    </span>
  {{/if}}
  {{#if (and showAddButton (not readOnly))}}
    {{frost-button
      disabled=disabled
      hook=(concat hookPrefix '-addBtn')
      icon='round-add'
      onClick=(action 'addItem')
      priority='tertiary'
      size='medium'
      text=addLabel
    }}
  {{/if}}
{{/if}}
