{{#if header}}
{{/if}} {{#if (and allowUpload editing)}}
{{/if}}
{{#if ary.length}} {{#each ary as |row|}} {{#unless editing}}
{{/unless}} {{/each}}
{{#if editing}} {{#if keyContent}} {{else}} {{input-paste separators=separators pasted=(action "pastedValues") class="form-control input-sm key" type="text" value=row.key placeholder=keyPlaceholder disabled=(not (and allowEditKey (not-eq row.editable false))) }} {{/if}} {{else}} {{row.key}} {{/if}} {{#if editing}} {{t "formKeyValue.separator"}} {{/if}} {{#if editing}} {{#if valueContent}} {{else}} {{#if row.binary}} {{t "formKeyValue.binary.byte" length=row.value.length}} {{else}} {{#if allowMultilineValue}} {{textarea-autogrow class=(concat "form-control input-sm value" (if concealValue " conceal")) spellcheck="false" required=true value=row.value placeholder=valuePlaceholder disabled=(eq row.editable false) }} {{else}} {{input class=(concat "form-control input-sm value" (if concealValue " conceal")) spellcheck="false" type="text" value=row.value placeholder=valuePlaceholder disabled=(eq row.editable false) }} {{/if}} {{/if}} {{/if}} {{else}} {{nl-to-br row.value}} {{/if}}   {{#if (and editing allowRemove)}} {{/if}}
{{else if showNoneLabel}} {{#unless editing}}
{{t "generic.none"}}
{{/unless}} {{/if}} {{#if (and editing allowAdd)}} {{#if ary.length}}
{{t "formKeyValue.protip"}}
{{/if}}
{{/if}}