{{#if showUndo}}
  {{d-button
    action=(action "undoChanges")
    icon=undoIcon
    label=undoKey
    class="undo-changes"}}
{{/if}}

<div class="setting">
  <div class="setting-label">
    <label>{{i18n "admin.wizard.field.label"}}</label>
  </div>
  <div class="setting-value">
    {{input name="label" value=field.label}}
  </div>
</div>

<div class="setting">
  <div class="setting-label">
    <label>{{i18n "admin.wizard.field.required"}}</label>
  </div>

  <div class="setting-value">
    <span>{{i18n "admin.wizard.field.required_label"}}</span>
    {{input type="checkbox" checked=field.required}}
  </div>
</div>

<div class="setting">
  <div class="setting-label">
    <label>{{i18n "admin.wizard.field.description"}}</label>
  </div>
  <div class="setting-value">
    {{textarea name="description" value=field.description}}
  </div>
</div>

<div class="setting">
  <div class="setting-label">
    <label>{{i18n "admin.wizard.field.image"}}</label>
  </div>
  <div class="setting-value">
    {{uppy-image-uploader
      imageUrl=field.image
      onUploadDone=(action "imageUploadDone")
      onUploadDeleted=(action "imageUploadDeleted")
      type="wizard-step"
      class="no-repeat contain-image"
      id=(concat "wizard-field-" field.id "-image-upload")}}
  </div>
</div>

<div class="setting">
  <div class="setting-label">
    <label>{{i18n "admin.wizard.type"}}</label>
  </div>

  <div class="setting-value">
    {{combo-box
      value=field.type
      content=fieldTypes
      onChange=(action "changeType")
      options=(hash
        none="admin.wizard.select_type"
      )}}
  </div>
</div>

{{wizard-message
  key=messageKey
  url=messageUrl
  component="field"}}

{{#if isTextType}}
  <div class="setting">
    <div class="setting-label">
      <label>{{i18n "admin.wizard.field.min_length"}}</label>
    </div>

    <div class="setting-value">
      {{input
        type="number"
        name="min_length"
        value=field.min_length
        class="small"}}
    </div>
  </div>

  <div class="setting full">
    <div class="setting-label">
      <label>{{i18n "admin.wizard.field.max_length"}}</label>
    </div>

    <div class="setting-value">
      {{input
        type="number"
        name="max_length"
        value=field.max_length
        class="small"}}
    </div>
  </div>

  <div class="setting">
    <div class="setting-label">
      <label>{{i18n "admin.wizard.field.char_counter"}}</label>
    </div>

    <div class="setting-value">
      <span>{{i18n "admin.wizard.field.char_counter_placeholder"}}</span>
      {{input
        type="checkbox"
        checked=field.char_counter}}
    </div>
  </div>

  <div class="setting full">
    <div class="setting-label">
      <label>{{i18n "admin.wizard.field.field_placeholder"}}</label>
    </div>

    <div class="setting-value">
      {{textarea
        name="field_placeholder"
        class="medium"
        value=field.placeholder}}
    </div>
  </div>
{{/if}}

{{#if isComposerPreview}}
  <div class="setting full">
    <div class="setting-label">
      <label>{{i18n "admin.wizard.field.preview_template"}}</label>
    </div>

    <div class="setting-value">
      {{textarea name="preview-template" value=field.preview_template class="preview-template"}}
    </div>
  </div>
{{/if}}

{{#if isUpload}}
  <div class="setting">
    <div class="setting-label">
      <label>{{i18n "admin.wizard.field.file_types"}}</label>
    </div>

    <div class="setting-value">
      {{input value=field.file_types class="medium"}}
    </div>
  </div>
{{/if}}

{{#if showLimit}}
  <div class="setting">
    <div class="setting-label">
      <label>{{i18n "admin.wizard.field.limit"}}</label>
    </div>

    <div class="setting-value">
      {{input type="number" value=field.limit class="small"}}
    </div>
  </div>
{{/if}}

{{#if isDateTime}}
  <div class="setting">
    <div class="setting-label">
      <label>{{html-safe (i18n "admin.wizard.field.date_time_format.label")}}</label>
    </div>

    <div class="setting-value">
      {{input value=field.format class="medium"}}
      <label>{{html-safe (i18n "admin.wizard.field.date_time_format.instructions")}}</label>
    </div>
  </div>
{{/if}}

{{#if showPrefill}}
  <div class="setting full field-mapper-setting">
    <div class="setting-label">
      <label>{{i18n "admin.wizard.field.prefill"}}</label>
    </div>

    <div class="setting-value">
      {{wizard-mapper
        inputs=field.prefill
        property="prefill"
        onUpdate=(action "mappedFieldUpdated")
        options=prefillOptions}}
    </div>
  </div>
{{/if}}

{{#if showContent}}
  <div class="setting full field-mapper-setting">
    <div class="setting-label">
      <label>{{i18n "admin.wizard.field.content"}}</label>
    </div>

    <div class="setting-value">
      {{wizard-mapper
        inputs=field.content
        property="content"
        onUpdate=(action "mappedFieldUpdated")
        options=contentOptions}}
    </div>
  </div>
{{/if}}

{{#if isTag}}
  <div class="setting full field-mapper-setting">
    <div class="setting-label">
      <label>{{i18n "admin.wizard.field.tag_groups"}}</label>
    </div>

    <div class="setting-value">
      {{tag-group-chooser
        id=(concat field.id "-tag-groups")
        tagGroups=field.tag_groups
        onChange=(action (mut field.tag_groups))
      }}
    </div>
  </div>
{{/if}}

{{#wizard-subscription-container}}
  <div class="setting full field-mapper-setting">
    <div class="setting-label">
      <label>{{i18n "admin.wizard.condition"}}</label>
    </div>

    <div class="setting-value">
      {{wizard-mapper
        inputs=field.condition
        options=fieldConditionOptions}}
    </div>
  </div>

  <div class="setting full field-mapper-setting">
    <div class="setting-label">
      <label>{{i18n "admin.wizard.index"}}</label>
    </div>

    <div class="setting-value">
      {{wizard-mapper
        inputs=field.index
        options=fieldIndexOptions}}
    </div>
  </div>

  {{#if isCategory}}
    <div class="setting">
      <div class="setting-label">
        <label>{{i18n "admin.wizard.field.property"}}</label>
      </div>

      <div class="setting-value">
        {{combo-box
          value=field.property
          content=categoryPropertyTypes
          onChange=(action (mut field.property))
          options=(hash
            none="admin.wizard.selector.placeholder.property"
          )}}
      </div>
    </div>
  {{/if}}

  {{#if validations}}
    {{wizard-realtime-validations field=field validations=validations}}
  {{/if}}
{{/wizard-subscription-container}}
